
/* ================================================================
   MIKE DAVIS: landing v5 "Playing for the next 50 years" (dossier / scrapbook)
   Colours resolve to mkd-tokens.json (MKD group only, Chinese walls):
     navy.500 #193155 · red.500 #DB261B · cream.500 #F5F2EA · cream.300 #FAF8F3
     navy.700 #12233D · gray.700 #454C55
   Documented artwork exceptions (not new UI tokens, like a photograph):
     ink blue #22417D  -> handwriting ink of the dossier (Bastarda language)
     tape/kraft tones  -> analog-archive props (tape, corners, paper grid)
   Type stacks: system-only, no webfonts.
     slab "varsity"  -> Rockwell / Roboto Slab / Georgia (bold headings)
     brand sans      -> Aptos stack (mkd-tokens font.family.brand) for body
     handwriting     -> Bradley Hand / Segoe Print (blue asides)
   Phase 1b: full-width bands (cream / navy), wide container,
   shop and club given their own bands. Same tokens, same components.
   ================================================================ */
:root{
  --navy:#193155; --navy-700:#12233D; --navy-900:#0B1626;
  --red:#DB261B; --red-700:#A81C14;
  --cream:#F5F2EA; --cream-300:#FAF8F3; --white:#fff;
  --gray-700:#454C55; --gray-500:#6E7681;
  --ink:#22417D;               /* handwriting ink: artwork exception */
  --tape:rgba(206,180,120,.38);/* kraft tape: artwork exception */
  --paper-line:rgba(25,49,85,.07);
  --slab:"Rockwell","Rockwell Nova","Roboto Slab","Bitstream Vera Serif",Georgia,"Times New Roman",serif;
  --sans:"Aptos","Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --hand:"Bradley Hand","Segoe Print","Comic Sans MS",cursive;
}
*{box-sizing:border-box}
figure{margin:0}
html{scroll-behavior:smooth}
body{
  margin:0; font-family:var(--sans); color:var(--navy);
  background-color:var(--cream);
  background-image:
    radial-gradient(1200px 700px at 78% -8%, rgba(219,38,27,.05), transparent 60%),
    radial-gradient(900px 600px at 8% 108%, rgba(25,49,85,.06), transparent 55%),
    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='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
  line-height:1.6; -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{background:var(--red-700); color:var(--cream-300)}
a:focus-visible{outline:3px solid var(--red); outline-offset:3px}
.wrap{max-width:1680px; margin:0 auto; padding:0 clamp(40px, 5vw, 96px)}

/* dossier side tabs (decorative) */
.tabs{position:fixed; top:130px; left:0; z-index:5; display:flex; flex-direction:column; gap:8px}
.tabs span{
  writing-mode:vertical-rl; transform:rotate(180deg);
  background:var(--navy); color:var(--cream-300);
  font:600 11px/1 var(--sans); letter-spacing:.18em; text-transform:uppercase;
  padding:14px 6px; border-radius:0 6px 6px 0; box-shadow:2px 2px 0 rgba(11,22,38,.18), 0 0 0 1px rgba(245,242,234,.35);
}
.tabs span:nth-child(2){background:var(--red)}
.tabs span:nth-child(3){background:var(--navy-700)}
@media(max-width:1000px){.tabs{display:none}}

/* ---------- top bar ---------- */
.topbar{
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:26px 0 18px; flex-wrap:wrap;
}
.topbar img{height:34px; width:auto; display:block}
.seal{
  font:700 12px/1.15 var(--slab); letter-spacing:.14em; color:var(--red-700);
  text-transform:uppercase; text-align:center;
  border:2px solid var(--red-700); border-radius:999px;
  padding:8px 16px; transform:rotate(-3deg);
  background:rgba(255,255,255,.55); box-shadow:1px 2px 0 rgba(168,28,20,.25);
}
.rule{height:3px; background:var(--navy); border:0; margin:0}

/* ---------- buttons (stamp language, straightened) ---------- */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  font:700 15px/1 var(--slab); letter-spacing:.1em; text-transform:uppercase; text-decoration:none;
  padding:15px 22px; border:2px solid var(--red-700); color:var(--cream-300); background:var(--red-700);
  box-shadow:3px 3px 0 rgba(11,22,38,.22);
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.btn:hover{background:var(--red); border-color:var(--red)}
.btn:active{transform:translate(2px,2px); box-shadow:1px 1px 0 rgba(11,22,38,.22)}
.btn-ghost{flex-wrap:wrap; background:transparent; color:var(--navy); border-color:var(--navy); text-transform:none; letter-spacing:-.3px; font-size:19px; padding:12px 20px}
.btn-ghost:hover{background:var(--cream-300); border-color:var(--navy)}
.lockup-inline .p76,.lockup .p76{color:var(--red)} .lockup-inline .md,.lockup .md{color:var(--navy)} .lockup-inline .club,.lockup .club{color:var(--red)}
.btn .arrow{font-family:var(--sans); font-weight:600; letter-spacing:0}


/* ---------- "brevemente" state for external CTAs ----------
   Each CTA to mikedavis.shop / mikedavis.club carries data-live="false"
   and its real address in data-live-href. While false it shows the
   landing stamp "brevemente" and never links out (both domains still
   301 to mikedavis.pt). Launch day: set data-live="true" on the CTA. */
.cta-soon{display:inline-flex; align-items:center; gap:12px 16px; flex-wrap:wrap}
.cta-soon .stamp-soon{margin:0; transform:rotate(-6deg); background:var(--cream-300)}
[data-live="true"] .stamp-soon,[data-live="true"] + .stamp-soon{display:none}
a[data-live="false"]:not([href]){cursor:default}
a.btn[data-live="false"]:not([href]):hover{background:var(--red-700); border-color:var(--red-700)}
a.btn[data-live="false"]:not([href]):active{transform:none; box-shadow:3px 3px 0 rgba(11,22,38,.22)}
.shop-url[data-live="false"]:not([href]):hover{color:transparent}
.stamp-inline{transform:rotate(-4deg); margin:0 0 0 10px; vertical-align:middle; font-size:11px; padding:5px 8px}
.soon-tag{display:block; font:400 13px/1 var(--hand); letter-spacing:0; text-transform:none; margin-top:4px; color:var(--cream)}

/* ---------- club band: dark, in the club colours ----------
   semantic.dark of mkd-tokens (reserved for the club): background navy.900,
   text cream.300, red.500 only on large elements (76' and Club, >= 3:1). */
.band-club{background:var(--navy-900); color:var(--cream-300); border-top:3px solid var(--red)}
.band-club .kicker{color:var(--cream)}
.band-club .lockup-xl .md{color:var(--cream-300)}
.band-club .club-lede{color:var(--cream-300)}
.band-club .club-lines li{color:var(--cream); border-top-color:rgba(245,242,234,.22)}
.band-club .stamp{color:var(--cream-300); border-color:var(--cream-300); background:var(--red-700); box-shadow:inset 0 0 0 1px rgba(250,248,243,.35); opacity:1}
.band-club .btn-ghost{color:var(--cream-300); border-color:var(--cream-300); box-shadow:3px 3px 0 rgba(0,0,0,.35)}
.band-club .btn-ghost .lockup-inline .md{color:var(--cream-300)}
.band-club a.btn-ghost[data-live="false"]:not([href]):hover{background:transparent}
.band-club .cta-soon .stamp-soon{background:var(--red-700)}
.band-club .photo{box-shadow:4px 8px 22px rgba(0,0,0,.45); border-color:rgba(250,248,243,.2)}

/* persistent shop access */
.shop-float{
  position:fixed; right:24px; bottom:24px; z-index:20;
  font:700 14px/1 var(--slab); letter-spacing:.1em; text-transform:uppercase; text-decoration:none;
  color:var(--cream-300); background:var(--red-700); border:2px solid var(--cream-300);
  padding:14px 20px; border-radius:999px; box-shadow:0 6px 18px rgba(11,22,38,.3);
  transition:transform .18s ease, background-color .18s ease;
}
.shop-float:hover{background:var(--red)}
.shop-float.is-hidden{opacity:0; transform:translateY(12px); pointer-events:none; visibility:hidden; transition:opacity .2s ease, transform .2s ease, visibility 0s linear .2s}
.shop-float{transition:opacity .2s ease, transform .2s ease, background-color .18s ease, visibility 0s}
.shop-float:active{transform:scale(.97)}

/* ---------- hero ---------- */
.hero{min-height:calc(100svh - 82px); display:flex; align-items:center; padding:40px 0 56px; position:relative}
.hero-grid{display:grid; grid-template-columns:1.15fr 1fr; gap:64px; align-items:center; width:100%}
.eyebrow{
  font:var(--hand); font-size:20px; color:var(--ink); transform:rotate(-2deg);
  display:inline-block; margin:0 0 10px;
}
h1.headline{
  font-family:var(--slab); font-weight:700; color:var(--navy);
  font-size:clamp(38px,6vw,86px); line-height:.96; letter-spacing:-.5px;
  margin:0 0 26px; text-transform:lowercase;
}
h1.headline .fifty{color:var(--red)}
.lede{font-size:clamp(17px,1.5vw,20px); color:var(--navy); max-width:38ch; margin:0 0 8px}
.lede strong{color:var(--red-700)}
.hand-aside{
  font-family:var(--hand); color:var(--ink); font-size:22px; line-height:1.3;
  transform:rotate(-1.5deg); margin-top:22px; position:relative; display:inline-block;
}
.hand-aside svg{position:absolute; left:-6px; bottom:-14px; width:230px; height:22px}
.hero-ctas{display:flex; flex-wrap:wrap; gap:16px 18px; align-items:center; margin-top:40px}

/* hero photo cluster */
.hero-photos{position:relative; min-height:540px}
.photo{
  background:var(--white); padding:10px 10px 14px; border:1px solid rgba(25,49,85,.12);
  box-shadow:3px 6px 18px rgba(11,22,38,.22); position:relative;
}
.photo img{display:block; width:100%; height:auto}
.photo .cap{
  font-family:var(--hand); color:var(--ink); font-size:16px; text-align:center;
  padding-top:8px; line-height:1.15;
}
.tape{
  position:absolute; width:96px; height:30px; background:var(--tape);
  border-left:1px dashed rgba(140,110,60,.35); border-right:1px dashed rgba(140,110,60,.35);
  box-shadow:0 1px 2px rgba(0,0,0,.08);
}
.hero-photos .p-red{position:absolute; right:0; top:0; width:68%; transform:rotate(2.5deg); z-index:2}
.hero-photos .p-red .tape{left:38%; top:-14px; transform:rotate(-6deg)}
.hero-photos .p-color{position:absolute; left:0; bottom:6px; width:52%; transform:rotate(-4deg); z-index:3}
.hero-photos .p-color .tape{left:30%; top:-13px; transform:rotate(4deg)}

/* ---------- bands ---------- */
.band{padding:104px 0}
.band-paper{background:var(--cream-300); border-top:1px solid rgba(25,49,85,.1); border-bottom:1px solid rgba(25,49,85,.1)}
.band-rule{border-top:3px solid var(--navy)}
.sec-head{margin-bottom:8px}
.kicker{font-family:var(--hand); color:var(--ink); font-size:21px; transform:rotate(-1.5deg); display:inline-block; margin-bottom:4px}
h2{
  font-family:var(--slab); font-weight:700; color:var(--navy);
  font-size:clamp(30px,3.8vw,54px); line-height:1.02; margin:0 0 12px; letter-spacing:-.3px;
}
.sec-intro{max-width:60ch; color:var(--gray-700); font-size:18px; margin:0 0 30px}

/* archive collage */
.collage{
  display:flex; flex-wrap:wrap; justify-content:center; align-items:flex-start;
  gap:40px 44px; padding:30px 0 10px;
}
.collage .photo{width:228px}
.collage .wide{width:360px}
.collage .c1{transform:rotate(-3deg)}
.collage .c2{transform:rotate(2deg); margin-top:34px}
.collage .c3{transform:rotate(-1.5deg); margin-top:8px}
.collage .c4{transform:rotate(3deg); margin-top:22px}
.collage .photo .tape{left:34%; top:-13px}
.collage .c1 .tape{transform:rotate(-7deg)}
.collage .c2 .tape{transform:rotate(5deg)}
.collage .c3 .tape{transform:rotate(-3deg)}
.collage .c4 .tape{transform:rotate(8deg); left:24%}
.clip{position:absolute; top:-10px; right:14px; width:20px; height:44px; border:3px solid var(--gray-500); border-radius:12px; border-bottom:none; z-index:4}

/* what's coming (dossier notes) */
.grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:34px; margin-top:30px}
.note{
  background:var(--cream-300); border:1px solid rgba(25,49,85,.14); padding:28px 26px 26px;
  box-shadow:3px 5px 14px rgba(11,22,38,.12); position:relative; color:inherit; text-decoration:none; display:block;
  background-image:repeating-linear-gradient(var(--paper-line) 0 1px, transparent 1px 26px);
  transition:transform .2s ease, box-shadow .2s ease;
}
.grid3 .note:nth-child(1){transform:rotate(-1deg)}
.grid3 .note:nth-child(2){transform:rotate(.6deg)}
.grid3 .note:nth-child(3){transform:rotate(-.6deg)}
a.note:hover{box-shadow:5px 9px 20px rgba(11,22,38,.18)}
.note .pin,.note-open .pin{position:absolute; top:-9px; left:50%; transform:translateX(-50%); width:16px; height:16px; border-radius:50%; background:var(--red); box-shadow:0 2px 4px rgba(0,0,0,.3), inset 0 -3px 4px rgba(0,0,0,.25)}
.note h3{font-family:var(--slab); font-weight:700; font-size:22px; color:var(--navy); margin:6px 0 12px; line-height:1.1}
.note p{font-size:16px; color:var(--gray-700); margin:0}
.stamp{
  display:inline-block; font:700 12px/1 var(--slab); letter-spacing:.12em;
  color:var(--red-700); text-transform:uppercase; border:2px solid var(--red-700);
  padding:6px 10px; transform:rotate(-6deg); opacity:.9; margin-bottom:6px;
  box-shadow:inset 0 0 0 1px rgba(168,28,20,.25);
}
.lockup{font-family:var(--slab); font-weight:700; font-size:27px; letter-spacing:-.5px; margin:4px 0 12px; line-height:1}

