/* Hallmark · theme: brand · built: the project · redesign: polish · genre: modern-minimal */
/* critique: preserve approved layouts; colors follow common tokens. */
:root{--immersive-ink:#fff;--immersive-muted:#d7e0ec;--immersive-blue:#81b8ff;--immersive-line:rgba(255,255,255,.19);--immersive-base:#142332}.solution-stage{height:100dvh;min-height:740px;position:relative;isolation:isolate;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always;background:var(--immersive-base);color:var(--immersive-ink)}.js .solution-feature{position:absolute;inset:0;opacity:0;visibility:hidden;transform:scale(1.015);transition:opacity 450ms ease,transform 850ms cubic-bezier(.2,.7,.3,1),visibility 450ms;pointer-events:none;z-index:-3}.solution-feature.is-active{opacity:1;visibility:visible;transform:none}.solution-feature svg{display:block;width:100%;height:100%;overflow:hidden}.solution-stage::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--legacy-color-105),var(--legacy-color-106) 65%),linear-gradient(0deg,var(--legacy-color-107),var(--legacy-color-20) 30%);z-index:-2;pointer-events:none}.solution-glass{position:absolute;left:0;top:0;bottom:0;width:clamp(475px,36vw,640px);background:var(--legacy-color-108);backdrop-filter:blur(20px) saturate(.8);border-right:1px solid var(--legacy-color-109);padding:132px clamp(36px,4vw,80px) 35px;display:flex;flex-direction:column}.solution-intro{flex-shrink:0}.solution-intro h2{font-size:32px;line-height:1.4;font-weight:550;letter-spacing:-.5px;margin:0 0 var(--space-4)}.solution-intro p{font-size:15px;line-height:1.85;color:var(--immersive-muted);margin:0;max-width:480px}.solution-selector{margin-top:30px;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--legacy-color-110) var(--legacy-color-20);overscroll-behavior:contain}.solution-item{border-bottom:1px solid var(--immersive-line)}.solution-tab{font:inherit;display:flex;align-items:center;justify-content:space-between;gap:15px;background:var(--legacy-color-20);border:0;width:100%;padding:var(--space-4) 0;color:var(--immersive-ink);text-align:left;font-size:16px;font-weight:500;line-height:1.5;cursor:pointer;transition:color 180ms}.solution-tab:hover,.solution-tab[aria-expanded=true]{color:var(--immersive-blue)}.solution-arrow{display:block;flex-shrink:0;font-size:25px;line-height:1;transform-origin:50% 50%;transition:transform 220ms}.solution-tab[aria-expanded=true] .solution-arrow{transform:rotate(90deg)}.solution-description{display:grid;grid-template-rows:0fr;visibility:hidden;opacity:0;transition:grid-template-rows 280ms ease,opacity 220ms ease,visibility 280ms}.solution-item.is-active .solution-description{grid-template-rows:1fr;visibility:visible;opacity:1}.solution-description-inner{overflow:hidden;min-height:0}.solution-description p{font-size:14px;font-weight:400;line-height:1.85;color:var(--immersive-muted);margin:0;padding-top:1px}.solution-view-link{display:inline-flex;gap:15px;color:var(--immersive-blue);font-size:13px;font-weight:500;line-height:1.8;text-decoration:none;margin:13px 0 20px;border-bottom:1px solid var(--legacy-color-20)}.solution-view-link:hover{border-color:var(--immersive-blue)}.solution-stage :is(a,button):focus-visible{outline:2px solid var(--immersive-blue);outline-offset:-2px}.solution-view-link:focus-visible{outline-offset:var(--space-unit)}.solution-note{position:absolute;left:clamp(36px,4vw,80px);bottom:15px;margin:0;font-size:10px;color:var(--legacy-color-111);line-height:1.6;pointer-events:none}.solution-all-link{position:absolute;right:max(calc((100% - 1240px)/2),7vw);bottom:35px;display:flex;align-items:center;gap:20px;padding:var(--space-3) 19px;border:1px solid var(--legacy-color-112);border-radius:30px;background:var(--legacy-color-113);backdrop-filter:blur(10px);color:var(--legacy-color-96);font-size:14px;text-decoration:none;transition:background-color 180ms}.solution-all-link:hover{background:var(--legacy-color-114)}body[data-active-screen=solutions] .stage-pager button{border-color:var(--legacy-color-115);background:var(--legacy-color-116)}body[data-active-screen=solutions] .stage-pager button[aria-current=step]{background:var(--legacy-color-96);border-color:var(--legacy-color-96);box-shadow:0 0 0 var(--space-unit) var(--legacy-color-116)}body[data-active-screen=solutions] .stage-pager span{color:var(--legacy-color-96)}.product-stage-foot button{background:var(--legacy-color-20);border:0;color:var(--product-muted);font-size:11px;padding:var(--space-unit);cursor:pointer}.product-stage-foot button:hover{color:var(--product-accent)}@media(min-width:1700px){.solution-glass{padding-top:150px}.solution-intro h2{font-size:36px;margin-bottom:19px}.solution-intro p{font-size:16px;line-height:1.9}.solution-selector{margin-top:35px}.solution-tab{font-size:18px;padding-block:19px}.solution-description p{font-size:15px}.solution-view-link{font-size:14px;margin-bottom:23px}.solution-note{bottom:20px}}@media(max-height:820px) and (min-width:1000px){.solution-glass{padding-top:119px;padding-bottom:28px}.solution-intro h2{font-size:28px;margin-bottom:var(--space-3)}.solution-intro p{font-size:14px;line-height:1.75}.solution-selector{margin-top:19px}.solution-tab{font-size:15px;padding-block:13px}.solution-description p{font-size:13px;line-height:1.8}.solution-view-link{font-size:12px;margin:10px 0 15px}.solution-note{bottom:8px;font-size:9px}}@media(max-width:999px){.solution-stage{height:auto;min-height:100dvh;overflow:hidden}.js .solution-feature{position:absolute;opacity:0}.solution-feature.is-active{opacity:.6}.solution-glass{position:relative;width:min(100%,600px);min-height:100dvh;padding:132px 6vw 70px}.solution-selector{overflow:visible}.solution-all-link{right:5vw;bottom:18px;font-size:12px;padding:9px 13px}.solution-note{left:6vw;bottom:24px;max-width:40%}.solution-intro p{font-size:14px}.solution-tab{font-size:15px}}@media(prefers-reduced-motion:reduce){.solution-feature,.solution-description,.solution-tab,.solution-arrow,.solution-all-link{transition:none!important}.js .solution-feature{transform:none}}

/* Scene-linked frosted glass and user-controlled solution rotation. */
:root{--solution-glass-overlay:rgba(8,14,24,.66);--solution-control-bg:rgba(255,255,255,.06);--solution-glass-inset:max(40px,calc(50vi - 660px))}
.solution-feature::after{content:"";position:absolute;inset:0 auto 0 0;width:42%;background-image:var(--solution-scene-image);background-size:auto 110%;background-position:right center;filter:blur(30px);transform:scale(1.08);opacity:.9;pointer-events:none}
.solution-glass{background:var(--solution-glass-overlay);backdrop-filter:blur(28px) saturate(.85)}
.solution-item{position:relative}
.solution-progress{position:absolute;left:0;bottom:-1px;width:100%;height:2px;background:var(--immersive-blue);transform:scaleX(0);transform-origin:left;pointer-events:none}
.solution-controls{position:absolute;left:var(--solution-glass-inset);bottom:27px;display:flex;align-items:center;gap:20px;color:var(--immersive-muted);font-size:12px;line-height:1.5}
.solution-count{font-variant-numeric:tabular-nums}
.solution-autoplay-toggle{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid var(--immersive-line);border-radius:8px;background:var(--solution-control-bg);font:inherit;color:var(--immersive-ink);cursor:pointer;transition:background-color 180ms,border-color 180ms}
.solution-autoplay-toggle:hover{border-color:var(--immersive-blue)}
.solution-autoplay-toggle[hidden]{display:none}
@media(min-width:1000px){.solution-stage .solution-glass{width:42%;max-width:900px;padding:clamp(48px,5vh,64px) clamp(30px,3vw,60px) 88px var(--solution-glass-inset)}.solution-intro h2{font-size:32px;margin-bottom:16px}.solution-intro p{font-size:15px;line-height:1.85}.solution-selector{margin-top:30px}.solution-note{display:none}}
@media(min-width:1700px){.solution-intro h2{font-size:34px}.solution-tab{font-size:17px;padding-block:17px}}
@media(max-width:999px){.solution-feature::after{display:none}.solution-controls{left:6vw;bottom:22px}.solution-glass{padding-bottom:100px}.solution-note{display:none}}
@media(prefers-reduced-motion:reduce){.solution-feature::after{transform:none}.solution-progress{display:none}.solution-autoplay-toggle{transition:none}}

/* Keep rotation controls out of the visual page, as requested. */
#solutions .solution-controls{display:none}
