:root{
  --ink:#0a0a09; --char:#1a1a19; --char-2:#252523; --concrete:#8c8a85; --paper:#e9e4d8; --paper-dim:#bdb7aa;
  --pink:#ff2e93; --yellow:#ffe100; --acid:#b8ff2e; --blue:#2e6bff; --orange:#ff6a1a; --red:#e5231b;
  --bg:var(--ink); --fg:var(--paper);
  --f-display:"Archivo","Arial Narrow","Helvetica Neue",Impact,sans-serif;
  --f-hand:"Permanent Marker","Marker Felt","Comic Sans MS",cursive;
  --pad:clamp(1.25rem,4vw,3.5rem);
  --ease-out:cubic-bezier(.16,1,.3,1);
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
  color-scheme:dark;
}
/* the studio is dark by design in every theme */
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ --bg:var(--ink); --fg:var(--paper); } }
:root[data-theme="dark"]{ --bg:var(--ink); --fg:var(--paper); }
:root[data-theme="light"]{ --bg:var(--ink); --fg:var(--paper); }
*,*::before,*::after{box-sizing:inherit;margin:0;padding:0}
html{overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:env(safe-area-inset-top,0px);-webkit-text-size-adjust:100%;background:var(--bg)}
body{background:var(--bg);color:var(--fg);font-family:var(--f-display);font-stretch:100%;font-size:1.0625rem;line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:3px solid var(--acid);outline-offset:4px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:1rem;top:-4rem;z-index:200;background:var(--acid);color:var(--ink);padding:.6rem 1rem;font-weight:800}
.skip:focus{top:calc(1rem + env(safe-area-inset-top,0px))}

/* ---------- film grain ---------- */
body::after{content:"";position:fixed;inset:-50%;z-index:150;pointer-events:none;opacity:.09;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain .9s steps(5) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-4%)}60%{transform:translate(-4%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}

/* ---------- type ---------- */
.display{font-family:var(--f-display);font-stretch:62%;font-weight:900;text-transform:uppercase;line-height:.84;letter-spacing:-.01em}
.hand{font-family:var(--f-hand);font-weight:400;text-transform:none;letter-spacing:0}
.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.32em;text-transform:uppercase;font-stretch:100%}
.outline{color:transparent;-webkit-text-stroke:2px var(--paper)}
.ca{text-shadow:-.035em 0 rgba(46,107,255,.75),.035em 0 rgba(255,46,147,.6)}

/* ---------- cursor ---------- */
.cursor,.cursor-dot{position:fixed;left:0;top:0;z-index:180;pointer-events:none;display:none}
html.has-cursor .cursor,html.has-cursor .cursor-dot{display:block}
html.has-cursor,html.has-cursor *{cursor:none!important}
.cursor.is-hidden+.cursor-dot{opacity:0}
.cursor-dot{width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--paper)}
.cursor{width:34px;height:34px;margin:-17px 0 0 -17px}
.cursor-ring{position:absolute;inset:0;border:1.5px solid var(--paper);border-radius:50%;transition:transform .45s var(--ease-out),background-color .3s,border-color .3s;display:grid;place-items:center}
.cursor-label{font-size:.6rem;font-weight:900;letter-spacing:.12em;color:var(--ink);opacity:0;transition:opacity .2s;white-space:nowrap}
.cursor.is-art .cursor-ring{transform:scale(3.2);background:rgba(255,225,0,.1);border-color:var(--yellow)}
.cursor.is-link .cursor-ring,.cursor.is-cta .cursor-ring{transform:scale(2.2);background:var(--paper);border-color:var(--paper)}
.cursor.is-cta .cursor-ring{background:var(--acid);border-color:var(--acid)}
.cursor.is-link .cursor-label,.cursor.is-cta .cursor-label{opacity:1;transform:scale(.46)}
.cursor.is-paint .cursor-ring{transform:scale(1.5);border-color:var(--paint,var(--yellow));border-style:dashed}
.cursor.is-hidden{opacity:0}

