/* Skeal solution pages — a compact, image-led extension of the one-page site. */
:root { --sol-navy:#001d39; --sol-green:#1dd969; --sol-blue:#1c8ef4; }
.sol-page { overflow-x:clip; overflow-y:auto; }
.pricing-page .sol-solution-hero {
  background:
    /* Keep the copy on Skeal's neutral canvas, then melt into the illustration.
       The transition deliberately starts before the two grid columns meet, so it
       reads as one hero rather than two panels joined by a vertical seam. */
    radial-gradient(76% 122% at 86% 48%, rgba(230, 238, 235, .18) 0%, rgba(238, 243, 240, .10) 43%, transparent 77%),
    linear-gradient(90deg, #f4f6f3 0%, #f4f6f3 34%, #f3f6f3 49%, #f1f5f2 65%, #eff4f2 81%, #eef3f1 100%) !important;
}
.pricing-page .sol-solution-hero::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg, rgba(244,246,243,.28) 0%, rgba(244,246,243,.18) 40%, rgba(241,245,242,.10) 68%, rgba(238,243,241,.08) 100%);
  z-index:0;
}
.pricing-page .sol-solution-hero .hero-grid { position:relative; z-index:1; }
/* Pricing shared-view is intentionally stacked so the onboarding illustration
   remains fully visible on narrow screens and never gets hidden beside copy. */
