/* ==========================================================
   STRAWZ — Official Press Kit
   Mobile-first. Tokens → base → components → sections.
   ========================================================== */
:root{
  --bg:#070707; --bg2:#0e0e10; --graphite:#17171a; --graphite2:#212126;
  --line:rgba(255,255,255,.13); --text:#f3f1ed; --muted:#a2a2a8;
  --red:#d11d2c; --red-deep:#8c0f1b; --red-hi:#ff4150;
  --magenta:#c2185b; --violet:#6a3df0;
  --gut:clamp(1.1rem,4.5vw,3.5rem);
  --max:1440px;
  --ease:cubic-bezier(.2,.7,.1,1);
  --f-d:"Archivo","Helvetica Neue",Arial,sans-serif;
  --f-m:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --hdr:64px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--f-d);font-size:1rem;line-height:1.6;font-weight:400;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.is-locked{overflow:hidden}
img,video,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,p,figure,blockquote{margin:0}
:focus-visible{outline:2px solid var(--red-hi);outline-offset:3px}
::selection{background:var(--red);color:#fff}
section[id]{scroll-margin-top:calc(var(--hdr) - 8px)}

.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gut)}
.section{padding-block:clamp(4.5rem,11vw,9rem)}
.mono{font-family:var(--f-m);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:400}
.skip{position:fixed;left:1rem;top:-4rem;z-index:200;background:var(--red);color:#fff;padding:.7rem 1rem;font-weight:600;transition:top .2s}
.skip:focus{top:1rem}

.grain{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.pagebar{position:fixed;top:0;left:0;right:0;height:2px;z-index:120;pointer-events:none}
.pagebar i{display:block;height:100%;background:var(--red);transform-origin:0 50%;transform:scaleX(var(--page-p,0))}

/* ---------- type ---------- */
.h2{font-size:clamp(2.1rem,6.2vw,5.2rem);line-height:.98;font-weight:800;font-stretch:112%;text-transform:uppercase;letter-spacing:-.02em;text-wrap:balance}
.eyebrow{font-family:var(--f-m);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:flex;gap:.9rem;align-items:center;margin-bottom:1.3rem}
.eyebrow span{color:var(--red-hi)}
.eyebrow::after{content:"";height:1px;width:3rem;background:var(--line)}
.sub{color:var(--muted);font-size:clamp(1rem,1.5vw,1.2rem);max-width:38rem;margin-top:1.4rem;text-wrap:pretty}
.lead{font-size:clamp(1.12rem,2vw,1.6rem);line-height:1.5;font-weight:300;max-width:36rem;text-wrap:pretty}
.sec-head{margin-bottom:clamp(2.5rem,6vw,5rem)}

/* word-mask reveal */
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}
.w>span{display:inline-block}
.js [data-split] .w>span{transform:translateY(105%);transition:transform 1s var(--ease);transition-delay:calc(var(--i)*70ms)}
.js [data-split].is-in .w>span{transform:none}
.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js [data-reveal].is-in{opacity:1;transform:none}

/* ---------- buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:48px;padding:.85rem 1.6rem;background:var(--red);color:#fff;font-weight:700;font-stretch:108%;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;overflow:hidden;isolation:isolate;border:1px solid var(--red);transition:transform .25s var(--ease),border-color .3s,color .3s}
.btn::before{content:"";position:absolute;inset:0;background:#fff;transform:translateY(101%);transition:transform .4s var(--ease);z-index:-1}
.btn span{position:relative;display:inline-flex;align-items:center;gap:.7rem}
.btn span::after{content:"→";transition:transform .3s var(--ease)}
.btn:hover{color:#0a0a0a;border-color:#fff}
.btn:hover::before{transform:none}
.btn:hover span::after{transform:translateX(4px)}
.btn:active{transform:scale(.97)}
.btn--sm{min-height:42px;padding:.6rem 1.1rem;font-size:.72rem}
.btn--lg{min-height:58px;padding:1rem 2.1rem;font-size:.92rem}
.btn--ghost{background:transparent;border-color:var(--line);color:var(--text)}
.btn--ghost:hover{border-color:#fff}

/* ---------- header ---------- */
.hdr{position:fixed;inset:0 0 auto 0;z-index:120;height:var(--hdr);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-inline:var(--gut);transition:background .4s,backdrop-filter .4s,border-color .4s;border-bottom:1px solid transparent}
.hdr.is-scrolled{background:rgba(7,7,7,.66);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);border-color:var(--line)}
.hdr__logo{font-weight:900;font-stretch:125%;letter-spacing:.14em;font-size:1.02rem}
.hdr__nav{display:none}
.hdr__cta{display:none}
.burger{position:relative;width:48px;height:48px;margin-right:-.6rem;z-index:130}
.burger i{position:absolute;left:12px;right:12px;height:2px;background:#fff;transition:transform .4s var(--ease),top .4s var(--ease)}
.burger i:nth-child(1){top:19px}.burger i:nth-child(2){top:27px}
.burger[aria-expanded=true] i:nth-child(1){top:23px;transform:rotate(45deg)}
.burger[aria-expanded=true] i:nth-child(2){top:23px;transform:rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:110;background:rgba(7,7,7,.97);display:flex;flex-direction:column;justify-content:center;gap:2.2rem;padding:calc(var(--hdr) + 1rem) var(--gut) 2.5rem;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
.menu.is-open{opacity:1;visibility:visible}
.menu nav{display:flex;flex-direction:column}
.menu nav a{display:flex;align-items:baseline;gap:1rem;padding:.55rem 0;font-size:clamp(2rem,10vw,3.4rem);font-weight:800;font-stretch:115%;text-transform:uppercase;letter-spacing:-.01em;border-bottom:1px solid var(--line);transform:translateY(20px);opacity:0;transition:transform .6s var(--ease),opacity .6s,color .3s}
.menu.is-open nav a{transform:none;opacity:1}
.menu.is-open nav a:nth-child(2){transition-delay:.05s}.menu.is-open nav a:nth-child(3){transition-delay:.1s}.menu.is-open nav a:nth-child(4){transition-delay:.15s}.menu.is-open nav a:nth-child(5){transition-delay:.2s}
.menu nav a small{font-family:var(--f-m);font-size:.7rem;color:var(--red-hi);letter-spacing:.1em}
.menu nav a:hover{color:var(--red-hi)}
.menu__cta{align-self:stretch}

/* ---------- hero ---------- */
.hero{position:relative;height:calc(100vh + 320vh);height:calc(100svh + 320svh);background:#000}
.hero__stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:#000}
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000;pointer-events:none}
@media (max-aspect-ratio:3/2){
  .hero__video{object-fit:contain;object-position:50% 40%;transform:scale(1.1);transform-origin:50% 40%}
}
.hero__shade{position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(to top,rgba(0,0,0,.82) 0%,rgba(0,0,0,0) 38%),
  linear-gradient(to bottom,rgba(0,0,0,.55) 0%,rgba(0,0,0,0) 22%),
  radial-gradient(ellipse at 50% 50%,transparent 55%,rgba(0,0,0,.5) 100%)}
.hero__content{position:absolute;left:var(--gut);right:var(--gut);bottom:calc(var(--gut) + 5.2rem);pointer-events:none;
  opacity:clamp(0,calc(1.7 - var(--p,0)*2),1);transform:translateY(calc(var(--p,0)*40px))}
.hero__role{color:var(--text);opacity:.85;margin-bottom:.7rem}
.hero__name{font-size:clamp(3rem,15vw,9.5rem);line-height:.86;font-weight:900;font-stretch:125%;letter-spacing:-.035em;text-transform:uppercase}
.hero__scroll{position:absolute;left:var(--gut);bottom:var(--gut);display:flex;align-items:center;gap:1rem;color:var(--text);transition:opacity .4s;opacity:clamp(0,calc(1 - var(--p,0)*14),1)}
.hero__mouse{position:relative;width:22px;height:36px;border:1.5px solid rgba(255,255,255,.7);border-radius:12px}
.hero__mouse i{position:absolute;left:50%;top:7px;width:3px;height:7px;margin-left:-1.5px;border-radius:2px;background:var(--red-hi);animation:wheel 1.8s var(--ease) infinite}
@keyframes wheel{0%{transform:translateY(0);opacity:1}70%{transform:translateY(12px);opacity:0}100%{opacity:0}}
.hero__bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.12)}
.hero__bar i{display:block;height:100%;background:var(--red);transform-origin:0 50%;transform:scaleX(var(--p,0))}
@media (min-width:900px){
  .hero__content{left:auto;right:var(--gut);bottom:var(--gut);text-align:right}
  .hero__name{font-size:clamp(4rem,9.5vw,10rem)}
}
/* estática: reduced motion ou falha de vídeo */
.hero--static{height:100vh;height:100svh}
.hero--static .hero__content{opacity:1;transform:none}
.hero--static .hero__name{font-size:clamp(2.2rem,7vw,5rem)}
.hero--static .hero__scroll,.hero--static .hero__bar{display:none}