/* ---------- nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:calc(1.1rem + env(safe-area-inset-top,0px)) var(--pad) 1.1rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;transition:transform .5s var(--ease-out),background-color .4s}
.nav.is-hidden{transform:translateY(-110%)}
.nav.is-solid{background:rgba(10,10,9,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.logo{display:flex;align-items:center;gap:.55rem;font-weight:900;font-stretch:72%;font-size:1.35rem;letter-spacing:-.01em;line-height:1}
.logo-tag{display:block;height:40px;width:auto;flex:none;overflow:visible;transition:transform .55s cubic-bezier(.34,1.56,.64,1)}
.logo:hover .logo-tag{transform:rotate(-4deg) scale(1.07)}
.foot .logo-tag{height:46px}
@media (max-width:600px){.logo-tag{height:34px}}
.logo b{color:var(--pink);font-weight:900}
.nav-links{display:flex;align-items:center;gap:clamp(1rem,2.4vw,2.4rem);list-style:none}
.nav-links a{font-size:.74rem;font-weight:700;letter-spacing:.2em;position:relative;padding:.4rem 0}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--yellow);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease-out)}
.nav-links a:hover::after{transform:scaleX(1);transform-origin:left}
.nav-cta{font-size:.74rem;font-weight:800;letter-spacing:.16em;padding:.75rem 1.1rem;border:1.5px solid var(--paper);border-radius:999px 999px 999px 4px;display:inline-flex;gap:.5rem;align-items:center;overflow:hidden;position:relative;isolation:isolate;transition:color .35s,border-color .35s}
.nav-cta::before{content:"";position:absolute;inset:0;background:var(--yellow);z-index:-1;transform:translateY(101%);transition:transform .45s var(--ease-out)}
.nav-cta:hover{color:var(--ink);border-color:var(--yellow)}
.nav-cta:hover::before{transform:none}
.nav-cta .arr{display:inline-block;animation:nudge 1.8s var(--ease-out) infinite}
@keyframes nudge{0%,60%,100%{transform:none}30%{transform:translateX(5px)}}
.burger{display:none;width:48px;height:48px;position:relative;z-index:120}
.burger span{position:absolute;left:11px;right:11px;height:2.5px;background:var(--paper);border-radius:2px;transition:transform .5s var(--ease-out),opacity .3s,top .5s var(--ease-out)}
.burger span:nth-child(1){top:17px}.burger span:nth-child(2){top:24px;right:18px}.burger span:nth-child(3){top:31px}
.burger[aria-expanded="true"] span:nth-child(1){top:24px;transform:rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){top:24px;transform:rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:95;background:var(--ink);display:flex;flex-direction:column;justify-content:flex-start;overflow-y:auto;overscroll-behavior:contain;padding:calc(6rem + env(safe-area-inset-top,0px)) var(--pad) calc(2rem + env(safe-area-inset-bottom,0px));clip-path:circle(0% at calc(100% - 44px) 44px);transition:clip-path .8s var(--ease-out);visibility:hidden}
.menu.is-open{clip-path:circle(150% at calc(100% - 44px) 44px);visibility:visible}
.menu::before{content:"";position:absolute;width:90vw;height:90vw;right:-30vw;bottom:-20vw;border-radius:50%;background:radial-gradient(circle,rgba(255,225,0,.28),rgba(255,225,0,0) 65%);pointer-events:none}
.menu ul{list-style:none;position:relative}
.menu li{overflow:hidden;padding:.06em 0 .02em}
.menu ul{margin-top:auto}
.nav.menu-on{background:linear-gradient(to bottom,var(--ink) 0,var(--ink) 82%,rgba(10,10,9,0) 100%);transform:none}
.nav.menu-on::after{content:"";position:absolute;left:0;right:0;top:100%;height:1.4rem;background:linear-gradient(to bottom,var(--ink),rgba(10,10,9,0));pointer-events:none}
.menu-foot{margin-bottom:auto!important}
.menu a.big{display:block;line-height:.95;font-size:clamp(2rem,min(12.5vw,6.6vh),4.6rem);transform:translateY(105%);transition:transform .7s var(--ease-out);transition-delay:calc(var(--i)*60ms + 150ms)}
.menu.is-open a.big{transform:none}
.menu a.big:hover,.menu a.big:focus-visible{color:var(--mc,var(--yellow));text-shadow:0 0 22px color-mix(in srgb,var(--mc,var(--yellow)) 45%,transparent)}
.menu li:nth-child(1){--mc:var(--yellow)}
.menu li:nth-child(2){--mc:var(--pink)}
.menu li:nth-child(3){--mc:var(--acid)}
.menu li:nth-child(4){--mc:#4fe3ff}
.menu li:nth-child(5){--mc:var(--orange)}
.menu li:nth-child(6){--mc:#6b95ff}
.menu li:nth-child(7){--mc:#b46bff}
.menu li:nth-child(8){--mc:#ff4545}
.menu-foot{position:relative;margin-top:2.5rem;display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;font-size:.9rem;color:var(--paper-dim);opacity:0;transition:opacity .6s .6s}
.menu.is-open .menu-foot{opacity:1}
.menu .hand-note{position:absolute;right:var(--pad);top:calc(5.5rem + env(safe-area-inset-top,0px));color:var(--acid);transform:rotate(6deg);font-size:1.1rem}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100vh;min-height:100svh;display:grid;align-items:center;overflow:hidden;isolation:isolate}
.art{position:absolute;top:0;right:0;bottom:0;width:66vw;z-index:0}
.art-layer{position:absolute;inset:0;will-change:transform}
#wall{position:absolute;inset:-4%;width:108%;height:108%;max-width:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 34%,#000 100%);mask-image:linear-gradient(90deg,transparent 0,#000 34%,#000 100%)}
.piece-wrap{position:absolute;inset:0}
/* graffiti line by the hero piece */
.piece-tag{position:absolute;z-index:3;display:flex;flex-direction:column;align-items:center;gap:.1em;font-family:var(--f-hand);line-height:1.02;text-align:center;color:var(--tc,#c8ff3d);transform:rotate(-5deg);pointer-events:none;filter:saturate(1.35) brightness(1.15)}
.piece-dotcom{position:absolute;z-index:3;font-family:var(--f-hand);line-height:1;color:var(--yellow);white-space:nowrap;transform:rotate(-7deg);pointer-events:none;opacity:0;text-shadow:.045em .055em 0 #050505,-.025em -.025em 0 #050505,.025em -.025em 0 #050505,-.025em .03em 0 #050505,0 0 .4em rgba(255,242,0,.45)}
.piece-dotcom.go{animation:dotcomSpray .9s cubic-bezier(.45,0,.2,1) forwards}
@keyframes dotcomSpray{0%{opacity:0;clip-path:inset(-20% 100% -20% 0);filter:blur(3px)}100%{opacity:1;clip-path:inset(-20% -20% -20% 0);filter:none}}
@media (prefers-reduced-motion:reduce){.piece-dotcom{opacity:1}.piece-dotcom.go{animation:none}}
.piece-tag.above{flex-direction:column-reverse;align-items:flex-start;white-space:nowrap}
.pt-txt{position:relative;display:inline-block;clip-path:inset(-40% 100% -160% 0);text-shadow:.06em .06em 0 var(--ts,#ff2e93),0 0 .18em rgba(var(--tg,200,255,61),.95),0 0 .6em rgba(var(--tg,200,255,61),.6)}
.pt-words{font-weight:400}
.piece-tag.go .pt-txt{animation:pieceTagSpray 1.5s cubic-bezier(.45,0,.2,1) forwards}
@keyframes pieceTagSpray{to{clip-path:inset(-40% -8% -160% -8%)}}
.pt-arr{width:1.7em;height:1.5em;overflow:visible;filter:drop-shadow(0 0 .15em rgba(var(--tg,200,255,61),.9)) drop-shadow(.05em .05em 0 var(--ts,#ff2e93));align-self:flex-start;margin-left:.3em}
.piece-tag.above .pt-arr{transform:scaleY(-1) rotate(10deg);margin:0 0 0 1.2em}
.pt-arr path{stroke-dasharray:1;stroke-dashoffset:1}
.piece-tag.go .pt-arr path:first-child{animation:ptArrDraw .55s 1.45s ease-out forwards}
.piece-tag.go .pt-arr path:last-child{animation:ptArrDraw .3s 1.95s ease-out forwards}
@keyframes ptArrDraw{to{stroke-dashoffset:0}}
.piece-tag .pd{position:absolute;top:82%;width:.08em;border-radius:0 0 .06em .06em;background:var(--tc,#c8ff3d);box-shadow:0 0 .25em rgba(var(--tg,200,255,61),.8);transform-origin:top;transform:scaleY(0)}
.piece-tag .pd::after{content:"";position:absolute;left:50%;bottom:-.05em;width:.13em;height:.13em;border-radius:50%;background:inherit;transform:translateX(-50%)}
.piece-tag .d1{left:9%;height:.45em}.piece-tag .d2{left:52%;height:.7em}.piece-tag .d3{left:86%;height:.32em}
.piece-tag.go .pd{animation:pieceTagDrip 2.4s 1.4s ease-in forwards}
.piece-tag.go .d2{animation-delay:1.7s}.piece-tag.go .d3{animation-delay:2s}
@keyframes pieceTagDrip{to{transform:scaleY(1)}}
@media (prefers-reduced-motion:reduce){.pt-txt{clip-path:none}.piece-tag .pd{transform:none}.pt-arr path{stroke-dashoffset:0}}

#piece,#drips,#flecks{position:absolute;inset:0;width:100%;height:100%}
.bill{position:absolute;color:var(--ink);background:var(--paper);padding:1rem 1.1rem;box-shadow:0 18px 30px -18px rgba(0,0,0,.9)}
.bill .t{display:block}
.tape{position:absolute;width:86px;height:26px;background:rgba(233,224,196,.72);mix-blend-mode:normal;box-shadow:0 1px 2px rgba(0,0,0,.3);z-index:2;
  clip-path:polygon(2% 8%,10% 0,22% 6%,35% 0,50% 5%,64% 0,78% 6%,90% 0,100% 6%,97% 50%,100% 94%,88% 100%,74% 94%,60% 100%,46% 95%,32% 100%,18% 94%,6% 100%,0 92%,3% 50%)}
.hero-bills .b1{top:16%;right:7%;width:min(15rem,30%);transform:rotate(4deg)}
.hero-bills .b1 .t{font-size:clamp(1.6rem,3vw,2.6rem)}
.hero-bills .b2{bottom:14%;right:36%;width:min(12rem,24%);background:var(--yellow);transform:rotate(-7deg);
  background-image:radial-gradient(circle,rgba(10,10,9,.35) 1.2px,transparent 1.6px);background-size:7px 7px}
.hero-bills .b2 .t{font-size:clamp(1.5rem,2.6vw,2.4rem);line-height:.95;color:var(--ink)}
.hero-bills .b3{top:9%;left:28%;width:min(11rem,22%);background:var(--ink);color:var(--acid);border:1px solid #333;transform:rotate(-3deg)}
.hero-bills .b3 .t{font-size:clamp(1.1rem,1.8vw,1.5rem)}
.bill small{display:block;font-size:.62rem;letter-spacing:.18em;font-weight:700;margin-top:.5rem;text-transform:uppercase}

.art-notes .an{position:absolute;font-family:var(--f-hand);color:var(--note,var(--paper));line-height:1.02;font-size:clamp(1rem,1.5vw,1.45rem);display:flex;gap:.5rem;align-items:flex-start}
.art-notes svg{fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
.art-notes .a1{left:22%;top:52%;transform:rotate(-12deg)}
.art-notes .a2{right:5%;bottom:17%;font-size:clamp(1.15rem,1.7vw,1.6rem);transform:rotate(-8deg);flex-direction:column;align-items:flex-end}
.art-notes .a3{right:4%;top:44%;writing-mode:vertical-rl;font-size:.62rem;font-family:var(--f-display);font-weight:700;letter-spacing:.3em;color:var(--concrete);gap:.8rem;align-items:center}
.art-notes .a3 i{width:1.5px;height:56px;background:currentColor;opacity:.6}
@media (max-width:900px){.art-notes{display:none}}
.hero-copy{position:relative;z-index:2;padding:calc(7rem + env(safe-area-inset-top,0px)) var(--pad) 5rem;max-width:62rem}
.hero .eyebrow{color:var(--acid);display:flex;align-items:center;gap:.8rem;margin-bottom:1.4rem}
.hero .eyebrow::before{content:"";width:28px;height:2px;background:var(--acid)}
.hero-title{font-size:clamp(4.4rem,12.4vw,13.5rem);margin-bottom:1.8rem}
.hero-title .line{display:block;white-space:nowrap;overflow:hidden;padding:.02em .08em .04em 0;margin-bottom:-.06em}
.hero-title .ch{display:inline-block;will-change:transform}
.hero-title .l2{-webkit-text-stroke:clamp(1.5px,.22vw,3px) var(--paper);color:rgba(10,10,9,.72);paint-order:stroke fill}
.hero-title .l3{color:var(--yellow)}
/* ---------- rotating hero headlines: the action word does what it says ---------- */
.hero-title.hv-on .line{overflow:visible}
.hero-title .ch{position:relative}
/* SPARKLE: letters twinkle white, with little stars popping */
.hv-sparkle.hv-on .l3 .ch{animation:hvTwinkle 2.4s ease-in-out infinite}
.hv-sparkle.hv-on .l3 .ch:nth-child(2n){animation-delay:.6s}.hv-sparkle.hv-on .l3 .ch:nth-child(3n){animation-delay:1.2s}.hv-sparkle.hv-on .l3 .ch:nth-child(5n){animation-delay:1.8s}
@keyframes hvTwinkle{0%,70%,100%{color:var(--yellow);text-shadow:none}80%{color:#fff;text-shadow:0 0 .12em #fff,0 0 .4em var(--yellow)}}
.hv-sparkle.hv-on .l3 .ch:nth-child(2)::after,.hv-sparkle.hv-on .l3 .ch:nth-child(5)::after,.hv-sparkle.hv-on .l3 .ch:nth-child(7)::after{content:"";position:absolute;top:.02em;right:-.08em;width:.26em;height:.26em;background:#fff;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);filter:drop-shadow(0 0 .08em #fff);animation:hvStar 1.8s ease-in-out infinite;pointer-events:none}
.hv-sparkle.hv-on .l3 .ch:nth-child(5)::after{top:.55em;right:auto;left:-.1em;animation-delay:.7s;width:.18em;height:.18em}
.hv-sparkle.hv-on .l3 .ch:nth-child(7)::after{top:-.05em;animation-delay:1.3s;width:.22em;height:.22em;background:var(--pink);filter:drop-shadow(0 0 .08em var(--pink))}
@keyframes hvStar{0%,100%{opacity:0;scale:.2;rotate:0deg}45%{opacity:1;scale:1;rotate:90deg}70%{opacity:0;scale:.4;rotate:140deg}}
/* COME ALIVE: a ripple runs through the letters while the colour shifts */
.hv-alive.hv-on .l3 .ch{animation:hvWave 1.8s ease-in-out infinite,hvHue 6s linear infinite}
.hv-alive.hv-on .l3 .ch:nth-child(1){animation-delay:0s,0s}.hv-alive.hv-on .l3 .ch:nth-child(2){animation-delay:.08s,-.5s}.hv-alive.hv-on .l3 .ch:nth-child(3){animation-delay:.16s,-1s}.hv-alive.hv-on .l3 .ch:nth-child(4){animation-delay:.24s,-1.5s}.hv-alive.hv-on .l3 .ch:nth-child(5){animation-delay:.32s,-2s}.hv-alive.hv-on .l3 .ch:nth-child(6){animation-delay:.4s,-2.5s}.hv-alive.hv-on .l3 .ch:nth-child(7){animation-delay:.48s,-3s}.hv-alive.hv-on .l3 .ch:nth-child(8){animation-delay:.56s,-3.5s}.hv-alive.hv-on .l3 .ch:nth-child(9){animation-delay:.64s,-4s}.hv-alive.hv-on .l3 .ch:nth-child(10){animation-delay:.72s,-4.5s}.hv-alive.hv-on .l3 .ch:nth-child(11){animation-delay:.8s,-5s}
@keyframes hvWave{0%,60%,100%{translate:0 0;scale:1}25%{translate:0 -.1em;scale:1.08}}
@keyframes hvHue{0%,100%{color:var(--yellow)}33%{color:var(--pink)}66%{color:var(--acid)}}
/* WORK: letters pump up and down like pistons */
.hv-work.hv-on .l3 .ch{transform-origin:50% 100%;animation:hvPiston .7s cubic-bezier(.5,0,.5,1) infinite}
.hv-work.hv-on .l3 .ch:nth-child(2n){animation-delay:.35s}
@keyframes hvPiston{0%,100%{translate:0 0;scale:1 1}50%{translate:0 .06em;scale:1.06 .86}}
.hv-work.hv-on .l3 .ch:last-child{animation:hvSpin 1.4s linear infinite;transform-origin:50% 70%}
@keyframes hvSpin{to{rotate:360deg}}
/* GET MORE: "MORE" swells and stacks up copies of itself */
.hv-more .l1 .ch:nth-child(n+5){color:var(--yellow)}
.hv-more.hv-on .l1 .ch:nth-child(n+5){animation:hvMore 2.6s ease-in-out infinite;transform-origin:50% 90%}
.hv-more.hv-on .l1 .ch:nth-child(6){animation-delay:.1s}.hv-more.hv-on .l1 .ch:nth-child(7){animation-delay:.2s}.hv-more.hv-on .l1 .ch:nth-child(8){animation-delay:.3s}
@keyframes hvMore{0%,100%{scale:1;text-shadow:none}45%{scale:1.14;text-shadow:.05em .05em 0 var(--pink),.1em .1em 0 var(--blue),.15em .15em 0 var(--acid)}}
.hv-more .l3,.hv-more .l2{color:inherit}
.hv-more .l3{color:var(--paper)}
/* POP: a bubblegum bubble blows up out of the O, wobbles, then pops and leaves gum stuck on the letters */
.hv-pop.hv-on .l3 .ch{animation:hvGumJolt 4.2s ease-out infinite}
@keyframes hvGumJolt{0%,61%,74%,100%{translate:0 0;scale:1}63%{translate:0 -.05em;scale:1.08}67%{translate:0 .02em;scale:.97}}
.hv-pop.hv-on .l3 .ch:nth-child(2){z-index:3}
.hv-pop.hv-on .l3 .ch:nth-child(2)::before{content:"";position:absolute;left:50%;top:52%;width:1.5em;height:1.5em;margin:-.75em 0 0 -.75em;border-radius:50%;background:radial-gradient(circle at 33% 27%,rgba(255,255,255,.95) 0 .05em,rgba(255,255,255,.4) .09em,transparent .2em),radial-gradient(circle at 70% 75%,rgba(255,255,255,.25) 0 .04em,transparent .1em),radial-gradient(circle at 50% 50%,#ffa3d3 0%,#ff5fb6 55%,#e02a8c 100%);box-shadow:inset -.06em -.09em .14em rgba(150,0,70,.45),0 .04em .12em rgba(0,0,0,.4);opacity:.93;scale:0;animation:hvGum 4.2s cubic-bezier(.4,0,.6,1) infinite;pointer-events:none}
@keyframes hvGum{0%,8%{scale:0;opacity:.93}20%{scale:.32 .3}30%{scale:.42 .46}40%{scale:.62 .58}50%{scale:.78 .82}58%{scale:.97 .92}61.5%{scale:1.04 1.02;opacity:.93}62%,100%{scale:1.1;opacity:0}}
.hv-pop.hv-on .l3 .ch:nth-child(2)::after{content:"";position:absolute;left:50%;top:52%;width:1.9em;height:1.9em;margin:-.95em 0 0 -.95em;background:radial-gradient(0.2em 0.15em at 16% 42%,#ff5fb6 96%,transparent 100%),radial-gradient(0.17em 0.13em at 84% 38%,#ff5fb6 96%,transparent 100%),radial-gradient(0.15em 0.11em at 30% 20%,#ff5fb6 96%,transparent 100%),radial-gradient(0.17em 0.11em at 68% 18%,#ff5fb6 96%,transparent 100%),radial-gradient(0.12em 0.09em at 50% 13%,#ff5fb6 96%,transparent 100%),radial-gradient(0.13em 0.1em at 12% 60%,#ff5fb6 96%,transparent 100%),radial-gradient(0.12em 0.1em at 88% 58%,#ff5fb6 96%,transparent 100%),radial-gradient(0.05em 0.24em at 24% 66%,#ff5fb6 96%,transparent 100%),radial-gradient(0.045em 0.3em at 77% 68%,#ff5fb6 96%,transparent 100%),radial-gradient(0.04em 0.18em at 58% 74%,#ff5fb6 96%,transparent 100%),radial-gradient(0.09em 0.07em at 24% 76%,#ff5fb6 96%,transparent 100%),radial-gradient(0.08em 0.07em at 77% 81%,#ff5fb6 96%,transparent 100%);filter:drop-shadow(0 .02em .02em rgba(120,0,60,.55));opacity:0;scale:.7;animation:hvSplat 4.2s ease-out infinite;pointer-events:none}
@keyframes hvSplat{0%,61.5%{opacity:0;scale:.7}63%{opacity:.95;scale:1.08}70%{opacity:.95;scale:1}86%{opacity:.9;scale:1;translate:0 .03em}96%,100%{opacity:0;scale:1;translate:0 .08em}}
/* GLOW: a neon tube that buzzes and flickers on */
.hv-glow .l3{color:#f4ffd6}
.hv-glow.hv-on .l3 .ch{text-shadow:0 0 .04em #fff,0 0 .14em var(--acid),0 0 .4em var(--acid),0 0 .9em rgba(200,255,61,.45);animation:hvNeon 4.5s linear infinite}
.hv-glow.hv-on .l3 .ch:nth-child(3){animation:hvNeonBad 2.3s linear infinite}
@keyframes hvNeon{0%,18%,22%,25%,53%,57%,100%{opacity:1}20%,24%,55%{opacity:.25;text-shadow:none}}
@keyframes hvNeonBad{0%,9%,12%,40%,43%,46%,100%{opacity:1}10%,41%,44%{opacity:.15;text-shadow:none}}
/* STAND OUT: the words peel up off the wall with a deep drop shadow */
.hv-stand.hv-on .l3 .ch{animation:hvLift 3.4s cubic-bezier(.4,0,.2,1) infinite}
@keyframes hvLift{0%,15%,92%,100%{translate:0 0;text-shadow:none}35%,75%{translate:-.05em -.09em;text-shadow:.02em .03em 0 #c9a800,.04em .06em 0 #a88c00,.06em .09em 0 #0a0a09,.1em .16em .12em rgba(0,0,0,.65)}}
/* DRIP: wet paint runs off the letters */
.hv-drip.hv-on .l3 .ch:nth-child(1)::after,.hv-drip.hv-on .l3 .ch:nth-child(3)::after,.hv-drip.hv-on .l3 .ch:nth-child(4)::after,.hv-drip.hv-on .l3 .ch:nth-child(5)::after{content:"";position:absolute;left:22%;top:.8em;width:.09em;height:0;background:var(--yellow);border-radius:0 0 .06em .06em;animation:hvDrip 3.6s cubic-bezier(.5,0,.8,.6) infinite;pointer-events:none}
.hv-drip.hv-on .l3 .ch:nth-child(3)::after{left:58%;width:.06em;animation-delay:.9s;animation-duration:4.4s}
.hv-drip.hv-on .l3 .ch:nth-child(4)::after{left:44%;animation-delay:1.7s}
.hv-drip.hv-on .l3 .ch:nth-child(5)::after{left:30%;width:.055em;animation-delay:.4s;animation-duration:5s}
@keyframes hvDrip{0%{height:0;opacity:1}70%{height:.24em;opacity:1}85%{height:.28em;opacity:1}100%{height:.28em;opacity:0}}
.hv-drip.hv-on .l3 .ch{animation:hvWet 3.6s ease-in-out infinite}
@keyframes hvWet{0%,100%{text-shadow:none}50%{text-shadow:0 .03em .06em rgba(255,255,255,.35)}}
/* TURN HEADS: the letters whip round one after another */
.hv-heads .l2{color:var(--yellow);-webkit-text-stroke:0}
.hv-heads .l3{color:var(--paper)}
.hv-heads.hv-on .l2 .ch{display:inline-block;animation:hvTurn 3.6s cubic-bezier(.6,0,.3,1) infinite}
.hv-heads.hv-on .l2 .ch:nth-child(2){animation-delay:.09s}.hv-heads.hv-on .l2 .ch:nth-child(3){animation-delay:.18s}.hv-heads.hv-on .l2 .ch:nth-child(4){animation-delay:.27s}.hv-heads.hv-on .l2 .ch:nth-child(5){animation-delay:.36s}
@keyframes hvTurn{0%,40%{rotate:y 0deg}60%,100%{rotate:y 360deg}}
@media (prefers-reduced-motion:reduce){.hero-title .ch{animation:none!important}.hero-title .ch::after{display:none}}

.hero-sub{max-width:27rem;font-size:clamp(1.02rem,1.25vw,1.18rem);color:var(--paper-dim);margin-bottom:2.4rem;font-stretch:100%}
.ctas{display:flex;flex-wrap:wrap;gap:1rem 1.4rem;align-items:center}
.btn{position:relative;display:inline-flex;align-items:center;gap:.8rem;min-height:56px;padding:0 1.7rem;font-size:.82rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;isolation:isolate}
.btn-primary{background:var(--paper);color:var(--ink);border-radius:2px 28px 28px 28px}
.btn-primary::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--yellow);clip-path:circle(0% at var(--x,50%) var(--y,50%));transition:clip-path .65s var(--ease-out)}
.btn-primary:hover::before,.btn-primary:focus-visible::before{clip-path:circle(140% at var(--x,50%) var(--y,50%))}
.btn-roll{display:inline-grid;overflow:hidden;height:1.2em;line-height:1.2em}
.btn-roll span{grid-area:1/1;transition:transform .55s var(--ease-out)}
.btn-roll span+span{transform:translateY(110%)}
.btn:hover .btn-roll span:first-child{transform:translateY(-110%)}
.btn:hover .btn-roll span+span{transform:none}
.btn-primary .drip{position:absolute;bottom:-14px;width:6px;border-radius:0 0 4px 4px;background:var(--yellow);height:0;transition:height .7s var(--ease-out)}
.btn-primary:hover .drip{height:18px}
.btn-ghost{color:var(--paper);padding-left:.4rem}
.btn-ghost .play{width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(233,228,216,.45);display:grid;place-items:center;transition:background-color .35s,border-color .35s,transform .5s var(--ease-out)}
.btn-ghost:hover .play{background:var(--acid);border-color:var(--acid);transform:rotate(-90deg)}
.btn-ghost:hover .play svg{stroke:var(--ink)}
.btn-ghost .play svg{stroke:var(--paper);transition:stroke .3s}
.hero-note{position:absolute;z-index:3;right:calc(var(--pad) + 2vw);bottom:calc(2.2rem + env(safe-area-inset-bottom,0px));color:var(--acid);font-size:1.05rem;display:flex;align-items:flex-end;gap:.4rem;transform:rotate(-4deg)}
.scroll-cue{position:absolute;left:var(--pad);bottom:calc(1.6rem + env(safe-area-inset-bottom,0px));z-index:3;font-size:.66rem;letter-spacing:.3em;font-weight:700;color:var(--concrete);display:flex;align-items:center;gap:.8rem}
.scroll-cue i{width:1.5px;height:38px;background:linear-gradient(var(--paper),transparent);animation:cue 2.2s var(--ease-out) infinite;transform-origin:top}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}

/* ---------- tape marquee ---------- */
.strip{position:relative;z-index:5;background:var(--blue);color:var(--paper);transform:rotate(-1.6deg) scale(1.04);margin:-1rem 0 0;padding:.85rem 0;overflow:hidden;box-shadow:0 20px 40px -20px #000}
.strip-track{display:flex;width:max-content;animation:marq 32s linear infinite}
.strip-track span{font-weight:900;font-stretch:70%;font-size:clamp(1.3rem,2.4vw,2rem);text-transform:uppercase;padding-right:2.2rem;white-space:nowrap;display:flex;align-items:center;gap:2.2rem}
.strip-track span::after{content:"";width:.7em;height:.7em;background:var(--yellow);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%)}
@keyframes marq{to{transform:translateX(-50%)}}

/* ---------- sections ---------- */
section{position:relative}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding:0 var(--pad);margin-bottom:clamp(3rem,7vw,6rem)}
.kicker{font-size:.74rem;font-weight:700;letter-spacing:.28em;color:var(--concrete);text-transform:uppercase}

/* the wall */
.work{padding:clamp(4.5rem,7vw,6.5rem) 0 clamp(3rem,5vw,4.5rem);background:
  linear-gradient(180deg,var(--ink) 0,rgba(10,10,9,0) 14%,rgba(10,10,9,0) 86%,var(--ink) 100%),
  radial-gradient(ellipse at 20% 30%,rgba(255,255,255,.035),transparent 50%),
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='96'%3E%3Cg fill='none' stroke='%23000' stroke-opacity='.5' stroke-width='3'%3E%3Cpath d='M0 1.5h160M0 49.5h160M1.5 0v48M81.5 0v48M41.5 48v48M121.5 48v48'/%3E%3C/g%3E%3C/svg%3E"),
  var(--char);overflow:hidden}
.work-title{font-size:clamp(5rem,19vw,19rem);line-height:.78;position:relative;display:inline-block;white-space:nowrap;color:var(--paper);filter:url(#rough)}
.work-title .ch{display:inline-block}
.work-title .wd{position:absolute;width:clamp(5px,.7vw,11px);border-radius:0 0 6px 6px;background:var(--paper);top:88%}
.work-aside{max-width:19rem;font-size:.98rem;color:var(--paper-dim);padding-bottom:1rem}
.work-aside .hand{display:block;color:var(--yellow);font-size:1.25rem;margin-bottom:.6rem;transform:rotate(-3deg)}
.wall-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem) clamp(1rem,2vw,2rem);padding:0 var(--pad);align-items:start}
.poster{position:relative;display:block;color:var(--paper)}
.poster:nth-of-type(1){grid-column:1/8;--r:-1.4deg}
.poster:nth-of-type(2){grid-column:8/13;margin-top:clamp(4rem,12vw,11rem);--r:2.2deg}
.poster:nth-of-type(3){grid-column:2/12;--r:.6deg;margin-top:clamp(1rem,3vw,3rem)}
.poster:nth-of-type(4){grid-column:6/12;margin-top:clamp(-7rem,-6vw,-2rem);--r:-2.6deg;z-index:2}
.poster:nth-of-type(5){grid-column:2/7;margin-top:clamp(1rem,3vw,3rem);--r:1.8deg}
.poster-inner{position:relative;transform:rotate(var(--r,0deg));transition:transform .6s var(--ease-out)}
.poster:hover .poster-inner{position:relative;transform:rotate(0deg) scale(1.012)}
.paper{position:relative;background:var(--paper);color:var(--ink);padding:clamp(.9rem,1.6vw,1.4rem) clamp(.9rem,1.6vw,1.4rem) clamp(1.4rem,2.4vw,2rem);box-shadow:0 30px 50px -24px rgba(0,0,0,.95)}
.paper::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.16),transparent 30%,rgba(0,0,0,.08) 70%,rgba(0,0,0,.18));mix-blend-mode:multiply}
.poster .tape.t1{top:-12px;left:12%;transform:rotate(-8deg)}
.poster .tape.t2{top:-10px;right:10%;transform:rotate(6deg)}
.poster-art{position:relative;overflow:hidden;background:var(--ink);aspect-ratio:4/5}
.poster:nth-of-type(3) .poster-art{aspect-ratio:2/1}
.poster-art svg{width:100%;height:100%;transition:transform 1.2s var(--ease-out)}
.poster:hover .poster-art svg{transform:scale(1.04)}
.poster-meta{display:flex;justify-content:space-between;gap:1rem;font-size:.66rem;font-weight:800;letter-spacing:.2em;margin:.9rem 0 .5rem;text-transform:uppercase}
.poster-meta span:last-child{color:#6b6862}
.soon{position:absolute;top:1.6rem;right:1.6rem;z-index:3;font-family:var(--f-hand);font-size:clamp(.95rem,1.4vw,1.2rem);background:var(--yellow);color:var(--ink);padding:.3rem .8rem;transform:rotate(5deg);box-shadow:0 6px 14px -6px rgba(0,0,0,.7)}
.poster h3{font-size:clamp(2rem,4vw,3.6rem);margin-bottom:.5rem}
.poster p{font-size:.95rem;max-width:34rem;color:#3a3936;margin-bottom:1rem;line-height:1.45}
.view{font-size:.74rem;font-weight:800;letter-spacing:.2em;display:inline-flex;gap:.6rem;align-items:center;border-bottom:2px solid var(--ink);padding-bottom:.25rem}
.view i{font-style:normal;display:inline-block;transition:transform .45s var(--ease-out)}
.poster:hover .view i{transform:translateX(6px)}
.wall-note{position:absolute;font-family:var(--f-hand);color:var(--acid);font-size:1.15rem;pointer-events:none;white-space:nowrap}
.wall-note.n1{right:calc(var(--pad) + 2%);top:-2.4rem;transform:rotate(5deg)}
.wall-note.n2{left:var(--pad);bottom:-3rem;color:var(--yellow);transform:rotate(-4deg)}

/* process */
.process{background:var(--ink);overflow:hidden;position:relative;z-index:3}
.process-track{display:flex;width:max-content;min-height:100vh;min-height:100svh;align-items:stretch}
.p-panel{position:relative;width:min(72vw,62rem);padding:clamp(6rem,10vh,8rem) clamp(2rem,4vw,4rem) 4rem;display:flex;flex-direction:column;justify-content:center;border-left:1px dashed rgba(233,228,216,.14)}
.p-intro{width:min(88vw,70rem);border-left:0;padding-left:var(--pad);justify-content:flex-start;padding-top:clamp(4rem,9vh,6rem)}
.p-intro h2{font-size:clamp(4.4rem,13vw,12.5rem)}
.p-intro h2 .o{color:transparent;-webkit-text-stroke:2px var(--blue)}
.p-intro p{max-width:26rem;color:var(--paper-dim);margin-top:2rem}
.p-intro .hand{color:var(--blue);font-size:1.4rem;transform:rotate(-3deg);display:inline-block;margin-top:2rem}
.step-num{font-size:clamp(9rem,26vw,24rem);line-height:.72;color:transparent;-webkit-text-stroke:2px rgba(233,228,216,.3);position:relative;transform-origin:left bottom}
.step-num .fill{position:absolute;inset:0;color:var(--sc,var(--blue));-webkit-text-stroke:0;clip-path:inset(100% 0 0 0)}
.p-panel h3{font-size:clamp(3rem,7vw,6.4rem);margin-top:1.4rem}
.p-panel p{max-width:24rem;color:var(--paper-dim);margin-top:1rem}
.p-panel p.you{font-size:.92rem;color:var(--paper);border-left:3px solid var(--sc,var(--blue));padding-left:.8rem}
.p-panel p.you b{color:var(--sc,var(--blue));font-weight:800}
.p-ann{position:absolute;font-family:var(--f-hand);font-size:clamp(1.05rem,1.6vw,1.4rem);color:var(--sc,var(--acid));display:flex;align-items:center;gap:.4rem}
.p-ann svg{stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.p-panel:nth-child(odd) .p-ann{top:clamp(5rem,14vh,9rem);right:12%;transform:rotate(6deg)}
.p-panel:nth-child(even) .p-ann{bottom:clamp(3rem,10vh,6rem);right:16%;transform:rotate(-5deg)}
.p-panel[data-step="1"]{--sc:var(--blue)}
.p-panel[data-step="2"]{--sc:var(--orange)}
.p-panel[data-step="3"]{--sc:var(--yellow)}
.p-panel[data-step="4"]{--sc:var(--pink)}
.p-panel[data-step="5"]{--sc:var(--acid)}
.p-panel[data-step="6"]{--sc:#4fe3ff}
.p-panel[data-step] h3{transition:color .4s}
.p-panel[data-step]:hover h3{color:var(--sc)}

/* culture */
.culture{padding:clamp(7rem,13vw,12rem) 0;background:var(--paper);color:var(--ink);overflow:hidden}
.culture .kicker{color:#6b6862;padding:0 var(--pad);display:block;margin-bottom:2rem}
.statement{font-size:clamp(4rem,14.5vw,15rem);padding:0 var(--pad);line-height:.8}
.statement .s{display:block;white-space:nowrap}
.statement .s2{padding-left:12vw;color:transparent;-webkit-text-stroke:2px var(--ink)}
.statement .s3{color:var(--orange);padding-left:4vw}
.culture-body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:2rem;padding:0 var(--pad);margin-top:clamp(4rem,9vw,8rem);align-items:start}
.culture-text .about-card{margin-left:0}
.culture-text{grid-column:2/7;font-size:clamp(1.1rem,1.5vw,1.35rem);line-height:1.5;font-stretch:100%}
.culture-text p+p{margin-top:1.2rem}
.culture-text .lead{font-size:clamp(1.5rem,2.4vw,2.2rem);line-height:1.2;font-weight:800;font-stretch:80%;margin-bottom:1.6rem}
.culture-text .sig{font-family:var(--f-hand);color:var(--pink);font-size:clamp(1.5rem,2.2vw,2rem);transform:rotate(-3deg);display:inline-block;margin-top:2rem}
.collage{grid-column:8/13;position:relative;min-height:clamp(50rem,72vw,68rem)}
.collage .bill{width:68%;box-shadow:0 26px 40px -22px rgba(0,0,0,.7)}
.collage .c1{top:0;left:0;background:var(--ink);color:var(--paper);transform:rotate(-4deg)}
.collage .c2{top:16%;right:0;background:var(--orange);transform:rotate(5deg);background-image:radial-gradient(circle,rgba(10,10,9,.3) 1.3px,transparent 1.7px);background-size:8px 8px}
.collage .c3{top:32%;left:5%;background:var(--blue);color:var(--paper);transform:rotate(-2deg)}
.collage .c4{top:48%;right:3%;background:var(--yellow);transform:rotate(4deg);background-image:radial-gradient(circle,rgba(10,10,9,.22) 1.2px,transparent 1.6px);background-size:7px 7px}
.collage .c5{top:64%;left:0;background:var(--paper);color:var(--ink);border:2px solid var(--ink);transform:rotate(-5deg)}
.collage .c6{top:80%;right:5%;background:var(--acid);transform:rotate(3deg)}
.collage .bill .t{font-size:clamp(1.9rem,3.6vw,3.6rem)}
.collage .spray{position:absolute;width:80%;aspect-ratio:1;border-radius:50%;left:14%;top:30%;background:radial-gradient(circle,rgba(255,46,147,.55),rgba(255,46,147,.25) 40%,transparent 68%);filter:blur(6px)}

/* make your mark */
.mark{height:100vh;height:100svh;min-height:36rem;background:var(--char);overflow:hidden;isolation:isolate}
.mark-layers{position:absolute;inset:0;z-index:0;pointer-events:none}
.mark-layer{position:absolute;will-change:transform}
.ml1{left:-2%;top:12%;font-size:clamp(7rem,24vw,22rem);color:transparent;-webkit-text-stroke:2px rgba(233,228,216,.07);white-space:nowrap}
.ml2{right:4%;top:6%;font-family:var(--f-hand);font-size:clamp(3rem,8vw,7rem);color:rgba(46,107,255,.22);transform:rotate(-8deg)}
.ml3{left:8%;bottom:10%;font-family:var(--f-hand);font-size:clamp(2.4rem,6vw,5rem);color:rgba(184,255,46,.16);transform:rotate(4deg)}
.ml4{right:14%;bottom:22%;width:clamp(7rem,14vw,12rem);opacity:.18}
#paint{position:absolute;inset:0;width:100%;height:100%;z-index:1;touch-action:none}
.mark-ui{position:absolute;z-index:2;left:var(--pad);right:var(--pad);top:clamp(2.5rem,7vh,4.5rem);display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;pointer-events:none}
.mark-ui h2{font-family:var(--f-hand);font-weight:400;font-size:clamp(2.6rem,6vw,5.4rem);line-height:1;color:var(--paper);transform:rotate(-3deg);text-shadow:0 0 30px rgba(255,225,0,.3)}
.mark-ui p{font-size:.88rem;color:var(--paper-dim);margin-top:.9rem;max-width:18rem}
.tools{pointer-events:auto;display:flex;gap:.55rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.chip{width:40px;height:40px;border-radius:50%;background:var(--c);border:3px solid transparent;box-shadow:inset 0 -6px 10px rgba(0,0,0,.25);transition:transform .35s var(--ease-out),border-color .25s}
.chip[aria-pressed="true"]{border-color:var(--paper);transform:scale(1.15)}
.wipe{min-height:40px;padding:0 1rem;border:1.5px solid rgba(233,228,216,.4);border-radius:20px;font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-left:.4rem}
.wipe:hover{border-color:var(--paper);background:var(--paper);color:var(--ink)}

/* contact */
.contact{min-height:100vh;min-height:100svh;padding:clamp(8rem,14vw,12rem) var(--pad) clamp(5rem,8vw,7rem);display:flex;flex-direction:column;justify-content:center;background:radial-gradient(ellipse at 70% 60%,rgba(46,107,255,.16),transparent 55%),var(--ink);overflow:hidden}
.bar{position:absolute;left:0;right:0;height:0;background:#000;z-index:4;pointer-events:none}
.bar.top{top:0}.bar.bot{bottom:0}
.finale{font-size:clamp(4.6rem,15.5vw,16rem);transform-origin:left center}
.finale .f{display:block}
.finale .f3{color:var(--yellow)}
.finale .f2{color:transparent;-webkit-text-stroke:2px var(--paper)}
.contact-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2.5rem;margin-top:clamp(2.5rem,5vw,4rem)}
.btn-huge{font-size:clamp(1rem,1.6vw,1.3rem);min-height:clamp(64px,7vw,88px);padding:0 clamp(1.6rem,3vw,2.8rem)}
.contact-info{display:grid;grid-template-columns:repeat(3,auto);gap:.6rem 2.6rem;font-size:.95rem}
.contact-info dt{font-size:.66rem;letter-spacing:.24em;font-weight:700;color:var(--concrete);text-transform:uppercase}
.contact-info a{border-bottom:1px solid rgba(233,228,216,.3);transition:color .3s,border-color .3s}
.contact-info a:hover{color:var(--acid);border-color:var(--acid)}
.credits{margin-top:clamp(4rem,8vw,6rem);text-align:center;font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:var(--concrete);line-height:2.2}
/* ---------- brand partner strip (D2B colours) ---------- */
.partner-strip{--g:#c7b482;--gd:#8f7638;--sv:#b7b1a2;position:relative;padding:clamp(2.6rem,6vw,4rem) var(--pad);background:linear-gradient(180deg,#000,#0a0a0a);border-top:1px solid rgba(199,180,130,.25);overflow:hidden}
.partner-strip::before{content:"";position:absolute;inset:auto -10% -60% auto;width:min(70vw,40rem);aspect-ratio:1;background:radial-gradient(circle,rgba(199,180,130,.16),transparent 65%);pointer-events:none}
.ps-inner{position:relative;max-width:72rem;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:1.6rem 3rem;align-items:center}
.ps-tag{display:inline-block;font-size:.62rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--g);border:1.5px solid var(--gd);border-radius:99px;padding:.3rem .7rem;margin-bottom:.9rem}
.partner-strip h2{font-size:clamp(1.9rem,4.4vw,3.2rem);line-height:.95;text-transform:uppercase;margin:0 0 .7rem;background:linear-gradient(100deg,var(--g),#efe3bd 40%,var(--sv) 75%);-webkit-background-clip:text;background-clip:text;color:transparent}
.partner-strip h2 em{font-style:normal}
.partner-strip p{color:var(--sv);max-width:36rem;font-size:.98rem;line-height:1.55;margin:0}
.ps-act{display:flex;flex-direction:column;align-items:flex-start;gap:.7rem}
.ps-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 1.6rem;border-radius:26px 26px 26px 4px;background:linear-gradient(135deg,#efe3bd,var(--g) 45%,var(--gd));color:#0a0a0a;font-weight:800;font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;box-shadow:0 0 30px -10px rgba(199,180,130,.6);transition:transform .45s var(--ease-out),box-shadow .3s}
.ps-btn:hover,.ps-btn:focus-visible{transform:translateY(-2px) rotate(-1.5deg);box-shadow:0 0 40px -6px rgba(199,180,130,.8)}
.ps-case{color:var(--g);font-size:.9rem;border-bottom:1px solid var(--gd)}
.ps-case:hover{color:#efe3bd}
.partner-strip small{color:#7d786c;font-size:.72rem}
@media (max-width:800px){.ps-inner{grid-template-columns:1fr}.ps-btn{width:100%}}
.credits b{color:var(--paper);font-weight:800}

/* footer */
.foot{position:relative;background:#000;padding:2.6rem var(--pad) calc(2.2rem + env(safe-area-inset-bottom,0px));display:flex;flex-wrap:wrap;gap:1.5rem 2rem;align-items:center;justify-content:space-between;overflow:hidden}
.foot ul{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1.8rem}
.foot ul a{font-size:.72rem;font-weight:700;letter-spacing:.2em;color:var(--paper-dim);transition:color .3s}
.foot ul a:hover{color:var(--yellow)}
.foot small{font-size:.72rem;color:#6b6862;width:100%}
.foot-tag{position:absolute;right:var(--pad);bottom:.6rem;width:118px;opacity:.85;transform:rotate(-6deg);pointer-events:none}

/* ---------- responsive ---------- */
/* ---------- owner placeholders ---------- */
.todo{background:transparent;color:var(--acid);border:1.5px dashed var(--acid);padding:.05em .4em;border-radius:3px;font-family:var(--f-display);font-weight:700;font-size:.82em;letter-spacing:.02em;font-stretch:100%;text-transform:none;white-space:normal}
.culture .todo,.paper .todo,.deal-card.light .todo{color:#1d3fbf;border-color:#1d3fbf}

/* ---------- services ---------- */
.services>*:not(.ws-bg):not(.hs),.est>*:not(.ws-bg):not(.hs),.faq>*:not(.ws-bg):not(.hs){position:relative}
.services{background:var(--ink);padding:clamp(7rem,12vw,10rem) 0 clamp(3.5rem,6vw,5rem);overflow:hidden}
.svc-title{font-size:clamp(4.2rem,13vw,12rem)}
.svc-title .o{color:transparent;-webkit-text-stroke:2px var(--yellow)}
.svc-intro{max-width:24rem;color:var(--paper-dim);padding-bottom:.8rem}
.svc-intro .hand{display:block;color:var(--acid);font-size:1.2rem;margin-bottom:.5rem;transform:rotate(-3deg)}
.svc-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1.4rem,2.6vw,2.4rem);padding:0 var(--pad)}
.svc{position:relative;background:var(--char);border:1px solid #2c2c2a;padding:clamp(1.4rem,2.4vw,2.2rem);display:flex;flex-direction:column;gap:.9rem;transform:rotate(var(--r,0deg));transition:transform .6s var(--ease-out),border-color .3s}
.svc:hover{transform:rotate(0deg) translateY(-4px);border-color:var(--c)}
.svc:nth-child(1){grid-column:1/6;--r:-.8deg;--c:var(--yellow)}
.svc:nth-child(2){grid-column:6/10;margin-top:3rem;--r:1deg;--c:var(--pink)}
.svc:nth-child(3){grid-column:10/13;--r:-1.4deg;--c:var(--blue)}
.svc:nth-child(4){grid-column:1/5;--r:.8deg;--c:var(--acid)}
.svc:nth-child(5){grid-column:5/9;margin-top:-1.5rem;--r:-.6deg;--c:var(--paper)}
.svc:nth-child(6){grid-column:9/13;margin-top:1rem;--r:1.2deg;--c:#f7931a}
.svc::before{content:"";position:absolute;top:-14px;right:18px;width:44px;height:44px;border-radius:50%;background:radial-gradient(circle,var(--c) 0 38%,transparent 70%);filter:blur(.5px);opacity:.95}
.svc h3{font-size:clamp(2rem,3.4vw,3rem)}
.svc p{color:var(--paper-dim);font-size:.98rem;line-height:1.5}
.svc .good{font-family:var(--f-hand);color:var(--c);font-size:1.05rem;line-height:1.3}
.svc ul{list-style:none;display:grid;gap:.35rem;font-size:.9rem}
.svc li{display:flex;gap:.6rem}
.svc li::before{content:"";flex:none;width:.5em;height:.5em;margin-top:.5em;background:var(--c);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%)}
.svc-go{margin-top:auto;align-self:flex-start;font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;border-bottom:2px solid var(--c);padding:.6rem 0 .2rem;min-height:44px}
.svc-go:hover{color:var(--c)}
.svc-more{grid-column:1/-1;margin-top:1rem;color:var(--paper-dim);font-size:.95rem;display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center}

/* ---------- badges / case links ---------- */
.badge{display:inline-block;font-size:.6rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;padding:.25rem .55rem;border:1.5px solid currentColor;border-radius:999px 999px 999px 3px}
.badge.own{color:#b0005e}.badge.client{color:#1d3fbf}.badge.soonb{color:#b07800}

/* ---------- the deal ---------- */
.deal{background:var(--char-2);padding:clamp(6rem,10vw,9rem) var(--pad);overflow:hidden}
.deal-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.5rem 3rem;margin-bottom:clamp(3rem,6vw,5rem)}
.deal-title{font-size:clamp(4rem,12vw,11rem)}
.deal-title .o{color:var(--acid)}
.deal-head p{max-width:24rem;color:var(--paper-dim)}
.est-facts{margin:0 0 clamp(2.4rem,4vw,3.4rem)}
.deal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.2rem,2.4vw,2.2rem)}
.deal-card{position:relative;padding:clamp(1.4rem,2.4vw,2.2rem);background:var(--ink);border:1px solid #333;transform:rotate(var(--r,0deg))}
.deal-card.light{background:var(--paper);color:var(--ink);border-color:transparent;--r:-1.2deg}
.deal-card.pink{background:var(--yellow);color:var(--ink);border-color:transparent;--r:1.4deg;background-image:radial-gradient(circle,rgba(10,10,9,.22) 1.2px,transparent 1.6px);background-size:7px 7px}
.deal-card .k{font-size:.66rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;opacity:.75}
.deal-card .big{display:block;font-size:clamp(2.4rem,4.6vw,4rem);margin:.6rem 0 .8rem}
.deal-card p{font-size:.95rem;line-height:1.5}
.deal-card .big .todo{font-size:.4em;display:inline-block;vertical-align:middle;line-height:1.3}
.deal-card.pink .todo{color:var(--ink);border-color:var(--ink)}
.deal-note{margin-top:2.4rem;color:var(--paper-dim);font-size:.95rem;max-width:40rem}

/* ---------- about card ---------- */
.about-card{grid-column:2/7;margin-top:2.6rem;padding:1.6rem 1.8rem;border:2px solid var(--ink);position:relative;background:rgba(255,255,255,.35)}
.about-card h3{font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:.8rem}
.about-card p{font-size:1.02rem;line-height:1.55}
.about-card p+p{margin-top:.8rem}
.mark-cta{pointer-events:auto;display:inline-block;margin-top:1rem;font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;border-bottom:2px solid var(--yellow);padding:.5rem 0 .2rem}
.mark-cta:hover{color:var(--yellow)}

/* ---------- faq ---------- */
.faq{background:var(--ink);padding:clamp(6rem,11vw,10rem) var(--pad) clamp(4rem,7vw,6rem);border-bottom:1px dashed rgba(233,228,216,.14)}
.faq{position:relative}
.faq-wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.faq-title{font-size:clamp(3.4rem,8vw,7.5rem)}
/* the whole left column sticks together, so the heading never slides over its own text */
.faq-wrap>div:first-child{position:sticky;top:7rem}
@media (max-width:900px){.faq-wrap>div:first-child{position:static}}
.faq-title .o{color:transparent;-webkit-text-stroke:2px var(--blue)}
.faq-side{color:var(--paper-dim);max-width:20rem;margin-top:1.6rem}
.faq-side .hand{display:block;color:var(--yellow);font-size:1.2rem;margin-top:1rem;transform:rotate(-3deg)}
.faq-list{border-top:1px solid rgba(233,228,216,.18)}
.faq-item{position:relative;border-bottom:1px solid rgba(233,228,216,.18);--fc:var(--blue);--fs:rgba(46,107,255,.38)}
.faq-item:nth-child(5n+2){--fc:var(--orange);--fs:rgba(255,106,26,.4)}
.faq-item:nth-child(5n+3){--fc:var(--yellow);--fs:rgba(255,225,0,.38)}
.faq-item:nth-child(5n+4){--fc:var(--pink);--fs:rgba(255,46,147,.36)}
.faq-item:nth-child(5n+5){--fc:var(--acid);--fs:rgba(184,255,46,.36)}
.faq-item::before{content:"";position:absolute;left:calc(-1 * min(1.4rem,var(--pad) - 6px));top:0;width:4px;height:100%;background:var(--fc);transform:scaleY(0);transform-origin:top;transition:transform .7s var(--ease-out);box-shadow:0 0 18px var(--fc)}
.faq-item.is-open::before{transform:scaleY(1)}
.faq-item::after{content:"";position:absolute;left:calc(-1 * min(1.4rem,var(--pad) - 6px));top:100%;width:4px;height:0;border-radius:0 0 4px 4px;background:var(--fc);transition:height .9s .35s var(--ease-out);z-index:1}
.faq-item.is-open::after{height:22px}
.faq-item summary{list-style:none;position:relative;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.3rem 0;cursor:pointer;font-weight:800;font-stretch:80%;font-size:clamp(1.15rem,1.8vw,1.5rem);line-height:1.2;min-height:56px;transition:color .3s}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item .q{background:linear-gradient(transparent 58%,var(--fs) 58%,var(--fs) 92%,transparent 92%) no-repeat 0 0/0% 100%;transition:background-size .7s var(--ease-out);padding:0 .1em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.faq-item.is-open .q{background-size:100% 100%}
.faq-item summary i{flex:none;width:30px;height:30px;position:relative;border-radius:50%;transition:transform .7s cubic-bezier(.34,1.56,.64,1),background-color .35s}
.faq-item summary i::before,.faq-item summary i::after{content:"";position:absolute;left:50%;top:50%;width:16px;height:2.5px;background:var(--fc);transform:translate(-50%,-50%);transition:background-color .35s}
.faq-item summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-item.is-open summary i{transform:rotate(135deg);background:var(--fc)}
.faq-item.is-open summary i::before,.faq-item.is-open summary i::after{background:var(--ink)}
.faq-item summary:hover,.faq-item.is-open summary{color:var(--fc)}
.faq-item summary:hover i{transform:rotate(90deg)}
.faq-item.is-open summary:hover i{transform:rotate(135deg) scale(1.08)}
.faq-a{overflow:hidden}
.faq-burst{position:absolute;width:0;height:0;pointer-events:none;z-index:3}
.faq-burst b{position:absolute;left:0;top:0;border-radius:50%;background:var(--fc)}
.faq-burst s{position:absolute;left:-15px;top:-15px;width:30px;height:30px;border-radius:50%;border:2px solid var(--fc)}
.faq-a{padding:0 0 1.5rem;color:var(--paper-dim);max-width:40rem;line-height:1.6}
.faq-a a{color:var(--paper);border-bottom:1px solid var(--yellow)}

/* ---------- enquiry form ---------- */
.contact-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,5rem);margin-top:clamp(2.5rem,5vw,4rem);align-items:start}
.contact-lead{font-size:clamp(1.1rem,1.5vw,1.3rem);color:var(--paper-dim);max-width:26rem;margin-bottom:2rem;line-height:1.5}
.contact-lead strong{color:var(--paper)}
.enquiry{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.4rem;background:rgba(26,26,25,.75);border:1px solid #2e2e2c;padding:clamp(1.3rem,2.6vw,2.2rem);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.enquiry .full{grid-column:1/-1}
.field{display:flex;flex-direction:column;gap:.45rem}
.field label{font-size:.66rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--concrete)}
.field input,.field select,.field textarea{font:inherit;font-size:1rem;color:var(--paper);background:transparent;border:0;border-bottom:2px solid rgba(233,228,216,.35);padding:.55rem 0;min-height:48px;border-radius:0;transition:border-color .3s}
.field select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--paper) 50%),linear-gradient(135deg,var(--paper) 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 6px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:1.6rem}
.field select option{background:var(--char);color:var(--paper)}
.field textarea{min-height:110px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none}
.field .err{font-size:.8rem;color:var(--pink);min-height:1em}
.form-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:1rem 1.6rem;align-items:center;justify-content:space-between;margin-top:.4rem}
.form-foot small{font-size:.8rem;color:var(--concrete);max-width:22rem}
.form-status{grid-column:1/-1;font-size:.95rem;color:var(--acid);min-height:1.4em}
.contact .contact-info{grid-template-columns:1fr;gap:1rem}

/* ---------- inner pages ---------- */
.page-layer{position:fixed;inset:0;z-index:140;background:var(--ink);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:calc(1rem + env(safe-area-inset-top,0px)) 0 calc(4rem + env(safe-area-inset-bottom,0px))}
.page-layer[hidden]{display:none}
.page-top{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem var(--pad);background:rgba(10,10,9,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.page-close{font-size:.74rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;min-height:44px;display:inline-flex;align-items:center;gap:.6rem}
.page-close:hover{color:var(--yellow)}
.page-body{max-width:64rem;margin:0 auto;padding:clamp(2rem,6vw,5rem) var(--pad) 0}
.page-body .kicker{display:flex;gap:.8rem;align-items:center;margin-bottom:1.2rem}
.page-body h1{font-size:clamp(3.6rem,11vw,9rem);margin-bottom:1.6rem}
.page-body .sum{font-size:clamp(1.15rem,1.8vw,1.5rem);line-height:1.45;max-width:42rem;margin-bottom:3rem}
.page-art{aspect-ratio:2/1;overflow:hidden;margin-bottom:3rem;background:var(--char)}
.page-art svg{width:100%;height:100%}
.page-art[data-art="brothers-in-arms"]{background:radial-gradient(ellipse at 50% 40%,#3a1a7a,#14092b 70%)}
.page-cols{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(2rem,5vw,4rem)}
.page-body h2{font-size:clamp(1.8rem,3vw,2.6rem);margin:2.4rem 0 .8rem}
.page-body h2:first-child{margin-top:0}
.page-body p,.page-body li{color:var(--paper-dim);line-height:1.6}
.page-body ul{padding-left:1.1rem;display:grid;gap:.5rem}
.page-facts{border-top:2px solid var(--paper);padding-top:1.2rem;display:grid;gap:1.2rem;align-content:start}
.page-facts dt{font-size:.66rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--concrete)}
.page-facts dd{margin-top:.3rem;color:var(--paper)}
.page-facts a{border-bottom:1px solid var(--yellow)}
.page-cta{margin-top:4rem;padding-top:2.4rem;border-top:1px dashed rgba(233,228,216,.2);display:flex;flex-wrap:wrap;gap:1.2rem 2rem;align-items:center;justify-content:space-between}
.page-cta p{font-family:var(--f-hand);font-size:1.5rem;color:var(--acid);transform:rotate(-2deg)}
.page-note{font-size:.85rem;color:var(--concrete);margin-top:2rem}
.foot .legal{font-size:.72rem;color:#6b6862;width:100%;line-height:1.7}
.foot .legal a{color:var(--paper-dim);border-bottom:1px solid #444}

@media (max-width:1180px){.nav-links{gap:1.1rem}.nav-links a{letter-spacing:.14em}}
@media (max-width:900px){
  .svc-grid{grid-template-columns:1fr}
  .svc:nth-child(n){grid-column:1/-1;margin-top:0}
  .deal-grid{grid-template-columns:1fr}
  .about-card{grid-column:1/-1}
  .faq-wrap{grid-template-columns:1fr}
  .faq-title{position:static}
  .contact-grid{grid-template-columns:1fr}
  .enquiry{grid-template-columns:1fr}
  .page-cols{grid-template-columns:1fr}
  .page-art{aspect-ratio:4/3}
}
/* ---------- floating contact buttons ---------- */
.fab{position:fixed;right:calc(1rem + env(safe-area-inset-right,0px));bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:145;display:flex;flex-direction:column;align-items:flex-end;gap:.6rem;animation:fabIn .8s 1.4s var(--ease-out) both}
@keyframes fabIn{from{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:none}}
.fab a{display:flex;align-items:center;gap:.6rem;height:52px;min-width:52px;padding:0 15px;border-radius:999px 999px 999px 6px;color:var(--ink);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;box-shadow:0 10px 24px -8px rgba(0,0,0,.8),0 0 0 2px var(--ink);transition:transform .45s var(--ease-out),box-shadow .3s}
.fab a svg{flex:none;width:22px;height:22px}
.fab a span{max-width:0;overflow:hidden;white-space:nowrap;transition:max-width .5s var(--ease-out)}
.fab a:hover,.fab a:focus-visible{transform:translateX(-4px) rotate(-2deg)}
.fab a:hover span,.fab a:focus-visible span{max-width:8rem}
.fab .fab-wa{background:var(--acid)}
.fab .fab-mail{background:var(--yellow)}
.fab .fab-call{background:var(--blue);color:var(--paper)}
@media (max-width:900px){.fab a{height:50px;min-width:50px;padding:0 14px}}
@media (prefers-reduced-motion:reduce){.fab{animation:none}}
/* ---------- payments page ---------- */
.pay-steps{display:grid;grid-template-columns:minmax(0,1fr);max-width:46rem;gap:1rem;margin:0 0 2.2rem;counter-reset:ps}
.pay-steps li{list-style:none;border:1px solid #2e2e2c;padding:1.1rem 1.2rem;color:var(--paper-dim);font-size:.95rem;line-height:1.5}
.pay-steps li b{display:block;font-family:var(--f-display);font-stretch:62%;font-weight:900;font-size:1.8rem;text-transform:uppercase;color:var(--paper);line-height:1;margin-bottom:.5rem}
.pay-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.2rem,3vw,2.4rem);align-items:start}
.pay-card{position:relative;padding:clamp(1.4rem,2.6vw,2.2rem);border:1px solid #2e2e2c;background:var(--char)}
.pay-card.card-pay{border-top:4px solid var(--blue)}
.pay-card.crypto{border-top:4px solid #f7931a}
.pay-card h2{margin-top:0!important}
.pay-card .btn{margin-top:1.4rem}
.pay-card p+p{margin-top:.8rem}
.page-body .pay-marks{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.2rem;list-style:none;padding:0}
.page-body .pay-marks li{display:inline-flex;line-height:1;align-items:center;gap:.45rem;height:34px;padding:0 .8rem;border:1.5px solid rgba(233,228,216,.35);border-radius:6px;background:#121211;font-size:.78rem;font-weight:800;letter-spacing:.04em;color:var(--paper)}
.pay-marks svg{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.75}
.pay-card .fine{font-size:.85rem;color:var(--concrete);margin-top:1rem}
.wallet{margin-top:1.2rem;padding:1.1rem;border:1px dashed #3a3a38;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"info qr" "code qr" "copy qr";gap:.8rem 1.1rem;align-items:start}
.w-info{grid-area:info}
.wallet .coin{font-weight:800;font-stretch:80%;font-size:1.1rem;color:var(--paper)}
.wallet .net{font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--blue)}
.wallet code{grid-area:code;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;color:var(--paper);word-break:break-all;background:#111;padding:.6rem .7rem;border-radius:3px;cursor:copy}
.wallet code:hover{outline:1px solid var(--blue)}
.wallet .copy{grid-area:copy;justify-self:start;display:inline-flex;align-items:center;gap:.5rem;min-height:46px;padding:0 1.2rem;border:0;border-radius:23px 23px 23px 4px;background:var(--blue);color:var(--paper);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;transition:background-color .3s,color .3s,transform .4s cubic-bezier(.34,1.56,.64,1)}
.wallet .copy:hover{transform:rotate(-2deg) scale(1.04)}
.wallet .copy.done{background:var(--acid);color:var(--ink)}
.wallet .qr{grid-area:qr;justify-self:end;background:#fff;padding:8px;border-radius:6px;line-height:0}
.wallet .qr svg{width:148px;height:148px;display:block}
@media (max-width:640px){.wallet{grid-template-columns:1fr;grid-template-areas:"info" "qr" "code" "copy"}.wallet .qr{justify-self:center}.wallet .qr svg{width:180px;height:180px}.wallet .copy{justify-self:stretch;justify-content:center}}
.pay-partner{position:relative;max-width:46rem;margin:0 0 1.6rem;padding:1.3rem 1.3rem 1.4rem;border:1.5px solid var(--pink);border-radius:4px;background:linear-gradient(135deg,rgba(255,46,147,.12),rgba(46,107,255,.08));box-shadow:0 0 30px -12px rgba(255,46,147,.6)}
.pay-partner h3{font-size:clamp(1.5rem,2.4vw,2rem);margin:.7rem 0 .4rem}
.pay-partner p{color:var(--paper-dim);font-size:.95rem}
.pay-partner p b{color:var(--paper)}
.pay-partner .btn{margin-top:1rem}
.pay-partner small{display:block;margin-top:.9rem;font-size:.75rem;color:var(--concrete)}
/* partner box in D2B colours: gold, silver, black */
.pay-partner{--d2b-gold:#c7b482;--d2b-gold-deep:#8f7638;--d2b-silver:#b7b1a2;--d2b-black:#0a0a0a;background:linear-gradient(160deg,#16140f,var(--d2b-black) 55%);border:1.5px solid transparent;border-radius:6px;background-clip:padding-box;box-shadow:0 0 0 1.5px var(--d2b-gold-deep),0 0 34px -14px rgba(199,180,130,.55)}
.pay-partner::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(120deg,transparent 30%,rgba(199,180,130,.08) 50%,transparent 70%);pointer-events:none}
.pay-partner .badge{color:var(--d2b-gold);border-color:var(--d2b-gold-deep)}
.pay-partner h3{background:linear-gradient(100deg,var(--d2b-gold) 0%,#efe3bd 40%,var(--d2b-silver) 75%);-webkit-background-clip:text;background-clip:text;color:transparent}
.pay-partner p{color:var(--d2b-silver)}
.pay-partner p b{color:var(--d2b-gold)}
.pay-partner .btn{background:linear-gradient(135deg,#efe3bd,var(--d2b-gold) 45%,var(--d2b-gold-deep));color:var(--d2b-black)}
.pay-partner small{color:#7d786c}

/* payment options: crypto = neon green, card = electric blue */
.pay-card.crypto{background:linear-gradient(180deg,rgba(247,147,26,.1),rgba(247,147,26,.02) 40%),var(--char);border-color:rgba(247,147,26,.4);box-shadow:0 0 40px -14px rgba(247,147,26,.6)}
.pay-card.crypto h2{color:#f7931a}
.pay-card.crypto .pay-marks li{border-color:rgba(247,147,26,.6)}
.pay-card.crypto .wallet{border-color:rgba(247,147,26,.4)}
.pay-card.crypto .wallet .net{color:#f7931a}
.pay-card.crypto .wallet .copy{background:#f7931a;color:var(--ink)}
.pay-card.crypto .wallet .copy.done{background:var(--yellow);color:var(--ink)}
.pay-card.crypto .wallet code:hover{outline-color:#f7931a}
.pay-card.card-pay{background:linear-gradient(180deg,rgba(46,107,255,.16),rgba(46,107,255,.03) 40%),var(--char);border-color:rgba(46,107,255,.45);box-shadow:0 0 40px -14px rgba(46,107,255,.7)}
.pay-card.card-pay h2{color:#6b95ff}
.pay-card.card-pay .pay-marks li{border-color:rgba(107,149,255,.6)}
.pay-card.card-pay .btn{background:var(--blue);color:var(--paper)}
.pay-card.card-pay .btn::before{background:#6b95ff}
/* payment choice tabs */
.pay-choice{margin:0 0 1.6rem}
.pay-tab .fav{display:inline-block;font-style:normal;font-size:.58rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;padding:.2rem .5rem;border-radius:99px;border:1.5px solid currentColor;margin-left:.15rem;vertical-align:.35em}
.pay-card.crypto .pay-req .btn-primary{background:#f7931a;color:var(--ink)}
.pay-deposit .dep-btns{display:flex;flex-direction:column;gap:.6rem;width:100%}
.pay-deposit .btn-deposit{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;border:0;cursor:pointer;font:inherit;font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.92rem;min-height:56px;padding:0 1.4rem}
.pay-deposit .btn-deposit.dep-crypto{background:var(--ink);color:#f7931a;box-shadow:0 0 0 2px var(--ink),0 0 26px -6px rgba(247,147,26,.9)}
.pay-deposit .btn-deposit.dep-crypto svg{width:22px;height:22px;flex:none}
.pay-deposit .btn-deposit.dep-card{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink);font-size:.8rem;min-height:48px}
.pay-deposit .btn-deposit.dep-card:hover{background:rgba(10,10,9,.08)}
.dep-note{display:none;margin:0 0 1.4rem;padding:1rem 1.1rem;border:2px dashed #f7931a;border-radius:14px 14px 14px 4px;color:var(--paper);font-size:.95rem;line-height:1.5}
.dep-note b{color:#f7931a}
.pay-card.crypto.dep-mode .dep-note{display:block}
.dep-note{scroll-margin-top:120px}
/* ---------- deposit page ---------- */
.dep-link{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .6rem;max-width:46rem;margin:0 0 2rem;padding:1rem 1.3rem;border:2px solid #f7931a;border-radius:22px 22px 22px 5px;color:var(--paper);font-size:1rem;transition:background-color .3s,transform .45s var(--ease-out)}
.dep-link span{color:var(--paper-dim)}
.dep-link b{color:#f7931a;font-weight:800}
.dep-link:hover,.dep-link:focus-visible{background:rgba(247,147,26,.1);transform:rotate(-1deg)}
.dep-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:46rem;margin:0 0 2.4rem;counter-reset:ds}
.dep-steps li{list-style:none;position:relative;border:1px solid #2e2e2c;padding:1.1rem 2.2rem 1.1rem 1.2rem;color:var(--paper-dim);font-size:.92rem;line-height:1.5;counter-increment:ds}
.dep-steps li::before{content:counter(ds);position:absolute;top:.9rem;right:1rem;font-family:var(--f-display);font-weight:900;font-size:1.1rem;color:#f7931a}
.dep-steps li b{display:block;font-family:var(--f-display);font-stretch:62%;font-weight:900;font-size:1.7rem;text-transform:uppercase;color:var(--paper);line-height:1;margin-bottom:.5rem}
.dep-note.dep-on{display:block}
.dep-fine{max-width:46rem;margin:2rem 0 .6rem;color:var(--paper-dim);font-size:.88rem;line-height:1.5}
.dep-fine a{color:var(--paper);border-bottom:1px solid #f7931a}
@media (max-width:900px){.dep-steps{grid-template-columns:1fr}}
/* ---------- deposit page: cooled up ---------- */
.dep-page{position:relative}
.dep-hero{position:relative;z-index:0}
.dep-hero::before{content:"";position:absolute;z-index:-1;left:0;top:-30%;width:min(90%,46rem);aspect-ratio:1;background:radial-gradient(circle,rgba(247,147,26,.22),rgba(255,46,147,.1) 45%,transparent 70%);animation:depGlow 7s ease-in-out infinite alternate;pointer-events:none}
@keyframes depGlow{to{transform:translate(12%,8%) scale(1.15)}}
.dep-coin{position:absolute;z-index:-1;font-family:var(--f-display);font-weight:900;line-height:1;pointer-events:none;opacity:.16;animation:coinFloat 9s ease-in-out infinite}
/* phones (Android especially) can drop the static text in this area after a long scroll, when it shares a layer with
   endlessly moving background bits. So the background glow and coins stay still on small screens, and the words get their own stable layer. */
.dep-hero > :not(.dep-coin):not(.paid-stamp):not(.dep-sticker){position:relative;z-index:1}
.dep-hero .paid-stamp,.dep-hero .dep-sticker{z-index:2}

.dep-coin.c1{right:4%;top:-4%;font-size:clamp(4rem,10vw,8rem);color:#f7931a;animation-duration:8s}
.dep-coin.c2{right:24%;top:46%;font-size:clamp(3rem,7vw,5.5rem);color:#6b95ff;animation-delay:-3s;animation-duration:10s}
.dep-coin.c3{left:52%;top:-8%;font-size:clamp(2.2rem,4vw,3.4rem);color:#ff2e93;animation-delay:-5s}
.dep-coin.c4{right:2%;bottom:-6%;font-size:clamp(2.4rem,5vw,4rem);color:var(--acid);animation-delay:-1.5s;animation-duration:11s}
@keyframes coinFloat{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-18px) rotate(10deg)}}
.dep-hero .kicker{color:#f7931a}
.lk-in{position:relative;display:inline-flex;align-items:flex-end;color:#f7931a;text-shadow:0 0 .35em rgba(247,147,26,.35)}
.lk-pad{width:.5em;height:.6em;margin:0 0 .1em .08em;color:#f7931a;overflow:visible;filter:drop-shadow(0 0 .15em rgba(247,147,26,.6))}
.lk-shackle{transform:translateY(-9px);animation:lkSnap .55s 1s cubic-bezier(.5,-.6,.6,1.6) forwards}
@keyframes lkSnap{to{transform:none}}
.lk-pad{animation:lkJiggle 4.5s 1.6s ease-in-out infinite;transform-origin:50% 90%}
@keyframes lkJiggle{0%,86%,100%{transform:none}89%{transform:rotate(-12deg)}92%{transform:rotate(9deg)}95%{transform:rotate(-5deg)}}
.lk-in::after{content:"";position:absolute;right:-.02em;bottom:.1em;width:.5em;height:.5em;border-radius:50%;border:3px solid #f7931a;opacity:0;animation:lkRing .7s 1.45s ease-out forwards;pointer-events:none}
@keyframes lkRing{0%{opacity:.9;transform:scale(.4)}100%{opacity:0;transform:scale(2.4)}}
.dep-sticker{position:absolute;right:0;top:calc(100% - 9.5rem);display:grid;place-items:center;align-content:center;width:clamp(8rem,15vw,10.5rem);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffc061,#f7931a 55%,#d9730a);color:var(--ink);box-shadow:0 0 0 4px var(--ink),0 0 0 7px #f7931a,0 18px 40px -12px rgba(247,147,26,.8);text-align:center;transform:rotate(12deg);animation:stickIn .9s .5s cubic-bezier(.34,1.56,.64,1) both,stickWob 5s 1.6s ease-in-out infinite}
.dep-sticker b{font-family:var(--f-hand);font-weight:400;font-size:clamp(2.3rem,4.6vw,3.2rem);line-height:.9;letter-spacing:-.02em}
.dep-sticker span{font-size:.62rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase}
.dep-sticker::after{content:"";position:absolute;left:58%;bottom:-14%;width:6px;height:22%;border-radius:0 0 4px 4px;background:#d9730a;animation:drip 3s 1.6s ease-in forwards;transform-origin:top;transform:scaleY(0)}
@keyframes drip{to{transform:scaleY(1)}}
@keyframes stickIn{from{opacity:0;transform:scale(2.2) rotate(-40deg)}to{opacity:1;transform:scale(1) rotate(12deg)}}
@keyframes stickWob{0%,100%{rotate:0deg}50%{rotate:-6deg}}
.dep-hero .sum{max-width:36rem}
.dep-steps li{border-width:2px;border-color:var(--sc);background:linear-gradient(160deg,color-mix(in srgb,var(--sc) 14%,transparent),transparent 60%);box-shadow:0 0 30px -16px var(--sc);border-radius:18px 18px 18px 4px;transform:rotate(var(--sr));animation:stepPop .7s var(--sd) cubic-bezier(.34,1.56,.64,1) backwards;transition:transform .45s var(--ease-out),box-shadow .3s}
.dep-steps li:nth-child(1){--sc:#f7931a;--sr:-1.2deg;--sd:.25s}
.dep-steps li:nth-child(2){--sc:#ff2e93;--sr:.9deg;--sd:.4s}
.dep-steps li:nth-child(3){--sc:#b8ff2e;--sr:-.6deg;--sd:.55s}
.dep-steps li:hover{transform:rotate(0) translateY(-4px) scale(1.02);box-shadow:0 0 40px -10px var(--sc)}
.dep-steps li::before{top:.5rem;right:.8rem;font-size:2.6rem;color:transparent;-webkit-text-stroke:2px var(--sc);opacity:.9}
.dep-steps li b{color:var(--sc)}
@keyframes stepPop{from{opacity:0;transform:translateY(30px) scale(.85) rotate(-6deg)}to{opacity:1;transform:rotate(var(--sr))}}
.dep-shine{background:linear-gradient(100deg,#f7931a 0 35%,#fff3d6 50%,#f7931a 65% 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 3.2s linear infinite}
@keyframes shine{from{background-position:100% 0}to{background-position:-150% 0}}
.dep-page .pay-tab.t-crypto[aria-selected="true"]{animation:cryptoGlow 2.4s ease-in-out infinite}
@keyframes cryptoGlow{0%,100%{box-shadow:0 0 34px -8px #f7931a}50%{box-shadow:0 0 54px -4px #f7931a}}
@media (max-width:900px){.dep-sticker{position:relative;top:auto;right:auto;margin:-.4rem 0 1.6rem auto;width:7.2rem}.dep-coin.c2{top:58%}}



/* ---------- Ask IICIC chat ---------- */
.fab .fab-chat{display:flex;align-items:center;gap:.6rem;height:52px;min-width:52px;padding:0 15px;border:0;border-radius:999px 999px 999px 6px;background:var(--pink);color:var(--paper);font:inherit;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;box-shadow:0 10px 24px -8px rgba(0,0,0,.8),0 0 0 2px var(--ink);transition:transform .45s var(--ease-out),box-shadow .3s}
.fab .fab-chat svg{flex:none;width:22px;height:22px}
.fab .fab-chat span{max-width:0;overflow:hidden;white-space:nowrap;transition:max-width .5s var(--ease-out)}
.fab .fab-chat:hover,.fab .fab-chat:focus-visible,.fab .fab-chat[aria-expanded="true"]{transform:translateX(-4px) rotate(-2deg)}
.fab .fab-chat:hover span,.fab .fab-chat:focus-visible span{max-width:8rem}
.fab .fab-chat[aria-expanded="true"]{box-shadow:0 10px 24px -8px rgba(0,0,0,.8),0 0 0 2px var(--ink),0 0 26px -2px var(--pink)}
@media (max-width:900px){.fab .fab-chat{height:50px;min-width:50px;padding:0 14px}}
.chatbox{position:fixed;z-index:160;right:calc(1rem + 52px + 1rem + env(safe-area-inset-right,0px));bottom:calc(1rem + env(safe-area-inset-bottom,0px));width:min(380px,calc(100vw - 2rem));height:min(560px,calc(100vh - 7rem));height:min(560px,calc(100dvh - 7rem));display:flex;flex-direction:column;background:#121211;color:var(--paper);border:2px solid var(--pink);border-radius:24px 24px 6px 24px;box-shadow:0 30px 60px -20px rgba(0,0,0,.95),0 0 60px -24px var(--pink);transform-origin:100% 100%;opacity:0;transform:translateY(18px) scale(.9);transition:opacity .25s,transform .4s cubic-bezier(.34,1.56,.64,1);overflow:hidden}
.chatbox.open{opacity:1;transform:none}
.chatbox[hidden]{display:none}
.cb-head{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;background:linear-gradient(120deg,rgba(255,46,147,.28),rgba(46,107,255,.16));border-bottom:1px solid #2c2c2a}
.cb-av{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--ink);font-family:var(--f-hand);font-size:.74rem;transform:rotate(-8deg);box-shadow:0 0 0 2px var(--ink),0 0 18px -4px var(--yellow)}
.cb-t b{display:block;font-family:var(--f-display);font-stretch:62%;font-weight:900;font-size:1.35rem;line-height:1;text-transform:uppercase}
.cb-t small{display:block;margin-top:.2rem;font-size:.74rem;color:var(--paper-dim)}
.cb-x{margin-left:auto;flex:none;width:36px;height:36px;border-radius:50%;border:1.5px solid #3a3a38;background:transparent;color:var(--paper);font-size:.95rem;cursor:pointer}
.cb-x:hover{border-color:var(--pink);color:var(--pink)}
.cb-log{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:1rem;display:flex;flex-direction:column;gap:.6rem}
.cb-msg{max-width:86%;padding:.7rem .95rem;border-radius:18px 18px 18px 4px;font-size:.93rem;line-height:1.45;animation:cbIn .35s cubic-bezier(.34,1.56,.64,1)}
.cb-msg.bot{align-self:flex-start;background:#1f1f1d;border:1px solid #2e2e2c}
.cb-msg.bot b{color:var(--yellow)}
.cb-msg.me{align-self:flex-end;background:var(--acid);color:var(--ink);font-weight:600;border-radius:18px 18px 4px 18px}
@keyframes cbIn{from{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:none}}
.cb-msg.typing{display:flex;gap:5px;padding:.85rem 1rem}
.cb-msg.typing i{width:7px;height:7px;border-radius:50%;background:var(--pink);animation:cbDot 1s infinite}
.cb-msg.typing i:nth-child(2){animation-delay:.15s}.cb-msg.typing i:nth-child(3){animation-delay:.3s}
@keyframes cbDot{0%,60%,100%{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-4px)}}
.cb-link{display:inline-block;margin-top:.5rem;color:var(--yellow);font-weight:800;border-bottom:1px solid currentColor}
.cb-wa{display:inline-flex;margin-top:.6rem;padding:.45rem .95rem;border-radius:99px 99px 99px 4px;background:var(--acid);color:var(--ink)!important;font-weight:800;font-size:.85rem}
.cb-chips{display:flex;gap:.4rem;overflow-x:auto;padding:.1rem 1rem .7rem;scrollbar-width:none}
.cb-chips::-webkit-scrollbar{display:none}
.cb-chip{flex:none;padding:.42rem .8rem;border:1.5px solid var(--yellow);border-radius:99px;background:transparent;color:var(--yellow);font:inherit;font-size:.76rem;font-weight:700;cursor:pointer;transition:background-color .2s,color .2s}
.cb-chip:hover,.cb-chip:focus-visible{background:var(--yellow);color:var(--ink)}
.cb-form{display:flex;gap:.5rem;padding:.7rem;border-top:1px solid #2c2c2a;background:#0d0d0c}
.cb-form input{flex:1;min-width:0;min-height:46px;padding:0 1rem;border:2px solid #333;border-radius:23px 23px 23px 4px;background:#1a1a19;color:var(--paper);font:inherit;font-size:16px}
.cb-form input:focus{outline:none;border-color:var(--pink)}
.cb-send{flex:none;width:46px;height:46px;border:0;border-radius:50%;background:var(--pink);color:var(--paper);display:grid;place-items:center;cursor:pointer;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.cb-send:hover{transform:rotate(-10deg) scale(1.08)}
.cb-send svg{width:20px;height:20px}
@media (max-width:640px){.chatbox{left:.5rem;right:.5rem;bottom:calc(.5rem + env(safe-area-inset-bottom,0px));width:auto;height:min(600px,80vh);height:min(600px,80dvh);border-radius:22px 22px 6px 22px}.chat-open .fab{opacity:0;pointer-events:none}}
@media (prefers-reduced-motion:reduce){.chatbox{transition:opacity .2s;transform:none}.cb-msg{animation:none}}
/* ---------- spray-painted brain (footer easter egg + /iicic) ---------- */
.foot-brain{position:absolute;z-index:2;right:calc(var(--pad) + 132px);bottom:.9rem;width:62px;height:52px;padding:0;border:0;background:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transform:rotate(8deg);opacity:.9;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s}
.foot-brain:hover{opacity:1;transform:rotate(0) scale(1.12)}
.foot-brain:focus-visible{outline:2px solid var(--pink);outline-offset:4px;border-radius:8px}
.foot-brain.wig{animation:brainWig .5s ease-in-out}
@keyframes brainWig{0%,100%{transform:rotate(8deg)}25%{transform:rotate(-10deg) scale(1.1)}50%{transform:rotate(12deg) scale(1.1)}75%{transform:rotate(-4deg)}}
.fb-svg,.big-brain{width:100%;height:100%;overflow:visible}
.fb-svg .br-lines,.big-brain .br-lines{filter:url(#rough)}
.fb-svg .br-out{stroke:var(--pink);stroke-width:7}
.fb-svg .br-mid{stroke:var(--pink);stroke-width:5}
.fb-svg .br-gy{stroke:var(--acid);stroke-width:5}
.fb-svg .br-drip{stroke:var(--pink);stroke-width:4}
.fb-svg .br-specks{fill:var(--pink);opacity:.55}
.foot-brain svg{filter:drop-shadow(0 0 6px rgba(255,46,147,.55))}
@media (max-width:700px){.foot-brain{top:2.3rem;bottom:auto;right:var(--pad);width:58px;height:48px}}
.iicic-page{text-align:center;padding-bottom:3rem}
.iicic-page .kicker{justify-content:center;color:var(--acid)}
.iicic-stage{position:relative;width:min(78vw,30rem);aspect-ratio:200/165;margin:1rem auto 1.4rem;animation:brainThink 3.2s 4s ease-in-out infinite}
.iicic-stage::before{content:"";position:absolute;inset:-12%;border-radius:50%;background:radial-gradient(circle,rgba(255,46,147,.28),rgba(184,255,46,.12) 45%,transparent 70%);filter:blur(16px);animation:depGlow 6s ease-in-out infinite alternate;z-index:-1}
@keyframes brainThink{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.04) rotate(-1.5deg)}}
.big-brain .br-out{stroke:var(--pink);stroke-width:6;stroke-dasharray:1;stroke-dashoffset:1;animation:brDraw 1.6s .3s cubic-bezier(.45,0,.2,1) forwards}
.big-brain .br-mid{stroke:var(--pink);stroke-width:4;stroke-dasharray:1;stroke-dashoffset:1;animation:brDraw .8s 1.4s ease-out forwards}
.big-brain .br-gy{stroke-width:4.5;stroke-dasharray:1;stroke-dashoffset:1;animation:brDraw .6s calc(1.8s + var(--k) * .12s) ease-out forwards,brHue 4s calc(4s + var(--k) * .2s) ease-in-out infinite}
.big-brain .g0{stroke:var(--acid)}.big-brain .g1{stroke:var(--yellow)}.big-brain .g2{stroke:#4fe3ff}.big-brain .g3{stroke:var(--orange)}.big-brain .g4{stroke:#b46bff}.big-brain .g5{stroke:var(--acid)}
@keyframes brHue{0%,100%{opacity:1}50%{opacity:.45}}
.big-brain .br-drip{stroke:var(--pink);stroke-width:3.5;stroke-dasharray:1;stroke-dashoffset:1;animation:brDraw 1.8s 3.2s ease-in forwards}
.big-brain .br-over{fill:none;stroke:rgba(255,46,147,.35);stroke-width:16;filter:blur(6px);opacity:0;animation:fadeIn 1s 1.2s forwards}
.big-brain .br-specks{fill:var(--pink);opacity:0;animation:fadeIn .8s 1.1s forwards}
.big-brain .br-specks circle:nth-child(3n){fill:var(--acid)}
.big-brain .br-specks circle:nth-child(5n){fill:var(--yellow)}
@keyframes brDraw{to{stroke-dashoffset:0}}
@keyframes fadeIn{to{opacity:.75}}
.br-spark{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--yellow);box-shadow:0 0 12px 3px var(--yellow);opacity:0;animation:spark 2.6s ease-out infinite}
.br-spark.s1{left:18%;top:8%;animation-delay:4.2s}.br-spark.s2{right:14%;top:14%;background:var(--acid);box-shadow:0 0 12px 3px var(--acid);animation-delay:4.9s}
.br-spark.s3{left:8%;top:52%;background:#4fe3ff;box-shadow:0 0 12px 3px #4fe3ff;animation-delay:5.6s}.br-spark.s4{right:6%;top:48%;background:var(--pink);box-shadow:0 0 12px 3px var(--pink);animation-delay:6.3s}
@keyframes spark{0%{opacity:0;transform:scale(.2)}15%{opacity:1;transform:scale(1.3)}60%{opacity:0;transform:translateY(-26px) scale(.4)}100%{opacity:0}}
.iicic-h{font-family:var(--f-hand);font-weight:400;text-transform:none;font-size:clamp(2.6rem,9vw,6rem)!important;line-height:1;margin:0 0 1rem;letter-spacing:0}
.iicic-h span{display:inline-block;opacity:0;animation:sprayIn .9s cubic-bezier(.2,1.4,.4,1) forwards}
.iicic-h .ih1{color:var(--yellow);text-shadow:.05em .05em 0 var(--pink),0 0 .4em rgba(255,225,0,.35);transform:rotate(-4deg);animation-delay:3.4s}
.iicic-h .ih2{color:var(--acid);text-shadow:.05em .05em 0 #2e6bff,0 0 .4em rgba(184,255,46,.35);transform:rotate(2deg);animation-delay:4s}
@keyframes sprayIn{0%{opacity:0;filter:blur(14px);transform:scale(1.4) rotate(var(--rr,0deg))}100%{opacity:1;filter:blur(0)}}
.iicic-h .ih1{--rr:-12deg}.iicic-h .ih2{--rr:10deg}
.iicic-sub{color:var(--paper-dim);max-width:30rem;margin:0 auto;font-size:1rem;opacity:0;animation:fadeInFull .8s 4.8s forwards}
@keyframes fadeInFull{to{opacity:1}}
@media (prefers-reduced-motion:reduce){.iicic-stage,.iicic-stage::before,.br-spark{animation:none}.big-brain *{animation:none!important;stroke-dashoffset:0!important}.big-brain .br-specks,.big-brain .br-over{opacity:.7}.iicic-h span,.iicic-sub{animation:none;opacity:1}}

/* ---------- thank-you pages ---------- */
.thanks .dep-hero::before{background:radial-gradient(circle,rgba(184,255,46,.22),rgba(255,46,147,.12) 45%,transparent 70%)}
.thanks .dep-hero .kicker{color:var(--acid)}
.thanks .dep-coin{color:var(--acid)}.thanks .dep-coin.c2{color:var(--yellow)}.thanks .dep-coin.c3{color:var(--pink)}
.ty-word{display:inline-block;color:var(--acid);text-shadow:0 0 .35em rgba(184,255,46,.45);transform:rotate(-2deg);animation:tyPop .7s .3s cubic-bezier(.34,1.56,.64,1) backwards}
.settle .ty-word{color:var(--pink);text-shadow:0 0 .35em rgba(255,46,147,.45)}
@keyframes tyPop{from{opacity:0;transform:scale(1.8) rotate(-12deg)}to{opacity:1;transform:rotate(-2deg)}}
.thanks .paid-stamp{border-color:var(--acid);color:var(--acid)}
.thanks .paid-stamp::before{border-color:var(--acid)}
.settle.thanks .paid-stamp{border-color:var(--pink);color:var(--pink)}
.settle.thanks .paid-stamp::before{border-color:var(--pink)}
.ty-h{font-size:clamp(1.8rem,4vw,2.8rem);margin:.4rem 0 1.2rem}
.thanks .page-note{margin-top:1.4rem}
@media (prefers-reduced-motion:reduce){.ty-word{animation:none}}
/* ---------- payments chooser ---------- */
.choose .dep-hero::before{background:radial-gradient(circle,rgba(247,147,26,.18),rgba(255,46,147,.12) 45%,transparent 70%)}
.choose .dep-hero .kicker{color:var(--yellow)}
.choose .dep-coin.c2{color:var(--yellow)}
.ch-pay{display:inline-block;background:linear-gradient(100deg,#f7931a 0 30%,#fff3d6 45%,var(--pink) 60%,#6b95ff 80% 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 3.4s linear infinite}
.choose-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,2.4vw,1.6rem);max-width:56rem;margin:0 0 2rem}
.choose-card{--cc:#f7931a;position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding:clamp(1.4rem,3vw,2rem);border:2px solid var(--cc);border-radius:28px 28px 28px 6px;background:linear-gradient(160deg,color-mix(in srgb,var(--cc) 18%,transparent),transparent 65%),var(--char);color:var(--paper);box-shadow:0 0 40px -18px var(--cc);transform:rotate(var(--r,0deg));animation:stepPop .75s var(--d,.3s) cubic-bezier(.34,1.56,.64,1) backwards;transition:transform .5s cubic-bezier(.34,1.56,.64,1),box-shadow .3s,background-color .3s}
.choose-card.cc-dep{--r:-1.2deg;--d:.3s}
.choose-card.cc-full{--cc:var(--pink);--r:1deg;--d:.45s}
.choose-card:hover,.choose-card:focus-visible{transform:rotate(0) translateY(-6px) scale(1.02);box-shadow:0 0 60px -10px var(--cc)}
.choose-card:focus-visible{outline:3px solid var(--paper);outline-offset:4px}
.cc-tag{font-size:.62rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;padding:.3rem .7rem;border-radius:99px;border:1.5px solid var(--cc);color:var(--cc)}
.cc-h{font-family:var(--f-display);font-stretch:62%;font-weight:900;font-size:clamp(2.6rem,6vw,4rem);line-height:.88;text-transform:uppercase;color:var(--cc);margin-top:.4rem}
.cc-amt{font-family:var(--f-hand);font-size:clamp(1.5rem,3vw,2rem);color:var(--paper);transform:rotate(-3deg);display:inline-block}
.cc-p{color:var(--paper-dim);font-size:.98rem;line-height:1.5;max-width:22rem}
.cc-go{margin-top:auto;padding-top:1rem;display:inline-flex;align-items:center;min-height:50px;padding:0 1.4rem;border-radius:25px 25px 25px 4px;background:var(--cc);color:var(--ink);font-weight:800;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;transition:transform .4s var(--ease-out)}
.choose-card:hover .cc-go{transform:translateX(6px)}
.cc-full .cc-go{color:var(--paper)}
.choose-note{color:var(--paper-dim);font-size:.95rem;margin-bottom:1rem}
.choose-note a{color:var(--acid);border-bottom:1px solid var(--acid)}
.menu li:nth-child(9){--mc:#f7931a}
/* little hand-drawn notes next to each menu item */
.menu a.big{display:flex;align-items:center;gap:.5rem}
.menu .mnote{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--f-hand);font-size:clamp(.85rem,3.6vw,1.15rem);line-height:1;text-transform:none;letter-spacing:0;color:var(--mc,var(--yellow));white-space:nowrap;transform:rotate(-4deg) translateY(.1em);opacity:0;transition:opacity .5s calc(var(--i)*60ms + 600ms)}
.menu .mnote svg{width:1.9em;height:.95em;flex:none}
.menu .mlab{flex:none}
.menu .mnote{flex:0 1 auto;min-width:0;white-space:normal}
.menu .mnote i{font-style:normal;line-height:1.05;max-width:7.5em}
/* a note that has no room beside a long word drops onto its own line instead of being squashed */
.menu a.big{flex-wrap:wrap;row-gap:0}.menu .mnote{flex:0 0 auto}.menu .mnote i{white-space:nowrap}
.menu.is-open .mnote{opacity:.95}
.menu a.big:hover .mnote{opacity:1}
@media (prefers-reduced-motion:reduce){.menu .mnote{transition:none}}

@media (max-width:760px){.choose-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.ch-pay,.choose-card{animation:none}.ch-pay{color:#f7931a;background:none}}
/* ---------- settle up page: cooled up ---------- */
.settle .dep-hero::before{background:radial-gradient(circle,rgba(255,46,147,.22),rgba(46,107,255,.14) 45%,transparent 70%)}
.settle .dep-hero .kicker{color:var(--pink)}
.settle .dep-coin.c2{color:var(--yellow)}
.settle .dep-coin.c3{color:#6b95ff}
.st-up{position:relative;display:inline-flex;margin-right:-.07em;align-items:flex-end;color:var(--pink);text-shadow:0 0 .35em rgba(255,46,147,.4);animation:upHop 2.4s 1s cubic-bezier(.34,1.56,.64,1) infinite}
@keyframes upHop{0%,70%,100%{transform:none}78%{transform:translateY(-.12em)}86%{transform:translateY(.02em)}}
.up-arrow{position:absolute;left:50%;bottom:100%;width:.22em;height:.3em;margin-left:-.11em;color:var(--pink);opacity:0;filter:drop-shadow(0 0 .1em rgba(255,46,147,.8));animation:upShoot 2.4s 1s ease-out infinite;pointer-events:none}
.up-arrow.ua2{color:var(--yellow);width:.16em;margin-left:.08em;animation-delay:1.35s}
@keyframes upShoot{0%{opacity:0;transform:translateY(.5em)}20%{opacity:1}70%{opacity:0;transform:translateY(-.5em)}100%{opacity:0;transform:translateY(-.5em)}}
.paid-stamp{position:absolute;right:0;top:calc(100% - 9rem);display:grid;place-items:center;padding:.6rem 1.4rem .7rem;border:5px solid var(--pink);border-radius:12px;color:var(--pink);text-align:center;transform:rotate(-14deg);background:rgba(255,46,147,.06);box-shadow:0 0 30px -10px rgba(255,46,147,.6);animation:stampThump .5s .6s cubic-bezier(.2,1.6,.5,1) both}
.paid-stamp::before{content:"";position:absolute;inset:5px;border:2px solid var(--pink);border-radius:6px;opacity:.7}
.paid-stamp span{font-family:var(--f-display);font-stretch:62%;font-weight:900;font-size:clamp(2.8rem,6vw,4.4rem);line-height:.9;letter-spacing:.06em;text-transform:uppercase}
.paid-stamp small{font-family:var(--f-hand);font-size:clamp(.9rem,1.6vw,1.1rem);color:var(--yellow);margin-top:.15rem}
@keyframes stampThump{0%{opacity:0;transform:scale(3) rotate(-30deg)}60%{opacity:1;transform:scale(.92) rotate(-12deg)}100%{opacity:1;transform:scale(1) rotate(-14deg)}}

@keyframes heroShake{0%,100%{transform:none}25%{transform:translate(2px,1px)}50%{transform:translate(-2px,-1px)}75%{transform:translate(1px,-1px)}}
.settle .dep-link{background:linear-gradient(100deg,rgba(247,147,26,.12),rgba(255,46,147,.08));box-shadow:0 0 30px -14px #f7931a;animation:stepPop .7s .3s cubic-bezier(.34,1.56,.64,1) backwards;--sr:-.6deg}
.settle .dep-link b{display:inline-block;animation:nudge 1.8s 1.2s ease-in-out infinite}
@keyframes nudge{0%,60%,100%{transform:none}75%{transform:translateX(6px)}}
.settle .pay-steps li{--sc:#6b95ff;--sr:.5deg;--sd:.45s;border:2px solid var(--sc);border-radius:18px 18px 18px 4px;background:linear-gradient(160deg,rgba(107,149,255,.14),transparent 60%);box-shadow:0 0 30px -16px var(--sc);animation:stepPop .7s var(--sd) cubic-bezier(.34,1.56,.64,1) backwards}
.settle .pay-steps li b{color:#6b95ff}
.settle-shine{background-image:linear-gradient(100deg,var(--pink) 0 30%,#fff 45%,#f7931a 60%,#6b95ff 80% 100%);background-size:250% 100%}
.settle .pay-tab.t-crypto[aria-selected="true"]{animation:cryptoGlow 2.4s ease-in-out infinite}
@media (max-width:900px){.paid-stamp{position:relative;top:auto;right:auto;width:max-content;margin:-.4rem 0 1.6rem auto;padding:.4rem 1rem .5rem}.paid-stamp span{font-size:2.4rem}}
@media (prefers-reduced-motion:reduce){.st-up,.up-arrow,.paid-stamp,.settle .dep-link,.settle .dep-link b,.settle .pay-steps li,.settle .pay-tab.t-crypto[aria-selected="true"]{animation:none}.up-arrow{display:none}}
@media (prefers-reduced-motion:reduce){.dep-hero::before,.dep-coin,.lk-pad,.dep-sticker,.dep-steps li,.dep-shine,.dep-page .pay-tab.t-crypto[aria-selected="true"]{animation:none}.lk-shackle{animation:none;transform:none}.lk-in::after{display:none}.dep-sticker::after{transform:none;animation:none}.dep-shine{color:#f7931a;background:none}}



.pay-deposit{position:relative;display:grid;grid-template-columns:1fr auto;gap:1.4rem 2.4rem;align-items:center;margin:0 0 1.6rem;padding:clamp(1.4rem,3vw,2.2rem);background:var(--acid);color:var(--ink);border-radius:28px 28px 28px 6px;box-shadow:0 0 0 2px var(--ink),0 0 46px -10px var(--acid)}
.pay-deposit .dep-tag{display:inline-block;font-size:.66rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;padding:.35rem .7rem;border-radius:99px;border:1.5px solid var(--ink);margin-bottom:.8rem}
.pay-deposit h2{font-size:clamp(2.2rem,6vw,3.6rem);line-height:.9;text-transform:uppercase;color:var(--ink);margin:0 0 .6rem}
.pay-deposit h2 em{font-style:normal;background:var(--ink);color:var(--acid);padding:0 .12em;display:inline-block;transform:rotate(-2deg)}
.pay-deposit p{font-size:1rem;line-height:1.5;color:#1d2a08;max-width:32rem;margin:0}
.pay-deposit .dep-act{display:flex;flex-direction:column;align-items:flex-start;gap:.7rem;max-width:20rem}
.pay-deposit .btn-deposit{background:var(--ink);color:var(--acid);border-radius:28px 28px 28px 4px;font-size:1rem}
.pay-deposit .btn-deposit:hover{background:#000}
.pay-deposit small{font-size:.78rem;line-height:1.45;color:#2a3a0c}
.pay-deposit small a{color:var(--ink);border-bottom:1px solid var(--ink)}
.dep-or{margin:0 0 2.2rem;color:var(--paper-dim);font-size:.95rem}
@media (max-width:900px){.pay-deposit{grid-template-columns:1fr}.pay-deposit .dep-act{max-width:none}.pay-deposit .btn-deposit{width:100%;justify-content:center}}

.pay-q{font-size:clamp(2rem,4.4vw,3.4rem);margin-bottom:1.1rem}
.pay-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;max-width:46rem}
.pay-tab{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;text-align:left;padding:1.1rem 1.3rem;min-height:84px;border-radius:30px 30px 30px 6px;border:2px solid;background:transparent;transition:background-color .35s,color .35s,transform .5s cubic-bezier(.34,1.56,.64,1),box-shadow .35s}
.pay-tab b{font-family:var(--f-display);font-stretch:62%;font-weight:900;font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:.9;text-transform:uppercase}
.pay-tab small{font-size:.78rem;font-weight:700;opacity:.8}
.pay-tab.t-crypto{border-color:#f7931a;color:#f7931a}
.pay-tab.t-card{border-color:#6b95ff;color:#6b95ff}
.pay-tab:hover{transform:rotate(-1.5deg) scale(1.02)}
.pay-tab.t-crypto[aria-selected="true"]{background:#f7931a;color:var(--ink);box-shadow:0 0 34px -8px #f7931a}
.pay-tab.t-card[aria-selected="true"]{background:var(--blue);border-color:var(--blue);color:var(--paper);box-shadow:0 0 34px -8px var(--blue)}
.pay-tab:focus-visible{outline:3px solid var(--paper);outline-offset:3px}
.pay-grid{grid-template-columns:minmax(0,1fr)!important;max-width:46rem}
.pay-card[hidden]{display:none}
.pay-card.show{animation:payIn .55s var(--ease-out)}
@keyframes payIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media (max-width:480px){.pay-tab{padding:.95rem 1rem;min-height:76px}.pay-tab small{font-size:.7rem}}
.pay-req{margin-top:1.8rem;padding-top:1.6rem;border-top:1px dashed #3a3a38}
.pay-req h3{font-size:clamp(1.5rem,2.4vw,2rem);margin-bottom:.5rem}
.pay-req p{color:var(--paper-dim);font-size:.95rem}
.pay-req-form{display:grid;gap:1rem;margin-top:1.2rem}
.pay-req-form .btn{justify-self:start;margin-top:.2rem}
.pay-req-form .form-status{color:#f7931a;font-size:.9rem;min-height:1.2em}
.pay-warn{margin-top:1.4rem;padding:1rem 1.1rem;border-left:4px solid var(--orange);background:rgba(255,106,26,.08);font-size:.9rem;color:var(--paper);line-height:1.5}
.btn-disabled{opacity:.55;pointer-events:none}
@media (max-width:900px){.pay-steps,.pay-grid{grid-template-columns:1fr}}
/* ---------- form upgrade ---------- */
fieldset.field{border:0;padding:0;margin:0;min-width:0}
fieldset.field legend{font-size:.66rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--concrete);margin-bottom:.8rem;padding:0}
.chips{display:flex;flex-wrap:wrap;gap:.55rem}
.pick{position:relative;cursor:pointer}
.pick input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.pick span{display:inline-flex;align-items:center;min-height:44px;padding:0 1.05rem;border:1.5px solid rgba(233,228,216,.3);border-radius:999px 999px 999px 4px;font-size:.86rem;font-weight:800;transition:background-color .3s,color .3s,border-color .3s,transform .55s cubic-bezier(.34,1.56,.64,1),box-shadow .3s}
.pick:hover span{border-color:var(--fc);color:var(--fc)}
.pick input:checked+span{background:var(--fc);border-color:var(--fc);color:var(--ink);transform:rotate(-2.5deg) scale(1.07);box-shadow:0 0 22px -4px var(--fc)}
.pick input:focus-visible+span{outline:3px solid var(--acid);outline-offset:3px}
.ctl{position:relative;display:block}
.ctl input,.ctl select,.ctl textarea{width:100%;display:block}
.ln{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--fc);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease-out);box-shadow:0 0 12px var(--fc);pointer-events:none}
.ln::after{content:"";position:absolute;right:18%;top:2px;width:3px;height:0;border-radius:0 0 3px 3px;background:var(--fc);transition:height .8s .4s var(--ease-out)}
.field:focus-within .ln{transform:scaleX(1)}
.field:focus-within .ln::after{height:16px}
.field:focus-within>label{color:var(--fc)}
.field>label{transition:color .3s}
.enquiry{position:relative}
.enquiry.sending button[type=submit]{animation:rattle .5s}
@keyframes rattle{0%,100%{rotate:0deg}15%{rotate:-6deg}30%{rotate:5deg}45%{rotate:-4deg}60%{rotate:3deg}75%{rotate:-2deg}}
.form-status .tag{font-family:var(--f-hand);font-size:1.45rem;color:var(--yellow);display:inline-block;transform:rotate(-3deg);margin-right:.5rem}
.burst{position:absolute;width:0;height:0;pointer-events:none;z-index:6}
.burst b{position:absolute;left:0;top:0;border-radius:50%}
.burst s{position:absolute;left:-20px;top:-20px;width:40px;height:40px;border-radius:50%;border:2px solid var(--yellow)}

/* ---------- poster flight ---------- */
.fly{position:fixed;z-index:142;overflow:hidden;display:grid;place-items:center;pointer-events:none;will-change:left,top,width,height}
.fly>.poster-inner{flex:none;transform-origin:center}

/* ---------- service cards upgrade ---------- */
.svc{overflow:hidden;isolation:isolate}
.svc::before{display:none!important}
.svc:nth-child(1){--cs:rgba(255,225,0,.3)}.svc:nth-child(2){--cs:rgba(255,46,147,.26)}.svc:nth-child(3){--cs:rgba(46,107,255,.38)}.svc:nth-child(4){--cs:rgba(184,255,46,.27)}.svc:nth-child(5){--cs:rgba(233,228,216,.2)}.svc:nth-child(6){--cs:rgba(247,147,26,.32)}
.svc::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at var(--mx,85%) var(--my,8%),var(--cs) 0,transparent 70%);clip-path:circle(0% at var(--mx,85%) var(--my,8%));transition:clip-path .9s var(--ease-out)}
.svc:hover::after,.svc.lit::after,.svc:focus-within::after{clip-path:circle(150% at var(--mx,85%) var(--my,8%))}
.svc h3{transition:color .4s}
.svc:hover h3,.svc.lit h3{color:var(--c)}
.svc li{transition:transform .5s var(--ease-out)}
.svc li::before{transition:transform .65s cubic-bezier(.34,1.56,.64,1)}
.svc:hover li,.svc.lit li{transform:translateX(5px)}
.svc:hover li::before,.svc.lit li::before{transform:rotate(180deg) scale(1.4)}
.svc li:nth-child(2),.svc li:nth-child(2)::before{transition-delay:.07s}
.svc li:nth-child(3),.svc li:nth-child(3)::before{transition-delay:.14s}
.svc-go{display:inline-block}

/* ---------- pricing upgrade ---------- */
.deal-card .k{display:flex;align-items:center;gap:.5rem}
.watch{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;flex:none}
.deal-card .tape{top:-12px;left:40%}
.deal-card:hover .watch .hand{animation:tick 1.2s steps(12)}
@keyframes tick{to{transform:rotate(360deg)}}
.watch .hand{transform-origin:12px 13px;transform-box:view-box}

/* ---------- footer tag draw ---------- */
.foot-tag.ready path{stroke-dasharray:1;stroke-dashoffset:1}
.foot-tag.ready text{clip-path:inset(0 100% 0 0)}
.foot-tag.drawn .ft-crown{stroke-dashoffset:0;transition:stroke-dashoffset 1.1s var(--ease-out)}
.foot-tag.drawn text{clip-path:inset(0 0 0 0);transition:clip-path 1s .8s cubic-bezier(.45,0,.2,1)}
.foot-tag.drawn .ft-drip{stroke-dashoffset:0;transition:stroke-dashoffset .9s 1.7s var(--ease-out)}
@media (prefers-reduced-motion:reduce){.enquiry.sending button[type=submit]{animation:none}}
/* ---------- estimator ---------- */
.est{background:var(--ink);padding:clamp(6rem,10vw,9rem) var(--pad);border-top:1px dashed rgba(233,228,216,.14)}
.est-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.5rem 3rem;margin-bottom:clamp(2.5rem,5vw,4rem)}
.est-title{font-size:clamp(3.8rem,11vw,10rem)}
.est-title .o{color:transparent;-webkit-text-stroke:2px var(--orange)}
.est-head p{max-width:24rem;color:var(--paper-dim)}
.est-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.est-q{border:0;padding:0;margin:0 0 2.2rem;min-width:0}
.est-q legend,.est-q>label{display:block;font-size:.66rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--concrete);margin-bottom:.9rem;padding:0}
.est-q>label b{color:var(--yellow);font-size:1rem;letter-spacing:0;margin-left:.4rem}
.est-hint{font-size:.72rem;letter-spacing:.06em;text-transform:none;color:var(--paper-dim);margin-left:.6rem;font-weight:600}
.est-q input[type=range]{width:100%;accent-color:var(--yellow);height:30px}
.est-q[hidden]{display:none}
.est-talk{margin:0 0 2.2rem;padding:1.4rem 1.5rem 1.6rem;border:1.5px dashed rgba(233,228,216,.28);border-radius:4px 22px 22px 22px;background:rgba(255,255,255,.03)}.est-talk[hidden]{display:none}
.est-talk-k{font-size:.66rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--yellow);margin:0 0 .6rem}
.est-talk-t{color:var(--paper-dim);line-height:1.55;margin:0 0 1.2rem;max-width:34rem}
.est-card{position:sticky;top:6.5rem;background:var(--paper);color:var(--ink);padding:clamp(1.5rem,2.6vw,2.2rem);transform:rotate(-1deg);box-shadow:0 30px 50px -24px rgba(0,0,0,.95)}
.est-card .tape{top:-12px;left:40%;transform:rotate(-3deg)}
.est-card .k{display:block;font-size:.66rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;opacity:.7;margin-bottom:.6rem}
.est-card ul{list-style:none;display:grid;gap:.4rem;margin-bottom:1.6rem;font-weight:700;font-size:1rem}
.est-card li{display:flex;gap:.6rem;animation:estIn .45s var(--ease-out) both}
.est-card li::before{content:"";flex:none;width:.55em;height:.55em;margin-top:.45em;background:var(--orange);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%)}
@keyframes estIn{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
.est-card .big{display:block;font-size:clamp(3.2rem,6vw,5rem);line-height:.9;margin-bottom:.6rem}
.est-card .est-yearly{font-weight:800;font-size:1rem;margin:-.2rem 0 .9rem;color:#0a7fa0}
.est-card .est-yearly[hidden]{display:none}
.est-card p{font-size:.92rem;line-height:1.5;margin-bottom:1.4rem}
.est-card .btn{background:var(--ink);color:var(--paper)}
@media (max-width:900px){.est-grid{grid-template-columns:1fr}.est-card{position:static}}

/* ---------- blacklight mode ---------- */
.uv-tag{display:none;position:absolute;font-family:var(--f-hand);font-size:clamp(1.1rem,2vw,1.7rem);color:#d4ff00;text-shadow:0 0 6px #d4ff00,0 0 22px #d4ff00;pointer-events:none;z-index:4;white-space:nowrap}
.uv-tag.pk{color:#ff4fd8;text-shadow:0 0 6px #ff4fd8,0 0 22px #ff4fd8}
.uv-tag.bl{color:#4fe3ff;text-shadow:0 0 6px #4fe3ff,0 0 22px #4fe3ff}
html.uv .uv-tag{display:block!important;animation:uvFlick 3.2s infinite}
@keyframes uvFlick{0%,92%,100%{opacity:1}94%{opacity:.4}96%{opacity:.9}}
html.uv{--ink:#0c0018;--char:#160829;--char-2:#1d0c35}
html.uv body{background:#0c0018}
html.uv .display{text-shadow:0 0 18px rgba(212,255,0,.25),0 0 2px rgba(255,255,255,.4)}
html.uv .hero-title .l3,html.uv .finale .f3{text-shadow:0 0 14px var(--yellow),0 0 40px rgba(255,225,0,.6)}
html.uv .culture{background:#140826;color:#f3ecff}
html.uv .culture .kicker{color:#a99bc4}
html.uv .statement .s2{-webkit-text-stroke-color:#f3ecff}
html.uv .about-card{border-color:#f3ecff;background:rgba(255,255,255,.04)}
html.uv .culture .todo{color:#d4ff00;border-color:#d4ff00}
html.uv .art{filter:saturate(1.35) contrast(1.05)}
html.uv .fab a,html.uv .svc::before,html.uv .chip{box-shadow:0 0 18px currentColor}
.uv-toast{position:fixed;left:50%;bottom:calc(1.2rem + env(safe-area-inset-bottom,0px));z-index:170;transform:translate(-50%,calc(100% + 3rem));visibility:hidden;background:#160829;color:#d4ff00;border:1.5px solid #d4ff00;box-shadow:0 0 24px rgba(212,255,0,.5);padding:.7rem 1.1rem;border-radius:999px;font-size:.78rem;font-weight:800;letter-spacing:.08em;transition:transform .5s var(--ease-out);max-width:calc(100% - 2rem);text-align:center}
.uv-toast.show{transform:translate(-50%,0);visibility:visible}
.uv-toast{transition:transform .5s var(--ease-out),visibility 0s .5s}
.uv-toast.show{transition:transform .5s var(--ease-out),visibility 0s}
.foot-tag{pointer-events:auto!important;cursor:pointer}

/* ---------- scroll drip ---------- */
.drip-progress{position:fixed;top:0;right:0;width:4px;height:100%;z-index:90;pointer-events:none}
.drip-progress i{position:relative;display:block;width:100%;height:0;background:linear-gradient(var(--yellow),var(--orange));border-radius:0 0 3px 3px;box-shadow:0 0 10px rgba(255,225,0,.6)}
.drip-progress i::after{content:"";position:absolute;left:-2px;bottom:-6px;width:8px;height:9px;border-radius:50% 50% 50% 50%/40% 40% 60% 60%;background:var(--orange)}

/* ---------- first-visit intro ---------- */
.intro{position:fixed;inset:0;z-index:300;background:var(--ink);cursor:pointer;overflow:hidden}
.intro[hidden]{display:none}
@keyframes canShake{0%,100%{transform:rotate(0)}25%{transform:rotate(-14deg) translateY(-6px)}75%{transform:rotate(14deg) translateY(4px)}}
.intro-stage{position:absolute;left:50%;top:clamp(4.5rem,13vh,9rem);transform:translateX(-50%);font-size:clamp(2.8rem,11vw,8.5rem);max-width:96vw}
.intro-tag.l1{font-size:1em;color:var(--canc,var(--paper));text-shadow:.06em .06em 0 var(--cana,var(--pink)),0 0 30px color-mix(in srgb,var(--canc,#e9e4d8) 45%,transparent);margin-bottom:.05em}
.intro-tag{display:block;white-space:nowrap;font-family:var(--f-hand);font-size:1em;line-height:1;color:var(--yellow);text-shadow:.04em .04em 0 var(--pink),0 0 40px rgba(255,225,0,.45)}
.intro-tag .ch{display:inline-block;clip-path:inset(-30% 100% -30% 0)}
.intro-tag .sp{display:inline-block;width:.28em}
.can-wrap{position:absolute;left:0;top:0;width:clamp(54px,7vw,100px);transform:translate(-12%,-70%);pointer-events:none;z-index:3}
.intro-test{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.intro-piece{position:absolute;left:0;top:0;transform-origin:0 0;pointer-events:none;z-index:2}
.can-wrap svg{display:block;width:100%;height:auto;transform-origin:50% 50%}
.can-wrap.spraying svg{animation:canJit .1s linear infinite}
@keyframes canJit{50%{transform:translate(1px,-1.5px) rotate(1.5deg)}}
.mist{position:absolute;border-radius:50%;pointer-events:none;z-index:1}
.intro-skip{position:absolute;bottom:calc(1.4rem + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);font-size:.66rem;letter-spacing:.3em;font-weight:800;color:var(--concrete);text-transform:uppercase}
.intro.out{animation:introOut .38s cubic-bezier(.7,0,.84,0) forwards}
@keyframes introOut{to{clip-path:inset(0 0 100% 0)}}
/* ---------- crypto-ready ---------- */
.cready{background:radial-gradient(ellipse at 80% 30%,rgba(184,255,46,.12),transparent 55%),var(--ink);padding:clamp(6rem,10vw,9rem) var(--pad);border-top:1px dashed rgba(233,228,216,.14);overflow:hidden}
.cready-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2.5rem,6vw,5rem);align-items:center}
.cready-title{font-size:clamp(3.6rem,9.5vw,8.6rem);margin-bottom:1.6rem}
.cready-title .o{color:var(--acid);text-shadow:0 0 30px rgba(184,255,46,.35)}
.cready-lead{font-size:clamp(1.1rem,1.5vw,1.3rem);color:var(--paper);max-width:34rem;line-height:1.5;margin-bottom:1.6rem}
.cready-list{list-style:none;display:grid;gap:.7rem;margin-bottom:1.6rem;max-width:34rem}
.cready-list li{position:relative;padding-left:1.4rem;color:var(--paper-dim);line-height:1.45}
.cready-list li::before{content:"";position:absolute;left:0;top:.4em;width:.7em;height:.7em;background:var(--acid);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%)}
.cready-list b{color:var(--paper)}
.cready-note{font-size:.9rem;color:var(--concrete);max-width:34rem;margin-bottom:1.8rem}
.cready-note a{color:var(--paper);border-bottom:1px solid var(--pink)}
.cready-ctas{display:flex;flex-wrap:wrap;gap:1rem 1.6rem;align-items:center}
.cready-art{position:relative;min-height:26rem;padding-bottom:2.4rem;display:grid;place-items:center}
.cready-card{width:min(19rem,88%);padding:1.4rem;background:var(--char);border:1.5px solid rgba(184,255,46,.5);border-radius:14px;box-shadow:0 0 50px -14px rgba(184,255,46,.6),0 30px 50px -25px #000;transform:rotate(-4deg);display:grid;gap:.9rem}
.cc-k{font-size:.66rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--acid)}
.cc-coins{display:flex;gap:.5rem;flex-wrap:wrap}
.cc-coins span{font-size:.78rem;font-weight:800;padding:.35rem .7rem;border:1.5px solid rgba(184,255,46,.5);border-radius:99px}
.cc-qr{width:62%;justify-self:center;border-radius:6px;background:#fff;padding:4px;line-height:0;box-shadow:0 0 24px -8px rgba(184,255,46,.6)}
.cc-qr svg{width:100%;height:auto;display:block}
.cc-addr{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.8rem;background:#111;padding:.55rem .7rem;border-radius:4px;color:var(--paper)}
.cc-btn{justify-self:start;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;background:var(--acid);color:var(--ink);padding:.7rem 1.1rem;border-radius:20px 20px 20px 4px}
.cready-sticker{position:absolute;top:4%;right:2%;z-index:2;background:var(--yellow);color:var(--ink);font-family:var(--f-display);font-stretch:62%;font-weight:900;font-size:clamp(2.4rem,4vw,3.4rem);line-height:.9;padding:.6rem 1rem .7rem;transform:rotate(8deg);box-shadow:0 14px 26px -12px #000;text-align:center}
.cready-sticker small{display:block;font-family:var(--f-hand);font-weight:400;font-size:.95rem;letter-spacing:0;margin-top:.2rem}
.cready-hand{position:absolute;bottom:-.4rem;left:0;z-index:3;font-family:var(--f-hand);color:var(--acid);font-size:1.15rem;transform:rotate(-5deg)}
@media (max-width:900px){.cready-grid{grid-template-columns:1fr}.cready-art{min-height:22rem}}
/* ---------- is your website cool? quiz ---------- */
.quiz{background:var(--char-2);padding:clamp(6rem,10vw,9rem) var(--pad);overflow:hidden;position:relative}
.quiz::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='96'%3E%3Cg fill='none' stroke='%23000' stroke-opacity='.45' stroke-width='3'%3E%3Cpath d='M0 1.5h160M0 49.5h160M1.5 0v48M81.5 0v48M41.5 48v48M121.5 48v48'/%3E%3C/g%3E%3C/svg%3E")}
.quiz-grid{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2.5rem,6vw,5rem);align-items:center}
.quiz-title{font-size:clamp(3.2rem,7vw,7rem);margin-bottom:1.4rem}
.quiz-title .o{color:var(--yellow);text-shadow:.04em .04em 0 var(--pink)}
.quiz-head p{color:var(--paper-dim);max-width:24rem}
.quiz-head .hand{display:inline-block;margin-top:1.2rem;font-family:var(--f-hand);color:var(--acid);font-size:1.15rem;transform:rotate(-3deg)}
.quiz-stage{position:relative;min-height:26rem}
.quiz-card{position:relative;background:var(--paper);color:var(--ink);padding:clamp(1.5rem,3vw,2.4rem);box-shadow:0 30px 50px -24px rgba(0,0,0,.95);transform:rotate(-1deg)}
.quiz-card::before,.quiz-card::after{content:"";position:absolute;top:-12px;width:86px;height:26px;background:rgba(233,224,196,.8);clip-path:polygon(2% 8%,10% 0,22% 6%,35% 0,50% 5%,64% 0,78% 6%,90% 0,100% 6%,97% 50%,100% 94%,88% 100%,74% 94%,60% 100%,46% 95%,32% 100%,18% 94%,6% 100%,0 92%,3% 50%)}
.quiz-card::before{left:10%;transform:rotate(-6deg)}.quiz-card::after{right:10%;transform:rotate(5deg)}
.quiz-card.slap{animation:quizSlap .55s cubic-bezier(.34,1.56,.64,1)}
@keyframes quizSlap{0%{opacity:0;transform:rotate(6deg) scale(1.12) translateY(-20px)}100%{opacity:1;transform:rotate(-1deg) scale(1)}}
.q-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.9rem}
.q-count{font-size:.68rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:#6b6862}
.q-back{font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;min-height:40px;color:#6b6862}
.q-back:hover{color:var(--ink)}
.q-bar{height:6px;background:rgba(10,10,9,.12);border-radius:3px;margin-bottom:1.4rem;overflow:hidden}
.q-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--yellow),var(--pink));border-radius:3px;transition:width .5s var(--ease-out)}
.q-text{font-family:var(--f-display);font-stretch:62%;font-weight:900;text-transform:uppercase;font-size:clamp(2rem,3.8vw,3.2rem);line-height:.92;margin-bottom:1.4rem}
.q-opts{display:grid;gap:.6rem}
.q-opt{display:flex;align-items:center;gap:.8rem;width:100%;text-align:left;min-height:54px;padding:.7rem 1.1rem;border:2px solid var(--ink);border-radius:27px 27px 27px 5px;font-weight:800;font-size:1rem;color:var(--ink);background:transparent;transition:background-color .25s,transform .45s cubic-bezier(.34,1.56,.64,1)}
.q-opt::before{content:"";flex:none;width:12px;height:12px;border-radius:50%;background:var(--oc)}
.q-opt:hover,.q-opt:focus-visible{background:var(--oc);transform:rotate(-1.2deg) scale(1.02)}
.q-opt.picked{background:var(--oc)}
.q-result{text-align:left}
.q-stamp{display:inline-block;font-family:var(--f-display);font-stretch:62%;font-weight:900;text-transform:uppercase;font-size:clamp(2.8rem,6vw,4.8rem);line-height:.86;padding:.4rem .9rem .5rem;border:5px solid currentColor;color:var(--gc);transform:rotate(-5deg);margin:.4rem 0 1rem;text-shadow:0 0 0 transparent;background:rgba(10,10,9,.04)}
.q-result.go .q-stamp{animation:stampIn .6s cubic-bezier(.34,1.56,.64,1)}
@keyframes stampIn{0%{opacity:0;transform:rotate(-18deg) scale(2.2)}70%{opacity:1}100%{transform:rotate(-5deg) scale(1)}}
.q-score{font-weight:800;font-size:1.05rem;margin-bottom:1rem}
.q-tips{list-style:none;display:grid;gap:.6rem;margin:0 0 1.4rem}
.q-tips li{position:relative;padding-left:1.4rem;line-height:1.45;font-size:.95rem;color:#2e2d2a}
.q-tips li::before{content:"";position:absolute;left:0;top:.35em;width:.75em;height:.75em;background:var(--pink);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%)}
.q-tips b{color:var(--ink)}
.q-actions{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;align-items:center}
.q-actions .btn-link{color:var(--ink)}
.q-site{display:grid;gap:.45rem;margin:0 0 1.2rem;padding:1rem 1.1rem 1.1rem;border:2px dashed var(--ink);border-radius:18px 18px 18px 4px;background:rgba(184,255,46,.18)}
.q-site label{font-weight:800;font-size:.92rem;color:var(--ink);line-height:1.35}
.q-site input{width:100%;min-height:50px;padding:0 1rem;border:2px solid var(--ink);border-radius:25px 25px 25px 4px;background:#fff;color:var(--ink);font:inherit;font-size:1rem;font-weight:600}
.q-site input::placeholder{color:#8c8a85;font-weight:500}
.q-site input:focus{outline:3px solid var(--pink);outline-offset:2px}
.q-site-hint{font-size:.82rem;font-weight:700;color:#c4006a;min-height:1em}
.q-site-hint:empty{display:none}

@media (max-width:900px){.quiz-grid{grid-template-columns:1fr}.quiz-stage{min-height:0}}
@media (prefers-reduced-motion:reduce){.quiz-card.slap,.q-result.go .q-stamp{animation:none}}
/* ---------- wildstyle background layers ---------- */
.services,.est,.faq{position:relative;overflow:hidden;overflow:clip;isolation:isolate}
.ws-bg{position:absolute;z-index:-1;pointer-events:none;width:min(1500px,130vw);aspect-ratio:1000/420;opacity:.09}
.ws-bg svg{width:100%;height:100%;display:block}
.ws-bg .o{stroke:var(--ws,#e9e4d8);stroke-width:46}
.ws-bg .i{stroke:var(--ink);stroke-width:30}
.ws-bg .h path{fill:var(--ws,#e9e4d8)}
.ws-a{top:8%;right:-22%;transform:rotate(-8deg);--ws:var(--yellow)}
.ws-b{bottom:-4%;left:-18%;transform:rotate(6deg);--ws:var(--orange);opacity:.08}
.ws-c{top:30%;right:-25%;transform:rotate(-4deg) scaleX(-1);--ws:var(--blue);opacity:.13}
@media (max-width:900px){.ws-bg{width:240vw;opacity:.07}}
html.uv .ws-bg{opacity:.22}
/* ---------- smooth scroll (Lenis) ---------- */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
/* ---------- page transitions ---------- */
.pt-cover{position:fixed;inset:0;z-index:400;pointer-events:none;display:grid;place-items:center;visibility:hidden}
.pt-cover .pt-paint,.pt-cover .pt-ink{position:absolute;inset:0;clip-path:inset(100% 0 0 0)}
.pt-cover .pt-paint{background:var(--yellow)}
.pt-cover .pt-ink{background:var(--ink)}
.pt-cover .pt-tag{position:relative;z-index:2;width:min(220px,46vw);opacity:0;transform:rotate(-6deg) scale(.8)}
.pt-cover .pt-tag svg{width:100%;height:auto;display:block}
.pt-cover.in,.pt-cover.out,.pt-cover.hold{visibility:visible;pointer-events:auto}
.pt-cover.in .pt-paint{animation:ptUp .42s cubic-bezier(.7,0,.3,1) forwards}
.pt-cover.in .pt-ink{animation:ptUp .42s .09s cubic-bezier(.7,0,.3,1) forwards}
.pt-cover.in .pt-tag{animation:ptTag .35s .3s cubic-bezier(.34,1.56,.64,1) forwards}
.pt-cover.hold .pt-paint,.pt-cover.hold .pt-ink{clip-path:inset(0)}
.pt-cover.hold .pt-tag{opacity:1;transform:rotate(-6deg) scale(1)}
.pt-cover.out .pt-paint,.pt-cover.out .pt-ink{clip-path:inset(0)}
.pt-cover.out .pt-ink{animation:ptAway .5s .12s cubic-bezier(.7,0,.3,1) forwards}
.pt-cover.out .pt-paint{animation:ptAway .5s .22s cubic-bezier(.7,0,.3,1) forwards}
.pt-cover.out .pt-tag{opacity:1;animation:ptTagOut .25s forwards}
@keyframes ptUp{to{clip-path:inset(0 0 0 0)}}
@keyframes ptAway{from{clip-path:inset(0 0 0 0)}to{clip-path:inset(0 0 100% 0)}}
@keyframes ptTag{to{opacity:1;transform:rotate(-6deg) scale(1)}}
@keyframes ptTagOut{to{opacity:0;transform:rotate(-6deg) scale(1.15)}}
html.pt-in body::before{content:"";position:fixed;inset:0;z-index:399;background:var(--ink)}
/* ---------- day / night wall ---------- */
.tod-layer{position:fixed;inset:0;z-index:95;pointer-events:none;transition:background 1.5s}
html.tod-day .tod-layer{background:radial-gradient(ellipse 75% 60% at 90% -10%,rgba(255,240,205,.16),transparent 72%),linear-gradient(200deg,rgba(255,244,220,.05),rgba(255,244,220,.02) 60%,transparent)}
html.tod-golden .tod-layer{background:radial-gradient(ellipse 90% 70% at 95% 0%,rgba(255,140,50,.2),transparent 72%),linear-gradient(180deg,rgba(255,80,110,.08),rgba(255,120,60,.03) 55%,transparent)}
html.tod-night .tod-layer{background:radial-gradient(ellipse 110% 90% at 50% 45%,transparent 40%,rgba(0,0,14,.62) 100%),linear-gradient(rgba(10,14,40,.18),rgba(10,14,40,.18))}
.tod-lamp{display:none;position:absolute;top:-6vh;width:46vw;height:100vh;background:radial-gradient(ellipse 45% 70% at 50% 0%,rgba(255,196,110,.18),rgba(255,180,90,.08) 55%,transparent 75%)}
.tod-lamp.l1{left:-8vw}.tod-lamp.l2{right:-8vw;animation-delay:-5s!important}
html.tod-night .tod-lamp{display:block;animation:lampFlicker 11s infinite}
@keyframes lampFlicker{0%,90%,100%{opacity:1}91%{opacity:.3}92%{opacity:1}94%{opacity:.45}95%{opacity:1}}
html.tod-night .logo-tag{filter:drop-shadow(0 0 10px rgba(255,225,0,.45))}
html.tod-night .wfx{text-shadow:0 0 .3em currentColor}
.tod-tag{display:inline-flex;align-items:center;gap:.45rem;margin-left:.8rem;white-space:nowrap}
.tod-tag::before{content:"";width:8px;height:8px;border-radius:50%;background:#ffe9a8;box-shadow:0 0 8px #ffe9a8}
html.tod-golden .tod-tag::before{background:#ff8c3c;box-shadow:0 0 8px #ff8c3c}
html.tod-night .tod-tag::before{background:#9db4ff;box-shadow:0 0 8px #9db4ff}
@media (max-width:600px){.tod-tag{display:flex;margin:.3rem 0 0}}
@media (prefers-reduced-motion:reduce){.tod-lamp{animation:none!important}}

/* ---------- stencils ---------- */
.step-num{color:rgba(233,228,216,.07);-webkit-text-stroke:0;filter:url(#rough);
  -webkit-mask-image:linear-gradient(180deg,#000 0 47%,transparent 47% 53%,#000 53% 100%);mask-image:linear-gradient(180deg,#000 0 47%,transparent 47% 53%,#000 53% 100%)}
.step-num .fill{filter:drop-shadow(0 0 .018em var(--sc,var(--blue)))}
.step-num::after{content:"";position:absolute;inset:-6% -4%;pointer-events:none;background:radial-gradient(ellipse at 40% 55%,var(--sc,var(--blue)),transparent 62%);opacity:.08;filter:blur(18px);z-index:-1}
.stencil-ic{position:absolute;top:14px;right:14px;width:46px;height:46px;color:var(--c);filter:drop-shadow(0 0 5px var(--c)) drop-shadow(0 0 1px var(--c));transform:rotate(-6deg);transition:transform .6s cubic-bezier(.34,1.56,.64,1)}
.stencil-ic *{fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter}
.stencil-ic .f{fill:currentColor;stroke:none}
.svc:hover .stencil-ic,.svc.lit .stencil-ic{transform:rotate(6deg) scale(1.12)}
.svc h3{padding-right:52px}
/* ---------- hidden stencils ---------- */
.deal,.quiz-stage,.faq,.contact{position:relative}
.hs{position:absolute;z-index:2;display:flex;align-items:center;gap:.45rem;color:var(--paper);opacity:.13;cursor:pointer;transform:rotate(var(--hr,-6deg));transition:opacity .4s,color .4s,transform .5s cubic-bezier(.34,1.56,.64,1),filter .4s;filter:url(#rough);user-select:none;-webkit-tap-highlight-color:transparent}
.hs svg{width:34px;height:34px;flex:none}
.hs svg *{fill:none;stroke:currentColor;stroke-width:4.5;stroke-linecap:butt}
.hs svg .f{fill:currentColor;stroke:none}
.hs b{font-family:var(--f-display);font-stretch:62%;font-weight:900;font-size:1.25rem;letter-spacing:.04em;line-height:1;-webkit-mask-image:linear-gradient(180deg,#000 0 46%,transparent 46% 56%,#000 56%);mask-image:linear-gradient(180deg,#000 0 46%,transparent 46% 56%,#000 56%)}
.hs:hover,.hs.found{opacity:1;color:var(--hc);transform:rotate(var(--hr,-6deg)) scale(1.12);filter:url(#rough) drop-shadow(0 0 6px var(--hc))}
.hs1{top:4.6rem;right:var(--pad);--hr:5deg}
.hs2{right:-1.2rem;bottom:-2.4rem;--hr:7deg;z-index:0}
.hs3{top:2.2rem;right:var(--pad);--hr:4deg}
.hs4{bottom:1.6rem;left:var(--pad);--hr:-3deg}
.hs5{left:var(--pad);bottom:2.2rem;--hr:-8deg}
html.uv .hs{opacity:.5}
@media (max-width:900px){.hs1{top:3.6rem}.hs2{right:.4rem;bottom:-2.6rem}.hs5{bottom:1.2rem}}
/* section heads wrap instead of squeezing the side text into a tall column */
.sec-head{flex-wrap:wrap}
.work-aside,.svc-intro{min-width:min(18rem,100%)}
/* longer hero eyebrow: tighter so it stays on one line (desktop) / two lines (phones) */
.hero .eyebrow{letter-spacing:.2em;line-height:1.5;color:#ff4545;margin-bottom:.7rem;text-shadow:0 0 12px rgba(255,69,69,.45)}
.hero .eyebrow::before{background:#ff4545}
/* services line: bigger, with a dash before the first word and after the last */
.hero .eyebrow{display:block!important;font-size:.9rem;max-width:34rem}
.hero .eyebrow::before,.hero .eyebrow .eb-end i{content:"";display:inline-block;vertical-align:.32em;width:28px;height:2px;background:#ff4545;box-shadow:0 0 8px rgba(255,69,69,.6)}
.hero .eyebrow::before{margin-right:.8rem}
.hero .eyebrow .eb-end{white-space:nowrap}
.hero .eyebrow .eb-end i{margin-left:.8rem}
@media (max-width:900px){.hero .eyebrow{font-size:.72rem!important;letter-spacing:.12em!important}.hero .eyebrow::before,.hero .eyebrow .eb-end i{width:20px}}
/* services line: one line, full page width, centred (scrolls on narrow screens) */
.eb-band{position:relative;width:100vw;margin:0 0 1.1rem calc(-1 * var(--pad));padding:.55rem 0;overflow:hidden;background:rgba(10,10,9,.62);border-top:1px solid rgba(255,69,69,.35);border-bottom:1px solid rgba(255,69,69,.35);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.hero .eb-band .eyebrow{display:block!important;max-width:none!important;margin:0!important;font-size:clamp(.72rem,.95vw,.95rem)!important;letter-spacing:.2em!important;line-height:1.3;white-space:nowrap;text-align:center}
.hero .eb-band .eyebrow::before{content:none!important}
.eb-track{display:inline-flex}
.eb-item{display:inline-flex;align-items:center;gap:.9rem;padding:0 1.6rem}
.eb-item+.eb-item{display:none}
.eb-item .d{display:inline-block;width:32px;height:2px;background:#ff4545;box-shadow:0 0 8px rgba(255,69,69,.6);flex:none}
@media (max-width:1100px){
  .hero .eb-band .eyebrow{text-align:left}
  .eb-item+.eb-item{display:inline-flex}
  .eb-track{animation:ebMarq 22s linear infinite}
}
@keyframes ebMarq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.eb-track{animation:none}}
/* hero: quote first */
.btn-quote{background:var(--yellow);color:var(--ink)}
.btn-quote::before{background:var(--acid)!important}
.ctas-break{flex-basis:100%;height:0}
@media (min-width:901px){.hero-title{margin-bottom:1.2rem;font-size:clamp(4.4rem,min(12.4vw,17vh),13.5rem)}.hero-sub{margin-bottom:1.1rem}.hero-copy{padding-top:calc(5.5rem + env(safe-area-inset-top,0px));padding-bottom:3rem}.hero-proof{margin-top:1.1rem}}
.hero-wa{min-height:60px;padding:0 1.8rem;font-size:.86rem}
.hero-wa .wa-ic{width:24px;height:24px}
@media (max-width:900px){
  .ctas{gap:.6rem}
  .hero-wa{width:100%;justify-content:center}
  .ctas .btn:not(.hero-wa){flex:1 1 0;justify-content:center;padding:0 .7rem;font-size:.68rem;letter-spacing:.08em;min-height:52px}
  .ctas .btn:not(.hero-wa) svg{display:none}
}
/* ---------- review fixes ---------- */
.hero-proof{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem .6rem;margin-top:1.6rem;max-width:34rem}
.hero-proof li{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--paper-dim);padding:.4rem .75rem;border:1px solid rgba(233,228,216,.22);border-radius:99px;background:rgba(10,10,9,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.hero-proof b{font-weight:800;color:var(--paper)}
.hero-proof li:first-child{border-color:var(--yellow)}.hero-proof li:first-child b{color:var(--yellow)}
.why{background:var(--ink);padding:clamp(3rem,5vw,4.5rem) var(--pad) clamp(2.5rem,4vw,3.5rem);border-top:1px dashed rgba(233,228,216,.14)}
.why-head{margin-bottom:clamp(2.2rem,4vw,3.4rem)}
.why-head .kicker{margin-bottom:1rem}
.why-title{font-size:clamp(3.4rem,8vw,7rem)}
.why-title .o{color:transparent;-webkit-text-stroke:2px var(--acid)}
.why-lead{max-width:34rem;margin-top:1.2rem;color:var(--paper-dim);font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.55}
.why-grid{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.8rem,1.6vw,1.4rem)}
.why-grid li{position:relative;padding:1.4rem 1.2rem 1.5rem;border:1px solid #2c2c2a;border-top:4px solid var(--c);background:var(--char);display:grid;gap:.6rem;align-content:start;transition:transform .5s cubic-bezier(.34,1.56,.64,1),border-color .3s}
.why-grid li:hover{transform:translateY(-4px) rotate(-.8deg);border-color:var(--c)}
.why-grid b{font-family:var(--f-display);font-stretch:62%;font-weight:900;text-transform:uppercase;font-size:clamp(1.7rem,2.3vw,2.2rem);line-height:.92;color:var(--c)}
/* equal tiles: every row the same height, headings take the same space so the text lines up */
.why-grid{grid-auto-rows:1fr}
.why-grid li{grid-template-rows:auto 1fr}
.why-grid b{min-height:1.84em;display:flex;align-items:flex-end}
@media (max-width:560px){.why-grid{grid-auto-rows:auto}.why-grid b{min-height:0}}
.why-grid span{color:var(--paper-dim);font-size:.93rem;line-height:1.5}
@media (max-width:1100px){.why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.why-grid{grid-template-columns:1fr}}
@media (max-width:900px){.foot ul a{display:inline-block;padding:.7rem 0}}
/* ---------- live hover previews on the wall ---------- */
.poster-art .pp{position:absolute;inset:0;z-index:2;overflow:hidden;background:#fff;opacity:0;transition:opacity .45s var(--ease-out);pointer-events:none}
.poster.pp-on .poster-art .pp.ready{opacity:1}
.poster-art .pp iframe{position:absolute;left:0;top:0;border:0;transform-origin:0 0;pointer-events:none}
.poster.pp-on .poster-art .pp.ready iframe{animation:ppScroll var(--pp-dur,10s) ease-in-out .6s infinite alternate}
.poster:not(.pp-on) .poster-art .pp iframe{animation-play-state:paused}
@keyframes ppScroll{from{transform:translateY(0) scale(var(--pp-s,1))}to{transform:translateY(var(--pp-y,0)) scale(var(--pp-s,1))}}
.poster-art .pp-badge{position:absolute;top:.7rem;left:.7rem;z-index:3;display:flex;align-items:center;gap:.4rem;font-size:.6rem;font-weight:800;letter-spacing:.2em;padding:.35rem .6rem;border-radius:99px;background:rgba(10,10,9,.85);color:var(--acid);opacity:0;transition:opacity .3s}
.poster-art .pp-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--acid);box-shadow:0 0 8px var(--acid)}
.poster.pp-on .poster-art .pp.ready ~ .pp-badge{opacity:1}
.poster[data-live] .poster-art::after{content:"hover for a live peek";position:absolute;right:.6rem;bottom:.6rem;z-index:1;font-family:var(--f-hand);font-size:.95rem;color:var(--paper);background:rgba(10,10,9,.75);padding:.2rem .6rem;transform:rotate(-3deg);transition:opacity .3s;pointer-events:none}
.poster.pp-on .poster-art::after{opacity:0}
@media (hover:none),(pointer:coarse){.poster[data-live] .poster-art::after{display:none}}
@media (prefers-reduced-motion:reduce){.poster.pp-on .poster-art .pp.ready iframe{animation:none}}
/* secret wall page */
.page-body .mark{width:100vw;margin-left:calc(50% - 50vw);height:72vh;height:72svh;min-height:30rem;margin-top:.5rem}
.page-body .mark .mark-ui h2{font-size:clamp(2rem,5vw,4rem)}
/* WhatsApp ticker under "The short version" */
.wa-strip{display:block;background:var(--acid);color:var(--ink);margin:clamp(4rem,6vw,5rem) calc(-1 * var(--pad)) 0;transform:rotate(1.4deg) scale(1.04);cursor:pointer;transition:background-color .3s}
.wa-strip .strip-track{animation-direction:reverse;animation-duration:26s}
.wa-strip .strip-track span{gap:1.4rem}
.wa-strip .strip-track span svg{width:.9em;height:.9em;flex:none}
.wa-strip .strip-track span::after{background:var(--ink)}
.wa-strip:hover,.wa-strip:focus-visible{background:var(--yellow)}
.wa-strip:hover .strip-track{animation-play-state:paused}
/* graffiti tags naming everything in the quote builder */
.svc-tags{margin:clamp(3rem,6vw,4.5rem) var(--pad) 0;padding-top:2rem;border-top:1px dashed rgba(233,228,216,.14)}
.svc-tags-k{font-size:.66rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--concrete);margin-bottom:1.2rem}
.svc-tags ul{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:1.15rem 1.6rem;margin-bottom:1.8rem;max-width:72rem}
.svc-tags li{flex:none;white-space:nowrap;font-family:var(--f-hand);font-size:clamp(1.05rem,1.7vw,1.5rem);line-height:1.15;color:var(--tc);transform:rotate(var(--tr));text-shadow:0 0 10px color-mix(in srgb,var(--tc) 45%,transparent);transition:transform .45s cubic-bezier(.34,1.56,.64,1)}
.svc-tags li:hover{transform:rotate(calc(var(--tr) * -1)) scale(1.08)}
.svc-tags li a{color:inherit;text-decoration:none;border-bottom:1px dashed transparent;transition:border-color .2s}
.svc-tags li a:hover,.svc-tags li a:focus-visible{border-bottom-color:currentColor}
#est-form .pick.flash span{animation:pickFlash 1.4s ease-out 2}
@keyframes pickFlash{0%,100%{box-shadow:0 0 0 0 transparent}40%{box-shadow:0 0 0 6px color-mix(in srgb,var(--fc) 55%,transparent),0 0 26px var(--fc)}}
.svc-tags .btn-link{color:var(--paper)}
@media (max-width:600px){.svc-tags ul{gap:.75rem 1rem}.svc-tags li{font-size:1.02rem}}
/* ---------- graffiti tag explainer ---------- */
.svc-tags-k span{letter-spacing:.1em;text-transform:none;font-weight:600;color:var(--paper-dim)}
.svc-tags .tag-btn{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;border-bottom:1px dashed transparent;transition:border-color .2s}
.svc-tags .tag-btn:hover,.svc-tags .tag-btn:focus-visible{border-bottom-color:currentColor}
.tag-dialog{margin:auto;inset:0;border:0;padding:0;background:transparent;max-width:min(34rem,92vw);width:100%;color:var(--paper);overflow:visible}
.tag-dialog::backdrop{background:rgba(10,10,9,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.tag-dialog[open]{animation:tdIn .5s cubic-bezier(.34,1.56,.64,1)}
@keyframes tdIn{from{opacity:0;transform:rotate(4deg) scale(.85) translateY(30px)}to{opacity:1;transform:none}}
.td-card{position:relative;background:var(--char);border:1px solid #2c2c2a;border-top:5px solid var(--tc,var(--yellow));padding:clamp(1.6rem,4vw,2.4rem);box-shadow:0 40px 80px -30px #000,0 0 60px -20px var(--tc,var(--yellow));transform:rotate(-1deg);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='72'%3E%3Cg fill='none' stroke='%23000' stroke-opacity='.35' stroke-width='2'%3E%3Cpath d='M0 1h120M0 37h120M1 0v36M61 0v36M31 36v36M91 36v36'/%3E%3C/g%3E%3C/svg%3E")}
.td-x{position:absolute;top:.6rem;right:.6rem;width:44px;height:44px;border-radius:50%;color:var(--paper-dim);font-size:1.1rem}
.td-x:hover{color:var(--paper);background:rgba(255,255,255,.06)}
.td-kind{display:inline-block;font-size:.62rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;padding:.3rem .65rem;border:1.5px solid var(--tc,var(--yellow));color:var(--tc,var(--yellow));border-radius:99px;margin-bottom:1rem}
.td-stage{position:relative;min-height:4.2rem;margin-bottom:1.6rem}
.td-title{position:relative;display:inline-block;font-family:var(--f-hand);font-weight:400;font-size:clamp(2.1rem,7vw,3.2rem);line-height:1.05;color:var(--tc,var(--yellow));text-shadow:.04em .04em 0 rgba(0,0,0,.6),0 0 24px color-mix(in srgb,var(--tc,var(--yellow)) 50%,transparent);transform:rotate(-2deg)}
.td-drip{position:absolute;top:88%;width:4px;border-radius:0 0 3px 3px;background:var(--tc,var(--yellow));height:0;transition:height 1.2s cubic-bezier(.3,.7,.3,1)}
.td-drip::after{content:"";position:absolute;left:-2px;bottom:-5px;width:8px;height:9px;border-radius:50%;background:inherit}
.td-can{--gcol:var(--tc,#ffe100)}
.td-can{position:absolute;left:0;top:0;width:44px;pointer-events:none;opacity:0;z-index:2}
.td-can svg{width:100%;height:auto;display:block}
.td-mist{position:absolute;border-radius:50%;pointer-events:none;z-index:1}
.td-text{color:var(--paper-dim);font-size:1.02rem;line-height:1.6;margin-bottom:1.6rem}
.td-actions{display:flex;flex-wrap:wrap;gap:1rem 1.4rem;align-items:center}
.td-ask{color:var(--paper)}
.td-refresh{min-height:48px;padding:0 1.3rem;background:#ff6ad5;color:#0a0a09;border:2px solid #0a0a09;border-radius:99px;box-shadow:3px 3px 0 #0a0a09;gap:.5rem}.td-refresh[hidden]{display:none}.td-refresh small{font-size:.68rem;letter-spacing:.1em;opacity:.8}.td-refresh:active{translate:2px 2px;box-shadow:1px 1px 0 #0a0a09}
/* (i) info buttons on quote options */
#est-form .pick{position:relative}
#est-form .pick .info-i{position:absolute;top:-7px;right:-7px;z-index:2;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font:italic 800 .72rem/1 Georgia,serif;color:var(--ink);background:var(--fc,var(--paper));border:2px solid var(--ink);box-shadow:0 0 8px color-mix(in srgb,var(--fc,var(--paper)) 60%,transparent);transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
#est-form .pick .info-i::after{content:"";position:absolute;inset:-11px}
#est-form .pick .info-i:hover,#est-form .pick .info-i:focus-visible{transform:scale(1.2) rotate(-8deg)}
#est-form .chips{padding-top:6px;row-gap:.85rem}
.td-price{display:none;font-family:var(--f-display);font-stretch:62%;font-weight:900;text-transform:uppercase;font-size:clamp(1.8rem,5vw,2.6rem);line-height:1;color:var(--paper);margin:-.4rem 0 1rem}
.td-price.on{display:block}
.td-price small{display:block;font-family:var(--f-body,inherit);font-stretch:100%;font-weight:600;text-transform:none;font-size:.85rem;color:var(--paper-dim);margin-top:.35rem;letter-spacing:0}
.td-add[disabled]{opacity:.55;cursor:default;animation:none}
/* ---------- stencil being sprayed: every day's a cool day ---------- */
.stencil-wrap{position:relative;display:flex;justify-content:center;padding:clamp(3rem,6vw,5rem) var(--pad) 0}
.stencil{position:relative;display:inline-flex;align-items:center;gap:.5em;padding:1.1em 1.4em;background:#cfc8b8;border:2px solid #b3ab98;border-radius:4px;transform:rotate(-1.5deg);box-shadow:0 18px 40px -20px rgba(0,0,0,.6),inset 0 0 40px rgba(0,0,0,.12);font-size:clamp(1.5rem,5vw,3.6rem);max-width:100%}
.st-tape{position:absolute;width:90px;height:26px;background:rgba(233,224,196,.85);top:-12px;clip-path:polygon(2% 8%,10% 0,22% 6%,35% 0,50% 5%,64% 0,78% 6%,90% 0,100% 6%,97% 50%,100% 94%,88% 100%,74% 94%,60% 100%,46% 95%,32% 100%,18% 94%,6% 100%,0 92%,3% 50%)}
.st-t1{left:8%;transform:rotate(-6deg)}.st-t2{right:8%;transform:rotate(5deg)}
.st-text{font-family:var(--f-display);font-stretch:62%;font-weight:900;letter-spacing:.04em;line-height:1;white-space:nowrap;color:transparent;
  background:linear-gradient(90deg,var(--c1,#1f4dff) 0,var(--c2,#d4007a) calc(var(--p,0%) * .6),var(--c3,#7a2bff) var(--p,0%),var(--hole,#2c2a26) var(--p,0%),var(--hole,#2c2a26) 100%);-webkit-background-clip:text;background-clip:text;;filter:url(#rough) drop-shadow(0 0 .06em rgba(122,43,255,var(--glow,0)))}
.st-emoji{font-size:.95em;line-height:1;opacity:0;transform:scale(.3) rotate(-20deg)}
.stencil.done .st-emoji{animation:stEmoji .6s cubic-bezier(.34,1.56,.64,1) forwards}
@keyframes stEmoji{to{opacity:1;transform:none}}
.stencil{--gcol:#7a2bff}
.st-can{position:absolute;left:0;top:0;width:clamp(40px,6vw,64px);pointer-events:none;opacity:0;z-index:3}
.st-can svg{width:100%;height:auto;display:block}
.st-mist{position:absolute;border-radius:50%;pointer-events:none;z-index:2}
@media (max-width:600px){.stencil{font-size:clamp(1.2rem,6.4vw,1.8rem);padding:.9em 1em}}
/* footer signature: sprayed through a stencil, then the stencil lifts away */
.foot-sig{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;padding:.6rem 0 .4rem}
.foot-sig-link{display:flex;flex-direction:column;align-items:flex-start;align-self:stretch;max-width:100%;cursor:pointer;text-decoration:none}
.foot-sig-link .stencil{transition:transform .45s cubic-bezier(.34,1.56,.64,1),background-color .7s ease,border-color .7s ease,box-shadow .7s ease}
.foot-sig-link:hover .stencil.lifted,.foot-sig-link:focus-visible .stencil.lifted{transform:rotate(-2.5deg) scale(1.04)}
.foot-sig-link:hover .stencil.lifted .st-text{filter:url(#rough) drop-shadow(0 0 .2em rgba(184,255,46,.8))}
.foot-sig-k{display:inline-block;font-family:var(--f-hand);font-size:clamp(1.15rem,2vw,1.45rem);color:var(--yellow);text-shadow:0 0 14px rgba(255,225,0,.65);transform:rotate(-3deg);margin:0 0 .5rem .3rem;animation:sigNudge 2.4s ease-in-out infinite}
@keyframes sigNudge{0%,100%{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(-1deg) translateY(-3px)}}
@media (prefers-reduced-motion:reduce){.foot-sig-k{animation:none}}
.stencil-foot{font-size:clamp(1.15rem,3.2vw,2.3rem);transform:rotate(-1deg);transition:background-color .7s ease,border-color .7s ease,box-shadow .7s ease}
.stencil.stencil-foot{--gcol:#b8ff2e}
.stencil-foot .st-text{--c1:#b8ff2e;--c2:#b8ff2e;--c3:#b8ff2e}
.stencil-foot.lifted{background-color:transparent;border-color:transparent;box-shadow:none}
.stencil-foot.lifted .st-tape{animation:tapeOff .6s ease-in forwards}
.stencil-foot.lifted .st-text{filter:url(#rough) drop-shadow(0 0 .12em rgba(184,255,46,.6))}
@keyframes tapeOff{to{opacity:0;transform:translateY(-24px) rotate(-18deg)}}
/* ---------- spray-can sound toggle ---------- */
.snd-btn{margin-left:auto;width:42px;height:42px;flex:none;border-radius:50%;display:grid;place-items:center;color:var(--paper-dim);border:1.5px solid rgba(233,228,216,.3);transition:color .3s,border-color .3s,box-shadow .3s,transform .45s cubic-bezier(.34,1.56,.64,1)}
.snd-btn svg{width:20px;height:20px}
.snd-btn .snd-waves{display:none}
.snd-btn:hover{transform:rotate(-8deg) scale(1.08);color:var(--paper)}
html.sound-on .snd-btn{color:var(--ink);background:var(--yellow);border-color:var(--yellow);box-shadow:0 0 16px rgba(255,225,0,.6)}
html.sound-on .snd-btn .snd-waves{display:inline}
html.sound-on .snd-btn .snd-x{display:none}
/* "WhatsApp this quote": neon grey ring round the icon */
#est-wa .wa-ic{box-sizing:content-box;width:20px;height:20px;padding:4px;border-radius:50%;border:2px solid #dcdcdc;box-shadow:0 0 6px rgba(230,230,230,.95),0 0 14px rgba(200,200,200,.7),inset 0 0 6px rgba(230,230,230,.6)}
/* ---------- IMPACT: letters slam in, then it keeps hitting ---------- */
.impact{display:inline-block;position:relative;color:var(--yellow);-webkit-text-stroke:0;text-shadow:.04em .04em 0 var(--pink)}
.impact .il{display:inline-block;opacity:0;transform:translateY(-.7em) scale(2.4) rotate(var(--r))}
.impact.hit .il{animation:ilSlam .5s cubic-bezier(.2,1.5,.4,1) forwards;animation-delay:calc(var(--i) * 90ms)}
@keyframes ilSlam{0%{opacity:0;transform:translateY(-.7em) scale(2.4) rotate(var(--r))}55%{opacity:1;transform:translateY(.05em) scale(.9) rotate(0)}100%{opacity:1;transform:none}}
.impact.hit{animation:impShake .45s .62s,impPulse 4.5s 1.6s infinite}
@keyframes impShake{0%,100%{transform:none}20%{transform:translate(-.03em,.02em) rotate(-1.5deg)}40%{transform:translate(.03em,-.02em) rotate(1.5deg)}60%{transform:translate(-.02em,.01em)}80%{transform:translate(.01em,-.01em)}}
@keyframes impPulse{0%,84%,100%{transform:none;text-shadow:.04em .04em 0 var(--pink)}
  86%{transform:scale(1.09) skewX(-7deg);text-shadow:-.07em 0 0 #00f0ff,.07em 0 0 var(--pink)}
  89%{transform:translate(-.02em,.02em) scale(1.02);text-shadow:.05em -.03em 0 var(--acid),-.05em .03em 0 var(--pink)}
  92%{transform:translate(.02em,-.01em);text-shadow:.04em .04em 0 var(--pink)}95%{transform:none}}
.impact::after{content:"";position:absolute;left:50%;top:55%;width:1em;height:1em;margin:-.5em 0 0 -.5em;border:.06em solid var(--yellow);border-radius:50%;opacity:0;pointer-events:none;box-shadow:0 0 .3em var(--yellow)}
.impact.hit::after{animation:impRing 4.5s 1.6s infinite}
@keyframes impRing{0%,84%{opacity:0;transform:scale(.2)}86%{opacity:.9;transform:scale(.6)}96%,100%{opacity:0;transform:scale(5)}}
@media (prefers-reduced-motion:reduce){.impact .il{opacity:1;transform:none}.impact.hit,.impact.hit .il,.impact.hit::after{animation:none}}
/* ================= SECTION WORD EFFECTS ================= */
/* CRYPTO: Bitcoin orange, with the two "bits" growing out of the top and bottom of each letter, like the B in Bitcoin */
.fx-btc{color:#f7931a;text-shadow:0 0 .25em rgba(247,147,26,.45)}
.fx-btc .wl{position:relative;transform-style:preserve-3d}
.fx-btc .wl::before,.fx-btc .wl::after{content:"";position:absolute;left:50%;width:.3em;margin-left:-.15em;height:0;
  background:linear-gradient(90deg,transparent 0 20%,#f7931a 20% 38%,transparent 38% 62%,#f7931a 62% 80%,transparent 80%);
  filter:drop-shadow(0 0 .06em rgba(247,147,26,.8));transition:height .45s cubic-bezier(.34,1.56,.64,1);transition-delay:calc(var(--i) * .12s + .2s)}
.fx-btc .wl::before{bottom:84%}
.fx-btc .wl::after{top:86%}
.fx-btc.go .wl::before,.fx-btc.go .wl::after{height:.15em}
.fx-btc .wl.flip{animation:coinFlip .7s cubic-bezier(.45,0,.2,1)}
@keyframes coinFlip{0%{transform:rotateY(0)}50%{transform:rotateY(180deg) scale(1.1);color:#ffc266}100%{transform:rotateY(360deg)}}
@media (prefers-reduced-motion:reduce){.fx-btc .wl::before,.fx-btc .wl::after{height:.15em}}
/* SHORT: squashes down short, then springs back up like a jack-in-the-box */
.fx-short .wl{transform-origin:50% 100%}
.fx-short.jump .wl{animation:shy 4.6s ease-in-out both;animation-delay:calc(var(--i) * 90ms)}
@keyframes shy{0%{transform:none;opacity:1}38%{transform:scaleY(.5) scaleX(.97) skewX(-3deg);opacity:.62}62%{transform:scaleY(.5) scaleX(.97) skewX(-3deg);opacity:.62}100%{transform:none;opacity:1}}
@keyframes jack{0%{transform:none}16%{transform:scaleY(.16) scaleX(1.22)}40%{transform:scaleY(.16) scaleX(1.22)}46%{transform:scaleY(.12) scaleX(1.26)}
  56%{transform:scaleY(1.38) scaleX(.88) translateY(-.1em)}66%{transform:scaleY(.84) scaleX(1.06)}76%{transform:scaleY(1.12) scaleX(.96)}86%{transform:scaleY(.96)}100%{transform:none}}
/* IDEA: a smaller I with a light bulb above it that switches on, glows brighter, then switches off */
.fx-idea .idea-i{position:relative;display:inline-block;font-size:.62em;margin-right:.04em}
.fx-idea .bulb{position:absolute;left:50%;bottom:90%;width:.3em;transform:translateX(-50%);margin-bottom:.02em;pointer-events:none}
.fx-idea .bulb svg{display:block;width:100%;height:auto;overflow:visible}
.fx-idea .glass{fill:#2a2a28;stroke:#8c8a85;stroke-width:2}
.fx-idea .fil{stroke:#8c8a85;stroke-width:1.6;stroke-linejoin:round}
.fx-idea .base{fill:#8c8a85}
.fx-idea .rays{stroke:var(--yellow);stroke-width:2.4;opacity:0}
.fx-idea.go .glass{animation:bulbGlass 4.5s 1.6s ease-in-out infinite both}
.fx-idea.go .fil{animation:bulbFil 4.5s 1.6s ease-in-out infinite both}
.fx-idea.go .rays{animation:bulbRays 4.5s 1.6s ease-in-out infinite both}
.fx-idea.go .bulb svg{animation:bulbGlow 4.5s 1.6s ease-in-out infinite both}
@keyframes bulbGlass{0%,66%{fill:#ffe100;stroke:#ffe100}70%,78%{fill:#2a2a28;stroke:#8c8a85}82%{fill:#ffe100;stroke:#ffe100}87%{fill:#fff7b0;stroke:#fff3a0}95%,100%{fill:#ffe100;stroke:#ffe100}}
@keyframes bulbFil{0%,66%{stroke:#ff6a1a}70%,78%{stroke:#8c8a85}82%,100%{stroke:#ff6a1a}}
@keyframes bulbRays{0%,66%{opacity:.7;transform:none}70%,78%{opacity:0;transform:scale(.8)}82%{opacity:.8;transform:none}87%{opacity:1;transform:scale(1.25)}95%,100%{opacity:.7;transform:none}}
@keyframes bulbGlow{0%,66%{filter:drop-shadow(0 0 .08em rgba(255,225,0,.8))}70%,78%{filter:none}82%{filter:drop-shadow(0 0 .1em rgba(255,225,0,.85))}87%{filter:drop-shadow(0 0 .25em rgba(255,240,140,1)) drop-shadow(0 0 .5em rgba(255,225,0,.7))}95%,100%{filter:drop-shadow(0 0 .08em rgba(255,225,0,.8))}}
.fx-idea .rays{transform-origin:20px 24px}
@media (prefers-reduced-motion:reduce){.fx-idea .glass{fill:#ffe100;stroke:#ffe100}.fx-idea .rays{opacity:.8}}
.wfx{position:relative;display:inline-block;white-space:nowrap}
.wfx .wl{display:inline-block;position:relative}
/* MAKE: each letter is built from two halves that fly in and lock together */
/* MAKE: drawn as a blueprint first, then built up brick by brick in solid yellow */
.fx-make .wl{color:transparent!important;-webkit-text-stroke:1.5px #6cb6ff!important;transition:-webkit-text-stroke-color .6s;
  background-image:repeating-linear-gradient(0deg,rgba(10,10,9,.6) 0 .025em,transparent .025em 20%),linear-gradient(var(--yellow),var(--yellow));
  background-repeat:no-repeat;background-position:0 0,0 100%;background-size:100% 100%,100% 0;-webkit-background-clip:text;background-clip:text}
.fx-make.fill .wl{animation:bricks 1.6s steps(5,end) forwards;animation-delay:calc(var(--i) * .3s)}
@keyframes bricks{from{background-size:100% 100%,100% 0}to{background-size:100% 100%,100% 100%}}
.fx-make.built .wl{animation:none;-webkit-text-stroke:2px var(--yellow)!important;background-size:100% 100%,100% 100%;filter:drop-shadow(0 0 .08em rgba(255,225,0,.4))}
/* blueprint dimension lines */
.fx-make::before,.fx-make::after{content:"";position:absolute;pointer-events:none;opacity:0;transition:opacity .5s}
.fx-make::before{left:0;right:.1em;top:-.12em;height:.07em;border:solid #6cb6ff;border-width:0 1.5px;background:linear-gradient(#6cb6ff,#6cb6ff) 0 50%/100% 1.5px no-repeat}
.fx-make::after{right:-.16em;top:.08em;bottom:.12em;width:.07em;border:solid #6cb6ff;border-width:1.5px 0;background:linear-gradient(#6cb6ff,#6cb6ff) 50% 0/1.5px 100% no-repeat}
.fx-make.go::before,.fx-make.go::after{opacity:.85}
.fx-make.built::before,.fx-make.built::after{opacity:0;transition-delay:.4s}
/* VERSION: a version badge that keeps upgrading */
.vbadge{text-transform:none;position:absolute;right:-.1em;top:-.38em;display:grid;place-items:center;min-width:2.1em;height:2.1em;padding:0 .3em;font-size:.2em;font-family:var(--f-hand);letter-spacing:0;-webkit-text-stroke:0;color:var(--ink);background:var(--acid);border-radius:999px;box-shadow:0 0 .6em rgba(184,255,46,.7);transform:rotate(10deg) scale(0);transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.fx-ver.go .vbadge{transform:rotate(10deg) scale(1)}
.fx-ver .vbadge.bump{animation:vBump .5s cubic-bezier(.34,1.56,.64,1)}
@keyframes vBump{0%{transform:rotate(10deg) scale(1)}40%{transform:rotate(-12deg) scale(1.35)}100%{transform:rotate(10deg) scale(1)}}
.fx-ver.up{animation:verUp .6s ease}
@keyframes verUp{0%,100%{color:transparent}35%{color:var(--acid);text-shadow:0 0 .2em rgba(184,255,46,.6)}}
/* QUOTE: letters roll like a price counter, then the quote marks snap on */
.fx-quote .qm{display:inline-block;color:var(--orange);-webkit-text-stroke:0;opacity:0;transform:scale(2.4) rotate(-25deg);transition:transform .45s cubic-bezier(.34,1.56,.64,1),opacity .3s}
.fx-quote .qr{transform:scale(2.4) rotate(25deg)}
.fx-quote.landed .qm{opacity:1;transform:none}
.fx-quote .wl.roll{color:var(--orange);-webkit-text-stroke:0}
.fx-quote .wl.land{animation:qLand .35s ease}
@keyframes qLand{0%{transform:translateY(-.15em)}60%{transform:translateY(.05em)}100%{transform:none}}
/* READY: charges up like a loading bar */
.fx-ready{opacity:.35;transition:opacity .4s,text-shadow .4s}
.fx-ready.go{opacity:1}
.fx-ready .rbar{position:absolute;left:0;right:0;bottom:-.08em;height:.07em;background:rgba(184,255,46,.2);border-radius:99px;overflow:hidden}
.fx-ready .rbar i{display:block;height:100%;width:var(--rp,0%);background:var(--acid);box-shadow:0 0 .2em var(--acid)}
.fx-ready .rpct{position:absolute;right:0;top:-.25em;font-family:var(--f-hand);font-size:.16em;letter-spacing:0;color:var(--acid);text-shadow:none}
.fx-ready.done{text-shadow:0 0 .25em rgba(184,255,46,.8),0 0 .6em rgba(184,255,46,.4)}
.fx-ready.done .rbar,.fx-ready.done .rpct{transition:opacity .8s 1.2s;opacity:0}
/* COOL: starts red hot, cools down, then sparkles */
.fx-cool{color:#ff4500!important;text-shadow:0 0 .2em rgba(255,69,0,.8)!important;animation:heat .18s infinite alternate;transition:color 1.6s ease,text-shadow 1.6s ease}
@keyframes heat{from{transform:translateY(0) skewX(0)}to{transform:translateY(-.01em) skewX(-1deg)}}
.fx-cool.go{color:var(--yellow)!important;text-shadow:.04em .04em 0 var(--pink),0 0 .3em rgba(79,227,255,.5)!important;animation:none}
.fx-cool .sp{position:absolute;width:.18em;height:.18em;background:#e6fbff;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);opacity:0;filter:drop-shadow(0 0 .08em #4fe3ff)}
.fx-cool .sp1{left:8%;top:6%}.fx-cool .sp2{left:58%;top:-12%;width:.12em;height:.12em}.fx-cool .sp3{right:-6%;top:42%;width:.15em;height:.15em}
.fx-cool.go .sp{animation:twinkle 2.4s infinite}
.fx-cool.go .sp2{animation-delay:.8s}.fx-cool.go .sp3{animation-delay:1.6s}
@keyframes twinkle{0%,100%{opacity:0;transform:scale(.2) rotate(0)}30%{opacity:1;transform:scale(1.2) rotate(45deg)}60%{opacity:0;transform:scale(.4) rotate(90deg)}}
/* QUIETLY: starts as a whisper, gets loud, then can't sit still */
.fx-quiet .wl{transform:scale(.45);opacity:.35;color:var(--concrete);transition:transform .45s cubic-bezier(.34,1.8,.64,1),opacity .3s,color .3s;transition-delay:calc(var(--i) * .1s)}
.fx-quiet.go .wl{transform:none;opacity:1;color:inherit}
.fx-quiet.restless .wl{animation:fidget 1.6s ease-in-out infinite;animation-delay:calc(var(--i) * -.23s)}
@keyframes fidget{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-.05em) rotate(-4deg)}50%{transform:translateY(.02em) rotate(3deg)}75%{transform:translateY(-.03em) rotate(-2deg)}}
/* ANSWERS: question marks flip into letters, then a straight edge is drawn */
.fx-ans .wl{transition:transform .25s ease}
.fx-ans .wl.flip{transform:rotateX(90deg)}
.fx-ans .ruler{position:absolute;left:0;bottom:-.05em;height:.05em;width:0;background:var(--blue);box-shadow:0 0 .2em var(--blue);transition:width .8s cubic-bezier(.7,0,.3,1)}
.fx-ans.done .ruler{width:100%}
/* LOUD: the word pumps to the beat with a live equaliser */
.fx-loud .eq{position:absolute;left:100%;bottom:.12em;margin-left:.35em;display:flex;align-items:flex-end;gap:.06em;height:.7em}
.fx-loud .eq i{display:block;width:.09em;height:20%;background:var(--yellow);box-shadow:0 0 .15em var(--yellow);border-radius:.02em}
.fx-loud.go .eq i{animation:eq .5s ease-in-out infinite alternate}
.fx-loud.go .eq i:nth-child(2){animation-delay:-.2s;animation-duration:.42s}.fx-loud.go .eq i:nth-child(3){animation-delay:-.35s;animation-duration:.55s}
.fx-loud.go .eq i:nth-child(4){animation-delay:-.1s;animation-duration:.38s}.fx-loud.go .eq i:nth-child(5){animation-delay:-.45s;animation-duration:.6s}
@keyframes eq{from{height:15%}to{height:100%}}
.fx-loud.go{animation:thump 1s cubic-bezier(.3,1.6,.5,1) infinite;transform-origin:left 60%}
@keyframes thump{0%,100%{transform:scale(1)}12%{transform:scale(1.07)}30%{transform:scale(.99)}}
@media (prefers-reduced-motion:reduce){.wfx,.wfx *{animation:none!important;transition:none!important}.fx-make .wl{-webkit-text-stroke:2px var(--yellow)!important;background-size:0 0,100% 100%}.fx-make::before,.fx-make::after{display:none}.fx-quote .qm{opacity:1;transform:none}.fx-quiet .wl{transform:none;opacity:1;color:inherit}.fx-cool{color:var(--yellow)!important;text-shadow:.04em .04em 0 var(--pink)!important}.fx-ready{opacity:1}.fx-ready .rbar,.fx-ready .rpct{display:none}.vbadge{transform:rotate(10deg)}}
/* ---------- accessibility menu ---------- */
.a11y{display:none}
.a11y-btn{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:var(--paper);border:1.5px solid rgba(233,228,216,.35);transition:transform .45s cubic-bezier(.34,1.56,.64,1),border-color .3s,background-color .3s}
.a11y-btn svg{width:22px;height:22px}
.a11y-btn:hover,.a11y-btn[aria-expanded="true"]{transform:rotate(-8deg) scale(1.06);border-color:var(--yellow);color:var(--yellow)}
.a11y-panel{position:fixed;right:var(--pad);top:calc(4.6rem + env(safe-area-inset-top,0px));width:min(19rem,calc(100vw - 2rem));z-index:160;background:#141413;border:1px solid #2c2c2a;border-top:4px solid var(--yellow);border-radius:4px;padding:1rem;box-shadow:0 30px 60px -20px #000;color:var(--paper)}
.a11y-panel[hidden]{display:none}
.a11y-k{font-size:.62rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--concrete);margin-bottom:.5rem}
.a11y-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;text-align:left;padding:.75rem .2rem;min-height:56px;border-bottom:1px solid #262624;color:var(--paper)}
.a11y-row b{display:block;font-size:.95rem}
.a11y-row small{display:block;font-size:.76rem;color:var(--paper-dim);margin-top:.15rem}
.a11y-sw{position:relative;flex:none;width:46px;height:26px;border-radius:13px;background:#3a3a38;transition:background-color .25s}
.a11y-sw::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#e9e4d8;transition:transform .25s}
.a11y-row[aria-checked="true"] .a11y-sw{background:var(--acid)}
.a11y-row[aria-checked="true"] .a11y-sw::after{transform:translateX(20px);background:#0a0a09}
.a11y-row:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}
.a11y-note{font-size:.72rem;color:var(--concrete);margin-top:.6rem}
@media (max-width:1020px){.a11y{margin-left:auto}.nav-wa{margin-left:.5rem}}
/* animations off: freeze everything decorative */
html.no-motion *,html.no-motion *::before,html.no-motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
html.no-motion .grain,html.no-motion .cursor,html.no-motion .cursor-dot{display:none!important}
/* ---------- light mode: black backgrounds become white, all colours stay as they are ---------- */
html.light{--lbg:#f5f2ea;--lbg2:#ece8de;color-scheme:light}
html.light body{background:var(--lbg);color:#16161a}
/* sections on the page get dark text */
html.light :is(.hero,.nav,.services,.work,.why,.process,.est,.cready,.quiz,.faq,.contact,.foot,.page-body,.page-layer,.strip-wrap){--paper:#16161a;--paper-dim:#4a4842;--concrete:#6f6c65}
html.light :is(.services,.why,.process,.est,.faq,.foot,.page-layer,.page-body){background:var(--lbg)}
html.light .work,html.light .quiz{background-color:var(--lbg2)}
html.light .cready{background:radial-gradient(ellipse at 80% 30%,rgba(184,255,46,.22),transparent 55%),var(--lbg)}
html.light .contact{background:var(--lbg)}
html.light #wall{filter:invert(.92)}
html.light .grain{opacity:.35}
/* cards, buttons and panels keep their original look */
html.light :is(.svc,.why-grid li,.td-card,.a11y-panel,.live-browser,.cready-card,.pay-card,.deal-card,.est-card,.quiz-card,.poster,.bill,.stencil,.btn,.pick,.menu,.enquiry,.fab,.chip,.eb-band,.page-cta,.tag-dialog,.p-panel .callout,.pay-partner,.svc-tags){--paper:#e9e4d8;--paper-dim:#bdb7aa;--concrete:#8c8a85}
html.light .svc-tags{--paper:#16161a;--paper-dim:#4a4842}
/* dark cards keep light text */
html.light :is(.svc,.why-grid li,.enquiry,.pay-card,.cready-card,.td-card,.live-browser,.deal-card:not(.light):not(.pink),.a11y-panel,.menu){color:#e9e4d8}
/* acid green text needs a little more depth on a light background */
html.light .why-title .o{-webkit-text-stroke-color:#5e9e00}
html.light .cready-title .o{color:#4f8a00;text-shadow:none}
html.light .stencil-foot.lifted .st-text{filter:url(#rough) drop-shadow(0 0 1px #16161a) drop-shadow(0 0 1px #16161a)}
html.light .foot-sig-k{color:#16161a;text-shadow:0 0 10px rgba(255,225,0,.9)}
html.light .btn-primary{background:#16161a;color:#f5f2ea}
html.light .btn-primary::before{background:var(--yellow)}
html.light .btn-primary:hover{color:#16161a}
html.light .btn-link{color:#16161a}
html.light .est-card .btn-link,html.light .quiz-card .btn-link{color:#16161a}
/* ---------- WhatsApp first ---------- */
.wa-ic{width:22px;height:22px;flex:none}
.btn-wa{background:var(--acid);color:var(--ink);border-radius:28px 28px 28px 4px;box-shadow:0 0 0 0 rgba(184,255,46,.5);animation:waPulse 2.6s infinite}
.btn-wa::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--yellow);clip-path:circle(0% at var(--x,50%) var(--y,50%));transition:clip-path .65s var(--ease-out)}
.btn-wa:hover::before,.btn-wa:focus-visible::before{clip-path:circle(140% at var(--x,50%) var(--y,50%))}
@keyframes waPulse{0%{box-shadow:0 0 0 0 rgba(184,255,46,.45)}70%{box-shadow:0 0 0 16px rgba(184,255,46,0)}100%{box-shadow:0 0 0 0 rgba(184,255,46,0)}}
.btn-link{font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;border-bottom:2px solid currentColor;padding:.5rem 0 .2rem;min-height:44px;opacity:.75}
.btn-link:hover{opacity:1}
.nav-wa{display:inline-flex;align-items:center;gap:.5rem;height:44px;padding:0 1rem;border-radius:22px 22px 22px 4px;background:var(--acid);color:var(--ink);font-size:.72rem;font-weight:800;letter-spacing:.14em;margin-left:.6rem;margin-right:-1rem;transition:transform .45s cubic-bezier(.34,1.56,.64,1)}
.nav-wa:hover{transform:rotate(-3deg) scale(1.05)}
.nav-wa .wa-ic{width:20px;height:20px}
.est-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.9rem}
.est-card .btn.btn-wa{background:var(--acid);color:var(--ink)}
.contact-wa{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.2rem;margin:0 0 2rem}
.contact-wa small{color:var(--paper-dim);font-size:.85rem;max-width:14rem}
.form-intro{grid-column:1/-1;font-size:.9rem;color:var(--paper-dim);margin-bottom:-.2rem}
.form-intro b{color:var(--paper)}
.fab .fab-wa{animation:fabWaPulse 2.6s infinite}
@keyframes fabWaPulse{0%{box-shadow:0 10px 24px -8px rgba(0,0,0,.8),0 0 0 2px var(--ink),0 0 0 2px rgba(184,255,46,.45)}70%{box-shadow:0 10px 24px -8px rgba(0,0,0,.8),0 0 0 2px var(--ink),0 0 0 16px rgba(184,255,46,0)}100%{box-shadow:0 10px 24px -8px rgba(0,0,0,.8),0 0 0 2px var(--ink),0 0 0 2px rgba(184,255,46,0)}}
.menu-foot .menu-wa{display:inline-flex;align-items:center;gap:.6rem;height:52px;padding:0 1.3rem;border-radius:26px 26px 26px 4px;background:var(--acid);color:var(--ink);font-weight:800;font-size:.95rem;width:100%;justify-content:center;margin-bottom:.4rem}
/* ---------- live site previews ---------- */
.live-wrap{margin:0 0 3rem}
.live-browser{position:relative;border:1px solid #333;border-radius:10px;overflow:hidden;background:#111;box-shadow:0 30px 60px -30px rgba(0,0,0,.9)}
.live-bar{display:flex;align-items:center;gap:.5rem;height:34px;padding:0 .8rem;background:#1c1c1b;border-bottom:1px solid #2c2c2a;font-size:.72rem;color:var(--paper-dim)}
.live-bar i{width:10px;height:10px;border-radius:50%;background:#444;display:inline-block}
.live-bar i:nth-child(1){background:var(--pink)}.live-bar i:nth-child(2){background:var(--yellow)}.live-bar i:nth-child(3){background:var(--acid)}
.live-bar span{margin-left:.6rem;padding:.2rem .7rem;border-radius:99px;background:#111;flex:1;max-width:22rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.live-bar b{margin-left:auto;font-size:.62rem;letter-spacing:.2em;color:var(--acid);display:flex;align-items:center;gap:.4rem}
.live-bar b::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--acid);box-shadow:0 0 8px var(--acid);animation:uvFlick 2s infinite}
.live-view{position:relative;overflow:hidden;background:#0a0a09}
.live-view iframe{position:absolute;left:0;top:0;border:0;transform-origin:0 0;pointer-events:none;background:#fff}
.live-view .live-cover{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end;justify-content:flex-end;padding:1rem;background:linear-gradient(transparent 60%,rgba(10,10,9,.55))}
@media (max-width:900px){.live-view .live-cover{justify-content:flex-start}}
.live-wrap .live-meta{display:flex;flex-wrap:wrap;gap:.8rem 1.4rem;align-items:center;margin-top:1rem;font-size:.85rem;color:var(--paper-dim)}
@media (max-width:1020px){.nav-wa{margin-right:.4rem;padding:0 .9rem}.nav-wa span{display:none}}
@media (prefers-reduced-motion:reduce){.btn-wa,.fab .fab-wa{animation:none}}
@media (max-width:1020px){
  .nav-links,.nav .nav-cta{display:none}
  .burger{display:block}
}
@media (max-width:900px){
  .hero{align-items:end}
  .art{width:100%;height:50svh;bottom:auto}
  #wall{-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);mask-image:linear-gradient(180deg,#000 55%,transparent)}
  .hero-copy{padding-top:38svh;padding-bottom:3.5rem}
  .hero .eyebrow{letter-spacing:.2em;font-size:.7rem}
  .hero .eyebrow{margin-bottom:.9rem}
  .hero-sub{margin-bottom:1.6rem}
  .hero-title{margin-bottom:1.1rem}
  .hero-title{font-size:clamp(3.6rem,18vw,8rem)}
  .hero-bills .b3{display:none}
  .hero-bills .b1{top:14%;right:3%;width:32%}
  .hero-bills .b2{bottom:auto;top:44%;left:5%;right:auto;width:30%}
  .hero-note{display:none}
  .scroll-cue{display:none}
  .sec-head{flex-direction:column;align-items:flex-start}
  .wall-grid{grid-template-columns:1fr;gap:3.5rem}
  .poster:nth-of-type(n){grid-column:1/-1;margin-top:0}
  .poster:nth-of-type(2){margin-left:8%}
  .poster:nth-of-type(4){margin-right:6%}
  .poster:nth-of-type(3) .poster-art{aspect-ratio:4/3}
  .wall-note.n1{top:-2rem}
  .process-track{flex-direction:column;width:auto;min-height:0}
  .p-panel,.p-intro{width:auto;border-left:0;border-top:1px dashed rgba(233,228,216,.14);padding:4.5rem var(--pad)}
  .p-intro{border-top:0;padding-top:4.5rem}
  .step-num{font-size:clamp(8rem,42vw,14rem)}
  .p-panel:nth-child(n) .p-ann{position:static;transform:rotate(-3deg);margin-top:1.6rem}
  .statement{font-size:clamp(3rem,16vw,7rem)}
  .statement .s{white-space:normal}
  .statement .s2{padding-left:6vw}
  .culture-body{grid-template-columns:1fr;gap:3.5rem}
  .culture-text,.collage{grid-column:1/-1}
  .collage{min-height:clamp(44rem,150vw,60rem)}
  .mark{height:82svh}
  .mark-ui{flex-direction:column}
  .tools{justify-content:flex-start}
  .chip{width:44px;height:44px}
  .contact-info{grid-template-columns:1fr 1fr}
  .finale{font-size:clamp(3.8rem,19vw,8rem)}
}
@media (max-width:900px) and (max-height:720px){
  .art{height:44svh}
  .hero-copy{padding-top:34svh}
  .hero-title{font-size:clamp(3.4rem,16vw,7rem)}
}
@media (max-width:900px) and (orientation:portrait){
  .hero-bills{display:none}
  .art{height:42svh;-webkit-mask-image:linear-gradient(180deg,#000 74%,transparent);mask-image:linear-gradient(180deg,#000 74%,transparent)}
  .hero-copy{padding-top:38svh}
}
/* menu: short landscape screens get two columns, nothing floats over it */
.menu.is-open ~ .fab{visibility:hidden;pointer-events:none}
.fab{transition:opacity .35s,transform .45s var(--ease-out)}
.fab.fab-away{opacity:0;transform:translateY(24px);pointer-events:none}
.menu-row{display:flex;gap:.6rem;width:100%}
.menu-mini{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;width:100%;margin-top:.4rem}
.menu-mini a{font-size:.8rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-dim);border-bottom:1px solid rgba(233,228,216,.25);padding:.5rem 0 .2rem;min-height:40px}
.menu-mini a:first-child{color:var(--yellow);border-color:var(--yellow)}
.menu-call,.menu-mail{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:50px;border-radius:25px 25px 25px 4px;font-weight:800;font-size:.95rem}
.menu-call{background:var(--blue);color:var(--paper)}
.menu-mail{background:var(--yellow);color:var(--ink)}
@media (orientation:landscape) and (max-height:520px){
  .menu{padding-top:calc(4.6rem + env(safe-area-inset-top,0px));padding-left:calc(var(--pad) + env(safe-area-inset-left,0px));padding-right:calc(var(--pad) + env(safe-area-inset-right,0px));flex-direction:row;flex-wrap:wrap;align-items:center;align-content:center;gap:1rem 3rem}
  .menu ul{margin-top:0;display:grid;grid-template-rows:repeat(4,auto);grid-auto-flow:column;column-gap:2.4rem}
  .menu a.big{font-size:clamp(1.6rem,7.2vh,2.6rem)}
  .menu-foot{margin:0!important;flex-direction:column;align-items:flex-start;max-width:17rem}
  .menu .hand-note,.menu::before{display:none}
}
@media (max-width:480px){
  .contact-info{grid-template-columns:1fr}
  .btn{padding:0 1.3rem;letter-spacing:.14em}
  .poster:nth-of-type(2){margin-left:4%}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  body::after{animation:none}
}

/* ---------- real inner pages ---------- */
body.inner .page-body{padding-top:calc(7.5rem + env(safe-area-inset-top,0px));padding-bottom:5rem}
.back-link{display:inline-flex;align-items:center;gap:.6rem;min-height:44px;margin-bottom:1.6rem;font-size:.74rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--paper-dim)}
.back-link:hover{color:var(--yellow)}
body.inner .foot{margin-top:0}