/* shop band */
.shop-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:center}
.shop-url{
  display:block; overflow-wrap:anywhere; font-family:var(--slab); font-weight:700; text-transform:lowercase; text-decoration:none;
  font-size:clamp(30px,4.2vw,60px); line-height:1; letter-spacing:.5px; margin:10px 0 26px;
  color:transparent; -webkit-text-stroke:2px var(--red); text-stroke:2px var(--red);
  transition:color .2s ease;
}
.shop-url:hover{color:var(--red)}
.shop-copy{font-size:19px; color:var(--navy); max-width:36ch; margin:0 0 10px}
.shop-stores{font-family:var(--hand); color:var(--ink); font-size:23px; transform:rotate(-1.5deg); display:inline-block; margin:6px 0 30px}
.shop-photos{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px 30px; max-width:540px; width:100%; justify-self:center}
.shop-photos .photo .tape{left:28%; top:-13px}
.shop-photos .s1{transform:rotate(-2.5deg)}
.shop-photos .s2{transform:rotate(2deg); margin-top:46px}
.shop-photos .s3{transform:rotate(-1deg); margin-top:-16px}
.shop-photos .s4{transform:rotate(3deg); margin-top:30px}
.shop-photos .s1 .tape{transform:rotate(-6deg)}
.shop-photos .s2 .tape{transform:rotate(5deg)}
.shop-photos .s3 .tape{transform:rotate(-2deg)}
.shop-photos .s4 .tape{transform:rotate(7deg)}

