:root{--bg:#f5efe2;--ink:#0f0e0d;--mute:#564f48;--line:#0f0e0d1f;--g:#1a7f37;--g2:#1e8a3c;--y:#e9a800;--card:#fbf8f0;--blue:#2d77c4}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}.display{text-transform:none}.marq i{color:#fff}.eyebrow{color:var(--blue)}
body{background:var(--bg);color:var(--ink);font-family:'Bricolage Grotesque',sans-serif;line-height:1.5;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.wrap{max-width:1280px;margin:0 auto;padding:0 24px}
.display{font-family:'Bricolage Grotesque',sans-serif;font-weight:600;line-height:.98;letter-spacing:-.035em}
.serif{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;text-transform:none;color:var(--y)}
.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--g2);display:flex;gap:10px;align-items:center}
.eyebrow:before{content:"";width:28px;height:2px;background:var(--y)}
section{padding:120px 0;position:relative}
h2.display{font-size:clamp(44px,7vw,104px);margin:18px 0 0}

/* progress + cursor */
#bar{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--g2),var(--y));z-index:100}
#cur,#cur2{position:fixed;top:0;left:0;pointer-events:none;z-index:99;border-radius:50%;transform:translate(-50%,-50%);display:none}
#cur{width:8px;height:8px;background:var(--ink)}
#cur2{width:38px;height:38px;border:1px solid var(--ink);transition:width .25s,height .25s,background .25s;}
#cur2.big{width:84px;height:84px;background:#0f0e0d22}
@media(hover:hover) and (pointer:fine){#cur,#cur2{display:block}}

/* nav */
nav{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:90;display:flex;align-items:center;gap:6px;padding:8px 8px 8px 18px;background:rgba(251,248,240,.8);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:100px;transition:transform .4s}
nav .brand,nav .btn{white-space:nowrap}nav .btn{padding:10px 16px}
nav.hide{transform:translate(-50%,-140%)}
nav .brand{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;margin-right:10px}
nav .brand img{width:22px;height:26px;object-fit:contain;background:#fff;border-radius:4px;padding:1px}
nav a.l{font-size:13px;padding:8px 12px;border-radius:50px;color:var(--mute);transition:.2s}
nav a.l:hover{color:var(--ink);background:#0000000d}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:#fff;font-weight:600;font-size:14px;padding:12px 22px;border-radius:100px;border:0;transition:transform .15s,background .2s;will-change:transform}
.btn:hover{background:var(--g)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid #0f0e0d40}
.btn.ghost:hover{background:#0f0e0d10;color:var(--ink)}
@media(max-width:820px){nav a.l{display:none}}

/* hero */
#hero{min-height:100vh;display:flex;align-items:center;padding:140px 0 80px;overflow:hidden}
#hero canvas{position:absolute;inset:0;width:100%;height:100%}
#hero .wrap{position:relative;z-index:2}
#hero h1{font-size:clamp(60px,12.5vw,200px);margin-top:20px}
#hero h1 .ln{display:block;overflow:hidden}
#hero h1 .ln span{display:inline-block;transform:translateY(105%);animation:up 1s cubic-bezier(.2,.9,.2,1) forwards}
#hero h1 .ln:nth-child(2) span{animation-delay:.12s}#hero h1 .ln:nth-child(3) span{animation-delay:.24s}
@keyframes up{to{transform:none}}
.hero-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-top:44px;flex-wrap:wrap}
.hero-foot p{max-width:460px;color:var(--mute);font-size:18px}
.hero-foot .cta{display:flex;gap:12px;flex-wrap:wrap}
.badge{position:absolute;right:6%;top:24%;width:150px;height:150px;z-index:2;animation:spin 18s linear infinite}
.badge svg{width:100%;height:100%}.badge text{font-size:11.5px;letter-spacing:.22em;fill:var(--y);text-transform:uppercase}
.badge img{position:absolute;inset:50px;width:50px;height:50px;object-fit:contain;background:#fff;border-radius:50%;padding:6px;animation:spin 18s linear infinite reverse}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:820px){.badge{display:none}}

/* marquee */
.marq{border-block:1px solid var(--line);overflow:hidden;padding:22px 0;background:var(--g)}
.marq div{display:flex;gap:48px;width:max-content;animation:mq 28s linear infinite;font-family:'Bricolage Grotesque',sans-serif;font-weight:600;letter-spacing:-.03em;font-size:34px;color:#fff}
.marq i{color:var(--y);font-style:normal}
.marq:hover div{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}

/* about */
.about{display:grid;grid-template-columns:1fr 1.3fr;gap:70px;align-items:center}
.photo{position:relative;aspect-ratio:1;max-width:460px;border-radius:50%;padding:10px;background:conic-gradient(from 0deg,var(--g),var(--y),var(--blue),var(--g));transition:transform .2s;transform-style:preserve-3d}
.photo img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;border:8px solid var(--bg)}
.chip{position:absolute;background:var(--card);border:1px solid var(--line);padding:10px 16px;border-radius:50px;font-size:13px;font-weight:500;animation:fl 5s ease-in-out infinite}
.chip b{color:var(--y)}.chip.a{top:8%;right:-6%}.chip.b{bottom:12%;left:-8%;animation-delay:-2s}
@keyframes fl{50%{transform:translateY(-12px)}}
.about h2{font-size:clamp(36px,5vw,72px)}
.about p{color:var(--mute);font-size:18px;margin-top:22px;max-width:560px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.stat{border-top:2px solid var(--g);padding-top:14px}
.stat strong{font-family:'Bricolage Grotesque',sans-serif;font-weight:600;letter-spacing:-.03em;font-size:56px;line-height:1;display:block}
.stat span{font-size:13px;color:var(--mute)}
@media(max-width:900px){.about{grid-template-columns:1fr}.photo{margin:0 auto;max-width:320px}.chip.a{right:-2%}}

/* services */
.svc{margin-top:60px;border-top:1px solid var(--line)}
.row{border-bottom:1px solid var(--line);overflow:hidden;position:relative}
.row:before{content:"";position:absolute;inset:0;background:var(--g);color:#fff;transform:translateY(101%);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.row:hover:before,.row.open:before{transform:none}.row:hover,.row.open{color:#fff}
.row>*{position:relative}
.rh{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:20px;padding:30px 8px;width:100%;background:none;border:0;color:inherit;text-align:left}
.rh .n{color:var(--y);font-weight:600}.rh .t{font-family:'Bricolage Grotesque',sans-serif;font-weight:600;letter-spacing:-.03em;font-size:clamp(28px,4.4vw,64px);line-height:1}
.rh .pl{font-size:34px;transition:transform .3s}.row.open .pl{transform:rotate(45deg)}
.rb{max-height:0;transition:max-height .5s cubic-bezier(.2,.8,.2,1)}
.rb .in{padding:0 8px 34px 98px;display:grid;grid-template-columns:1.2fr 1fr;gap:30px}
.rb p{font-size:17px;max-width:520px}
.tags{display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start}
.tags span{border:1px solid #ffffff55;border-radius:50px;padding:6px 14px;font-size:13px}
.kind{display:inline-block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;color:var(--y)}
@media(max-width:700px){.rb .in{grid-template-columns:1fr;padding-left:8px}.rh{grid-template-columns:40px 1fr auto}}

/* work: horizontal scroll */
#work{padding:0;height:420vh}
.pin{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:34px}
.track{display:flex;gap:26px;padding:0 6vw;will-change:transform}
.case{flex:0 0 min(76vw,560px);height:52vh;min-height:360px;border-radius:26px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;transition:transform .3s}
.case:hover{transform:translateY(-8px) rotate(-.6deg)}
.case .k{font-size:12px;letter-spacing:.16em;text-transform:uppercase;opacity:.8}
.case h3{font-family:'Bricolage Grotesque',sans-serif;font-weight:600;letter-spacing:-.03em;font-size:clamp(34px,4.6vw,62px);line-height:.95;margin-top:10px}
.case .res{display:flex;gap:26px;align-items:flex-end;justify-content:space-between}
.case .big{font-family:'Bricolage Grotesque',sans-serif;font-weight:600;letter-spacing:-.03em;font-size:clamp(60px,8vw,120px);line-height:.85}
.case small{font-size:13px;max-width:180px;display:block;opacity:.85}
.case .glyph{position:absolute;right:-30px;top:-40px;font-family:'Bricolage Grotesque',sans-serif;font-weight:600;letter-spacing:-.03em;font-size:340px;line-height:1;opacity:.12}
.c1{background:var(--g);color:#fff}.c2{background:var(--y);color:#111}.c3{background:#fff;color:#111}.c4{background:#0f0e0d;color:#f5efe2}.c5{background:linear-gradient(135deg,#2d77c4,#1e8a3c 60%,#0e3d1b)}
.wk-head{padding:0 6vw;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.wk-head h2{margin:12px 0 0;font-size:clamp(40px,6vw,88px)}
.prog{height:3px;background:var(--line);margin:0 6vw;border-radius:3px}.prog i{display:block;height:100%;width:0;background:var(--y);border-radius:3px}
.note{font-size:12px;color:var(--mute);padding:0 6vw}
@media(max-width:700px){#work{height:auto;padding:90px 0}.pin{position:static;height:auto}.track{flex-direction:column;padding:0 24px}.case{flex:auto;height:auto;min-height:320px}.prog{display:none}}

/* process */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:60px}
.step{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:28px;min-height:260px;transition:.3s;position:relative;overflow:hidden}
.step:hover{border-color:var(--g2);transform:translateY(-6px)}
.step em{font-family:'Bricolage Grotesque',sans-serif;font-weight:600;letter-spacing:-.03em;font-style:normal;font-size:64px;color:var(--g2);display:block;line-height:1}
.step h3{font-size:20px;margin:30px 0 8px}.step p{color:var(--mute);font-size:15px}
@media(max-width:960px){.steps{grid-template-columns:1fr 1fr}}@media(max-width:560px){.steps{grid-template-columns:1fr}}

/* ROI */
.calc{margin-top:50px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:26px;padding:34px}
.panel label{display:flex;justify-content:space-between;font-size:14px;color:var(--mute);margin:22px 0 10px}
.panel label b{color:var(--ink)}
input[type=range]{-webkit-appearance:none;width:100%;height:4px;border-radius:4px;background:var(--line);outline:0}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--ink);border:4px solid var(--bg);box-shadow:0 0 0 1px var(--y)}
.out{background:var(--g);display:flex;flex-direction:column;justify-content:space-between}
.out{color:#fff}.out .big{font-family:'Bricolage Grotesque',sans-serif;font-weight:600;letter-spacing:-.03em;font-size:clamp(56px,8vw,112px);line-height:.95}
.out small{opacity:.85;font-size:12px}
.mini{display:flex;gap:30px;margin-top:20px;flex-wrap:wrap}.mini div strong{font-family:'Bricolage Grotesque',sans-serif;font-weight:600;letter-spacing:-.03em;font-size:34px;display:block}
@media(max-width:860px){.calc{grid-template-columns:1fr}}

/* contact */
#contact{border-radius:40px 40px 0 0;background:#0f0e0d;color:#f5efe2;padding:120px 0 60px}
#contact .eyebrow{color:var(--y)}
#contact h2{font-size:clamp(54px,11vw,180px);margin:20px 0 40px}
#contact h2 .serif{color:var(--y)}
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:50px}
.clist a,.clist p{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid #f5efe230;font-size:19px;font-weight:500;transition:.25s}
.clist a:hover{padding-left:14px;color:var(--y)}
.clist small{font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.6;display:block}
form{display:grid;gap:14px}
form input,form textarea,form select{width:100%;background:#ffffff10;border:1px solid #ffffff30;border-radius:14px;padding:16px;font:inherit;color:#f5efe2;outline:0;transition:.2s}
form input:focus,form textarea:focus,form select:focus{border-color:var(--y)}form option{color:#111}
form .btn{background:var(--y);color:#111;justify-content:center;padding:18px}form .btn:hover{background:#ffc933}
.foot{display:flex;justify-content:space-between;gap:20px;margin-top:80px;font-size:13px;flex-wrap:wrap;opacity:.8}
@media(max-width:860px){.cgrid{grid-template-columns:1fr}}

/* reveal */
.rv{opacity:0;transform:translateY(40px);transition:opacity .9s,transform .9s cubic-bezier(.2,.8,.2,1)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}#hero h1 .ln span{transform:none}}
.wa{position:fixed;right:20px;bottom:20px;z-index:95;display:flex;align-items:center;gap:10px;background:#25d366;color:#fff;padding:14px 18px;border-radius:50px;font-weight:600;font-size:14px;box-shadow:0 10px 30px #0006;animation:pul 2.4s infinite}
.wa:hover{transform:scale(1.06)}@keyframes pul{0%{box-shadow:0 0 0 0 #25d36699}70%{box-shadow:0 0 0 18px #25d36600}100%{box-shadow:0 0 0 0 #25d36600}}
@media(max-width:600px){.wa span{display:none}.wa{padding:14px}}
#hero{padding:0;display:block;min-height:0;overflow:visible}
#hero .art{height:62vh;min-height:360px;position:relative;overflow:hidden;-webkit-mask:radial-gradient(circle at 12px 100%,#0000 11px,#000 12px) 0 100%/24px 100% repeat-x;mask:radial-gradient(circle at 12px 100%,#0000 11px,#000 12px) 0 100%/24px 100% repeat-x;-webkit-mask-composite:source-over}
#hero .art img{width:100%;height:112%;object-fit:cover;will-change:transform}
.hero2{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:end;padding-top:50px}
.hero2 h1{font-size:clamp(46px,7.6vw,118px);margin-top:18px}.hero2 .side p{color:var(--mute);font-size:17px}
.hero2 .cta{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 12px}.hero2 small{color:var(--mute)}
@media(max-width:860px){.hero2{grid-template-columns:1fr}}
.marq{margin-top:70px;background:var(--ink)}.marq i{color:var(--y)}

/* ---- v2 additions ---- */
.rotline{margin-top:26px;font-size:clamp(18px,2.2vw,28px);color:var(--mute)}
.rotline b{color:var(--y);border-bottom:2px solid var(--y);padding-bottom:2px;white-space:nowrap}
.rotline b:after{content:"|";margin-left:2px;animation:bl 1s steps(1) infinite}@keyframes bl{50%{opacity:0}}
.sec-sub{color:var(--mute);max-width:620px;margin-top:20px;font-size:18px}
/* bengaluru */
.blr{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;margin-top:50px}
.map{position:relative;background:var(--card);border:1px solid var(--line);border-radius:28px;min-height:520px;overflow:hidden;background-image:radial-gradient(var(--line) 1px,transparent 1px);background-size:22px 22px}
.map .ring{position:absolute;left:50%;top:52%;border:1px dashed var(--line);border-radius:50%;transform:translate(-50%,-50%)}
.pin2{position:absolute;transform:translate(-50%,-50%);background:var(--bg);color:var(--ink);border:1px solid var(--line);padding:8px 14px;border-radius:50px;font-size:13px;font-weight:500;transition:.25s;white-space:nowrap}
.pin2:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--y);margin-right:8px;box-shadow:0 0 0 0 var(--y);animation:pp 2.2s infinite}
@keyframes pp{70%{box-shadow:0 0 0 10px #0000}}
.pin2:hover,.pin2.on{background:var(--g);color:#fff;border-color:var(--g);transform:translate(-50%,-50%) scale(1.12);z-index:3}
.pin2.hq{background:var(--y);color:#111;border-color:var(--y)}
.maplabel{position:absolute;left:18px;bottom:16px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.ainfo{background:var(--g);color:#fff;border-radius:28px;padding:36px;display:flex;flex-direction:column;gap:18px}
.ainfo h3{font-size:clamp(34px,4vw,56px);line-height:1;font-family:inherit;font-weight:600}
.ainfo p{opacity:1}
.ainfo .cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:auto}
.ainfo h4{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--y);margin-bottom:8px}
.ainfo li{list-style:none;padding:8px 0;border-top:1px solid #ffffff33;font-size:15px}
.ainfo.pop{animation:popin .4s}@keyframes popin{from{opacity:.4;transform:scale(.98)}}
@media(max-width:900px){.blr{grid-template-columns:1fr}.map{min-height:460px}}
/* offline grid */
.ogrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:50px}
.oc{perspective:900px;height:230px}
.oc>div{position:relative;width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.8,.2,1);transform-style:preserve-3d}
.oc:hover>div,.oc.fl>div{transform:rotateY(180deg)}
.oc .f,.oc .b{position:absolute;inset:0;border-radius:22px;padding:24px;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;justify-content:space-between}
.oc .f{background:var(--card);border:1px solid var(--line)}.oc .f span{font-size:40px}.oc .f h4{font-size:20px;font-weight:600}
.oc .b{background:var(--y);color:#111;transform:rotateY(180deg);font-size:14px}.oc .b strong{font-size:17px}
@media(max-width:960px){.ogrid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.ogrid{grid-template-columns:1fr}}
/* planner */
.plan{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px;margin-top:50px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.chips button{background:transparent;border:1px solid var(--line);color:var(--ink);padding:10px 16px;border-radius:50px;font:inherit;font-size:14px;transition:.2s}
.chips button:hover{border-color:var(--y)}.chips button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.bars{display:grid;gap:14px}
.bar{display:grid;grid-template-columns:130px 1fr 80px;gap:12px;align-items:center;font-size:14px}
.bar i{display:block;height:14px;border-radius:14px;background:var(--line);overflow:hidden;position:relative}.bar i:after{content:"";position:absolute;inset:0;width:var(--w,0%);background:linear-gradient(90deg,var(--g),var(--y));border-radius:14px;transition:width .9s cubic-bezier(.2,.8,.2,1)}
.bar b{text-align:right;font-weight:600}
.tip{margin-top:22px;padding:16px;border-radius:16px;background:var(--bg);border:1px dashed var(--line);font-size:14px;color:var(--mute)}
@media(max-width:900px){.plan{grid-template-columns:1fr}.bar{grid-template-columns:100px 1fr 70px}}
/* faq */
.faq{margin-top:50px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:22px 4px}
.faq summary{list-style:none;font-size:clamp(18px,2.2vw,26px);font-weight:500;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-size:30px;line-height:1;color:var(--y);transition:.3s}
.faq details[open] summary:after{transform:rotate(45deg)}.faq p{color:var(--mute);margin-top:14px;max-width:720px}
/* spotlight cards */
.step,.oc .f{--mx:50%;--my:50%}
.step:before{content:"";position:absolute;inset:0;background:radial-gradient(260px circle at var(--mx) var(--my),#ffffff14,transparent 60%);opacity:0;transition:.3s}.step:hover:before{opacity:1}
.step>*{position:relative}
.blobs{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}

/* ===== VARIATION 3: Street poster ===== */
:root{--bg:#fff4d6;--ink:#111;--mute:#3b3b3b;--line:#111;--card:#fff;--g:#1a7f37;--g2:#1e8a3c;--y:#ffd23d;--co:#cc3014;--blue:#1e8a3c}
body{font-family:'Bricolage Grotesque',sans-serif;background:var(--bg);background-image:radial-gradient(#11111114 1.2px,transparent 1.2px);background-size:22px 22px}
.display{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;letter-spacing:-.04em;line-height:.94}
.serif{color:var(--co)}
.eyebrow{font-family:'Space Mono',monospace;color:#111;font-size:12px;letter-spacing:.08em}.eyebrow:before{background:#111;height:3px}
.kn{font-family:'Noto Sans Kannada',sans-serif;background:var(--y);border:2px solid #111;padding:2px 10px;border-radius:50px;letter-spacing:0}
mark{background:var(--y);padding:0 .12em;border:3px solid #111;border-radius:.18em;display:inline-block;transform:rotate(-2deg);box-shadow:6px 6px 0 #111}
nav{background:#fff;border:2px solid #111;box-shadow:4px 4px 0 #111;backdrop-filter:none}
nav .brand img{border:1px solid #111}nav a.l{color:#111;font-weight:600}nav a.l:hover{background:var(--y)}
.btn{background:var(--y);color:#111;border:2px solid #111;box-shadow:4px 4px 0 #111;border-radius:14px;font-weight:800;transition:transform .12s,box-shadow .12s}
.btn:hover{background:var(--y);transform:translate(2px,2px)!important;box-shadow:2px 2px 0 #111}
.btn.alt{background:#fff}.btn.ghost{background:#fff;border:2px solid #111}.btn.ghost:hover{background:var(--y)}
nav .btn{box-shadow:none;border-radius:50px;padding:10px 16px}
#hero{padding:130px 0 70px}
.hp{display:grid;grid-template-columns:1.15fr 1fr;gap:30px;align-items:center}
.hl h1{font-size:clamp(54px,9vw,140px);margin:22px 0 0}
.lede{font-size:18px;color:var(--mute);max-width:520px;margin:18px 0 26px}
.rotline{font-family:'Space Mono',monospace;color:#111;font-size:clamp(14px,1.6vw,20px)}.rotline b{background:var(--co);color:#fff;border:none;padding:2px 10px;border-radius:8px}
.cta{display:flex;gap:14px;flex-wrap:wrap}
.stage{position:relative;min-height:560px}
.stk{position:absolute;transform:rotate(var(--r,0));touch-action:none;user-select:none;-webkit-user-select:none;transition:box-shadow .15s;cursor:grab}
.stk.drag{cursor:grabbing;z-index:20;box-shadow:12px 12px 0 #111!important}
.photo3{width:min(300px,62%);background:#fff;border:3px solid #111;box-shadow:8px 8px 0 #111;border-radius:20px;padding:12px 12px 14px}
.photo3 img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;border:2px solid #111;display:block;pointer-events:none}
.photo3 b{display:block;margin-top:10px;font-size:18px}.photo3 small{font-family:'Space Mono',monospace;font-size:12px}
.logo3{width:120px;height:140px;background:#fff;border:3px solid #111;box-shadow:6px 6px 0 #111;border-radius:50% 50% 20px 20px;display:grid;place-items:center}.logo3 img{width:70px;pointer-events:none}
.tag{padding:12px 18px;border:3px solid #111;box-shadow:5px 5px 0 #111;border-radius:50px;font-weight:800;font-size:17px;white-space:nowrap}
.hint{position:absolute;right:0;bottom:-6px;font-family:'Space Mono',monospace;font-size:11px;color:#555}
@media(max-width:900px){.hp{grid-template-columns:1fr}.stage{min-height:480px}}
.marq{background:#111;border-block:3px solid #111;margin-top:30px}.marq div{font-family:'Bricolage Grotesque';font-weight:800;color:var(--y)}.marq i{color:#fff}
h2.display{font-size:clamp(40px,6.4vw,96px)}
.panel,.step,.map,.oc .f,.faq details,.ainfo,.photo,.tip,.stat{border:2px solid #111!important}
.panel,.step,.map,.ainfo,.oc .f{box-shadow:6px 6px 0 #111;border-radius:20px}
.panel{background:#fff}.out{background:var(--g)!important}
.step:hover{transform:translate(-3px,-3px) rotate(-.6deg);box-shadow:10px 10px 0 #111;border-color:#111}
.step em{color:var(--co);font-family:'Bricolage Grotesque';font-weight:800}
.stat{border:none!important;border-top:4px solid #111!important}.stat strong{font-family:'Bricolage Grotesque';font-weight:800}
.photo{background:var(--y);padding:10px;box-shadow:8px 8px 0 #111;border-radius:50%}.photo img{border:4px solid #111}
.chip{border:2px solid #111;background:#fff;box-shadow:3px 3px 0 #111;color:#111}.chip b{color:#c92d12}
.svc{border-top:3px solid #111}.row{border-bottom:3px solid #111}.row:before{background:var(--y)}.row:hover,.row.open{color:#111}
.rh .n{font-family:'Space Mono',monospace;color:var(--co)}.rb .tags span{border:2px solid #111;font-weight:600}.kind{color:var(--co);font-family:'Space Mono',monospace}
.case{border:3px solid #111!important;box-shadow:8px 8px 0 #111}.c1{background:var(--g)}.c2{background:var(--y)}.c3{background:#fff}.c4{background:var(--co);color:#fff}.c5{background:#111;color:var(--y)}
.prog{background:#fff;border:2px solid #111;height:10px}.prog i{background:var(--co)}
.pin2{border:2px solid #111;background:#fff;font-weight:600;box-shadow:3px 3px 0 #111}.pin2:hover,.pin2.on{background:var(--y);color:#111;border-color:#111}.pin2.hq{background:var(--co);color:#fff;border-color:#111}
.map{background-color:#fff}.ainfo{background:var(--g);color:#fff}
.oc .b{background:var(--y);border:2px solid #111;border-radius:20px}
.chips button{border:2px solid #111;font-weight:600;background:#fff}.chips button.on{background:#111;color:var(--y)}
.bar i{border:2px solid #111;background:#fff;height:18px}.bar i:after{background:var(--co)}
input[type=range]{height:8px;background:#fff;border:2px solid #111}input[type=range]::-webkit-slider-thumb{background:var(--co);border:3px solid #111;box-shadow:none}
.faq{border-top:3px solid #111}.faq details{border:none!important;border-bottom:3px solid #111!important;border-radius:0;box-shadow:none}.faq summary:after{color:var(--co)}
#contact{background:var(--g);color:#fff;border-top:4px solid #111;border-radius:0}
#contact .eyebrow{color:#fff}#contact .eyebrow:before{background:#fff}#contact h2 .serif{color:var(--y)}
.clist a,.clist p{border-bottom:2px solid #ffffff55}.clist a:hover{color:var(--y)}
form input,form textarea,form select{background:#fff;color:#111;border:2px solid #111;box-shadow:4px 4px 0 #111}
form .btn{background:var(--y);color:#111}
.wa{border:2px solid #111;box-shadow:4px 4px 0 #111;animation:none;color:#111;background:#25d366}
#cur{background:#111}#cur2{border-color:#111}

@media(max-width:600px){}

.maplabel{top:16px;bottom:auto}
.pin2[aria-pressed]{}
nav a.l.act{color:var(--ink);background:#ffffff14}
:focus-visible{outline:3px solid var(--y);outline-offset:3px}
@media(max-width:700px){.map{min-height:580px}.pin2{font-size:12px;padding:6px 10px}.wk-head p{display:none}.bar{grid-template-columns:96px 1fr 66px}.panel{padding:24px}.ogrid{gap:12px}.oc{height:200px}#about .photo{max-width:280px}.hero-foot .cta,.cta{width:100%}.cta .btn{flex:1;justify-content:center}}
@media(hover:none){.oc:hover>div{transform:none}.oc.fl>div{transform:rotateY(180deg)}}
@media(max-width:700px){.stage{min-height:560px}.stk.tag:nth-child(4){top:70%!important}.stk.tag:nth-child(3){top:62%!important}.stk.tag:nth-child(5){bottom:8%!important}}
.hl h1{font-size:clamp(54px,7.6vw,118px)!important}.stk.tag:nth-child(3){top:82%!important;left:2%!important}.stk.tag:nth-child(4){top:34%!important;right:auto!important;left:-6%!important}
@media(max-width:700px){.hl h1{font-size:clamp(54px,15vw,90px)!important}.stk.tag:nth-child(4){top:70%!important;left:auto!important;right:0!important}}

/* ===== PRO PACK ===== */
.burger{display:none;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);align-items:center;justify-content:center;flex-direction:column;gap:5px;margin-left:2px;flex:none}
.burger i{display:block;width:18px;height:2px;background:currentColor;transition:.3s}
.burger.on i:nth-child(1){transform:translateY(7px) rotate(45deg)}.burger.on i:nth-child(2){opacity:0}.burger.on i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:820px){.burger{display:flex}}
.mm{position:fixed;inset:0;z-index:88;background:var(--bg);color:var(--ink);padding:104px 26px 30px;display:flex;flex-direction:column;gap:2px;transform:translateY(-100%);visibility:hidden;transition:transform .65s cubic-bezier(.7,0,.2,1),visibility 0s .65s;overflow:auto}
.mm.on{transform:none;visibility:visible;transition:transform .65s cubic-bezier(.7,0,.2,1)}
.mm a.ml{font-size:clamp(34px,10.5vw,60px);line-height:1.1;padding:10px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;opacity:0;transform:translateY(24px);transition:opacity .5s,transform .5s}
.mm a.ml span{font-size:.5em;color:var(--y)}
.mm.on a.ml{opacity:1;transform:none}.mm.on a.ml:nth-child(1){transition-delay:.25s}.mm.on a.ml:nth-child(2){transition-delay:.3s}.mm.on a.ml:nth-child(3){transition-delay:.35s}.mm.on a.ml:nth-child(4){transition-delay:.4s}.mm.on a.ml:nth-child(5){transition-delay:.45s}.mm.on a.ml:nth-child(6){transition-delay:.5s}
.mm .mf{margin-top:auto;display:grid;gap:10px;padding-top:26px}.mm .mf small{color:var(--mute)}
#ld{position:fixed;inset:0;z-index:300;background:var(--bg);display:grid;place-items:center;transition:opacity .6s,visibility .6s;animation:ldh .1s 3.5s forwards}
#ld.off{opacity:0;visibility:hidden}@keyframes ldh{to{opacity:0;visibility:hidden}}
#ld img{width:76px;height:88px;object-fit:contain;background:#fff;border-radius:18px;padding:8px;animation:ldp 1.1s ease-in-out infinite}
#ld div{margin-top:18px;height:3px;width:120px;border-radius:3px;background:var(--line);overflow:hidden}#ld div i{display:block;height:100%;width:0;background:var(--y);animation:ldb 1.2s ease-out forwards}
@keyframes ldp{50%{transform:scale(1.08) rotate(-3deg)}}@keyframes ldb{to{width:100%}}
.ldw{display:flex;flex-direction:column;align-items:center}
.dots{position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:80;display:grid;gap:12px}
.dots a{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--ink);opacity:.35;transition:.3s;display:block;position:relative}
.dots a:hover{opacity:1}.dots a.on{background:var(--y);border-color:var(--y);opacity:1;transform:scale(1.5)}
.dots a:hover:after{content:attr(data-t);position:absolute;right:20px;top:50%;transform:translateY(-50%);white-space:nowrap;font-size:11px;background:var(--ink);color:var(--bg);padding:4px 9px;border-radius:50px}
@media(max-width:1100px){.dots{display:none}}
.case{cursor:pointer}.vp{position:absolute;right:24px;top:24px;font-size:12px;padding:7px 13px;border-radius:50px;border:1px solid currentColor;opacity:.9;z-index:2;transition:.25s}.case:hover .vp{background:currentColor}.case:hover .vp b{color:var(--vpc,#fff);font-weight:500}
.md{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:20px;background:#000b;backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:.3s}
.md.on{opacity:1;visibility:visible}
.mdc{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:28px;max-width:780px;width:100%;max-height:90vh;overflow:auto;padding:36px;transform:translateY(30px) scale(.97);transition:.45s cubic-bezier(.2,.8,.2,1);position:relative}
.md.on .mdc{transform:none}
.mdx{position:absolute;right:16px;top:16px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:18px}
.mdc h3{font-size:clamp(28px,4vw,46px);margin:8px 0 6px;line-height:1.05}.mdc>p{color:var(--mute)}
.tg{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--y);font-weight:600}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}
.mdc h5{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:10px}
.mdc ul{list-style:none}.mdc li{padding:9px 0;border-top:1px solid var(--line);font-size:15px}
.mdc .note{font-size:12px;color:var(--mute);margin:18px 0 18px}
@media(max-width:620px){.mdc{padding:26px 20px}.g2{grid-template-columns:1fr}}
.pk{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px;align-items:stretch}
.pkc{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:30px;display:flex;flex-direction:column;gap:14px;position:relative;transition:transform .3s,box-shadow .3s}
.pkc:hover{transform:translateY(-8px)}
.pkc.ft2{background:var(--g);color:#fff;border-color:var(--g)}
.pkc .bd{position:absolute;top:20px;right:20px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:var(--y);color:#111;padding:5px 11px;border-radius:50px;font-weight:700}
.pkc h3{font-size:30px;font-weight:600;letter-spacing:-.02em;line-height:1.1}.pkc .fr{font-size:14px;opacity:.8;min-height:42px}
.pkc ul{list-style:none;margin:4px 0 10px}.pkc li{padding:11px 0 11px 28px;border-top:1px solid color-mix(in srgb,currentColor 16%,transparent);position:relative;font-size:15px}
.pkc li:before{content:"✓";position:absolute;left:0;color:var(--y);font-weight:700}
.pkc .btn{margin-top:auto;justify-content:center}.pkc.ft2 .btn{background:#fff;color:#111;border-color:#fff}
@media(max-width:960px){.pk{grid-template-columns:1fr}}
:root{--cfg:#111;--cbg:#f2b705}
.lf{background:color-mix(in srgb,var(--cfg) 8%,transparent);border:1px solid color-mix(in srgb,var(--cfg) 28%,transparent);border-radius:26px;padding:28px;color:var(--cfg);display:block!important}
.lfp{display:flex;gap:6px;margin-bottom:20px}.lfp i{flex:1;height:5px;border-radius:5px;background:color-mix(in srgb,var(--cfg) 22%,transparent);transition:.4s}.lfp i.on{background:var(--cfg)}
.lfs{font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
.lf h3{font-size:clamp(22px,3vw,30px);margin:6px 0 16px;font-weight:600;line-height:1.15;text-transform:none;font-family:inherit;letter-spacing:-.02em}
.lfc{display:flex;flex-wrap:wrap;gap:8px}
.lfc button{border:1px solid color-mix(in srgb,var(--cfg) 45%,transparent);background:transparent;color:var(--cfg);padding:10px 16px;border-radius:50px;font:inherit;font-size:14px;transition:.2s}
.lfc button:hover{border-color:var(--cfg)}.lfc button.on{background:var(--cfg);color:var(--cbg);border-color:var(--cfg)}
.lf label{display:block;font-size:13px;opacity:.8;margin:16px 0 8px}
.lf input,.lf textarea,.lf select{width:100%;margin-bottom:10px}
.lf .err{background:#cc3014;color:#fff;padding:9px 13px;border-radius:10px;font-size:13px;margin-top:14px;display:none}.lf .err.on{display:block}
.lfn{display:flex;justify-content:space-between;gap:10px;margin-top:22px}
.lf .btn{background:var(--cfg);color:var(--cbg);border:2px solid var(--cfg);box-shadow:none;justify-content:center;min-width:120px;padding:14px 22px}
.lf .btn.back{background:transparent;color:var(--cfg);border-color:color-mix(in srgb,var(--cfg) 45%,transparent)}
.lfsum{font-size:14px;line-height:1.75;border:1px dashed color-mix(in srgb,var(--cfg) 45%,transparent);padding:14px 16px;border-radius:14px;margin:6px 0 4px}
.lfok{text-align:center;padding:26px 6px}.lfok .ck{width:64px;height:64px;border-radius:50%;background:var(--cfg);color:var(--cbg);display:grid;place-items:center;font-size:30px;margin:0 auto 16px}
.ft{margin-top:90px}
.ftt{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;padding-bottom:50px;border-bottom:1px solid color-mix(in srgb,currentColor 25%,transparent)}
.ftt h3{font-size:clamp(34px,6vw,84px);line-height:1;max-width:760px}
.ftg{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:44px 0}
.ftg .fh{font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.65;margin-bottom:12px;font-weight:600}
.ftg a{display:block;padding:5px 0;font-size:15px;opacity:.9;width:fit-content}.ftg a:hover{opacity:1;text-decoration:underline}
@media(max-width:800px){.ftg{grid-template-columns:1fr 1fr}}
#contact .foot{margin-top:10px;padding-top:24px;border-top:1px solid color-mix(in srgb,currentColor 25%,transparent)}

.mdc{border:3px solid #111;box-shadow:8px 8px 0 #111}.pkc{border:3px solid #111;box-shadow:6px 6px 0 #111;background:#fff}.pkc.ft2{background:var(--g);border-color:#111}.pkc:hover{box-shadow:10px 10px 0 #111}
.lf{border:3px solid #111;box-shadow:6px 6px 0 #111;background:#ffffff1f;color:#fff}:root{--cfg:#fff;--cbg:#1a7f37}.lf input,.lf textarea,.lf select{color:#111}
.mm{background:var(--y);color:#111}.mm a.ml{border-color:#111}.mdx,.burger{border:2px solid #111;background:#fff;color:#111}
.dots a{border-color:#111}.vp{font-family:'Space Mono',monospace}


/* ===== WOW PACK ===== */
.ico{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:17px;display:inline-grid;place-items:center;flex:none}
.ico:hover{background:var(--y);color:#111;border-color:var(--y)}
.kbd{border:1px solid var(--line);background:transparent;color:var(--mute);border-radius:10px;padding:7px 10px;font:600 12px/1 system-ui,sans-serif;white-space:nowrap}.kbd:hover{color:var(--ink);border-color:var(--ink)}
@media(max-width:1000px){.kbd{display:none}}@media(max-width:820px){nav .ico{display:none}}
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,30px);z-index:260;background:var(--ink);color:var(--bg);padding:13px 20px;border-radius:50px;font-size:14px;font-weight:600;opacity:0;pointer-events:none;transition:.4s cubic-bezier(.2,.8,.2,1);display:flex;gap:12px;align-items:center;max-width:92vw}
.toast.on{opacity:1;transform:translate(-50%,0);pointer-events:auto}.toast a,.toast button{background:var(--y);color:#111;border:0;border-radius:50px;padding:7px 14px;font-weight:700;font-size:13px;line-height:1;font-family:inherit;cursor:pointer}.toast .x{background:transparent;color:inherit;padding:4px 6px;opacity:.7}
#fx{position:fixed;inset:0;pointer-events:none;z-index:400}
.rpl{position:fixed;width:12px;height:12px;border-radius:50%;border:2px solid var(--y);pointer-events:none;z-index:399;transform:translate(-50%,-50%);animation:rp .6s ease-out forwards}@keyframes rp{to{width:70px;height:70px;opacity:0}}
.band{padding:70px 0 0}.bandg{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.bandg div{border-top:2px solid var(--ink);padding-top:16px}.bandg b{display:block;font-size:clamp(40px,6vw,84px);line-height:1;letter-spacing:-.03em}.bandg span{font-size:14px;color:var(--mute)}
@media(max-width:700px){.bandg{grid-template-columns:1fr 1fr;gap:26px 14px}}
.dc{display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:center}
.dc .ph{width:150px;height:150px;border-radius:50%;object-fit:cover;object-position:center 20%;border:3px solid var(--y);transform:scale(1)}
.dc h3{font-size:clamp(26px,3.6vw,40px);line-height:1.05;margin:4px 0 2px}.dc .rl{color:var(--mute);font-size:15px}
.dcr{margin:22px 0 4px;display:grid;gap:0}.dcr a,.dcr p{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line);font-size:15px}.dcr a:hover{color:var(--y)}.dcr small{color:var(--mute);font-size:11px;letter-spacing:.12em;text-transform:uppercase;display:block}
.dca{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:end;margin-top:16px}
.dcb{display:flex;gap:8px;flex-wrap:wrap}.dcb .btn{padding:11px 16px;font-size:13px}
#qr{background:#fff;padding:8px;border-radius:12px;width:112px;height:112px;display:grid;place-items:center;font-size:10px;color:#111;text-align:center}#qr img,#qr canvas{width:96px!important;height:96px!important}
@media(max-width:620px){.dc{grid-template-columns:1fr;text-align:center;justify-items:center}.dca{grid-template-columns:1fr;justify-items:center}.dcb{justify-content:center}}
.cp0{position:fixed;inset:0;z-index:280;background:#000b;backdrop-filter:blur(6px);display:grid;align-items:start;justify-items:center;padding:12vh 16px 0;opacity:0;visibility:hidden;transition:.25s}.cp0.on{opacity:1;visibility:visible}
.cpb{width:min(620px,100%);background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 40px 100px #0008;transform:translateY(-16px);transition:.3s}.cp0.on .cpb{transform:none}
.cpb input{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);padding:20px 22px;font-size:17px;font-weight:500;font-size:17px;line-height:1.2;font-family:inherit;outline:0}
.cpl{max-height:52vh;overflow:auto;padding:8px}.cpl button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;background:transparent;border:0;color:inherit;text-align:left;padding:12px 14px;border-radius:12px;font-weight:500;font-size:15px;line-height:1.2;font-family:inherit}
.cpl button small{color:var(--mute);font-size:12px}.cpl button.sel,.cpl button:hover{background:var(--y);color:#111}.cpl button.sel small,.cpl button:hover small{color:#111b}
.cpf{padding:10px 18px;border-top:1px solid var(--line);font-size:12px;color:var(--mute);display:flex;gap:16px}
.au{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;margin-top:46px;align-items:start}
.au .panel input[type=text]{width:100%;background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:14px;padding:14px;font:inherit;margin-bottom:6px}
.aq{display:grid;gap:10px;margin-top:18px}.aq label{display:flex;align-items:center;gap:14px;margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:14px;color:var(--ink);font-size:15px;cursor:pointer;transition:.2s;justify-content:flex-start}
.aq label:hover{border-color:var(--y)}.aq input{display:none}
.aq .sw{width:42px;height:24px;border-radius:24px;background:var(--line);position:relative;flex:none;transition:.25s}.aq .sw:after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:var(--bg);transition:.25s;box-shadow:0 1px 3px #0004}
.aq input:checked+.sw{background:var(--g)}.aq input:checked+.sw:after{left:21px;background:#fff}.aq label:has(input:checked){border-color:var(--g)}
.ares{position:sticky;top:96px}
.ares .h4{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:10px}
.agauge{--p:0;width:170px;aspect-ratio:1;border-radius:50%;background:conic-gradient(var(--g) calc(var(--p)*1%),var(--line) 0);display:grid;place-items:center;margin:6px auto 14px;position:relative;transition:.4s}
.agauge:before{content:"";position:absolute;inset:16px;border-radius:50%;background:var(--card);backdrop-filter:none}.agauge b{position:relative;font-size:48px;letter-spacing:-.04em;line-height:1}.agauge b small{font-size:16px}
.alvl{text-align:center;font-size:20px;font-weight:700;margin-bottom:6px}.asub{text-align:center;color:var(--mute);font-size:14px;margin-bottom:12px}
.awins{list-style:none;display:grid;gap:0;margin:10px 0 14px}.awins li{padding:10px 0;border-top:1px solid var(--line);font-size:14px;display:flex;gap:10px}.awins li:before{content:"→";color:var(--y);font-weight:700}
.ares .btn{width:100%;justify-content:center}
@media(max-width:900px){.au{grid-template-columns:1fr}.ares{position:static}}

.dc .ph{border:3px solid #111}.cpb{border:3px solid #111;box-shadow:8px 8px 0 #111}.toast{border:2px solid #111;box-shadow:4px 4px 0 #111}
.aq label{border:2px solid #111}.aq .sw{border:2px solid #111;background:#fff}.aq input:checked+.sw{background:var(--co)}.agauge{background:conic-gradient(var(--co) calc(var(--p)*1%),#fff 0);border:3px solid #111}.agauge:before{border:3px solid #111;background:#fff}
.au .panel,.ares{box-shadow:6px 6px 0 #111}.ico,.kbd{border:2px solid #111;background:#fff;color:#111}
.bandg div{border-top-width:4px}.bandg b{font-family:'Bricolage Grotesque',sans-serif;font-weight:800}

/* ===== CRAZY FX PACK ===== */
#trail{position:fixed;inset:0;pointer-events:none;z-index:398}
#hero .wrap{position:relative;z-index:2}
#bar{overflow:visible}#bar:after{content:"🚀";position:absolute;right:-12px;top:-11px;font-size:20px;filter:drop-shadow(0 0 6px #ffd23d)}
.fxd{position:fixed;right:20px;bottom:84px;z-index:97}
.fxb{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--bg);color:var(--ink);font-size:20px;box-shadow:0 8px 24px #0004;display:grid;place-items:center;transition:transform .3s}
.fxb:hover{transform:rotate(20deg) scale(1.1);background:var(--y);color:#111}
.fxp{position:absolute;right:0;bottom:58px;width:210px;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:10px;box-shadow:0 20px 50px #0006;display:grid;gap:4px;opacity:0;transform:translateY(10px) scale(.96);transform-origin:bottom right;visibility:hidden;transition:.25s}
.fxd.on .fxp{opacity:1;transform:none;visibility:visible}
.fxp button{display:flex;justify-content:space-between;align-items:center;gap:8px;background:transparent;border:0;color:inherit;padding:11px 12px;border-radius:12px;font-weight:600;font-size:14px;line-height:1;font-family:inherit;text-align:left}
.fxp button:hover{background:var(--y);color:#111}.fxp button small{font-weight:500;opacity:.7;font-size:12px}
.fxp .sur{background:linear-gradient(135deg,var(--g),var(--y));color:#111;font-size:15px;justify-content:center}
@media(max-width:600px){.fxd{right:16px;bottom:82px}.fxb{width:42px;height:42px}}
.erain{position:fixed;top:-60px;z-index:401;pointer-events:none;animation:er linear forwards;will-change:transform}
@keyframes er{to{transform:translateY(115vh) rotate(var(--rr,360deg))}}
html.disco{animation:dsc 3.6s linear}
@keyframes dsc{0%{filter:hue-rotate(0)}25%{filter:hue-rotate(90deg) saturate(1.4)}50%{filter:hue-rotate(180deg) saturate(1.6)}75%{filter:hue-rotate(270deg) saturate(1.4)}100%{filter:hue-rotate(360deg)}}
.zg .btn,.zg .pkc,.zg .step,.zg .case,.zg .oc,.zg .bandg div,.zg .panel,.zg .row,.zg .stat,.zg .chip,.zg .photo,.zg .eyebrow,.zg .serif{animation:zgf 2.6s ease-in-out infinite!important}
@keyframes zgf{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(var(--dx,10px),var(--dy,-14px)) rotate(var(--rt,3deg))}}
.rkt{position:fixed;left:-120px;bottom:-120px;font-size:96px;z-index:402;pointer-events:none;animation:rk 2.2s cubic-bezier(.5,0,.6,1) forwards;filter:drop-shadow(0 0 24px #ffb400)}
@keyframes rk{to{transform:translate(calc(100vw + 260px),calc(-100vh - 260px))}}
.shout{position:fixed;inset:0;display:grid;place-items:center;z-index:403;pointer-events:none;font:800 clamp(52px,14vw,180px)/1 inherit;color:var(--y);text-shadow:6px 6px 0 #111,-2px -2px 0 #fff;-webkit-text-stroke:3px #111;letter-spacing:-.03em;animation:sh 1.5s cubic-bezier(.2,1.4,.4,1) forwards;text-transform:uppercase}
@keyframes sh{0%{transform:scale(.2) rotate(-14deg);opacity:0}25%{transform:scale(1.1) rotate(4deg);opacity:1}80%{transform:scale(1) rotate(-2deg);opacity:1}100%{transform:scale(1.5) rotate(0);opacity:0}}
#idle{position:fixed;inset:0;z-index:420;background:#000d;backdrop-filter:blur(4px);display:none;cursor:pointer;overflow:hidden}#idle.on{display:block}
#idle .bx{position:absolute;left:0;top:0;width:200px;background:#fff;color:#111;border-radius:22px;padding:16px;text-align:center;box-shadow:0 20px 60px #000a;font-weight:700}
#idle .bx img{width:64px;height:76px;object-fit:contain;display:block;margin:0 auto 8px}#idle .bx small{display:block;font-weight:500;color:#555;margin-top:4px}

.fxb,.fxp{border:2px solid #111}.fxb{box-shadow:4px 4px 0 #111;background:#fff;color:#111}.fxp{box-shadow:6px 6px 0 #111;background:#fff;color:#111}.fxp button:hover{background:var(--y)}
#idle .bx{border:3px solid #111;box-shadow:6px 6px 0 #111}.shout{font-family:'Bricolage Grotesque',sans-serif}

/* ===== RESPONSIVE + A11Y FIXES ===== */
.calc>*,.plan>*,.au>*,.cgrid>*,.cgrid2>*,.blr>*,.pk>*,.vpanel>*,.about>*,.hp>*,.hero2>*,.ftg>*,.g2>*,.dc>*,.dca>*,.lf>*,form>*,.bento>*{min-width:0}
.ftg a,.clist a,.clist p,.dcr a,.dcr p,.pkc li,.lfsum{overflow-wrap:anywhere}
.panel label{flex-wrap:wrap;gap:4px 10px}
input[type=range]{max-width:100%}
.lf .btn,.lfn .btn{min-width:0}.lfn{flex-wrap:wrap}.lfn .btn{flex:1}

@media(max-width:420px){.ftg{grid-template-columns:1fr}.panel,.lf,.vcard,.pkc,.ainfo{padding:20px}.bar{grid-template-columns:84px 1fr 62px}.hero-foot .cta .btn,.cta .btn{flex:1 1 100%}.bandg b{font-size:40px}.wrap{padding:0 18px}}
@media(max-width:340px){h2.display{font-size:34px}.bandg{grid-template-columns:1fr}.ftg a,.ftg .fh{font-size:14px}.nav .brand{font-size:13px}nav{gap:2px}.dc .ph{width:110px;height:110px}}
.mqw{overflow:hidden}
.chip b{color:#c92d12}

/* ===== QUICK WINS ===== */
.skip{position:fixed;left:8px;top:-70px;z-index:500;background:#fff;color:#111;padding:10px 16px;border-radius:12px;font-weight:700;box-shadow:0 6px 20px #0005}.skip:focus{top:8px}
.sbar{display:none}
@media(max-width:820px){
 .sbar{position:fixed;left:0;right:0;bottom:0;z-index:86;display:grid;grid-template-columns:1fr 1.4fr;height:58px;box-shadow:0 -6px 24px #0003}
 .sbar a{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:15px}
 .sbar .sb1{background:var(--bg);color:var(--ink);border-top:1px solid var(--line)}.sbar .sb2{background:#25d366;color:#052e12}
 body{padding-bottom:58px}.wa{display:none}.fxd{bottom:74px}.toast{bottom:78px}
}
.mapph{margin-top:18px;border-radius:20px;overflow:hidden;border:1px solid color-mix(in srgb,currentColor 25%,transparent);aspect-ratio:16/10;display:grid;place-items:center;background:color-mix(in srgb,currentColor 8%,transparent)}
.mapph iframe{width:100%;height:100%;border:0;display:block}
.mapph .btn{background:var(--cfg,#111);color:var(--cbg,#fff);border:2px solid var(--cfg,#111)}
.cons{position:fixed;left:16px;right:16px;bottom:16px;z-index:310;max-width:560px;margin:0 auto;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:16px 18px;box-shadow:0 20px 60px #0007;display:none;gap:12px;align-items:center;flex-wrap:wrap;font-size:14px}.cons.on{display:flex}
.cons button{border:0;border-radius:50px;padding:10px 18px;font-weight:700;font-size:14px}.cons .y{background:var(--y);color:#111}.cons .n{background:transparent;color:var(--ink);border:1px solid var(--line)}
@media(max-width:820px){.cons{bottom:74px}}

.sbar a{border-top:3px solid #111}.sbar .sb1{background:#fff;color:#111}.cons{border:3px solid #111;box-shadow:6px 6px 0 #111}.skip{border:2px solid #111}

/* ===== POSTER FIXES ===== */
.bandg>div>span:last-child{font-size:14px;color:var(--mute);display:block}
.bandg b .cnt{font-size:inherit;color:inherit;font-family:inherit;display:inline}
.bandg b{display:block}
button{font-family:inherit}
.mapph{position:relative;flex-direction:column;gap:10px;align-content:center;text-align:center;padding:20px;background-image:radial-gradient(color-mix(in srgb,currentColor 22%,transparent) 1.2px,transparent 1.2px);background-size:20px 20px}
.mapph .pin0{font-size:44px;line-height:1;filter:drop-shadow(0 6px 8px #0004);animation:bob 2.4s ease-in-out infinite}@keyframes bob{50%{transform:translateY(-8px)}}
.mapph p{font-size:14px;max-width:300px;margin:0;opacity:.95}
.mapph .mact{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.mapph .mact .btn{padding:11px 18px;font-size:14px}
.mapph .mact .btn.ghost{background:transparent;color:inherit;border:2px solid currentColor;box-shadow:none}

.cgrid{align-items:start}
.case .big{font-size:clamp(34px,5.2vw,68px);line-height:1}.case small{max-width:210px}
.aq .sw:after{background:#111}.aq input:checked+.sw:after{background:#fff}

@media(max-width:700px){section{padding:72px 0}.case .k{max-width:calc(100% - 118px);line-height:1.5}}
.case .k{max-width:calc(100% - 130px)}

@media(max-width:700px){
 .stage{min-height:620px}
 .stk.photo3{left:6%!important;top:0!important;width:64%}
 .stk.logo3{right:0!important;top:2%!important;width:96px;height:114px}.logo3 img{width:56px}
 .stk.tag:nth-child(3){left:0!important;top:60%!important;right:auto!important;bottom:auto!important}
 .stk.tag:nth-child(4){left:auto!important;right:0!important;top:60%!important;bottom:auto!important}
 .stk.tag:nth-child(5){left:0!important;top:73%!important;right:auto!important;bottom:auto!important}
 .stk.tag:nth-child(6){left:auto!important;right:0!important;top:73%!important;bottom:auto!important}
 .tag{font-size:15px;padding:10px 14px}
}
.pin2.hq,.pin2.hq.on{background:#c92d12;color:#fff;border-color:#111}
.clist .mapph p{display:block;border:0;padding:0;margin:0;font-size:14px;font-weight:500;justify-content:center}
.mapph:has(iframe){display:block;padding:0;background:none}.mapph iframe{width:100%;height:100%;min-height:260px;border:0;display:block}
.case .k{display:block;max-width:calc(100% - 128px)}
@media(max-width:420px){.case{padding:22px}.case .k{font-size:11px;letter-spacing:.04em;max-width:calc(100% - 96px)}.vp{right:14px;top:16px;padding:5px 10px;font-size:11px}}
@media(min-width:701px){.stk.tag:nth-child(5){left:40%!important}}

/* ===== ICONS + POLISH ===== */
.ic{width:1.15em;height:1.15em;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.2em;flex:none;display:inline-block}
.oi{width:60px;height:60px;border:3px solid #111;border-radius:18px;display:grid;place-items:center;background:var(--y);box-shadow:3px 3px 0 #111}.oi .ic{width:30px;height:30px;stroke-width:2.1}
.oc:nth-child(3n+2) .oi{background:#fff}.oc:nth-child(3n) .oi{background:var(--g);color:#fff}
.tag .ic{margin-right:6px;width:1.1em;height:1.1em}
.pin0 .ic{width:46px;height:46px;color:var(--co);stroke-width:2}
.fxb .ic{width:22px;height:22px}.ico .ic{width:19px;height:19px}.sbar .ic{width:20px;height:20px}.fxp .sur .ic{width:18px;height:18px;margin-right:6px}
.mm .btn .ic{margin-left:6px}
@keyframes wig{0%,100%{rotate:0deg}20%{rotate:-5deg}40%{rotate:5deg}60%{rotate:-3deg}80%{rotate:3deg}}
.stk.wig{animation:wig .8s ease-in-out 2}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.stk.wig{animation:none}}
main{display:block}

/* ===== CONTRAST FIXES (audit) ===== */
.ftg a{opacity:1}.ftg .fh{opacity:.95}.foot,#contact .foot{opacity:1}
.clist small{opacity:.9}
.lf{background:#00000030}
.cp,.cpl button small{opacity:1}
/* ===== CONTRAST FIXES 2 ===== */
.case .k,.case small,.case .vp{opacity:1}.case .vp{opacity:.98}
.ainfo h4{color:#fff}
.pkc.ft2 .fr,.pkc .fr{opacity:1}
.out small,.out .mini small{opacity:1}
.clist small{opacity:1}
.ftg .fh{opacity:1}
.ftt h3 .serif{color:var(--y)}.lfs{opacity:1}

/* ===== V2 ===== */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hpot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
section#tools{padding-bottom:40px}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 0}
.tabs button{padding:13px 22px;border-radius:50px;border:3px solid #111;background:#fff;color:#111;font-weight:800;font-size:15px;box-shadow:3px 3px 0 #111;transition:transform .12s,box-shadow .12s}
.tabs button:hover{transform:translate(1px,1px);box-shadow:2px 2px 0 #111}.tabs button[aria-selected="true"]{background:var(--y)}
.tabpane{padding-top:10px}.tabpane[hidden]{display:none}
.ofc{background:#fff;border:3px solid #111;border-radius:22px;box-shadow:6px 6px 0 #111;padding:22px;display:flex;flex-direction:column;gap:8px;transition:transform .2s}
.ofc:hover{transform:translate(-2px,-2px)}.ofc h4{font-size:19px;font-weight:800;line-height:1.15;margin-top:6px}.ofc small{font-size:13px;opacity:1;color:var(--mute)}.ofc p{font-size:14.5px;line-height:1.55}
.ofc:nth-child(3n+2) .oi{background:#fff}.ofc:nth-child(3n) .oi{background:var(--g);color:#fff}.ofc .oi{background:var(--y)}
.ftt{align-items:center}.ftc{display:grid;gap:10px;justify-items:start;max-width:420px;width:100%}
.cb{display:flex;gap:8px;width:100%;flex-wrap:wrap}.cb input[type=tel]{flex:1 1 180px;min-width:0;border:3px solid #111;border-radius:14px;padding:13px 14px;font:inherit;font-size:16px;background:#fff;color:#111}
.cb .btn{flex:0 0 auto;padding:13px 20px}.cbm{font-size:14px;margin:0}
.ftg{grid-template-columns:1fr 1fr}.soc{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px}.soc a{display:inline-block}.trust{font-size:13px;margin-top:6px}
.proof{padding:60px 0 0}.proofg{display:grid;gap:22px}.proofr{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-weight:800;font-size:20px}
.proofl{display:flex;flex-wrap:wrap;gap:22px;align-items:center}.proofl img{height:44px;width:auto;filter:grayscale(1);opacity:.85}
.proofq{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.proofq blockquote{background:#fff;border:3px solid #111;border-radius:20px;box-shadow:5px 5px 0 #111;padding:20px;font-size:16px;line-height:1.5}.proofq cite{display:block;margin-top:10px;font-style:normal;font-weight:800;font-size:14px}
#dbg{position:fixed;left:8px;bottom:8px;z-index:600;width:min(360px,calc(100vw - 16px));max-height:40vh;overflow:auto;background:#111e;color:#9ef2b0;font:11px/1.5 ui-monospace,Menlo,monospace;padding:10px 12px;border-radius:12px}
#dbg b{color:#ffd23d}#dbg div{border-top:1px solid #ffffff22;padding:3px 0;word-break:break-all}
@media(max-width:600px){.ftc{max-width:none}.tabs button{flex:1 1 auto;text-align:center}}

.ftg{grid-template-columns:repeat(2,minmax(0,300px));gap:20px 70px}@media(max-width:600px){.ftg{grid-template-columns:1fr 1fr;gap:20px 24px}}

nav a.l{white-space:nowrap}

/* tap targets: 40px+ on touch screens */
@media(max-width:900px),(pointer:coarse){.pin2{min-height:40px;padding-block:10px}.faq summary{min-height:44px;align-items:center}.ftg a{display:inline-flex;align-items:center;min-height:44px}.brand{display:inline-flex;align-items:center;min-height:44px}.mdx{min-width:44px;min-height:44px}}

/* digital card entry points */
.navcard{font:inherit;font-size:13px;font-weight:600;padding:8px 12px;border-radius:50px;background:var(--y);color:#111;border:2px solid #111;white-space:nowrap}
.navcard:hover{background:#fff}
@media(max-width:820px){.navcard{display:none}}
.flk{display:inline-flex;align-items:center;min-height:44px;width:fit-content;padding:5px 0;background:none;border:0;color:inherit;font:inherit;font-size:15px;opacity:.9;text-align:left;cursor:pointer}
.flk:hover{opacity:1;text-decoration:underline}

/* service gallery */
.sgal{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:28px 0 38px}
.sg{margin:0;border:3px solid var(--ink,#111);border-radius:22px;background:#fff;overflow:hidden;box-shadow:5px 5px 0 var(--ink,#111);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.sg:hover{transform:translate(-4px,-6px) rotate(-.6deg);box-shadow:12px 14px 0 var(--ink,#111)}
.sg:nth-child(2):hover{transform:translate(-4px,-6px) rotate(.6deg)}
.sgi{aspect-ratio:4/3;overflow:hidden;background:#fff4d6;border-bottom:3px solid var(--ink,#111)}
.sgi img{display:block;width:100%;height:112%;object-fit:cover;will-change:transform;transition:filter .4s}
.sg:hover .sgi img{filter:saturate(1.15)}
.sg figcaption{padding:14px 16px 18px}
.sg .tg{display:inline-block;font:700 11px/1 'Space Mono',monospace;letter-spacing:.08em;text-transform:uppercase;background:var(--y,#ffd23d);color:#111;border:2px solid #111;border-radius:99px;padding:6px 10px}
.sg h3{font-size:17px;line-height:1.2;margin:10px 0 5px}
.sg p{margin:0;color:var(--mute,#555);font-size:13px;line-height:1.45}
@media(max-width:1100px){.sgal{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.sgal{grid-template-columns:1fr;gap:16px}.sgi{aspect-ratio:16/10}.sg:hover{transform:none;box-shadow:7px 7px 0 var(--ink,#111)}}
@media(prefers-reduced-motion:reduce){.sg,.sgi img{transition:none}}
/* floating contact bar (mobile) */
@media(max-width:700px){
 .sbar{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));height:54px;gap:10px;display:grid;grid-template-columns:1fr 1.5fr;background:none;box-shadow:none}
 .sbar a{border:3px solid #111;border-radius:99px;box-shadow:3px 3px 0 #111;font-size:15px;transition:transform .15s,box-shadow .15s}
 .sbar a:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #111}
 .sbar .sb1{background:#fff;color:#111;border-top:3px solid #111}
 .sbar .sb2{background:#25d366;color:#052e12}
 body{padding-bottom:78px}
}
/* source portrait is a circular crop with dark/white corners: show only the circle */
.photo3 img{border-radius:50%;clip-path:circle(48.5%);border:0;background:#fff}
