:root{
--bg:#f6f4ef;--paper:#fff;--bg2:#efece5;--ink:#15130f;--ink2:#3d3a34;--mute:#6f6b62;--faint:#a29d92;
--line:rgba(21,19,15,.09);--line2:rgba(21,19,15,.16);
--acc:#e8590c;--acc-ink:#c2410c;--acc-soft:#fff1e6;--ok:#16a34a;
--r:16px;--r-sm:10px;--ease:cubic-bezier(.19,1,.22,1);--spring:cubic-bezier(.34,1.56,.64,1);
--sh-1:0 1px 1px rgba(21,19,15,.04),0 2px 4px -1px rgba(21,19,15,.05);
--sh-2:0 1px 1px rgba(21,19,15,.03),0 4px 8px -2px rgba(21,19,15,.06),0 18px 36px -12px rgba(21,19,15,.12);
--sh-3:0 1px 1px rgba(21,19,15,.03),0 8px 16px -4px rgba(21,19,15,.06),0 40px 80px -24px rgba(21,19,15,.22);
--fd:'Bricolage Grotesque',ui-sans-serif,system-ui,sans-serif;--fm:'JetBrains Mono',ui-monospace,monospace}
*{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{background:var(--bg);color:var(--ink);font:400 clamp(1rem,.96rem + .2vw,1.1rem)/1.6 var(--fd);overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-optical-sizing:auto}
::selection{background:var(--acc);color:#fff}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{text-wrap:balance;font-weight:800}
p{text-wrap:pretty}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;z-index:99;border-radius:8px}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:6px}
.grain{position:fixed;inset:0;pointer-events:none;z-index:60;opacity:.035;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.progress{position:fixed;top:0;left:0;height:2px;width:100%;background:var(--acc);transform-origin:0 50%;transform:scaleX(0);z-index:70}

/* nav: floating pill */
.nav{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:40;display:flex;justify-content:space-between;align-items:center;gap:24px;width:min(1180px,calc(100% - 24px));padding:8px 8px 8px 14px;border-radius:999px;background:rgba(255,255,255,.72);backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px);border:1px solid var(--line);box-shadow:var(--sh-1);transition:transform .45s var(--ease),box-shadow .3s}
.nav.scrolled{box-shadow:var(--sh-2)}
.nav.hide{transform:translate(-50%,-140%)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;letter-spacing:-.02em;font-size:1.02rem}
.brand em{font-style:normal;color:var(--mute);font-weight:400}
.logo{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--ink);color:#fff;font-weight:800;font-size:.95rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 2px 6px rgba(21,19,15,.25);position:relative}
.logo::after{content:"";position:absolute;right:-2px;bottom:-2px;width:9px;height:9px;border-radius:50%;background:var(--acc);border:2px solid #fff}
.nav nav{display:flex;gap:2px;align-items:center}
.nav nav a{text-decoration:none;font-size:.92rem;color:var(--mute);padding:8px 14px;border-radius:999px;transition:color .15s,background .15s}
.nav nav a:hover,.nav nav a.active{color:var(--ink);background:rgba(21,19,15,.05)}
.nav nav a.btn{color:#fff;margin-left:8px}

/* buttons */
.btn{--bh:48px;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--bh);padding:0 22px;border-radius:999px;background:var(--ink);color:#fff;font:600 .98rem/1 var(--fd);letter-spacing:-.01em;text-decoration:none;border:0;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 1px 2px rgba(21,19,15,.2),0 6px 16px -6px rgba(21,19,15,.45);transition:transform .35s var(--spring),box-shadow .25s,background .2s;white-space:nowrap}
.btn:hover{background:#2a2620;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 2px 4px rgba(21,19,15,.2),0 12px 24px -8px rgba(21,19,15,.5)}
.btn:active{transform:scale(.97)}
.btn .ar{display:inline-block;transition:transform .35s var(--ease)}
.btn:hover .ar{transform:translateX(3px)}
.btn:hover .ar.ne{transform:translate(2px,-2px)}
.btn:hover .ar.dn{transform:translateY(3px)}
.btn-sm{--bh:38px;padding:0 16px;font-size:.9rem}
.btn-acc{background:var(--acc);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(194,65,12,.3),0 8px 20px -8px rgba(232,89,12,.7)}
.btn-acc:hover{background:var(--acc-ink)}
.btn-ghost{background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line2),var(--sh-1)}
.btn-ghost:hover{background:var(--paper);box-shadow:inset 0 0 0 1px var(--ink),var(--sh-2)}

.eyebrow{font:500 .74rem/1 var(--fm);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);display:inline-flex;align-items:center;gap:10px;margin-bottom:22px}
.eyebrow .n{color:var(--acc-ink)}
.pill{padding:7px 12px 7px 10px;border-radius:999px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--sh-1);color:var(--ink2)}
.dot{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(22,163,74,.5);animation:pulse 2.2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(22,163,74,0)}100%{box-shadow:0 0 0 0 rgba(22,163,74,0)}}
.hl{color:var(--acc);position:relative;white-space:nowrap}
.hl svg{position:absolute;left:0;bottom:-.08em;width:100%;height:.22em;overflow:visible}
.hl path{fill:none;stroke:var(--acc);stroke-width:5;stroke-linecap:round;stroke-dasharray:420;stroke-dashoffset:420;animation:draw 1.4s .5s var(--ease) forwards;opacity:.35}
@keyframes draw{to{stroke-dashoffset:0}}
.muted{color:var(--faint)}

section{padding:clamp(80px,11vw,152px) clamp(16px,4vw,48px)}
.wrap{max-width:1240px;margin:0 auto}