.pricing-shared-view .sol-panel { display:flex; flex-direction:column; }
.pricing-shared-view .sol-panel-copy { order:1; }
.pricing-shared-view .sol-panel > img { order:2; width:100%; height:auto; min-height:0; max-height:none; object-fit:contain; object-position:left center; }
.pricing-shared-view .sol-panel-copy h2 { max-width:22ch; }
.solution-hero-root { position:relative; }
.sol-answer { padding-top:clamp(70px,8vw,112px); }
.sol-answer h1 { max-width:18ch; margin:15px 0 0; font-size:clamp(33px,3.8vw,50px); line-height:1.06; letter-spacing:-.05em; }
.sol-answer h1 .accent { background:linear-gradient(100deg,var(--sol-blue),#18a6b5 50%,var(--sol-green)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.sol-solution-hero { position:relative; overflow:hidden; }
.sol-solution-copy { max-width:590px; }
.sol-solution-kicker { color:var(--green-ink); font:700 12px var(--body); letter-spacing:.15em; text-transform:uppercase; }
.sol-solution-h1 { max-width:100%; font-size:clamp(32px,3.05vw,44px); }
.sol-solution-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.sol-solution-actions .btn { font-size:15px; padding:14px 22px; }
/* PhoneStage is normally a direct flex child on the home page. On the
   solution pages it is mounted inside this root, which must therefore own a
   real width; without it percentage-sized devices resolve to 0px. */
.sol-solution-hero #solution-device-root { width:100%; display:flex; align-items:center; justify-content:flex-end; }
.sol-solution-hero .hero-visual { overflow:visible; }
/* Keep the marker deliberately smaller on solution-page titles. */
.sol-solution-h1 .hl::after { left:6%; width:86%; height:9px; bottom:-2px; }

/* A section label and its highlighted H2 always use the same Skeal colour. */
.sol-kicker.tone-green { color:var(--green-ink); }
.sol-kicker.tone-blue { color:var(--blue-ink); }
.sol-kicker.tone-green::before,.sol-kicker.tone-green::after,
.sol-kicker.tone-blue::before,.sol-kicker.tone-blue::after { background:currentColor; }
.sol-section h2 .accent-green { color:var(--green); }
.sol-section h2 .accent-blue { color:var(--blue); }
.sol-workflow .sol-kicker.tone-green { color:#71efaa; }
.sol-workflow .sol-kicker.tone-blue { color:#80c8ff; }
.sol-workflow h2 .accent-green { color:#71efaa; }
.sol-workflow h2 .accent-blue { color:#80c8ff; }
.sol-cta-box .tone-green { color:#85efa9; }
.sol-cta-box .tone-blue { color:#80c8ff; }
.sol-cta-box h2 .accent-green { color:#75eda4; }
.sol-cta-box h2 .accent-blue { color:#80c8ff; }
@media (min-width:900px){.sol-solution-actions{margin-top:24px}.sol-solution-actions .btn{font-size:14px;padding:13px 20px}}
.sol-hero { position:relative; min-height:660px; padding:136px 0 76px; overflow:hidden; }
.sol-hero::before { content:""; position:absolute; inset:0; background:radial-gradient(65% 88% at 80% 50%,rgba(255,255,255,.65),transparent 72%); pointer-events:none; }
.sol-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr); align-items:center; gap:clamp(28px,5vw,78px); }
.sol-copy { max-width:580px; }
.sol-kicker { display:inline-flex; align-items:center; gap:10px; color:var(--green-ink); font:700 12px var(--body); letter-spacing:.15em; text-transform:uppercase; }
.sol-kicker::before,.sol-kicker::after { content:""; width:22px; height:2px; border-radius:99px; background:var(--sol-green); }
.sol-kicker.left::after { display:none; }
.sol-title { margin:17px 0 0; font-size:clamp(39px,4.65vw,67px); line-height:1.02; letter-spacing:-.055em; max-width:11.5ch; }
.sol-title .accent { background:linear-gradient(100deg,var(--sol-blue),#18a6b5 50%,var(--sol-green)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.sol-intro { max-width:37em; margin-top:21px; color:var(--ink-soft); font-size:17px; line-height:1.58; }
.sol-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.sol-visual { position:relative; min-height:450px; }
.sol-grid-bg { position:absolute; right:-10%; top:-16%; width:130%; height:130%; background-image:linear-gradient(rgba(29,66,88,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(29,66,88,.15) 1px,transparent 1px); background-size:74px 74px; mask-image:radial-gradient(ellipse at 56% 52%,#000 19%,rgba(0,0,0,.65) 53%,transparent 76%); opacity:.72; }
.sol-photo { position:absolute; z-index:1; right:3%; top:3%; width:min(100%,585px); height:430px; object-fit:cover; border-radius:34px; box-shadow:0 28px 70px rgba(0,31,58,.18); }
.sol-photo::after { content:""; }
.sol-device { position:absolute; z-index:2; width:250px; right:8%; bottom:-14px; filter:drop-shadow(0 18px 22px rgba(0,22,42,.25)); }
.sol-data { position:absolute; z-index:3; left:4%; bottom:20px; max-width:235px; padding:18px 20px; border-radius:18px; background:linear-gradient(135deg,rgba(0,23,49,.68),rgba(8,63,75,.72)),url("assets/mountain-background.jpg") center/cover; color:#fff; box-shadow:0 16px 34px rgba(0,24,46,.25); }
.sol-data small { display:block; color:#83e4a9; font-weight:700; letter-spacing:.11em; font-size:10px; text-transform:uppercase; }
.sol-data b { display:block; margin-top:7px; font:800 19px/1.15 var(--display); }
.sol-data span { display:block; margin-top:7px; color:rgba(255,255,255,.72); font-size:13px; line-height:1.35; }
.sol-section { padding:clamp(74px,9vw,122px) 0; position:relative; }
.sol-section-head { max-width:690px; }
.sol-section-head.center { text-align:center; margin-inline:auto; }
.sol-section h2 { font-size:clamp(32px,3.8vw,51px); letter-spacing:-.05em; line-height:1.06; margin:15px 0 0; }
.sol-section h2 .green { color:var(--green); }.sol-section h2 .blue { color:var(--blue); }
.sol-section-head p { max-width:58ch; margin:15px 0 0; color:var(--muted); font-size:17px; line-height:1.55; }.sol-section-head.center p{margin-inline:auto}
.sol-insights { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:46px; }
.sol-insight { min-height:230px; padding:27px 26px; border:1px solid rgba(216,232,236,.95); border-radius:22px; background:rgba(255,255,255,.48); box-shadow:0 12px 34px rgba(10,49,63,.06); transition:transform .2s,background .2s; }
.sol-insight:hover { background:#fff; transform:translateY(-5px); }.sol-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:14px; background:var(--green-wash); color:var(--green-ink); font:800 17px var(--display); }
.sol-insight h3 { margin:18px 0 0; font:800 20px/1.18 var(--display); color:var(--ink); letter-spacing:-.025em; }.sol-insight p { margin:11px 0 0; color:var(--muted); font-size:14.5px; line-height:1.52; }
.sol-workflow { position:relative; overflow:hidden; background:linear-gradient(120deg,rgba(0,26,52,.72),rgba(5,52,74,.68)),url("assets/mountain-background.jpg") center/cover; color:#fff; }.sol-workflow::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,16,43,.12),rgba(19,135,116,.12)); }.sol-workflow .wrap { position:relative; z-index:1; }.sol-workflow h2 { color:#fff; max-width:12ch; }.sol-workflow .sol-kicker { color:#71efaa; }.sol-workflow .sol-kicker::before,.sol-workflow .sol-kicker::after { background:#71efaa; }.sol-workflow .sol-section-head p { color:rgba(255,255,255,.76); }.sol-workflow .sol-step h3 { color:#fff; }
.sol-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; margin-top:45px; }.sol-step { padding-top:20px; border-top:1px solid rgba(255,255,255,.33); }.sol-step-n { display:block; color:#72efa2; font:800 31px/1 var(--display); letter-spacing:-.05em; }.sol-step h3 { margin:14px 0 0; font:800 20px/1.2 var(--display); }.sol-step p { margin:10px 0 0; color:rgba(255,255,255,.75); font-size:15px; line-height:1.5; }
.sol-panel { display:grid; grid-template-columns:1.03fr .97fr; align-items:stretch; overflow:hidden; border-radius:30px; background:#fff; border:1px solid var(--line-soft); box-shadow:var(--shadow); margin-top:48px; }.sol-panel img { width:100%; height:100%; min-height:360px; object-fit:cover; }.sol-panel-copy { padding:clamp(34px,5vw,68px); display:flex; flex-direction:column; justify-content:center; }.sol-panel-copy h2,.sol-panel-copy h3 { font-size:clamp(26px,3vw,38px); line-height:1.07; letter-spacing:-.045em; }.sol-panel-copy h2 .accent-green { color:var(--green); }.sol-panel-copy h2 .accent-blue { color:var(--blue); }.sol-panel-copy p { margin-top:17px; font-size:16px; color:var(--muted); line-height:1.58; }.sol-list { list-style:none; padding:0; margin:24px 0 0; display:grid; gap:11px; }.sol-list li { color:var(--ink-soft); font-size:15px; }.sol-list li::before { content:"✓"; color:var(--green-ink); font-weight:800; margin-right:10px; }
.sol-panel--reverse img { order:2; }.sol-panel-highlight { color:var(--green-ink) !important; font-weight:800; }
.senior-nutrition-note { margin:22px 0 0; color:var(--blue-ink) !important; font-size:14px; line-height:1.55; }
.senior-nutrition-note strong { color:var(--green-ink); }
.sol-evidence { display:grid; grid-template-columns:minmax(260px,.78fr) minmax(420px,1.22fr); gap:clamp(34px,7vw,100px); align-items:center; margin-top:54px; }.sol-evidence-statement { padding:clamp(26px,3vw,42px); border-left:4px solid var(--blue); background:linear-gradient(135deg,rgba(28,142,244,.10),rgba(29,217,105,.10)); }.sol-evidence-statement p { margin:0; color:var(--blue-ink); font:800 11px var(--body); letter-spacing:.14em; text-transform:uppercase; }.sol-evidence-statement strong { display:block; margin-top:12px; color:var(--ink); font:800 clamp(27px,3vw,43px)/1.04 var(--display); letter-spacing:-.045em; }.sol-evidence-statement span { display:block; margin-top:14px; color:var(--muted); font-size:14px; line-height:1.45; }.sol-evidence-facts { display:grid; }.sol-evidence-facts article { display:grid; grid-template-columns:minmax(122px,.52fr) 1fr; gap:28px; align-items:center; padding:26px 0; border-top:1px solid var(--line); }.sol-evidence-facts article:last-child { border-bottom:1px solid var(--line); }.sol-evidence-facts strong { color:var(--green-ink); font:800 clamp(32px,4vw,56px)/1 var(--display); letter-spacing:-.06em; }.sol-evidence-facts p { color:var(--ink-soft); font-size:15px; line-height:1.5; }
.sol-story { display:grid; grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr); gap:clamp(38px,7vw,112px); align-items:center; }.sol-story-copy { padding:clamp(26px,3vw,48px) 0; }.sol-story-copy h2 { margin-top:15px; font-size:clamp(32px,3.5vw,48px); line-height:1.06; letter-spacing:-.05em; }.sol-story-copy > p { margin-top:17px; color:var(--muted); font-size:16px; line-height:1.58; }.sol-story-visual { position:relative; margin:0; min-height:390px; overflow:hidden; border-radius:30px; background:linear-gradient(135deg,rgba(28,142,244,.11),rgba(29,217,105,.12)); }.sol-story-visual::before { content:""; position:absolute; inset:16px -18px -16px 20px; border:1px solid rgba(28,142,244,.22); border-radius:26px; pointer-events:none; }.sol-story-visual img { position:relative; display:block; width:100%; height:100%; min-height:390px; object-fit:cover; object-position:center; }.sol-performance-story { position:relative; overflow:hidden; background:linear-gradient(135deg,#062346,#0a4d58); }.sol-performance-story::before { content:""; position:absolute; inset:0; background:url("assets/mountain-background.jpg") center/cover; opacity:.22; }.sol-performance-story .wrap { position:relative; z-index:1; }.sol-story--performance .sol-story-copy h2 { color:#fff; }.sol-story--performance .sol-story-copy > p,.sol-story--performance .sol-list li { color:rgba(255,255,255,.78); }.sol-story--performance .sol-kicker { color:#79d7ff; }.sol-story--performance .sol-kicker::before,.sol-story--performance .sol-kicker::after { background:#79d7ff; }.sol-story--performance .sol-panel-highlight { color:#79efaa !important; }.sol-story--performance .sol-story-visual { background:rgba(255,255,255,.10); }
.sol-faq-section { overflow:hidden; isolation:isolate; }.sol-faq-section > .wrap { position:relative; z-index:1; }.sol-faq-croquis { position:absolute; z-index:0; left:50%; top:-215px; width:min(1380px,124vw); max-width:none; transform:translateX(-50%); opacity:.38; pointer-events:none; user-select:none; }
.sol-faq { max-width:800px; margin:43px auto 0; }.sol-faq details { border-bottom:1px solid var(--line); }.sol-faq summary { cursor:pointer; list-style:none; padding:21px 2px; color:var(--ink); font:700 19px/1.35 var(--display); }.sol-faq summary::-webkit-details-marker { display:none; }.sol-faq summary::after { content:"+"; float:right; color:var(--green-ink); font-size:26px; line-height:.7; }.sol-faq details[open] summary::after { content:"−"; }.sol-faq p { max-width:68ch; padding:0 2px 22px; margin:0; color:var(--muted); font-size:15.5px; line-height:1.6; }
.sol-cta { padding:0 0 90px; }.sol-cta-box { position:relative; overflow:hidden; text-align:center; padding:clamp(48px,7vw,94px) 28px; border-radius:30px; background:linear-gradient(120deg,rgba(0,28,55,.64),rgba(13,104,100,.64)),url("assets/mountain-background.jpg") center/cover; color:#fff; }.sol-cta-box::before { content:""; position:absolute; inset:auto -12% -80% auto; width:470px; height:470px; border-radius:50%; background:rgba(29,217,105,.18); filter:blur(20px); }.sol-cta-box>* { position:relative; z-index:1; }.sol-cta-box h2 { color:#fff; max-width:800px; margin:0 auto; }.sol-cta-box h2 span { color:#75eda4; }.sol-cta-box p { margin:0 0 14px; color:#85efa9; font:700 11px var(--body); letter-spacing:.15em; text-transform:uppercase; }.sol-cta-box .btn { margin-top:clamp(26px,3vw,38px); }
.sol-cta-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin-top:clamp(26px,3vw,38px); }.sol-cta-actions .btn { margin-top:0; }
@media (min-width:900px){.sol-page{font-size:15px}.sol-hero{min-height:580px;padding:110px 0 55px}.sol-title{font-size:clamp(36px,4vw,57px)}.sol-intro{font-size:15px}.sol-visual{min-height:390px}.sol-photo{height:372px}.sol-device{width:218px}.sol-data{padding:15px 17px}.sol-section{padding:clamp(62px,7.5vw,98px) 0}.sol-section h2{font-size:clamp(29px,3.3vw,44px)}.sol-section-head p{font-size:15px}.sol-insights{margin-top:36px}.sol-insight{min-height:204px;padding:23px}.sol-workflow .sol-section{padding-block:72px}.sol-steps{margin-top:36px}.sol-panel{margin-top:38px}.sol-panel img{min-height:310px}.sol-faq{margin-top:34px}.sol-cta{padding-bottom:72px}}
@media (max-width:850px){.sol-hero{min-height:auto;padding:118px 0 55px}.sol-grid,.sol-panel,.sol-evidence,.sol-story{grid-template-columns:1fr}.sol-copy{max-width:100%}.sol-visual{min-height:390px;margin-top:14px}.sol-photo{right:0;height:350px}.sol-device{width:190px;right:6%;bottom:-9px}.sol-insights,.sol-steps{grid-template-columns:1fr}.sol-insights{margin-top:30px}.sol-panel img{min-height:260px}.sol-evidence{margin-top:32px}.sol-evidence-facts article{grid-template-columns:1fr;gap:10px}.sol-story-visual,.sol-story-visual img{min-height:280px}.sol-story--performance .sol-story-visual{order:2}.sol-section{padding:70px 0}.sol-title{max-width:13ch}.sol-grid-bg{width:140%;right:-26%}.sol-faq-croquis{top:-120px;width:100vw;max-width:100vw;left:50%;transform:translateX(-50%);opacity:.3}.sol-cta{padding-bottom:50px}}

@media (max-width:600px){
  .sol-page, .sol-page main, .sol-page .sol-faq-section { max-width:100%; overflow-x:hidden; }
  .sol-solution-h1 .hl { white-space:nowrap; }
  .pricing-shared-view .sol-panel-copy { padding:30px 24px; }
  .pricing-shared-view .sol-panel > img { min-height:0; }
  .sol-workflow .sol-section-head h2 { max-width:none; font-size:clamp(24px,6.4vw,34px); line-height:1.08; }
}

/* Hospital page: each section carries a different visual job. The content is
   deliberately unchanged; composition, rhythm and hierarchy do the work. */
.sol-ingesta-section { overflow:hidden; background:linear-gradient(116deg,rgba(228,238,244,.88),rgba(255,255,255,.28) 58%,rgba(29,217,105,.08)); }
.sol-ingesta-section::before { content:""; position:absolute; right:-11vw; bottom:-13vw; width:46vw; height:46vw; border:1px solid rgba(28,142,244,.20); border-radius:50%; box-shadow:0 0 0 34px rgba(28,142,244,.05),0 0 0 72px rgba(29,217,105,.035); pointer-events:none; }
.sol-ingesta-section .wrap { position:relative; z-index:1; }.sol-ingesta-section .sol-section-head { max-width:760px; }
.sol-ingesta-section .sol-evidence { position:relative; grid-template-columns:minmax(340px,.9fr) minmax(420px,1.1fr); gap:0; margin-top:58px; border:1px solid rgba(116,169,204,.28); background:rgba(255,255,255,.46); box-shadow:0 24px 60px rgba(9,44,68,.08); }
.sol-ingesta-section .sol-evidence-statement { min-height:300px; display:flex; flex-direction:column; justify-content:flex-end; padding:42px; border-left:0; background:linear-gradient(145deg,rgba(28,142,244,.15),rgba(255,255,255,.46)),url("assets/scene-hospital.jpg") center/cover; isolation:isolate; overflow:hidden; }.sol-ingesta-section .sol-evidence-statement::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(0deg,rgba(1,30,56,.76),rgba(1,30,56,.06) 72%); }.sol-ingesta-section .sol-evidence-statement p,.sol-ingesta-section .sol-evidence-statement strong,.sol-ingesta-section .sol-evidence-statement span { color:#fff; }.sol-ingesta-section .sol-evidence-statement p { opacity:.78; }.sol-ingesta-section .sol-evidence-statement strong { max-width:10ch; }.sol-ingesta-section .sol-evidence-statement span { max-width:28ch; opacity:.82; }
.sol-ingesta-section .sol-evidence-facts { position:relative; padding:22px clamp(28px,4vw,56px); background:rgba(255,255,255,.80); }.sol-ingesta-section .sol-evidence-facts::before { content:""; position:absolute; top:50%; left:-8px; width:16px; height:16px; background:#fff; border-left:1px solid rgba(116,169,204,.28); border-bottom:1px solid rgba(116,169,204,.28); transform:translateY(-50%) rotate(45deg); }.sol-ingesta-section .sol-evidence-facts article { grid-template-columns:150px 1fr; }.sol-ingesta-section .sol-evidence-facts strong { color:var(--blue-ink); }

.sol-teams-section { overflow:hidden; }.sol-teams-section .sol-section-head { margin-left:auto; text-align:right; }.sol-teams-section .sol-section-head p { margin-left:auto; }.sol-teams-section .sol-kicker { justify-content:flex-end; }.sol-teams-section .sol-insights { position:relative; grid-template-columns:repeat(3,1fr); gap:0; margin-top:54px; border-top:1px solid rgba(139,176,198,.42); border-bottom:1px solid rgba(139,176,198,.42); }.sol-teams-section .sol-insights::before { content:""; position:absolute; z-index:0; top:38px; left:16.66%; right:16.66%; border-top:2px solid rgba(29,217,105,.45); }.sol-teams-section .sol-insight { position:relative; z-index:1; min-height:244px; padding:38px clamp(22px,3vw,42px) 30px; border:0; border-radius:0; background:transparent; box-shadow:none; }.sol-teams-section .sol-insight + .sol-insight { border-left:1px solid rgba(139,176,198,.32); }.sol-teams-section .sol-insight:hover { background:rgba(255,255,255,.42); transform:none; }.sol-teams-section .sol-icon { position:relative; width:76px; height:76px; border:8px solid var(--site-bg,#f5f8f6); border-radius:50%; background:#eaf8f0; color:var(--green-ink); font-size:18px; box-shadow:0 0 0 1px rgba(29,217,105,.25); }.sol-teams-section .sol-insight:nth-child(2) .sol-icon { background:#e6f3ff; color:var(--blue-ink); box-shadow:0 0 0 1px rgba(28,142,244,.28); }.sol-teams-section .sol-insight:nth-child(3) .sol-icon { background:#eff3f5; color:var(--ink); box-shadow:0 0 0 1px rgba(19,45,70,.18); }.sol-teams-section .sol-insight h3 { max-width:12ch; }.sol-teams-section .sol-insight p { max-width:30ch; }

.sol-workflow .sol-steps { position:relative; gap:0; border-top:1px solid rgba(255,255,255,.28); }.sol-workflow .sol-steps::before { content:""; position:absolute; top:-1px; left:0; width:33.333%; border-top:2px solid #71efaa; }.sol-workflow .sol-step { min-height:240px; padding:32px 34px 0; border:0; }.sol-workflow .sol-step + .sol-step { border-left:1px solid rgba(255,255,255,.22); }.sol-workflow .sol-step-n { position:relative; }.sol-workflow .sol-step-n::after { content:""; position:absolute; top:17px; left:58px; width:calc(100% - 58px); border-top:1px dashed rgba(113,239,170,.42); }.sol-workflow .sol-step:last-child .sol-step-n::after { display:none; }.sol-workflow .sol-step h3 { margin-top:22px; }

.sol-nutrition-story { background:linear-gradient(180deg,transparent 0%,rgba(28,142,244,.055) 100%); }.sol-story--nutrition { position:relative; grid-template-columns:minmax(330px,.78fr) minmax(500px,1.22fr); gap:0; overflow:hidden; border-radius:34px; background:#fff; border:1px solid rgba(150,190,214,.36); box-shadow:0 28px 64px rgba(15,56,82,.10); }.sol-story--nutrition .sol-story-copy { position:relative; z-index:2; padding:clamp(40px,5vw,72px); background:linear-gradient(145deg,#fff 0%,#eff8fe 100%); }.sol-story--nutrition .sol-story-visual { min-height:100%; border-radius:0; background:#dcecf6; }.sol-story--nutrition .sol-story-visual::before { inset:28px; border-color:rgba(255,255,255,.72); }.sol-story--nutrition .sol-story-visual img { min-height:100%; transform:scale(1.10); transform-origin:center; }.sol-story--nutrition .sol-list { grid-template-columns:1fr 1fr; gap:12px 20px; }
.sol-performance-story { padding-block:clamp(92px,11vw,154px); }.sol-story--performance { grid-template-columns:minmax(460px,1.08fr) minmax(330px,.92fr); gap:clamp(38px,7vw,112px); }.sol-story--performance .sol-story-visual { min-height:440px; border:1px solid rgba(125,215,255,.34); box-shadow:26px 26px 0 rgba(28,142,244,.16); }.sol-story--performance .sol-story-visual::before { inset:18px; border-color:rgba(121,239,170,.44); }.sol-story--performance .sol-story-visual img { min-height:440px; object-position:center; }.sol-story--performance .sol-story-copy { padding:18px 0; }.sol-story--performance .sol-list { border-top:1px solid rgba(255,255,255,.25); border-bottom:1px solid rgba(255,255,255,.25); padding-block:18px; grid-template-columns:1fr 1fr; gap:12px 20px; }.sol-story--performance .sol-panel-highlight { padding:18px 0 0; font-size:18px; }

@media (max-width:850px){.sol-ingesta-section .sol-evidence{grid-template-columns:1fr}.sol-ingesta-section .sol-evidence-statement{min-height:260px}.sol-ingesta-section .sol-evidence-facts::before{top:-8px;left:50%;transform:translateX(-50%) rotate(45deg);border-left:0;border-bottom:0;border-right:1px solid rgba(116,169,204,.28);border-top:1px solid rgba(116,169,204,.28)}.sol-teams-section .sol-section-head{text-align:left;margin-left:0}.sol-teams-section .sol-section-head p{margin-left:0}.sol-teams-section .sol-kicker{justify-content:flex-start}.sol-teams-section .sol-insights{gap:0}.sol-teams-section .sol-insights::before{left:38px;right:auto;top:80px;bottom:80px;width:0;border-top:0;border-left:2px solid rgba(29,217,105,.45)}.sol-teams-section .sol-insight{min-height:0;padding:24px 0 24px 96px}.sol-teams-section .sol-insight + .sol-insight{border-left:0;border-top:1px solid rgba(139,176,198,.32)}.sol-teams-section .sol-icon{position:absolute;top:20px;left:0;width:64px;height:64px}.sol-workflow .sol-step{min-height:0;padding:28px 0 28px 78px}.sol-workflow .sol-step + .sol-step{border-left:0;border-top:1px solid rgba(255,255,255,.18)}.sol-workflow .sol-step-n{position:absolute;left:0}.sol-workflow .sol-step-n::after{display:none}.sol-story--nutrition,.sol-story--performance{grid-template-columns:1fr}.sol-story--nutrition .sol-story-visual{min-height:310px;order:-1}.sol-story--nutrition .sol-story-visual img{min-height:310px}.sol-story--nutrition .sol-list,.sol-story--performance .sol-list{grid-template-columns:1fr}.sol-story--performance .sol-story-visual{min-height:310px;box-shadow:14px 14px 0 rgba(28,142,244,.15)}.sol-story--performance .sol-story-visual img{min-height:310px}.sol-story--performance .sol-story-copy{padding-top:24px}}

/* Hospital page — use the existing home component language only.
   No dedicated visual system: its cards, borders, radii and colour treatment
   are the same stats and product components used on the home page. */
.sol-ingesta-section,.sol-nutrition-story,.sol-performance-story { overflow:visible; background:transparent; }
.sol-ingesta-section::before,.sol-performance-story::before { display:none; }
.sol-ingesta-section .wrap { position:static; }
.sol-ingesta-section .sol-section-head,.sol-teams-section .sol-section-head { max-width:690px; margin-left:0; text-align:left; }
.sol-teams-section .sol-section-head p { margin-left:0; }
.sol-teams-section .sol-kicker { justify-content:flex-start; }

/* The two context cards are the homepage's white and navy wide cards. */
.sol-ingesta-section .hospital-stats-wide { gap:20px; margin-top:48px; }
.sol-ingesta-section .sol-evidence-statement { position:static; display:block; min-height:0; padding:30px 32px; border-left:0; background:#fff; isolation:auto; overflow:visible; }
.sol-ingesta-section .sol-evidence-statement::before,.sol-ingesta-section .sol-evidence-facts::before { display:none; }
.sol-ingesta-section .sol-evidence-statement p { color:var(--blue-ink); opacity:1; }
.sol-ingesta-section .sol-evidence-statement strong { max-width:none; color:var(--ink); }
.sol-ingesta-section .sol-evidence-statement span { max-width:none; color:var(--muted); opacity:1; }
.sol-ingesta-section .sol-evidence-facts { display:grid; position:static; padding:22px 32px; background:var(--sol-navy); }
.sol-ingesta-section .sol-evidence-facts article { grid-template-columns:150px 1fr; gap:28px; padding:22px 0; border-color:rgba(255,255,255,.24); }
.sol-ingesta-section .sol-evidence-facts article:last-child { border-bottom:0; }
.sol-ingesta-section .sol-evidence-facts strong { color:var(--green); }
.sol-ingesta-section .sol-evidence-facts p { color:rgba(255,255,255,.78); margin:0; }

/* Same raised three-card rhythm as the home statistics section. */
.sol-teams-section { overflow:visible; }
.sol-teams-section .hospital-team-cards { position:static; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:48px; border:0; }
.sol-teams-section .hospital-team-cards::before { display:none; }
.sol-teams-section .stat-c { min-height:0; padding:28px; border:1px solid var(--line-soft); border-radius:var(--r-xl); background:rgba(255,255,255,.72); box-shadow:var(--shadow); }
.sol-teams-section .stat-c + .stat-c { border-left:1px solid var(--line-soft); }
.sol-teams-section .stat-c:hover { background:#fff; transform:translateY(-5px); }
.sol-teams-section .sol-icon { position:static; width:42px; height:42px; border:0; border-radius:14px; background:var(--green-wash); color:var(--green-ink); box-shadow:none; font-size:17px; }
.sol-teams-section .stat-c:nth-child(2) .sol-icon { background:var(--blue-wash); color:var(--blue-ink); box-shadow:none; }
.sol-teams-section .stat-c:nth-child(3) .sol-icon { background:var(--green-wash); color:var(--green-ink); box-shadow:none; }
.sol-teams-section .stat-c h3 { max-width:none; margin:18px 0 0; color:var(--ink); }
.sol-teams-section .stat-c p { max-width:none; }

/* The existing dark home workflow pattern: three quiet columns, no timeline. */
.sol-workflow .sol-steps { position:static; gap:25px; margin-top:45px; border-top:0; }
.sol-workflow .sol-steps::before,.sol-workflow .sol-step-n::after { display:none; }
.sol-workflow .sol-step { min-height:0; padding:20px 0 0; border-top:1px solid rgba(255,255,255,.33); }
.sol-workflow .sol-step + .sol-step { border-left:0; }
.sol-workflow .sol-step-n { position:static; }
.sol-workflow .sol-step h3 { margin-top:14px; color:#fff; }

/* Existing homepage product cards and framed images, simply alternated. */
.sol-nutrition-story .wrap,.sol-performance-story .wrap { position:static; }
.hospital-product-flow { gap:clamp(34px,6vw,92px); }
.hospital-product-flow .prod-card { min-height:0; padding:clamp(28px,3vw,48px); }
.hospital-product-flow .prod-card h2 { margin:15px 0 0; font-size:clamp(29px,3.3vw,44px); line-height:1.06; letter-spacing:-.05em; }
.hospital-product-flow .prod-card > p:not(.sol-kicker):not(.sol-panel-highlight) { margin-top:17px; color:var(--muted); font-size:16px; line-height:1.58; }
.hospital-product-flow .prod-card.navy h2 { color:#fff; }
.hospital-product-flow .prod-card.navy > p:not(.sol-kicker):not(.sol-panel-highlight),.hospital-product-flow .prod-card.navy .sol-list li { color:rgba(255,255,255,.78); }
.hospital-product-flow .prod-card.navy .sol-kicker { color:#79d7ff; }
.hospital-product-flow .prod-card.navy .sol-kicker::before,.hospital-product-flow .prod-card.navy .sol-kicker::after { background:#79d7ff; }
.hospital-product-flow .prod-card.navy .sol-panel-highlight { color:#79efaa !important; }
.hospital-product-shot { margin:0; border-radius:var(--r-xl); overflow:hidden; box-shadow:var(--shadow); }
.hospital-product-shot img { display:block; width:100%; height:100%; min-height:360px; object-fit:cover; object-position:center; }

@media (max-width:850px){
  .sol-ingesta-section .hospital-stats-wide,.sol-teams-section .hospital-team-cards,.sol-workflow .sol-steps { grid-template-columns:1fr; }
  .sol-ingesta-section .hospital-stats-wide { margin-top:30px; }
  .sol-ingesta-section .sol-evidence-facts article { grid-template-columns:1fr; gap:10px; }
  .sol-teams-section .hospital-team-cards { gap:16px; margin-top:30px; }
  .sol-teams-section .stat-c { padding:26px; }
  .sol-workflow .sol-step { padding:20px 0 0; }
  .hospital-product-flow,.prod-flow--portal.hospital-product-flow { grid-template-columns:1fr; gap:26px; }
  .hospital-product-shot img { min-height:280px; }
}

/* Hospital — 11 September composition corrections.
   One soft grid, the AI balance in the inter-section breathing space, and
   a media stage that changes shape with the portrait / landscape source. */
@media (min-width:851px){
  .hospital-ingesta-board::after {
    z-index:0;
    top:150px;
    right:-10vw;
    bottom:-62px;
    left:37%;
    opacity:.48;
    background-image:linear-gradient(rgba(18,52,75,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(18,52,75,.075) 1px,transparent 1px);
    background-size:108px 108px;
    mask-image:radial-gradient(ellipse at 58% 52%,#000 12%,rgba(0,0,0,.72) 52%,transparent 88%);
    -webkit-mask-image:radial-gradient(ellipse at 58% 52%,#000 12%,rgba(0,0,0,.72) 52%,transparent 88%);
  }
  .sol-nutrition-story::before {
    z-index:1;
    left:47%;
    bottom:-104px;
    width:330px;
    height:330px;
    opacity:.20;
  }
  .sol-nutrition-story .hospital-product-flow { position:relative; z-index:2; }

  .hospital-product-flow:not(.prod-flow--portal) .hospital-product-shot {
    width:470px;
    height:456px;
    margin-left:-138px;
  }
  .hospital-product-flow:not(.prod-flow--portal) .hospital-photo-carousel {
    position:absolute;
    z-index:8;
    top:0;
    right:0;
    width:470px;
    height:456px;
    overflow:visible;
    background:transparent;
    box-shadow:none;
    border-radius:0;
  }
  .hospital-product-flow:not(.prod-flow--portal) .hospital-photo-carousel > img { display:none; }
  .hospital-carousel-slide {
    position:absolute;
    z-index:2;
    overflow:hidden;
    border-radius:24px;
    background:#fff;
    box-shadow:0 18px 34px rgba(7,43,59,.18);
    opacity:0;
    animation:hospital-photo-shape 15s infinite both;
  }
  .hospital-carousel-slide::before,
  .hospital-carousel-slide::after {
    content:"";
    position:absolute;
    z-index:-1;
    border:1px solid rgba(28,142,244,.24);
    border-radius:24px;
    background:rgba(255,255,255,.28);
  }
  .hospital-carousel-slide::before { inset:30px -32px -30px 32px; }
  .hospital-carousel-slide::after { inset:60px -62px -60px 62px; }
  .hospital-product-flow:not(.prod-flow--portal) .hospital-carousel-slide img {
    position:static !important;
    inset:auto !important;
    display:block;
    width:100%;
    height:100%;
    min-height:0;
    object-fit:contain;
    object-position:center;
    background:#fff;
    opacity:1 !important;
    transform:none !important;
    animation:none !important;
  }
  .hospital-carousel-slide--portrait {
    top:0;
    right:110px;
    width:304px;
    height:456px;
    animation-delay:0s;
  }
  .hospital-carousel-slide--landscape {
    top:84px;
    right:0;
    width:440px;
    height:276px;
    animation-delay:7.5s;
  }
  .prod-flow--portal.hospital-product-flow .hospital-product-shot img {
    left:-15px;
    width:442px;
    height:332px;
  }
}
@keyframes hospital-photo-shape {
  0%,46% { opacity:1; transform:translateY(0) scale(1); }
  50%,96% { opacity:0; transform:translateY(-12px) scale(.988); }
  100% { opacity:1; transform:translateY(0) scale(1); }
}
@media (max-width:850px){
  .hospital-photo-carousel { overflow:visible !important; background:transparent !important; box-shadow:none !important; }
  .hospital-carousel-slide { position:absolute; overflow:hidden; border-radius:24px; background:#fff; box-shadow:0 18px 34px rgba(7,43,59,.18); opacity:0; animation:hospital-photo-shape 15s infinite both; }
  .hospital-carousel-slide::before,.hospital-carousel-slide::after { content:""; position:absolute; z-index:-1; border:1px solid rgba(28,142,244,.24); border-radius:24px; background:rgba(255,255,255,.28); }
  .hospital-carousel-slide::before { inset:26px -25px -26px 25px; }.hospital-carousel-slide::after { inset:50px -48px -50px 48px; }
  .hospital-product-flow:not(.prod-flow--portal) .hospital-carousel-slide img { position:static !important; inset:auto !important; display:block; width:100%; height:100%; min-height:0; object-fit:contain; background:#fff; opacity:1 !important; transform:none !important; animation:none !important; }
  .hospital-carousel-slide--portrait { top:0; right:34px; width:252px; height:378px; animation-delay:0s; }
  .hospital-carousel-slide--landscape { top:72px; right:-14px; width:328px; height:205px; animation-delay:7.5s; }
}
@media (prefers-reduced-motion:reduce){
  .hospital-carousel-slide { animation:none !important; }
  .hospital-carousel-slide--portrait { opacity:1; }
}

/* Nutrition: the photo carousel is the foremost panel, above the copy frame. */
.hospital-product-flow:not(.prod-flow--portal) .hospital-product-shot { z-index:5; }
.hospital-product-flow:not(.prod-flow--portal) .hospital-photo-carousel { position:absolute; z-index:7; top:0; right:56px; width:304px; height:456px; overflow:hidden; border-radius:24px; background:#e8eef0; box-shadow:0 18px 34px rgba(7,43,59,.18); }
.hospital-product-flow:not(.prod-flow--portal) .hospital-photo-carousel img { position:absolute; inset:0; display:block; width:100%; height:100%; min-height:0; object-fit:cover; object-position:center; opacity:0; animation:hospital-photo-rotation 15s infinite both !important; animation-play-state:running !important; }
.hospital-product-flow:not(.prod-flow--portal) .hospital-photo-carousel img:nth-child(1) { animation-delay:0s !important; }
.hospital-product-flow:not(.prod-flow--portal) .hospital-photo-carousel img:nth-child(2) { animation-delay:5s !important; }
.hospital-product-flow:not(.prod-flow--portal) .hospital-photo-carousel img:nth-child(3) { animation-delay:10s !important; }
@keyframes hospital-photo-rotation { 0%, 28% { opacity:1; transform:translateY(0) scale(1); } 33%, 95% { opacity:0; transform:translateY(-14px) scale(.985); } 100% { opacity:1; transform:translateY(0) scale(1); } }
@media (max-width:850px){
  .hospital-product-flow:not(.prod-flow--portal) .hospital-product-shot { position:relative; z-index:5; width:min(100%,370px); height:390px; margin:0 auto; overflow:visible; border-radius:0; box-shadow:none; }
  .hospital-product-flow:not(.prod-flow--portal) .hospital-product-shot::before,.hospital-product-flow:not(.prod-flow--portal) .hospital-product-shot::after { width:225px; height:270px; }
  .hospital-product-flow:not(.prod-flow--portal) .hospital-product-shot::before { top:24px; right:2px; }.hospital-product-flow:not(.prod-flow--portal) .hospital-product-shot::after { top:50px; right:-18px; }
  .hospital-product-flow:not(.prod-flow--portal) .hospital-product-shot .hospital-product-dashboard { position:absolute; z-index:1; top:82px; right:-22px; width:248px; height:220px; min-height:0; object-fit:cover; object-position:left center; border-radius:18px; box-shadow:0 16px 30px rgba(7,43,59,.12); }
  .hospital-product-flow:not(.prod-flow--portal) .hospital-photo-carousel { top:0; right:48px; width:252px; height:378px; }
}
@media (prefers-reduced-motion:reduce){ .hospital-product-flow:not(.prod-flow--portal) .hospital-photo-carousel img { animation:none !important; }.hospital-product-flow:not(.prod-flow--portal) .hospital-photo-carousel img:first-child { opacity:1; } }

/* Hospital layouts: direct implementation of the supplied 7 / 8 / 9 boards.
   Only geometry changes here: source text and selected images remain intact. */
@media (min-width:851px){
  .sol-ingesta-section { padding-top:94px; padding-bottom:118px; overflow:hidden; }
  .sol-ingesta-section::after { content:""; position:absolute; z-index:-1; top:185px; right:-12vw; bottom:-30px; left:43%; background-image:linear-gradient(rgba(21,60,84,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(21,60,84,.09) 1px,transparent 1px); background-size:108px 108px; opacity:.72; }
  .sol-ingesta-section .sol-section-head { max-width:560px; }.sol-ingesta-section .sol-section-head h2 { color:#000; font-size:42px; max-width:570px; }.sol-ingesta-section .sol-section-head p { max-width:540px; }
  .sol-ingesta-section .hospital-stats-wide { display:grid; grid-template-columns:minmax(300px,.82fr) minmax(250px,.72fr) minmax(300px,.92fr); grid-template-rows:188px 214px; align-items:end; gap:34px; margin-top:42px; }
  .sol-ingesta-section .sol-evidence-statement { grid-column:2 / 4; grid-row:1; align-self:center; min-height:0; padding:0 0 0 18px; border-left:0; background:transparent; box-shadow:none; }
  .sol-ingesta-section .sol-evidence-statement p { color:var(--green); }.sol-ingesta-section .sol-evidence-statement strong { max-width:11ch; color:#000; font-size:29px; }.sol-ingesta-section .sol-evidence-statement span { display:none; }
  .sol-ingesta-section .sol-evidence-facts { display:contents; }.sol-ingesta-section .sol-evidence-facts article { display:block; margin:0; }
  .sol-ingesta-section .sol-evidence-facts article:first-child { grid-column:1; grid-row:1; align-self:end; padding:29px 36px 25px; border:1px solid rgba(28,142,244,.25); border-radius:24px; background:#fff; box-shadow:0 18px 34px rgba(7,45,68,.10); }
  .sol-ingesta-section .sol-evidence-facts article:first-child strong { display:block; color:#f10b13; font-size:49px; }.sol-ingesta-section .sol-evidence-facts article:first-child strong::after { content:""; display:block; width:100%; height:11px; margin-top:20px; border-radius:999px; background:linear-gradient(90deg,#f10b13 50%,#edf0ef 50%); }.sol-ingesta-section .sol-evidence-facts article:first-child p { margin-top:17px; color:var(--ink); font-weight:700; font-size:15px; line-height:1.3; }
  .sol-ingesta-section .sol-evidence-facts article:last-child { grid-column:2 / 4; grid-row:2; justify-self:start; width:min(100%,448px); padding:25px 30px; border:0; border-radius:26px; background:linear-gradient(124deg,rgba(0,19,45,.96),rgba(10,71,79,.88)),url("assets/mountain-background.jpg") center/cover; box-shadow:0 18px 35px rgba(8,42,62,.18); }.sol-ingesta-section .sol-evidence-facts article:last-child strong { color:var(--green); font-size:45px; }.sol-ingesta-section .sol-evidence-facts article:last-child p { margin-top:10px; color:#fff; font-weight:700; font-size:15px; }

  .sol-teams-section { padding-top:112px; padding-bottom:116px; }.sol-teams-section .sol-section-head { max-width:590px; margin-inline:auto; text-align:center; }.sol-teams-section .sol-section-head p { margin-inline:auto; }.sol-teams-section .sol-kicker { justify-content:center; }.sol-teams-section .sol-section-head h2 { color:#000; font-size:40px; }.sol-teams-section .hospital-team-cards { display:grid; grid-template-columns:repeat(3,1fr); max-width:900px; margin:38px auto 0; padding:40px 46px 60px; gap:18px; background:linear-gradient(100deg,rgba(225,247,238,.52),rgba(255,251,251,.34)); }.sol-teams-section .stat-c { min-height:226px; padding:24px; border:0; border-radius:29px; background:#fff; box-shadow:0 17px 26px rgba(16,49,63,.13); }.sol-teams-section .stat-c h3 { margin-top:16px; font-size:18px; }.sol-teams-section .stat-c p { margin-top:12px; font-size:13px; line-height:1.45; }.sol-teams-section .sol-icon { width:38px; height:38px; border-radius:11px; font-size:13px; }

  .sol-nutrition-story { padding-top:118px; padding-bottom:108px; overflow:hidden; }.sol-nutrition-story::before { content:""; position:absolute; z-index:-1; left:-30px; bottom:-20px; width:310px; height:310px; opacity:.34; background:url("assets/ai-scales.png") center/contain no-repeat; }
  .hospital-product-flow { display:grid; grid-template-columns:minmax(450px,.94fr) minmax(390px,.78fr); align-items:center; gap:0; max-width:1025px; margin-inline:auto; }.hospital-product-flow .prod-card { position:relative; z-index:3; padding:42px 38px; border-radius:25px; }.hospital-product-flow .prod-card.white { border-color:rgba(28,142,244,.29); background:#fff; box-shadow:none; }.hospital-product-flow .prod-card h2 { color:#000; font-size:29px; }.hospital-product-flow .prod-card > p:not(.sol-kicker):not(.sol-panel-highlight) { max-width:470px; font-size:16px; line-height:1.4; }.hospital-product-flow .sol-list { gap:8px; margin-top:25px; }.hospital-product-flow .sol-list li { font-size:12px; }
  .hospital-product-shot { position:relative; z-index:2; width:430px; height:456px; margin:0 0 0 -117px; overflow:visible; border-radius:0; box-shadow:none; }.hospital-product-shot::before,.hospital-product-shot::after { content:""; position:absolute; z-index:-2; width:290px; height:310px; border:1px solid rgba(28,142,244,.24); border-radius:24px; background:rgba(255,255,255,.30); }.hospital-product-shot::before { top:45px; right:-94px; }.hospital-product-shot::after { top:76px; right:-124px; }.hospital-product-shot img { position:absolute; z-index:2; right:52px; top:0; width:305px; height:456px; object-fit:cover; object-position:center; border-radius:23px; box-shadow:0 18px 32px rgba(7,43,59,.18); }
  .sol-performance-story { padding-top:88px; padding-bottom:130px; overflow:hidden; }.sol-performance-story::after { content:""; position:absolute; z-index:-1; right:-10vw; bottom:-70px; width:47vw; height:52vw; opacity:.53; background-image:linear-gradient(rgba(21,60,84,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(21,60,84,.09) 1px,transparent 1px); background-size:108px 108px; }.prod-flow--portal.hospital-product-flow { grid-template-columns:minmax(400px,.78fr) minmax(450px,.94fr); }.prod-flow--portal.hospital-product-flow .hospital-product-shot { order:1; height:466px; margin:0 -112px 0 0; }.prod-flow--portal.hospital-product-flow .hospital-product-shot::before { top:25px; left:40px; right:auto; }.prod-flow--portal.hospital-product-flow .hospital-product-shot::after { top:55px; left:10px; right:auto; }.prod-flow--portal.hospital-product-flow .hospital-product-shot img { top:88px; right:auto; left:0; width:412px; height:332px; border-radius:18px; object-position:center; }.prod-flow--portal.hospital-product-flow .prod-card { order:2; z-index:3; min-height:496px; padding:45px 42px; justify-content:center; border-radius:26px; background:linear-gradient(122deg,rgba(0,19,45,.97),rgba(9,69,78,.88)),url("assets/mountain-background.jpg") center/cover; }.prod-flow--portal.hospital-product-flow .prod-card h2 { color:#fff; }.prod-flow--portal.hospital-product-flow .prod-card > p:not(.sol-kicker):not(.sol-panel-highlight),.prod-flow--portal.hospital-product-flow .sol-list li { color:rgba(255,255,255,.79); }.prod-flow--portal.hospital-product-flow .sol-panel-highlight { color:var(--green) !important; font-size:14px; line-height:1.35; }
}

/* Exact desktop board corrections: no dark surface, no horizontal crop. */
@media (min-width:851px){
  .sol-page,.sol-ingesta-section,.sol-nutrition-story,.sol-performance-story { background:#f8faf8 !important; }
  .sol-ingesta-section { isolation:isolate; }.sol-ingesta-section::before { display:none !important; }.sol-ingesta-section::after { z-index:0; }.sol-ingesta-section .wrap { position:relative; z-index:1; }
  .sol-ingesta-section .sol-evidence-statement { border:0 !important; border-radius:0 !important; box-shadow:none !important; }
  .sol-ingesta-section .sol-evidence-facts { background:transparent !important; padding:0 !important; }
  .sol-ingesta-section .sol-evidence-facts article:first-child { border:1px solid rgba(28,142,244,.22) !important; }
  .sol-nutrition-story,.sol-performance-story { overflow-x:clip !important; }
  .hospital-product-flow { width:min(100%,1000px); grid-template-columns:620px 380px; }.hospital-product-flow .prod-card { width:620px; }.hospital-product-shot { width:420px; height:456px; margin-left:-138px; }
  .hospital-product-shot::before { width:285px; height:310px; top:45px; right:-88px; }.hospital-product-shot::after { width:285px; height:310px; top:75px; right:-118px; }
  .hospital-product-shot .hospital-product-dashboard { position:absolute; z-index:1; top:74px; right:-86px; width:310px; height:286px; object-fit:cover; object-position:left center; border-radius:18px; box-shadow:0 16px 30px rgba(7,43,59,.12); }
  .hospital-product-shot .hospital-product-photo { position:absolute; z-index:2; top:0; right:56px; width:304px; height:456px; object-fit:cover; object-position:center; border-radius:24px; box-shadow:0 18px 34px rgba(7,43,59,.18); }
  .hospital-product-shot > img:not(.hospital-product-dashboard):not(.hospital-product-photo) { display:none; }
  .prod-flow--portal.hospital-product-flow { grid-template-columns:380px 620px; width:min(100%,1000px); }.prod-flow--portal.hospital-product-flow .hospital-product-shot { width:420px; margin-right:-138px; }.prod-flow--portal.hospital-product-flow .hospital-product-shot img { display:block; }.prod-flow--portal.hospital-product-flow .prod-card { width:620px; }.prod-flow--portal.hospital-product-flow .hospital-product-shot::before { width:285px; height:310px; }.prod-flow--portal.hospital-product-flow .hospital-product-shot::after { width:285px; height:310px; }
}

@media (min-width:851px) and (max-width:1160px){
  .hospital-product-flow { width:calc(100% - 56px); grid-template-columns:minmax(0,1fr) 300px; }.hospital-product-flow .prod-card { width:auto; padding:38px 32px; }.hospital-product-shot { transform:scale(.80); transform-origin:left center; margin-left:-96px; }.prod-flow--portal.hospital-product-flow { grid-template-columns:300px minmax(0,1fr); }.prod-flow--portal.hospital-product-flow .prod-card { width:auto; }.prod-flow--portal.hospital-product-flow .hospital-product-shot { transform-origin:right center; margin-right:-96px; }
}

/* Relevés d'ingesta — direct reconstruction of the supplied board. */
.sol-ingesta-section { background:#f8faf8 !important; overflow:hidden; }
.hospital-ingesta-board { position:relative; min-height:694px; }
.hospital-ingesta-board::after { content:""; position:absolute; z-index:0; top:132px; right:-8vw; bottom:-52px; left:35%; background-image:linear-gradient(rgba(18,52,75,.085) 1px,transparent 1px),linear-gradient(90deg,rgba(18,52,75,.085) 1px,transparent 1px); background-size:108px 108px; pointer-events:none; }
.hospital-ingesta-intro,.hospital-risk-card,.hospital-missing-data,.hospital-waste-card { position:absolute; z-index:1; }
.hospital-ingesta-intro { top:0; left:0; width:570px; }.hospital-ingesta-intro h2 { margin-top:17px; color:#050505; font-size:clamp(36px,3.25vw,48px); line-height:1.03; letter-spacing:-.055em; }.hospital-ingesta-intro > p:not(.sol-kicker) { max-width:545px; margin-top:27px; color:var(--ink); font-size:16px; line-height:1.42; }.hospital-ingesta-intro > p:not(.sol-kicker) + p { margin-top:22px; }
.hospital-risk-card { top:340px; left:0; width:435px; min-height:208px; padding:25px 38px 18px; border:1px solid rgba(28,142,244,.24); border-radius:24px; background:#fff; box-shadow:0 18px 30px rgba(9,45,65,.10); }.hospital-risk-number { display:flex; align-items:center; gap:17px; }.hospital-risk-icon { display:grid; width:32px; height:32px; place-items:center; border-radius:8px; background:#f40b11; color:#fff; font-size:17px; }.hospital-risk-number strong { color:#f40b11; font:800 48px/.95 var(--display); letter-spacing:-.065em; }.hospital-risk-bar { height:11px; margin:20px 0 17px; overflow:hidden; border-radius:999px; background:#eef0ef; }.hospital-risk-bar span { display:block; width:50%; height:100%; border-radius:inherit; background:#f40b11; }.hospital-risk-card p { margin:0; color:var(--ink); font:700 15px/1.28 var(--body); }.hospital-risk-card small { display:block; margin-top:11px; color:#afbac3; font:600 10px/1.2 var(--body); }
.hospital-missing-data { top:382px; left:520px; width:330px; }.hospital-missing-data .sol-kicker { color:var(--green); font-size:12px; }.hospital-missing-data h3 { margin:17px 0 0; color:#050505; font:800 27px/1.12 var(--display); letter-spacing:-.045em; }.hospital-missing-data h3 span { display:block; color:var(--green); }
.hospital-waste-card { top:517px; left:468px; width:435px; min-height:209px; padding:24px 38px 19px; overflow:hidden; border-radius:26px; background:linear-gradient(122deg,rgba(0,24,55,.96),rgba(9,71,81,.87)),url("assets/mountain-background.jpg") center/cover; box-shadow:0 17px 31px rgba(9,44,64,.18); color:#fff; }.hospital-waste-title { display:flex; align-items:flex-start; gap:18px; }.hospital-waste-icon { display:grid; flex:0 0 32px; width:32px; height:32px; place-items:center; border-radius:9px; background:var(--blue); color:#fff; font-size:21px; }.hospital-waste-title strong { font:700 16px/1.18 var(--body); }.hospital-waste-main { display:flex; align-items:center; gap:15px; margin-top:15px; }.hospital-gauge { position:relative; width:130px; height:66px; overflow:hidden; border-radius:130px 130px 0 0; background:conic-gradient(from 270deg at 50% 100%,var(--blue) 0 30%,#4b607a 30% 50%,transparent 50%); }.hospital-gauge::after { content:""; position:absolute; inset:16px 16px 0; border-radius:110px 110px 0 0; background:#18334f; }.hospital-gauge span { position:absolute; z-index:1; bottom:0; left:0; width:100%; color:#fff; text-align:center; font:800 29px/1 var(--display); }.hospital-waste-main b { color:var(--green); font:800 44px/.9 var(--display); letter-spacing:-.055em; }.hospital-waste-main p { margin:0; color:#fff; font:14px/1.18 var(--body); }.hospital-waste-foot { margin:10px 0 0; color:#fff; font:700 13px/1.25 var(--body); white-space:nowrap; }.hospital-waste-foot span { margin-right:9px; color:var(--green); font-size:28px; line-height:.4; vertical-align:-3px; }

@media (max-width:1120px) and (min-width:851px){.hospital-ingesta-board{min-height:650px}.hospital-ingesta-intro{width:50%}.hospital-ingesta-intro h2{font-size:clamp(34px,4vw,43px)}.hospital-ingesta-intro>p:not(.sol-kicker){font-size:14px}.hospital-risk-card{top:330px;width:37%;padding:22px 27px}.hospital-missing-data{left:45%;top:365px}.hospital-waste-card{left:44%;top:500px;transform:scale(.88);transform-origin:left top}}
@media (max-width:850px){.hospital-ingesta-board{display:grid;min-height:0;gap:26px}.hospital-ingesta-board::after{left:35%;top:210px;bottom:0;background-size:70px 70px}.hospital-ingesta-intro,.hospital-risk-card,.hospital-missing-data,.hospital-waste-card{position:relative;top:auto;left:auto;width:auto;transform:none}.hospital-ingesta-intro{grid-row:1}.hospital-ingesta-intro h2{font-size:34px}.hospital-ingesta-intro>p:not(.sol-kicker){font-size:15px}.hospital-risk-card{grid-row:2;padding:25px}.hospital-missing-data{grid-row:3;padding:0 12px}.hospital-waste-card{grid-row:4;min-height:205px;padding:24px}.hospital-waste-foot{white-space:normal}}

/* Spacing, single grid and mountain correction from the review captures. */
.sol-ingesta-section::after { display:none !important; }
.hospital-waste-card { background-image:linear-gradient(122deg,rgba(0,24,55,.52),rgba(9,71,81,.42)),url("assets/mountain-bg.jpg") !important; background-position:center !important; background-size:cover !important; }
.sol-teams-section .hospital-team-cards { box-shadow:none !important; }
@media (min-width:851px){
  .hospital-ingesta-board { min-height:790px; }
  .hospital-ingesta-intro { width:min(700px,68vw); }.hospital-ingesta-intro h2 { font-size:38px; max-width:700px; }
  .hospital-risk-card { top:415px; }.hospital-missing-data { top:454px; left:520px; }.hospital-waste-card { top:596px; left:500px; }
}
@media (max-width:1120px) and (min-width:851px){
  .hospital-ingesta-board { min-height:730px; }.hospital-ingesta-intro { width:min(650px,68vw); }.hospital-ingesta-intro h2 { font-size:37px; }
  .hospital-risk-card { top:405px; width:390px; }.hospital-missing-data { left:450px; top:442px; }.hospital-waste-card { left:430px; top:575px; transform:scale(.92); transform-origin:left top; }
}

/* Refinements from the final desktop review. */
.hospital-risk-icon svg,.hospital-waste-icon svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.hospital-risk-icon svg { width:22px; height:22px; }.hospital-waste-icon svg { width:21px; height:21px; }
.hospital-ingesta-board::after { opacity:.38; mask-image:radial-gradient(ellipse at 58% 50%,#000 18%,rgba(0,0,0,.58) 50%,transparent 84%); -webkit-mask-image:radial-gradient(ellipse at 58% 50%,#000 18%,rgba(0,0,0,.58) 50%,transparent 84%); }
.sol-teams-section .hospital-team-cards { background:transparent !important; box-shadow:none !important; filter:none !important; }
@media (min-width:851px){.hospital-risk-card{top:400px}.hospital-missing-data{top:439px}.hospital-waste-card{top:581px}}
@media (max-width:1120px) and (min-width:851px){.hospital-risk-card{top:390px}.hospital-missing-data{top:427px}.hospital-waste-card{top:560px}}

/* Workflow: Skeal green and a clearly visible mountain field. */
.sol-workflow { background:linear-gradient(120deg,rgba(0,19,45,.62),rgba(6,68,76,.42)),url("assets/mountain-bg.jpg") center/cover !important; }
.sol-workflow::before { background:linear-gradient(90deg,rgba(0,19,45,.05),rgba(14,120,92,.08)) !important; }
.sol-workflow .sol-kicker,.sol-workflow .sol-kicker.tone-green,.sol-workflow h2 .accent-green,.sol-workflow .sol-step-n { color:#1DD969 !important; }
.sol-workflow .sol-kicker::before,.sol-workflow .sol-kicker::after { background:#1DD969 !important; }

/* Hospital reference composition — follows the approved hospital layouts.
   The grid, layered media frames and overlap are structural; all text stays
   in its original order and the Skeal tokens remain the source of styling. */
.sol-ingesta-section { overflow:hidden; padding-bottom:clamp(90px,10vw,146px); }
.sol-ingesta-section::after { content:""; position:absolute; z-index:-1; left:46%; right:-14vw; top:210px; bottom:-40px; opacity:.62; background-image:linear-gradient(rgba(25,65,93,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(25,65,93,.10) 1px,transparent 1px); background-size:108px 108px; pointer-events:none; }
.sol-ingesta-section .sol-section-head { max-width:570px; }
.sol-ingesta-section .sol-section-head h2 { color:#000; font-size:clamp(34px,3.6vw,51px); }
.hospital-evidence-layout { position:relative; display:grid; grid-template-columns:minmax(340px,.92fr) minmax(235px,.68fr) minmax(340px,.92fr); align-items:center; column-gap:34px; row-gap:24px; margin-top:44px; min-height:390px; }
.hospital-evidence-card { border-radius:var(--r-xl); box-shadow:var(--shadow); }
.hospital-evidence-card--intake { align-self:start; padding:31px 36px 26px; background:#fff; border:1px solid rgba(28,142,244,.27); }
.hospital-evidence-number { color:#f11118; font:800 clamp(42px,4.4vw,62px)/1 var(--display); letter-spacing:-.06em; }
.hospital-evidence-bar { height:12px; overflow:hidden; margin:20px 0 20px; border-radius:999px; background:#eef1f0; }.hospital-evidence-bar span { display:block; width:50%; height:100%; border-radius:inherit; background:#f11118; }
.hospital-evidence-card--intake p { margin:0; color:var(--ink); font:700 16px/1.32 var(--body); }
.hospital-evidence-copy { align-self:center; padding-top:54px; }.hospital-evidence-copy .sol-kicker { font-size:12px; }.hospital-evidence-copy h3 { margin:18px 0 0; color:#000; font:800 clamp(26px,2.35vw,36px)/1.1 var(--display); letter-spacing:-.045em; }.hospital-evidence-copy h3 span { color:var(--green); }.hospital-evidence-copy > p:last-child { margin:13px 0 0; color:var(--muted); font-size:15px; line-height:1.45; }
.hospital-evidence-card--waste { grid-column:2 / 4; justify-self:start; width:min(100%,480px); padding:24px 32px 22px; border-radius:28px; background:linear-gradient(122deg,rgba(0,19,45,.94),rgba(8,63,76,.83)),url("assets/mountain-background.jpg") center/cover; }.hospital-waste-head { display:flex; gap:16px; align-items:flex-start; }.hospital-waste-head > span { display:grid; flex:0 0 34px; width:34px; height:34px; place-items:center; border-radius:10px; background:var(--blue); color:var(--navy); font-size:26px; line-height:1; }.hospital-waste-head p { margin:0; color:#fff; font:700 16px/1.25 var(--body); }.hospital-waste-metric { display:flex; align-items:baseline; gap:11px; margin-top:22px; }.hospital-waste-metric strong { color:var(--green); font:800 clamp(35px,3.7vw,52px)/1 var(--display); letter-spacing:-.06em; }.hospital-waste-metric span { color:rgba(255,255,255,.88); font-size:14px; line-height:1.2; }

.sol-teams-section { padding-top:clamp(82px,9vw,130px); }.sol-teams-section .sol-section-head { margin-inline:auto; max-width:680px; text-align:center; }.sol-teams-section .sol-section-head p { margin-inline:auto; }.sol-teams-section .sol-kicker { justify-content:center; }.sol-teams-section .hospital-team-cards { max-width:940px; margin:42px auto 0; padding:40px 46px 58px; background:linear-gradient(100deg,rgba(230,247,239,.50),rgba(255,255,255,.25)); }.sol-teams-section .stat-c { background:rgba(255,255,255,.94); border-color:rgba(225,234,237,.9); border-radius:28px; box-shadow:0 20px 28px rgba(12,47,68,.12); }.sol-teams-section .stat-c:hover { transform:translateY(-3px); }.sol-teams-section .sol-icon { font-size:15px; }

/* White explanatory frame overlaps a live image carousel. */
.sol-nutrition-story { padding-top:clamp(92px,11vw,154px); overflow:hidden; }.sol-nutrition-story::before { content:""; position:absolute; left:-2vw; bottom:2vw; width:260px; height:260px; opacity:.34; background:url("assets/ai-scales.png") center/contain no-repeat; pointer-events:none; }
.hospital-product-flow { position:relative; display:grid; grid-template-columns:minmax(460px,.96fr) minmax(400px,.82fr); gap:0; align-items:center; max-width:1060px; margin-inline:auto; }.hospital-product-flow .prod-card { position:relative; z-index:3; min-height:0; padding:clamp(38px,4vw,58px) clamp(36px,4vw,58px); border-radius:28px; }.hospital-product-flow .prod-card.white { background:rgba(255,255,255,.95); border-color:rgba(28,142,244,.28); }.hospital-product-flow .prod-card h2 { color:#000; font-size:clamp(29px,3.1vw,42px); }.hospital-product-flow .prod-card > p:not(.sol-kicker):not(.sol-panel-highlight) { font-size:16px; }.hospital-product-flow .sol-list { gap:10px; }.hospital-product-flow .sol-list li { font-size:13.5px; }
.hospital-product-stage { position:relative; z-index:2; min-height:430px; margin:0 0 0 -122px; overflow:visible; }.hospital-stage-ghost { position:absolute; display:block; width:265px; height:310px; border:1px solid rgba(28,142,244,.25); border-radius:24px; background:rgba(255,255,255,.36); }.hospital-stage-ghost--one { top:25px; right:34px; }.hospital-stage-ghost--two { top:56px; right:4px; }.hospital-stage-dashboard { position:absolute; right:-60px; top:76px; width:330px; height:284px; object-fit:cover; object-position:left center; border-radius:18px; background:#fff; box-shadow:var(--shadow); }.hospital-photo-carousel { position:absolute; z-index:3; top:0; right:90px; width:304px; height:456px; overflow:hidden; border-radius:24px; box-shadow:0 18px 38px rgba(8,43,60,.18); background:#e8eef0; }.hospital-photo-carousel img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; opacity:0; animation:hospitalCarousel 15s infinite; }.hospital-photo-carousel img:nth-child(1) { animation-delay:0s; }.hospital-photo-carousel img:nth-child(2) { animation-delay:5s; }.hospital-photo-carousel img:nth-child(3) { animation-delay:10s; }
@keyframes hospitalCarousel { 0%, 28% { opacity:1; transform:translateY(0) scale(1); } 33%, 95% { opacity:0; transform:translateY(-14px) scale(.985); } 100% { opacity:1; transform:translateY(0) scale(1); } }

.sol-performance-story { padding-top:clamp(98px,12vw,172px); padding-bottom:clamp(100px,12vw,166px); overflow:hidden; }.sol-performance-story::after { content:""; position:absolute; z-index:-1; right:-8vw; bottom:-100px; width:48vw; height:50vw; opacity:.48; background-image:linear-gradient(rgba(25,65,93,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(25,65,93,.10) 1px,transparent 1px); background-size:108px 108px; }.prod-flow--portal.hospital-product-flow { grid-template-columns:minmax(400px,.82fr) minmax(460px,.96fr); gap:0; }.hospital-product-stage--portal { min-height:465px; margin:0 -118px 0 0; }.hospital-product-stage--portal .hospital-stage-ghost--one { left:12px; right:auto; top:30px; }.hospital-product-stage--portal .hospital-stage-ghost--two { left:43px; right:auto; top:60px; }.hospital-portal-shot { position:absolute; z-index:3; top:64px; left:0; width:408px; height:334px; object-fit:cover; object-position:center; border-radius:20px; background:#fff; box-shadow:var(--shadow); }.prod-flow--portal.hospital-product-flow .prod-card { min-height:470px; justify-content:center; border-radius:28px; background:linear-gradient(123deg,rgba(0,19,45,.96),rgba(11,72,80,.88)),url("assets/mountain-background.jpg") center/cover; }.prod-flow--portal.hospital-product-flow .prod-card h2 { color:#fff; }.prod-flow--portal.hospital-product-flow .prod-card .sol-list { grid-template-columns:1fr; }.prod-flow--portal.hospital-product-flow .sol-panel-highlight { padding-top:8px; font-size:16px; line-height:1.35; }

@media (max-width:850px){
  .sol-ingesta-section { padding-bottom:82px; }.sol-ingesta-section::after { left:25%; top:300px; background-size:76px 76px; }
  .hospital-evidence-layout { display:flex; flex-direction:column; align-items:stretch; min-height:0; gap:24px; margin-top:30px; }.hospital-evidence-card--intake { padding:26px; }.hospital-evidence-copy { padding:8px 8px 0; }.hospital-evidence-card--waste { width:100%; padding:24px; }
  .sol-teams-section .hospital-team-cards { padding:24px 18px; margin-top:30px; }.sol-teams-section .stat-c { padding:26px; }
  .sol-nutrition-story { padding-top:94px; }.sol-nutrition-story::before { left:-70px; bottom:-80px; width:210px; height:210px; }.hospital-product-flow,.prod-flow--portal.hospital-product-flow { display:flex; flex-direction:column; gap:30px; }.hospital-product-flow .prod-card { width:100%; padding:30px 25px; }.hospital-product-stage,.hospital-product-stage--portal { width:min(100%,370px); min-height:390px; margin:0; }.hospital-stage-ghost { width:225px; height:270px; }.hospital-stage-ghost--one { top:24px; right:2px; }.hospital-stage-ghost--two { top:50px; right:-18px; }.hospital-stage-dashboard { top:82px; right:-22px; width:248px; height:220px; }.hospital-photo-carousel { top:0; right:48px; width:252px; height:378px; }.prod-flow--portal.hospital-product-flow .hospital-product-stage { order:2; }.prod-flow--portal.hospital-product-flow .prod-card { order:1; min-height:0; }.hospital-product-stage--portal .hospital-stage-ghost--one { left:8px; }.hospital-product-stage--portal .hospital-stage-ghost--two { left:31px; }.hospital-portal-shot { top:62px; left:0; width:300px; height:265px; }.prod-flow--portal.hospital-product-flow .prod-card { padding:32px 25px; }
}

/* Final hospital media and mobile rail refinements. */
@media (min-width:851px){
  .sol-teams-section { padding-top:calc(clamp(82px,9vw,130px) - 20px); }
  .hospital-product-flow:not(.prod-flow--portal) { width:min(100%,900px); grid-template-columns:565px 335px; }
  .hospital-product-flow:not(.prod-flow--portal) .prod-card { width:565px; padding:40px 32px; }
  .hospital-product-flow:not(.prod-flow--portal) .hospital-product-shot { z-index:5; width:360px; height:400px; margin-left:-108px; }
  .hospital-product-flow:not(.prod-flow--portal) .hospital-photo-carousel { z-index:8; right:26px; width:266px; height:400px; }
  .hospital-product-flow:not(.prod-flow--portal) .hospital-photo-carousel img { animation-name:hospital-photo-pair !important; animation-fill-mode:none !important; object-fit:cover; object-position:center; }
  .hospital-product-flow:not(.prod-flow--portal) .hospital-photo-carousel img:nth-child(1) { animation-delay:0s !important; }
  .hospital-product-flow:not(.prod-flow--portal) .hospital-photo-carousel img:nth-child(2) { animation-delay:7.5s !important; }
  .prod-flow--portal.hospital-product-flow .hospital-product-shot { width:420px; margin-right:-138px; }
  .prod-flow--portal.hospital-product-flow .hospital-product-shot img { width:410px; height:332px; object-fit:cover; object-position:25% center; }
  .sol-nutrition-story::before { z-index:1; left:-95px; bottom:24px; width:330px; height:330px; opacity:.42; }
  .sol-nutrition-story .hospital-product-flow { z-index:2; }
}
@keyframes hospital-photo-pair { 0%, 46% { opacity:1; transform:translateY(0) scale(1); } 50%, 96% { opacity:0; transform:translateY(-12px) scale(.988); } 100% { opacity:1; transform:translateY(0) scale(1); } }
.hospital-product-flow:not(.prod-flow--portal) .hospital-photo-carousel img { animation-name:hospital-photo-pair !important; animation-fill-mode:none !important; object-fit:cover; }
.hospital-product-flow:not(.prod-flow--portal) .hospital-photo-carousel img:nth-child(1) { animation-delay:0s !important; }
.hospital-product-flow:not(.prod-flow--portal) .hospital-photo-carousel img:nth-child(2) { animation-delay:7.5s !important; }
@media (max-width:850px){
  .sol-teams-section { padding-top:62px; overflow:hidden; }
  .sol-teams-section .hospital-team-cards { display:flex; width:100vw; max-width:none; margin:30px 0 0; padding:12px calc((100vw - 78vw) / 2) 28px; gap:16px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-padding-inline:11vw; background:transparent !important; scrollbar-width:none; }
  .sol-teams-section .hospital-team-cards::-webkit-scrollbar { display:none; }
  .sol-teams-section .stat-c { flex:0 0 78vw; min-height:258px; padding:27px; scroll-snap-align:center; border-radius:28px; }
  .sol-teams-section .stat-c h3 { font-size:24px; line-height:1.1; }.sol-teams-section .stat-c p { font-size:16px; line-height:1.48; }
  .sol-nutrition-story { overflow:visible; }.sol-nutrition-story::before { z-index:1; left:50%; bottom:-30px; width:290px; height:290px; opacity:.42; transform:translateX(-50%); background-position:center; }
  .sol-nutrition-story .hospital-product-flow { z-index:2; }
  .hospital-product-flow:not(.prod-flow--portal) .hospital-photo-carousel { width:270px; height:378px; right:34px; }
}

/* Final source-format overrides. These deliberately follow legacy hospital
   rules so portrait and landscape assets cannot be forced into one frame. */
@media (min-width:851px){
  .hospital-ingesta-board::after { opacity:.48; }
  .sol-nutrition-story::before { left:47%; bottom:-104px; opacity:.20; }
  .hospital-product-flow:not(.prod-flow--portal) .hospital-product-shot { width:470px; height:456px; margin-left:-138px; }
  .hospital-product-flow:not(.prod-flow--portal) .hospital-photo-carousel { top:0; right:0; width:470px; height:456px; overflow:visible; background:transparent; box-shadow:none; border-radius:0; }
  .hospital-product-flow:not(.prod-flow--portal) .hospital-carousel-slide--portrait { top:0; right:110px; width:304px; height:456px; }
  .hospital-product-flow:not(.prod-flow--portal) .hospital-carousel-slide--landscape { top:84px; right:0; width:440px; height:276px; }
  .prod-flow--portal.hospital-product-flow .hospital-product-shot img { left:-15px; width:442px; height:332px; }
}

/* The portrait and landscape panels share the same 15-second cycle. Using
   explicit complementary phases prevents the inactive image flashing behind
   the foreground panel during its delay. */
.hospital-carousel-slide { animation:none; }
.hospital-carousel-slide--portrait { animation:hospital-carousel-portrait 15s infinite; }
.hospital-carousel-slide--landscape { animation:hospital-carousel-landscape 15s infinite; }
@keyframes hospital-carousel-portrait {
  0%,46% { opacity:1; transform:translateY(0) scale(1); }
  50%,100% { opacity:0; transform:translateY(-12px) scale(.988); }
}
@keyframes hospital-carousel-landscape {
  0%,46% { opacity:0; transform:translateY(12px) scale(.988); }
  50%,96% { opacity:1; transform:translateY(0) scale(1); }
  100% { opacity:0; transform:translateY(-12px) scale(.988); }
}

/* Hospital desktop composition — one precise overlap per section.
   This intentionally wins over the earlier exploratory hospital rules. */
@media (min-width:851px){
  /* Nutrition: keep the reading column clear; the live media only enters the
     right edge of the white card, as in the supplied composition. */
  .hospital-product-flow:not(.prod-flow--portal) {
    width:min(100%,1000px);
    grid-template-columns:590px 410px;
    align-items:center;
  }
  .hospital-product-flow:not(.prod-flow--portal) .prod-card {
    width:590px;
    padding:42px 38px;
  }
  .hospital-product-flow:not(.prod-flow--portal) .prod-card > p:not(.sol-kicker):not(.sol-panel-highlight),
  .hospital-product-flow:not(.prod-flow--portal) .prod-card .sol-list {
    max-width:380px;
  }
  .hospital-product-flow:not(.prod-flow--portal) .hospital-product-shot {
    position:relative;
    z-index:5;
    width:470px;
    height:456px;
    margin-left:-118px;
  }
  .hospital-product-flow:not(.prod-flow--portal) .hospital-photo-carousel {
    position:absolute;
    z-index:8;
    top:0;
    left:0;
    right:auto;
    width:470px;
    height:456px;
    overflow:visible;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }
  .hospital-product-flow:not(.prod-flow--portal) .hospital-carousel-slide--portrait {
    top:0;
    left:50px;
    right:auto;
    width:304px;
    height:456px;
  }
  .hospital-product-flow:not(.prod-flow--portal) .hospital-carousel-slide--landscape {
    top:80px;
    left:0;
    right:auto;
    width:440px;
    height:275px;
  }

  /* Performance: the full-width dashboard crosses into the navy panel instead
     of sitting beside it. Its source ratio is preserved, with the requested
     additional 15 px on both sides of the earlier frame. */
  .prod-flow--portal.hospital-product-flow {
    width:min(100%,1000px);
    grid-template-columns:410px 590px;
    align-items:center;
  }
  .prod-flow--portal.hospital-product-flow .hospital-product-shot {
    position:relative;
    z-index:5;
    width:470px;
    height:456px;
    margin-right:-60px;
    overflow:visible;
  }
  .prod-flow--portal.hospital-product-flow .hospital-product-shot img {
    position:absolute;
    z-index:3;
    top:78px;
    left:15px;
    right:auto;
    width:472px;
    height:295px;
    min-height:0;
    object-fit:cover;
    object-position:center;
    border-radius:20px;
  }
  .prod-flow--portal.hospital-product-flow .prod-card {
    width:590px;
    min-height:470px;
  }
}

/* Hospital final alignment pass: retain the layered composition while keeping
   every functional visual and every line of copy in its own space. */
@media (min-width:851px){
  /* The process illustration belongs in the left-side breathing space between
     the two product sections. It is fully contained rather than cropped. */
  .sol-nutrition-story::before {
    left:0;
    bottom:0;
    width:330px;
    height:330px;
    opacity:.18;
    transform:none;
    background-position:center;
    background-size:contain;
  }

  /* The portal remains slightly over the navy edge, but no longer enters the
     readable column of the performance card. */
  .prod-flow--portal.hospital-product-flow .hospital-product-shot img {
    left:-20px;
  }
  .prod-flow--portal.hospital-product-flow .prod-card {
    padding-left:64px;
  }
}

/* CTA uses the exact Skeal green and a centred action row. */
.sol-cta-box .tone-green,
.sol-cta-box h2 .accent-green { color:#1DD969; }
.sol-cta-box .sol-solution-actions {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  margin-top:clamp(26px,3vw,38px);
}
.sol-cta-box .sol-solution-actions .btn { margin-top:0; }
.sol-workflow .sol-step h3 { color:#fff !important; }

/* Senior page refinements from the latest visual review. */
.sol-page .sol-solution-hero.hero-sector.hero-sector--senior .sol-solution-h1 { max-width:20ch; white-space:normal; font-size:clamp(33px,3.05vw,44px); line-height:1.04; letter-spacing:-.07em; }
.hero-sector--senior .sol-solution-h1 .hl { display:inline; white-space:normal; text-decoration-line:underline; text-decoration-color:#1DD969; text-decoration-thickness:6px; text-underline-offset:7px; }
.sol-page .sol-solution-hero.hero-sector.hero-sector--senior .senior-title-second { display:inline; white-space:normal; }
.hero-sector--senior .sol-solution-h1 .hl::after { display:none; }
.sol-page .sol-solution-hero.hero-sector {
  isolation:isolate;
  background:
    radial-gradient(88% 104% at 75% 39%, rgba(255,255,255,.70) 0%, rgba(255,255,255,.28) 38%, transparent 76%),
    radial-gradient(112% 106% at 7% 8%, rgba(29,217,105,.98) 0%, rgba(29,217,105,.80) 43%, rgba(29,217,105,.34) 73%, transparent 100%),
    linear-gradient(180deg, #1dd969 0%, rgba(29,217,105,.58) 57%, rgba(244,246,243,0) 100%) !important;
}
.sol-page .sol-solution-hero.hero-sector--hospital {
  background:
    radial-gradient(88% 104% at 75% 39%, rgba(255,255,255,.70) 0%, rgba(255,255,255,.28) 38%, transparent 76%),
    radial-gradient(112% 106% at 7% 8%, rgba(28,142,244,.98) 0%, rgba(28,142,244,.80) 43%, rgba(28,142,244,.34) 73%, transparent 100%),
    linear-gradient(180deg, #1c8ef4 0%, rgba(28,142,244,.58) 57%, rgba(244,246,243,0) 100%) !important;
}
.sol-page .sol-solution-hero.hero-sector--school {
  background:
    radial-gradient(88% 104% at 75% 39%, rgba(255,255,255,.70) 0%, rgba(255,255,255,.28) 38%, transparent 76%),
    radial-gradient(112% 106% at 7% 8%, rgba(240,180,41,.98) 0%, rgba(240,180,41,.80) 43%, rgba(240,180,41,.34) 73%, transparent 100%),
    linear-gradient(180deg, #f0b429 0%, rgba(240,180,41,.58) 57%, rgba(244,246,243,0) 100%) !important;
}
@media (max-width:1020px) {
  .sol-page .sol-solution-hero.hero-sector--senior {
    background:radial-gradient(110% 65% at 55% 30%, rgba(255,255,255,.54), transparent 70%), linear-gradient(180deg, #1dd969 0%, rgba(29,217,105,.56) 56%, rgba(244,246,243,0) 96%) !important;
  }
  .sol-page .sol-solution-hero.hero-sector--hospital {
    background:radial-gradient(110% 65% at 55% 30%, rgba(255,255,255,.54), transparent 70%), linear-gradient(180deg, #1c8ef4 0%, rgba(28,142,244,.56) 56%, rgba(244,246,243,0) 96%) !important;
  }
  .sol-page .sol-solution-hero.hero-sector--school {
    background:radial-gradient(110% 65% at 55% 30%, rgba(255,255,255,.54), transparent 70%), linear-gradient(180deg, #f0b429 0%, rgba(240,180,41,.56) 56%, rgba(244,246,243,0) 96%) !important;
  }
}
.senior-ingesta-board .hospital-risk-card p { font-weight:400; }
.senior-ingesta-board .hospital-risk-card p strong { font-weight:700; }
.senior-ingesta-board .hospital-missing-data { width:420px; }
.senior-ingesta-board .hospital-missing-data h3 { font-size:26px; }
.senior-ingesta-board .hospital-waste-main { gap:18px; }
.senior-ingesta-board .hospital-waste-main b { margin-left:8px; }
.senior-ingesta-board .hospital-waste-foot { max-width:340px; white-space:normal; }
.senior-nutrition-note { color:var(--ink) !important; font-weight:400 !important; }
.senior-nutrition-note strong { color:var(--green-ink); font-weight:700; }
.senior-ingesta-board .hospital-ingesta-intro strong { font-weight:700; color:inherit; }
.senior-ingesta-board .hospital-waste-foot strong { font-weight:700; color:inherit; }
.sol-performance-story .sol-kicker.tone-blue { color:#80c8ff !important; }
.sol-performance-story .sol-kicker.tone-blue::before,
.sol-performance-story .sol-kicker.tone-blue::after { background:#80c8ff !important; }
.school-ingesta-board .hospital-waste-foot { max-width:330px; white-space:normal; line-height:1.35; }
.school-ingesta-board .school-risk-context { color:var(--ink); font:600 12px/1.2 var(--body); align-self:center; max-width:78px; }
.school-ingesta-board .hospital-waste-main b { font-size:38px; white-space:nowrap; }
.school-ingesta-board .hospital-risk-card small { display:block; line-height:1.35; }
.school-ingesta-board .hospital-risk-card small a { color:inherit; text-decoration:underline; text-underline-offset:2px; }
.mobile-swipe-hint { display:none; }
.senior-workflow-legend { margin:20px 0 0; color:rgba(255,255,255,.66); font-size:12px; line-height:1.45; }
.senior-workflow-legend sup { color:#1DD969; font-weight:800; }
@media (min-width:1021px) {
  .sol-page.sol-senior-page > main > .sol-solution-hero .hero-visual,
  .sol-page.pricing-page > main > .sol-solution-hero .hero-copy,
  .sol-page.pricing-page > main > .sol-solution-hero .hero-visual { translate:0 106px; }
  .sol-page.sol-senior-page > main > .sol-solution-hero .hero-copy { translate:0 86px; }
  .sol-page.sol-senior-page > main > .sol-solution-hero .hero-visual { translate:0 126px; }
  .sol-page.sol-senior-page > main > .sol-solution-hero.hero-sector { padding-bottom:132px; }
  .sol-page.pricing-page > main > .sol-solution-hero { padding-bottom:128px; }
}
.video-play-icon { display:inline-flex; width:16px; height:16px; margin-right:8px; align-items:center; justify-content:center; vertical-align:-3px; }
.video-play-icon svg { display:block; width:16px; height:16px; fill:currentColor; stroke:currentColor; stroke-width:1.2; stroke-linejoin:round; }
@media (min-width:851px){
  .sol-senior-page .sol-teams-section .hospital-team-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sol-school-page .sol-teams-section .hospital-team-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .senior-ingesta-board .hospital-waste-card { top:640px; }
}
@media (max-width:1120px) and (min-width:851px){
  .senior-ingesta-board .hospital-waste-card { top:618px; }
}
@media (max-width:600px){
  .sol-page .sol-solution-hero.hero-sector.hero-sector--senior .sol-solution-h1 { max-width:100%; white-space:normal; font-size:clamp(30px,8.2vw,36px); letter-spacing:-.07em; }
  .sol-page .sol-solution-hero.hero-sector.hero-sector--senior .senior-title-second { display:inline; width:auto; white-space:normal !important; }
  .sol-senior-page .mobile-swipe-hint,
  .sol-school-page .mobile-swipe-hint,
  .sol-hospital-page .mobile-swipe-hint { display:block; width:100%; margin:14px auto -10px; color:var(--blue-ink); font-size:13px; font-weight:700; text-align:center; }
  .senior-ingesta-board .hospital-missing-data { width:auto; }
  .senior-ingesta-board .hospital-waste-foot { max-width:none; }
}
