:root{--ink:#20221e;--muted:#63655c;--paper:#f7f8f2;--white:#fff;--orange:#ff5b23;--line:#dedfd6;--sage:#e4e9dc;--radius:24px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img,video{display:block;max-width:100%}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #315cd5;outline-offset:5px}[hidden]{display:none!important}.wrap{width:min(1280px,calc(100% - 80px));margin-inline:auto}.skip{position:fixed;top:-80px;left:20px;background:var(--ink);color:white;padding:16px;z-index:100}.skip:focus{top:10px}.header{position:sticky;top:0;z-index:20;background:rgba(247,248,242,.97);border-bottom:1px solid var(--line)}.header-inner{height:94px;display:flex;align-items:center;gap:36px}.logo{margin-right:auto;flex-shrink:0}.logo img{width:218px;height:auto}.nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:600}.nav a{padding:14px 0}.nav a:hover,.nav a[aria-current]{color:#b8370a}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:17px 23px;min-height:52px;border-radius:9px;background:var(--ink);color:white;font-size:15px;font-weight:600;border:1px solid var(--ink);transition:transform .2s,background .2s}.button:hover{background:#40433b;transform:translateY(-2px)}.button.orange{background:var(--orange);border-color:var(--orange);color:#20221e}.button.orange:hover{background:#ff773f}.button.light{background:transparent;color:var(--ink);border-color:#b8bab0}.button.white{background:white;color:var(--ink);border-color:white}.arrow{font-size:21px;font-weight:400}.menu-toggle{display:none}.eyebrow{display:flex;align-items:center;gap:10px;font:600 12px/1.5 Arial,sans-serif;letter-spacing:1.8px;text-transform:uppercase;margin:0 0 26px}.dot{width:8px;height:8px;border-radius:50%;background:var(--orange);display:inline-block}.hero{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,1fr);gap:45px;align-items:center;padding:72px 0 64px}.hero h1{font-size:clamp(48px,5.5vw,79px);letter-spacing:-4px;line-height:1.025;font-weight:500;margin:0 0 27px}.hero h1 em{font-style:normal;color:#c94417}.lead{font-size:18px;line-height:1.65;color:var(--muted);max-width:530px;margin:0 0 29px}.actions{display:flex;gap:13px;flex-wrap:wrap;align-items:center}.micro{font-size:12px;color:var(--muted);margin-top:20px;line-height:1.6}.stage{height:540px;position:relative;border-radius:160px 160px 25px 25px;background:var(--sage);overflow:hidden;isolation:isolate}.stage:before{content:'';position:absolute;border:1px solid #b9c3ac;width:370px;height:370px;border-radius:50%;left:50%;top:55px;transform:translateX(-50%)}.stage:after{content:'hello.';position:absolute;top:10px;left:50%;transform:translateX(-50%);font-size:114px;letter-spacing:-8px;color:#bdc8b0;z-index:-1}.hero-avatar{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transform:scale(1.43);transform-origin:center 43%;padding-top:40px}.stage-tag{position:absolute;left:24px;top:29px;background:var(--paper);border:1px solid #d4d8ce;border-radius:30px;padding:10px 14px;font-size:12px;display:flex;align-items:center;gap:8px}.speech{position:absolute;right:18px;top:132px;background:white;padding:18px 21px;border-radius:17px 17px 2px 17px;box-shadow:0 8px 25px #29371b0c;font-size:15px;max-width:190px;line-height:1.4}.stage-bottom{position:absolute;bottom:22px;left:22px;right:22px;background:#ffffffed;padding:15px 17px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:13px}.stage-bottom strong{font-size:14px;display:block}.stage-bottom small{font-size:12px;color:var(--muted);display:block;margin-top:5px}.avatar-choices{display:flex;gap:6px}.avatar-choice{padding:0;background:#f3f3ed;border:2px solid transparent;border-radius:50%;width:45px;height:45px;overflow:hidden}.avatar-choice img{width:100%;height:100%;object-fit:cover;transform:scale(1.8);transform-origin:center 25%}.avatar-choice[aria-pressed=true]{border-color:var(--orange)}.capabilities{border-block:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:25px 0;gap:20px;font-size:14px}.capabilities>span:first-child{color:var(--muted);font-size:12px}.capabilities strong{font-weight:500}.section{padding:100px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}h2{font-size:clamp(32px,3.5vw,49px);letter-spacing:-1.9px;line-height:1.1;font-weight:500;margin:0 0 20px}h3{font-size:24px;letter-spacing:-.6px;line-height:1.2;font-weight:500;margin:0 0 16px}p{line-height:1.7}.section-head h2{margin-bottom:0}.text-link{display:inline-flex;align-items:center;gap:22px;border-bottom:1px solid #989c8c;padding:10px 0;font-size:14px;white-space:nowrap}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.use-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.use-art{height:210px;position:relative;overflow:hidden;background:#e6ebdf}.use-art img{height:100%;width:100%;object-fit:contain;mix-blend-mode:multiply;transform:scale(1.4);transform-origin:center 25%}.use-card:nth-child(2) .use-art{background:#efdfcf}.use-card:nth-child(3) .use-art{background:#e2e2ef}.use-art span{position:absolute;left:18px;top:18px;font-size:12px;background:#ffffffdb;border-radius:20px;padding:7px 11px}.use-copy{padding:27px}.use-copy p{font-size:15px;color:var(--muted);margin:0 0 20px}.use-copy a{font-size:14px;font-weight:600;display:flex;justify-content:space-between}.dark{background:#252923;color:#f7f8f2;border-radius:26px;padding:54px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:65px;align-items:center}.dark .eyebrow{color:#b8c6aa}.dark p{color:#bec5b7}.steps{counter-reset:steps}.step{display:grid;grid-template-columns:38px minmax(0,1fr);gap:17px;padding:24px 0;border-bottom:1px solid #50564b}.step:first-child{padding-top:0}.step:last-child{border:0;padding-bottom:0}.step:before{counter-increment:steps;content:'0' counter(steps);font-size:13px;color:#e0edcc;padding-top:5px}.step h3{font-size:21px;margin-bottom:7px}.step p{font-size:14px;line-height:1.65;margin:0}.avatar-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.avatar-tile{background:#eceee6;border-radius:16px;overflow:hidden}.avatar-tile img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;mix-blend-mode:multiply}.avatar-label{padding:0 20px 20px;display:flex;align-items:center;justify-content:space-between}.avatar-label strong{font-size:16px;font-weight:500}.avatar-label span{font-size:12px;color:var(--muted)}.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:70px}details{border-bottom:1px solid var(--line);padding:22px 0}details:first-child{border-top:1px solid var(--line)}summary{list-style:none;cursor:pointer;font-size:17px;line-height:1.5;display:flex;justify-content:space-between;gap:22px}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:23px;font-weight:400}details[open] summary:after{content:'−'}details p{color:var(--muted);font-size:16px;margin:15px 30px 0 0}.cta{background:var(--orange);padding:65px 55px;border-radius:24px;display:flex;justify-content:space-between;align-items:center;gap:35px}.cta h2{max-width:690px;font-size:48px;margin:0}.footer{margin-top:90px;border-top:1px solid var(--line);padding:55px 0 25px}.footer-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:35px}.footer img{width:220px;height:auto}.footer p{font-size:14px;color:var(--muted);max-width:275px}.footer strong{display:block;font-size:13px;margin:0 0 19px}.footer a:not(.logo){display:block;font-size:14px;color:var(--muted);padding:6px 0}.footer a:hover{color:#b8370a}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;margin-top:42px;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.page-hero{padding:64px 0 48px;max-width:880px}.page-hero h1{font-weight:500;font-size:clamp(43px,5vw,68px);letter-spacing:-2.8px;line-height:1.08;margin:0 0 25px}.breadcrumb{padding-top:25px;display:flex;gap:12px;font-size:12px;color:var(--muted);flex-wrap:wrap}.breadcrumb a{text-decoration:underline;text-underline-offset:3px}.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.feature{padding:28px;border:1px solid var(--line);border-radius:16px}.feature .number{font:14px monospace;color:#b8370a;display:block;margin-bottom:35px}.feature p{color:var(--muted);font-size:16px;margin-bottom:0}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:30px}.chip{background:transparent;border:1px solid #abad9f;border-radius:30px;padding:12px 19px;color:var(--ink);min-height:44px}.chip[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery-note{font-size:14px;color:var(--muted);margin-bottom:28px}.video-shell{background:#20221e;padding:18px;border-radius:22px;color:white}.video-shell video{width:100%;max-height:610px;background:#151613;border-radius:10px}.video-caption{display:flex;justify-content:space-between;gap:20px;padding:20px 4px 3px;font-size:14px;line-height:1.5}.video-caption span{color:#bdc4b7}.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:45px}.contact-card{background:var(--sage);border-radius:22px;padding:40px}.contact-card a{text-decoration:underline;text-underline-offset:5px}.contact-card h2{font-size:32px}.form{display:grid;gap:18px}.field{display:grid;gap:8px}.field label{font-size:14px;font-weight:600}.field input,.field select,.field textarea{width:100%;padding:14px 16px;border:1px solid #aeb2a4;background:white;border-radius:8px;color:var(--ink);min-width:0}.field textarea{resize:vertical;min-height:135px}.form-note{font-size:13px;color:var(--muted);line-height:1.6;margin:0}.form-note a{text-decoration:underline}.status{font-size:14px;line-height:1.6}.docs-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:70px;padding-top:40px}.docs-nav{align-self:start;position:sticky;top:125px;display:grid;gap:4px}.docs-nav a{font-size:14px;padding:13px 15px;border-radius:7px}.docs-nav a[aria-current]{background:var(--sage);font-weight:600}.prose{max-width:790px}.prose h2{font-size:29px;letter-spacing:-.9px;margin:42px 0 15px}.prose h3{font-size:21px;margin-top:28px}.prose p,.prose li{font-size:16px;line-height:1.8;color:#50564b}.prose a{text-decoration:underline;text-underline-offset:4px}.prose li{margin-bottom:10px}.note{background:var(--sage);border-left:3px solid #889778;padding:18px 22px;font-size:14px;line-height:1.7;border-radius:0 10px 10px 0}.code-shell{position:relative;background:#252923;color:#dcebcf;border-radius:12px;margin:25px 0;padding:48px 22px 22px}.code-shell pre{overflow-x:auto;margin:0;line-height:1.8;font-size:13px;white-space:pre}.copy{position:absolute;right:12px;top:10px;color:white;border:1px solid #67715e;background:transparent;border-radius:5px;padding:6px 10px;min-height:30px;font-size:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:17px 12px;border-bottom:1px solid var(--line);line-height:1.6}th{background:var(--sage)}.empty-404{padding:90px 0}.empty-404 .error-code{font-size:110px;font-weight:500;letter-spacing:-8px;color:#c94417}.empty-404 h1{font-weight:500;font-size:48px;letter-spacing:-2px}.no-pad-top{padding-top:0}a.card-link:hover{border-color:#888e7d}.docs-cards a{display:block}.docs-cards .number{margin-bottom:25px}.inline-link{text-decoration:underline;text-underline-offset:4px}
@media(min-width:1500px){.hero{padding-block:85px}.stage{height:580px}}
@media(max-width:1100px){.wrap{width:calc(100% - 48px)}.header-inner{gap:22px}.logo img{width:180px}.nav{gap:19px}.hero{gap:25px}.hero h1{letter-spacing:-3px}.stage{height:500px}.speech{right:12px;max-width:160px}.dark{padding:38px;gap:35px}.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.header-inner{height:80px}.nav{gap:15px}.nav a{font-size:13px}.header .button{padding:12px 16px;font-size:13px;gap:12px}.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding-top:50px}.hero h1{font-size:51px}.lead{font-size:16px}.stage{height:470px}.speech{top:110px;font-size:13px;max-width:145px}.stage-bottom{left:12px;right:12px;bottom:12px;padding:12px}.avatar-choice{width:35px;height:35px}.stage-bottom small{font-size:10px}.capabilities{flex-wrap:wrap;justify-content:center;gap:20px 35px}.capabilities>span:first-child{width:100%;text-align:center}.section{padding:70px 0}.use-copy{padding:22px}.use-art{height:180px}.use-copy h3{font-size:21px}.faq-grid{gap:35px}.cta{padding:40px}.cta h2{font-size:36px}.docs-layout{gap:30px;grid-template-columns:190px minmax(0,1fr)}.footer-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr)}.footer-grid>div:first-child{grid-column:1/-1}.features{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.wrap{width:calc(100% - 36px)}.header-inner{gap:12px;flex-wrap:wrap;height:auto;min-height:76px;padding-block:17px}.logo img{width:162px}.header .button{min-height:40px;padding:10px 12px;font-size:12px;gap:8px}.menu-toggle{display:block;border:1px solid #b8bab0;border-radius:7px;background:transparent;padding:10px;min-height:42px;font-size:12px;order:2}.nav{width:100%;order:3;display:flex;flex-wrap:wrap;gap:10px 25px}.nav a{font-size:16px;padding:10px}.js .nav{display:none}.js .header.is-open .nav{display:flex}.hero{grid-template-columns:minmax(0,1fr);padding:44px 0 35px;gap:30px}.hero h1{font-size:clamp(46px,10.7vw,67px);letter-spacing:-2.8px;max-width:560px}.eyebrow{font-size:11px;margin-bottom:21px}.lead{font-size:17px}.stage{height:480px;max-width:500px;width:100%;margin:auto}.stage-bottom{left:20px;right:20px;bottom:20px;padding:17px}.stage-bottom small{font-size:12px}.speech{right:22px;top:125px;font-size:16px;max-width:170px}.avatar-choice{width:43px;height:43px}.grid3{grid-template-columns:minmax(0,1fr)}.use-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr)}.use-art{height:100%;min-height:225px}.use-copy{padding:24px 19px}.section{padding:55px 0}.section-head{align-items:start;flex-direction:column;gap:15px}.section-head h2{font-size:36px}.dark{grid-template-columns:minmax(0,1fr);gap:25px;padding:30px;border-radius:19px}.dark h2{font-size:36px}.avatar-row{grid-template-columns:repeat(2,minmax(0,1fr))}.avatar-label{padding:0 14px 18px}.avatar-label span{font-size:11px}.faq-grid{grid-template-columns:minmax(0,1fr);gap:25px}.cta{flex-direction:column;align-items:start;padding:34px 28px;border-radius:18px}.cta h2{font-size:36px}.footer{margin-top:55px}.footer-grid{gap:24px;grid-template-columns:repeat(2,minmax(0,1fr))}.footer-bottom{flex-direction:column;gap:12px;line-height:1.6}.page-hero{padding:42px 0 35px}.page-hero h1{font-size:44px;letter-spacing:-1.8px}.features{grid-template-columns:minmax(0,1fr)}.feature .number{margin-bottom:22px}.two-col{grid-template-columns:minmax(0,1fr);gap:30px}.docs-layout{grid-template-columns:minmax(0,1fr);gap:25px;padding-top:20px}.docs-nav{position:static;display:flex;flex-wrap:wrap;gap:5px}.docs-nav a{padding:11px;font-size:13px}.video-caption{flex-direction:column;gap:6px}.video-shell{padding:10px}.no-pad-top{padding-top:0}.contact-card{padding:29px}}
@media(min-width:701px) and (max-width:850px){.hero h1{font-size:clamp(40px,5.8vw,49px)}}
:disabled{opacity:.55;cursor:not-allowed}.prose .button{text-decoration:none}.prose .page-hero{padding-top:20px}.prose .page-hero h1{overflow-wrap:anywhere}.video-shell video{aspect-ratio:16/9}.menu-toggle{min-width:44px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* VuppetMaster / cinematic direction. Shared layouts remain in site.css. */
@font-face{font-family:Outfit;src:url('/assets/fonts/outfit-variable.woff2') format('woff2'),url('/assets/fonts/outfit-variable.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--ink:#f5f3f0;--muted:#adaab3;--paper:#101014;--white:#fff;--orange:#ff6b35;--line:#ffffff20;--sage:#22222c;font-family:Outfit,'Segoe UI',Arial,sans-serif;background:var(--paper);color-scheme:dark}
body{background:var(--paper);overflow-x:clip}::selection{background:#ff6b35;color:#151419}main{overflow:clip}button,input,select,textarea{font-family:inherit}.wrap{width:min(1320px,calc(100% - 96px))}.header{position:sticky;background:#101014d9;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-bottom:1px solid #ffffff13}.header-inner{height:88px}.logo img{width:218px}.nav{font-weight:400;font-size:15px;gap:32px;color:#c9c7cd}.nav a{position:relative}.nav a:after{content:'';position:absolute;bottom:6px;left:0;width:100%;height:1px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .3s}.nav a:hover,.nav a[aria-current]{color:#fff}.nav a:hover:after,.nav a[aria-current]:after{transform:scaleX(1)}.button{background:#f6f3ef;color:#18171d;border:1px solid #f6f3ef;border-radius:999px;font-size:15px;font-weight:500;min-height:54px;padding:17px 26px;gap:26px;position:relative;overflow:hidden;transition:transform .3s,background .3s,box-shadow .3s}.button:before{content:'';position:absolute;inset:-100% -50%;background:linear-gradient(110deg,transparent 40%,#ffffff50 50%,transparent 60%);transform:translateX(-100%);transition:transform .7s;pointer-events:none}.button:hover:before{transform:translateX(100%)}.button:hover{background:white;box-shadow:0 8px 30px #ffffff12;transform:translateY(-3px)}.button .arrow{transition:transform .3s}.button:hover .arrow{transform:translate(3px,-3px)}.button.orange{background:var(--orange);border-color:var(--orange);color:#18141a;box-shadow:0 6px 30px #ff6b3523}.button.orange:hover{background:#ff8659;box-shadow:0 8px 38px #ff6b3540}.button.light{border:1px solid #ffffff38;background:#ffffff03;color:white;backdrop-filter:blur(8px)}.button.light:hover{background:#ffffff0c;border-color:#ffffff85}.button.white{color:#18171d}.header .button{font-size:14px;min-height:46px;padding:12px 20px}.eyebrow{font:400 12px/1.6 Outfit,sans-serif;letter-spacing:2.7px;color:#c3becb}.dot{background:var(--orange);width:6px;height:6px;box-shadow:0 0 14px #ff6b3580}.lead{font-size:19px;font-weight:300;line-height:1.7;color:#b9b5c0}h2{font-size:clamp(36px,4.7vw,66px);font-weight:400;letter-spacing:-2.4px;line-height:1.06}h3{font-weight:400;letter-spacing:-.5px}.subtle{color:#88838f}.section{padding:118px 0}.section-head{margin-bottom:46px}.section-intro{font-size:17px;color:var(--muted);font-weight:300;margin:0 0 14px;line-height:1.7}.text-link{font-size:15px;border-color:#ffffff36;transition:color .25s,gap .25s}.text-link:hover{color:#ff956e;gap:30px}.micro{color:#a3a0aa}.cinema-hero{isolation:isolate;position:relative;min-height:760px;overflow:hidden;background:#101014}.cinema-inner{min-height:700px;position:relative;display:flex;align-items:center}.hero-copy{position:relative;z-index:3;width:63%;padding:64px 0 95px}.hero-copy h1{font-size:clamp(68px,7.6vw,110px);font-weight:450;letter-spacing:-5.5px;line-height:1.02;margin:0 0 30px}.hero-copy h1>span{display:block;white-space:nowrap}.hero-copy h1 em{font-weight:450;font-style:normal;background:linear-gradient(100deg,#ffae84,#ff763e 65%,#e9a8b7);color:transparent;background-clip:text;-webkit-background-clip:text}.hero-copy .eyebrow{margin-bottom:29px}.hero-copy .lead{max-width:430px;margin-bottom:32px;font-size:18px;line-height:1.75}.hero-copy .actions{gap:12px}.hero-footnote{display:flex;align-items:center;gap:12px;font-size:12px;color:#97929f;margin-top:28px;letter-spacing:.3px}.fine-line{width:25px;height:1px;background:#8e6b5b}.hero-visual{position:absolute;inset:0 0 0 25%;z-index:1;pointer-events:none;overflow:hidden;mask-image:linear-gradient(to bottom,#000 88%,transparent);-webkit-mask-image:linear-gradient(to bottom,#000 88%,transparent)}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#101014 0%,#101014aa 14%,transparent 43%),linear-gradient(0deg,#101014,transparent 25%)}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:60% 42%;opacity:.95;transform:translate3d(var(--hero-x,0px),var(--hero-y,0px),0) scale(1.035);transition:transform .8s ease-out;will-change:transform}.hero-atmosphere{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none}.aura{position:absolute;filter:blur(85px);border-radius:50%;opacity:.15;animation:aurora-drift 16s ease-in-out infinite alternate}.aura-one{width:500px;height:500px;right:8%;top:5%;background:#ff5b23}.aura-two{width:340px;height:420px;left:0;bottom:-200px;background:#7568c7;animation-delay:-8s}.orbit{position:absolute;border:1px solid #ff93563b;border-radius:50%;width:720px;height:720px;right:-110px;top:60px;transform:rotate(-25deg) scaleX(.65);box-shadow:0 0 50px #fc69330a;animation:orbit-breathe 9s ease-in-out infinite alternate}.orbit-two{right:-140px;top:10px;width:800px;height:800px;border-color:#9184cb20;animation-delay:-4s}.hero-glass{position:absolute;right:0;bottom:90px;z-index:4;border:1px solid #ffffff28;background:linear-gradient(120deg,#29242fc9,#16141ccc);backdrop-filter:blur(22px);padding:20px 24px;border-radius:17px;display:flex;align-items:center;gap:19px;box-shadow:0 15px 70px #0005;animation:glass-drift 6s ease-in-out infinite}.hero-glass strong{font-size:14px;font-weight:400;display:block}.hero-glass div>span{font-size:11px;color:#aaa2b3;display:block;margin-top:6px;letter-spacing:.3px}.soundwave{display:flex;gap:3px;align-items:center;height:32px}.soundwave i{width:3px;height:9px;background:#ff9368;border-radius:2px;animation:wave 1.8s ease-in-out infinite alternate}.soundwave i:nth-child(2n){height:23px;animation-delay:-.7s}.soundwave i:nth-child(3n){height:31px;animation-delay:-1.2s}.art-caption{position:absolute;right:0;bottom:60px;z-index:4;font-size:10px;color:#a49aa7;letter-spacing:.4px}.hero-baseline{position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:20px;height:60px;border-top:1px solid #ffffff15;color:#88838f;font-size:10px;letter-spacing:1.5px}.scroll-link{display:flex;align-items:center;gap:12px;color:#bcb6c4;letter-spacing:.4px;font-size:12px}.scroll-link span{font-size:22px;animation:scroll-nudge 2s ease-in-out infinite}.motion-toggle{padding:10px 0;border:0;background:none;color:#b2abb8;font-size:11px;min-height:44px}.motion-toggle:hover{color:#fff}.capability-band{background:#151519;border-block:1px solid #ffffff10}.capabilities{border:0;padding:28px 0;color:#d0ccd4;gap:20px;font-size:16px}.capabilities strong{font-weight:350}.capabilities>span:first-child{font-size:16px;color:#ff946a}.capabilities>span{color:#ff946a;font-size:18px}.grid3{gap:22px}.use-card{background:linear-gradient(145deg,#202025,#17171c);border:1px solid #ffffff16;border-radius:22px;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s,border-color .45s;position:relative}.use-art{aspect-ratio:1;height:auto;background:#e7ddd5!important;margin:0;border-radius:0;position:relative}.use-card:nth-child(2) .use-art{background:#d9dce8!important}.use-card:nth-child(3) .use-art{background:#e3d8ed!important}.use-art img{width:100%;height:100%;object-fit:cover;transform:none;transition:transform .7s cubic-bezier(.2,.7,.2,1);transform-origin:50% 45%}.use-art span{background:#19171bd9;color:#f6f3f0;backdrop-filter:blur(10px);padding:9px 13px;left:15px;top:15px;font-size:11px}.use-copy{padding:28px}.use-copy h3{font-size:26px;line-height:1.13}.use-copy p{font-size:15px;line-height:1.75;font-weight:300;color:#aaa4b1}.use-copy a{font-weight:400;color:#f9f2ed;font-size:14px}.dark{border:1px solid #ffffff1a;background:radial-gradient(ellipse at 0 0,#59413940,transparent 60%),#19191f;border-radius:28px;padding:65px;position:relative;overflow:hidden;gap:80px}.dark:before{content:'';position:absolute;width:450px;height:450px;border:1px solid #ff97651c;border-radius:50%;bottom:-330px;left:-50px;pointer-events:none}.dark .eyebrow{color:#ffab88}.dark p{color:#aaa4b1;font-weight:300}.workflow h2{font-size:64px}.workflow h2 em{font-style:normal;color:#ff996e}.step{padding:33px 0;grid-template-columns:45px minmax(0,1fr);border-color:#ffffff1a}.step:before{color:#ff996e;font:300 17px/1.5 Outfit,sans-serif;padding-top:2px}.step h3{font-size:25px;margin-bottom:11px}.step p{font-size:15px;line-height:1.7}.avatar-row{gap:20px}.avatar-tile{position:relative;background:#ded8d4;color:#252129;border:1px solid #ffffff1a;border-radius:18px;transition:transform .4s,box-shadow .4s}.avatar-tile:nth-child(2n){background:#d9dce4}.avatar-tile:nth-child(3n){background:#e1d5df}.avatar-tile img{transition:transform .6s ease}.cast-index{display:block;position:absolute;z-index:1;top:20px;left:20px;font-size:10px;letter-spacing:1.3px;color:#625965}.cast-section .avatar-tile img{padding-top:28px}.avatar-label{padding:5px 22px 23px;position:relative;z-index:1}.avatar-label strong{font-size:23px;font-weight:450}.avatar-label span{color:#554f5c}.faq-grid{gap:80px}.faq-grid h2{font-size:49px}summary{font-size:18px;font-weight:350}summary:after{color:#ff9c72}details{padding:24px 0}details p{color:#ada6b6;font-weight:300;font-size:16px}.cta{background:radial-gradient(ellipse at 85% 110%,#ff9862,transparent 65%),#f56d3d;border-radius:25px;min-height:300px;padding:65px;position:relative;overflow:hidden;color:#1c1314;isolation:isolate}.cta:after{content:'';position:absolute;right:80px;top:-190px;width:540px;height:540px;border:1px solid #32171930;border-radius:50%;z-index:-1;box-shadow:0 0 0 70px #381e1410,0 0 0 140px #381e1409;animation:orbit-breathe 12s ease-in-out infinite alternate}.cta h2{font-size:clamp(36px,4.8vw,67px);font-weight:450;letter-spacing:-2.6px}.cta .button{background:#19161c;color:white;border-color:#19161c;flex-shrink:0}.footer{border-color:#ffffff16;padding-top:65px;margin-top:110px}.footer-grid{gap:50px}.footer p,.footer a:not(.logo){color:#a19aa9;font-weight:300}.footer strong{font-size:13px;font-weight:500;letter-spacing:.4px}.footer a:hover{color:#ff986b!important}.footer-bottom{font-size:11px;color:#857d8f;border-color:#ffffff16;padding-top:27px;margin-top:55px}.page-hero{padding:70px 0 60px}.page-hero h1{font-family:Outfit,sans-serif;font-size:clamp(44px,5.5vw,76px);letter-spacing:-2.8px;font-weight:400}.breadcrumb{color:#a69caf;padding-top:30px}.feature{background:linear-gradient(150deg,#222027,#16161c);border-color:#ffffff1a;border-radius:18px;transition:transform .35s,border-color .35s}.feature .number{color:#ff9c78}.feature p{color:#ada5b6;font-weight:300}.chip{border-color:#ffffff36;color:#ddd6e6;transition:background .25s,border-color .25s}.chip[aria-pressed=true]{background:#ff8d5d;border-color:#ff8d5d;color:#181318}.chip:hover{border-color:#ff8d5d}.gallery-note{color:#a89eb2}.video-shell{background:#202028;border:1px solid #ffffff20;padding:16px;box-shadow:0 24px 90px #0004}.video-caption span{color:#aba2b7}.contact-card{background:radial-gradient(ellipse at top left,#4c344a55,transparent),#202027;border:1px solid #ffffff1a}.contact-card p{color:#b9b0c4}.field input,.field select,.field textarea{background:#1c1b23;border:1px solid #ffffff2e;color:#f2edf7}.field label{font-weight:400}.form-note{color:#aaa1b7}.note{background:#25212b;color:#c7bdcf;border-color:#e99570}.docs-nav a{color:#b7adbf}.docs-nav a[aria-current]{color:#fff;background:#2c2632}.prose p,.prose li{color:#b6adbf;font-weight:300}.prose h2{font-weight:450}.code-shell{background:#1c1b23;color:#d4bddf;border:1px solid #ffffff1c}.copy{border-color:#66596f}.prose code{color:#e5b897}th{background:#26222e;color:#e0d5eb}td{color:#b7adbf}a.card-link:hover{border-color:#ac725e}.error-code{color:#ff9872!important}.skip{background:#ff8c59;color:#171219}.menu-toggle{color:#eee6f5;border-color:#ffffff40}.button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:#d8b9ff}
/* Motion is opt-in enhancement: content stays visible if JS is unavailable. */
.reveal{transition:opacity .75s ease,transform .75s cubic-bezier(.2,.65,.3,1)}.reveal.is-waiting{opacity:0;transform:translateY(30px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.hero-copy .eyebrow{animation:hero-enter .9s .05s both}.hero-copy h1{animation:hero-enter 1s .12s both}.hero-copy .lead{animation:hero-enter 1s .22s both}.hero-copy .actions{animation:hero-enter 1s .32s both}.hero-footnote{animation:hero-enter 1s .42s both}.scroll-progress{height:2px;position:fixed;top:0;left:0;z-index:50;background:linear-gradient(90deg,#ffa571,#fa673e,#bba1ff);width:100%;transform:scaleX(var(--scroll-progress,0));transform-origin:left;pointer-events:none}
@keyframes hero-enter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes aurora-drift{to{transform:translate3d(70px,35px,0) scale(1.2)}}@keyframes orbit-breathe{to{transform:rotate(-15deg) scaleX(.8)}}@keyframes glass-drift{50%{transform:translateY(-9px)}}@keyframes wave{to{transform:scaleY(.4)}}@keyframes scroll-nudge{50%{transform:translateY(4px)}}
@media(hover:hover) and (pointer:fine){.use-card:hover{transform:translateY(-9px);border-color:#ffffff45;box-shadow:0 25px 75px #0005}.use-card:hover .use-art img{transform:scale(1.04)}.avatar-tile:hover{transform:translateY(-7px);box-shadow:0 20px 55px #0004}.avatar-tile:hover img{transform:scale(1.035)}.feature:hover{border-color:#e9976d75;transform:translateY(-5px)}}
@media(min-width:1600px){.cinema-hero{min-height:830px}.cinema-inner{min-height:770px}.hero-visual{left:31%}}
@media(max-width:1100px){.wrap{width:calc(100% - 56px)}.hero-copy h1{font-size:8.2vw;letter-spacing:-4px}.cinema-inner{min-height:650px}.cinema-hero{min-height:710px}.hero-copy{width:66%}.hero-visual{left:23%}.hero-glass{right:0;bottom:70px;padding:16px}.art-caption{bottom:45px}.dark{padding:44px;gap:45px}.workflow h2{font-size:53px}.cta{padding:45px}.use-art{aspect-ratio:1}.header-inner{gap:24px}.nav{gap:24px}}
@media(max-width:850px){.wrap{width:calc(100% - 44px)}.header-inner{height:auto;min-height:76px;flex-wrap:wrap;padding:15px 0;gap:14px}.logo img{width:184px}.menu-toggle{display:block;order:2;border:1px solid #ffffff38;border-radius:50%;background:transparent;min-width:46px;min-height:46px;font-size:11px}.nav{order:3;width:100%;flex-wrap:wrap;gap:8px 24px}.nav a{font-size:17px;padding:12px}.js .nav{display:none}.js .header.is-open .nav{display:flex}.header .button{margin-left:auto}.logo{margin-right:0}.cinema-inner{min-height:660px}.cinema-hero{min-height:720px}.hero-copy{width:80%;padding:64px 0 120px}.hero-copy h1{font-size:9.3vw}.hero-copy .lead{max-width:365px;font-size:17px}.hero-visual{left:26%;opacity:.68}.hero-visual:after{background:linear-gradient(90deg,#101014 0%,#101014ad 27%,transparent 80%),linear-gradient(0deg,#101014,transparent 35%)}.hero-glass{right:0;bottom:48px}.art-caption{bottom:25px}.hero-baseline>span{display:none}.capabilities{justify-content:space-between;gap:18px;font-size:13px;flex-wrap:nowrap}.capabilities>span{font-size:14px}.section{padding:85px 0}.use-art{aspect-ratio:1}.use-copy{padding:23px}.use-copy h3{font-size:23px}.workflow h2{font-size:48px}.step h3{font-size:23px}.cta{gap:30px}.cta h2{font-size:44px}.footer-grid{gap:28px}.section-head h2{font-size:47px}.faq-grid{gap:40px}.faq-grid h2{font-size:43px}}
@media(max-width:600px){.wrap{width:calc(100% - 36px)}.header-inner{min-height:74px;padding:12px 0;gap:10px}.logo img{width:154px}.header .button{min-height:43px;padding:10px 14px;font-size:12px;gap:12px}.header .button .arrow{font-size:17px}.menu-toggle{min-width:43px;min-height:43px}.cinema-hero{min-height:0}.cinema-inner{display:block;min-height:940px}.hero-copy{width:100%;padding:52px 0 0}.hero-copy .eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:25px}.hero-copy h1{font-size:clamp(48px,11.9vw,71px);letter-spacing:-2.8px;line-height:1.04;margin-bottom:22px}.hero-copy .lead{max-width:370px;font-size:16px;line-height:1.75;margin-bottom:25px}.hero-copy .actions{gap:10px}.hero-copy .button{font-size:12px;min-height:49px;padding:14px 17px;gap:14px}.hero-footnote{font-size:10px;gap:9px;margin-top:21px;letter-spacing:0}.hero-visual{inset:370px -70px 30px -120px;opacity:1;mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 84%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 84%,transparent)}.hero-visual img{object-position:70% center;transform:scale(1);will-change:auto}.hero-visual:after{background:linear-gradient(0deg,#101014,transparent 30%)}.hero-glass{bottom:52px;left:0;right:auto;padding:15px 19px;gap:16px;border-radius:14px}.hero-glass strong{font-size:12px}.hero-glass div>span{font-size:10px}.art-caption{right:0;bottom:25px;font-size:9px}.hero-baseline{height:62px;font-size:10px}.motion-toggle{font-size:10px}.hero-atmosphere .orbit{width:450px;height:450px;top:450px;right:-200px}.aura-one{top:450px;right:-200px}.aura-two{display:none}.capabilities{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 25px;padding:23px 0;font-size:13px;text-align:left}.capabilities>span{display:none}.capabilities strong{font-weight:350}.capabilities strong:before{content:'+';color:#ff9b78;display:inline-block;margin-right:12px}.section{padding:65px 0}.section-head{margin-bottom:30px;gap:22px;flex-direction:column;align-items:start}.section-head h2,h2{font-size:42px;letter-spacing:-1.5px}.eyebrow{font-size:10px;letter-spacing:1.9px;margin-bottom:20px}.section-intro{font-size:15px}.section-intro br{display:none}.text-link{font-size:14px;padding-bottom:10px}.grid3{grid-template-columns:minmax(0,1fr);gap:22px}.use-card{display:block;border-radius:20px}.use-art{aspect-ratio:1;margin:0;border-radius:0}.use-art img{object-fit:cover;transform:none}.use-copy{padding:27px}.use-copy h3{font-size:29px;max-width:300px}.use-copy p{font-size:15px}.use-copy a{font-size:14px}.dark{grid-template-columns:minmax(0,1fr);padding:30px;gap:40px;border-radius:22px}.workflow h2{font-size:51px}.dark p{font-size:15px}.step{padding:26px 0;grid-template-columns:33px minmax(0,1fr);gap:12px}.step h3{font-size:23px}.step p{font-size:14px}.avatar-row{gap:13px;grid-template-columns:repeat(2,minmax(0,1fr))}.avatar-tile{border-radius:14px}.avatar-label{padding:5px 15px 18px}.avatar-label strong{font-size:20px}.avatar-label .arrow{font-size:19px}.cast-index{left:14px;top:15px;font-size:8px;letter-spacing:1px}.faq-grid{grid-template-columns:minmax(0,1fr);gap:29px}.faq-grid h2{font-size:39px}summary{font-size:17px}details{padding:22px 0}.cta{padding:36px 28px;min-height:320px;align-items:start;gap:29px;border-radius:20px}.cta h2{font-size:42px;letter-spacing:-1.7px}.cta .button{font-size:13px}.footer{margin-top:70px;padding-top:43px}.footer img{width:195px}.footer-grid{gap:30px}.footer-bottom{line-height:1.7;gap:10px;margin-top:35px}.page-hero{padding:45px 0 35px}.page-hero h1{font-size:43px;letter-spacing:-1.7px;overflow-wrap:break-word}.page-hero .lead{font-size:17px}.page-hero .actions .button{font-size:13px;padding:14px 18px;gap:16px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery .avatar-label{flex-wrap:wrap;gap:8px}.gallery .avatar-label span{font-size:11px}.two-col{grid-template-columns:minmax(0,1fr);gap:30px}.feature{padding:27px}.feature h3{font-size:25px}.features{grid-template-columns:minmax(0,1fr)}.no-pad-top{padding-top:0}.docs-layout{grid-template-columns:minmax(0,1fr);gap:20px}.docs-nav{position:static;display:flex;flex-wrap:wrap}.docs-nav a{font-size:12px;padding:10px}.prose .page-hero h1{font-size:39px}.prose h2{font-size:28px}.prose p,.prose li{font-size:16px}.contact-card{padding:27px}.video-caption{font-size:12px}.video-shell{padding:10px}.aura{filter:blur(55px)}.orbit-two{display:none}}
@media(max-width:370px){.wrap{width:calc(100% - 28px)}.logo img{width:132px}.header .button{font-size:11px;padding:10px 11px}.hero-copy h1{font-size:11.7vw;letter-spacing:-2px}.hero-copy .button{font-size:11px;padding:13px 14px;gap:10px}.hero-footnote{font-size:9px}.cinema-inner{min-height:920px}.hero-glass{padding:14px}.hero-visual{top:400px}.section-head h2,h2{font-size:37px}.cta h2{font-size:35px}}
@media(max-width:600px){.header-inner{gap:8px}.logo img{width:clamp(110px,35vw,145px)}.header .button{font-size:11px;padding:10px 14px}.header .button .arrow{display:none}.menu-toggle{padding:10px;min-width:42px;min-height:42px}.hero-copy .actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:370px;gap:9px}.hero-copy .button{font-size:11px;padding:14px 10px;gap:8px;white-space:nowrap;min-width:0}.hero-copy .button .arrow{font-size:17px}.hero-footnote{display:none}.cinema-inner{min-height:860px}.hero-visual{top:400px}.hero-glass{bottom:48px}.art-caption{bottom:23px}}
.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}.motion-paused .hero-visual img{transform:none!important}.motion-paused .reveal{transition:none!important;opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero-copy>*{opacity:1!important;transform:none!important}.hero-visual img{transform:none!important}.reveal.is-waiting{opacity:1;transform:none}}

/* Subpage fold. The home hero owns a full stage; every other page gets the same
   atmosphere as a background band so the fold reads as one brand, not a bare column.
   Painted entirely from the pseudo-element, so no page markup changes. */
.page-hero{position:relative;isolation:isolate;max-width:none}
.page-hero h1{max-width:880px}
.page-hero:before{content:'';position:absolute;z-index:-1;pointer-events:none;top:-150px;bottom:0;left:50%;width:100vw;margin-left:-50vw;
 background:
  radial-gradient(circle at 78% -6%,transparent 0 297px,#ffffff0d 297px 298px,transparent 298px),
  radial-gradient(circle at 78% -6%,transparent 0 437px,#ffffff09 437px 438px,transparent 438px),
  radial-gradient(58% 125% at 86% 0%,#ff6b3526,#ff6b3500 64%),
  radial-gradient(42% 95% at 6% 104%,#7856ff12,transparent 72%),
  linear-gradient(180deg,#17161d,#101014);
 border-bottom:1px solid #ffffff10}
.page-hero .lead{font-size:19px;max-width:600px}
.breadcrumb{position:relative;z-index:1}
@media(max-width:850px){.page-hero:before{top:-110px;bottom:0;background:radial-gradient(70% 90% at 88% 0%,#ff6b3524,#ff6b3500 66%),linear-gradient(180deg,#17161d,#101014)}.page-hero .lead{font-size:17px}}

/* Panoramic hero. The header render is a 3.1:1 scene, so it fills the whole stage
   instead of sitting in a right-hand column. The scrim carries the warm brand
   temperature across the cool artwork and keeps the headline readable. */
.cinema-hero .hero-visual{inset:0;mask-image:linear-gradient(to bottom,#000 92%,transparent);-webkit-mask-image:linear-gradient(to bottom,#000 92%,transparent)}
.cinema-hero .hero-visual:after{background:
 linear-gradient(90deg,#101014 0%,#101014fb 30%,#101018f0 44%,#10101ab8 56%,#11101c59 68%,#12111c1a 78%,transparent 86%),
 linear-gradient(0deg,#101014,#10101400 26%),
 radial-gradient(70% 100% at 78% 42%,#ff6b351f,transparent 70%)}
.cinema-hero .hero-visual img,.cinema-hero .hero-motion{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:12% 42%}
.hero-motion{opacity:0;transition:opacity 1.2s ease;z-index:1;border:0}
.hero-motion.is-playing{opacity:1}
.cinema-hero .aura-one{opacity:.1}
@media(max-width:850px){
 .cinema-hero .hero-visual{inset:330px 0 0;mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent)}
 .cinema-hero .hero-visual:after{background:linear-gradient(0deg,#101014,#10101400 34%),linear-gradient(180deg,#101014,#10101400 12%)}
 .cinema-hero .hero-visual img,.cinema-hero .hero-motion{object-position:center 22%}
}
@media(prefers-reduced-motion:reduce){.hero-motion{display:none}}

/* Page header media. Carries a still that doubles as the video poster; the clip is
   attached by motion.js under the same rules as the hero. Also used as a labelled
   placeholder where the final artwork is still outstanding. */
.page-media{position:relative;overflow:hidden;border-radius:22px;border:1px solid #ffffff16;background:#17161d;aspect-ratio:2.6;margin-bottom:12px}
.page-media img,.page-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 24%}
.page-media video{opacity:0;transition:opacity 1s ease;border:0}
.page-media video.is-playing{opacity:1}
.page-media:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#10101466,transparent 42%),radial-gradient(70% 90% at 12% 100%,#ff6b3517,transparent 70%)}
.page-media.is-placeholder{aspect-ratio:2.6;background:linear-gradient(135deg,#1c1b23,#141319);display:flex;align-items:center;justify-content:center;border-style:dashed;border-color:#ffffff2b}
.page-media.is-placeholder:after{display:none}
.media-placeholder{position:relative;z-index:1;text-align:center;padding:24px;max-width:460px}
.media-placeholder strong{display:block;font-size:20px;font-weight:450;color:#f5f3f0;margin-bottom:10px}
.media-placeholder span{font-size:14px;line-height:1.7;color:#a8a4b0}
@media(max-width:850px){.page-media,.page-media.is-placeholder{aspect-ratio:1.9}}
@media(max-width:600px){.page-media,.page-media.is-placeholder{aspect-ratio:1.45;border-radius:16px}.media-placeholder strong{font-size:17px}.media-placeholder span{font-size:13px}}

/* Centred action under a section grid. */
.section-cta{display:flex;justify-content:center;margin-top:38px}
@media(max-width:600px){.section-cta{margin-top:26px}.section-cta .button{width:100%}}

/* Documentation and legal pages put the fold inside a narrow reading column, which is
   not centred in the viewport. A full-bleed band would sit off-axis there, so those
   pages get the same atmosphere as a contained panel instead. */
.prose .page-hero:before{left:0;width:100%;margin-left:0;top:-34px;border-radius:20px;border-bottom:0;
 background:radial-gradient(60% 120% at 92% 0%,#ff6b3521,#ff6b3500 66%),linear-gradient(180deg,#17161d,#101014)}
.prose .page-hero h1{max-width:none}

/* Available to assistive technology, absent from the visual design. */
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* Consent banner. Fixed to the viewport so revealing it shifts no layout. */
.consent{position:fixed;inset:auto 0 0;z-index:60;padding:16px;display:flex;justify-content:center;pointer-events:none}
.consent-panel{pointer-events:auto;width:min(720px,100%);background:#16151cf2;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
 border:1px solid #ffffff26;border-radius:20px;padding:26px 28px;box-shadow:0 24px 70px #000000a6;animation:consent-rise .35s ease-out}
.consent-panel>strong{display:block;font-size:19px;font-weight:450;color:#f5f3f0;margin-bottom:10px}
.consent-panel p{margin:0;font-size:14px;line-height:1.7;color:#b6b2c0}
.consent-panel a{color:#ff9463;text-decoration:underline;text-underline-offset:3px}
.consent-options{display:grid;gap:12px;margin-top:20px}
.consent-option{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:#cfccd6;cursor:pointer}
.consent-option input{margin:2px 0 0;width:18px;height:18px;accent-color:#ff6b35;flex-shrink:0}
.consent-option strong{display:block;font-weight:450;color:#f5f3f0}
.consent-option span span{display:block;font-size:13px;color:#a19daf;margin-top:2px}
.consent-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.consent-actions .button{min-height:48px;font-size:14px;padding:13px 20px;gap:14px}
.consent-actions .button.ghost{background:transparent;color:#cfccd6;border-color:#ffffff30}
.consent-actions .button.ghost:hover{background:#ffffff12;color:#fff}
@keyframes consent-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(max-width:600px){.consent{padding:10px}.consent-panel{padding:22px 20px;border-radius:16px}
 .consent-panel>strong{font-size:17px}.consent-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){.consent-panel{animation:none}}

/* The hero copy sits directly on the video, whose network lines run bright in places.
   The headline is filled by a gradient clipped to the glyphs, so a text-shadow would
   paint over that fill; drop-shadow works on the rendered alpha and stays behind it.
   The remaining copy is solid colour and takes a plain text-shadow. */
.cinema-hero .hero-copy h1{filter:drop-shadow(0 1px 2px #06050ab3) drop-shadow(0 6px 26px #06050ad9)}
.cinema-hero .hero-copy .eyebrow,
.cinema-hero .hero-copy .lead,
.cinema-hero .hero-footnote{text-shadow:0 1px 2px #06050ac2,0 3px 16px #06050a99}
.cinema-hero .hero-baseline{text-shadow:0 1px 3px #06050ab3}
.cinema-hero .art-caption{text-shadow:0 1px 3px #06050acc}

/* Scrim strength follows what the hero is actually showing. The still is calmer than
   the moving footage, so it needs noticeably less darkening; the heavier gradient only
   applies once the video is really playing. Browsers that never load the video, and
   anyone on reduced motion or a data saver, therefore keep the lighter treatment. */
.cinema-hero .hero-visual:after{background:
 linear-gradient(90deg,#101014 0%,#101014e6 26%,#101018c4 40%,#10101a85 52%,#11101c38 64%,transparent 78%),
 linear-gradient(0deg,#101014,#10101400 26%),
 radial-gradient(70% 100% at 78% 42%,#ff6b3519,transparent 70%)}
.cinema-hero.hero-motion-on .hero-visual:after{background:
 linear-gradient(90deg,#101014 0%,#101014fb 30%,#101018f0 44%,#10101ab8 56%,#11101c59 68%,#12111c1a 78%,transparent 86%),
 linear-gradient(0deg,#101014,#10101400 26%),
 radial-gradient(70% 100% at 78% 42%,#ff6b351f,transparent 70%)}

/* Small type over the lighter still needs a touch more separation than the headline,
   which carries its own weight. Only the shadow changes; the scrim stays open. */
.cinema-hero:not(.hero-motion-on) .hero-copy .lead{text-shadow:0 1px 2px #06050ad9,0 2px 10px #06050ac2,0 4px 22px #06050a99}
.cinema-hero:not(.hero-motion-on) .hero-footnote,
.cinema-hero:not(.hero-motion-on) .hero-baseline,
.cinema-hero:not(.hero-motion-on) .art-caption{text-shadow:0 1px 2px #06050ae6,0 2px 12px #06050ab3}

/* Shared responsive finishing rules. Keep after site.css and premium.css. */
.use-art--motion{position:relative;isolation:isolate}
.use-art--motion img,.use-art--motion video{display:block;width:100%;height:100%;object-fit:cover;transform:none!important}
.use-art--motion video{position:absolute;inset:0;opacity:0;transition:opacity .35s}
.use-art--motion video.is-playing{opacity:1}
.use-art--motion>span{z-index:1}
.solution-motion{margin:0;min-width:0;align-self:start;overflow:hidden;border:1px solid #ffffff1c;border-radius:24px;background:#19181e}
.solution-motion__stage{position:relative;aspect-ratio:1;overflow:hidden}
.solution-motion__stage img,.solution-motion__stage video{display:block;width:100%;height:100%;object-fit:cover}
.solution-motion__stage video{position:absolute;inset:0;opacity:0;transition:opacity .35s}
.solution-motion__stage video.is-playing{opacity:1}
.solution-motion figcaption{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 14px;padding:12px 20px;font-size:14px}
.solution-motion__note{color:#adaab3;font-size:12px;margin-left:6px}

.solution-motion button[hidden]{display:none}


@media(max-width:600px){.solution-motion{border-radius:18px}.solution-motion figcaption{padding:9px 14px}.solution-motion__note{display:none}}
.avatar-hero{position:relative;isolation:isolate;overflow:hidden;background:#101014;border-bottom:1px solid #ffffff19}
.avatar-hero__media{position:absolute;inset:0;z-index:-1;overflow:hidden}
.avatar-hero__media img,.avatar-hero__media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:66% 25%}
.avatar-hero__media video{opacity:0;transition:opacity .65s ease}
.avatar-hero__media video.is-playing{opacity:1}
.avatar-hero__media:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#101014fa 0%,#101014ef 24%,#101014a6 43%,#1010141c 64%,#10101400 80%),linear-gradient(0deg,#101014 0%,#101014a6 10%,transparent 33%)}
.avatar-hero__inner{min-height:650px;display:flex;flex-direction:column;position:relative}
.avatar-hero .breadcrumb{color:#d1c9d8;padding-top:26px}
.avatar-hero__copy{width:57%;max-width:760px;padding:72px 0 65px;flex:1}
.avatar-hero__copy h1{font-size:clamp(44px,4.6vw,72px);line-height:1.05;letter-spacing:-2.7px;font-weight:400;margin:0 0 27px;text-wrap:balance;filter:drop-shadow(0 3px 12px #0006)}
.avatar-hero__copy h1 em{font-style:normal;color:#ffa67d}
.avatar-hero__copy .lead{max-width:480px;font-size:18px;color:#d6d0dc;text-shadow:0 2px 12px #0007}
.avatar-hero__copy .actions{gap:12px}
.avatar-hero__bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #ffffff29;padding:18px 0 23px}
.avatar-hero__bottom p{margin:0;font-size:13px;color:#f5f3f0}
.avatar-hero__bottom p span{display:block;color:#c2b9cb;font-size:12px}
.avatar-hero__controls{display:flex;align-items:center;gap:26px}
.avatar-hero .motion-toggle{min-height:44px;color:#d4ccdd;font-size:13px}


.avatar-collection{padding-top:54px;scroll-margin-top:100px}
.gallery--new{grid-template-columns:repeat(3,minmax(0,1fr))}
.filters{row-gap:10px}
.consent-panel{max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
.field input,.field select,.field textarea{font-size:16px}
/* Long labels must stay inside their buttons and long text inside its grid track. */
.actions>.button{max-width:100%;white-space:normal;text-align:center}
.button .arrow{flex-shrink:0}
.prose,.feature,.contact-card,.step>div{min-width:0}
@media(min-width:851px) and (max-width:1000px){.header-inner{gap:20px}.header .logo img{width:180px}.nav{gap:18px}.header .button{padding:12px 16px;gap:14px}}
@media(max-width:850px){
 .avatar-hero{display:grid;grid-template-columns:minmax(0,1fr)}
 .avatar-hero__inner{display:contents}
 .avatar-hero .breadcrumb,.avatar-hero__copy,.avatar-hero__bottom{width:calc(100% - 44px);margin-inline:auto}
 .avatar-hero .breadcrumb{grid-row:1;padding-top:25px}
 .avatar-hero__copy{grid-row:2;max-width:none;padding:38px 0 22px}
 .avatar-hero__copy h1{max-width:640px;font-size:clamp(37px,6.7vw,56px);letter-spacing:-1.7px;margin-bottom:22px}
 .avatar-hero__copy .lead{max-width:560px;font-size:17px;margin-bottom:25px}
 .avatar-hero__media{grid-row:3;position:relative;inset:auto;height:clamp(310px,52vw,420px);z-index:0}
 .avatar-hero__media img,.avatar-hero__media video{object-position:68% 20%}
 .avatar-hero__media:after{background:linear-gradient(180deg,#101014 0%,transparent 20%,transparent 70%,#101014 100%)}
 .avatar-hero__bottom{grid-row:4;position:relative;z-index:1;padding-top:15px}
 .avatar-collection{padding-top:40px}
 /* At tablet width the home image is a separate portrait stage: keep text above it. */
 .cinema-hero .cinema-inner{display:block;min-height:940px}
 .cinema-hero .hero-copy{width:100%;padding:48px 0 0;max-width:650px}
 .cinema-hero .hero-copy h1{font-size:clamp(48px,8.5vw,74px)}
 .cinema-hero .hero-copy .lead{max-width:490px}
 .cinema-hero .hero-visual{inset:395px 0 0}
 .cinema-hero .hero-visual:after,.cinema-hero.hero-motion-on .hero-visual:after{background:linear-gradient(180deg,#101014,transparent 19%),linear-gradient(0deg,#101014,transparent 32%)}
 .cinema-hero .hero-glass{bottom:55px}
 .cinema-hero .art-caption{bottom:28px}
}
@media(max-width:600px){
 .header-inner{column-gap:8px}
 .header .logo img{width:clamp(108px,34vw,140px)}
 .header .menu-toggle{width:44px;min-width:44px;height:44px;min-height:44px;padding:0;flex:0 0 44px;font-size:10px}
 .header .button{min-height:44px;font-size:11px;padding:10px 12px}
 .header .nav{column-gap:16px;row-gap:2px}
 .header .nav a{font-size:16px;padding:10px 8px}
 .avatar-hero .breadcrumb,.avatar-hero__copy,.avatar-hero__bottom{width:calc(100% - 36px)}
 .avatar-hero__copy{padding:32px 0 14px}
 .avatar-hero__copy h1{font-size:clamp(35px,9.9vw,49px);letter-spacing:-1.5px;text-wrap:pretty}
 .avatar-hero__copy .eyebrow{font-size:10px;letter-spacing:1.7px;margin-bottom:20px}
 .avatar-hero__copy .lead{font-size:16px;line-height:1.7}
 .avatar-hero__copy .actions{gap:10px}
 .avatar-hero__copy .button{font-size:13px;padding:13px 16px;gap:12px;min-height:48px}
 .avatar-hero__media{height:330px}
 .avatar-hero__bottom{display:block;padding:9px 0 22px}
 .avatar-hero__controls{justify-content:space-between;gap:15px;margin-top:10px}
 .avatar-hero__bottom p{font-size:13px}
 .avatar-hero__bottom p span{font-size:12px}
 .avatar-hero .motion-toggle{font-size:12px}
 .avatar-collection{padding-top:32px}
 .avatar-collection .chip{font-size:13px;padding:11px 14px;min-height:44px}
 .gallery-note{font-size:13px;line-height:1.7}
 .gallery--new{grid-template-columns:repeat(2,minmax(0,1fr))}
 .gallery--new .avatar-tile:last-child{grid-column:1/-1;max-width:calc((100% - 13px)/2);width:100%;justify-self:center}
 .avatar-label{gap:6px;flex-wrap:wrap}
 .avatar-label strong{overflow-wrap:anywhere}
 .cinema-hero .cinema-inner{min-height:860px}
 .cinema-hero .hero-copy{padding-top:42px}
 .cinema-hero .hero-copy h1{font-size:clamp(41px,11.6vw,64px);letter-spacing:-2px}
 .cinema-hero .hero-copy .actions{grid-template-columns:minmax(0,1fr);max-width:340px;gap:10px}
 .cinema-hero .hero-copy .button{font-size:14px;min-height:48px;padding:13px 18px;justify-content:space-between}
 .cinema-hero .hero-visual{inset:430px 0 0}
 .consent-panel{max-height:calc(100dvh - 20px)}
}
@media(max-width:370px){
 .avatar-hero .breadcrumb,.avatar-hero__copy,.avatar-hero__bottom{width:calc(100% - 28px)}
 .avatar-hero__copy .actions{display:grid;grid-template-columns:minmax(0,1fr)}
 .avatar-hero__copy .button{justify-content:space-between}
 .avatar-hero__media{height:300px}
 .gallery,.avatar-row{gap:10px}
 .gallery .avatar-label{padding:5px 10px 15px}
 .gallery .avatar-label strong{font-size:18px}
 .gallery--new .avatar-tile:last-child{max-width:calc((100% - 10px)/2)}
 .hero-baseline{gap:10px}.hero-baseline .motion-toggle{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.avatar-hero__media video{display:none}.avatar-hero__media video.is-playing{display:block}}


/* The media block under a page hero is the second block on the page and keeps the
   same rhythm the other pages use for their first section. */
.page-media{margin-top:118px}
@media(max-width:850px){.page-media{margin-top:85px}}
@media(max-width:600px){.page-media{margin-top:65px}}

/* Fourth layer, after site/premium/responsive. Design review of 21 September 2026:
   one type scale, one surface ladder, one tile tone, and the fixes that review found.
   Everything here overrides by order, so it must stay last in tools/build.cjs. */
:root{--surface-0:#101014;--surface-1:#17171d;--surface-2:#1e1e25;--surface-3:#262630;--tile:#ded8d4}

/* B. One type scale. Section H2 keeps the fluid base; block H2 (two-column, FAQ,
   solution chapters) gets the missing middle step; H3 is one size everywhere. */
h2{font-weight:400}
.cta h2{font-weight:400}
.two-col h2,.faq-grid h2,.two-col .prose h2{font-size:44px;letter-spacing:-1.6px;line-height:1.1;font-weight:400;margin:0 0 22px}
h3,.use-copy h3,.step h3,.feature h3,.prose h3{font-size:24px;font-weight:500;letter-spacing:-.5px;line-height:1.25}
.prose h3{margin-top:28px}
.capabilities{padding:34px 0;font-size:15px}
.art-caption{font-size:11px}

/* Hero panorama, desktop: centred, on request. The 21 September "slim" master
   (1920x600) holds the figure in its right half and leaves the left half open, so a
   centred crop still puts the headline on star field rather than on Mika's face.
   The band stays 760-830px tall while the window narrows, so cover crops the sides
   harder the narrower the window gets — centring keeps that trim even on both sides
   instead of eating one edge. Mobile keeps its own portrait framing from premium.css. */
@media(min-width:851px){.cinema-hero .hero-visual img,.cinema-hero .hero-motion{object-position:50% 50%}}

/* One soft shadow behind the whole hero text column, on top of the per-element
   text-shadows premium.css already sets. Those handle contrast against the busy
   video; this is one shared, very light drop-shadow so nothing in the column —
   including the button glass below — ever sits flush against a bright patch of
   footage. filter:drop-shadow silhouettes the rendered column, so it wraps the
   heading, buttons and footnote as one shape rather than boxing each in turn. */
.cinema-hero .hero-copy{filter:drop-shadow(0 4px 14px rgba(6,5,10,.32))}

/* Liquid-glass light button: stronger blur and a visible tint so the label reads
   over bright video or imagery, plus a top highlight and outer lift for the
   frosted-glass look. Replaces the almost-invisible 1% tint the base style used. */
.button.light{background:linear-gradient(180deg,#ffffff33,#ffffff17);backdrop-filter:blur(40px) saturate(160%);-webkit-backdrop-filter:blur(40px) saturate(160%);border-color:#ffffff42;box-shadow:inset 0 1px 0 #ffffff4a,inset 0 -1px 0 #00000020,0 10px 26px #00000030}
.button.light:hover{background:linear-gradient(180deg,#ffffff44,#ffffff20);border-color:#ffffff75}

/* Surfaces. Cards sat at 1.09:1 against the page and vanished; the ladder gives
   bands, cards and hover states each a readable step. */
.dark{background:radial-gradient(ellipse at 0 0,#59413940,transparent 60%),var(--surface-2);align-items:center}
.feature{background:linear-gradient(150deg,#25242c,#1c1c22)}
.use-card{background:linear-gradient(145deg,#25252c,#1c1c22)}
.capability-band{background:var(--surface-1)}
.solution-motion{background:var(--surface-2)}

/* C. One picture stage. Tile tones no longer rotate by position, stylised figures
   are scaled to the head height of the portraits, and the moving stages get a
   light vignette so three differently lit renders read as one series. */
.avatar-tile,.avatar-tile:nth-child(2n),.avatar-tile:nth-child(3n){background:var(--tile)}
.use-art,.use-card:nth-child(n) .use-art{background:var(--tile)!important}
.avatar-tile__art{position:relative;overflow:hidden}
.avatar-tile__art img[src*="avatar-bubbles"]{scale:1.24;transform-origin:50% 50%}
.avatar-tile__art img[src*="avatar-bumblebee"]{scale:1.32;transform-origin:50% 48%}
.avatar-tile__art img[src*="avatar-cat"]{scale:1.08;transform-origin:50% 30%}
/* The three new-line renders are full-body figures, framed much wider than the
   bust-crop portraits around them (measured head width ~127px of 640, against
   ~200-245px for the rest of the gallery). The 21 September re-export gave all
   three the same 1056x1056 source and matching framing (head top 55-63px, centre
   308-329px of 640) so one shared scale now works for all three alike. */
.avatar-tile__art img[src*="avatar-sylvia"],.avatar-tile__art img[src*="avatar-xenia"],.avatar-tile__art img[src*="avatar-manfred"]{scale:1.45;transform-origin:50% 10%}
.use-art:after,.solution-motion__stage:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(180deg,#10101408,#1010142e)}
.use-art--motion>span{z-index:2}

/* Home cards: equal title space, links on one baseline, action on the text edge. */
@media(min-width:701px){.use-card{display:flex;flex-direction:column}.use-art{flex-shrink:0}.use-copy{flex:1;display:flex;flex-direction:column}.use-copy a{margin-top:auto}}
.use-copy a{min-height:44px;align-items:center;padding:8px 0}
.section-cta{justify-content:flex-start}

/* Two-column sections with a short aside: the aside becomes a card so both
   columns have their own entry point instead of a 60px/21px mismatch. */
.two-col--aside{align-items:start}
.two-col--aside>.prose{background:var(--surface-2);border:1px solid #ffffff14;border-radius:18px;padding:34px 36px}
.two-col--aside>.prose h3{margin-top:0}
.two-col--aside>.prose p:last-child{margin-bottom:0}

/* Solution chapters alternate sides, sit closer, and read as one series. */
.two-col[id]{padding:80px 0}
.two-col[id]+.two-col[id]{border-top:1px solid #ffffff12}
#lernen .solution-motion{order:2}
.two-col[id] .prose{max-width:520px}

/* Avatar header video/poster: anchor to the top edge so the figures' heads are
   never cropped, whatever the container's aspect ratio does on a given viewport. */
.avatar-hero__media img,.avatar-hero__media video{object-position:66% 0}
@media(max-width:850px){.avatar-hero__media img,.avatar-hero__media video{object-position:68% 0}}

/* The section under a header media block keeps a clear step of its own instead of
   sitting 12px below it. */
.page-media+.section.no-pad-top{padding-top:64px}

/* Placeholder media: reserved, not empty, and not the biggest thing on the page. */
.page-media.is-placeholder{aspect-ratio:3.6;background:radial-gradient(60% 120% at 50% 110%,#ff6b3514,transparent 70%),repeating-linear-gradient(90deg,#ffffff07 0 1px,transparent 1px 72px),repeating-linear-gradient(0deg,#ffffff07 0 1px,transparent 1px 72px),linear-gradient(135deg,#1c1b23,#141319)}
.media-placeholder{opacity:.6}

/* FAQ: a section like every other page, the aside follows the list, the toggle
   sits next to the question, and the open item is marked. */
.faq-grid{gap:80px}
.faq-aside{position:sticky;top:130px;align-self:start}
details{padding:20px 20px 22px 18px;transition:background .25s}
details[open]{background:var(--surface-1);box-shadow:inset 2px 0 0 var(--orange)}
details[open] summary{color:#fff}
summary{justify-content:flex-start;gap:18px;align-items:flex-start;min-height:44px}
summary:before{content:'+';color:#ff9c72;font-size:23px;line-height:1.2;width:22px;flex-shrink:0;margin-top:1px}
details[open] summary:before{content:'−'}
summary:after{display:none}
details p{margin:12px 0 0 40px}

/* The consent reopen control inside the privacy text reads as a link, not a
   browser-default grey button. */
.prose button.text-link{display:inline;gap:0;border:0;border-radius:0;background:transparent;padding:0;color:inherit;font:inherit;line-height:inherit;white-space:normal;text-decoration:underline;text-underline-offset:4px;cursor:pointer}

/* Consent panel: a notice, not a stage. Bottom right and narrow: on a 700px-high
   laptop screen the hero buttons sit bottom left, so that corner stays clear. */
.consent{justify-content:flex-end;padding:24px}
.consent-panel{width:min(480px,100%);padding:22px 24px;border-radius:18px}
.consent-panel>strong{font-size:16px;margin-bottom:8px}
.consent-panel p{font-size:13px;line-height:1.65}
.consent-actions{margin-top:16px}
.consent-actions .button{min-height:44px;font-size:13px;padding:11px 18px}

/* Footer */
.footer .arrow{font-size:15px}
.footer-bottom{font-size:12px;color:#a19aa9}

/* Tap targets that fell under 44px. */
.text-link,.scroll-link{min-height:44px}
.breadcrumb{align-items:center}
.breadcrumb a{padding:5px 0;display:inline-block}
.avatar-hero .breadcrumb{padding-top:30px}

/* Avatar page: the new line first, the archive below with its own heading. */
.avatar-collection--new{padding-top:64px}
.avatar-bestand .micro{font-size:13px}

/* 404: centred, with the hero motif as a faded stage on the right. */
.empty-404{position:relative;min-height:62vh;display:flex;align-items:center;padding:70px 0}
.empty-404__copy{position:relative;z-index:1;max-width:620px}
.empty-404 .eyebrow{margin-bottom:18px}
.empty-404 .error-code{line-height:1;margin-bottom:8px}
.empty-404:before{content:'';position:absolute;top:0;bottom:0;right:-48px;width:min(60vw,760px);background:url(/assets/img/hero-wide-1280.webp) 70% 40%/cover no-repeat;opacity:.28;mask-image:linear-gradient(90deg,transparent,#000 45%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 45%);border-radius:24px;pointer-events:none}

/* Docs overview: four cards want a 2×2 grid; the note stays in the reading column. */
.docs-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.wrap>.note{max-width:790px;margin-top:24px}
.docs-layout .prose .page-hero:before{top:0}
.docs-layout .prose .page-hero{padding-top:30px}

/* Legal pages get the same full-bleed fold as the marketing pages; only the docs
   reading column keeps the contained panel next to its navigation. */
.wrap>.prose .page-hero{padding-top:70px}
.wrap>.prose .page-hero:before{left:50%;width:100vw;margin-left:-50vw;top:-150px;border-radius:0;border-bottom:1px solid #ffffff10;
 background:radial-gradient(circle at 78% -6%,transparent 0 297px,#ffffff0d 297px 298px,transparent 298px),radial-gradient(circle at 78% -6%,transparent 0 437px,#ffffff09 437px 438px,transparent 438px),radial-gradient(58% 125% at 86% 0%,#ff6b3526,#ff6b3500 64%),radial-gradient(42% 95% at 6% 104%,#7856ff12,transparent 72%),linear-gradient(180deg,#17161d,#101014)}

@media(max-width:850px){
 .page-media.is-placeholder{aspect-ratio:2.4}
 .page-media+.section.no-pad-top{padding-top:48px}
 .empty-404{min-height:0}
 .empty-404:before{display:none}
 .footer a:not(.logo){padding:10px 0}
 .wrap>.prose .page-hero:before{top:-110px;background:radial-gradient(70% 90% at 88% 0%,#ff6b3524,#ff6b3500 66%),linear-gradient(180deg,#17161d,#101014)}
 /* Mobile menu: a list, not a wrapping row. */
 .js .header.is-open .nav{display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding:4px 0 8px}
 .header .nav a{font-size:20px;padding:0;min-height:52px;display:flex;align-items:center;gap:14px;border-bottom:1px solid #ffffff12}
 .header .nav a:after{display:none}
 .header .nav a:last-child{border-bottom:0}
 .header .nav a[aria-current]:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 12px #ff6b3580;flex-shrink:0}
 .faq-aside{position:static}
}
@media(max-width:600px){
 .eyebrow,.hero-copy .eyebrow,.avatar-hero__copy .eyebrow{font-size:11px}
 .cta h2{font-size:34px;letter-spacing:-1.3px}
 .two-col h2,.faq-grid h2,.two-col .prose h2{font-size:34px;letter-spacing:-1.2px}
 .use-copy h3,.feature h3{font-size:24px}
 .two-col--aside>.prose{padding:26px 22px}
 .page-media.is-placeholder{aspect-ratio:1.7}
 details{padding:16px 12px 18px 12px}
 details p{margin-left:34px}
 .consent{padding:10px}
 .consent-panel{width:100%;padding:18px 18px 16px;border-radius:14px}
 .consent-panel>strong{font-size:15px}
 .docs-cards{grid-template-columns:minmax(0,1fr)}
 /* The longer hero lead needs five lines on a phone; the portrait stage starts below the buttons. */
 .cinema-hero .hero-visual{inset:510px 0 0}
 .avatar-hero__copy{padding:26px 0 10px}
 .avatar-hero__copy .actions{display:grid;grid-template-columns:minmax(0,1fr);max-width:360px}
 .avatar-hero__copy .button{justify-content:space-between}
 .avatar-hero__media{height:280px}
 .gallery .avatar-label{flex-wrap:nowrap}
 .gallery .avatar-label span{display:none}
}

/* A. The cascade fix. `.no-pad-top` used to lose to the later `.section` rule on
   desktop and only worked inside the mobile queries; declared last, it wins. */
.section.no-pad-top{padding-top:0}