/* club band */
.club-grid{display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:64px; align-items:center}
.club-head{margin-bottom:8px}
.lockup-xl{font-family:var(--slab); font-weight:700; font-size:clamp(30px,7.4vw,108px); letter-spacing:-1.5px; line-height:.95; margin:14px 0 26px}
.lockup-xl .p76{color:var(--red)} .lockup-xl .md{color:var(--navy)} .lockup-xl .club{color:var(--red)}
.club-lede{font-family:var(--slab); font-weight:700; font-size:clamp(21px,2.1vw,28px); line-height:1.25; color:var(--navy); max-width:30ch; margin:0 0 28px}
.club-lines{list-style:none; margin:0 0 34px; padding:0; max-width:52ch}
.club-lines li{font-size:17px; color:var(--gray-700); padding:12px 0 12px 34px; border-top:1px dashed rgba(25,49,85,.22); position:relative}
.club-lines li::before{content:""; position:absolute; left:4px; top:22px; width:14px; height:3px; background:var(--red); transform:rotate(-8deg)}
.club-photos{position:relative; min-height:600px}
.club-photos .k1{position:absolute; right:0; top:0; width:64%; transform:rotate(2.5deg); z-index:2}
.club-photos .k2{position:absolute; left:0; bottom:0; width:56%; transform:rotate(-3.5deg); z-index:3}
.club-photos .photo .tape{left:32%; top:-13px}
.club-photos .k1 .tape{transform:rotate(-5deg)}
.club-photos .k2 .tape{transform:rotate(4deg)}

/* collection (third note, opened) */
.collection-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:center; margin-top:30px}
.note-open{
  background:var(--cream-300); border:1px solid rgba(25,49,85,.14); padding:36px 34px 32px;
  box-shadow:3px 5px 14px rgba(11,22,38,.12); position:relative; transform:rotate(-.8deg);
  background-image:repeating-linear-gradient(var(--paper-line) 0 1px, transparent 1px 26px);
}
.note-open .open-lede{font-size:17px; line-height:26px; color:var(--navy); margin:8px 0 24px; max-width:42ch}
.lines{list-style:none; margin:0; padding:0}
.lines li{display:grid; grid-template-columns:118px 1fr; gap:16px; align-items:baseline; padding:12px 0; border-top:1px dashed rgba(25,49,85,.22)}
.lines li:first-child{border-top:0}
.lines .word{font-family:var(--hand); color:var(--ink); font-size:21px; line-height:1.1; transform:rotate(-2deg); display:inline-block}
.lines p{margin:0; font-size:15.5px; color:var(--gray-700)}
.note-open .hand-aside{margin-top:18px}
.note-open .hand-aside svg{width:150px}
.shop-link{margin-top:22px; display:flex; flex-wrap:wrap; gap:10px 26px}
.shop-link a{color:var(--red-700); text-decoration:none; font-weight:600; font-size:16px; border-bottom:2px solid rgba(168,28,20,.4); padding-bottom:2px}
.shop-link a:hover{color:var(--red); border-color:var(--red)}
.cluster{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px 30px; padding-top:6px; max-width:560px; width:100%; justify-self:center}
.cluster .photo .tape{left:28%; top:-13px}
.cluster .k1{transform:rotate(2deg)}
.cluster .k2{transform:rotate(-2.5deg); margin-top:42px}
.cluster .k3{transform:rotate(-1.5deg); margin-top:10px}
.cluster .k4{transform:rotate(3deg); margin-top:50px}
.cluster .k1 .tape{transform:rotate(-6deg)}
.cluster .k2 .tape{transform:rotate(5deg)}
.cluster .k3 .tape{transform:rotate(-3deg)}
.cluster .k4 .tape{transform:rotate(7deg); left:40%}