/* ---------- intro ---------- */
.intro{background:linear-gradient(to bottom,#000,var(--bg) 25%);overflow:hidden}
.intro__grid{display:grid;gap:3.5rem}
.intro__title{font-size:clamp(3.6rem,17vw,12rem);line-height:.85;font-weight:900;font-stretch:125%;letter-spacing:-.04em;text-transform:uppercase;margin-bottom:1.2rem}
.intro__role{color:var(--red-hi);margin-bottom:2rem}
.tags{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem}
.tags li{font-family:var(--f-m);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--line);padding:.55rem .9rem}
.intro__visual{position:relative;padding-bottom:22%}
.ph{position:relative}
.ph__in{overflow:hidden;position:relative;background:var(--graphite)}
.ph__in img{width:100%;height:100%;object-fit:cover;transform:scale(1.14);will-change:transform}
.ph--portrait{width:78%;margin-left:auto}
.ph--portrait .ph__in{aspect-ratio:4/5}
.ph--float{position:absolute;left:0;bottom:0;width:52%}
.ph--float .ph__in{aspect-ratio:3/2;border:6px solid var(--bg)}
.ph figcaption{margin-top:.7rem;color:var(--muted)}
.ph--float figcaption{position:absolute;left:0;top:100%}
@media (min-width:900px){
  .intro__grid{grid-template-columns:1.05fr 1fr;align-items:center;gap:5vw}
  .intro__visual{padding-bottom:16%}
  .ph--portrait{width:72%}
}

.ticker{overflow:hidden;border-block:1px solid var(--line);padding:1.1rem 0;background:var(--bg2)}
.ticker__track{display:flex;align-items:center;gap:2.4rem;width:max-content;animation:tick 40s linear infinite;font-weight:800;font-stretch:125%;text-transform:uppercase;font-size:clamp(1rem,2.4vw,1.5rem);letter-spacing:.06em}
.ticker__track i{width:8px;height:8px;background:var(--red);transform:rotate(45deg);flex:none}
@keyframes tick{to{transform:translateX(-50%)}}

/* ---------- bio ---------- */
.bio{background:var(--bg)}
.bio__grid{display:grid;gap:3rem}
.bio__sticky .ph--bio{display:none;margin-top:2.5rem;max-width:20rem}
.bio__sticky .ph--bio .ph__in{aspect-ratio:3/4}
.chap{display:grid;grid-template-columns:5.2rem 1fr;gap:1.2rem;padding-block:1.8rem;border-top:1px solid var(--line)}
.chap__date{font-size:clamp(1.5rem,5vw,2.4rem);line-height:1;font-weight:800;font-stretch:112%;color:var(--text);letter-spacing:-.02em}
.chap__date--txt{font-size:.78rem;font-family:var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:400;padding-top:.3rem}
.chap__t{font-size:.76rem;font-family:var(--f-m);letter-spacing:.16em;text-transform:uppercase;color:var(--red-hi);font-weight:500;margin-bottom:.7rem}
.chap p:not(.chap__date){color:#cfcfd3;max-width:38rem;text-wrap:pretty}
.chap strong{color:var(--text);font-weight:600}
.chap--hl{background:linear-gradient(90deg,rgba(209,29,44,.12),transparent 70%);border-top-color:var(--red);padding-inline:1rem;margin-inline:-1rem}
.chap--hl .chap__date{color:var(--red-hi)}
.badge{display:inline-block;font-family:var(--f-m);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;background:var(--red);color:#fff;padding:.3rem .6rem;margin-bottom:.8rem}
.chap--hl .chap__t{display:block}
.ph--wide{margin-block:1.5rem 2rem}
.ph--wide .ph__in{aspect-ratio:3/2}
.pull{margin-top:2.5rem;padding-left:1.4rem;border-left:3px solid var(--red);font-size:clamp(1.2rem,2.4vw,1.8rem);line-height:1.35;font-weight:300;text-wrap:pretty}
@media (min-width:900px){
  .bio__grid{grid-template-columns:.8fr 1.2fr;gap:6vw;align-items:start}
  .bio__sticky{position:sticky;top:calc(var(--hdr) + 2rem)}
  .bio__sticky .ph--bio{display:block}
  .chap{grid-template-columns:8rem 1fr;gap:2rem}
}

/* ---------- journey / timeline ---------- */
.journey{background:var(--bg2);position:relative}
.tl{position:relative;display:grid;gap:2.6rem;padding-left:2rem;--tl:0}
.tl::before,.tl::after{content:"";position:absolute;left:5px;top:.4rem;bottom:.4rem;width:2px}
.tl::before{background:var(--line)}
.tl::after{background:var(--red);transform-origin:50% 0;transform:scaleY(var(--tl))}
.tl__i{position:relative}
.tl__i::before{content:"";position:absolute;left:calc(-2rem + 0px);top:.55rem;width:12px;height:12px;background:var(--bg2);border:2px solid var(--muted);border-radius:50%;transition:border-color .5s,background .5s}
.tl__i.is-in::before{border-color:var(--red-hi);background:var(--red)}
.tl__d{display:block;font-size:clamp(2rem,6vw,3.6rem);font-weight:800;font-stretch:112%;line-height:1;letter-spacing:-.02em;text-transform:uppercase}
.tl__t{font-family:var(--f-m);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--red-hi);font-weight:500;margin:.8rem 0 .5rem}
.tl__i p{color:#c6c6cb;max-width:30rem}
.tl__i--hl .tl__d{color:var(--red-hi)}
.tl__i--hl{padding:1.4rem 1.2rem;background:linear-gradient(135deg,rgba(209,29,44,.14),rgba(23,23,26,.4));border:1px solid rgba(209,29,44,.35)}
.tl__i--hl::before{top:1.9rem}
.tl__i .badge{margin:.8rem 0 0}
.tl__ph{margin-top:1.2rem;max-width:15rem}
.tl__ph--land{max-width:24rem}
.tl__ph img{width:100%;height:auto}
@media (min-width:900px){
  .tl{padding-left:0;gap:0;grid-template-columns:1fr 1fr}
  .tl::before,.tl::after{left:50%;margin-left:-1px}
  .tl__i{grid-column:1;padding:0 4.5rem 4.5rem 0;text-align:right}
  .tl__i:nth-child(even){grid-column:2;padding:0 0 4.5rem 4.5rem;text-align:left;margin-top:6rem;margin-bottom:-6rem}
  .tl__i::before{top:.9rem}
  .tl__i:nth-child(odd)::before{left:auto;right:-6px}
  .tl__i:nth-child(even)::before{left:-6px}
  .tl__i p{margin-left:auto}
  .tl__i:nth-child(even) p{margin-left:0}
  .tl__i--hl{padding:1.8rem 2rem;margin-right:4.5rem;margin-bottom:4.5rem}
  .tl__i--hl:nth-child(even){padding:1.8rem 2rem;margin-right:0;margin-left:4.5rem;margin-top:6rem;margin-bottom:-1.5rem}
  .tl__i--hl::before{top:2.4rem}
  .tl__i--hl:nth-child(odd)::before{right:calc(-4.5rem - 6px)}
  .tl__i--hl:nth-child(even)::before{left:calc(-4.5rem - 6px)}
  .tl__i:nth-child(odd) .tl__ph{margin-left:auto}
}

/* ---------- gallery ---------- */
.gallery{background:var(--bg)}
.gl{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:.7rem;margin-top:clamp(3rem,7vw,6rem)}
.gl:first-of-type{margin-top:0}
.gl__label{grid-column:1/-1;display:flex;align-items:center;gap:1rem;color:var(--muted);margin-bottom:.4rem}
.gl__label i{width:2.5rem;height:1px;background:var(--red)}
.gi{position:relative;display:block;overflow:hidden;background:var(--graphite);cursor:zoom-in;min-height:0}
.gi__in{position:absolute;inset:0;display:block;overflow:hidden}
.gi__in img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:filter .6s;filter:saturate(.95)}
.gi::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.45),transparent 50%);opacity:0;transition:opacity .5s;pointer-events:none}
.gi::before{content:"+";position:absolute;right:.9rem;bottom:.8rem;z-index:2;width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.6);color:#fff;font-size:1.2rem;line-height:1;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s var(--ease);background:rgba(0,0,0,.35)}
.gi:hover::after,.gi:focus-visible::after{opacity:1}
.gi:hover::before,.gi:focus-visible::before{opacity:1;transform:none}
.gi:hover .gi__in img{filter:saturate(1.15) contrast(1.04)}
.gi:active{transform:scale(.99)}
/* aspect helpers (mobile) */
.gi--a1{grid-column:1/-1;aspect-ratio:3/2}
.gi--a2{grid-column:1/4;aspect-ratio:2/3}
.gi--a3{grid-column:4/7;aspect-ratio:2/3}
.gi--a4{grid-column:1/4;aspect-ratio:2/3}
.gi--a5{grid-column:4/7;aspect-ratio:2/3}
.gi--b1{grid-column:1/-1;aspect-ratio:3/2}
.gi--b2{grid-column:2/-1;aspect-ratio:3/2}
.gl__note{grid-column:1/-1;color:var(--muted);max-width:26rem}
.gi--c1{grid-column:1/6;aspect-ratio:3/4}
.gl__txt{grid-column:1/-1;margin-top:1rem}
.gl__txt .big{font-size:clamp(1.6rem,4vw,3rem);line-height:1.05;font-weight:800;font-stretch:112%;text-transform:uppercase;letter-spacing:-.02em;margin-bottom:1rem;text-wrap:balance}
.gl__txt p:not(.big){color:var(--muted);max-width:26rem}
@media (min-width:900px){
  .gl{grid-template-columns:repeat(12,1fr);gap:1rem;align-items:start}
  .gi--a1{grid-column:1/9;aspect-ratio:3/2}
  .gi--a2{grid-column:9/13;aspect-ratio:2/3}
  .gi--a3{grid-column:1/5;aspect-ratio:3/4}
  .gi--a4{grid-column:5/9;aspect-ratio:3/4;margin-top:4.5rem}
  .gi--a5{grid-column:9/13;aspect-ratio:3/4;margin-top:-4rem}
  .gi--b1{grid-column:1/9;grid-row:2;aspect-ratio:3/2}
  .gl__note{grid-column:9/13;grid-row:2;padding-top:.5rem;font-size:1.05rem;max-width:20rem}
  .gi--b2{grid-column:6/13;grid-row:3;aspect-ratio:3/2;margin-top:-9vw;border:8px solid var(--bg);z-index:2}
  .gl--c{align-items:center}
  .gi--c1{grid-column:2/7;aspect-ratio:3/4}
  .gl__txt{grid-column:8/13;margin:0}
}

