/* Content review V1-FL: preserve the established brand and motion. */
.hero .hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px;max-width:570px}
.hero-explore-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}
.hero .hero-explore-links .text-link{width:100%;min-height:58px;padding:13px 17px;font-size:15px;gap:12px;justify-content:space-between}
.hero .hero-explore-links .cta-icon{width:28px;height:28px;flex-shrink:0}
.hero .hero-explore-links .cta-label{flex:0 0 auto;max-width:calc(100% - 40px)}
.hero .hero-actions>.button{min-height:58px}
/* Size the transition to the artwork instead of reserving a second empty screen. */
.hero{--hero-transition-space:clamp(110px,12svh,170px);min-height:calc(clamp(660px,76svh,850px) + var(--hero-transition-space))}
.hero-content{padding-bottom:70px}

/* Six selectable stages lead to the seventh, persistent outcome. */
.journey.scroll-journey{height:360svh;min-height:2100px}
.journey-content,.scroll-journey .journey-content{grid-template-rows:auto auto 145px minmax(100px,1fr) auto auto;gap:10px}
.scroll-journey .journey-pin{padding:22px 0 25px}
.journey-headings,.scroll-journey .journey-headings{height:145px;display:block}
.journey-panel{position:absolute;inset:0;visibility:hidden;opacity:0;transform:translateY(14px);transition:opacity .35s,transform .45s,visibility .35s}
.journey-panel.active{opacity:1;visibility:visible;transform:none}
.journey-panel h2{font-size:var(--journey-title)}
.journey-panel p{max-width:900px;margin-top:12px}
.journey-steps{display:flex;justify-content:center;gap:8px;max-width:100%;position:relative}
.journey-steps button{display:flex;gap:8px;align-items:center;justify-content:center;min-width:48px;min-height:42px;padding:8px 14px;border:1px solid #b6c7e3;border-radius:24px;color:#2a4a83;background:#fff;font:inherit;font-size:13px;transition:background .25s,border-color .25s,box-shadow .25s}
.journey-steps button>span:first-child{font-size:11px;font-variant-numeric:tabular-nums;font-weight:700;opacity:1}
.journey-steps button[aria-pressed=true]{color:#fff;background:#2a4a83;border-color:#2a4a83;box-shadow:0 4px 20px #7e94f43d}
.journey-steps button:focus-visible{outline:3px solid #48bf91;outline-offset:3px}
.journey-outcome .outcome-number{font-weight:700;display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;font-size:15px;letter-spacing:0;width:43px;height:43px;border:1px solid #48bf9170;border-radius:50%;margin-right:9px;background:#edf9f3;color:#26785b}
.journey-outcomes{list-style:none;display:flex;align-items:stretch;justify-content:center;gap:12px;padding:0;margin:4px 0 0}
.journey-outcomes li{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 21px;background:#fff;border:1px solid #b8c9e3;border-radius:26px;font-size:15px;line-height:1.45;color:#2a4a83}
#approach[data-illustration="2"] .journey-model canvas{filter:drop-shadow(0 0 2px #fffffff0) drop-shadow(0 8px 6px #2a4a8345)}

/* More detailed copy is allowed to wrap at a readable size. */
.service-grid h3{font-size:clamp(21px,1.65vw,27px);line-height:1.35}
.service-grid p{line-height:1.8}
.services .section-head>p{max-width:70ch}
.product details .product-extra p{line-height:1.8}
.spotlight{align-items:start}
.spot-demo{align-self:start;position:sticky;top:calc(var(--header-h) + 24px);padding-top:18px}
.sut-overview{display:grid;grid-template-columns:minmax(110px,.65fr) minmax(0,1.35fr);align-items:center;gap:24px;margin:25px 0}
.sut-booklet{display:block;width:100%;max-width:220px;height:auto;filter:drop-shadow(0 18px 20px #091e3a35)}
.sut-overview .sut-benefits{margin:0;font-size:15px}
.sut-overview .sut-benefits li{margin:0 0 16px}
.sut-overview .sut-benefits li:last-child{margin-bottom:0}
.sut-team-heading{font-size:23px;line-height:1.35;letter-spacing:-.025em;color:white;margin:27px 0 13px}
.sut-strengths{list-style:none;display:flex;flex-wrap:wrap;gap:9px;padding:0;margin:25px 0 30px}
.sut-strengths li{font-size:13px;line-height:1.5;color:#f2f7ff;border:1px solid #93b7d55e;background:#ffffff09;border-radius:20px;padding:8px 13px}
.spot-demo .stage-explanation{min-height:0}

@media(min-width:1900px){
 .journey-content,.scroll-journey .journey-content{grid-template-rows:auto auto 170px minmax(160px,1fr) auto auto;gap:14px}
 .journey-headings,.scroll-journey .journey-headings{height:170px}
 .journey-steps button{font-size:15px;padding:10px 20px}.journey-outcomes li{font-size:18px}
}
@media(max-width:1100px){
 .hero .hero-actions{max-width:530px}.hero .hero-explore-links .text-link{font-size:14px;padding:12px 15px}
 .journey-steps button{padding:8px 11px;font-size:12px}
 .sut-overview{gap:18px;grid-template-columns:110px minmax(0,1fr)}
}
@media(max-width:950px){
 .hero .hero-actions{max-width:570px}.hero .hero-explore-links .text-link{font-size:15px}
 .hero{--hero-transition-space:120px;--hero-visual-space:455px;min-height:0}
 .hero-content{padding-bottom:calc(var(--hero-visual-space) + 24px)}
 .hero-art,.hero-constellation{height:var(--hero-visual-space);bottom:calc(var(--hero-transition-space) + 8px)}
 .journey-content,.scroll-journey .journey-content{grid-template-rows:auto auto 130px minmax(110px,1fr) auto auto;gap:9px}
 .journey-headings,.scroll-journey .journey-headings{height:130px}
 .journey-panel p{font-size:17px;max-width:660px}.journey-steps .step-label{display:none}
 .journey-steps button{width:44px;height:42px;padding:8px;min-width:0}.journey-steps button>span:first-child{font-size:13px}
 .spot-demo{position:relative;top:auto;padding-top:0;max-width:680px}
 .sut-overview{grid-template-columns:150px minmax(0,1fr);max-width:700px}
}
@media(max-width:650px){
 .hero .hero-actions{max-width:350px;gap:13px}.hero-explore-links{grid-template-columns:1fr;gap:13px}
 .hero .hero-explore-links .text-link{font-size:16px;min-height:58px;padding:14px 23px}
 .hero .hero-actions>.button{width:100%;justify-content:space-between}
 .hero{--hero-transition-space:90px;--hero-visual-space:clamp(280px,84.6vw,425px)}
 .journey.scroll-journey{height:360svh;min-height:2100px}
 .scroll-journey .journey-pin{padding:17px 0 20px}
 .journey-content,.scroll-journey .journey-content{grid-template-rows:14px 40px 134px minmax(90px,1fr) 54px auto;gap:10px;align-content:stretch}
 .journey-headings,.scroll-journey .journey-headings{height:134px}
 .journey-steps{gap:6px}.journey-steps button{width:40px;min-height:40px;height:40px}
 .journey-panel p{font-size:15px;line-height:1.65;margin-top:12px}
 .journey-outcome .outcome-number{width:32px;height:32px;font-size:12px;margin-right:4px}
 .journey-outcomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:6px;margin:0}
 .journey-outcomes li{font-size:12px;padding:8px 7px;min-height:54px;border-radius:17px}
 .service-grid h3{font-size:25px}.service-grid p{font-size:16px}
 .sut-overview{grid-template-columns:1fr;gap:23px}.sut-booklet{max-width:180px;margin:0 auto}
 .sut-overview .sut-benefits{font-size:15px}.sut-strengths{gap:8px}.sut-strengths li{font-size:12px;padding:8px 11px}
}
@media(max-height:750px) and (min-height:600px){
 .scroll-journey .journey-pin{padding-top:12px;padding-bottom:14px}
 .journey-content,.scroll-journey .journey-content{grid-template-rows:0px 36px 115px minmax(65px,1fr) 46px auto;gap:6px}
 .journey-headings,.scroll-journey .journey-headings{height:115px}
 .journey-panel h2,.journey-outcome{font-size:38px}.journey-panel p{font-size:14px}
 .journey .eyebrow{visibility:hidden}.journey-steps button{min-height:36px;height:36px}
 .journey-outcomes li{min-height:44px;padding-top:6px;padding-bottom:6px;font-size:12px}
}
/* Without scroll animation, keep every stage reachable by its button. */
.journey:not(.scroll-journey) .journey-content{grid-template-rows:auto auto 150px 250px auto auto;height:auto}
.journey:not(.scroll-journey) .journey-headings{height:150px}
.journey:not(.scroll-journey) .journey-panel{position:absolute!important;opacity:0!important;visibility:hidden!important;transform:none!important}
.journey:not(.scroll-journey) .journey-panel.active{opacity:1!important;visibility:visible!important}
@media(prefers-reduced-motion:reduce){
 .journey-steps button,.journey-panel{transition:none}.journey-steps{display:flex}
 .journey .eyebrow{visibility:visible}
}