/* team (recruitment) */
.team-grid{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:24px 64px; align-items:end}
.team-copy .sec-intro{margin:0 0 14px}
.team-how{font-size:18px; color:var(--navy); margin:0; max-width:60ch}
.team-how a{color:var(--red-700); font-weight:600; text-decoration:none; border-bottom:2px solid rgba(168,28,20,.4); overflow-wrap:anywhere}
.team-how a:hover{color:var(--red); border-color:var(--red)}
.club-soon{font-family:var(--hand); font-size:22px; color:var(--cream); transform:rotate(-1.5deg); display:inline-block; margin:6px 0 0}
.stores-link{color:var(--red-700); text-decoration:none; border-bottom:2px solid rgba(168,28,20,.4)}
.stores-link:hover{color:var(--red); border-color:var(--red)}
@media(max-width:900px){.team-grid{grid-template-columns:minmax(0,1fr); gap:8px}}

/* campaign signature */
.signature{text-align:center; padding:96px 0 40px}
.sig-md-img{display:block;width:min(760px,86%);height:auto;margin:0 auto 1rem}
.sig-btf{
  font-family:var(--slab); font-weight:700; color:var(--navy);
  font-size:clamp(22px,3.4vw,46px); letter-spacing:.02em; margin:6px 0 0; text-transform:uppercase;
}
.sig-note{font-family:var(--hand); color:var(--ink); font-size:24px; transform:rotate(-1.5deg); margin:22px 0 0}

/* footer / contacts */
.foot{border-top:3px solid var(--navy); margin-top:40px; padding:40px 0 110px; text-align:center}
.stores{font-family:var(--slab); font-weight:700; font-size:clamp(20px,2.6vw,30px); color:var(--navy); margin:0 0 16px}
.contacts{display:flex; gap:10px 26px; justify-content:center; flex-wrap:wrap; margin-bottom:22px}
.contacts a{color:var(--red-700); text-decoration:none; font-weight:600; font-size:16px; border-bottom:2px solid rgba(168,28,20,.4); padding-bottom:2px}
.contacts a:hover{color:var(--red); border-color:var(--red)}
.copyright{font-size:13px; color:var(--gray-500); letter-spacing:.04em}
.copyright strong{color:var(--navy)}

/* reveal (degrades to fully visible without JS).
   v2: uses the individual translate/rotate properties, so the dossier rotations
   set with transform survive the reveal; --py carries the archive parallax. */
.js .reveal{opacity:0; translate:0 calc(var(--py,0px) + 18px)}
.js .reveal.in{opacity:1; translate:0 var(--py,0px); transition:opacity .7s ease, translate .7s cubic-bezier(.2,.7,.2,1), rotate .8s cubic-bezier(.2,.7,.2,1)}
.js .reveal.in.settled{transition:none}
[data-depth]{translate:0 var(--py,0px)}
/* archive photos land on the table: a little extra tilt before they settle */
.js figure.photo.reveal:not(.in){rotate:-2.5deg}
.js figure.photo.reveal:nth-of-type(even):not(.in){rotate:2.5deg}

/* ================================================================
   v2 "dinâmico" (10/11/2026): title entrance, scroll ticker,
   scoreboard 1976 -> 2026 -> 50, shop rail, button micro-interactions.
   Same tokens as above; no new colours. All motion is off with
   prefers-reduced-motion and the content is complete without JS.
   ================================================================ */

/* title entrance: each line rises out of its own slot, then the 50 is stamped */
h1.headline .hl{display:block; clip-path:inset(-.4em -.6em 0 -.6em); padding:0 0 .09em; margin:0 0 -.09em}
h1.headline .hl > span{display:inline-block}
h1.headline .fifty{display:inline-block}
@media (prefers-reduced-motion:no-preference){
  .js h1.headline .hl > span{animation:hl-rise .8s cubic-bezier(.16,1,.3,1) both}
  .js h1.headline .hl:nth-child(2) > span{animation-delay:.08s}
  .js h1.headline .hl:nth-child(3) > span{animation-delay:.16s}
  .js h1.headline .fifty{animation:hl-stamp .6s cubic-bezier(.2,.8,.3,1) .55s both}
  .js .hero-photos .p-red{animation:drop-a .9s cubic-bezier(.16,1,.3,1) .1s both}
  .js .hero-photos .p-color{animation:drop-b .9s cubic-bezier(.16,1,.3,1) .22s both}
}
@media(min-width:1500px){h1.headline{font-size:clamp(86px,5.4vw,118px)} .hero-grid{grid-template-columns:minmax(0,auto) minmax(0,1fr); gap:clamp(64px,5vw,128px)} .hero-photos{min-height:clamp(540px,32vw,760px); width:100%; max-width:820px; justify-self:center}}
@keyframes hl-rise{from{transform:translateY(105%)}to{transform:none}}
@keyframes hl-stamp{0%{opacity:0; transform:scale(.45) rotate(-14deg)}65%{opacity:1; transform:scale(1.06) rotate(2deg)}100%{opacity:1; transform:none}}
@keyframes drop-a{from{transform:translateY(-22px) rotate(7deg)}to{transform:rotate(2.5deg)}}
@keyframes drop-b{from{transform:translateY(-16px) rotate(-9deg)}to{transform:rotate(-4deg)}}

