.solutions-hero {
  padding-block: clamp(116px, 11vw, 166px) clamp(50px, 7vw, 98px);
  background: var(--paper);
  border-bottom: 1px solid var(--border);
}

.solutions-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  align-items: center;
  gap: clamp(28px, 6vw, 88px);
}

.solutions-copy h1 {
  color: inherit;
  font-size: clamp(2.8rem, 5.9vw, 6rem);
  line-height: .99;
  letter-spacing: -.06em;
  text-wrap: balance;
  margin-block: 18px;
}

.solutions-copy h1 em { color: var(--orange); font-style: normal; }
.solutions-lede { max-width: 47ch; color: var(--text-secondary); font-size: 1.05rem; }
.solutions-dark { color: var(--paper); background: radial-gradient(ellipse at 95% 10%, #355d43, transparent 60%), var(--pine); }
.solutions-dark .launch-kicker, .solutions-dark .solutions-copy h1 em { color: var(--lime); }
.solutions-dark .solutions-lede { color: #dce9dc; }
.solutions-dark .btn-primary { background: var(--lime); color: var(--ink); }
.solutions-dark .btn-primary:hover { background: #ebf9a5; }
.solutions-dark .btn-outline { color: var(--paper); border-color: #8da693; }
.solutions-dark .btn-outline:hover { color: var(--lime); border-color: var(--lime); }
.solutions-label {
  color: var(--orange);
  font: 700 .73rem/1.5 ui-monospace, Consolas, monospace;
  letter-spacing: .09em;
}

.industry-directory { background: var(--bg-page); border-radius: 10px 40px 10px 10px; padding: 10px 24px; }
.industry-directory a {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding-block: 16px;
  text-decoration: none;
  color: var(--ink);
}
.industry-directory a + a { border-top: 1px solid var(--border); }
.industry-directory strong, .industry-directory small { display: block; }
.industry-directory strong { font-size: clamp(1.05rem, 2vw, 1.5rem); letter-spacing: -.045em; }
.industry-directory small { color: var(--text-secondary); line-height: 1.45; }
.industry-directory a:hover strong { text-decoration: underline; text-underline-offset: .18em; }
.industry-types { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(138px, 100%), 1fr)); gap: 10px; }
.solutions-industries .spotlight { padding: clamp(18px, 4vw, 52px); gap: clamp(24px, 4vw, 54px); margin-bottom: 22px; }
.solutions-industries .ind-card { padding: 16px; border-radius: 10px; }

.canteen-showcase {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .85fr);
  align-items: center;
  gap: clamp(10px, 2vw, 24px);
  padding: clamp(16px, 3vw, 36px);
  background: repeating-linear-gradient(90deg, #bed66620 0 1px, transparent 1px 34px), var(--pine);
  border-radius: 10px 40px 10px 10px;
}
.canteen-device { margin: 0 auto; background: var(--bg-page); border: 5px solid #10261e; border-radius: 17px; overflow: hidden; }
.canteen-device img { width: 100%; max-height: 360px; display: block; object-fit: contain; }
.canteen-ticket { padding: clamp(10px, 2vw, 20px); background: var(--lime); border-radius: 8px; }
.canteen-ticket ol { list-style-position: inside; padding-top: 8px; font-size: clamp(.76rem, 1.3vw, 1rem); font-weight: 800; }
.canteen-ticket li + li { margin-top: 7px; }
.solutions-canteen .process-steps, .solutions-central-kitchen .flow { border-color: var(--border-med); }
.solutions-canteen .process-step:first-child, .solutions-central-kitchen .flow-step:first-child { background: var(--lime); }

.stock-showcase { color: var(--ink); background: var(--paper); border-radius: 10px 40px 10px 10px; padding: clamp(17px, 3vw, 36px); }
.stock-showcase figcaption strong { display: block; font-size: clamp(1.3rem, 2.5vw, 2.2rem); letter-spacing: -.05em; margin-top: 5px; }
.stock-showcase dl { margin-top: 16px; }
.stock-showcase dl > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; border-top: 1px solid var(--border); }
.stock-showcase dl > div:last-child { background: var(--lime); border-radius: 6px; }
.stock-showcase dt { font-size: .9rem; font-weight: 750; }
.stock-showcase dd { font-size: clamp(1.4rem, 3.3vw, 2.8rem); line-height: 1.25; white-space: nowrap; font-weight: 800; letter-spacing: -.05em; }
.stock-showcase dd small { font-size: .45em; letter-spacing: 0; }

.solutions-jump { padding-block: 14px; background: var(--paper); border-bottom: 1px solid var(--border); }
.solutions-jump .launch-shell { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 16px; }
.solutions-jump a { display: inline-flex; align-items: center; min-height: 44px; color: var(--pine); font-size: .85rem; font-weight: 750; text-underline-offset: .24em; }
.solutions-page .launch-close .launch-actions { margin-top: 0; }
.solutions-page .hl-card, .solutions-page .review-card, .solutions-page .client-card { border-radius: 10px; }
.solutions-page .hl-card { box-shadow: 0 4px 0 #dce2d455; }
.solutions-page :is(.hl-icon, .ps-icon) { border-radius: 50%; }
.solutions-page .section :is(.panel, .phone-frame) { box-shadow: 0 8px 0 #d8ded0; }

.clients-snapshot { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; overflow: hidden; border-radius: 10px 40px 10px 10px; background: #547864; color: var(--paper); }
.clients-snapshot > div { display: flex; flex-direction: column-reverse; align-items: start; justify-content: center; min-height: 128px; padding: clamp(12px, 2.8vw, 34px); background: var(--pine); }
.clients-snapshot > div:first-child { background: var(--lime); color: var(--ink); }
.clients-snapshot dd { font-size: clamp(1.7rem, 4vw, 3.6rem); font-weight: 800; letter-spacing: -.065em; line-height: 1.15; }
.clients-snapshot dt { font-size: .85rem; font-weight: 700; margin-top: 6px; }
.solutions-clients .client-logos-grid { grid-template-columns: repeat(auto-fit, minmax(min(166px, 100%), 1fr)); gap: 10px; }
.solutions-clients .client-card { min-height: 152px; padding-inline: 12px; }
.solutions-clients .reviews-grid { grid-template-columns: repeat(auto-fit, minmax(min(270px, 100%), 1fr)); }
.solutions-clients #client-reviews { background: var(--bg-soft); }

@media (max-width: 820px) {
  .solutions-hero-grid { grid-template-columns: minmax(0, 1fr); }
  .solutions-copy h1 { max-width: 16ch; text-wrap: initial; }
  .solutions-hero-grid > :last-child { width: min(100%, 620px); }
}

@media (max-width: 560px) {
  .solutions-hero .btn, .solutions-page .launch-close .btn { padding-inline: 16px; white-space: normal; }
  .industry-directory { padding-inline: 14px; }
  .clients-snapshot > div { min-height: 90px; }
  .solutions-clients .client-logos-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .solutions-page .stat-bar-item { min-width: 0; }
  .solutions-page .section > .container > [style*="minmax(280px"] { grid-template-columns: minmax(0, 1fr) !important; }
}
