/* preloader */
.pre{display:none}
html.fx .pre{display:block;position:fixed;inset:0;z-index:100;overflow:hidden;pointer-events:none}
.pre-bg{position:absolute;left:50%;top:50%;width:320vmax;height:3vmax;background:var(--vul);transform:translate(-50%,-50%) rotate(-45deg) translateY(-80vmax);animation:preStrike .8s var(--eio) .05s both}
.pre-in{display:none}
@keyframes preStrike{to{transform:translate(-50%,-50%) rotate(-45deg) translateY(80vmax)}}
html.lock{overflow:hidden}

/* webgl */
#gl{display:none}
html.fx #gl{display:block;position:fixed;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
html.nogl #gl{display:none}

/* ===== generic scenes ===== */
.scene{position:relative;z-index:3}
.pad{padding-inline:var(--g)}
.stage{position:relative}
html.fx .scene--sticky{height:calc(var(--h) * 1vh)}
html.fx .scene--sticky>.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}

/* ===== HERO ===== */
.scene--pin{z-index:auto}
.hero{padding:calc(env(safe-area-inset-top,0px) + 120px) var(--g) 64px}
.hero-l1,.hero-l2{position:relative}
.hero-l2{margin-left:6vw}
.sym-fb{display:none}
.hero-ui{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px 48px;align-items:end;margin-top:48px}
.hero-meta{display:flex;flex-direction:column;gap:14px}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
.hero-scroll{display:none}
.obj-hit{display:none}
html:not(.fx) .sym-fb{display:block;position:absolute;right:var(--g);top:110px;width:min(34vw,380px);height:auto;color:var(--vul);z-index:0}
html:not(.fx) .hero-l1,html:not(.fx) .hero-l2,html:not(.fx) .cta-l1,html:not(.fx) .cta-l2{position:relative;z-index:1}
html:not(.fx) .hero-ui,html:not(.fx) .cta-bottom{position:relative;z-index:1}
html.fx .scene--pin{height:calc(var(--h) * 1vh);padding:0}
html.fx .pl{position:fixed;inset:0;pointer-events:none;visibility:hidden;will-change:transform}
html.fx .pl.on{visibility:visible}
html.fx .pl a,html.fx .pl button,html.fx .pl input,html.fx .pl label,html.fx .pl .obj-hit{pointer-events:auto}
html.fx .pl-back{z-index:1}
html.fx .pl-front{z-index:3}
html.fx .hero-l1{position:absolute;left:var(--g);top:calc(env(safe-area-inset-top,0px) + 14vh)}
html.fx .hero-l2{position:absolute;left:calc(var(--g) + 9vw);top:calc(env(safe-area-inset-top,0px) + 14vh + var(--mega) * .82);margin:0}
html.fx .hero-l1 .mi,html.fx .hero-l2 .mi{transform:translateY(112%);transition:transform 1.3s var(--eo)}
html.fx .hero-l2 .mi{transition-delay:.09s}
html.fx.ready .hero-l1 .mi,html.fx.ready .hero-l2 .mi{transform:none}
html.fx .hero-ui{position:absolute;left:var(--g);right:var(--g);bottom:calc(env(safe-area-inset-bottom,0px) + 64px);margin:0;opacity:0;transform:translateY(24px);transition:opacity .9s .45s,transform 1.1s .45s var(--eo)}
html.fx.ready .hero-ui{opacity:1;transform:none}
html.fx .hero-scroll{display:flex;align-items:center;gap:12px;font-size:11.5px;color:var(--mut);position:absolute;left:50%;bottom:-40px;transform:translateX(-50%)}
.hero-mid{display:none}
html.fx .hero-mid{display:block;position:absolute;left:0;right:0;top:50%;margin:0;text-align:center;font-size:clamp(56px,min(12.5vw,21vh),240px);font-weight:800;letter-spacing:-.065em;line-height:.84;opacity:0;will-change:transform,opacity;pointer-events:none}
html.fx .hero-mid span{display:block}
.hero-scroll i{display:block;width:44px;height:1px;background:var(--ln);position:relative;overflow:hidden}
.hero-scroll i::after{content:"";position:absolute;inset:0;background:var(--ac);animation:scan 1.8s var(--eio) infinite}
@keyframes scan{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
html.fx .obj-hit{display:block;position:absolute;right:4vw;top:50%;width:min(64vh,46vw);height:min(64vh,46vw);transform:translateY(-58%);border-radius:50%}
html.fx.nogl .sym-fb{display:block;color:var(--vul);position:absolute;right:6vw;top:50%;width:min(58vh,40vw);height:auto;margin:0;transform:translateY(-55%)}
@media (max-width:820px){
  :root{--mega:clamp(64px,20vw,200px)}
  html.fx .hero-l1{top:calc(env(safe-area-inset-top,0px) + 40vh)}
  html.fx .hero-l2{top:calc(env(safe-area-inset-top,0px) + 40vh + var(--mega) * .82);left:var(--g)}
  .hero-ui{grid-template-columns:1fr}
  .hero-l2{margin-left:0}
  html.fx .hero-scroll{display:none}
  html.fx .obj-hit{right:10vw;top:26vh;width:60vw;height:60vw;transform:translateY(-50%)}
}

/* ===== PAIN ===== */
.pain .stage{display:flex;flex-direction:column;gap:40px;padding:120px var(--g) 80px}
.pain-head{max-width:760px;position:relative;z-index:4}
.pain-head .h2{margin-top:18px}
.deck{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}
.dcard{position:relative;background:#fff;color:var(--noturno);border:1px solid #C3D0D6;padding:20px 22px 22px;display:flex;flex-direction:column;gap:14px;aspect-ratio:16/10;box-shadow:0 30px 60px -30px rgba(0,22,33,.35)}
.dc-top{display:flex;justify-content:space-between;gap:12px;font:500 11px/1.3 var(--m);color:#4A6572}
.dc-title{font-size:clamp(20px,1.7vw,28px);font-weight:800;letter-spacing:-.03em;line-height:1.05}
.dc-lines{display:flex;flex-direction:column;gap:7px;margin-top:auto}.dc-lines i{display:block;height:7px;background:#DCE4E8}.dc-lines i:nth-child(2){width:78%}.dc-lines i:nth-child(3){width:56%}
.dc-meta{font:500 11px/1.3 var(--m);color:#4A6572}
.stamp{position:absolute;right:16px;top:44%;border:3px solid var(--vul);color:var(--vul);font:800 clamp(15px,1.3vw,20px)/1 var(--f);letter-spacing:.04em;text-transform:uppercase;padding:8px 12px;transform:rotate(-9deg);background:rgba(255,255,255,.85)}
.cut{position:relative;background:var(--vul);color:var(--noturno);padding:48px var(--g)}
.cut-band{display:none}
.cut-txt{font-size:clamp(60px,12.5vw,240px);font-weight:800;letter-spacing:-.06em;line-height:.86}
.cut-sub{font:500 13px/1.4 var(--m);margin-top:22px;color:#331204}
html.fx .pain .stage{display:block;padding:0}
html.fx .pain-head{position:absolute;left:var(--g);top:calc(env(safe-area-inset-top,0px) + 16vh);max-width:min(44vw,720px)}
html.fx .deck{display:block;position:absolute;inset:0;perspective:1300px;perspective-origin:62% 50%}
html.fx .dcard{position:absolute;left:62%;top:54%;width:clamp(230px,24vw,390px);margin:0;will-change:transform,opacity;transform-style:preserve-3d}
html.fx .cut{position:absolute;inset:0;z-index:5;background:transparent;padding:0;pointer-events:none;overflow:hidden}
html.fx .cut-band{display:block;position:absolute;left:50%;top:50%;width:320vmax;height:320vmax;background:var(--vul);will-change:transform}
html.fx .cut-copy{position:absolute;left:var(--g);bottom:calc(env(safe-area-inset-bottom,0px) + 12vh);will-change:transform,opacity}
@media (max-width:820px){
  html.fx .pain-head{max-width:none;right:var(--g);top:calc(env(safe-area-inset-top,0px) + 12vh)}
  html.fx .deck{perspective-origin:50% 62%}
  html.fx .dcard{left:50%;top:64%;width:62vw}
}

/* ===== MANIFESTO ===== */
.mani .stage{display:flex;flex-direction:column;justify-content:center;gap:34px;padding:120px var(--g) 110px}
.mani-txt{font-size:clamp(28px,min(3.7vw,6.2vh),66px);font-weight:800;letter-spacing:-.04em;line-height:1.04;max-width:28ch}
.mani-txt .w{display:inline-block;margin-right:.24em;transition:opacity .2s linear}
.mani-txt .w.acc{color:var(--ac)}
html.fx .mani-txt .w{opacity:.14}
.mani-foot{display:flex;gap:48px;flex-wrap:wrap}
.mani-foot div{display:flex;flex-direction:column;gap:6px}
.mani-foot b{font:800 clamp(28px,2.6vw,40px)/1 var(--f);letter-spacing:-.04em;color:var(--fg)}
.mani-foot span{font-size:14px;color:var(--mut)}

/* ===== SERVICES ===== */
.svc .stage{padding:120px 0 80px}
.svc-top{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;padding:0 var(--g);margin-bottom:40px}
.svc-steps{display:flex;gap:22px;font:600 12px/1 var(--f);letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.svc-steps span{display:flex;align-items:center;gap:8px;transition:color .4s}
.svc-steps span::before{content:"";width:8px;height:8px;border:1.5px solid currentColor;border-radius:50%;transition:background-color .4s}
.svc-steps span.on{color:var(--fg)}.svc-steps span.on::before{background:var(--ac);border-color:var(--ac)}
.track{display:flex;flex-direction:column;gap:20px;padding:0 var(--g)}
.panel{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;padding:clamp(28px,3.4vw,56px);min-height:460px;background:var(--surface);color:var(--rime);overflow:hidden}
.panel--intro{background:transparent;color:var(--fg);grid-template-columns:1fr;align-content:end;box-shadow:inset 0 0 0 1px var(--ln)}
.panel--intro .h2{font-size:clamp(44px,6vw,108px)}
.panel--intro p{max-width:34ch;color:var(--mut);font-size:clamp(17px,1.4vw,21px);margin-top:24px}
.panel--orange{background:var(--vul);color:var(--noturno)}
.panel--light{background:var(--rime);color:var(--noturno)}
.p-num{font:500 13px/1 var(--m);opacity:.7}
.p-title{font-size:clamp(60px,8vw,150px);font-weight:800;letter-spacing:-.065em;line-height:.85;margin:18px 0 22px}
.p-line{font-size:clamp(20px,1.8vw,28px);font-weight:700;letter-spacing:-.02em;line-height:1.2;max-width:22ch}
.p-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.p-tags span{border:1px solid currentColor;opacity:.8;border-radius:999px;padding:7px 13px;font:600 12px/1 var(--f)}
.p-left{display:flex;flex-direction:column;justify-content:space-between}
.art{align-self:stretch;display:flex;flex-direction:column;justify-content:center;will-change:transform}
.term{background:#00101A;color:var(--rime);border:1px solid var(--line);font:400 clamp(12px,.95vw,14px)/1.8 var(--m);padding:22px 24px;min-height:300px}
.term .d{color:var(--gangue)}.term .h{color:var(--vul)}
.term .l{display:block;white-space:pre-wrap}
.term .cursor-b{display:inline-block;width:.55em;height:1.05em;background:var(--vul);vertical-align:-.18em;animation:blink 1s steps(2,start) infinite}
@keyframes blink{to{visibility:hidden}}
.audit{display:flex;flex-direction:column;gap:10px}
.audit li{list-style:none;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:rgba(0,22,33,.08);padding:14px 16px;font:500 13px/1.3 var(--m)}
.audit .st{font:700 11px/1 var(--f);letter-spacing:.1em;text-transform:uppercase;padding:6px 9px;border:1.5px solid currentColor;min-width:74px;text-align:center}
.audit li.fixed .st{background:var(--noturno);color:var(--vul);border-color:var(--noturno)}
.audit li.pass .st{background:transparent}
.audit .ic{width:10px;height:10px;border-radius:50%;background:currentColor;opacity:.35}
.audit li.fixed .ic,.audit li.pass .ic{opacity:1}
.audit ul{margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.bars{display:flex;flex-direction:column;gap:22px}
.bar-r{display:flex;flex-direction:column;gap:9px}
.bar-r .t{display:flex;justify-content:space-between;font:500 13px/1 var(--m)}
.bar-r .b{height:10px;background:rgba(0,22,33,.12);position:relative;overflow:hidden}
.bar-r .b i{position:absolute;inset:0;background:var(--noturno);transform-origin:left;transform:scaleX(0);transition:transform .45s var(--eo)}
.bar-r:first-child .b i{background:var(--vul)}
.hand{display:flex;flex-direction:column;gap:18px}
.meter{display:flex;align-items:baseline;gap:14px}
.meter b{font:800 clamp(64px,7vw,120px)/.85 var(--f);letter-spacing:-.06em;font-variant-numeric:tabular-nums;color:var(--vul)}
.meter span{font:500 13px/1.3 var(--m);color:var(--gangue);max-width:18ch}
.hand ol{margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.hand li{list-style:none;display:flex;gap:12px;align-items:center;font:500 13px/1.3 var(--m);color:var(--gangue);transition:color .4s}
.hand li::before{content:"";width:14px;height:14px;border:1.5px solid var(--line2);flex-shrink:0;transition:background-color .4s,border-color .4s}
.hand li.on{color:var(--rime)}.hand li.on::before{background:var(--vul);border-color:var(--vul)}
html.fx .svc .stage{padding:0;display:flex;flex-direction:column;justify-content:center}
html.fx .svc-top{position:absolute;left:0;right:0;top:calc(env(safe-area-inset-top,0px) + 96px);margin:0}
html.fx .track{flex-direction:row;gap:2.2vw;width:max-content;padding:0 var(--g);will-change:transform;margin-top:6vh}
html.fx .panel{width:min(78vw,1180px);height:min(66vh,640px);min-height:0;flex-shrink:0}
html.fx .panel--intro{width:min(46vw,640px)}
@media (max-width:820px){
  html.fx .scene--svc{height:auto}
  html.fx .svc .stage{position:relative;height:auto;overflow:visible;padding:120px 0 60px}
  html.fx .svc-top{position:relative;top:auto;margin-bottom:32px}
  html.fx .track{flex-direction:column;width:auto;margin:0}
  html.fx .panel,html.fx .panel--intro{width:auto;height:auto}
  .panel{grid-template-columns:1fr}
  .svc-steps{display:none}
}

/* ===== PROOF ===== */
.proof{padding:clamp(120px,14vw,200px) var(--g) clamp(96px,10vw,160px)}
.proof-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:clamp(56px,7vw,110px);border-top:1px solid var(--ln)}
.stat{padding:28px 24px 0 0;display:flex;flex-direction:column;gap:12px}
.stat+.stat{padding-left:24px;border-left:1px solid var(--ln)}
.stat b{font:800 clamp(48px,6vw,104px)/.9 var(--f);letter-spacing:-.06em;font-variant-numeric:tabular-nums}
.stat b em{font-style:normal;color:var(--ac)}
.stat>span{font-size:14px;color:var(--mut);max-width:22ch}
@media (max-width:820px){.stats{grid-template-columns:1fr 1fr}.stat:nth-child(3){padding-left:0;border-left:0}.stat{padding-bottom:28px}}
.cases{list-style:none;margin:clamp(64px,8vw,120px) 0 0;padding:0;border-top:1px solid var(--ln)}
.case{border-bottom:1px solid var(--ln)}
.case-btn{width:100%;display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr) minmax(0,1fr) 40px;gap:24px;align-items:center;padding:30px 0;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:padding .6s var(--eo)}
.case-btn:hover{padding-left:18px}
.c-ind{font:500 13px/1.3 var(--m);color:var(--mut)}
.c-sys{font-size:clamp(24px,2.6vw,44px);font-weight:800;letter-spacing:-.04em;line-height:1}
.c-res{font-size:clamp(16px,1.3vw,20px);font-weight:700;color:var(--ac)}
.c-plus{width:40px;height:40px;border:1.5px solid var(--ln);border-radius:50%;position:relative;transition:transform .5s var(--eo),background-color .4s}
.c-plus::before,.c-plus::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;background:var(--fg);transform:translate(-50%,-50%)}
.c-plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.case.open .c-plus{transform:rotate(45deg);background:var(--ac);border-color:var(--ac)}
.case-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .7s var(--eo)}
.case.open .case-body{grid-template-rows:1fr}
.case-body>div{overflow:hidden}
.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:0 0 34px}
.scard{font:400 13.5px/1.9 var(--m);padding:20px 22px;background:#fff;border:1px solid var(--ln)}
.scard .k{display:flex;justify-content:space-between;gap:16px}.scard .k span:first-child{color:#4A6572}
.scard .ttl{font-weight:500;margin-bottom:6px}
.scard.dead{color:#4A6572}.scard.dead .ttl{color:#4A6572}
.scard.live{border-color:var(--vul);box-shadow:inset 0 0 0 1px var(--vul)}.scard.live .ttl{color:#C83100}
.scard.live .v-hot{color:#C23000;font-weight:500}
@media (max-width:820px){.case-btn{grid-template-columns:1fr 40px;gap:8px 16px}.c-ind{grid-column:1/-1}.c-res{grid-column:1}.case-grid{grid-template-columns:1fr}}
.cfloat{position:fixed;left:0;top:0;z-index:80;pointer-events:none;width:360px;opacity:0;transform:scale(.85);transition:opacity .3s,transform .5s var(--eo)}
.cfloat.on{opacity:1;transform:scale(1)}
.cfloat .scard{box-shadow:0 30px 60px -20px rgba(0,22,33,.45)}
.proof-cta{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;margin-top:clamp(56px,7vw,100px)}
.proof-cta p{font-size:clamp(22px,2.2vw,34px);font-weight:800;letter-spacing:-.03em;line-height:1.1;max-width:22ch}

/* ===== WALL ===== */
.wall{padding:clamp(80px,9vw,140px) 0;overflow:hidden}
.wall-head{padding:0 var(--g) 40px;display:flex;justify-content:space-between;gap:24px;align-items:flex-end}
.mq{border-top:1.5px solid var(--ln);overflow:hidden;transition:background-color .35s,color .35s}
.mq:last-child{border-bottom:1.5px solid var(--ln)}
.mq-in{display:flex;width:max-content;will-change:transform}
.mq span{font-size:clamp(46px,8.6vw,158px);font-weight:800;letter-spacing:-.05em;line-height:1.08;padding:.06em .22em .1em;white-space:nowrap}
.mq span.sep{color:transparent;-webkit-text-stroke:2px currentColor;padding-inline:.1em}
.mq--o span{color:transparent;-webkit-text-stroke:2px var(--fg)}
.mq:hover{background:var(--noturno);color:var(--vul)}
.mq--o:hover span{-webkit-text-stroke-color:var(--vul)}

/* ===== PROCESS ===== */
.proc{padding:clamp(120px,14vw,200px) var(--g)}
.proc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,120px)}
.proc-l{position:sticky;top:calc(env(safe-area-inset-top,0px) + 18vh);align-self:start}
.proc-l .h2{font-size:clamp(46px,6.2vw,112px);margin-top:18px}
.proc-n{font:500 14px/1 var(--m);color:var(--mut);margin-top:40px}
.proc-n b{font:800 clamp(80px,9vw,160px)/.8 var(--f);letter-spacing:-.07em;color:var(--ac);display:block;margin-bottom:14px}
.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.step{padding:clamp(40px,6vh,80px) 0;border-top:1px solid var(--ln);display:flex;flex-direction:column;gap:18px;min-height:52vh;justify-content:center}
.step:last-child{border-bottom:1px solid var(--ln)}
.step .k{font:500 13px/1 var(--m);color:var(--ac)}
.step h3{font-size:clamp(32px,3.6vw,60px);font-weight:800;letter-spacing:-.045em;line-height:.95}
.step p{font-size:clamp(17px,1.35vw,21px);color:var(--mut);max-width:38ch}
@media (max-width:820px){.proc-grid{grid-template-columns:1fr}.proc-l{position:relative;top:auto}.step{min-height:0}}

/* ===== CTA ===== */
.cta{padding:120px var(--g) 80px}
.cta-l1,.cta-l2{font-size:clamp(72px,min(17vw,28vh),300px);font-weight:800;letter-spacing:-.065em;line-height:.82;white-space:nowrap}
.cta-l1{color:var(--mut)}
.cta-bottom{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;align-items:end;margin-top:40px}
.cta-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;align-items:end}
.f{display:flex;flex-direction:column;gap:8px}
.f--wide{grid-column:1/-1}
.f label{font:600 12px/1 var(--f);letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.f input{height:54px;background:transparent;border:0;border-bottom:1.5px solid var(--ln);color:var(--fg);font:600 18px/1 var(--f);padding:0 2px;border-radius:0;transition:border-color .3s}
.f input::placeholder{color:var(--mut);opacity:.7}
.f input:focus{outline:none;border-bottom-color:var(--ac)}
.cta-form .btn{grid-column:1/-1;justify-self:start;margin-top:12px}
.f-note{grid-column:1/-1;font:500 12.5px/1.5 var(--m);color:var(--mut)}
.f-note a{color:var(--fg);text-decoration:underline;text-underline-offset:3px}
.closer{font-size:clamp(18px,1.6vw,24px);font-weight:700;letter-spacing:-.02em;line-height:1.25;max-width:26ch;justify-self:end;text-align:right}
.closer span{display:block;font:500 12px/1 var(--m);letter-spacing:.06em;color:var(--mut);margin-top:12px}
.cta-ghost{display:none}
html:not(.fx) .cta-l1{text-decoration:line-through;text-decoration-color:var(--vul);text-decoration-thickness:.085em}
html.fx .cta-ghost{display:block;color:transparent;pointer-events:none}
html.fx .cta-ghost .gt{visibility:hidden}
.strike{position:absolute;left:-.05em;right:-.03em;top:var(--st,.5em);height:.085em;background:var(--vul);transform-origin:left center;transform:scaleX(0);will-change:transform}
html.fx .cta-l1{will-change:transform,opacity}
html.fx .cta-bottom{will-change:transform,opacity}
html.fx .cta{padding:0}
html.fx .cta-l1{position:absolute;left:var(--g);top:calc(env(safe-area-inset-top,0px) + 13vh)}
html.fx .cta-l2{position:absolute;left:calc(var(--g) + 7vw);top:calc(env(safe-area-inset-top,0px) + 13vh + clamp(72px,min(17vw,28vh),300px) * .84)}
html.fx .cta-bottom{position:absolute;left:var(--g);right:var(--g);bottom:calc(env(safe-area-inset-bottom,0px) + 70px);margin:0}
html.fx .cta .obj-hit{right:6vw;top:40%;width:min(50vh,38vw);height:min(50vh,38vw)}
html.fx.nogl .cta .sym-fb{right:8vw;top:40%;width:min(44vh,34vw)}
@media (max-width:980px){.cta-bottom{grid-template-columns:1fr}.closer{justify-self:start;text-align:left}}
@media (max-width:820px){
  html.fx .cta-l1{top:calc(env(safe-area-inset-top,0px) + 12vh)}
  html.fx .cta-l2{left:var(--g)}
  .cta-form{grid-template-columns:1fr}
  .closer{display:none}
  html.fx .cta .obj-hit{display:none}
}

/* reveals */
html.fx [data-reveal]{opacity:0;transform:translateY(46px);transition:opacity 1s var(--eo),transform 1.2s var(--eo);transition-delay:calc(var(--d,0) * 1ms)}
html.fx [data-reveal].in{opacity:1;transform:none}
html.fx [data-split] .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
html.fx [data-split] .wi{display:inline-block;transform:translateY(105%);transition:transform 1.2s var(--eo);transition-delay:calc(var(--i) * 55ms)}
html.fx [data-split].in .wi{transform:none}