/* ticker: moves on its own all the time (v2.1) with a pause button; static without JS and with reduced motion */
.ticker{background:var(--navy); color:var(--cream-300); overflow:hidden; border-top:3px solid var(--red); position:relative}
.ticker-track{display:flex; width:max-content; will-change:transform}
.ticker p{margin:0; display:flex; flex:0 0 auto; white-space:nowrap; font:700 15px/1 var(--slab); letter-spacing:.14em; text-transform:uppercase; padding:17px 0}
.ticker p span{padding:0 22px}
.ticker p i{font-style:normal; color:var(--cream); opacity:.7}
.ticker-pause{position:absolute; right:0; top:0; bottom:0; width:52px; border:0; border-left:3px solid var(--red); background:var(--navy); color:var(--cream-300); cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:-14px 0 14px -6px var(--navy)}
.ticker-pause span{display:block; width:12px; height:14px; border-left:4px solid currentColor; border-right:4px solid currentColor}
.ticker-pause[aria-pressed="true"] span{width:0; height:0; border-style:solid; border-width:8px 0 8px 13px; border-color:transparent transparent transparent currentColor}
.ticker-pause:hover{background:var(--navy-700)}
.ticker-pause:focus-visible{outline:3px solid var(--red); outline-offset:-5px}
.ticker .ball{display:inline-block; width:9px; height:9px; border-radius:50%; background:var(--red); vertical-align:2px}

/* scoreboard band */
.band-score{background:var(--cream-300); border-bottom:1px solid rgba(25,49,85,.1)}
.score-grid{display:grid; grid-template-columns:minmax(0,4fr) minmax(0,7fr); gap:40px 56px; align-items:center}
.score-copy .sec-intro{margin-bottom:26px}
.scoreboard{
  background:var(--navy-700); color:var(--cream-300); padding:26px 28px 24px; position:relative;
  border:1px solid var(--navy-900); box-shadow:4px 8px 22px rgba(11,22,38,.28), inset 0 0 0 6px var(--navy), inset 0 0 0 7px rgba(245,242,234,.16);
  transform:rotate(-.6deg);
}
.sb-grid{display:grid; grid-template-columns:minmax(0,1.1fr) repeat(3,minmax(0,1fr)); align-items:end}
.sb-grid > *{padding:12px 18px; border-left:1px solid rgba(245,242,234,.16)}
.sb-grid > :nth-child(4n+1){border-left:0; padding-left:4px}
.sb-h{font:700 13px/1 var(--slab); letter-spacing:.2em; text-transform:uppercase; color:var(--cream); display:flex; align-items:center; gap:9px; border-bottom:1px solid rgba(245,242,234,.16)}
.sb-h.sb-blank{border-bottom-color:rgba(245,242,234,.16)}
.lamp{width:10px; height:10px; border-radius:50%; background:var(--red); box-shadow:0 0 0 2px rgba(219,38,27,.25); flex:0 0 auto; transition:background-color .25s ease, box-shadow .25s ease}
.sb-name{font:700 clamp(19px,1.8vw,24px)/1.05 var(--slab); color:var(--cream-300); padding-top:18px !important; padding-bottom:18px !important}
.sb-name small{display:block; font:400 15px/1.2 var(--hand); color:var(--cream); margin-top:6px; letter-spacing:0}
.sb-cell{padding-top:18px !important; padding-bottom:18px !important}
.sb-cell b{display:block; font:700 clamp(30px,2.9vw,44px)/1 var(--slab); font-variant-numeric:tabular-nums lining-nums; color:var(--cream-300); letter-spacing:-.5px; transition:color .25s ease}
.sb-cell small{display:block; font-size:13.5px; color:var(--cream); margin-top:8px; line-height:1.25}
.sb-note{font-family:var(--hand); color:var(--ink); font-size:22px; transform:rotate(-1.5deg); display:inline-block; margin:18px 0 0 6px}
/* armed state (only set by JS when motion is allowed): lamps off until each point is won */
.scoreboard.armed .lamp{background:transparent; box-shadow:inset 0 0 0 2px rgba(245,242,234,.4)}
.scoreboard.armed .sb-cell b{color:rgba(250,248,243,.38)}
.scoreboard.armed .won .lamp{background:var(--red); box-shadow:0 0 0 3px rgba(219,38,27,.3)}
.scoreboard.armed .sb-cell.won b{color:var(--cream-300)}
.scoreboard.armed .sb-cell.live b{color:var(--cream-300)}

/* shop rail: native horizontal scroll inside the band (never the page) */
.rail-head{display:flex; align-items:flex-end; justify-content:space-between; gap:20px}
.rail-nav{display:none; gap:12px; margin-bottom:18px}
.js .rail-nav{display:flex}
.rail-btn{width:48px; height:48px; border:2px solid var(--navy); background:var(--cream-300); color:var(--navy); font:600 20px/1 var(--sans); cursor:pointer; box-shadow:2px 2px 0 rgba(11,22,38,.18); transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease}
.rail-btn:hover{background:var(--white)}
.rail-btn:active{transform:translate(2px,2px); box-shadow:0 0 0 rgba(11,22,38,.18)}
.rail-btn:disabled{opacity:.35; cursor:default}
.rail-btn:focus-visible,.rail:focus-visible{outline:3px solid var(--red); outline-offset:3px}
.rail{overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; scroll-padding-inline:max(clamp(40px, 5vw, 96px), calc((100% - 1680px) / 2 + clamp(40px, 5vw, 96px)));
  scrollbar-width:thin; scrollbar-color:var(--navy) transparent}
