
  :root{
    --ink:#1a1512;
    --cream:#fcf7ec;
    --paper:#fffdf6;
    --butter:#ffe785;
    --lilac:#ddccff;
    --grape:#6a40ff;
    --sky:#bfe2ff;
    --cobalt:#2f44ff;
    --mint:#bdeecf;
    --peach:#ffcda8;
    --coral:#ff5a3c;
    --pink:#ff8fb1;
    --line:rgba(26,21,18,.16);
    --sand:#e9e0cf;
    --r:38px;
    --squig:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='10'%3E%3Cpath d='M0 6 Q5 0 10 6 T20 6 T30 6 T40 6' fill='none' stroke='%23ff5a3c' stroke-width='3'/%3E%3C/svg%3E");
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    background:var(--sand);
    color:var(--ink);
    font-family:'Onest',system-ui,sans-serif;
    font-size:18px;font-weight:500;line-height:1.55;
    overflow-x:hidden;-webkit-font-smoothing:antialiased;
    padding:10px 10px 0;
  }
  ::selection{background:var(--coral);color:var(--paper)}
  .skip-link{position:absolute;left:-9999px;z-index:9999;padding:10px 20px;background:var(--ink);color:var(--cream);border-radius:0 0 10px 10px;font-family:'IBM Plex Mono';font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;text-decoration:none}
  .skip-link:focus{left:50%;transform:translateX(-50%);outline:3px solid var(--coral);outline-offset:2px}
  .mono{font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem}
  .disp{font-family:'Onest',sans-serif;line-height:.9;letter-spacing:-.03em;font-weight:800}
  a{color:inherit}
  img{max-width:100%;display:block}

  body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.045;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

  /* NAV — floating pill */
  nav{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:200;
    display:flex;align-items:center;gap:26px;
    padding:9px 9px 9px 20px;border:2.5px solid var(--ink);border-radius:50px;
    background:rgba(252,247,236,.82);backdrop-filter:blur(12px);
    box-shadow:5px 5px 0 var(--ink);max-width:calc(100vw - 40px)}
  .logo{font-family:'Onest';font-weight:800;font-size:1.05rem;letter-spacing:-.03em;display:flex;align-items:center;gap:8px;white-space:nowrap}
  .logo .dot{width:11px;height:11px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 3px var(--ink);display:inline-block;animation:smdot .9s steps(3) infinite}
  .nav-right{display:flex;align-items:center;gap:18px}
  .nav-links{display:flex;gap:18px}
  .nav-links a{text-decoration:none;transition:color .2s}
  .nav-links a:hover{color:var(--coral)}
  .lang{display:flex;border:2px solid var(--ink);border-radius:30px;overflow:hidden;font-family:'IBM Plex Mono';font-size:.68rem}
  .lang button{background:none;border:none;cursor:pointer;padding:5px 10px;font:inherit;color:var(--ink);transition:.2s}
  .lang button.active{background:var(--ink);color:var(--cream)}

  .btn{display:inline-flex;align-items:center;gap:7px;background:var(--ink);color:var(--cream);text-decoration:none;
    padding:13px 22px;border-radius:50px;font-family:'IBM Plex Mono';font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;
    border:2.5px solid var(--ink);transition:transform .18s cubic-bezier(.34,1.56,.64,1),background .2s,color .2s,box-shadow .18s}
  .btn:hover{background:var(--coral);border-color:var(--ink);color:var(--paper);transform:translateY(-3px) rotate(-1.5deg);box-shadow:4px 6px 0 var(--ink)}
  .btn.ghost{background:transparent;color:var(--ink)}
  .btn.ghost:hover{background:var(--ink);color:var(--cream)}

  /* PANELS — stacked rounded sections (marked alternation) */
  section,header.hero,footer{position:relative;margin:0 0 10px;border-radius:var(--r);
    padding:clamp(52px,7vw,116px) clamp(24px,5vw,64px);overflow:hidden}
  .wrap{max-width:1200px;margin:0 auto;position:relative;z-index:2}

  .hero{background:var(--butter);padding-top:clamp(110px,12vw,140px)!important}
  .founders{background:var(--lilac)}
  .work{background:var(--ink);color:var(--cream)}
  .pkgs{background:var(--peach)}
  .process{background:var(--sky)}
  .faq{background:var(--mint)}
  .final{background:var(--coral);color:var(--paper);text-align:center}
  footer{background:var(--ink);color:var(--cream);text-align:center;border-radius:var(--r) var(--r) 30px 30px}

  /* decorative blobs */
  .blob{position:absolute;border-radius:50%;filter:blur(2px);opacity:.55;z-index:1;pointer-events:none}

  /* SECTION HEADERS */
  .eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:var(--cream);
    padding:7px 16px;border-radius:30px;margin-bottom:22px;font-family:'IBM Plex Mono';
    text-transform:uppercase;letter-spacing:.14em;font-size:.7rem}
  .eyebrow::before{content:"●";color:var(--coral);font-size:.6em}
  .sec-h{font-size:clamp(2.3rem,6.2vw,4.8rem);font-weight:800;max-width:18ch;font-family:'Onest';line-height:.92;letter-spacing:-.03em}
  .sec-h em,.hero h1 em{font-style:normal;font-weight:800;color:var(--coral)}
  .work .eyebrow{background:var(--cream);color:var(--ink)}

  /* HERO */
  .ticker{position:relative;z-index:2;border:2.5px solid var(--ink);border-radius:50px;
    overflow:hidden;white-space:nowrap;background:var(--paper);margin-bottom:40px;box-shadow:4px 4px 0 var(--ink)}
  .ticker::before,.ticker::after{content:"";position:absolute;top:0;bottom:0;width:54px;z-index:3;pointer-events:none}
  .ticker::before{left:0;background:linear-gradient(90deg,var(--paper),rgba(255,253,246,0))}
  .ticker::after{right:0;background:linear-gradient(270deg,var(--paper),rgba(255,253,246,0))}
  .ticker>div{display:inline-block;padding:11px 0;animation:scroll 24s linear infinite;font-family:'IBM Plex Mono';text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:700;will-change:transform}
  .ticker:hover>div{animation-play-state:paused}
  .ticker span{padding:0 22px}
  .ticker b{color:var(--coral)}
  .tk-star{font-style:normal;display:inline-block;color:var(--coral);margin-right:6px;animation:tkTwinkle 1.9s ease-in-out infinite}
  .ticker span:nth-child(even) .tk-star{animation-delay:.95s}
  @keyframes tkTwinkle{0%,100%{transform:scale(1) rotate(0);opacity:.78}50%{transform:scale(1.4) rotate(20deg);opacity:1}}
  @keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  @keyframes smwobble{0%{transform:rotate(-10deg)}25%{transform:rotate(-5deg) translateY(-3px)}50%{transform:rotate(-13deg) translateY(1px)}75%{transform:rotate(-8deg)}100%{transform:rotate(-10deg)}}
  @keyframes smdot{0%{transform:scale(1)}50%{transform:scale(1.4)}100%{transform:scale(1)}}
  @keyframes spin{to{transform:rotate(360deg)}}
  .hero h1{font-size:clamp(2.5rem,7vw,5.2rem);font-weight:800;font-family:'Onest';line-height:.9;letter-spacing:-.04em;overflow-wrap:break-word}
  .hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:44px;align-items:start;margin-top:22px}
  .hero-sub{font-size:1.3rem;max-width:38ch;line-height:1.45;font-weight:500}
  .hero-sub::before{content:"";display:block;width:54px;height:5px;background:var(--coral);border-radius:5px;margin-bottom:18px}
  .hero-cta{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}
  .hero-card{background:var(--cobalt);color:var(--paper);border:2.5px solid var(--ink);border-radius:26px;
    padding:26px;box-shadow:9px 9px 0 var(--ink);transform:rotate(2.5deg)}
  .hero-card .mono{color:var(--butter)}
  .hero-card .big{font-family:'Onest';font-weight:800;font-size:2.5rem;line-height:.98;margin:10px 0;letter-spacing:-.02em}
  .sticker{position:absolute;z-index:3;background:var(--mint);border:2.5px solid var(--ink);border-radius:50%;
    width:104px;height:104px;display:flex;align-items:center;justify-content:center;text-align:center;
    font-family:'IBM Plex Mono';font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;line-height:1.3;
    box-shadow:4px 4px 0 var(--ink)}
  .hero .sticker{top:128px;right:6%;transform:rotate(13deg);background:var(--pink)}
  .sticker .badge-core{position:relative;z-index:1;font-size:1.35rem;line-height:1;color:var(--coral);
    font-family:'Onest',sans-serif;font-weight:800;pointer-events:none}
  .float{animation:float 6s ease-in-out infinite}
  @keyframes float{0%,100%{transform:rotate(2.5deg) translateY(0)}50%{transform:rotate(2.5deg) translateY(-13px)}}

  .reveal{opacity:1;transform:none}
  .js-reveal .reveal{opacity:0;transform:translateY(40px) scale(.97)}
  .reveal.in{opacity:1;transform:none}

  /* STATS — playful sticker cards */
  .stats{display:flex;flex-wrap:wrap;gap:20px;margin:64px 0 0}
  .stats>div{flex:1 1 210px;padding:30px 28px;border:2.5px solid var(--ink);border-radius:26px;
    box-shadow:7px 7px 0 var(--ink);position:relative;transition:transform .28s cubic-bezier(.34,1.5,.6,1)}
  .stats>div:nth-child(1){background:var(--paper);transform:rotate(-2deg)}
  .stats>div:nth-child(2){background:var(--lilac);transform:rotate(1.5deg)}
  .stats>div:nth-child(3){background:var(--mint);transform:rotate(-1deg)}
  .stats>div:hover{transform:rotate(0) translateY(-7px) scale(1.02)}
  .stats>div::before{content:"";position:absolute;top:20px;right:22px;width:13px;height:13px;border-radius:50%;border:2.5px solid var(--ink)}
  .stats>div:nth-child(1)::before{background:var(--coral)}
  .stats>div:nth-child(2)::before{background:var(--cobalt)}
  .stats>div:nth-child(3)::before{background:var(--grape)}
  .stats .n{font-family:'Onest';font-weight:800;font-size:clamp(3.6rem,7.5vw,4.8rem);line-height:.85;display:block;margin-bottom:14px;letter-spacing:-.03em}
  .stats>div:nth-child(1) .n{color:var(--coral)}
  .stats>div:nth-child(2) .n{color:var(--cobalt)}
  .stats>div:nth-child(3) .n{color:var(--grape)}
  .stats .mono{font-size:.68rem;line-height:1.55;opacity:.78}

  /* FOUNDERS */
  .f-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:50px}
  .f-card{border:2.5px solid var(--ink);border-radius:28px;padding:36px 32px;position:relative;background:var(--paper);
    box-shadow:7px 7px 0 var(--ink);transition:transform .25s cubic-bezier(.34,1.5,.6,1)}
  .f-card:hover{transform:translateY(-6px) rotate(-1deg)}
  .f-card.pl{background:var(--coral);color:var(--paper)}
  .f-card.al{background:var(--cobalt);color:var(--paper)}
  .f-card h3{font-family:'Onest';font-weight:800;font-size:2.2rem;letter-spacing:-.02em}
  .f-card .role{font-family:'IBM Plex Mono';text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;opacity:.9;margin:6px 0 18px}
  .f-card p{font-size:1.05rem;line-height:1.6}
  .f-card .badge{position:absolute;top:-18px;right:24px;background:var(--butter);color:var(--ink);border:2.5px solid var(--ink);border-radius:50%;width:80px;height:80px;display:flex;align-items:center;justify-content:center;text-align:center;font-family:'IBM Plex Mono';font-size:.58rem;text-transform:uppercase;transform:rotate(-10deg);animation:smwobble 1.1s steps(4) infinite;box-shadow:3px 3px 0 var(--ink)}

  /* WORK / CAROUSEL */
  .work-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:48px;
    padding-bottom:18px;border-bottom:1px solid rgba(252,247,236,.16);flex-wrap:wrap}
  .work-head .wl{font-family:'IBM Plex Mono';font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:#b8b0a2}
  .work-head .wh{font-family:'Onest';font-weight:700;font-size:1.1rem;letter-spacing:-.01em;text-decoration:none;color:var(--cream)}
  .work-head .wh:hover{color:var(--coral)}
  .work .btn{border-color:var(--cream);color:var(--cream)}
  .work .btn:hover{background:var(--coral);border-color:var(--cream);color:var(--paper)}
  .work .btn.ghost{background:transparent}
  .carousel{position:relative;margin-top:26px}
  .track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 18px;scrollbar-width:none;scroll-behavior:smooth}
  .track::-webkit-scrollbar{display:none}
  .slide{flex:0 0 auto;width:300px;scroll-snap-align:center;position:relative;border:2.5px solid var(--cream);border-radius:22px;overflow:hidden;background:#2a2420;transition:transform .25s ease}
  .slide:hover{transform:translateY(-5px) rotate(-1deg)}
  .slide img{width:100%;height:392px;object-fit:cover;display:block;transition:transform .5s ease}
  .slide:hover img{transform:scale(1.06)}
  .slide::after{content:"↗";position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;background:var(--cream);color:var(--ink);
    display:flex;align-items:center;justify-content:center;font-family:'IBM Plex Mono';opacity:0;transform:scale(.5);transition:.3s}
  .slide:hover::after{opacity:1;transform:scale(1)}
  .car-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:54px;height:54px;border-radius:50%;
    border:2.5px solid var(--cream);background:var(--ink);color:var(--cream);cursor:pointer;font-size:1.4rem;font-family:'IBM Plex Mono';
    display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s,transform .15s;box-shadow:3px 3px 0 rgba(252,247,236,.5)}
  .car-btn:hover{background:var(--coral);color:var(--paper)}
  .car-btn:active{transform:translateY(-50%) scale(.9)}
  .car-btn.prev{left:-12px}.car-btn.next{right:-12px}
  .work-cta{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap}

  /* PACKAGES */
  .pkgs .eyebrow{background:var(--ink);color:var(--cream)}
  .p-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin:54px auto 0;max-width:860px}
  .p-card{border:2.5px solid var(--ink);border-radius:28px;padding:32px 28px 36px;display:flex;flex-direction:column;
    background:var(--paper);color:var(--ink);transition:transform .25s cubic-bezier(.34,1.5,.6,1);position:relative;box-shadow:7px 7px 0 var(--ink)}
  .p-card:hover{transform:translateY(-9px) rotate(-1deg)}
  .p-card.feature{background:var(--ink);color:var(--cream)}
  .p-card .tag{font-family:'IBM Plex Mono';font-size:.64rem;text-transform:uppercase;letter-spacing:.12em;opacity:.65}
  .p-card .pname{font-family:'Onest';font-weight:800;font-size:1.55rem;margin:10px 0 4px;letter-spacing:-.02em;min-height:2.3em;line-height:1.05}
  .p-card .price{font-family:'Onest';font-size:3.2rem;font-weight:800;line-height:1;margin:6px 0 2px;letter-spacing:-.03em}
  .p-card ul{list-style:none;margin:22px 0 28px;display:flex;flex-direction:column;gap:12px}
  .p-card li{display:flex;gap:10px;font-size:.98rem;line-height:1.4}
  .p-card li::before{content:"→";color:var(--coral);font-family:'IBM Plex Mono';font-weight:700}
  .p-card.feature li::before{color:var(--butter)}
  .p-card .pbtn{margin-top:auto}
  .p-card.feature .btn{background:var(--coral);border-color:var(--coral);color:var(--paper)}
  .p-card.feature .btn:hover{background:var(--butter);border-color:var(--butter);color:var(--ink)}
  .ribbon{position:absolute;top:18px;right:-34px;background:var(--coral);color:var(--paper);font-family:'IBM Plex Mono';font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;padding:6px 38px;transform:rotate(45deg);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}

  /* PROCESS */
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:52px;counter-reset:s}
  .step{border:2.5px solid var(--ink);border-radius:24px;padding:26px;background:var(--paper);counter-increment:s;box-shadow:6px 6px 0 var(--ink);transition:transform .25s cubic-bezier(.34,1.5,.6,1)}
  .step:hover{transform:translateY(-6px) rotate(1deg)}
  .step::before{content:"0" counter(s);font-family:'Onest';font-weight:800;font-size:2.7rem;color:var(--coral);display:block;margin-bottom:10px;line-height:1}
  .step h4{font-family:'Onest';font-weight:700;font-size:1.2rem;margin-bottom:6px}
  .step p{font-size:.95rem;line-height:1.5}
  .step:nth-child(2)::before{color:var(--cobalt)}
  .step:nth-child(3)::before{color:var(--grape)}
  .step:nth-child(4)::before{color:#138a5a}

  /* FAQ */
  .faq details{border:2.5px solid var(--ink);border-radius:20px;padding:20px 24px;cursor:pointer;background:var(--paper);margin-bottom:14px;box-shadow:4px 4px 0 var(--ink);transition:transform .2s}
  .faq details[open]{background:var(--butter)}
  details summary{font-family:'Onest';font-weight:700;font-size:1.25rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px}
  details summary::-webkit-details-marker{display:none}
  details summary::after{content:"+";font-family:'IBM Plex Mono';font-size:1.7rem;transition:transform .25s;color:var(--coral)}
  details[open] summary::after{transform:rotate(135deg)}
  details p{margin-top:14px;font-size:1.05rem;max-width:70ch;line-height:1.6}

  /* FINAL CTA */
  .final h2{font-family:'Onest';font-weight:800;font-size:clamp(2.6rem,8.5vw,6rem);line-height:.9;letter-spacing:-.03em}
  .final h2 em{font-style:normal;font-weight:800;color:var(--ink)}
  .final .btn{background:var(--ink);border-color:var(--ink);margin-top:32px;font-size:.85rem;padding:18px 36px}
  .final .btn:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
  .final p{max-width:48ch;margin:20px auto 0;font-size:1.18rem}
  .final .sticker{top:34px;left:6%;transform:rotate(-14deg);background:var(--butter)}

  /* FOOTER */
  footer .logo{justify-content:center;margin-bottom:14px;font-size:1.2rem}
  footer .mono{opacity:.65}
  footer a{color:var(--pink)}

  [data-fr]{display:none!important}
  html[lang="fr"] [data-en]{display:none!important}
  html[lang="fr"] [data-fr]{display:inline!important}
  html[lang="fr"] li[data-fr]{display:flex!important}
  html[lang="fr"] p[data-fr],html[lang="fr"] h4[data-fr],html[lang="fr"] .role[data-fr],html[lang="fr"] .eyebrow[data-fr]{display:block!important}
  html[lang="fr"] .gh[data-fr],html[lang="fr"] .gk[data-fr]{display:block!important}
  html[lang="fr"] .gtag[data-fr]{display:inline-flex!important}

  /* tablet / small-laptop: go to 2 columns before stacking */
  @media(max-width:980px){
    .steps,.wwd-grid,.tst-grid,.signal-grid{grid-template-columns:1fr 1fr}
  }
  @media(max-width:860px){
    nav{gap:14px;padding-left:16px}
    .nav-links{display:none}
    .hero-grid{grid-template-columns:1fr}
    .hero-card{transform:rotate(0);max-width:340px}
    .float{animation:none}
    .hero .sticker{display:none}
    .stats>div{flex-basis:100%}
    .f-grid,.p-grid,.steps,.wwd-grid,.glow-grid,.tst-grid,.sf-quotes,.signal-grid{grid-template-columns:1fr}
    .ribbon{display:none}
    .car-btn{display:none}
    .slide{width:248px}.slide img{height:330px}
  }
  @media(prefers-reduced-motion:reduce){
    .ticker div,.tk-star,.float,.logo .dot,.f-card .badge,.sticker svg{animation:none}
    .reveal{transition:opacity .4s ease}
  }

  /* === IMAGE-FORWARD === */
  .hero-visual{position:relative}
  .hero-photo{width:100%;height:clamp(440px,54vw,660px);object-fit:cover;object-position:center 28%;background:var(--sand);
    border:2.5px solid var(--ink);border-radius:30px;box-shadow:11px 11px 0 var(--ink);transform:rotate(-2deg)}
  .photo-cap{position:absolute;left:-6px;bottom:18px;background:var(--paper);border:2.5px solid var(--ink);
    border-radius:30px;padding:8px 15px;font-family:'IBM Plex Mono';font-size:.6rem;text-transform:uppercase;
    letter-spacing:.1em;box-shadow:3px 3px 0 var(--ink);transform:rotate(-2deg)}
  .photo-cap::before{content:"★ ";color:var(--coral)}

  /* editorial gallery */
  .gallery{position:relative;margin-top:32px}
  .gtrack{--sw:clamp(280px,33vw,440px);display:flex;align-items:center;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;padding:14px 0 26px;scrollbar-width:none;cursor:grab}
  .gtrack.dragging{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none}
  .gtrack::-webkit-scrollbar{display:none}
  .gtrack::before,.gtrack::after{content:"";flex:0 0 calc((100% - var(--sw)) / 2)}
  .gslide{flex:0 0 var(--sw);scroll-snap-align:center;position:relative;display:block;
    border-radius:8px;overflow:hidden;background:#221d19;
    opacity:.4;transform:scale(.92);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1)}
  .gslide.is-active{opacity:1;transform:scale(1)}
  .gslide img{width:100%;height:auto;display:block;transition:transform .8s ease}
  .gslide.is-active:hover img{transform:scale(1.04)}
  .gslide .gcap{position:absolute;left:0;right:0;bottom:0;padding:46px 20px 18px;
    background:linear-gradient(to top,rgba(18,14,11,.82),rgba(18,14,11,0));opacity:0;transition:opacity .5s ease}
  .gslide.is-active .gcap{opacity:1}
  .gcap .gidx{font-family:'Onest';font-weight:800;font-size:1.3rem;color:var(--cream);letter-spacing:-.02em}
  .gcap .gidx i{color:rgba(252,247,236,.45);font-style:normal;font-size:.85rem;margin-left:4px}
  .gbar{display:flex;align-items:center;gap:22px;margin-top:6px}
  .gcount{font-family:'IBM Plex Mono';font-size:.72rem;letter-spacing:.12em;color:var(--cream);min-width:58px}
  .gprog{flex:1;height:2px;background:rgba(252,247,236,.16);border-radius:2px;position:relative;overflow:hidden}
  .gprog span{position:absolute;top:0;left:0;height:100%;background:var(--coral);border-radius:2px;
    width:12.5%;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
  .gnav{display:flex;gap:10px}
  .gnav button{width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(252,247,236,.32);background:transparent;
    color:var(--cream);cursor:pointer;font-size:1.25rem;font-family:'IBM Plex Mono';display:flex;align-items:center;justify-content:center;
    transition:background .25s,color .25s,border-color .25s}
  .gnav button:hover{background:var(--cream);color:var(--ink);border-color:var(--cream)}

  /* photo-backed final CTA */
  .final-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.32;mix-blend-mode:multiply}
  .final::after{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 50% 45%,transparent,rgba(26,21,18,.35))}
  .final .wrap{position:relative;z-index:3}
  .final .sticker{z-index:4}

  @media(max-width:860px){
    .gtrack{--sw:78vw}
  }

  /* ===== small phones ===== */
  @media(max-width:560px){
    body{padding:6px 6px 0}
    section,header.hero,footer{border-radius:28px;padding:clamp(40px,8vw,64px) 20px}
    nav{gap:9px;padding:8px 8px 8px 14px;max-width:calc(100vw - 16px);box-shadow:4px 4px 0 var(--ink)}
    .logo{font-size:.9rem;gap:6px}
    .logo .dot{width:9px;height:9px}
    .nav-right{gap:10px}
    .btn{padding:11px 15px;font-size:.64rem}
    .lang button{padding:5px 8px;font-size:.62rem}
    .hero{padding-top:100px}
    .hero h1{font-size:clamp(2.4rem,13.5vw,4.4rem)}
    .hero-grid{gap:30px;margin-top:22px}
    .hero-sub{font-size:1.1rem}
    .hero-photo{height:clamp(330px,92vw,480px)}
    .ticker div{font-size:.66rem;letter-spacing:.1em}
    .ticker span{padding:0 16px}
    .sec-h{font-size:clamp(1.9rem,8.5vw,2.8rem)}
    .stats{gap:16px;margin-top:48px}
    .stats>div{transform:none;box-shadow:5px 5px 0 var(--ink)}
    .stats .n{font-size:3.4rem}
    .f-card,.p-card,.step{box-shadow:5px 5px 0 var(--ink)}
    .f-card{padding:30px 24px}
    .gtrack{--sw:82vw}
    .gslide img{height:auto}
    .work-head{margin-top:38px}
    .gbar{gap:14px}
    .gnav button{width:42px;height:42px}
    .final h2{font-size:clamp(2.1rem,10.5vw,3.2rem)}
    .final .sticker,.blob{display:none}
    .p-card .pname{min-height:0}
    .guide-form input{flex-basis:100%}
  }

  /* SOUND FAMILIAR (pain) */
  .sf{background:var(--peach)}
  .sf-quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:40px 0 52px}
  .sf-q{background:var(--paper);border:2.5px solid var(--ink);border-radius:24px 24px 24px 6px;padding:26px 24px;
    font-family:'Onest';font-weight:700;font-size:1.14rem;line-height:1.3;box-shadow:6px 6px 0 var(--ink);transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s}
  .sf-q::before{content:"\201C";color:var(--coral);font-family:'Onest';font-weight:800;font-size:2.6rem;display:block;height:.55em;line-height:1}
  .sf-q:nth-child(1){transform:rotate(-1.5deg)}
  .sf-q:nth-child(2){transform:rotate(1deg)}
  .sf-q:nth-child(3){transform:rotate(-.6deg)}
  .sf-q:hover{transform:translateY(-6px) rotate(0) scale(1.03);box-shadow:9px 11px 0 var(--ink)}
  .sf-reframe{font-size:1.2rem;max-width:58ch;line-height:1.5;margin-top:18px}
  .sf .btn{margin-top:28px}

  /* WHAT WE DO */
  .whatwedo{background:var(--sky)}
  .wwd-lead{font-size:1.2rem;max-width:54ch;line-height:1.5;margin-top:18px}
  .wwd-grid{display:flex;flex-direction:column;gap:16px;margin-top:50px}
  .wwd-card{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:30px;row-gap:4px;align-items:start;
    border:2.5px solid var(--ink);border-radius:26px;padding:30px 34px;background:var(--paper);box-shadow:7px 7px 0 var(--ink);transition:transform .2s cubic-bezier(.34,1.5,.6,1)}
  .wwd-card:hover{transform:translateY(-5px) rotate(-1.5deg)}
  .wwd-card .wn{grid-column:1;grid-row:1 / span 2;font-family:'Onest';font-weight:800;font-size:3.4rem;line-height:1;color:var(--coral);margin:0}
  .wwd-card:nth-child(2) .wn{color:var(--cobalt)}
  .wwd-card:nth-child(3) .wn{color:var(--grape)}
  .wwd-card h4{grid-column:2;grid-row:1;font-family:'Onest';font-weight:700;font-size:1.42rem;margin-bottom:4px;line-height:1.05}
  .wwd-card p{grid-column:2;grid-row:2;font-size:1.05rem;line-height:1.55;max-width:74ch}

  /* WHAT WE DO — strongest-signal band */
  .wwd-signal{margin-top:42px;border-top:2.5px dashed var(--ink);padding-top:32px}
  .wwd-signal p{font-size:1.12rem;max-width:62ch;line-height:1.5}
  .signal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:26px}
  .signal-card{background:var(--paper);border:2.5px solid var(--ink);border-radius:22px;padding:22px;box-shadow:5px 5px 0 var(--ink);transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
  .signal-card:hover{transform:translateY(-4px) rotate(-2deg) scale(1.02)}
  .signal-card h4{font-family:'Onest';font-weight:800;font-size:1.16rem;line-height:1.05;margin-bottom:8px;letter-spacing:-.01em}
  .signal-card p{font-size:.92rem;line-height:1.42}
  .signal-card:nth-child(2){background:var(--butter)}
  .signal-card:nth-child(3){background:var(--mint)}
  .signal-card:nth-child(4){background:var(--lilac)}
  .signal-card:nth-child(5){background:var(--peach)}
  .signal-card:nth-child(6){background:var(--paper)}
  .signal-card:nth-child(7){background:var(--sky)}
  .chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
  .chips span{font-family:'IBM Plex Mono';font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;
    background:var(--paper);border:2.5px solid var(--ink);border-radius:30px;padding:8px 15px;box-shadow:3px 3px 0 var(--ink)}
  html[lang="fr"] .chips[data-fr]{display:flex}

  /* BEFORE / AFTER GLOW-UP */
  .glowup{background:var(--mint)}
  .glow-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:50px}
  .glow-card{border:2.5px solid var(--ink);border-radius:28px;padding:34px 32px;box-shadow:7px 7px 0 var(--ink)}
  .glow-card.before{background:var(--paper)}
  .glow-card.after{background:var(--cobalt);color:var(--paper)}
  .glow-card .gtag{display:inline-flex;align-items:center;gap:8px;font-family:'IBM Plex Mono';text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;padding:7px 16px;border:2.5px solid var(--ink);border-radius:30px;margin-bottom:8px}
  .glow-card.before .gtag{background:var(--sand)}
  .glow-card.after .gtag{background:var(--butter);color:var(--ink)}
  .glow-card .gh{font-family:'Onest';font-weight:800;font-size:1.7rem;letter-spacing:-.02em;margin:14px 0 18px;line-height:1}
  .glow-row{padding:14px 0;border-top:1px solid var(--line)}
  .glow-card.after .glow-row{border-top-color:rgba(252,247,236,.22)}
  .glow-row .gk{display:block;font-family:'IBM Plex Mono';text-transform:uppercase;letter-spacing:.1em;font-size:.6rem;opacity:.7;margin-bottom:5px}
  .glow-row .gv{font-size:1.04rem;line-height:1.45}
  .glow-row .gv::before{font-family:'IBM Plex Mono';font-weight:700;margin-right:8px}
  .glow-card.before .gv::before{content:"✕";color:var(--coral)}
  .glow-card.after .gv::before{content:"✓";color:var(--mint)}

  /* TESTIMONIALS */
  .tst{background:var(--butter)}
  .tst-note{display:inline-block;margin-top:18px;font-family:'IBM Plex Mono';font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;
    background:var(--paper);border:2px dashed var(--ink);border-radius:14px;padding:8px 14px;color:#6b645a}
  .tst-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:42px}
  .tst-card{border:2.5px solid var(--ink);border-radius:26px;padding:30px 28px;background:var(--paper);box-shadow:7px 7px 0 var(--ink);
    display:flex;flex-direction:column;gap:18px;transition:transform .25s cubic-bezier(.34,1.5,.6,1)}
  .tst-card:hover{transform:translateY(-7px) rotate(-1deg)}
  .tst-card:nth-child(2){background:var(--lilac)}
  .tst-card:nth-child(3){background:var(--mint)}
  .tst-stars{color:var(--coral);letter-spacing:3px;font-size:.9rem}
  .tst-card .q{font-family:'Onest';font-weight:700;font-size:1.18rem;line-height:1.32;letter-spacing:-.01em}
  .tst-card .who{font-family:'IBM Plex Mono';font-size:.64rem;text-transform:uppercase;letter-spacing:.1em;margin-top:auto;opacity:.85}

  /* LEAD MAGNET */
  .guide{background:var(--lilac)}
  .guide-sub{max-width:48ch;font-size:1.18rem;line-height:1.5;margin-top:16px}
  .guide-form{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px;max-width:640px}
  .guide-form input{flex:1 1 200px;padding:15px 20px;border:2.5px solid var(--ink);border-radius:40px;
    font:inherit;font-weight:500;background:var(--paper);font-size:1rem;color:var(--ink)}
  .guide-form input::placeholder{color:#9a8f7c}
  .guide-form input:focus{outline:none;box-shadow:5px 5px 0 var(--ink)}
  .guide-form button{flex:0 0 auto;cursor:pointer;font-size:.78rem;padding:15px 26px}
  .guide-fine{margin-top:16px;color:#6b645a;font-size:.66rem}
  .hidden{position:absolute!important;left:-9999px}

  /* LEAVE A REVIEW (private — collects to you) */
  .review-wrap{margin-top:56px;border-top:2.5px solid var(--ink);padding-top:38px}
  .review-wrap h3{font-family:'Onest';font-weight:800;font-size:1.7rem;letter-spacing:-.02em;line-height:1.05}
  .review-wrap .rsub{max-width:56ch;margin-top:10px;font-size:1.02rem;line-height:1.5}
  .review-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:720px;margin-top:24px}
  .review-form input,.review-form select,.review-form textarea{width:100%;padding:14px 18px;border:2.5px solid var(--ink);border-radius:18px;
    font:inherit;font-weight:500;font-size:1rem;background:var(--paper);color:var(--ink)}
  .review-form input::placeholder,.review-form textarea::placeholder{color:#9a8f7c}
  .review-form input:focus,.review-form select:focus,.review-form textarea:focus{outline:none;box-shadow:4px 4px 0 var(--ink)}
  .review-form .full{grid-column:1 / -1}
  .review-form textarea{min-height:110px;resize:vertical}
  .review-form .perm{grid-column:1 / -1;display:flex;gap:10px;align-items:flex-start;font-size:.84rem;line-height:1.4}
  .review-form .perm input{width:auto;flex:0 0 auto;margin-top:3px}
  .review-form button{grid-column:1 / -1;justify-self:start;cursor:pointer;font-size:.78rem;padding:15px 26px}
  .review-fine{margin-top:14px;color:#6b645a;font-size:.66rem;max-width:60ch}
  @media(max-width:560px){.review-form{grid-template-columns:1fr}}

  /* MOBILE POLISH (audit fixes) */
  @media(max-width:560px){
    .wwd-card,.signal-card,.tst-card,.sf-q,.glow-card{box-shadow:4px 4px 0 var(--ink)}
    .hero-photo{transform:none;box-shadow:6px 6px 0 var(--ink)}
    .wwd-card{padding:24px 22px;column-gap:20px}
    .wwd-card .wn{font-size:2.6rem}
    .glow-card{padding:26px 22px}
    .sf-q{transform:none}
    nav{gap:7px;padding:7px 7px 7px 12px}
  }


  /* FINAL MOBILE RESPONSIVE PASS — keep after section styles so it wins the cascade */
  @media(max-width:860px){
    .sf-quotes,.f-grid,.p-grid,.steps,.signal-grid,.tst-grid,.glow-grid,.review-form{grid-template-columns:1fr!important}
    .p-grid{max-width:560px}
    .work-head{align-items:flex-start}
  }
  @media(max-width:560px){
    header.hero{padding-top:118px!important}
    .ticker{margin-bottom:32px}
    .ticker div{animation-duration:26s}
    .hero h1{font-size:clamp(2.75rem,12vw,3.35rem);line-height:.9;max-width:13ch}
    .hero-sub{font-size:1.08rem;line-height:1.42}
    .hero-cta{gap:10px}
    .hero-cta .btn{flex:1 1 145px;justify-content:center;text-align:center;white-space:nowrap}
    .stats{margin-top:42px}
    .sf-quotes{gap:14px;margin:30px 0 38px}
    .sf-q{padding:22px 20px;font-size:1.06rem;transform:none!important}
    .wwd-grid{margin-top:34px}
    .wwd-card{display:block;padding:24px 22px}
    .wwd-card .wn{margin-bottom:10px}
    .wwd-card h4{display:block;margin-bottom:8px}
    .signal-grid{gap:14px;margin-top:22px}
    .signal-card{padding:20px}
    .gbar{align-items:center;gap:10px}
    .gprog{min-width:70px}
    .p-card{padding:28px 24px}
    .p-card .price{font-size:2.75rem}
    .guide-form button,.review-form button{width:100%;justify-content:center}
  }
  @media(max-width:420px){
    nav{top:8px;width:calc(100vw - 12px);max-width:none;justify-content:space-between}
    .logo{font-size:.78rem;letter-spacing:-.04em}
    .logo .dot{width:8px;height:8px;box-shadow:0 0 0 2.5px var(--ink)}
    .nav-right{gap:6px}
    .lang{font-size:.56rem}
    .lang button{padding:5px 7px}
    nav .btn{padding:9px 10px;font-size:.56rem;letter-spacing:.04em}
    header.hero{padding-top:112px!important}
    section,header.hero,footer{padding-left:18px;padding-right:18px}
    .hero h1{font-size:clamp(2.5rem,11.8vw,3.05rem);max-width:13ch}
    .hero-photo{height:clamp(310px,90vw,440px)}
    .photo-cap{font-size:.52rem;max-width:82%;white-space:normal}
  }
  @media(max-width:340px){
    nav .btn{padding:8px 8px}
    .logo{font-size:.72rem}
    .lang button{padding:5px 6px}
    .hero-cta .btn{width:100%;flex-basis:100%}
  }

  /* === BILINGUAL FIX (must stay last) ===
     These classes set `display`, which was overriding the generic [data-fr]{display:none}
     and leaking the inactive language. Re-assert language control with higher specificity. */
  .chips[data-fr],.glow-card .gtag[data-fr],.glow-row .gk[data-fr]{display:none!important}
  html[lang="fr"] .chips[data-en],html[lang="fr"] .glow-card .gtag[data-en],html[lang="fr"] .glow-row .gk[data-en]{display:none!important}
  html[lang="fr"] .chips[data-fr]{display:flex!important}
  html[lang="fr"] .glow-card .gtag[data-fr]{display:inline-flex!important}
  html[lang="fr"] .glow-row .gk[data-fr]{display:block!important}

  /* CUTE PILL HOVER — section eyebrow labels + hero caption do a little wiggle-pop */
  @keyframes pillWiggle{
    0%{transform:rotate(0) scale(1)}
    25%{transform:rotate(-6deg) scale(1.09)}
    55%{transform:rotate(4deg) scale(1.04)}
    80%{transform:rotate(-2deg) scale(1.02)}
    100%{transform:rotate(0) scale(1)}
  }
  .eyebrow,.photo-cap{cursor:default}
  @media(hover:hover) and (prefers-reduced-motion:no-preference){
    .eyebrow:hover,.photo-cap:hover{animation:pillWiggle .55s ease}
  }

  /* ============ AWWWARDS LAYER ============ */
  :focus-visible{outline:3px solid var(--cobalt);outline-offset:3px}

  /* preloader — brand moment, ~1s */
  #loader{position:fixed;inset:0;z-index:10010;background:var(--ink);color:var(--cream);
    display:flex;align-items:center;justify-content:center;text-align:center;
    transition:transform .8s cubic-bezier(.76,0,.24,1)}
  #loader.l-done{transform:translateY(-101%)}
  #loader .l-logo{justify-content:center;font-size:1.1rem;margin-bottom:8px}
  #loader .l-num{font-family:'Onest';font-weight:800;font-size:clamp(4.4rem,15vw,9.5rem);line-height:1;letter-spacing:-.04em;color:var(--butter);font-variant-numeric:tabular-nums}
  #loader .l-num::after{content:"%";font-size:.32em;vertical-align:.95em;color:var(--coral);margin-left:.06em}
  #loader .l-tag{font-family:'IBM Plex Mono';text-transform:uppercase;letter-spacing:.24em;font-size:.6rem;opacity:.55;margin-top:12px}

  /* nav drops in after the loader */
  html.preboot nav{transform:translate(-50%,-170%)}
  html.booted nav{transition:transform .85s cubic-bezier(.34,1.56,.64,1) .1s}

  /* scroll progress hairline */
  #sprog{position:fixed;top:0;left:0;width:100%;height:4px;background:var(--coral);
    transform:scaleX(0);transform-origin:0 50%;z-index:500;pointer-events:none}

  /* masked word-by-word reveals on display headings */
  .hs .w{display:inline-block;overflow:hidden;padding:0 .04em .14em;margin:0 -.04em -.14em;vertical-align:bottom}
  .hs .wi{display:inline-block;transform:translateY(118%);transition:transform .85s cubic-bezier(.22,1,.36,1)}
  .hs.in .wi{transform:translateY(0)}

  /* custom cursor — desktop + motion-ok only */
  .has-cursor,.has-cursor a,.has-cursor button,.has-cursor summary,.has-cursor label,
  .has-cursor .slide,.has-cursor .gslide,.has-cursor .gtrack{cursor:none}
  .has-cursor input,.has-cursor textarea,.has-cursor select{cursor:auto}
  .cur-dot,.cur-ring{position:fixed;top:0;left:0;border-radius:50%;pointer-events:none;z-index:10011;will-change:transform;transition:opacity .25s}
  .cur-dot{width:9px;height:9px;background:var(--coral);box-shadow:0 0 0 1.5px rgba(252,247,236,.9)}
  .cur-ring{width:40px;height:40px;border:1.5px solid var(--ink);box-shadow:0 0 0 1px rgba(252,247,236,.4),inset 0 0 0 1px rgba(252,247,236,.4)}

  /* magnetic buttons (composed via CSS vars so hover/active states still stack) */
  .has-cursor .btn{transform:translate(var(--mx,0px),var(--my,0px))}
  .has-cursor .btn:hover{transform:translate(var(--mx,0px),var(--my,0px)) translateY(-3px) rotate(-1.5deg)}
  .has-cursor .btn:active{transform:translate(var(--mx,0px),var(--my,0px)) translateY(-1px) scale(.95)}
  .has-cursor .gnav button{transform:translate(var(--mx,0px),var(--my,0px));transition:background .25s,color .25s,border-color .25s,transform .22s cubic-bezier(.34,1.56,.64,1)}
  .has-cursor .car-btn{transform:translateY(-50%) translate(var(--mx,0px),var(--my,0px))}
  .has-cursor .car-btn:active{transform:translateY(-50%) translate(var(--mx,0px),var(--my,0px)) scale(.9)}

  /* scroll-driven drift for the background blobs + hero photo float */
  .blob{transform:translateY(var(--bp,0px));will-change:transform}
  @media(pointer:fine){.hero-photo{transform:rotate(-2deg) translateY(var(--py,0px))}}

  /* kinetic footer wordmark */
  .wordmark{display:flex;justify-content:center;align-items:baseline;margin:4px 0 36px;user-select:none;
    font-family:'Onest';font-weight:800;font-size:clamp(2.4rem,10.2vw,8.4rem);line-height:1;letter-spacing:-.02em;
    color:transparent;-webkit-text-stroke:2px rgba(252,247,236,.92)}
  .wordmark span{display:inline-block;transition:transform .3s cubic-bezier(.34,1.56,.64,1),color .3s}
  .wordmark .wsp{width:.34em}
  @media(hover:hover){.wordmark span:hover{transform:translateY(-.12em) rotate(-6deg);color:var(--coral);-webkit-text-stroke-color:var(--coral)}}
  @media(max-width:560px){.wordmark{-webkit-text-stroke-width:1.3px;margin-bottom:26px}}

  /* rotating circular-text badge — ring text spins; center ★ stays still */
  .sticker svg.sticker-ring,.sticker svg{
    position:absolute;inset:5px;width:calc(100% - 10px);height:calc(100% - 10px);overflow:visible}
  .sticker .sticker-spin{
    transform-origin:50px 50px;
    animation:spin 16s linear infinite;
    will-change:transform}
  .sticker svg text{
    font-family:'IBM Plex Mono',monospace;
    font-weight:700;text-transform:uppercase;fill:var(--ink)}
  @media(prefers-reduced-motion:reduce){
    .sticker .sticker-spin,.sticker svg{animation:none!important}
  }

  /* live London clock in the footer */
  #lclock{font-variant-numeric:tabular-nums}

/* ===== SwipePhoto authorized extensions ===== */
.lang{display:none!important}
.tst-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:42px}
.tst-card{padding:30px 28px;border:2.5px solid var(--ink);border-radius:26px;box-shadow:7px 7px 0 var(--ink);background:var(--paper);transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s}
.tst-card:nth-child(1){background:var(--paper)}
.tst-card:nth-child(2){background:var(--lilac)}
.tst-card:nth-child(3){background:var(--mint)}
.tst-card blockquote{font-size:1.18rem;font-weight:700;line-height:1.32;margin:0 0 16px}
.tst-card .who{font-family:'IBM Plex Mono',monospace;font-size:.64rem;text-transform:uppercase;letter-spacing:.12em;opacity:.75}
.tst-card:hover{transform:translateY(-7px) rotate(-1deg)}
@media(max-width:860px){.tst-grid{grid-template-columns:1fr}}
@media(max-width:560px){.tst-card{box-shadow:4px 4px 0 var(--ink)}}
.book-dialog{
  position:fixed;
  inset:0;
  margin:auto;
  width:min(520px,calc(100vw - 32px));
  max-width:calc(100vw - 32px);
  max-height:calc(100dvh - 32px);
  overflow:auto;
  border:0;
  padding:0;
  background:transparent;
}
.book-dialog::backdrop{background:rgba(26,21,18,.55)}
.book-panel{background:var(--paper);border:2.5px solid var(--ink);border-radius:26px;box-shadow:10px 10px 0 var(--ink);padding:28px 26px 24px;position:relative;width:100%;max-width:100%;min-width:0;max-height:min(88dvh,720px);overflow:auto;box-sizing:border-box}
.book-panel h2{font-family:'Onest',sans-serif;font-weight:800;font-size:clamp(1.6rem,4vw,2.2rem);letter-spacing:-.03em;line-height:.95;margin:0 48px 18px 0}
.book-close{position:absolute;top:14px;right:14px;width:42px;height:42px;border:2.5px solid var(--ink);border-radius:50%;background:var(--cream);cursor:pointer;font-size:1.2rem;line-height:1}
.book-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.book-field label{font-family:'IBM Plex Mono',monospace;font-size:.64rem;text-transform:uppercase;letter-spacing:.1em}
.book-field input,.book-field textarea{border:2.5px solid var(--ink);border-radius:18px;padding:14px 18px;font:inherit;background:#fff;width:100%}
.book-field input:focus,.book-field textarea:focus{outline:none;box-shadow:4px 4px 0 var(--ink)}
.book-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.book-status{min-height:1.4em;margin-top:10px;font-size:.95rem}
.book-hp{position:absolute;left:-9999px;opacity:0;height:0;width:0;overflow:hidden}
.pending-note{font-size:.85rem;opacity:.7;margin-top:8px}
.wordmark{display:flex;flex-wrap:wrap;justify-content:center;gap:0;font-family:'Onest',sans-serif;font-weight:800;font-size:clamp(2.4rem,10.2vw,8.4rem);line-height:1;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:2px rgba(252,247,236,.92);margin:0 0 36px;user-select:none}
.wordmark .wm-letter{display:inline-block;transition:transform .3s cubic-bezier(.34,1.56,.64,1),color .3s, -webkit-text-stroke-color .3s;cursor:default}
.wordmark .wm-space{display:inline-block;width:.34em}
.wordmark .wm-letter:hover,.wordmark .wm-letter:focus-visible{transform:translateY(-.12em) rotate(-6deg);color:var(--coral);-webkit-text-stroke-color:var(--coral);outline:none}
@media(max-width:560px){.wordmark{-webkit-text-stroke-width:1.3px;margin-bottom:26px}}
.f-card.pending{opacity:.85;border-style:dashed}

.review-form .full,.review-form .book-status{grid-column:1/-1}
.work .btn.work{background:var(--coral);color:var(--paper);border-color:var(--ink)}

/* Geometry polish 2026-10-13 */
.hero .sticker{z-index:4}
.hero-visual{isolation:isolate}
.photo-cap{z-index:2}
.p-card .btn.pbtn{margin-top:auto}
@media(max-width:860px){
  .p-grid{grid-template-columns:1fr;max-width:560px}
}
@media(max-width:560px){
  .hero-photo{height:clamp(310px,90vw,440px)!important}
  .stats>div{box-shadow:5px 5px 0 var(--ink)}
  .photo-cap{font-size:.52rem;max-width:82%;white-space:normal}
  .p-card{padding:28px 24px;box-shadow:5px 5px 0 var(--ink)}
  .p-card .pname{min-height:0}
  .p-card .price{font-size:2.75rem}
  .gbar{align-items:center;gap:10px}
  .gprog{min-width:70px}
}
@media(max-width:420px){
  nav .nav-links{display:none}
}