/* hero */
.hero{position:relative;min-height:100svh;display:grid;grid-template-columns:1fr 1.08fr;gap:clamp(24px,4vw,64px);align-items:center;padding-top:132px;max-width:1340px;margin:0 auto;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0 -20vw;z-index:-1;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 60% 55% at 60% 45%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 60% 55% at 60% 45%,#000 20%,transparent 75%);opacity:.7}
.hero::after{content:"";position:absolute;width:520px;height:520px;right:6%;top:18%;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(232,89,12,.16),transparent 65%);filter:blur(20px)}
h1{font-size:clamp(2.7rem,1.3rem + 4.8vw,6.1rem);line-height:.96;letter-spacing:-.045em}
h2{font-size:clamp(2.1rem,1.2rem + 3.3vw,4.3rem);line-height:1.02;letter-spacing:-.04em}
h3{font-size:clamp(1.5rem,1.15rem + 1.1vw,2.2rem);line-height:1.08;letter-spacing:-.03em}
.lead{margin:30px 0 38px;max-width:34em;color:var(--ink2);font-size:clamp(1.05rem,1rem + .3vw,1.22rem)}
.cta-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.trust{display:flex;gap:18px;flex-wrap:wrap;margin-top:34px;font-size:.86rem;color:var(--mute)}
.trust span{display:inline-flex;align-items:center;gap:7px}
.trust svg{width:16px;height:16px;color:var(--ok)}

.stack{position:relative;aspect-ratio:1.22;perspective:1800px}
.stack .fr{position:absolute;width:76%;transition:transform 1s var(--ease)}
.stack .f3{left:0;top:2%;transform:rotateY(-16deg) rotateX(7deg) translateZ(-140px)}
.stack .f2{left:11%;top:15%;transform:rotateY(-16deg) rotateX(7deg) translateZ(-60px)}
.stack .f1{left:22%;top:28%;transform:rotateY(-16deg) rotateX(7deg) translateZ(30px)}
.stack .f3 .bf{filter:saturate(.6)} .stack .f3 img{opacity:.85}
.stack .ph{position:absolute;width:21%;right:-1%;bottom:2%;transform:rotateY(-16deg) translateZ(130px);transition:transform 1s var(--ease)}