.rail::-webkit-scrollbar{height:6px}
.rail::-webkit-scrollbar-thumb{background:var(--navy); border-radius:3px}
.rail-track{list-style:none; margin:0; padding:30px max(clamp(40px, 5vw, 96px), calc((100% - 1680px) / 2 + clamp(40px, 5vw, 96px))) 34px; display:flex; gap:34px; width:max-content}
.product{flex:0 0 min(264px,68vw); scroll-snap-align:start}
.product a{display:block; color:inherit; text-decoration:none}
.product .photo{transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease}
.product:nth-child(5n+1) .photo{transform:rotate(-1.5deg)}
.product:nth-child(5n+2) .photo{transform:rotate(1.2deg)}
.product:nth-child(5n+3) .photo{transform:rotate(-.6deg)}
.product:nth-child(5n+4) .photo{transform:rotate(1.6deg)}
.product:nth-child(5n+5) .photo{transform:rotate(-1deg)}
.product .photo .tape{left:34%; top:-13px; transform:rotate(-5deg)}
.p-fam{display:block; font-family:var(--hand); color:var(--ink); font-size:18px; margin:16px 0 2px; transform:rotate(-1deg)}
.p-name{display:block; font:700 19px/1.2 var(--slab); color:var(--navy)}
.p-go{display:inline-block; margin-top:8px; color:var(--red-700); font-weight:600; font-size:15.5px; border-bottom:2px solid rgba(168,28,20,.4); padding-bottom:1px}
.p-go .arrow{display:inline-block; transition:transform .2s ease}
.product a:focus-visible{outline:3px solid var(--red); outline-offset:6px}
.product-all{display:flex}
.product-all a{display:flex; flex-direction:column; justify-content:center; width:100%; min-height:100%;
  background:var(--cream-300); border:1px solid rgba(25,49,85,.14); padding:30px 26px; box-shadow:3px 5px 14px rgba(11,22,38,.12); position:relative; transform:rotate(.8deg);
  background-image:repeating-linear-gradient(var(--paper-line) 0 1px, transparent 1px 26px)}
.product-all .pin{position:absolute; top:-9px; left:50%; transform:translateX(-50%); width:16px; height:16px; border-radius:50%; background:var(--red); box-shadow:0 2px 4px rgba(0,0,0,.3), inset 0 -3px 4px rgba(0,0,0,.25)}
.product-all strong{display:block; font:700 26px/1.08 var(--slab); color:var(--navy); margin:6px 0 14px}
.product-all .shop-mini{font:700 21px/1 var(--slab); color:var(--red-700); text-transform:lowercase}

/* micro-interactions: the arrow leans forward, the stamp lifts; pressing pushes it down */
.btn .arrow{display:inline-block; transition:transform .2s ease}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .btn:hover{transform:translate(-1px,-1px); box-shadow:4px 4px 0 rgba(11,22,38,.22)}
  .btn:hover .arrow,.product a:hover .p-go .arrow,.product-all a:hover .arrow{transform:translateX(5px)}
  .product a:hover .photo{transform:rotate(0) translateY(-6px); box-shadow:5px 12px 24px rgba(11,22,38,.24)}
  .shop-float:hover{transform:translateY(-2px)}
}
.btn:active{transform:translate(2px,2px); box-shadow:1px 1px 0 rgba(11,22,38,.22)}

@media(max-width:900px){
  .score-grid{grid-template-columns:minmax(0,1fr)}
  .scoreboard{transform:none; padding:20px 16px 18px}
  .rail-track{padding:26px 24px 30px; gap:22px}
  .rail{scroll-padding-inline:24px}
}
@media(max-width:560px){
  .sb-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sb-grid > *{padding:10px 8px}
  .sb-grid > .sb-blank{display:none}
  .sb-grid > :nth-child(4n+1){padding-left:8px}
  .sb-grid > .sb-h:nth-child(2){border-left:0}
  .sb-name{grid-column:1 / -1; order:-1; border-left:0 !important; border-bottom:1px solid rgba(245,242,234,.16); padding:4px 8px 12px !important}
  .sb-name small{display:inline; margin:0 0 0 8px}
  .sb-cell:nth-child(6){border-left:0}
  .sb-cell b{font-size:clamp(24px,7.4vw,32px)}
  .sb-cell small{font-size:12.5px}
  .rail-head{display:block}
  .ticker p{font-size:13px; padding:14px 0}
}
@media(prefers-reduced-motion:reduce){
  .js .reveal{translate:none !important; rotate:none !important}
  [data-depth]{translate:none !important}
  .ticker-track{transform:none !important}
  .ticker-pause{display:none}
  .btn,.btn .arrow,.rail-btn,.product .photo,.p-go .arrow,.lamp,.sb-cell b{transition:none}
}

/* responsive */

.stores-strip{
  background:var(--cream-300); border:1px solid rgba(25,49,85,.14); padding:34px 36px 32px; margin-top:26px;
  box-shadow:3px 5px 14px rgba(11,22,38,.12); position:relative; transform:rotate(-.4deg);
  background-image:repeating-linear-gradient(var(--paper-line) 0 1px, transparent 1px 26px);
  display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:20px 40px; align-items:center;
}
.stores-strip .pin{position:absolute; top:-9px; left:50%; transform:translateX(-50%); width:16px; height:16px; border-radius:50%; background:var(--red); box-shadow:0 2px 4px rgba(0,0,0,.3), inset 0 -3px 4px rgba(0,0,0,.25)}
.stores-count{margin:0; display:flex; align-items:baseline; gap:12px}
.stores-count .n{font-family:var(--slab); font-weight:700; font-size:clamp(56px,6vw,84px); line-height:.9; color:var(--red)}
.stores-count .w{font-family:var(--hand); color:var(--ink); font-size:22px; transform:rotate(-2deg); display:inline-block}
.stores-cities{margin:0; font-family:var(--slab); font-weight:700; font-size:18px; line-height:1.55; color:var(--navy)}
.stores-cities span{white-space:nowrap}
.stores-cities span:not(:last-child)::after{content:"\00a0· "; white-space:normal; color:var(--red)}
.back-home{font-family:var(--hand); color:var(--ink); font-size:20px; text-decoration:none; border-bottom:2px solid rgba(219,38,27,.55); display:inline-block; transform:rotate(-1.5deg); margin:6px 0 0}
.back-home:hover{border-color:var(--red)}
.page-head{padding:64px 0 10px}
.page-lede{font-size:clamp(17px,1.5vw,20px); color:var(--navy); max-width:46ch; margin:0 0 6px}
.page-lede strong{color:var(--red-700)}
.topbar a.home{display:block}
/* ---------- physical stores (source: 00_information/lojas.md, 13/07/2026) ---------- */
.where{font-family:var(--hand); color:var(--ink); font-size:20px; text-decoration:none; border-bottom:2px solid rgba(219,38,27,.55); padding-bottom:1px; display:inline-block; transform:rotate(-1.5deg); margin:2px 0 0}
.where:hover{border-color:var(--red)}
.stores-sheet{
  background:var(--cream-300); border:1px solid rgba(25,49,85,.14); padding:40px 40px 34px; margin-top:30px;
  box-shadow:3px 5px 14px rgba(11,22,38,.12); position:relative; transform:rotate(-.4deg);
  background-image:repeating-linear-gradient(var(--paper-line) 0 1px, transparent 1px 26px);
}
.stores-sheet .pin{position:absolute; top:-9px; left:50%; transform:translateX(-50%); width:16px; height:16px; border-radius:50%; background:var(--red); box-shadow:0 2px 4px rgba(0,0,0,.3), inset 0 -3px 4px rgba(0,0,0,.25)}
.store-list{list-style:none; margin:0; padding:0; display:grid; grid-auto-flow:column; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(4,auto); column-gap:48px}
.store-list li{break-inside:avoid; padding:12px 0 14px; border-top:1px dashed rgba(25,49,85,.22)}
.store-city{display:block; font-family:var(--slab); font-weight:700; font-size:22px; line-height:1.15; color:var(--navy)}
.store-place{display:block; font-size:15.5px; color:var(--gray-700); margin-top:2px}
.store-list .stamp{font-size:10.5px; padding:4px 7px; margin:0 0 0 10px; vertical-align:3px}
.stores-foot{font-family:var(--hand); color:var(--ink); font-size:21px; transform:rotate(-1.5deg); display:inline-block; margin:22px 0 0}
.foot-where{margin:-4px 0 20px}
.foot-where a{color:var(--red-700); text-decoration:none; font-weight:600; font-size:16px; border-bottom:2px solid rgba(168,28,20,.4); padding-bottom:2px}
.foot-where a:hover{color:var(--red); border-color:var(--red)}

