/* Homepage v3: exact supplied copy, with native horizontal rails. */
body[data-page="home"]{--ink:#121210;--muted:#63615c;background:var(--paper)}
.home-v3-heading{padding-top:clamp(42px,5.5vw,90px);text-align:center}
.home-v3-heading h1{font-size:clamp(48px,6.3vw,104px);line-height:1.04;letter-spacing:-.052em;margin:0 auto;max-width:1400px;text-wrap:balance}
.home-v3-heading>p{font-size:clamp(16px,1.35vw,21px);line-height:1.6;margin:28px auto 0;max-width:1000px;text-wrap:balance}
.home-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:14px;margin-top:28px}
.home-v3-film{margin-top:48px}
.home-video-window{position:relative;aspect-ratio:16/9;border-radius:28px;overflow:hidden;background:#dad8d9;box-shadow:0 12px 32px -20px #12121066;isolation:isolate}
.home-video-window video{width:100%;height:100%;object-fit:cover}
.home-video-window::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(rgba(0,0,0,0.06),transparent 18%,transparent 82%,rgba(0,0,0,0.18))}
.home-film-logo{position:absolute;left:32px;top:30px;width:clamp(190px,26vw,370px);height:auto;object-fit:contain;z-index:1;filter:drop-shadow(0 2px 5px #0007)}
.home-video-controls{display:flex;gap:10px;position:absolute;bottom:24px;right:24px;z-index:2}
.home-video-controls button{display:flex;align-items:center;gap:18px;background:#171715ad;color:#fff;border-radius:var(--ag-pill-radius);padding:12px 18px;min-height:46px;backdrop-filter:blur(12px);font-size:13px}
.home-video-controls button:hover{background:#171715e6}
.home-video-controls button:focus-visible{outline-color:#fff}
.home-video-controls svg{width:16px;height:16px}
.home-v3-film figcaption{font-size:14px;color:#000;margin:15px 0 0 2px}
.home-v3-section{margin-top:clamp(84px,8.5vw,140px)}
.home-section-heading{margin-bottom:40px}
.home-section-heading .eyebrow{font-size:11px;letter-spacing:.15em;margin-bottom:18px;color:#000}
.home-section-heading h2{font-size:clamp(44px,4.7vw,76px);line-height:1.05;letter-spacing:-.047em;max-width:1120px;text-wrap:balance}
.home-rail-track{position:relative;display:flex;align-items:flex-start;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:6px 3px 22px;margin-inline:-3px;scroll-behavior:smooth}
.home-rail-track::-webkit-scrollbar{display:none}
.home-rail-track:focus-visible{outline-offset:6px;border-radius:12px}
.home-solution{flex:0 0 calc((100% - 48px)/3);min-width:0;scroll-snap-align:start}
.home-solution-media{position:relative;aspect-ratio:1.12;background:var(--wash);padding:16px;border-radius:24px;box-shadow:0 10px 24px -18px #24202e66;overflow:hidden}
.home-solution-media img{width:100%;height:100%;object-fit:cover;border-radius:13px;transition:transform .65s cubic-bezier(.22,1,.36,1)}
.home-solution-media>span{position:absolute;left:27px;top:27px;background:#fffdf6df;backdrop-filter:blur(10px);border-radius:99px;min-width:34px;height:34px;display:grid;place-items:center;font-size:11px;color:#000}
.home-solution-copy{padding:25px 4px 0}
.home-solution h3{font-size:clamp(29px,2.7vw,43px);line-height:1.1;letter-spacing:-.04em;margin-bottom:12px}
.home-solution p{font-size:16px;line-height:1.65;max-width:36ch}
.home-stat{display:inline-block;font-size:13px;line-height:1.55;color:#000;margin-top:18px;text-decoration:underline;text-decoration-color:#b7b5b1;text-underline-offset:5px;text-decoration-thickness:1px;max-width:100%}
.home-stat:hover{color:#000;text-decoration-color:currentColor}
.home-rail-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}
.home-rail-controls{display:flex;align-items:center;gap:20px}
.home-rail-controls>button{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:transparent;border:1px solid #ccccc9;transition:background .25s,color .25s,opacity .25s}
.home-rail-controls>button:hover{background:#171715;color:#fff}
.home-rail-controls>button:disabled{opacity:.28;cursor:default;background:transparent;color:inherit}
.home-rail-controls svg{width:20px;height:20px}
.home-rail-prev svg{transform:rotate(180deg)}
.home-rail-count{font-size:12px;font-variant-numeric:tabular-nums;min-width:52px;text-align:center;letter-spacing:.08em;color:#000}
.home-rail.is-expanded .home-solutions-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 24px;overflow:visible}
.home-rail.is-expanded .home-rail-controls{display:none}
.home-steps-track{gap:28px}
.home-step{display:grid;grid-template-columns:1.06fr 1fr;flex:0 0 88%;border-radius:26px;overflow:hidden;background:#e6e3dd;scroll-snap-align:start;min-width:0}
.home-step:nth-child(2){background:#dde4de}
.home-step:nth-child(3){background:#e4dff0}
.home-step-visual{min-height:430px;overflow:hidden}
.home-step-visual img{width:100%;height:100%;object-fit:cover}
.home-step-copy{align-self:center;padding:clamp(28px,3.8vw,58px)}
.home-step-copy .eyebrow{font-size:11px;letter-spacing:.14em;color:#000}
.home-step-copy h3{font-size:clamp(50px,5vw,78px);line-height:1;letter-spacing:-.05em;margin:28px 0 22px}
.home-step-copy p{font-size:clamp(16px,1.4vw,19px);line-height:1.65;color:#000;max-width:37ch}
.home-feature{position:relative;border-radius:28px;overflow:hidden;min-height:580px;isolation:isolate;box-shadow:0 16px 34px -24px #14121377}
.home-feature-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% center;z-index:-2;transform:scale(1.04) translate3d(var(--depth-x,0px),var(--depth-y,0px),0);transition:transform .7s cubic-bezier(.22,1,.36,1)}
.home-why{background:#202124;color:#fff}
.home-why::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,19,24,0.76588) 0%,rgba(17,19,24,0.55059) 34%,rgba(17,19,24,0.21529) 55%,rgba(17,19,24,0.03529) 72%,transparent 88%);z-index:-1}
.home-feature-copy{position:relative;padding:clamp(32px,4.5vw,72px);width:65%;max-width:920px}
.home-feature-copy>.eyebrow{font-size:11px;letter-spacing:.14em;margin-bottom:24px}
.home-feature h2{font-size:clamp(42px,4.3vw,68px);line-height:1.06;letter-spacing:-.048em;text-wrap:balance}
.home-feature-copy>p{font-size:17px;line-height:1.7;margin-top:24px;max-width:51ch}
.home-feature-copy>.button{margin-top:30px}
.home-why p{color:#fff}
.home-why .button-outline{color:#fff;border-color:#ffffff88}
.home-why .button-outline:hover{background:#ffffff16}
.home-why-credit{font-weight:500}
.home-demo{background:#e7def1;color:#000;display:flex;align-items:center}
.home-demo .home-feature-copy{width:62%}
.home-demo .home-feature-copy>p{max-width:43ch;color:#000}
.home-demo .home-actions{justify-content:flex-start}
.home-demo-image{position:absolute;inset:0 0 0 46%;z-index:-1;mask-image:linear-gradient(90deg,transparent,#000 18%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%)}
.home-demo-image img{width:100%;height:100%;object-fit:cover;object-position:58% center;transform:scale(1.04) translate3d(var(--depth-x,0px),var(--depth-y,0px),0);transition:transform .7s cubic-bezier(.22,1,.36,1)}
.home-demo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(231,222,241,0.9) 28%,rgba(231,222,241,0.64941) 40%,transparent 58%);z-index:-1;pointer-events:none}
.home-v3-footer{margin-top:clamp(100px,10vw,160px);padding:55px 0 30px;border-top:1px solid #d8d8da}
.home-footer-intro{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:32px}
.home-footer-intro>img{width:64px;height:64px;object-fit:contain;align-self:start;margin-top:5px}
.home-footer-intro h2{font-size:clamp(38px,4.1vw,64px);line-height:1.08;letter-spacing:-.046em;max-width:850px;text-wrap:balance}
.home-footer-intro p{font-size:16px;line-height:1.6;margin-top:20px}
.home-footer-links{display:flex;justify-content:space-between;gap:28px;align-items:center;padding:50px 0 38px}
.home-footer-email{display:inline-flex;align-items:center;gap:22px;font-size:clamp(18px,2.2vw,30px);letter-spacing:-.025em}
.home-footer-links nav,.home-footer-legal nav{display:flex;gap:24px;flex-wrap:wrap;font-size:14px}
.home-footer-links a:hover,.home-footer-legal a:hover{text-decoration:underline;text-underline-offset:5px}
.home-footer-legal{display:flex;justify-content:space-between;align-items:flex-start;gap:25px;border-top:1px solid #d8d8da;padding-top:23px;font-size:12px;color:#000}
.home-footer-legal p{line-height:1.8;font-size:12px}
.home-footer-legal nav{font-size:12px;gap:22px}
@media(hover:hover) and (pointer:fine){.home-solution-media:hover img{transform:scale(1.035)}}
@media(max-width:1100px){.home-feature-copy{width:75%}.home-demo .home-feature-copy{width:70%}.home-step{flex-basis:94%}.home-step-visual{min-height:380px}.home-footer-intro{grid-template-columns:48px minmax(0,1fr);gap:22px}.home-footer-intro>img{width:48px;height:48px}.home-footer-intro>.button{grid-column:2;justify-self:start}.home-footer-links{align-items:flex-start;flex-direction:column}}
@media(max-width:800px){.home-solution{flex-basis:calc((100% - 24px)/2)}.home-rail.is-expanded .home-solutions-track{grid-template-columns:repeat(2,minmax(0,1fr))}.home-step{grid-template-columns:1fr 1fr;flex-basis:96%}.home-step-visual{min-height:380px}.home-step-copy{padding:28px}.home-feature-copy{width:90%}.home-feature-copy>p{font-size:16px}.home-demo .home-feature-copy{width:80%}.home-demo::after{background:linear-gradient(90deg,rgba(231,222,241,0.9) 26%,rgba(231,222,241,0.64941) 42%,rgba(231,222,241,0.16941) 70%,transparent 100%)}.home-why::after{background:linear-gradient(90deg,rgba(17,19,24,0.75529) 0%,rgba(17,19,24,0.50471) 55%,rgba(17,19,24,0.12706) 82%,transparent 100%)}.home-feature{min-height:560px}}
@media(max-width:600px){.home-v3-heading{padding-top:32px}.home-v3-heading h1{font-size:clamp(40px,10.5vw,62px);line-height:1.08;letter-spacing:-.045em}.home-v3-heading>p{font-size:16px;margin-top:24px;text-wrap:pretty}.home-actions{gap:10px;margin-top:24px}.home-actions .button{padding:14px 18px;min-height:50px;font-size:13px;gap:15px}.home-v3-film{margin-top:32px}.home-video-window{aspect-ratio:3/2;border-radius:18px}.home-film-logo{left:17px;top:18px;width:180px}.home-video-controls{right:12px;bottom:12px;gap:7px}.home-video-controls button{min-height:40px;padding:9px 12px;font-size:12px;gap:8px}.home-video-controls svg{width:14px;height:14px}.home-v3-film figcaption{font-size:12px}.home-section-heading{margin-bottom:28px}.home-section-heading h2{font-size:43px;line-height:1.06}.home-section-heading .eyebrow{margin-bottom:16px}.home-rail-track{gap:18px}.home-solution{flex-basis:87%}.home-solution-media{border-radius:22px;padding:14px}.home-solution h3{font-size:35px}.home-solution-copy{padding-top:22px}.home-solution p{font-size:16px}.home-stat{font-size:13px}.home-rail-bottom{gap:18px;align-items:flex-start;flex-wrap:wrap}.home-rail-bottom>.button{font-size:13px;min-height:48px;padding:13px 18px;gap:18px}.home-rail-controls{gap:10px;margin-left:auto}.home-rail-controls>button{width:42px;height:42px}.home-rail-count{font-size:11px;min-width:44px}.home-rail.is-expanded .home-solutions-track{grid-template-columns:1fr;gap:38px}.home-step{flex-basis:92%;grid-template-columns:1fr}.home-step-visual{min-height:0;height:225px}.home-step-copy{padding:30px 25px 35px}.home-step-copy h3{font-size:54px;margin:20px 0 18px}.home-step-copy p{font-size:16px;line-height:1.7}.home-feature{border-radius:22px;min-height:0}.home-feature-copy,.home-demo .home-feature-copy{padding:35px 25px 38px;width:100%}.home-feature h2{font-size:43px;line-height:1.07}.home-feature-copy>.eyebrow{margin-bottom:22px}.home-feature-copy>p{font-size:16px;margin-top:23px}.home-why-credit br{display:block}.home-why .home-feature-image{object-position:63% center}.home-why::after{background:#111318d9}.home-demo{padding-top:230px}.home-demo-image{inset:0 0 auto;height:280px;mask-image:linear-gradient(#000 75%,transparent);-webkit-mask-image:linear-gradient(#000 75%,transparent)}.home-demo-image img{object-position:center 40%}.home-demo::after{display:none}.home-demo .home-actions{gap:10px}.home-footer-intro{display:block}.home-footer-intro>img{width:48px;height:48px;margin:0 0 30px}.home-footer-intro h2{font-size:43px;line-height:1.08}.home-footer-intro p{font-size:16px;margin:20px 0 24px}.home-footer-links{padding-top:35px;gap:26px}.home-footer-links nav{gap:17px 22px}.home-footer-email{font-size:19px;gap:16px}.home-footer-legal{flex-direction:column;gap:18px}.home-v3-footer{margin-top:88px;padding-top:38px}}
@media(prefers-reduced-motion:reduce){.home-rail-track{scroll-behavior:auto}.home-feature-image,.home-demo-image img,.home-solution-media img{transform:none!important;transition:none}.home-rail-controls button{transition:none}}
/* Keep portrait-shaped source images from stretching the horizontal panels. */
.home-step-visual{position:relative}
.home-step-visual img{position:absolute;inset:0}
.home-footer-intro>img{filter:brightness(0)}

/* Restore the original spatial carousel and neutral editorial cards. */
.home-spatial{overflow:hidden;padding-bottom:8px}
.home-spatial .solution-card{background:transparent;color:#000;overflow:visible;border-radius:0;box-shadow:none;min-height:0}
.home-spatial .solution-card:after{display:none}
.home-spatial .home-solution-media{height:400px;aspect-ratio:auto;padding:0;border-radius:20px;overflow:hidden}
.home-spatial .home-solution-media img{position:relative;inset:auto;object-fit:cover;border-radius:0}
.home-spatial .solution-copy{position:relative;inset:auto;padding:24px 4px 0}
.home-spatial .solution-copy h3{font-size:40px;line-height:1.12;margin:0}
.home-spatial .solution-copy p{color:#000;font-size:16px;line-height:1.6;max-width:42ch;padding:0;margin-top:14px}
.js .home-spatial .carousel-stage{height:610px}
.js .home-spatial .solution-card{height:auto;width:clamp(340px,42vw,610px)}
.js .home-spatial .solution-card[data-position="3"]{transform:translateX(210%) scale(.5) rotateY(-22deg);opacity:0;pointer-events:none}
.home-spatial .carousel-bottom{flex-wrap:wrap}
.home-spatial.is-expanded .carousel-stage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px;height:auto;width:calc(100% - 2 * var(--gutter));margin:auto}
.js .home-spatial.is-expanded .solution-card{position:relative;left:auto;top:auto;width:100%;transform:none;opacity:1;pointer-events:auto}
.js .home-spatial.is-expanded .solution-copy{opacity:1}
.home-spatial.is-expanded .carousel-controls{display:none}
.home-spatial.is-expanded .home-solution-media{height:300px}
.home-step,.home-step:nth-child(2),.home-step:nth-child(3){background:#f6f6f2;border-radius:24px}
.home-step-copy .tags{margin-top:24px;flex-wrap:wrap}
.home-step-copy .text-link{margin-top:28px;font-size:14px}
.home-step-copy h3{font-weight:400}
.home-step-visual .floating-label{z-index:1;left:18px;bottom:18px;top:auto;font-size:12px}
@media(max-width:800px){.home-spatial.is-expanded .carousel-stage{grid-template-columns:repeat(2,minmax(0,1fr))}.home-spatial .home-solution-media{height:340px}}
@media(max-width:600px){.js .home-spatial .solution-card{width:80vw}.home-spatial .home-solution-media{height:320px}.js .home-spatial .carousel-stage{height:570px}.home-spatial .solution-copy h3{font-size:34px}.home-spatial .solution-copy p{font-size:15px}.home-spatial .carousel-bottom{gap:18px}.home-spatial .carousel-bottom>.button{font-size:13px;padding:13px 18px}.home-spatial .carousel-controls{margin-left:auto}.home-spatial.is-expanded .carousel-stage{grid-template-columns:1fr}.home-step{flex-basis:100%}.home-step-visual{height:auto;aspect-ratio:1.16;min-height:0}.home-step-copy{padding:30px 26px 36px}.home-step-copy h3{font-size:46px}.home-step-copy .tags{gap:8px}.home-step-copy .tags span{font-size:11px}.home-step-visual img{object-position:center}}

/* Social brand icons: accessible labels, comfortable touch targets, restrained motion. */
.home-footer-links nav[aria-label="Social links"]{gap:10px;align-items:center}
.home-footer-links nav[aria-label="Social links"]>a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:#000;text-decoration:none;transition:background-color 300ms,translate 450ms var(--ag-ease),scale 450ms var(--ag-ease)}
.home-footer-links nav[aria-label="Social links"] svg{display:block;width:22px;height:22px;fill:currentColor}
.home-footer-links nav[aria-label="Social links"]>a:hover{background:#ffffff55;translate:0 -2px}
.home-footer-links nav[aria-label="Social links"]>a:active{scale:.94}
.home-footer-links nav[aria-label="Social links"]>a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.home-footer-links nav[aria-label="Social links"]>a{transition:none;translate:none;scale:1}}


/* The opening film moves from the viewport into the page as you scroll. */
body[data-page="home"]{--home-header:0;--home-nav:255;--cinema-tail:0px}
body[data-page="home"] .site-header{position:fixed;inset:0 0 auto;z-index:30;isolation:isolate;background:transparent;box-shadow:none;color:rgb(var(--home-nav) var(--home-nav) var(--home-nav))}
body[data-page="home"] .site-header::before,body[data-page="home"] .site-header::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}
body[data-page="home"] .site-header::before{background:none;opacity:calc(1 - var(--home-header))}
body[data-page="home"] .site-header::after{background:var(--paper);box-shadow:0 3px 18px -13px #12121045;opacity:var(--home-header)}
body[data-page="home"] .site-header .brand::before{opacity:var(--home-header)}
body[data-page="home"] .site-header .desktop-nav a{text-shadow:0 1px 4px rgb(0 0 0 / calc(.25 * (1 - var(--home-header))))}
body[data-page="home"] .site-header .mobile-nav{color:#000;background:var(--paper)}
body[data-page="home"] .site-header .brand:focus-visible,body[data-page="home"] .site-header .desktop-nav a:focus-visible,body[data-page="home"] .site-header .menu-toggle:focus-visible{outline-color:currentColor}
.home-cinema{position:relative;height:100svh;margin:0;overflow:visible}
.home-cinema.is-scroll-ready{height:calc(100svh + var(--cinema-travel,70svh))}
.home-cinema-stage{position:sticky;top:0;height:100svh;width:100%;overflow:hidden;isolation:isolate}
.home-opening-film{position:absolute;inset:0;margin:0}
.home-cinema-window{position:absolute;inset:0;overflow:hidden;isolation:isolate;background:#171719;clip-path:inset(0px round 0px);will-change:clip-path}
.home-cinema-window>video{position:absolute;left:50%;top:0;max-width:none;width:100%;height:100%;object-fit:cover;transform:translateX(-50%);transform-origin:center center;will-change:transform}
.home-cinema-window::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(rgba(0,0,0,0.04588),transparent 18%,transparent 82%,rgba(0,0,0,0.18))}
.home-cinema-window .home-video-controls{will-change:transform}
.home-opening-film figcaption{position:absolute;left:var(--cinema-caption-x,32px);top:var(--cinema-caption-y,100%);margin:0;font-size:14px;color:#000;opacity:0;pointer-events:none}
.home-scroll-cue{position:absolute;z-index:2;left:50%;bottom:30px;display:flex;align-items:center;gap:12px;transform:translateX(-50%);color:#fff;font-size:13px;text-shadow:0 1px 8px #0007;padding:10px;white-space:nowrap}
.home-scroll-cue svg{width:17px;height:17px;transition:translate .4s cubic-bezier(.22,1,.36,1)}
.home-scroll-cue:hover svg{translate:0 3px}
.home-scroll-cue:focus-visible{outline-color:#fff;border-radius:6px}
body[data-page="home"] .home-v3-hero{position:relative;z-index:2;margin-top:calc(-1 * var(--cinema-tail));scroll-margin-top:110px}
body[data-page="home"] .home-v3-heading{padding-top:clamp(38px,4.5vw,72px)}
@media(max-width:640px){.home-scroll-cue{left:17px;bottom:69px;transform:none;font-size:12px}.home-opening-film figcaption{font-size:12px}body[data-page="home"] .home-v3-hero{scroll-margin-top:90px}}
@media(prefers-reduced-motion:reduce){.home-cinema.is-scroll-ready{height:100svh}.home-cinema-stage{position:relative}.home-cinema-window,.home-cinema-window>video{will-change:auto}.home-scroll-cue svg{transition:none}}
@media print{body[data-page="home"] .site-header,.home-cinema{display:none}body[data-page="home"] .home-v3-hero{margin-top:0}}


/* Opening copy belongs to the film; the next section is the solutions carousel. */
.home-cinema-window::after{opacity:var(--copy-opacity,1);background:radial-gradient(ellipse min(1450px,118vw) 96% at 0% 100%,rgba(16,17,18,0.67412) 0%,rgba(16,17,18,0.55765) 24%,rgba(16,17,18,0.37765) 48%,rgba(16,17,18,0.19765) 70%,rgba(16,17,18,0.05294) 88%,rgba(16,17,18,0) 100%)}
body[data-page="home"] .home-cinema-copy{position:absolute;z-index:2;left:clamp(28px,6.4vw,112px);top:auto;bottom:clamp(92px,10svh,140px);width:min(53vw,800px);max-width:none;margin:0;padding:0;text-align:left;color:#fff;opacity:var(--copy-opacity,1);transform:translate3d(0,var(--copy-drift,0px),0);will-change:opacity,transform}
.home-cinema-copy h1{font-size:clamp(46px,4.85vw,84px);line-height:1.04;letter-spacing:-.05em;max-width:none;margin:0;text-wrap:balance;text-shadow:0 2px 22px #0002}
.home-cinema-copy>p{max-width:510px;font-size:clamp(16px,1.3vw,20px);line-height:1.65;color:#fff;margin:25px 0 0;text-wrap:pretty}
.home-cinema-copy .home-actions{justify-content:flex-start;margin-top:29px;gap:13px}
.home-cinema-copy .button-dark{background:#f1f1ed;color:#000;box-shadow:0 3px 15px #0001}
.home-cinema-copy .button-dark:hover{background:#fff}
.home-cinema-copy .button-outline{border-color:#ffffff85;color:#fff;background:#ffffff0d;backdrop-filter:blur(10px)}
.home-cinema-copy .button-outline:hover{background:#ffffff22}
.home-cinema-copy .button:focus-visible{outline-color:#fff}
body[data-page="home"] .home-cinema+.solutions-section{position:relative;z-index:2;margin-top:calc(clamp(38px,4.5vw,72px) - var(--cinema-tail));scroll-margin-top:120px}
@media(max-width:900px){body[data-page="home"] .home-cinema-copy{left:32px;width:65vw}.home-cinema-copy h1{font-size:clamp(44px,6vw,62px)}.home-cinema-copy>p{font-size:17px;max-width:440px}}
@media(max-width:600px){body[data-page="home"] .home-cinema-copy{left:24px;width:calc(100% - 48px);bottom:clamp(136px,16svh,182px)}.home-cinema-copy h1{font-size:clamp(38px,10.7vw,54px);line-height:1.07;text-wrap:pretty}.home-cinema-copy>p{font-size:16px;line-height:1.55;margin-top:22px}.home-cinema-copy .home-actions{gap:10px;margin-top:24px}.home-cinema-copy .button{min-height:48px;padding:13px 16px;gap:13px;font-size:12px}.home-cinema-window::after{background:radial-gradient(ellipse 185% 96% at 0% 100%,rgba(16,17,18,0.67412) 0%,rgba(16,17,18,0.55765) 24%,rgba(16,17,18,0.37765) 48%,rgba(16,17,18,0.19765) 70%,rgba(16,17,18,0.05294) 88%,rgba(16,17,18,0) 100%)}body[data-page="home"] .home-cinema+.solutions-section{scroll-margin-top:95px}}
@media(max-height:700px) and (max-width:600px){.home-cinema-copy h1{font-size:36px;line-height:1.03}.home-cinema-copy>p{font-size:14px;margin-top:16px}.home-cinema-copy .home-actions{margin-top:18px}.home-cinema-copy .button{min-height:43px;padding:10px 14px}body[data-page="home"] .home-cinema-copy{bottom:124px}}
@media(max-height:580px) and (min-width:601px){.home-cinema-copy h1{font-size:34px}.home-cinema-copy>p{font-size:14px;line-height:1.4;margin-top:14px}.home-cinema-copy .home-actions{margin-top:17px}.home-cinema-copy .button{padding:10px 16px;min-height:43px;font-size:12px}body[data-page="home"] .home-cinema-copy{bottom:78px}}
@media(prefers-reduced-motion:reduce){body[data-page="home"] .home-cinema-copy{will-change:auto}}
@media print{body[data-page="home"] .home-cinema+.solutions-section{margin-top:0}}


/* viewport-fit=cover lets the film and glass fill the screen; only header controls
   need safe-area padding (provided by header.css). Keep the page canvas light. */
@media(max-width:1180px){
  html{background:var(--paper);color-scheme:only light}
  body[data-page="home"] .home-cinema-stage,
  body[data-page="home"] .home-cinema-window{background:var(--paper)}
  body[data-page="home"] header.site-header{background:transparent}
  body[data-page="home"] header.site-header::after{opacity:1}
}
@media(max-width:700px){
  body[data-page="home"] .home-rail-track{-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;touch-action:pan-x pan-y;overscroll-behavior-x:contain}
  body[data-page="home"] .home-rail-controls>button{touch-action:manipulation}
}

/* Phone and touch layouts keep Solutions in its swipe carousel. */
.home-spatial [data-spatial-all][hidden]{display:none!important}
@media(max-width:800px),(hover:none) and (pointer:coarse){
  .home-spatial [data-spatial-all],.home-rail [data-all-solutions]{display:none!important}
  .home-spatial .carousel-bottom{flex-direction:row;justify-content:flex-end;gap:0}
}

/* A drag moves the cards, without selecting their captions or lifting images. */
.home-rail:not(.is-expanded) .home-rail-track,.home-rail:not(.is-expanded) .home-rail-track *,
.home-spatial:not(.is-expanded) .carousel-stage,.home-spatial:not(.is-expanded) .carousel-stage *{-webkit-user-select:none;user-select:none}
.home-rail-track img,.home-spatial .carousel-stage img{-webkit-user-drag:none}
.home-rail-track{scroll-behavior:auto;scroll-padding-inline:3px}
.home-rail-track [data-rail-item]{scroll-snap-stop:always}
@media(hover:hover) and (pointer:fine){
  .home-rail:not(.is-expanded) .home-rail-track{cursor:grab}
  .home-rail .home-rail-track.is-dragging,.home-rail .home-rail-track.is-dragging *{cursor:grabbing}
}

/* Home editorial sections share About's headings, body size and reading rhythm. */
.home-section-heading h2,.home-feature h2{font-size:var(--ag-section-title-size);line-height:var(--ag-section-title-leading);letter-spacing:var(--ag-section-title-tracking)}
.home-solution p,.home-spatial .solution-copy p,.home-step-copy p,.home-feature-copy>p,.home-demo .home-feature-copy>p{
  font-size:var(--ag-copy-size);line-height:var(--ag-copy-leading);letter-spacing:0;max-width:var(--ag-copy-width);
}
.home-stat{font-size:var(--ag-caption-size);line-height:var(--ag-copy-leading)}
/* Overlap the carousel cards in one intrinsic grid row so larger copy sets its height. */
.js .home-spatial:not(.is-expanded) .carousel-stage{display:grid;grid-template-columns:minmax(0,1fr);height:auto}
.js .home-spatial:not(.is-expanded) .solution-card{position:relative;grid-area:1/1;align-self:start}

/* Home, Demo and Projects use one shared opening type scale. */
body .home-cinema-copy h1{font-family:var(--display);font-size:var(--ag-hero-title-size);line-height:var(--ag-hero-title-leading);letter-spacing:var(--ag-hero-title-tracking)}
body .home-cinema-copy>p{font-family:var(--sans);font-size:var(--ag-hero-copy-size);line-height:var(--ag-hero-copy-leading);max-width:var(--ag-hero-copy-width)}