/* lightbox */
.lb{position:fixed;inset:0;z-index:300;background:rgba(4,4,4,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;opacity:0;transition:opacity .35s}
.lb[hidden]{display:none}
.lb.is-open{opacity:1}
.lb__f{margin:0;display:flex;flex-direction:column;align-items:center;gap:.9rem;max-width:min(94vw,1500px);padding:0 0 .5rem;touch-action:pan-y}
.lb__f img{max-width:100%;max-height:calc(100svh - 7.5rem);width:auto;height:auto;object-fit:contain;transform:scale(.97);transition:transform .5s var(--ease),opacity .3s}
.lb.is-open .lb__f img{transform:none}
.lb__f img.is-swap{opacity:0}
.lb__f figcaption{display:flex;gap:1.5rem;justify-content:space-between;width:100%;color:var(--muted)}
.lb__x{position:absolute;top:max(.8rem,env(safe-area-inset-top));right:.8rem;width:52px;height:52px;z-index:3}
.lb__x i{position:absolute;left:14px;right:14px;top:25px;height:2px;background:#fff}
.lb__x i:first-child{transform:rotate(45deg)}.lb__x i:last-child{transform:rotate(-45deg)}
.lb__n{position:absolute;top:50%;width:52px;height:52px;margin-top:-26px;display:grid;place-items:center;z-index:2;border:1px solid var(--line);background:rgba(0,0,0,.4);transition:border-color .3s,background .3s}
.lb__n svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:2}
.lb__n:hover{border-color:#fff;background:rgba(209,29,44,.5)}
.lb__n--p{left:.6rem}.lb__n--n{right:.6rem}
@media (min-width:900px){.lb__n--p{left:2rem}.lb__n--n{right:2rem}.lb__x{right:1.6rem;top:1.4rem}}
.vb__box{width:min(94vw,1200px)}
.vb__frame{position:relative;aspect-ratio:16/9;background:#000;border:1px solid var(--line)}
.vb__frame iframe{background:#000;position:absolute;inset:0;width:100%;height:100%;border:0}
.vb__foot{display:flex;justify-content:space-between;gap:1rem;margin-top:.9rem;color:var(--muted);flex-wrap:wrap}
.vb__foot a{color:var(--text);border-bottom:1px solid var(--red)}

/* ---------- sets ---------- */
.sets{background:var(--bg2)}
.sets__grid{display:grid;gap:2.4rem}
.vc__btn{display:block;width:100%;text-align:left}
.vc__media{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--graphite);border:1px solid var(--line)}
.vc__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease),filter .5s;filter:saturate(.9)}
.vc__media img.is-fallback{filter:saturate(.9) brightness(.8)}
.vc__shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.6),rgba(0,0,0,.18) 55%,rgba(0,0,0,.35))}
.vc__tag{position:absolute;left:.9rem;top:.9rem;background:rgba(0,0,0,.6);padding:.35rem .6rem;border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.vc__play{position:absolute;left:50%;top:50%;width:clamp(58px,7vw,84px);aspect-ratio:1;margin:calc(clamp(58px,7vw,84px)/-2) 0 0 calc(clamp(58px,7vw,84px)/-2);display:grid;place-items:center;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(209,29,44,.55);transition:transform .4s var(--ease),background .3s}
.vc__play svg{width:38%;fill:#fff;margin-left:6%}
.vc__btn:hover .vc__media img{transform:scale(1.05);filter:saturate(1.1)}
.vc__btn:hover .vc__play{transform:scale(1.1);animation:pulse 1.6s infinite}
.vc__btn:active .vc__play{transform:scale(.92)}
@keyframes pulse{70%{box-shadow:0 0 0 18px rgba(209,29,44,0)}100%{box-shadow:0 0 0 0 rgba(209,29,44,0)}}
.vc__txt{padding-top:1.1rem}
.vc__txt h3{font-size:clamp(1.3rem,2.4vw,1.9rem);font-weight:800;font-stretch:112%;text-transform:uppercase;letter-spacing:-.01em;line-height:1.05;margin-bottom:.5rem}
.vc__txt p{color:var(--muted);max-width:28rem}
@media (min-width:900px){
  .sets__grid{grid-template-columns:1.5fr 1fr;grid-template-rows:auto auto;gap:3rem 3rem}
  .vc--1{grid-row:1/3}
  .vc--1 .vc__txt h3{font-size:clamp(2rem,3.4vw,3rem)}
  .vc--2,.vc--3{align-self:start}
}

/* ---------- band CTA ---------- */
.band{background:var(--red);color:#fff;position:relative;overflow:hidden}
.band::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,var(--red-deep),transparent 60%);opacity:.7}
.band__in{position:relative;padding-block:clamp(3.5rem,8vw,6rem);display:grid;gap:1.2rem;justify-items:start}
.band__t{font-size:clamp(2rem,7vw,5.2rem);font-weight:900;font-stretch:118%;line-height:.95;text-transform:uppercase;letter-spacing:-.025em;text-wrap:balance}
.band__s{max-width:34rem;font-size:1.1rem;opacity:.92}
.band .btn{background:#fff;color:#0a0a0a;border-color:#fff}
.band .btn::before{background:#0a0a0a}
.band .btn:hover{color:#fff;border-color:#0a0a0a}

/* ---------- identity ---------- */
.sound{background:var(--bg);overflow:hidden}
.sound__h{max-width:14ch}
.sound__words{margin-block:clamp(2.5rem,6vw,5rem);overflow:hidden}
.sw{display:flex;gap:.4em;white-space:nowrap;width:max-content;font-size:clamp(3.6rem,15vw,13rem);line-height:.95;font-weight:900;font-stretch:125%;text-transform:uppercase;letter-spacing:-.04em;will-change:transform}
.sw span{display:block;transition:color .4s,-webkit-text-stroke-color .4s}
.sw .o{color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.5)}
.sw:hover span:not(.o){color:var(--red-hi)}
.sw:hover .o{-webkit-text-stroke-color:var(--red-hi)}
.sw--1{margin-left:-6vw}.sw--2{margin-left:-30vw}.sw--3{margin-left:-14vw}
.vstk{display:grid;gap:1.6rem;align-items:center;padding-block:2rem;border-top:1px solid var(--line)}
.vstk__mark{display:flex;align-items:center;gap:.8rem;font-family:var(--f-m);font-weight:500;font-size:clamp(1.6rem,4vw,2.4rem);letter-spacing:.3em}
.vstk__mark i{width:.7em;height:.7em;background:var(--red)}
.vstk__k{color:var(--red-hi);margin-bottom:.7rem}
.vstk__t{font-size:clamp(1.05rem,1.8vw,1.4rem);font-weight:300;max-width:38rem;text-wrap:pretty}
@media (min-width:900px){.vstk{grid-template-columns:20rem 1fr;gap:4rem}}

/* ---------- instagram ---------- */
.ig{background:var(--bg2)}
.ig__grid{display:grid;gap:2.8rem;align-items:center}
.ph--ig{max-width:26rem}
.ph--ig .ph__in{aspect-ratio:3/4}
.ig__text .btn{margin-top:2rem}
@media (min-width:900px){
  .ig__grid{grid-template-columns:.9fr 1.1fr;gap:7vw}
  .ph--ig{max-width:none;max-height:none}
}

/* ---------- booking ---------- */
.booking{position:relative;isolation:isolate;overflow:hidden;padding-block:clamp(5rem,13vw,11rem);background:#000}
.booking__bg{position:absolute;inset:0;z-index:-2}
.booking__bg img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.booking__shade{position:absolute;inset:0;z-index:-1;background:
  linear-gradient(to top,rgba(0,0,0,.95),rgba(0,0,0,.6) 55%,rgba(0,0,0,.8)),
  radial-gradient(ellipse at 20% 80%,rgba(209,29,44,.35),transparent 60%)}
.booking__h{font-size:clamp(2.4rem,9.5vw,8rem);line-height:.9;font-weight:900;font-stretch:122%;text-transform:uppercase;letter-spacing:-.035em;margin-bottom:2rem;text-wrap:balance;max-width:16ch}
.booking__cta{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2.4rem}
.booking__cta .btn{flex:1 1 15rem}
.steps{display:grid;gap:1px;margin-top:3.2rem;background:var(--line);border:1px solid var(--line)}
.steps li{display:flex;gap:1.1rem;padding:1.2rem 1.2rem;background:rgba(7,7,7,.82);align-items:baseline}
.steps b{font-family:var(--f-m);font-weight:500;color:var(--red-hi);font-size:.8rem}
.steps span{color:#d4d4d8}
.booking__who{margin-top:1.8rem;color:var(--muted)}
@media (min-width:900px){
  .steps{grid-template-columns:repeat(3,1fr)}
  .steps li{flex-direction:column;gap:.8rem;padding:1.5rem}
  .booking__cta .btn{flex:0 0 auto}
}

/* ---------- footer ---------- */
.ftr{background:#000;border-top:1px solid var(--line);padding-block:clamp(3rem,6vw,5rem) 6rem}
.ftr__in{display:grid;gap:1.2rem}
.ftr__logo{font-size:clamp(2.6rem,12vw,8rem);font-weight:900;font-stretch:125%;letter-spacing:-.03em;line-height:.9}
.ftr__role{color:var(--red-hi)}
.ftr__nav{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}
.ftr__nav a{width:max-content;max-width:100%;padding:.5rem 0;border-bottom:1px solid var(--line);transition:border-color .3s,color .3s}
.ftr__nav a:hover{border-color:var(--red);color:var(--red-hi)}
.ftr__c{color:var(--muted);margin-top:1.5rem;line-height:1.8}

/* ---------- WhatsApp FAB ---------- */
.fab{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:95;display:flex;align-items:center;gap:.6rem;min-height:52px;padding:0 1.15rem;background:var(--red);color:#fff;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.5);font-weight:700;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .5s,transform .5s var(--ease),background .3s}
.fab.is-on{opacity:1;transform:none;pointer-events:auto}
.fab svg{width:20px;height:20px;fill:#fff}
.fab:hover{background:var(--red-hi)}
.fab:active{transform:scale(.95)}
@media (max-width:599px){.fab{width:52px;padding:0;justify-content:center}.fab span{display:none}}
.fab--hide{opacity:0!important;pointer-events:none!important}

/* ---------- desktop header ---------- */
@media (min-width:980px){
  .hdr__nav{display:flex;gap:2.2rem;position:absolute;left:50%;transform:translateX(-50%)}
  .hdr__nav a{position:relative;font-family:var(--f-m);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;padding:.6rem 0;color:rgba(255,255,255,.78);transition:color .3s}
  .hdr__nav a::after{content:"";position:absolute;left:0;right:0;bottom:.2rem;height:1px;background:var(--red-hi);transform:scaleX(0);transform-origin:0 50%;transition:transform .4s var(--ease)}
  .hdr__nav a:hover,.hdr__nav a.is-active{color:#fff}
  .hdr__nav a:hover::after,.hdr__nav a.is-active::after{transform:scaleX(1)}
  .hdr__cta{display:inline-flex}
  .burger,.menu{display:none}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}
  .js [data-reveal]{opacity:1;transform:none}
  .js [data-split] .w>span{transform:none}
  .ph__in img,.gi__in img{transform:none}
  .ticker__track{animation:none}
}
