:root {
  --sol-ink: #03111c;
  --sol-navy: #041b2a;
  --sol-blue: #0b8fe8;
  --sol-cyan: #18e5ff;
  --sol-green: #95e227;
  --sol-paper: #f4f9fb;
  --sol-line: rgba(18, 120, 174, .18);
}

.page-solutions { overflow-x: hidden; color: var(--sol-ink); background: #02080d; }
.page-solutions main { overflow: clip; }
.page-solutions .sol-scroll-scene { position: relative; height: 300svh; }
.page-solutions .sol-stage { position: sticky; top: 0; min-height: 100svh; overflow: hidden; isolation: isolate; }
.page-solutions .sol-tone-light { background: var(--sol-paper); }
.page-solutions .sol-tone-dark { background: #02090f; color: #fff; }
.page-solutions .sol-canvas { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; pointer-events: none; }
.page-solutions .sol-section-heading h2 { margin: 0; max-width: 12ch; font-size: 4.35rem; line-height: .98; letter-spacing: 0; }
.page-solutions .sol-section-heading h3 { margin: 22px 0 0; font-size: 1.28rem; line-height: 1.25; letter-spacing: 0; }
.page-solutions .sol-section-heading > p:not(.eyebrow) { max-width: 650px; margin: 14px 0 0; font-size: 1rem; line-height: 1.58; }
.page-solutions .sol-tone-dark .eyebrow { color: var(--sol-cyan); }
.page-solutions .button-dark { color: #fff; border-color: var(--sol-ink); background: var(--sol-ink); }
.page-solutions .button-dark:hover { color: var(--sol-ink); background: var(--sol-green); }

/* Hero: the estate resolves into a commercial route as the page advances. */
.page-solutions .sol-hero { height: 360svh; background: #01070c; color: #fff; }
.page-solutions .sol-hero-stage { display: grid; align-items: center; }
.page-solutions .sol-hero-media,
.page-solutions .sol-hero-shade { position: absolute; inset: 0; margin: 0; }
.page-solutions .sol-hero-media { z-index: -3; transform: scale(var(--sol-hero-scale, 1.08)) translate3d(var(--sol-hero-image-x, 0), var(--sol-hero-image-y, 0), 0); }
.page-solutions .sol-hero-media img { width: 100%; height: 100%; object-fit: cover; }
.page-solutions .sol-hero-shade { z-index: -2; background: linear-gradient(90deg, rgba(1,8,14,.96) 0%, rgba(2,12,20,.82) 42%, rgba(3,15,25,.26) 72%, rgba(2,8,13,.52) 100%), linear-gradient(0deg, rgba(2,8,13,.84), transparent 48%); }
.page-solutions .sol-hero-lens { position:absolute; inset:0; z-index:-1; opacity:var(--sol-lens-opacity,.08); clip-path:circle(var(--sol-lens-size,110px) at var(--sol-lens-x,72%) var(--sol-lens-y,54%)); filter:saturate(1.28) brightness(1.2); pointer-events:none; }
.page-solutions .sol-hero-lens::before { content:""; position:absolute; left:calc(var(--sol-lens-x,72%) - var(--sol-lens-size,110px)); top:calc(var(--sol-lens-y,54%) - var(--sol-lens-size,110px)); width:calc(var(--sol-lens-size,110px) * 2); height:calc(var(--sol-lens-size,110px) * 2); border:1px solid rgba(24,229,255,.72); border-radius:50%; box-shadow:0 0 0 12px rgba(24,229,255,.06),0 0 55px rgba(24,229,255,.34),inset 0 0 42px rgba(24,229,255,.14); }
.page-solutions .sol-hero-lens img { width:100%; height:100%; object-fit:cover; transform:scale(var(--sol-hero-scale,1.08)) translate3d(var(--sol-hero-image-x,0),var(--sol-hero-image-y,0),0); }
.page-solutions .sol-hero-layout { position: relative; z-index: 3; display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(430px, .98fr); gap: 70px; align-items: center; min-height: 100svh; padding-top: 138px; padding-bottom: 92px; }
.page-solutions .sol-hero-copy { max-width: 760px; opacity: var(--sol-hero-copy-opacity, 1); transform: translate3d(0, var(--sol-hero-copy-y, 0), 0); }
.page-solutions .sol-hero-kicker { max-width: 610px; margin: 12px 0 22px; color: rgba(220,240,247,.72); font-size: .88rem; line-height: 1.5; }
.page-solutions .sol-hero h1 { margin: 0; max-width: 13ch; font-size: 4.65rem; line-height: .93; letter-spacing: 0; }
.page-solutions .sol-hero-narrative { display: grid; gap: 9px; max-width: 660px; margin-top: 24px; }
.page-solutions .sol-hero-narrative p { margin: 0; color: rgba(226,242,248,.78); font-size: .96rem; line-height: 1.5; opacity: var(--sol-hero-paragraph-opacity, .14); transform: translate3d(var(--sol-hero-paragraph-x, -28px), 0, 0); }
.page-solutions .sol-hero-narrative p:first-child { color: #fff; font-weight: 800; }
.page-solutions .sol-hero .hero-actions { margin-top: 28px; }
.page-solutions .sol-hero-field { position: relative; width: min(100%, 620px); aspect-ratio: 1; justify-self: end; perspective: 1000px; transform: translate3d(var(--sol-field-x, 72px), 0, var(--sol-field-z, -90px)) rotateY(var(--sol-field-ry, -13deg)); opacity: var(--sol-field-opacity, .12); }
.page-solutions .sol-hero-field::before { content: ""; position: absolute; inset: 11%; border: 1px solid rgba(24,229,255,.18); background: radial-gradient(circle at 50% 50%, rgba(24,229,255,.1), transparent 55%); clip-path: polygon(4% 18%, 76% 0, 100% 31%, 88% 89%, 16% 100%, 0 65%); }
.page-solutions .sol-hero-field svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.page-solutions .sol-hero-field path { fill: none; stroke: url(#none); stroke: var(--sol-cyan); stroke-width: 4; stroke-linecap: round; filter: drop-shadow(0 0 10px rgba(24,229,255,.82)); stroke-dasharray: var(--sol-field-length, 900); stroke-dashoffset: var(--sol-field-offset, 900); }
.page-solutions .sol-hero-field span { position: absolute; left: var(--x); top: var(--y); display: grid; grid-template-columns: 12px auto; gap: 9px; align-items: center; color: rgba(232,247,251,.78); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.page-solutions .sol-hero-field span i { width: 10px; height: 10px; border: 2px solid var(--sol-cyan); border-radius: 50%; box-shadow: 0 0 16px rgba(24,229,255,.72); background: #041825; }
.page-solutions .sol-hero-field span:nth-of-type(3) i { border-color: var(--sol-green); box-shadow: 0 0 16px rgba(149,226,39,.72); }
.page-solutions .sol-scroll-cue { position: absolute; z-index: 5; left: max(28px, calc((100vw - 1500px) / 2 + 34px)); bottom: 28px; display: flex; gap: 12px; align-items: center; color: rgba(229,243,248,.58); font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.page-solutions .sol-scroll-cue i { width: 64px; height: 2px; overflow: hidden; background: rgba(255,255,255,.2); }
.page-solutions .sol-scroll-cue i::after { content: ""; display: block; width: 50%; height: 100%; background: linear-gradient(90deg,var(--sol-cyan),var(--sol-green)); animation: sol-cue 1.8s ease-in-out infinite; }

/* Utility cost becomes an active control dial. */
.page-solutions .sol-utility { height: 250svh; }
.page-solutions .sol-utility-stage { display: grid; align-items: center; background: linear-gradient(130deg,#f8fcfd 0%,#edf7fa 100%); }
.page-solutions .sol-utility-stage::before { content: ""; position: absolute; z-index: 0; right: -8%; top: 6%; width: 58%; aspect-ratio: 1; border-radius: 50%; background: repeating-radial-gradient(circle,transparent 0 36px,rgba(6,132,198,.08) 37px 38px); transform: rotate(var(--sol-control-bg-r, 0deg)); }
.page-solutions .sol-utility-layout { position: relative; z-index: 3; display: grid; grid-template-columns: minmax(0, .88fr) minmax(320px, .56fr) minmax(390px, .74fr); gap: 64px; align-items: center; min-height: 100svh; padding-top: 130px; padding-bottom: 90px; }
.page-solutions .sol-utility-heading { opacity: var(--sol-utility-heading-opacity, .1); transform: translate3d(var(--sol-utility-heading-x, -54px),0,0); }
.page-solutions .sol-utility-copy { display: grid; gap: 18px; }
.page-solutions .sol-utility-copy p { margin: 0; color: #405d6a; font-size: 1.03rem; line-height: 1.64; opacity: var(--sol-utility-copy-opacity, .12); transform: translate3d(0,var(--sol-utility-copy-y,38px),0); }
.page-solutions .sol-utility-copy p:first-child { color: var(--sol-ink); font-size: 1.3rem; font-weight: 800; }
.page-solutions .sol-control-dial { position: relative; width: min(100%, 470px); aspect-ratio: 1; justify-self: end; display: grid; place-items: center; opacity: var(--sol-control-opacity, .12); transform: scale(var(--sol-control-scale, .78)) rotateX(var(--sol-control-rx, 16deg)) rotateY(var(--sol-control-ry,0deg)); perspective: 900px; }
.page-solutions .sol-control-ring { position: absolute; inset: 9%; border: 2px solid rgba(11,143,232,.28); border-radius: 50%; background: conic-gradient(from -80deg,transparent 0 14%,rgba(24,229,255,.75) 30%,rgba(149,226,39,.95) 43%,transparent 52%); mask: radial-gradient(circle,transparent 0 68%,#000 69% 72%,transparent 73%); filter: drop-shadow(0 0 16px rgba(24,229,255,.32)); }
.page-solutions .sol-control-ring::before,
.page-solutions .sol-control-ring::after { content: ""; position: absolute; border: 1px solid rgba(9,98,148,.2); border-radius: 50%; }
.page-solutions .sol-control-ring::before { inset: -13%; }
.page-solutions .sol-control-ring::after { inset: 14%; }
.page-solutions .sol-control-needle { position: absolute; left: 50%; top: 50%; width: 39%; height: 3px; transform-origin: left center; transform: rotate(var(--sol-control-needle, -56deg)); background: linear-gradient(90deg,var(--sol-blue),var(--sol-green)); box-shadow: 0 0 14px rgba(24,229,255,.42); }
.page-solutions .sol-control-dial b { position: absolute; width: 24px; height: 24px; border-radius: 50%; background: var(--sol-ink); box-shadow: 0 0 0 7px rgba(24,229,255,.2); }
.page-solutions .sol-control-word { position: relative; z-index: 2; margin-top: 63%; color: var(--sol-ink); font-size: 3rem; font-weight: 900; text-transform: uppercase; }
.page-solutions .sol-control-dial small { position:absolute; left:50%; top:50%; width:112px; color:#365764; font-size:.62rem; font-weight:900; line-height:1.2; text-align:center; text-transform:uppercase; opacity:var(--sol-control-label-opacity,.08); transform:translate(-50%,-50%) rotate(var(--a)) translateX(170px) rotate(var(--na)) scale(var(--sol-control-label-scale,.72)); }

/* Commercial review: four panels occupy one decision deck. */
.page-solutions .sol-value { height: 390svh; }
.page-solutions .sol-value-stage { display: grid; align-items: center; background: radial-gradient(circle at 72% 46%,rgba(8,82,121,.28),transparent 36%),#02090f; }
.page-solutions .sol-value-layout { position: relative; z-index: 3; display: grid; grid-template-columns: minmax(0,.82fr) minmax(540px,1.18fr); gap: 90px; align-items: center; min-height: 100svh; padding-top: 130px; padding-bottom: 82px; }
.page-solutions .sol-value-heading { opacity: var(--sol-value-heading-opacity,.1); transform: translate3d(var(--sol-value-heading-x,-60px),0,0); }
.page-solutions .sol-value-heading h2 { max-width: 9ch; }
.page-solutions .sol-value-heading h3 { color: var(--sol-green); }
.page-solutions .sol-value-heading > p:not(.eyebrow) { color: rgba(218,239,246,.68); }
.page-solutions .sol-value-heading > strong { display: block; margin-top: 26px; color: var(--sol-cyan); font-size: .72rem; letter-spacing: 0; text-transform: uppercase; }
.page-solutions .sol-value-deck { position: relative; height: 590px; perspective: 1250px; }
.page-solutions .sol-value-rail { position:absolute; z-index:30; left:0; top:48px; bottom:46px; width:3px; background:rgba(24,229,255,.13); }
.page-solutions .sol-value-rail i { position:absolute; inset:0 0 auto; height:var(--sol-value-rail-progress,0%); background:linear-gradient(180deg,var(--sol-cyan),var(--sol-green)); box-shadow:0 0 18px rgba(24,229,255,.55); }
.page-solutions .sol-value-rail span { position:absolute; left:50%; top:calc(var(--i,0) * 33.333%); width:12px; height:12px; border:2px solid rgba(24,229,255,.52); border-radius:50%; background:#03111c; transform:translate(-50%,-50%) scale(.72); transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease; }
.page-solutions .sol-value-rail span:nth-of-type(1){--i:0}.page-solutions .sol-value-rail span:nth-of-type(2){--i:1}.page-solutions .sol-value-rail span:nth-of-type(3){--i:2}.page-solutions .sol-value-rail span:nth-of-type(4){--i:3}
.page-solutions .sol-value-rail span.is-active { border-color:var(--sol-green); box-shadow:0 0 0 7px rgba(149,226,39,.1),0 0 20px rgba(149,226,39,.5); transform:translate(-50%,-50%) scale(1); }
.page-solutions .sol-value-deck article { position: absolute; inset: 72px 0 auto 6%; min-height: 420px; padding: 58px 58px 48px; border: 1px solid rgba(24,229,255,.3); clip-path: polygon(0 0,91% 0,100% 13%,100% 100%,8% 100%,0 87%); background: linear-gradient(135deg,rgba(5,30,45,.98),rgba(4,16,26,.97)); box-shadow: 0 38px 100px rgba(0,0,0,.44); opacity: var(--sol-value-card-opacity,.06); transform: translate3d(var(--sol-value-card-x,120px),var(--sol-value-card-y,30px),var(--sol-value-card-z,-160px)) rotateY(var(--sol-value-card-ry,-17deg)) rotateX(var(--sol-value-card-rx,5deg)); transform-origin: center right; transition:opacity .18s ease; }
.page-solutions .sol-value-deck article::before { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg,transparent 22%,rgba(255,255,255,.12) 42%,transparent 60%); transform: translateX(var(--sol-value-sheen-x,-120%)); pointer-events:none; }
.page-solutions .sol-value-deck article > span { color: var(--sol-green); font-size: .72rem; font-weight: 900; }
.page-solutions .sol-value-deck h3 { max-width: 15ch; margin: 44px 0 18px; font-size: 2.75rem; line-height: 1; }
.page-solutions .sol-value-deck p { max-width: 550px; margin: 0; color: rgba(222,241,247,.72); font-size: 1rem; line-height: 1.55; }

/* A bright four-territory commercial canvas. */
.page-solutions .sol-environments { height: 330svh; }
.page-solutions .sol-environments-stage { display: grid; align-items: center; color:#fff; background:#0b2634; }
.page-solutions .sol-environment-gallery { position:absolute; inset:0; z-index:-3; display:grid; grid-template-columns:repeat(4,1fr); overflow:hidden; }
.page-solutions .sol-environment-gallery figure { position:relative; margin:0 -14%; overflow:hidden; opacity:var(--sol-environment-panel-opacity,.16); clip-path:polygon(18% 0,100% 0,82% 100%,0 100%); transform:translate3d(0,var(--sol-environment-y,70px),0) scale(var(--sol-environment-scale,1.14)); transform-origin:center; filter:saturate(var(--sol-environment-saturation,.7)) brightness(var(--sol-environment-brightness,.62)); }
.page-solutions .sol-environment-gallery figure:nth-child(even) { transform:translate3d(0,var(--sol-environment-y-alt,-70px),0) scale(var(--sol-environment-scale,1.14)); }
.page-solutions .sol-environment-gallery img { width:100%; height:100%; object-fit:cover; filter:saturate(1.16) contrast(1.03); }
.page-solutions .sol-environment-gallery span { position:absolute; left:20%; bottom:8%; padding:8px 10px; border-left:2px solid var(--sol-green); color:#fff; background:rgba(2,12,18,.56); font-size:.7rem; font-weight:900; text-transform:uppercase; }
.page-solutions .sol-environment-wash { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(2,10,16,.9) 0%,rgba(2,10,16,.72) 45%,rgba(2,10,16,.12) 100%),linear-gradient(0deg,rgba(2,10,16,.62),transparent 56%); }
.page-solutions .sol-environments-layout { position:relative; z-index:3; display:grid; grid-template-columns:minmax(0,.92fr) minmax(380px,.63fr); gap:90px; align-items:center; min-height:100svh; padding-top:130px; padding-bottom:80px; }
.page-solutions .sol-environments-heading { opacity:var(--sol-environment-heading-opacity,.1); transform:translate3d(var(--sol-environment-heading-x,-65px),0,0); }
.page-solutions .sol-environments-heading h2 { max-width:10ch; }
.page-solutions .sol-environments-heading h3 { max-width:22ch; color:var(--sol-green); }
.page-solutions .sol-environments-copy { align-self:end; margin-bottom:10vh; padding:30px 0 30px 34px; border-left:2px solid rgba(24,229,255,.54); background:linear-gradient(90deg,rgba(2,12,18,.58),transparent); }
.page-solutions .sol-environments-copy p { margin:0 0 14px; color:rgba(235,248,251,.82); line-height:1.58; opacity:var(--sol-environment-copy-opacity,.08); transform:translate3d(var(--sol-environment-copy-x,44px),0,0); }

/* Three strategic questions arrive as independent spatial portals. */
.page-solutions .sol-challenges { height:360svh; }
.page-solutions .sol-challenges-stage { display:grid; align-items:center; background:radial-gradient(circle at 50% 20%,rgba(24,229,255,.1),transparent 35%),#02080d; }
.page-solutions .sol-challenges-layout { position:relative; z-index:3; min-height:100svh; padding-top:132px; padding-bottom:78px; }
.page-solutions .sol-challenges-heading { display:grid; grid-template-columns:.7fr 1.3fr; gap:70px; align-items:end; }
.page-solutions .sol-challenges-heading .eyebrow { align-self:start; }
.page-solutions .sol-challenges-heading h2 { max-width:17ch; font-size:3.85rem; }
.page-solutions .sol-challenge-portals { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:56px; perspective:1400px; }
.page-solutions .sol-challenge-portals a { position:relative; min-height:430px; padding:34px 32px 28px; overflow:hidden; border:1px solid rgba(24,229,255,.24); clip-path:polygon(0 0,90% 0,100% 10%,100% 100%,8% 100%,0 91%); color:#fff; background:linear-gradient(145deg,rgba(7,37,53,.96),rgba(3,14,23,.88)); box-shadow:0 34px 80px rgba(0,0,0,.34); text-decoration:none; opacity:var(--sol-challenge-opacity,.06); transform:translate3d(var(--sol-challenge-x,0),var(--sol-challenge-y,90px),var(--sol-challenge-z,-120px)) rotateY(var(--sol-challenge-ry,0deg)) rotateX(var(--sol-challenge-rx,8deg)); transition:border-color .35s ease,filter .35s ease; }
.page-solutions .sol-challenge-portals a::before { content:""; position:absolute; inset:0; background:linear-gradient(112deg,transparent 25%,rgba(255,255,255,.16) 45%,transparent 62%); transform:translateX(-135%); transition:transform .7s ease; }
.page-solutions .sol-challenge-portals a::after { content:""; position:absolute; inset:0; opacity:0; background:radial-gradient(circle 170px at var(--sol-challenge-px,50%) var(--sol-challenge-py,50%),rgba(24,229,255,.18),transparent 72%); transition:opacity .3s ease; pointer-events:none; }
.page-solutions .sol-challenge-portals a:hover { border-color:var(--sol-green); filter:drop-shadow(0 0 22px rgba(24,229,255,.22)); }
.page-solutions .sol-challenge-portals a:hover::before { transform:translateX(135%); }
.page-solutions .sol-challenge-portals a:hover::after { opacity:1; }
.page-solutions .sol-challenge-portals a > span { color:var(--sol-green); font-size:.7rem; font-weight:900; }
.page-solutions .sol-challenge-portals h3 { margin:68px 0 18px; font-size:1.65rem; line-height:1.15; }
.page-solutions .sol-challenge-portals p { color:rgba(222,241,247,.7); line-height:1.55; }
.page-solutions .sol-challenge-portals strong { position:absolute; left:32px; right:32px; bottom:28px; display:flex; justify-content:space-between; color:var(--sol-cyan); font-size:.72rem; text-transform:uppercase; }
.page-solutions .sol-challenge-portals strong i { color:var(--sol-green); font-size:1rem; font-style:normal; }

/* The route is drawn by scroll; labels remain real list content. */
.page-solutions .sol-route { height:350svh; }
.page-solutions .sol-route-stage { display:grid; align-items:center; background:linear-gradient(145deg,#f8fcfd,#eaf5f8); }
.page-solutions .sol-route-layout { position:relative; z-index:3; min-height:100svh; padding-top:126px; padding-bottom:66px; }
.page-solutions .sol-route-heading { display:grid; grid-template-columns:.72fr 1.18fr; grid-template-rows:auto auto auto; gap:18px 80px; align-items:start; }
.page-solutions .sol-route-heading .eyebrow { grid-column:1; }
.page-solutions .sol-route-heading h2 { grid-column:1; grid-row:2 / span 2; max-width:10ch; opacity:var(--sol-route-heading-opacity,.1); transform:translate3d(var(--sol-route-heading-x,-56px),0,0); }
.page-solutions .sol-route-heading > p:not(.eyebrow) { grid-column:2; max-width:720px; margin:0; color:#45616d; font-size:1.08rem; line-height:1.62; opacity:var(--sol-route-copy-opacity,.1); transform:translate3d(var(--sol-route-copy-x,52px),0,0); }
.page-solutions .sol-route-heading > p:nth-of-type(2) { grid-row:2; padding-top:10px; color:#0d2835; font-weight:800; }
.page-solutions .sol-route-heading > p:nth-of-type(3) { grid-row:3; }
.page-solutions .sol-assessment-route { position:relative; height:390px; margin-top:42px; }
.page-solutions .sol-assessment-route > p { margin:0; color:var(--sol-blue); font-size:.72rem; font-weight:900; text-transform:uppercase; }
.page-solutions .sol-assessment-route svg { position:absolute; left:0; right:0; bottom:0; width:100%; height:330px; overflow:visible; }
.page-solutions .sol-assessment-route path { fill:none; stroke-linecap:round; stroke-width:5; }
.page-solutions .sol-route-base { stroke:rgba(11,143,232,.14); }
.page-solutions .sol-route-progress { stroke:url(#none); stroke:var(--sol-blue); filter:drop-shadow(0 0 8px rgba(24,229,255,.44)); stroke-dasharray:var(--sol-route-length,1200); stroke-dashoffset:var(--sol-route-offset,1200); }
.page-solutions .sol-route-pulse { fill:var(--sol-green); stroke:#fff; stroke-width:2; opacity:var(--sol-route-pulse-opacity,0); filter:drop-shadow(0 0 9px rgba(149,226,39,.9)); }
.page-solutions .sol-assessment-route ol { position:absolute; inset:36px 0 0; margin:0; padding:0; list-style:none; }
.page-solutions .sol-assessment-route li { position:absolute; left:var(--x); top:var(--y); width:150px; color:#2f4f5e; font-size:.78rem; font-weight:800; line-height:1.3; opacity:var(--sol-route-step-opacity,.08); transform:translate3d(0,var(--sol-route-step-y,32px),0); }
.page-solutions .sol-assessment-route li::before { content:""; position:absolute; left:0; top:-17px; width:11px; height:11px; border:3px solid var(--sol-blue); border-radius:50%; background:#f4f9fb; box-shadow:0 0 0 7px rgba(11,143,232,.1); }
.page-solutions .sol-assessment-route li span { display:block; margin-bottom:4px; color:var(--sol-green); font-size:.62rem; }

/* Corporate conversations converge around one visual decision field. */
.page-solutions .sol-decision { height:330svh; }
.page-solutions .sol-decision-stage { display:grid; align-items:center; background:#01070c; }
.page-solutions .sol-decision-media,
.page-solutions .sol-decision-shade { position:absolute; inset:0; z-index:-3; margin:0; }
.page-solutions .sol-decision-media { transform:scale(var(--sol-decision-scale,1.1)) translate3d(var(--sol-decision-image-x,0),0,0); }
.page-solutions .sol-decision-media img { width:100%; height:100%; object-fit:cover; }
.page-solutions .sol-decision-shade { z-index:-2; background:linear-gradient(90deg,rgba(1,7,12,.97),rgba(2,10,17,.78) 48%,rgba(2,10,17,.28)),linear-gradient(0deg,rgba(1,7,12,.78),transparent 48%); }
.page-solutions .sol-decision-layout { position:relative; z-index:3; display:grid; grid-template-columns:minmax(0,.86fr) minmax(500px,1.14fr); gap:90px; align-items:center; min-height:100svh; padding-top:130px; padding-bottom:80px; }
.page-solutions .sol-decision-heading { opacity:var(--sol-decision-heading-opacity,.1); transform:translate3d(var(--sol-decision-heading-x,-60px),0,0); }
.page-solutions .sol-decision-heading h2 { max-width:10ch; }
.page-solutions .sol-decision-heading > p:not(.eyebrow) { color:rgba(225,242,247,.72); }
.page-solutions .sol-decision-orbit { position:relative; width:min(100%,620px); aspect-ratio:1; justify-self:end; overflow:visible; border:1px solid rgba(24,229,255,.14); border-radius:50%; opacity:var(--sol-decision-orbit-opacity,.08); transform:scale(var(--sol-decision-orbit-scale,.72)) rotate(var(--sol-decision-orbit-r,0deg)); }
.page-solutions .sol-decision-orbit::before,
.page-solutions .sol-decision-orbit::after { content:""; position:absolute; border:1px solid rgba(24,229,255,.15); border-radius:50%; }
.page-solutions .sol-decision-orbit::before { inset:15%; }
.page-solutions .sol-decision-orbit::after { inset:31%; border-color:rgba(149,226,39,.32); }
.page-solutions .sol-decision-links { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.page-solutions .sol-decision-links line { stroke:rgba(24,229,255,.52); stroke-width:1.5; stroke-dasharray:var(--sol-decision-line-length,300); stroke-dashoffset:var(--sol-decision-line-offset,300); filter:drop-shadow(0 0 5px rgba(24,229,255,.62)); }
.page-solutions .sol-decision-orbit > img { position:absolute; left:50%; top:50%; width:132px; transform:translate(-50%,-50%); }
.page-solutions .sol-decision-orbit span { --radius: min(17vw,220px); position:absolute; left:50%; top:50%; width:124px; min-height:58px; display:grid; place-items:center; padding:8px; border:1px solid rgba(24,229,255,.35); color:#fff; background:rgba(3,20,31,.82); box-shadow:0 18px 36px rgba(0,0,0,.22),inset 0 0 22px rgba(24,229,255,.05); font-size:.68rem; font-weight:900; text-align:center; text-transform:uppercase; opacity:var(--sol-decision-node-opacity,.08); transform:translate(-50%,-50%) rotate(var(--a)) translateX(var(--radius)) rotate(var(--na)) scale(var(--sol-decision-node-scale,.75)); }

/* Closing scene turns the conversation into a clear action. */
.page-solutions .sol-closing { height:210svh; }
.page-solutions .sol-closing-stage { display:grid; align-items:center; background:linear-gradient(135deg,#f8fcfd 0%,#e8f5f8 100%); }
.page-solutions .sol-closing-layout { position:relative; z-index:3; display:grid; grid-template-columns:minmax(0,.76fr) minmax(540px,1.24fr); gap:90px; align-items:center; min-height:100svh; padding-top:130px; padding-bottom:90px; }
.page-solutions .sol-closing-copy { opacity:var(--sol-closing-copy-opacity,.1); transform:translate3d(var(--sol-closing-copy-x,-58px),0,0); }
.page-solutions .sol-closing-copy h2 { max-width:10ch; margin:0; font-size:4.35rem; line-height:.98; }
.page-solutions .sol-closing-copy > p:not(.eyebrow) { color:#47636f; line-height:1.58; }
.page-solutions .sol-closing-media { position:relative; margin:0; overflow:hidden; border:1px solid rgba(11,143,232,.22); clip-path:polygon(0 0,92% 0,100% 13%,100% 100%,8% 100%,0 87%); box-shadow:0 38px 100px rgba(6,53,77,.2); opacity:var(--sol-closing-media-opacity,.08); transform:translate3d(var(--sol-closing-media-x,90px),var(--sol-closing-media-y,0),var(--sol-closing-media-z,-100px)) rotateX(var(--sol-closing-media-rx,0deg)) rotateY(var(--sol-closing-media-ry,-12deg)); perspective:1000px; transform-origin:center; }
.page-solutions .sol-closing-media img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; }
.page-solutions .sol-closing-media i { position:absolute; inset:0; background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 46%,transparent 61%); transform:translateX(var(--sol-closing-sheen,-130%)); }

@keyframes sol-cue { 0%,100%{transform:translateX(-100%)} 50%{transform:translateX(200%)} }

@media (max-width: 1400px) {
  .page-solutions .sol-section-heading h2,
  .page-solutions .sol-closing-copy h2 { font-size:3.55rem; }
  .page-solutions .sol-hero h1 { font-size:3.7rem; }
  .page-solutions .sol-hero-layout { grid-template-columns:minmax(0,1fr) minmax(360px,.78fr); gap:38px; padding-top:118px; padding-bottom:64px; }
  .page-solutions .sol-utility-layout { grid-template-columns:minmax(0,.9fr) minmax(280px,.58fr) minmax(330px,.7fr); gap:36px; }
  .page-solutions .sol-value-layout,
  .page-solutions .sol-decision-layout,
  .page-solutions .sol-closing-layout { gap:48px; }
  .page-solutions .sol-value-deck h3 { font-size:2.25rem; }
  .page-solutions .sol-challenge-portals h3 { font-size:1.35rem; }
}

@media (max-width: 980px) {
  .page-solutions .sol-scroll-scene { height:auto!important; }
  .page-solutions .sol-stage { position:relative; min-height:auto; }
  .page-solutions .sol-section-heading h2,
  .page-solutions .sol-closing-copy h2 { font-size:3.15rem; }
  .page-solutions .sol-hero-layout,
  .page-solutions .sol-utility-layout,
  .page-solutions .sol-value-layout,
  .page-solutions .sol-environments-layout,
  .page-solutions .sol-decision-layout,
  .page-solutions .sol-closing-layout { grid-template-columns:1fr; min-height:auto; padding-top:150px; padding-bottom:90px; }
  .page-solutions .sol-hero { min-height:100svh; }
  .page-solutions .sol-hero-stage { min-height:100svh; }
  .page-solutions .sol-hero-layout { padding-bottom:110px; }
  .page-solutions .sol-hero-copy,
  .page-solutions .sol-hero-narrative p,
  .page-solutions .sol-hero-field,
  .page-solutions .sol-utility-heading,
  .page-solutions .sol-utility-copy p,
  .page-solutions .sol-control-dial,
  .page-solutions .sol-value-heading,
  .page-solutions .sol-value-deck article,
  .page-solutions .sol-environments-heading,
  .page-solutions .sol-environments-copy p,
  .page-solutions .sol-challenge-portals a,
  .page-solutions .sol-route-heading h2,
  .page-solutions .sol-route-heading > p,
  .page-solutions .sol-assessment-route li,
  .page-solutions .sol-decision-heading,
  .page-solutions .sol-decision-orbit,
  .page-solutions .sol-closing-copy,
  .page-solutions .sol-closing-media { opacity:1!important; transform:none!important; }
  .page-solutions .sol-hero-field { width:min(100%,500px); justify-self:center; }
  .page-solutions .sol-hero-lens { display:none; }
  .page-solutions .sol-control-dial { width:min(100%,420px); justify-self:center; }
  .page-solutions .sol-value-deck { display:grid; gap:18px; height:auto; }
  .page-solutions .sol-value-rail { display:none; }
  .page-solutions .sol-value-deck article { position:relative; inset:auto; min-height:0; padding:34px; }
  .page-solutions .sol-value-deck h3 { margin:24px 0 14px; }
  .page-solutions .sol-environment-gallery { grid-template-columns:repeat(2,1fr); }
  .page-solutions .sol-environment-gallery figure { margin:-8%; opacity:.58; transform:none!important; }
  .page-solutions .sol-environments-copy { margin:0; align-self:auto; }
  .page-solutions .sol-challenges-layout,
  .page-solutions .sol-route-layout { min-height:auto; padding-top:140px; padding-bottom:90px; }
  .page-solutions .sol-challenges-heading,
  .page-solutions .sol-route-heading { grid-template-columns:1fr; }
  .page-solutions .sol-route-heading .eyebrow,
  .page-solutions .sol-route-heading h2,
  .page-solutions .sol-route-heading > p:not(.eyebrow) { grid-column:auto; grid-row:auto; }
  .page-solutions .sol-route-heading > p:nth-of-type(2),
  .page-solutions .sol-route-heading > p:nth-of-type(3) { grid-row:auto; padding-top:0; }
  .page-solutions .sol-challenge-portals { grid-template-columns:1fr; }
  .page-solutions .sol-challenge-portals a { min-height:310px; }
  .page-solutions .sol-assessment-route { height:auto; }
  .page-solutions .sol-assessment-route svg { display:none; }
  .page-solutions .sol-assessment-route ol { position:relative; inset:auto; display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:24px; }
  .page-solutions .sol-assessment-route li { position:relative; left:auto; top:auto; width:auto; min-height:90px; padding:22px 20px 16px 42px; border-top:2px solid var(--sol-blue); background:rgba(255,255,255,.66); }
  .page-solutions .sol-assessment-route li::before { left:18px; top:25px; }
  .page-solutions .sol-decision-orbit { width:min(100%,560px); justify-self:center; }
  .page-solutions .sol-decision-links { display:none; }
  .page-solutions .sol-decision-orbit span { opacity:1!important; transform:translate(-50%,-50%) rotate(var(--a)) translateX(var(--radius)) rotate(var(--na)) scale(1)!important; }
}

@media (max-width: 680px) {
  .page-solutions .sol-section-heading h2,
  .page-solutions .sol-closing-copy h2 { font-size:2.5rem; }
  .page-solutions .sol-hero h1 { font-size:3.05rem; }
  .page-solutions .sol-hero-layout,
  .page-solutions .sol-utility-layout,
  .page-solutions .sol-value-layout,
  .page-solutions .sol-environments-layout,
  .page-solutions .sol-decision-layout,
  .page-solutions .sol-closing-layout { padding-top:120px; padding-bottom:70px; }
  .page-solutions .sol-hero-field { display:none; }
  .page-solutions .sol-hero-lens,
  .page-solutions .sol-control-dial small { display:none; }
  .page-solutions .sol-hero-narrative p { font-size:.9rem; }
  .page-solutions .sol-scroll-cue { display:none; }
  .page-solutions .sol-control-word { font-size:2.15rem; }
  .page-solutions .sol-value-deck article { padding:28px 24px; }
  .page-solutions .sol-environment-gallery { grid-template-columns:1fr 1fr; }
  .page-solutions .sol-environment-gallery figure:nth-child(n+3) { display:none; }
  .page-solutions .sol-environments-copy { padding-left:22px; }
  .page-solutions .sol-challenges-heading h2 { font-size:2.5rem; }
  .page-solutions .sol-challenge-portals a { min-height:340px; padding:28px 24px; }
  .page-solutions .sol-challenge-portals strong { left:24px; right:24px; }
  .page-solutions .sol-assessment-route ol { grid-template-columns:1fr; }
  .page-solutions .sol-decision-orbit { aspect-ratio:auto; display:grid; grid-template-columns:repeat(2,1fr); gap:10px; border:0; }
  .page-solutions .sol-decision-orbit::before,
  .page-solutions .sol-decision-orbit::after,
  .page-solutions .sol-decision-orbit > img { display:none; }
  .page-solutions .sol-decision-orbit span { position:relative; left:auto; top:auto; width:auto; min-height:64px; transform:none!important; }
  .page-solutions .sol-closing-layout { gap:48px; }
}

@media (max-height: 950px) and (min-width: 981px) {
  .page-solutions .sol-hero-layout { padding-top:100px; padding-bottom:44px; }
  .page-solutions .sol-hero h1 { max-width:14ch; font-size:3.2rem; line-height:.94; }
  .page-solutions .sol-hero-kicker { margin:7px 0 13px; font-size:.78rem; line-height:1.4; }
  .page-solutions .sol-hero-narrative { gap:6px; margin-top:15px; }
  .page-solutions .sol-hero-narrative p { font-size:.82rem; line-height:1.36; }
  .page-solutions .sol-hero .hero-actions { margin-top:16px; }
  .page-solutions .sol-decision-layout,
  .page-solutions .sol-closing-layout { padding-top:100px; padding-bottom:42px; }
  .page-solutions .sol-decision-heading h2,
  .page-solutions .sol-closing-copy h2 { font-size:3rem; }
  .page-solutions .sol-decision-heading > p:not(.eyebrow),
  .page-solutions .sol-closing-copy > p:not(.eyebrow) { margin-top:9px; font-size:.86rem; line-height:1.44; }
  .page-solutions .sol-closing-copy .hero-actions { margin-top:16px; }
}

@media (prefers-reduced-motion: reduce) {
  html:not(.solutions-force-motion) .page-solutions .sol-hero-lens { display:none; }
  .page-solutions .sol-scroll-scene { height:auto!important; }
  .page-solutions .sol-stage { position:relative!important; min-height:auto; }
  .page-solutions .sol-scroll-cue i::after { animation:none; }
  .page-solutions .sol-hero-stage { min-height:100svh; }
  .page-solutions .sol-hero-copy,
  .page-solutions .sol-hero-narrative p,
  .page-solutions .sol-hero-field,
  .page-solutions .sol-utility-heading,
  .page-solutions .sol-utility-copy p,
  .page-solutions .sol-control-dial,
  .page-solutions .sol-value-heading,
  .page-solutions .sol-value-deck article,
  .page-solutions .sol-environments-heading,
  .page-solutions .sol-environments-copy p,
  .page-solutions .sol-challenge-portals a,
  .page-solutions .sol-route-heading h2,
  .page-solutions .sol-route-heading > p,
  .page-solutions .sol-assessment-route li,
  .page-solutions .sol-decision-heading,
  .page-solutions .sol-decision-orbit,
  .page-solutions .sol-decision-orbit span,
  .page-solutions .sol-closing-copy,
  .page-solutions .sol-closing-media { opacity:1!important; }
  .page-solutions .sol-hero-copy,
  .page-solutions .sol-hero-narrative p,
  .page-solutions .sol-hero-field,
  .page-solutions .sol-utility-heading,
  .page-solutions .sol-utility-copy p,
  .page-solutions .sol-control-dial,
  .page-solutions .sol-value-heading,
  .page-solutions .sol-environments-heading,
  .page-solutions .sol-environments-copy p,
  .page-solutions .sol-route-heading h2,
  .page-solutions .sol-route-heading > p,
  .page-solutions .sol-assessment-route li,
  .page-solutions .sol-decision-heading,
  .page-solutions .sol-decision-orbit,
  .page-solutions .sol-closing-copy,
  .page-solutions .sol-closing-media { transform:none!important; }
  .page-solutions .sol-value-deck { display:grid; gap:18px; height:auto; }
  .page-solutions .sol-value-layout { align-items:start; }
  .page-solutions .sol-value-deck article { position:relative; inset:auto; min-height:0; transform:none!important; }
  .page-solutions .sol-challenge-portals a { transform:rotateY(var(--sol-static-ry,0deg))!important; }
  .page-solutions .sol-challenge-portals a:first-child { --sol-static-ry:3deg; }
  .page-solutions .sol-challenge-portals a:last-child { --sol-static-ry:-3deg; }
  .page-solutions .sol-route-progress { stroke-dashoffset:0!important; }
}

/* Desktop motion is the default; ?motion=0 preserves an explicit static fallback. */
@media (prefers-reduced-motion: reduce) {
  html.solutions-force-motion .page-solutions .sol-scroll-scene { height:300svh!important; }
  html.solutions-force-motion .page-solutions .sol-hero { height:360svh!important; }
  html.solutions-force-motion .page-solutions .sol-utility { height:250svh!important; }
  html.solutions-force-motion .page-solutions .sol-value { height:390svh!important; }
  html.solutions-force-motion .page-solutions .sol-environments { height:330svh!important; }
  html.solutions-force-motion .page-solutions .sol-challenges { height:360svh!important; }
  html.solutions-force-motion .page-solutions .sol-route { height:350svh!important; }
  html.solutions-force-motion .page-solutions .sol-decision { height:330svh!important; }
  html.solutions-force-motion .page-solutions .sol-closing { height:210svh!important; }
  html.solutions-force-motion .page-solutions .sol-stage { position:sticky!important; min-height:100svh; }
  html.solutions-force-motion .page-solutions .sol-hero-copy { opacity:var(--sol-hero-copy-opacity,1)!important; transform:translate3d(0,var(--sol-hero-copy-y,0),0)!important; }
  html.solutions-force-motion .page-solutions .sol-hero-narrative p { opacity:var(--sol-hero-paragraph-opacity,.14)!important; transform:translate3d(var(--sol-hero-paragraph-x,-28px),0,0)!important; }
  html.solutions-force-motion .page-solutions .sol-hero-field { opacity:var(--sol-field-opacity,.12)!important; transform:translate3d(var(--sol-field-x,72px),0,var(--sol-field-z,-90px)) rotateY(var(--sol-field-ry,-13deg))!important; }
  html.solutions-force-motion .page-solutions .sol-utility-heading { opacity:var(--sol-utility-heading-opacity,.1)!important; transform:translate3d(var(--sol-utility-heading-x,-54px),0,0)!important; }
  html.solutions-force-motion .page-solutions .sol-utility-copy p { opacity:var(--sol-utility-copy-opacity,.12)!important; transform:translate3d(0,var(--sol-utility-copy-y,38px),0)!important; }
  html.solutions-force-motion .page-solutions .sol-control-dial { opacity:var(--sol-control-opacity,.12)!important; transform:scale(var(--sol-control-scale,.78)) rotateX(var(--sol-control-rx,16deg)) rotateY(var(--sol-control-ry,0deg))!important; }
  html.solutions-force-motion .page-solutions .sol-value-heading { opacity:var(--sol-value-heading-opacity,.1)!important; transform:translate3d(var(--sol-value-heading-x,-60px),0,0)!important; }
  html.solutions-force-motion .page-solutions .sol-value-deck { display:block; height:590px; }
  html.solutions-force-motion .page-solutions .sol-value-deck article { position:absolute; inset:72px 0 auto 6%; min-height:420px; opacity:var(--sol-value-card-opacity,.06)!important; transform:translate3d(var(--sol-value-card-x,120px),var(--sol-value-card-y,30px),var(--sol-value-card-z,-160px)) rotateY(var(--sol-value-card-ry,-17deg)) rotateX(var(--sol-value-card-rx,5deg))!important; }
  html.solutions-force-motion .page-solutions .sol-environments-heading { opacity:var(--sol-environment-heading-opacity,.1)!important; transform:translate3d(var(--sol-environment-heading-x,-65px),0,0)!important; }
  html.solutions-force-motion .page-solutions .sol-environments-copy p { opacity:var(--sol-environment-copy-opacity,.08)!important; transform:translate3d(var(--sol-environment-copy-x,44px),0,0)!important; }
  html.solutions-force-motion .page-solutions .sol-challenge-portals a { opacity:var(--sol-challenge-opacity,.06)!important; transform:translate3d(var(--sol-challenge-x,0),var(--sol-challenge-y,90px),var(--sol-challenge-z,-120px)) rotateY(var(--sol-challenge-ry,0deg)) rotateX(var(--sol-challenge-rx,8deg))!important; }
  html.solutions-force-motion .page-solutions .sol-route-heading h2 { opacity:var(--sol-route-heading-opacity,.1)!important; transform:translate3d(var(--sol-route-heading-x,-56px),0,0)!important; }
  html.solutions-force-motion .page-solutions .sol-route-heading > p { opacity:var(--sol-route-copy-opacity,.1)!important; transform:translate3d(var(--sol-route-copy-x,52px),0,0)!important; }
  html.solutions-force-motion .page-solutions .sol-assessment-route li { opacity:var(--sol-route-step-opacity,.08)!important; transform:translate3d(0,var(--sol-route-step-y,32px),0)!important; }
  html.solutions-force-motion .page-solutions .sol-route-progress { stroke-dashoffset:var(--sol-route-offset,1200)!important; }
  html.solutions-force-motion .page-solutions .sol-decision-heading { opacity:var(--sol-decision-heading-opacity,.1)!important; transform:translate3d(var(--sol-decision-heading-x,-60px),0,0)!important; }
  html.solutions-force-motion .page-solutions .sol-decision-orbit { opacity:var(--sol-decision-orbit-opacity,.08)!important; transform:scale(var(--sol-decision-orbit-scale,.72)) rotate(var(--sol-decision-orbit-r,0deg))!important; }
  html.solutions-force-motion .page-solutions .sol-decision-orbit span { opacity:var(--sol-decision-node-opacity,.08)!important; transform:translate(-50%,-50%) rotate(var(--a)) translateX(var(--radius)) rotate(var(--na)) scale(var(--sol-decision-node-scale,.75))!important; }
  html.solutions-force-motion .page-solutions .sol-closing-copy { opacity:var(--sol-closing-copy-opacity,.1)!important; transform:translate3d(var(--sol-closing-copy-x,-58px),0,0)!important; }
  html.solutions-force-motion .page-solutions .sol-closing-media { opacity:var(--sol-closing-media-opacity,.08)!important; transform:translate3d(var(--sol-closing-media-x,90px),var(--sol-closing-media-y,0),var(--sol-closing-media-z,-100px)) rotateX(var(--sol-closing-media-rx,0deg)) rotateY(var(--sol-closing-media-ry,-12deg))!important; }
}