@media(max-width:1100px){
  .shop-photos{grid-template-columns:repeat(2,1fr)}
  .shop-photos .s2,.shop-photos .s4,.cluster .k2,.cluster .k4{margin-top:30px}
  .shop-photos .s3,.cluster .k3{margin-top:0}
}
@media(max-width:900px){
  .wrap{padding:0 24px}
  .band{padding:72px 0}
  .hero{min-height:auto; padding:40px 0 48px}
  .hero-grid,.shop-grid,.club-grid,.collection-grid{grid-template-columns:minmax(0,1fr); gap:40px}
  .hero-photos{min-height:auto; display:flex; gap:16px; margin-top:8px}
  .hero-photos .p-red,.hero-photos .p-color{position:static; width:50%}
  .club-photos{min-height:auto; display:flex; gap:16px}
  .club-photos .k1,.club-photos .k2{position:static; width:50%}
  .collage .photo{width:42%} .collage .wide{width:56%}
  .grid3{grid-template-columns:1fr}
  .grid3 .note:nth-child(n){transform:none}
  .note-open{transform:none; padding:30px 22px 26px}
  .store-list{grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(6,auto)}
  .stores-strip{grid-template-columns:1fr; transform:none; padding:30px 22px 26px}
  .stores-sheet{transform:none; padding:32px 22px 26px}
  .shop-url{color:var(--red); -webkit-text-stroke:0; text-stroke:0}
}
@media(max-width:480px){
  .collage{gap:22px 14px}
  .collage .photo,.collage .wide{width:82%}
  .collage .c1,.collage .c2,.collage .c3,.collage .c4{transform:none; margin-top:0}
  .seal{font-size:11px}
  .lines li{grid-template-columns:1fr; gap:4px}
  .store-list{grid-auto-flow:row; grid-template-columns:1fr; grid-template-rows:none}
  .shop-photos,.cluster{gap:24px 14px}
  .shop-photos .photo .tape,.cluster .photo .tape,.cluster .k4 .tape{left:22%}
  .hero-ctas .cta-soon{width:100%}
  .hero-ctas .btn{width:100%; justify-content:center}
  .shop-float{right:16px; bottom:16px; padding:12px 16px; font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .reveal{opacity:1 !important; transform:none !important; transition:none !important}
  .btn,.shop-float,.note,.shop-url{transition:none}
  .shop-float.is-hidden{transition:none; transform:none}
}

.js .reveal{opacity:0; transform:translateY(18px)}
.js .reveal.in{opacity:1; transform:none; transition:opacity .7s ease, transform .7s ease}
.section-stores{padding:18px 0 80px}
.store-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 30px; margin-top:34px}
.store-card{
  background:var(--cream-300); border:1px solid rgba(25,49,85,.14); padding:28px 24px 22px; position:relative;
  box-shadow:3px 5px 14px rgba(11,22,38,.12);
  background-image:repeating-linear-gradient(var(--paper-line) 0 1px, transparent 1px 26px);
}
.store-card:nth-child(3n+1){transform:rotate(-.7deg)}
.store-card:nth-child(3n+2){transform:rotate(.5deg)}
.store-card:nth-child(3n){transform:rotate(-.4deg)}
.store-card .pin{position:absolute; top:-8px; left:50%; transform:translateX(-50%); width:14px; height:14px; border-radius:50%; background:var(--red); box-shadow:0 2px 4px rgba(0,0,0,.3), inset 0 -3px 4px rgba(0,0,0,.25)}
.sc-city{font-family:var(--slab); font-weight:700; font-size:23px; line-height:1.15; color:var(--navy); margin:4px 0 2px}
.sc-city .stamp{font-size:10.5px; padding:4px 7px; margin:0 0 0 10px; vertical-align:4px}
.sc-center{display:block; font-size:15px; color:var(--gray-700); font-weight:600}
.sc-addr{font-size:15.5px; color:var(--navy); margin:12px 0 10px; line-height:1.5}
.sc-hours{font-size:15px; color:var(--gray-700); margin:0; padding-top:10px; border-top:1px dashed rgba(25,49,85,.22)}
.sc-line{display:block}
.sc-label{display:block; font-family:var(--hand); color:var(--ink); font-size:18px; line-height:1.2}
.sc-tbc{font-family:var(--hand); color:var(--gray-700); font-size:18px; display:inline-block; transform:rotate(-1.5deg); border-bottom:1px dashed var(--gray-500)}
@media(max-width:1100px){.store-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.store-grid{grid-template-columns:1fr} .store-card:nth-child(n){transform:none}}
/* ---------- production additions (v1) ---------- */
/* photos without caption (feedback Rodrigo, 04/10: captions only in the archive): even frame, no empty strip */
figure.photo:not(:has(figcaption)){padding-bottom:10px}
.shop-photos .photo,.cluster .photo{align-self:start}
h1.page-title{font-family:var(--slab); font-weight:700; color:var(--navy); font-size:clamp(30px,3.8vw,54px); line-height:1.02; margin:0 0 12px; letter-spacing:-.3px}
.legal{margin:26px auto 0; max-width:760px; display:flex; flex-wrap:wrap; justify-content:center; gap:8px 22px; font-size:14px}
.legal a,.linkish{color:var(--navy); text-decoration:none; border-bottom:1px solid rgba(25,49,85,.35); padding-bottom:1px; font:inherit; font-size:14px; background:none; border-top:0; border-left:0; border-right:0; cursor:pointer}
.legal a:hover,.linkish:hover{border-bottom-color:var(--red)}
.company{font-size:13px; color:var(--gray-700); margin:14px 0 0}
.copyright{color:var(--gray-700)}
.placeholder{font-family:var(--hand); color:var(--ink); font-size:22px; transform:rotate(-1.5deg); display:inline-block; margin:18px 0 0}
.page-body{padding:10px 0 80px; max-width:68ch}
.page-body p{font-size:17px; color:var(--navy)}
/* consent banner (dossier note) */
.consent{position:fixed; right:24px; bottom:24px; z-index:30; max-width:520px; width:calc(100% - 48px);
  background:var(--cream-300); border:1px solid rgba(25,49,85,.18); padding:26px 24px 22px; box-shadow:4px 8px 24px rgba(11,22,38,.22);
  background-image:repeating-linear-gradient(var(--paper-line) 0 1px, transparent 1px 26px); transform:rotate(-.4deg)}