/* browser + phone frames */
.bf{background:var(--paper);border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px var(--line),var(--sh-3)}
.bf-bar{display:flex;align-items:center;gap:6px;height:30px;padding:0 12px;background:#f3f1ec;border-bottom:1px solid var(--line)}
.bf-bar i{width:9px;height:9px;border-radius:50%;background:#e2ded5}
.bf-bar i:nth-child(1){background:#ff5f57}.bf-bar i:nth-child(2){background:#febc2e}.bf-bar i:nth-child(3){background:#28c840}
.bf-bar b{flex:1;max-width:60%;margin:0 auto;height:18px;border-radius:6px;background:#fff;border:1px solid var(--line);font:500 .62rem/16px var(--fm);color:var(--mute);text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 8px;transform:translateX(-14px)}
.pf{background:#111;border-radius:22px;padding:5px;box-shadow:0 0 0 1px rgba(0,0,0,.4),inset 0 0 0 1px rgba(255,255,255,.12),var(--sh-3);position:relative}
.pf img{border-radius:17px}
.pf::before{content:"";position:absolute;top:10px;left:50%;transform:translateX(-50%);width:28%;height:9px;border-radius:9px;background:#111;z-index:2}

/* marquee */
.marquee{overflow:hidden;padding:26px 0;border-block:1px solid var(--line);background:var(--paper);-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.track{display:flex;width:max-content;animation:mq 45s linear infinite}
.marquee:hover .track{animation-play-state:paused}
.track span{display:inline-flex;align-items:center;font-size:clamp(1.25rem,1rem + 1.3vw,2.2rem);font-weight:800;letter-spacing:-.03em;padding:0 26px;white-space:nowrap;color:var(--ink)}
.track span:nth-child(even){color:transparent;-webkit-text-stroke:1.2px var(--faint)}
.track span::after{content:"";width:8px;height:8px;border-radius:2px;background:var(--acc);transform:rotate(45deg);margin-left:52px}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);max-width:1240px;margin:clamp(56px,7vw,104px) auto 0;padding:0 clamp(16px,4vw,48px)}
.stats div{padding:8px 28px;border-left:1px solid var(--line2)}
.stats div:first-child{border-left:0;padding-left:0}
.stats b{display:block;font-size:clamp(2.4rem,1.6rem + 2.6vw,4.2rem);letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums;margin-bottom:10px}
.stats b sup{font-size:.45em;color:var(--acc);vertical-align:super;margin-left:2px}
.stats span{color:var(--mute);font-size:.93rem;line-height:1.4;display:block;max-width:14em}

/* work */
.work,.how,.services{max-width:1240px;margin:0 auto}
.sec-head{margin-bottom:clamp(48px,7vw,96px);display:grid;grid-template-columns:1fr auto;align-items:end;gap:24px}
.sec-head .eyebrow{grid-column:1/-1;margin-bottom:0}
.sec-head h2{max-width:13em}
.sec-sub{color:var(--mute);max-width:24em;font-size:1rem}
.filters{display:inline-flex;gap:2px;padding:4px;border-radius:999px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--sh-1)}
.filters button{font:600 .86rem var(--fd);min-height:36px;padding:0 15px;border-radius:999px;border:0;background:transparent;color:var(--mute);cursor:pointer;transition:color .15s,background .2s,box-shadow .2s}
.filters button:hover{color:var(--ink)}
.filters button.on{background:var(--ink);color:#fff;box-shadow:0 2px 6px -1px rgba(21,19,15,.35)}
.filters .c{font:500 .7rem var(--fm);opacity:.6;margin-left:4px}

.projects{display:flex;flex-direction:column;gap:clamp(96px,12vw,168px)}
.proj{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(28px,5vw,80px);align-items:center}
.proj:nth-child(even){grid-template-columns:1fr 1.3fr}
.proj:nth-child(even) .media{order:2}
.proj.hidden{display:none}
.media{position:relative;perspective:1400px;padding:0 0 7% 0}
.media::before{content:"";position:absolute;inset:6% -4% 0 -4%;border-radius:28px;background:var(--bg2);z-index:-1;transform:rotate(-1.2deg)}
.proj:nth-child(even) .media::before{transform:rotate(1.2deg)}
.media .bf{transition:transform .7s var(--ease),box-shadow .5s}
.media .pf{position:absolute;width:23%;right:-3%;bottom:0;transition:transform .7s var(--ease)}
.proj:nth-child(even) .pf{right:auto;left:-3%}
.meta{display:flex;align-items:center;gap:12px;font:500 .72rem/1 var(--fm);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-bottom:18px}
.meta .idx{color:var(--acc-ink);font-weight:600}
.meta .sep{width:20px;height:1px;background:var(--line2)}
.ttl{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.status{display:inline-flex;align-items:center;gap:6px;font:600 .66rem/1 var(--fm);letter-spacing:.08em;color:var(--ok);padding:6px 9px;border-radius:999px;background:#ecfdf3;border:1px solid #bbf0cf}
.status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;animation:pulse 2.2s infinite}
.status.priv{color:var(--mute);background:var(--bg2);border-color:var(--line)}
.status.priv::before{animation:none}
.pitch{color:var(--ink2);margin:18px 0 22px}
.feats{list-style:none;display:grid;gap:10px;margin-bottom:22px}
.feats li{padding-left:28px;position:relative;font-size:.96rem;line-height:1.45;color:var(--ink2)}
.feats li::before{content:"";position:absolute;left:0;top:.18em;width:18px;height:18px;border-radius:6px;background:var(--acc-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c2410c' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/11px no-repeat}
.tech{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:24px}
.tech span{font:500 .72rem/1 var(--fm);color:var(--ink2);padding:6px 9px;border-radius:7px;background:var(--paper);border:1px solid var(--line)}
.creds{position:relative;border-radius:var(--r);padding:16px 18px;margin-bottom:22px;background:var(--paper);box-shadow:0 0 0 1px var(--line),var(--sh-1);display:grid;gap:4px}
.creds::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 3px 3px 0;background:var(--acc)}
.creds:empty{display:none}
.creds .t{display:flex;align-items:center;gap:8px;font:600 .68rem/1 var(--fm);letter-spacing:.12em;text-transform:uppercase;color:var(--acc-ink);margin-bottom:8px}
.creds .row{display:flex;align-items:center;gap:12px;padding:6px 0;border-top:1px dashed var(--line)}
.creds .row:first-of-type{border-top:0}
.creds .row span{color:var(--mute);min-width:76px;font:500 .78rem var(--fm)}
.creds code{flex:1;color:var(--ink);font:500 .88rem var(--fm);word-break:break-all}
.creds button{display:inline-flex;align-items:center;gap:6px;font:600 .72rem var(--fm);border:0;background:var(--bg);color:var(--ink2);border-radius:8px;padding:0 10px;min-height:32px;cursor:pointer;box-shadow:inset 0 0 0 1px var(--line);transition:all .2s}
.creds button:hover{background:var(--ink);color:#fff;box-shadow:none}
.creds button svg{width:13px;height:13px}
.creds button.ok{background:var(--ok);color:#fff;box-shadow:none}
.creds .note{color:var(--mute);font-size:.82rem;margin-top:6px}
.creds.soft::before{background:var(--faint)}
.links{display:flex;gap:10px;flex-wrap:wrap}

/* how */
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:s}
.steps li{position:relative;background:var(--paper);border-radius:var(--r);padding:clamp(24px,2.4vw,34px);display:flex;flex-direction:column;gap:12px;box-shadow:0 0 0 1px var(--line),var(--sh-1);transition:transform .4s var(--ease),box-shadow .3s}
.steps li:hover{transform:translateY(-4px);box-shadow:0 0 0 1px var(--line2),var(--sh-2)}
.steps span{font:600 .78rem var(--fm);color:var(--acc-ink);display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--acc-soft);margin-bottom:10px}
.steps h3{font-size:1.28rem}
.steps p{color:var(--mute);font-size:.95rem}

/* services */
.svc{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.svc article{position:relative;overflow:hidden;background:var(--paper);border-radius:var(--r);padding:clamp(28px,3vw,44px);display:flex;flex-direction:column;gap:14px;box-shadow:0 0 0 1px var(--line),var(--sh-1);transition:transform .4s var(--ease),box-shadow .3s}
.svc article::after{content:"";position:absolute;inset:0;background:radial-gradient(400px circle at var(--mx,50%) var(--my,0%),rgba(232,89,12,.08),transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}
.svc article:hover{transform:translateY(-4px);box-shadow:0 0 0 1px var(--line2),var(--sh-2)}
.svc article:hover::after{opacity:1}
.svc .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--ink);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 4px 10px -3px rgba(21,19,15,.4)}
.svc .ic svg{width:21px;height:21px}
.svc p{color:var(--mute)}
.svc code{font:500 .76rem var(--fm);color:var(--ink2);margin-top:auto;padding-top:16px;border-top:1px dashed var(--line)}

/* contact */
.contact{max-width:1240px;margin:0 auto clamp(48px,6vw,80px);padding:clamp(48px,7vw,96px) clamp(24px,5vw,72px);border-radius:28px;background:var(--ink);color:#fff;position:relative;overflow:hidden;isolation:isolate}
.contact::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(600px circle at 85% 0%,rgba(232,89,12,.35),transparent 60%),linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:auto,48px 48px,48px 48px}
.contact .eyebrow{color:rgba(255,255,255,.6)}
.contact h2{margin-bottom:40px;max-width:17em}
.contact .hl{color:#ff8a4c;white-space:normal}
.contact .btn{background:#fff;color:var(--ink)}
.contact .btn:hover{background:#f3f1ec}
.contact .btn-ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.contact .btn-ghost:hover{box-shadow:inset 0 0 0 1px #fff}
.wordmark{font-size:clamp(3.5rem,13vw,13rem);font-weight:800;letter-spacing:-.06em;line-height:.8;color:transparent;-webkit-text-stroke:1px var(--line2);text-align:center;padding:0 16px;user-select:none;overflow:hidden;white-space:nowrap}
.foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;max-width:1240px;margin:0 auto;padding:28px clamp(16px,4vw,48px) 40px;color:var(--mute);font-size:.84rem;border-top:1px solid var(--line)}

.reveal{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.reveal.in{opacity:1;transform:none}

@media (max-width:960px){
  .hero{grid-template-columns:1fr;padding-top:120px;min-height:auto}
  .stack{max-width:600px;width:100%;margin:24px auto 0}
  .proj,.proj:nth-child(even){grid-template-columns:1fr}
  .proj:nth-child(even) .media{order:0}
  .stats{grid-template-columns:repeat(2,1fr);row-gap:32px}
  .stats div:nth-child(3){border-left:0;padding-left:0}
  .steps{grid-template-columns:repeat(2,1fr)}
  .svc{grid-template-columns:1fr}
  .sec-head{grid-template-columns:1fr}
  .nav nav a:not(.btn){display:none}
}
@media (max-width:520px){
  .brand em{display:none}
  .steps{grid-template-columns:1fr}
  .stats div{padding:4px 16px}
  .media .pf{width:28%;right:-1%}
  .proj:nth-child(even) .pf{left:-1%}
  .bf-bar{height:22px}.bf-bar i{width:7px;height:7px}.bf-bar b{height:14px;line-height:12px;font-size:.5rem}
  .filters{overflow-x:auto;max-width:100%}
  .contact{border-radius:20px;margin-inline:12px}
  .creds button span{display:none}
  .creds .row span{min-width:62px}
  .creds code{word-break:normal;overflow-wrap:anywhere;font-size:.82rem}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
  .hl path{stroke-dashoffset:0}
}

/* ===== v3: founder, contact actions, enquiry builder ===== */
.i{width:18px;height:18px;flex:none}
.btn-wa{background:#128c4a;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(18,140,74,.3),0 8px 20px -8px rgba(18,140,74,.7)}
.btn-wa:hover{background:#0e7a40}
.nav nav a.btn-wa{color:#fff}
.talk{padding-left:6px}
.talk img{width:34px;height:34px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--line2)}

.founder{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,96px);align-items:center}
.f-photo{position:relative;padding:0 6% 8% 0;isolation:isolate}
.f-frame{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:840/1002;box-shadow:0 0 0 1px var(--line),var(--sh-3);transform:rotate(-2deg);transition:transform .8s var(--ease)}
.f-photo:hover .f-frame{transform:rotate(0)}
.f-frame img{width:100%;height:100%;object-fit:cover}
.f-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(21,19,15,.35));pointer-events:none}
.f-photo::before{content:"";position:absolute;inset:8% 0 0 8%;border-radius:24px;background:var(--acc);transform:rotate(3deg);z-index:-1}
.f-tag{position:absolute;top:22px;left:-14px;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:var(--paper);font:500 .78rem var(--fd);box-shadow:0 0 0 1px var(--line),var(--sh-2)}
.f-card{position:absolute;right:0;bottom:0;padding:16px 22px;border-radius:16px;background:var(--paper);box-shadow:0 0 0 1px var(--line),var(--sh-3);display:grid;gap:2px}
.f-card b{font-size:1.25rem;letter-spacing:-.02em}
.f-card span{font-size:.85rem;color:var(--mute)}
.hl2{background:linear-gradient(transparent 62%,rgba(232,89,12,.22) 62%,rgba(232,89,12,.22) 92%,transparent 92%)}
.f-note{margin:28px 0 8px;display:grid;gap:14px;color:var(--ink2);max-width:34em}
.f-note p:first-child{font-size:1.18em;color:var(--ink);font-weight:600}
.sign{font:600 clamp(2.6rem,2rem + 2vw,3.6rem)/1 Caveat,cursive;color:var(--acc-ink);transform:rotate(-4deg);transform-origin:left;margin:6px 0 30px}
.f-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.act{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;text-decoration:none;background:var(--paper);box-shadow:0 0 0 1px var(--line),var(--sh-1);transition:transform .35s var(--spring),box-shadow .25s}
.act:hover{transform:translateY(-3px);box-shadow:0 0 0 1px var(--line2),var(--sh-2)}
.act:active{transform:scale(.98)}
.act .i{width:22px;height:22px;padding:9px;box-sizing:content-box;border-radius:11px;background:var(--bg);color:var(--ink)}
.act span{display:grid;min-width:0}
.act b{font-size:.95rem;letter-spacing:-.01em;white-space:nowrap}
.act small{font:500 .74rem var(--fm);color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.act-wa{background:#128c4a;color:#fff;box-shadow:0 1px 2px rgba(18,140,74,.3),0 10px 24px -10px rgba(18,140,74,.8)}
.act-wa .i{background:rgba(255,255,255,.16);color:#fff}
.act-wa small{color:rgba(255,255,255,.8)}
.act-wa:hover{box-shadow:0 2px 4px rgba(18,140,74,.3),0 16px 30px -10px rgba(18,140,74,.8)}
.alt{margin-top:16px;font-size:.88rem;color:var(--mute)}
.alt a{color:var(--ink);font-weight:600;text-underline-offset:3px}

.contact .c-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:start}
.contact h2{margin-bottom:36px}
.after{list-style:none;display:grid;counter-reset:a;max-width:30em}
.after li{counter-increment:a;position:relative;padding:0 0 22px 48px;display:grid;gap:2px}
.after li::before{content:counter(a);position:absolute;left:0;top:-2px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:600 .78rem var(--fm);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff}
.after li::after{content:"";position:absolute;left:15px;top:32px;bottom:2px;width:1px;background:rgba(255,255,255,.14)}
.after li:last-child::after{display:none}
.after li:last-child::before{background:var(--acc);border-color:var(--acc)}
.after b{font-size:1.05rem}
.after span{color:rgba(255,255,255,.62);font-size:.93rem}
.builder{background:var(--paper);color:var(--ink);border-radius:22px;padding:clamp(20px,2.4vw,30px);display:grid;gap:18px;box-shadow:0 30px 60px -20px rgba(0,0,0,.5)}
.b-head{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.b-head img{width:44px;height:44px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px #fff,0 0 0 3.5px #25d366}
.b-head div{display:grid}
.b-head span{font-size:.82rem;color:var(--mute)}
.builder fieldset{border:0;display:grid;gap:10px;min-width:0}
.builder legend,.fld>span{font:600 .74rem var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-bottom:10px}
.fld em{font-style:normal;text-transform:none;letter-spacing:0;opacity:.7}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips label{cursor:pointer;position:relative}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:inline-flex;align-items:center;min-height:36px;padding:0 13px;border-radius:999px;font-size:.87rem;font-weight:500;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);transition:all .18s;user-select:none}
.chips label:hover span{box-shadow:inset 0 0 0 1px var(--ink)}
.chips input:checked+span{background:var(--ink);color:#fff;box-shadow:none}
.chips input[type=checkbox]:checked+span::before{content:"\2713";margin-right:6px;font-size:.8em}
.chips input:focus-visible+span{outline:2px solid var(--acc);outline-offset:2px}
.fld{display:grid}
.fld input{font:inherit;font-size:16px;min-height:48px;padding:0 14px;border-radius:12px;border:0;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);transition:box-shadow .2s}
.fld input:focus{outline:0;box-shadow:inset 0 0 0 2px var(--ink)}
.btn.big{--bh:56px;width:100%;font-size:1.05rem}
.contact .btn-wa{background:#128c4a;color:#fff}
.contact .btn-wa:hover{background:#0e7a40}
.b-alt{display:flex;justify-content:center;gap:22px;font-size:.88rem}
.b-alt a{display:inline-flex;align-items:center;gap:6px;color:var(--mute);text-decoration:none;font-weight:500}
.b-alt a:hover{color:var(--ink)}
.b-alt .i{width:15px;height:15px}
.f-links{display:flex;gap:18px;flex-wrap:wrap}
.f-links a{color:var(--ink2);text-decoration:none;font-weight:500}
.f-links a:hover{color:var(--acc-ink)}

.wa-float{position:fixed;right:22px;bottom:22px;z-index:45;width:60px;height:60px;border-radius:50%;padding:4px;background:#fff;box-shadow:0 0 0 1px var(--line),var(--sh-3);transition:transform .4s var(--spring)}
.wa-float img{width:52px;height:52px;border-radius:50%;object-fit:cover}
.wa-float:hover{transform:scale(1.06)}
.wa-badge{position:absolute;right:-4px;bottom:-4px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;border:2.5px solid #fff}
.wa-badge .i{width:14px;height:14px}
.wa-tip{position:absolute;right:72px;top:50%;transform:translate(8px,-50%);opacity:0;white-space:nowrap;padding:8px 12px;border-radius:10px;background:var(--ink);color:#fff;font-size:.84rem;font-weight:600;transition:all .3s var(--ease);pointer-events:none}
.wa-float:hover .wa-tip{opacity:1;transform:translate(0,-50%)}
.wa-float::before{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid #25d366;opacity:0;animation:ring 3s 2s infinite}
@keyframes ring{0%{transform:scale(.9);opacity:.8}70%,100%{transform:scale(1.35);opacity:0}}
.mbar{display:none}

@media (max-width:960px){
  .founder{grid-template-columns:1fr}
  .f-photo{max-width:420px;margin:0 auto;width:100%}
  .f-actions{grid-template-columns:1fr}
  .contact .c-grid{grid-template-columns:1fr}
}
@media (max-width:720px){
  .wa-float{display:none}
  .mbar{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:6px;position:fixed;left:10px;right:10px;bottom:10px;z-index:45;padding:6px;border-radius:18px;background:rgba(255,255,255,.88);backdrop-filter:blur(16px) saturate(1.6);-webkit-backdrop-filter:blur(16px) saturate(1.6);box-shadow:0 0 0 1px var(--line),var(--sh-3)}
  .mbar a{display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;border-radius:13px;text-decoration:none;font-weight:600;font-size:.92rem;color:var(--ink)}
  .mbar .m-wa{background:#128c4a;color:#fff}
  body{padding-bottom:78px}
  .nav .btn-wa{display:none}
  .f-tag{left:-6px}
}
@media (prefers-reduced-motion:reduce){.wa-float::before{display:none}}
.contact h2{font-size:clamp(1.9rem,1.2rem + 2.4vw,3.4rem)}

/* ===== v4: colour bands, motion, Kanha guide ===== */
/* full-bleed band behind a centred section */
.band{position:relative;isolation:isolate}
.band::before{content:"";position:absolute;inset:0 calc(50% - 50vw);z-index:-1;background:var(--band)}
.band-ink{--band:var(--ink);color:#fff}
.band-acc{--band:var(--acc);color:#fff}
.band-mint{--band:#e6f4ec}
.band-paper{--band:var(--paper)}

/* marquee: two tilted rows, opposite directions */
.marquee{transform:rotate(-1.6deg);margin:12px -2vw 0;background:var(--ink);border:0;-webkit-mask-image:none;mask-image:none;padding:18px 0}
.marquee .track{animation:none;will-change:transform}
.marquee .track span{color:#fff}
.marquee .track span:nth-child(even){-webkit-text-stroke:1.2px rgba(255,255,255,.55)}
.marquee.m2{transform:rotate(1.2deg);margin:-14px -2vw 0;background:var(--acc);position:relative;z-index:-1}
.marquee.m2 .track span{color:#15130f}
.marquee.m2 .track span:nth-child(even){-webkit-text-stroke:1.2px rgba(21,19,15,.6)}
.marquee.m2 .track span::after{background:#15130f}
.marquees{padding:24px 0 8px;overflow:hidden}

/* stats on ink */
.stats.band-ink{margin-top:0;padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(56px,7vw,96px)}
.stats.band-ink div{border-color:rgba(255,255,255,.14)}
.stats.band-ink span{color:rgba(255,255,255,.62)}
.stats.band-ink b sup{color:#ff8a4c}

/* how on saffron */
.how.band-acc .eyebrow{color:rgba(255,255,255,.75)}
.how.band-acc .eyebrow .n{color:#15130f}
.how.band-acc .muted{color:rgba(255,255,255,.62)}
.how.band-acc .steps li{background:#fff;color:var(--ink);box-shadow:0 20px 40px -20px rgba(80,20,0,.5)}
.how.band-acc .steps span{background:var(--ink);color:#fff}
.how.band-acc::after{content:"";position:absolute;right:-6%;top:12%;width:340px;height:340px;border-radius:50%;border:2px dashed rgba(255,255,255,.35);animation:spin 40s linear infinite;z-index:-1}
@keyframes spin{to{transform:rotate(360deg)}}

/* services on mint */
.services.band-mint .svc article{box-shadow:0 0 0 1px rgba(18,90,50,.1),var(--sh-1)}
.services.band-mint .svc .ic{background:#128c4a}
.services.band-mint .eyebrow .n{color:#128c4a}
.founder.band-paper{padding-block:clamp(80px,10vw,140px)}

/* moving everything */
.word{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}
.word>i{display:inline-block;font-style:normal;transform:translateY(105%);transition:transform 1s var(--ease)}
.split.in .word>i{transform:none}
.stack{animation:floaty 7s ease-in-out infinite}
@keyframes floaty{50%{translate:0 -14px}}
.media{translate:0 var(--py,0px);transition:translate .1s linear}
.f-tag{animation:floaty 5s ease-in-out infinite}
.f-card{animation:floaty 6s 1s ease-in-out infinite}
.status::before,.dot{animation-duration:1.6s}
.eyebrow .n{display:inline-block;animation:tick 3s ease-in-out infinite}
@keyframes tick{0%,80%,100%{transform:none}85%{transform:translateY(-3px)}}
.hero::after{animation:glow 9s ease-in-out infinite alternate}
@keyframes glow{to{transform:translate(-80px,60px) scale(1.2)}}
.btn-acc,.btn-wa,.act-wa{background-image:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.25) 45%,transparent 60%);background-size:250% 100%;background-repeat:no-repeat;animation:shine 4.5s 2s infinite}
@keyframes shine{0%{background-position:130% 0}30%,100%{background-position:-60% 0}}
.steps li,.svc article{will-change:transform}

/* Kanha */
.kanha{position:fixed;left:18px;bottom:16px;z-index:44;width:120px;height:150px;pointer-events:none;opacity:0;transform:translateY(40px) scale(.8);transition:opacity .6s,transform .8s var(--spring)}
.kanha.in{opacity:1;transform:none}
.kanha .k-body{position:absolute;inset:0;overflow:visible;filter:drop-shadow(0 10px 18px rgba(21,19,15,.22))}
.k-bob{animation:kbob 2.6s ease-in-out infinite;transform-origin:60px 140px}
@keyframes kbob{50%{transform:translateY(-6px) rotate(-1.5deg)}}
.k-shadow{animation:kshadow 2.6s ease-in-out infinite;transform-origin:60px 146px}
@keyframes kshadow{50%{transform:scaleX(.8);opacity:.6}}
.k-ant{animation:kant 1.6s ease-in-out infinite}
@keyframes kant{50%{fill:#ffd23f}}
.k-eyes{transition:transform .25s var(--ease)}
.k-eye{transform-box:fill-box;transform-origin:center;transition:transform .08s}
.kanha.blink .k-eye{transform:scaleY(.1)}
.k-arm{position:absolute;left:74px;top:104px;transform-origin:4px 10px;transition:transform .7s var(--spring);overflow:visible}
.kanha.wave .k-arm-l{animation:wave .9s ease-in-out 2;transform-origin:40px 102px}
@keyframes wave{50%{transform:rotate(22deg)}}
.k-bubble{position:absolute;left:96px;bottom:118px;width:max-content;max-width:min(260px,62vw);padding:11px 14px;border-radius:16px 16px 16px 4px;background:var(--paper);color:var(--ink);box-shadow:0 0 0 1px var(--line),var(--sh-3);display:grid;gap:3px;opacity:0;transform:translateY(8px) scale(.92);transform-origin:0 100%;transition:opacity .25s,transform .45s var(--spring)}
.k-bubble.show{opacity:1;transform:none}
.k-bubble b{font-size:.9rem;line-height:1.3;font-weight:600;letter-spacing:-.01em}
.k-bubble small{font-size:.8rem;color:var(--acc-ink);font-weight:500}
.k-min{position:absolute;left:94px;top:16px;width:24px;height:24px;border-radius:50%;border:0;background:var(--paper);color:var(--ink);box-shadow:0 0 0 1px var(--line2),var(--sh-1);font:700 .9rem/1 var(--fd);cursor:pointer;pointer-events:auto;opacity:.7}
.k-min:hover{opacity:1}
.kanha.min{transform:translateY(96px) scale(.7);transform-origin:left bottom;pointer-events:auto;cursor:pointer}
.kanha.min .k-bubble,.kanha.min .k-arm,.kanha.min .k-min{opacity:0;pointer-events:none}
.k-focus{transition:box-shadow .4s, outline-color .4s;outline:2px dashed transparent;outline-offset:10px}
.k-focus.creds,.k-focus.builder,.k-focus.f-actions,.k-focus.filters{outline-color:rgba(232,89,12,.55);border-radius:18px}

@media (max-width:720px){
  .kanha{left:8px;bottom:84px;width:84px;height:105px}
  .kanha .k-body{width:84px;height:105px}
  .k-arm{left:52px;top:73px;width:56px;height:14px}
  .k-bubble{left:70px;bottom:80px;max-width:min(230px,calc(100vw - 96px));padding:9px 12px}
  .k-bubble b{font-size:.82rem}.k-bubble small{font-size:.74rem}
  .k-min{left:66px;top:8px}
  .kanha.min{transform:translateY(70px) scale(.7)}
  .how.band-acc::after{display:none}
}
@media (prefers-reduced-motion:reduce){
  .word>i{transform:none}
  .marquee .track{transform:none!important}
}

.kanha.moving{opacity:.35}
.kanha{transition:opacity .35s,transform .8s var(--spring)}
@media (max-width:720px){.kanha{width:64px;height:80px;bottom:82px;left:4px}.kanha .k-body{width:64px;height:80px}.k-arm{left:40px;top:56px;width:44px;height:11px}.k-bubble{left:54px;bottom:62px}.k-min{left:50px;top:2px;width:22px;height:22px}}

/* ===== v5: bold colour + every micro element highlighted ===== */
:root{--bg:#f7ecd8;--paper:#fffaf1;--bg2:#efdcbc;--ink:#0b0a08;--ink2:#25221d;--mute:#4f4a40;--faint:#8a8273;
--line:rgba(11,10,8,.2);--line2:rgba(11,10,8,.42);--acc:#ff5a00;--acc-ink:#c43d00;--acc-soft:#ffe1c7;--ok:#0e9f4f;
--hard:var(--sh-2);--hard-lg:var(--sh-3)}
body{color:var(--ink)}
.lead,.pitch,.f-note,.feats li{color:var(--ink2)}
.hero::before{opacity:1;background-image:linear-gradient(rgba(11,10,8,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(11,10,8,.09) 1px,transparent 1px)}
.hero::after{background:radial-gradient(circle,rgba(255,90,0,.28),transparent 65%)}
.hl{color:var(--acc)} .hl path{opacity:.7}
.muted{color:var(--acc-ink)}
.sec-head h2 .muted{color:transparent;-webkit-text-stroke:1.5px var(--line2)}

/* nav */
.nav{background:rgba(255,250,241,.9);box-shadow:var(--hard)}
.nav nav a{color:var(--ink2);font-weight:600}
.nav nav a.active{background:var(--ink);color:#fff}
.logo{background:var(--acc);color:var(--ink);}
.logo::after{background:var(--ink);}

/* buttons: outlined + hard shadow, press-in */
.btn{box-shadow:var(--hard);transition:transform .2s var(--ease),box-shadow .2s,background .2s}
.btn:hover{box-shadow:var(--sh-2);transform:translateY(-4px)}
.btn:active{transform:scale(.97)}
.btn-ghost{background:var(--paper);box-shadow:var(--hard)}
.btn-ghost:hover{box-shadow:var(--sh-2);background:#fff}
.btn-wa,.contact .btn-wa{background:#0e9f4f}
.contact .btn{box-shadow:var(--sh-2)}
.contact .btn:hover{box-shadow:var(--sh-2)}
.contact .builder .btn{box-shadow:var(--hard)}

/* eyebrows become filled labels */
.eyebrow{color:var(--ink);font-weight:600}
.eyebrow .n{background:var(--ink);color:var(--acc);padding:4px 7px;border-radius:6px}
.pill{box-shadow:var(--hard);background:#fff;color:var(--ink)}
.band-ink .eyebrow,.contact .eyebrow{color:#fff}
.band-ink .eyebrow .n,.contact .eyebrow .n{background:var(--acc);color:var(--ink)}
.how.band-acc .eyebrow{color:var(--ink)}
.how.band-acc .eyebrow .n{background:var(--ink);color:#fff}
.how.band-acc .muted{color:#fff;-webkit-text-stroke:0}
.how.band-acc h2{color:var(--ink)}

/* marquee */
.marquee{}
.marquee.m2 .track span{color:var(--ink)}

/* stats */
.stats.band-ink b{color:#fff}
.stats.band-ink div:nth-child(odd) b{color:var(--acc)}

/* frames */
.bf{box-shadow:0 0 0 1px var(--line),var(--hard-lg)}
.bf-bar{background:var(--bg2);}
.bf-bar b{color:var(--ink);font-weight:600}
.pf{box-shadow:0 0 0 1px var(--line),var(--sh-3)}
.media::before{background:var(--acc);opacity:.9}
.proj:nth-child(3n+2) .media::before{background:var(--ink)}
.proj:nth-child(3n) .media::before{background:#0e9f4f}

/* project micro-elements */
.meta{color:var(--ink);font-weight:600}
.meta .idx{background:var(--acc);color:var(--ink);padding:5px 8px;border-radius:6px;}
.meta .sep{background:var(--ink);height:2px}
.status{background:#0e9f4f;color:#fff;box-shadow:var(--sh-2)}
.status.priv{background:var(--bg2);color:var(--ink)}
.feats li{font-weight:500}
.feats li::before{background-color:var(--acc);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b0a08' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E")}
.tech span{background:var(--ink);color:#fff;border:0;font-weight:600}
.tech span:nth-child(3n+1){background:var(--acc);color:var(--ink)}
.creds{background:#fff;box-shadow:0 0 0 1px var(--line),var(--hard-lg)}
.creds::before{width:6px;top:0;bottom:0;border-radius:14px 0 0 14px}
.creds .t{color:var(--ink);background:var(--acc-soft);padding:6px 9px;border-radius:7px;width:max-content;}
.creds .row{border-top:1.5px dashed var(--line2)}
.creds code{font-weight:700;background:#fff7d6;padding:2px 6px;border-radius:5px;flex:0 1 auto;margin-right:auto}
.creds button{background:var(--ink);color:#fff;box-shadow:var(--sh-2);border:0}
.creds button:hover{background:var(--acc);color:var(--ink);box-shadow:var(--sh-2)}
.creds.soft{box-shadow:0 0 0 2px var(--line2)}

/* filters */
.filters{box-shadow:var(--hard)}
.filters button{color:var(--ink2)}
.filters button.on{background:var(--acc);color:var(--ink);box-shadow:0 2px 6px -1px rgba(11,10,8,.3)}
.filters .c{opacity:1;background:var(--ink);color:#fff;padding:2px 5px;border-radius:5px;margin-left:6px}

/* founder */
.founder.band-paper{--band:#fff4e3}
.f-frame{box-shadow:0 0 0 1px var(--line),var(--hard-lg)}
.f-photo::before{}
.f-tag,.f-card{box-shadow:var(--hard)}
.f-card b{color:var(--acc-ink)}
.hl2{background:linear-gradient(transparent 58%,var(--acc) 58%,var(--acc) 90%,transparent 90%)}
.act{box-shadow:var(--hard)}
.act:hover{box-shadow:var(--sh-2);transform:translateY(-4px)}
.act .i{background:var(--acc-soft);}
.act-wa{background:#0e9f4f}
.act-wa .i{background:rgba(255,255,255,.2);}
.sign{color:var(--acc)}

/* how / services cards */
.steps li,.svc article{box-shadow:var(--hard-lg)}
.steps li:hover,.svc article:hover{box-shadow:var(--sh-2);transform:translateY(-4px)}
.how.band-acc .steps li{box-shadow:var(--hard-lg)}
.steps span{}
.services.band-mint{--band:#c9f0d8}
.svc .ic{box-shadow:var(--sh-2)}
.svc code{color:var(--ink);font-weight:600;border-top:1.5px dashed var(--line2)}

/* contact + builder */
.contact{box-shadow:var(--sh-2)}
.contact .hl{color:var(--acc)}
.builder{box-shadow:var(--sh-2)}
.chips span{box-shadow:none;background:#fff;font-weight:600}
.chips input:checked+span{background:var(--acc);color:var(--ink);box-shadow:var(--sh-2)}
.fld input{box-shadow:none;background:#fff}
.fld input:focus{box-shadow:var(--sh-2)}
.after li::before{color:var(--acc)}

/* floating + footer */
.wa-float{box-shadow:var(--hard)}
.mbar{box-shadow:var(--hard)}
.mbar .m-wa{}
.k-bubble{box-shadow:var(--hard)}
.k-bubble small{color:var(--acc-ink);font-weight:700}
.wordmark{-webkit-text-stroke:1.5px var(--line2);color:transparent}
.foot{color:var(--ink2)}
.f-links a{color:var(--ink);font-weight:700}
.progress{height:4px}
::selection{background:var(--ink);color:var(--acc)}

/* v6: soft depth, no black frames */
.line-fix{}
.contact .btn{box-shadow:0 8px 20px -8px rgba(0,0,0,.5)}
.media::before{opacity:.18}
.f-photo::before{opacity:.95}
.creds{box-shadow:0 0 0 1px var(--line),var(--sh-2)}
.chips span{box-shadow:inset 0 0 0 1px var(--line)}
.fld input{box-shadow:inset 0 0 0 1px var(--line)}
.fld input:focus{box-shadow:inset 0 0 0 2px var(--acc)}
.bf{box-shadow:0 0 0 1px var(--line),var(--sh-3)}
.bf-bar{border-bottom:1px solid var(--line)}
.bf-bar b{border:1px solid var(--line)}
.marquee{border:0}
.wordmark{font-size:clamp(3rem,10.5vw,11rem)}