.consent[hidden]{display:none}
.consent .stamp{margin-bottom:10px}
.consent h3{font-size:22px; margin:2px 0 8px}
.consent .consent-stamp{display:inline-block; margin:0 0 12px; font:700 12px/1 var(--slab)}
.consent-more{font-size:14px}
.consent-more a{color:var(--navy)}
.consent-layer[hidden]{display:none}
.switch-row{display:flex; gap:12px; align-items:flex-start; justify-content:space-between; font-size:15px; color:var(--navy); padding:9px 0; border-top:1px dashed rgba(25,49,85,.22)}
.switch-row strong{font-family:var(--slab)}
.switch-row small{display:block; color:var(--gray-700); font-size:13.5px; margin-top:2px}
.switch-row input{flex:0 0 auto; margin-top:4px; accent-color:var(--red-700); width:20px; height:20px}
.switch-row .always{flex:0 0 auto; font-size:13px; color:var(--gray-700); margin-top:3px}
mark.todo{background:rgba(219,38,27,.08); color:var(--red-700); font-weight:600; padding:0 3px; border-bottom:1px dashed var(--red-700)}
.legal-id{font-size:14px; color:var(--navy); margin:22px 0 0}
.lre{display:inline-flex; align-items:center; gap:12px; margin:18px 0 0; padding:10px 18px; border:2px solid var(--navy); background:var(--cream-300); color:var(--navy); text-decoration:none; box-shadow:3px 3px 0 rgba(11,22,38,.18)}
.lre svg{width:26px; height:26px; flex:0 0 auto}
.lre strong{display:block; font-family:var(--slab); font-size:17px; line-height:1.1}
.lre small{display:block; font-size:12.5px; color:var(--gray-700)}
.lre:hover{border-color:var(--red-700)}
.lre:focus-visible{outline:3px solid var(--red); outline-offset:3px}
.legal-page .page-body{max-width:72ch}
.legal-page h2{font-size:clamp(22px,2.2vw,28px); margin:34px 0 10px}
.legal-page h3{font-family:var(--slab); font-weight:700; font-size:19px; color:var(--navy); margin:22px 0 6px}
.legal-page p,.legal-list li{font-size:16.5px; line-height:1.65}
.legal-page a{color:var(--red-700); text-decoration:underline; text-underline-offset:3px}
.legal-page a.back-home{color:var(--ink); text-decoration:none}
.legal-list{padding-left:20px; margin:0 0 14px}
.legal-list li{color:var(--navy); margin:4px 0}
.doc-meta{font-size:14.5px !important; color:var(--gray-700) !important}
.table-wrap{overflow-x:auto; margin:8px 0 16px}
.cookie-table{border-collapse:collapse; width:100%; font-size:14.5px; color:var(--navy); background:var(--cream-300)}
.cookie-table th,.cookie-table td{border:1px solid rgba(25,49,85,.25); padding:8px 10px; text-align:left; vertical-align:top}
.cookie-table th{font-family:var(--slab); background:var(--cream)}
.consent p{font-size:15px; color:var(--gray-700); margin:0 0 14px; line-height:1.55}
.consent-actions{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px}
.btn-consent{font:700 14px/1 var(--slab); letter-spacing:.06em; text-transform:uppercase; padding:13px 10px; border:2px solid var(--navy); background:var(--cream-300); color:var(--navy); cursor:pointer; box-shadow:2px 2px 0 rgba(11,22,38,.18)}
.btn-consent:hover{background:var(--cream)}
.btn-consent:active{transform:translate(1px,1px); box-shadow:1px 1px 0 rgba(11,22,38,.18)}
.btn-consent:focus-visible,.legal .linkish:focus-visible{outline:3px solid var(--red); outline-offset:2px}
.consent-config{margin:4px 0 14px; padding:0; border:0}
.consent-config legend{font-family:var(--hand); color:var(--ink); font-size:19px; margin-bottom:6px}
.consent-config label{display:flex; gap:10px; align-items:flex-start; font-size:15px; color:var(--navy); padding:7px 0; border-top:1px dashed rgba(25,49,85,.22)}
.consent-config input{margin-top:4px; accent-color:var(--red-700); width:18px; height:18px}
.consent-config small{display:block; color:var(--gray-700); font-size:13.5px}
html.consent-open .shop-float{opacity:0; visibility:hidden; pointer-events:none}
@media(max-width:480px){.consent{right:12px; bottom:12px; width:calc(100% - 24px); padding:20px 16px 16px; max-height:calc(100vh - 24px); overflow-y:auto} .btn-consent{font-size:14px; letter-spacing:0; text-transform:none; padding:13px 4px} .consent-actions.l2{grid-template-columns:1fr}}
.page-head > .stamp{margin-bottom:14px}
@media(prefers-reduced-motion:reduce){.btn-consent{transition:none}}
