/* ============================================================
   TIMERUN — Assessoria Esportiva. Athletic neo-poster.
   Brand: yellow + black. ONE theme toggle = Amarelo (light) /
   Preto (dark). Signature: curved section cuts, hazard stripes,
   halftone texture, giant chevrons, marquees.
   Vanilla. Loaded standalone. image-slot.js for photo slots.
   ============================================================ */

/* ---------------- TOKENS ---------------- */
:root{
  --yellow:#FFC400;
  --yellow-deep:#F2B600;
  --black:#141414;
  --ink-soft:#2A2A2A;
  --white:#FFFDF7;

  /* AMARELO (default / light): yellow dominant, black ink */
  --bg:var(--yellow);
  --fg:var(--black);
  --muted:rgba(20,20,20,.66);
  --accent:var(--black);        /* contrast ink */
  --surface:var(--black);       /* panels/cards = black */
  --surface-fg:var(--yellow);   /* text on panel = yellow */
  --surface-muted:rgba(255,196,0,.7);
  --line:var(--black);
  --pop-bg:var(--black);        /* inverted section */
  --pop-fg:var(--white);
  --pop-accent:var(--yellow);
  --pop-muted:rgba(255,253,247,.72);
  --halftone:rgba(20,20,20,.16);
  --shadow-tone:#9A7300;
  --shadow:6px 6px 0 var(--black);
  --shadow-sm:4px 4px 0 var(--black);
}
body.preto{
  /* PRETO (dark): black dominant, yellow accent */
  --bg:var(--black);
  --fg:var(--white);
  --muted:rgba(255,253,247,.6);
  --accent:var(--yellow);
  --surface:var(--yellow);
  --surface-fg:var(--black);
  --surface-muted:rgba(20,20,20,.7);
  --line:var(--yellow);
  --pop-bg:var(--yellow);
  --pop-fg:var(--black);
  --pop-accent:var(--black);
  --pop-muted:rgba(20,20,20,.74);
  --halftone:rgba(255,196,0,.16);
  --shadow-tone:#9A7300;
  --shadow:6px 6px 0 #000;
  --shadow-sm:4px 4px 0 #000;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--bg);color:var(--fg);
  font-family:'Archivo',system-ui,sans-serif;font-size:17px;line-height:1.5;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
  transition:background .4s ease,color .4s ease;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(20px,4vw,56px);}

/* display type — heavy condensed poster, slight italic lean */
h1,h2,h3,.display{font-family:'Anton',Impact,sans-serif;font-weight:400;text-transform:uppercase;line-height:1.15;letter-spacing:.01em;}
.skew{display:inline-block;transform:skewX(-7deg);}
.eyebrow{font-family:'Archivo',sans-serif;font-weight:800;font-style:italic;text-transform:uppercase;letter-spacing:.12em;font-size:13px;display:inline-flex;align-items:center;gap:9px;}
.eyebrow::before{content:"»»";font-style:normal;letter-spacing:-2px;color:var(--accent);}

/* highlighted rotating / accent word */
.hl{background:var(--accent);color:var(--bg);padding:.02em .26em;display:inline-block;transform:skewX(-7deg);}
.hl > *{display:inline-block;transform:skewX(7deg);}

/* ---------------- BUTTONS ---------------- */
.btn{font-family:'Archivo',sans-serif;font-weight:800;font-style:italic;text-transform:uppercase;letter-spacing:.04em;
  font-size:15px;padding:15px 26px;border:3px solid var(--accent);background:var(--accent);color:var(--bg);
  display:inline-flex;align-items:center;gap:10px;cursor:pointer;box-shadow:4px 4px 0 var(--shadow-tone);
  transition:transform .12s steps(2),box-shadow .12s steps(2),background .25s,color .25s;}
.btn .ar{transition:transform .2s;}
.btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--shadow-tone);}
.btn:hover .ar{transform:translateX(4px);}
.btn-ghost{background:transparent;color:var(--accent);}
.btn-wpp{background:var(--accent);}
.section.pop .btn{border-color:var(--pop-accent);background:var(--pop-accent);color:var(--pop-bg);box-shadow:4px 4px 0 rgba(0,0,0,.35);}
.section.pop .btn-ghost{background:transparent;color:var(--pop-fg);border-color:var(--pop-fg);}

/* ---------------- NAV ---------------- */
.nav{position:sticky;top:0;z-index:80;background:var(--bg);border-bottom:3px solid var(--line);transition:background .4s;}
.nav-row{display:flex;align-items:center;gap:18px;padding:13px clamp(20px,4vw,56px);}
.logo{display:inline-flex;align-items:center;}
.logo-img{height:38px;width:auto;display:block;}
.lp{display:none;}
body.preto .la{display:none;}
body.preto .lp{display:block;}
.nav-links{margin-left:auto;display:flex;gap:24px;}
.nav-links a{font-family:'Archivo',sans-serif;font-weight:700;font-style:italic;text-transform:uppercase;font-size:13.5px;letter-spacing:.04em;}
.nav-links a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px;}
.nav-cta{padding:10px 18px;font-size:13px;}
.nav-burger{display:none;margin-left:auto;background:none;border:0;cursor:pointer;flex-direction:column;gap:5px;padding:6px;}
.nav-burger span{width:26px;height:3px;background:var(--fg);display:block;}
.theme-toggle{display:none;border:3px solid var(--line);overflow:hidden;}
.theme-toggle button{font-family:'Archivo',sans-serif;font-weight:800;font-style:italic;text-transform:uppercase;font-size:11px;letter-spacing:.06em;padding:7px 12px;background:transparent;color:var(--fg);border:0;cursor:pointer;}
.theme-toggle button.on{background:var(--accent);color:var(--bg);}

.drawer{position:fixed;inset:0;z-index:90;background:var(--surface);color:var(--surface-fg);display:flex;flex-direction:column;justify-content:center;gap:18px;padding:40px;transform:translateY(-100%);transition:transform .4s cubic-bezier(.7,0,.2,1);}
.drawer.open{transform:none;}
.drawer a{font-family:'Anton',sans-serif;font-size:34px;text-transform:uppercase;transform:skewX(-7deg);}
.drawer-x{position:absolute;top:22px;right:24px;font-size:28px;background:none;border:0;color:inherit;cursor:pointer;}

/* ---------------- SECTION SHELL ---------------- */
.section{position:relative;padding:clamp(64px,9vw,120px) 0;background:var(--bg);color:var(--fg);}
.section.pop{background:var(--pop-bg);color:var(--pop-fg);--line:var(--pop-fg);--shadow:6px 6px 0 var(--pop-accent);--shadow-sm:4px 4px 0 var(--pop-accent);}
.section.pop .eyebrow::before,.section.pop .hl{color:var(--pop-accent);}
.section.pop .hl{background:var(--pop-accent);color:var(--pop-bg);}
.section-head{margin-bottom:46px;}
.section-head h2{font-size:clamp(40px,7vw,86px);}
.section-head .eyebrow{margin-bottom:14px;}

/* halftone texture overlay (toggle with .tex) */
.tex{position:relative;}
.tex::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:radial-gradient(var(--halftone) 1.7px,transparent 1.8px);
  background-size:13px 13px;opacity:.9;}
.tex > *{position:relative;z-index:1;}

/* ---------------- SIGNATURE CUTS ---------------- */
/* curved organic cut at top of a section — fill auto-matches that section bg, adapts to theme */
.section-cut{position:absolute;left:0;top:0;width:100%;height:clamp(46px,6.5vw,96px);transform:translateY(-98%);z-index:2;pointer-events:none;line-height:0;}
.section-cut svg{display:block;width:100%;height:100%;}
.section > .section-cut svg path{fill:var(--bg);}
.section.pop > .section-cut svg path{fill:var(--pop-bg);}
.cta .section-cut svg path{fill:var(--accent);}
.band .section-cut svg path{fill:#0c0c0c;}

/* curved sweep divider — place as first child of a section; fill = that section bg */
.cut{display:block;width:100%;height:clamp(48px,7vw,104px);margin-bottom:clamp(-2px,0,0);position:relative;z-index:2;}
.cut svg{display:block;width:100%;height:100%;}
.cut--top{margin-top:clamp(-104px,-7vw,-48px);margin-bottom:0;}

/* hazard stripe band */
.hazard{height:18px;background:repeating-linear-gradient(-45deg,var(--black) 0 16px,var(--yellow) 16px 32px);}
.hazard.lg{height:26px;}
body.preto .hazard{background:repeating-linear-gradient(-45deg,var(--yellow) 0 16px,var(--black) 16px 32px);}

/* finish-line checkered band */
.finish{height:42px;border-block:3px solid var(--black);background:repeating-conic-gradient(#141414 0 25%,#FFFDF7 0 50%) 0 0 / 42px 42px;}

/* ---------------- KIT — "vista a timerun" ---------------- */
.kit{position:relative;background:#0c0c0c;}
.kit-photo{line-height:0;}
.kit-photo img{width:100%;height:auto;display:block;}
.kit-card{position:absolute;top:0;right:0;bottom:0;width:clamp(300px,34%,620px);background:#0c0c0c;border-left:3px solid var(--yellow);
  display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,3vw,44px);color:#FFFDF7;}
.kit-card .eyebrow{color:var(--yellow);margin-bottom:12px;}
.kit-card .eyebrow::before{color:var(--yellow);}
.kit-card h3{font-family:'Anton',sans-serif;font-size:clamp(40px,7vw,72px);text-transform:uppercase;line-height:.92;margin:0 0 14px;}
.kit-card p{font-size:15.5px;color:rgba(255,253,247,.82);line-height:1.5;margin:0;}
.kit-card .btn{border-color:var(--yellow);background:var(--yellow);color:#141414;box-shadow:4px 4px 0 var(--shadow-tone);}
@media(max-width:760px){
  .kit-photo img{height:clamp(300px,52vw,420px);object-fit:cover;object-position:34% center;}
  .kit-card{position:static;transform:none;width:auto;border-left:0;border-top:3px solid var(--yellow);padding:clamp(30px,7vw,44px) clamp(24px,6vw,40px) clamp(64px,16vw,96px);}
}

/* chevron strip */
.chevstrip{display:flex;justify-content:center;align-items:center;gap:6px;padding:14px 0;background:var(--accent);color:var(--bg);overflow:hidden;}
.chevstrip span{font-family:'Anton',sans-serif;font-size:22px;line-height:1;transform:skewX(-8deg);white-space:nowrap;letter-spacing:-1px;}

/* marquee */
.marquee{overflow:hidden;background:var(--accent);color:var(--bg);border-block:3px solid var(--line);}
.marquee-track{display:flex;gap:0;white-space:nowrap;will-change:transform;animation:tr-marq 26s linear infinite;}
.marquee-track span{font-family:'Anton',sans-serif;font-size:clamp(26px,4vw,46px);text-transform:uppercase;padding:12px 26px;transform:skewX(-7deg);display:inline-flex;align-items:center;gap:26px;}
.marquee-track span::after{content:"●";font-size:.5em;transform:skewX(7deg);}
@keyframes tr-marq{to{transform:translateX(-50%);}}
.marquee:hover .marquee-track{animation-play-state:paused;}

/* ---------------- HERO ---------------- */
.hero{position:relative;display:flex;align-items:center;min-height:clamp(560px,82vh,860px);overflow:hidden;background:var(--black);}
.hero-photo{position:absolute;inset:0;z-index:0;background:#0c0c0c center 50%/cover no-repeat;}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(95deg, rgba(8,8,8,.97) 0%, rgba(8,8,8,.9) 30%, rgba(8,8,8,.45) 50%, rgba(8,8,8,.06) 66%, transparent 80%);}
.hero-inner{position:relative;z-index:3;width:min(600px,50vw);padding:60px clamp(20px,3vw,40px) 60px clamp(28px,5vw,72px);}
.hero .eyebrow{color:var(--yellow);}
.hero h1{color:var(--white);font-size:clamp(30px,4.8vw,62px);}
.hero h1 .line{display:block;}
.hero h1 .line{display:block;white-space:nowrap;}
.hero .rotwrap{background:var(--yellow);color:var(--black);padding:.02em .22em;transform:skewX(-7deg);display:inline-block;overflow:hidden;vertical-align:bottom;}
.hero .rotwrap .rot{display:inline-block;transform:skewX(7deg);}
.hero-sub{color:rgba(255,253,247,.88);font-size:clamp(16px,1.5vw,19px);max-width:46ch;margin:22px 0 30px;font-weight:500;}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
.hero .btn{border-color:var(--yellow);background:var(--yellow);color:var(--black);box-shadow:5px 5px 0 #000;}
.hero .btn:hover{box-shadow:7px 7px 0 #000;}
.hero .btn-ghost{background:transparent;color:var(--yellow);}
/* vagas seal */
.seal{position:absolute;z-index:4;right:clamp(18px,5vw,90px);top:clamp(90px,16vh,150px);width:clamp(118px,13vw,168px);height:clamp(118px,13vw,168px);}
.seal svg{width:100%;height:100%;animation:tr-spin 16s linear infinite;}
.seal .seal-core{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--black);}
.seal .seal-core b{font-family:'Anton',sans-serif;font-size:clamp(22px,2.6vw,32px);line-height:.85;transform:skewX(-7deg);}
.seal .seal-core small{font-family:'Archivo',sans-serif;font-weight:800;font-style:italic;font-size:9px;letter-spacing:.18em;margin-top:3px;}
@keyframes tr-spin{to{transform:rotate(360deg);}}
.scroll-hint{position:absolute;bottom:18px;left:clamp(20px,4vw,56px);z-index:4;font-family:'Archivo',sans-serif;font-weight:800;font-style:italic;font-size:12px;letter-spacing:.2em;color:rgba(255,253,247,.7);text-transform:uppercase;}

/* ---------------- STATS ---------------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:3px solid var(--line);}
.stat{padding:30px 22px;border-right:3px solid var(--line);}
.stat:last-child{border-right:0;}
.stat .v{font-family:'Anton',sans-serif;font-size:clamp(40px,5.5vw,68px);line-height:.85;transform:skewX(-7deg);}
.stat .l{font-family:'Archivo',sans-serif;font-weight:700;font-style:italic;text-transform:uppercase;font-size:12.5px;letter-spacing:.04em;margin-top:10px;color:var(--muted);}
.section.pop .stat .l{color:var(--pop-muted);}

/* ---------------- ABOUT ---------------- */
.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center;}
.about-media{position:relative;border:3px solid var(--line);box-shadow:var(--shadow);aspect-ratio:4/5;overflow:visible;background:var(--ink-soft);}
.about-media image-slot{position:relative;z-index:0;}
.about-media image-slot{width:100%;height:100%;}
.about-body p.lead{font-family:'Anton',sans-serif;font-size:clamp(26px,3.4vw,40px);line-height:1;text-transform:uppercase;margin:0 0 18px;}
.about-body p{font-size:16.5px;margin:0 0 16px;color:var(--muted);}
.section.pop .about-body p{color:var(--pop-muted);}
.section.pop .about-body p.lead{color:var(--pop-fg);}
.about-list{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:0;border-top:3px solid var(--line);}
.about-list li{display:flex;gap:16px;align-items:baseline;padding:15px 0;border-bottom:3px solid var(--line);font-weight:700;}
.about-list li b{font-family:'Anton',sans-serif;font-size:20px;color:var(--accent);transform:skewX(-7deg);}
.section.pop .about-list li b{color:var(--pop-accent);}

/* ---------------- MODALIDADE (single focus: corrida) ---------------- */
.focus{display:grid;grid-template-columns:1.1fr .9fr;gap:0;border:3px solid var(--line);box-shadow:var(--shadow);}
.focus-body{padding:clamp(28px,4vw,52px);}
.focus-body h3{font-size:clamp(34px,5vw,60px);margin:0 0 14px;}
.focus-body p{color:var(--muted);max-width:46ch;margin:0 0 22px;}
.section.pop .focus-body p{color:var(--pop-muted);}
.focus-tags{display:flex;flex-wrap:wrap;gap:10px;}
.focus-tags span{font-family:'Archivo',sans-serif;font-weight:800;font-style:italic;text-transform:uppercase;font-size:12.5px;letter-spacing:.04em;border:2.5px solid var(--line);padding:8px 13px;}
.focus-media{position:relative;border-left:3px solid var(--line);min-height:300px;background:var(--ink-soft);overflow:hidden;}
.focus-media image-slot{width:100%;height:100%;}

/* ---------------- LOCAIS ---------------- */
.locais{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,3vw,30px);}
.local{position:relative;border:3px solid var(--line);box-shadow:6px 6px 0 var(--shadow-tone);background:var(--surface);color:var(--surface-fg);overflow:hidden;display:flex;flex-direction:column;}
.local-head{display:flex;align-items:stretch;justify-content:space-between;border-bottom:3px solid var(--surface-fg);}
.local .city{display:inline-flex;align-items:center;gap:8px;font-family:'Archivo',sans-serif;font-weight:800;font-style:italic;text-transform:uppercase;font-size:14px;letter-spacing:.05em;padding:15px 20px;color:var(--surface-fg);}
.local .city::before{content:"\00bb\00bb";letter-spacing:-2px;}
.local .day{font-family:'Anton',sans-serif;font-size:30px;line-height:1;display:flex;align-items:center;padding:0 22px;background:var(--surface-fg);color:var(--surface);transform:skewX(-9deg);margin-right:-3px;}
.local-body{padding:clamp(24px,3vw,34px) clamp(22px,2.6vw,30px);display:flex;flex-direction:column;gap:14px;flex:1;}
.local h3{font-size:clamp(28px,3.6vw,46px);line-height:.9;color:var(--surface-fg);}
.local .when{font-family:'Archivo',sans-serif;font-weight:800;font-style:italic;text-transform:uppercase;letter-spacing:.04em;font-size:15px;color:var(--surface-fg);display:flex;align-items:center;gap:9px;margin-top:auto;}
.local .when::before{content:"\00bb";}
.local .pin{font-size:13.5px;font-weight:600;color:var(--surface-muted);}

/* ---------------- STEPS ---------------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:3px solid var(--line);}
.step{padding:28px 22px;border-right:3px solid var(--line);position:relative;}
.step:last-child{border-right:0;}
.step .n{font-family:'Anton',sans-serif;font-size:40px;color:var(--accent);transform:skewX(-7deg);display:block;line-height:1;}
.section.pop .step .n{color:var(--pop-accent);}
.step h3{font-size:23px;margin:10px 0 8px;}
.step p{font-size:14.5px;color:var(--muted);margin:0;}
.section.pop .step p{color:var(--pop-muted);}

/* ---------------- TRACK — "como funciona" running lanes ---------------- */
.track{--trk-accent:var(--accent);--trk-fg:var(--fg);--trk-muted:var(--muted);border-top:5px solid var(--trk-accent);}
.section.pop .track{--trk-accent:var(--pop-accent);--trk-fg:var(--pop-fg);--trk-muted:var(--pop-muted);}
.lane{position:relative;display:flex;align-items:center;gap:clamp(14px,2.2vw,32px);
  padding:clamp(20px,2.8vw,32px) clamp(54px,9vw,124px) clamp(20px,2.8vw,32px) clamp(4px,1.5vw,18px);
  border-bottom:5px solid var(--trk-accent);}
.lane-fig{flex:none;width:clamp(30px,3.4vw,46px);color:var(--trk-accent);line-height:0;}
.lane-fig svg{width:100%;height:auto;display:block;fill:currentColor;}
.lane-num{flex:none;font-family:'Anton',sans-serif;font-size:clamp(30px,4.4vw,54px);line-height:1;color:var(--trk-accent);transform:skewX(-7deg);}
.lane-title{flex:none;width:clamp(132px,16vw,232px);font-family:'Anton',sans-serif;font-size:clamp(21px,2.9vw,36px);line-height:.95;text-transform:uppercase;color:var(--trk-fg);}
.lane-desc{margin-left:auto;max-width:32ch;color:var(--trk-muted);font-size:clamp(13.5px,1.4vw,16px);font-weight:500;line-height:1.45;}
/* staggered start lines on the right (running-track stagger) */
.lane::after{content:"";position:absolute;top:16%;bottom:16%;width:8px;background:var(--trk-accent);}
.lane:nth-child(1)::after{right:10px;}
.lane:nth-child(2)::after{right:46px;}
.lane:nth-child(3)::after{right:82px;}
.lane:nth-child(4)::after{right:118px;}
@media(max-width:760px){
  .lane{flex-wrap:wrap;padding-right:clamp(4px,1.5vw,18px);gap:10px 16px;}
  .lane-title{width:auto;}
  .lane-desc{margin-left:0;flex-basis:100%;max-width:none;}
  .lane{padding-right:76px;}
  .lane::after{display:block;top:clamp(16px,5vw,26px);bottom:auto;height:clamp(34px,11vw,52px);width:7px;}
  .lane:nth-child(1)::after{right:64px;}
  .lane:nth-child(2)::after{right:46px;}
  .lane:nth-child(3)::after{right:28px;}
  .lane:nth-child(4)::after{right:12px;}
}

/* ---------------- COACH ---------------- */
.coach{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(26px,4vw,56px);align-items:center;}
.coach-media{position:relative;border:3px solid var(--line);box-shadow:var(--shadow);overflow:hidden;aspect-ratio:4/5;background:var(--ink-soft);}
.coach-media image-slot{width:100%;height:100%;}
.coach-media .ribbon{position:absolute;left:0;bottom:18px;background:var(--accent);color:var(--bg);font-family:'Archivo',sans-serif;font-weight:800;font-style:italic;text-transform:uppercase;font-size:12px;letter-spacing:.08em;padding:8px 16px;}
.coach-body h3{font-size:clamp(34px,5vw,60px);}
.coach-body .role{font-family:'Archivo',sans-serif;font-weight:800;font-style:italic;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin:8px 0 18px;}
.section.pop .coach-body .role{color:var(--pop-accent);}
.coach-body p{color:var(--muted);max-width:48ch;margin:0 0 14px;}
.section.pop .coach-body p{color:var(--pop-muted);}
.coach-meta{display:flex;gap:0;margin-top:24px;border:3px solid var(--line);}
.coach-meta div{padding:16px 20px;border-right:3px solid var(--line);}
.coach-meta div:last-child{border-right:0;}
.coach-meta .v{font-family:'Anton',sans-serif;font-size:34px;transform:skewX(-7deg);line-height:.9;}
.coach-meta .l{font-size:11.5px;font-weight:700;font-style:italic;text-transform:uppercase;color:var(--muted);letter-spacing:.04em;}

/* ---------------- GALLERY (masonry + lightbox) ---------------- */
.gal{columns:3;column-gap:14px;}
@media(max-width:760px){ .gal{columns:2;column-gap:10px;} }
.gal-item{break-inside:avoid;margin:0 0 14px;position:relative;border:3px solid var(--line);box-shadow:var(--shadow-sm);overflow:hidden;background:var(--ink-soft);cursor:pointer;}
@media(max-width:760px){ .gal-item{margin-bottom:10px;} }
.gal-item image-slot{display:block;width:100%;height:100%;}
.gal-item.tall{aspect-ratio:3/4;}
.gal-item.sq{aspect-ratio:1/1;}
.gal-item.wide{aspect-ratio:4/3;}
.gal-zoom{position:absolute;right:8px;bottom:8px;z-index:4;width:36px;height:36px;display:grid;place-items:center;
  background:var(--yellow);color:var(--black);border:2px solid var(--black);box-shadow:2px 2px 0 rgba(0,0,0,.4);
  opacity:0;transform:scale(.85);transition:opacity .15s,transform .15s;cursor:pointer;}
.gal-item:hover .gal-zoom{opacity:1;transform:scale(1);}
.gal-zoom svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.4;}
@media(hover:none){ .gal-zoom{opacity:1;} }

/* lightbox */
.lb{position:fixed;inset:0;z-index:140;background:#0a0a0a;display:none;flex-direction:column;align-items:center;justify-content:center;}
.lb.on{display:flex;animation:lb-fade .25s ease;}
@keyframes lb-fade{from{opacity:0;}to{opacity:1;}}
.lb-stage{flex:1;width:100%;min-height:0;display:flex;align-items:center;justify-content:center;padding:58px 16px 8px;overflow:hidden;position:relative;}
.lb-media{max-width:96vw;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;background:transparent;}
.lb-stage.loading::before{content:"";position:absolute;width:42px;height:42px;border:4px solid rgba(255,196,0,.25);border-top-color:var(--yellow);border-radius:50%;animation:lb-spin .7s linear infinite;}
@keyframes lb-spin{to{transform:rotate(360deg);}}
.lb-media.in-right{animation:lb-rt .32s cubic-bezier(.22,.61,.36,1);}
.lb-media.in-left{animation:lb-lt .32s cubic-bezier(.22,.61,.36,1);}
@keyframes lb-rt{from{opacity:0;transform:translateX(40px);}to{opacity:1;transform:none;}}
@keyframes lb-lt{from{opacity:0;transform:translateX(-40px);}to{opacity:1;transform:none;}}
.lb-empty{display:grid;place-items:center;width:min(560px,80vw);height:46vh;color:rgba(255,253,247,.7);font-family:'Archivo',sans-serif;font-weight:800;font-style:italic;text-transform:uppercase;letter-spacing:.04em;border:3px dashed rgba(255,196,0,.5);background:transparent;}
.lb-x{position:absolute;top:16px;right:18px;z-index:3;width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .15s,transform .12s;}
.lb-x:hover{background:var(--yellow);color:var(--black);transform:rotate(90deg);}
.lb-count{position:absolute;top:22px;left:50%;transform:translateX(-50%);z-index:3;font-family:'Geist Mono','Archivo',monospace;font-weight:700;color:#fff;letter-spacing:.12em;font-size:13px;background:rgba(255,255,255,.08);padding:7px 14px;border-radius:999px;}
.lb-nav{position:absolute;top:44%;transform:translateY(-50%);z-index:3;width:52px;height:52px;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-family:'Anton',sans-serif;font-size:26px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .15s,color .15s,transform .12s;}
.lb-nav:hover{background:var(--yellow);color:var(--black);}
.lb-nav:active{transform:translateY(-50%) scale(.92);}
.lb-prev{left:clamp(10px,2.5vw,28px);}
.lb-next{right:clamp(10px,2.5vw,28px);}
.lb-film{flex:none;width:100%;display:flex;gap:8px;justify-content:flex-start;align-items:center;overflow-x:auto;padding:12px clamp(14px,4vw,40px) 20px;scrollbar-width:none;scroll-behavior:smooth;}
.lb-film::-webkit-scrollbar{display:none;}
.lb-thumb{flex:none;width:70px;height:54px;padding:0;border:2px solid transparent;border-radius:6px;overflow:hidden;background:#1a1a1a;cursor:pointer;opacity:.5;transition:opacity .15s,border-color .15s,transform .12s;}
.lb-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.lb-thumb-empty{display:block;width:100%;height:100%;background:repeating-linear-gradient(-45deg,#222 0 7px,#1a1a1a 7px 14px);}
.lb-thumb:hover{opacity:.85;}
.lb-thumb.on{opacity:1;border-color:var(--yellow);transform:translateY(-2px);}
@media(max-width:600px){
  .lb-stage{padding:54px 8px 6px;}
  .lb-nav{width:40px;height:40px;font-size:20px;top:42%;}
  .lb-x{width:42px;height:42px;}
  .lb-thumb{width:54px;height:42px;}
  .lb-film{padding:10px 12px 16px;}
}
@media(prefers-reduced-motion:reduce){
  .lb.on,.lb-media.in-right,.lb-media.in-left{animation:none;}
  .lb-x:hover{transform:none;}
}
.gal-more{display:flex;gap:18px 26px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:clamp(24px,4vw,40px);}
.gal-link{font-family:'Archivo',sans-serif;font-weight:800;font-style:italic;text-transform:uppercase;letter-spacing:.04em;font-size:14px;color:inherit;background:none;border:0;border-bottom:2px solid var(--pop-accent,var(--accent));padding:0 0 3px;cursor:pointer;}
.gal-link:hover{opacity:.7;}

/* full gallery modal */
.galModal{position:fixed;inset:0;z-index:130;background:rgba(8,8,8,.97);display:none;flex-direction:column;}
.galModal.on{display:flex;}
.gm-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px clamp(16px,4vw,40px);border-bottom:3px solid var(--yellow);flex:none;}
.gm-head h3{font-family:'Anton',sans-serif;color:var(--yellow);font-size:clamp(22px,4vw,34px);text-transform:uppercase;margin:0;line-height:1;}
.gm-x{width:46px;height:46px;border:3px solid var(--yellow);background:transparent;color:var(--yellow);font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center;flex:none;}
.gm-x:hover{background:var(--yellow);color:var(--black);}
.gm-body{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:clamp(16px,4vw,36px);}
.gm-body .gal{columns:3;column-gap:14px;max-width:1080px;margin:0 auto;}
@media(max-width:760px){ .gm-body .gal{columns:2;column-gap:10px;} }
.galModal .gal-item{border-color:var(--yellow);}
.galModal.on .gal-item{animation:gm-in .5s ease both;}
.galModal.on .gal-item:nth-child(3n+2){animation-delay:.07s;}
.galModal.on .gal-item:nth-child(3n+3){animation-delay:.14s;}
@keyframes gm-in{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}
@media(prefers-reduced-motion:reduce){ .galModal.on .gal-item{animation:none;} }

/* ---------------- COMUNIDADE (wide band) ---------------- */
.band{position:relative;min-height:clamp(460px,74vh,780px);display:flex;align-items:flex-end;overflow:hidden;background:#0c0c0c;}
.band-media{position:absolute;inset:0;z-index:0;background:#0c0c0c;overflow:hidden;}
.band-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.12);filter:blur(30px) brightness(.55);display:none;}
.band-video{width:100%;height:100%;object-fit:cover;display:block;position:relative;}
.band-photo-d{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;display:none;}
@media(min-width:761px){
  .band-bg{display:none;}
  .band-video{display:none;}
  .band-photo-d{display:block;}
}
.band-media::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(8,8,8,.92),rgba(8,8,8,.3) 55%,rgba(8,8,8,.5));}
.band-inner{position:relative;z-index:2;padding:clamp(34px,5vw,64px) clamp(20px,4vw,56px);max-width:760px;}
.band .eyebrow{color:var(--yellow);}
.band h2{color:#fff;font-size:clamp(36px,6vw,76px);}
.band p{color:rgba(255,255,255,.85);max-width:48ch;margin:14px 0 0;font-weight:500;}

/* ---------------- TESTIMONIALS ---------------- */
.tests-wrap{position:relative;}
.tests{display:flex;gap:clamp(16px,2.4vw,26px);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding-bottom:6px;scrollbar-width:none;}
.tests::-webkit-scrollbar{display:none;}
.test{scroll-snap-align:start;flex:0 0 clamp(280px,32%,360px);}
.tests-nav{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;}
.tnav{width:48px;height:48px;border:3px solid var(--pop-fg);background:transparent;color:var(--pop-fg);font-family:'Anton',sans-serif;font-size:24px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .15s,color .15s,border-color .15s;}
.tnav:hover{background:var(--pop-accent);color:var(--pop-bg);border-color:var(--pop-accent);}
@media(max-width:760px){ .test{flex:0 0 86%;} }
.test{border:3px solid var(--line);box-shadow:var(--shadow-sm);padding:26px 24px;background:var(--bg);display:flex;flex-direction:column;}
.section.pop .test{background:color-mix(in oklch,var(--pop-fg) 8%,transparent);}
.test blockquote{font-family:'Anton',sans-serif;font-size:clamp(19px,2vw,24px);line-height:1.05;text-transform:uppercase;margin:0 0 18px;}
.test .stars{color:var(--accent);letter-spacing:2px;font-size:14px;margin-bottom:12px;}
.section.pop .test .stars{color:var(--pop-accent);}
.test .who{display:flex;align-items:center;gap:12px;margin-top:auto;}
.test .av{width:46px;height:46px;border:2.5px solid var(--line);overflow:hidden;flex:none;background:var(--ink-soft);}
.test .av image-slot{width:100%;height:100%;}
.test .nm{font-weight:800;font-style:italic;text-transform:uppercase;font-size:14px;}
.test .rl{font-size:12px;color:var(--muted);font-weight:600;}
.section.pop .test .rl{color:var(--pop-muted);}

/* ---------------- FAQ ---------------- */
.faq{border-top:3px solid var(--line);}
.faq-item{border-bottom:3px solid var(--line);}
.faq-q{width:100%;text-align:left;background:none;border:0;cursor:pointer;display:flex;align-items:center;gap:16px;padding:22px 0;font-family:'Anton',sans-serif;font-size:clamp(18px,2.4vw,27px);text-transform:uppercase;color:inherit;}
.faq-q .qn{color:var(--accent);transform:skewX(-7deg);}
.section.pop .faq-q .qn{color:var(--pop-accent);}
.faq-q .pl{margin-left:auto;width:24px;height:24px;position:relative;flex:none;}
.faq-q .pl::before,.faq-q .pl::after{content:"";position:absolute;background:var(--accent);transition:transform .25s;}
.section.pop .faq-q .pl::before,.section.pop .faq-q .pl::after{background:var(--pop-accent);}
.faq-q .pl::before{top:11px;left:0;width:24px;height:3px;}
.faq-q .pl::after{left:11px;top:0;width:3px;height:24px;}
.faq-item.open .pl::after{transform:scaleY(0);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.faq-a-in{padding:0 0 22px;color:var(--muted);max-width:70ch;}
.section.pop .faq-a-in{color:var(--pop-muted);}

/* ---------------- CTA ---------------- */
.cta{position:relative;text-align:center;padding:clamp(64px,10vw,140px) 0;background:var(--accent);color:var(--bg);overflow:hidden;}
.cta .eyebrow{color:var(--bg);justify-content:center;}
.cta .eyebrow::before{color:var(--bg);}
.cta h2{font-size:clamp(46px,9vw,128px);}
.cta p{max-width:46ch;margin:18px auto 30px;font-weight:600;}
.cta .btn{border-color:var(--bg);background:var(--bg);color:var(--accent);box-shadow:6px 6px 0 rgba(0,0,0,.25);}
.cta .hero-actions{justify-content:center;}
.cta-chev{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;pointer-events:none;opacity:.1;font-family:'Anton',sans-serif;font-size:clamp(120px,30vw,360px);color:var(--bg);}

/* ---------------- FOOTER ---------------- */
.foot{background:var(--bg);color:var(--fg);padding:48px 0 30px;border-top:3px solid var(--line);}
.foot-grid{display:flex;flex-wrap:wrap;gap:30px;align-items:flex-end;justify-content:space-between;}
.foot .logo-img{height:54px;}
.foot-meta{display:flex;flex-wrap:wrap;gap:8px 22px;font-family:'Archivo',sans-serif;font-weight:700;font-style:italic;font-size:13px;text-transform:uppercase;letter-spacing:.03em;}
.foot-bottom{margin-top:30px;padding-top:18px;border-top:3px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12px;font-weight:700;text-transform:uppercase;color:var(--muted);}

/* ---------------- ANIMATED COLLAGE STICKERS ---------------- */
.sticker{position:absolute;z-index:5;font-family:'Anton',sans-serif;text-transform:uppercase;background:var(--yellow);color:var(--black);border:3px solid var(--black);padding:9px 14px;transform:rotate(-6deg);box-shadow:5px 5px 0 rgba(0,0,0,.4);font-size:15px;line-height:1;letter-spacing:.02em;animation:tr-bob 3.4s ease-in-out infinite;}
.sticker.s-cut{border-radius:0;clip-path:polygon(0 0,100% 0,94% 100%,6% 100%);}
@keyframes tr-bob{0%,100%{transform:rotate(-6deg) translateY(0);}50%{transform:rotate(-6deg) translateY(-9px);}}
@keyframes tr-bob2{0%,100%{transform:rotate(5deg) translateY(0);}50%{transform:rotate(5deg) translateY(-7px);}}
.sticker.alt{animation-name:tr-bob2;transform:rotate(5deg);background:var(--black);color:var(--yellow);border-color:var(--yellow);}

/* ---------------- REVEAL ---------------- */
.rev{opacity:1;}
body.gsap-ready .rev{opacity:0;}

/* ---------------- RESPONSIVE ---------------- */
@media(max-width:1040px){
  .nav-links{display:none;}
  .nav-burger{display:flex;}
}
@media(max-width:900px){
  .nav-links{display:none;}
  .nav-burger{display:flex;}
  .about,.focus,.coach{grid-template-columns:1fr;}
  .focus-media{border-left:0;border-top:3px solid var(--line);min-height:240px;}
  .stats,.steps{grid-template-columns:repeat(2,1fr);}
  .stat:nth-child(2),.step:nth-child(2){border-right:0;}
  .stat,.step{border-bottom:3px solid var(--line);}
  .stat:nth-last-child(-n+2),.step:nth-last-child(-n+2){border-bottom:0;}
  .locais{grid-template-columns:1fr;}
  .hero-inner{width:min(640px,88%);}
  .coach-media{aspect-ratio:4/3;}
}
@media(max-width:560px){
  .stats,.steps{grid-template-columns:1fr;}
  .stats .stat,.steps .step{border-right:0;border-bottom:3px solid var(--line);}
  .stats .stat:last-child,.steps .step:last-child{border-bottom:0;}
  .stats .stat{text-align:center;}
  .seal{display:none;}
}
/* ---------------- BENEFITS (corrida) ---------------- */
.benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(16px,2.2vw,24px) clamp(20px,3vw,40px);margin-top:clamp(30px,4vw,48px);}
.benefit{display:flex;gap:13px;align-items:flex-start;}
.benefit .ck{flex:none;width:27px;height:27px;display:grid;place-items:center;background:var(--accent);color:var(--bg);font-size:15px;font-weight:800;margin-top:1px;}
.section.pop .benefit .ck{background:var(--pop-accent);color:var(--pop-bg);}
.benefit b{display:block;font-family:'Archivo',sans-serif;font-weight:800;font-style:italic;text-transform:uppercase;font-size:15px;letter-spacing:.01em;line-height:1.1;}
.benefit span{display:block;font-size:14.5px;color:var(--muted);margin-top:4px;line-height:1.4;}
.section.pop .benefit span{color:var(--pop-muted);}

/* ---------------- LOCAIS — online bar ---------------- */
.locais-online{margin-top:clamp(16px,2.5vw,28px);background:var(--surface);color:var(--surface-fg);border:3px solid var(--line);box-shadow:6px 6px 0 var(--shadow-tone);padding:20px clamp(20px,3vw,28px);font-family:'Archivo',sans-serif;font-weight:700;font-style:italic;text-transform:uppercase;font-size:clamp(14px,1.6vw,17px);letter-spacing:.02em;display:flex;gap:12px;align-items:center;flex-wrap:wrap;line-height:1.3;}
.locais-online::before{content:"\00bb\00bb";letter-spacing:-2px;}
.locais-online b{color:var(--surface-fg);}

/* ---------------- DRAWER cta reset ---------------- */
.drawer .btn{font-family:'Archivo',sans-serif;font-size:16px;text-transform:uppercase;transform:none;margin-top:18px;align-self:flex-start;border-color:var(--surface-fg);background:var(--surface-fg);color:var(--surface);box-shadow:5px 5px 0 var(--shadow-tone);}

/* ---------------- MOBILE polish (<=600) ---------------- */
@media(max-width:600px){
  body{font-size:16px;}
  .nav-row{gap:10px;padding:11px clamp(14px,4vw,20px);}
  .nav-cta{display:none;}
  .logo-img{height:31px;}
  .theme-toggle button{padding:12px 13px;font-size:11px;}
  .nav-burger{padding:11px 8px;}
  .nav-burger span{width:24px;}
  .hero-photo::after{background:linear-gradient(180deg,rgba(8,8,8,.5) 0%,rgba(8,8,8,.74) 52%,rgba(8,8,8,.92) 100%);}
  .hero-inner{width:100%;padding:clamp(78px,15vh,118px) 24px 44px;}
  .hero h1{font-size:clamp(34px,9vw,52px);}
  .hero h1 .line{white-space:normal;}
  .hero-photo{background-position:76% 42%;}
  .benefits{grid-template-columns:1fr;}
  .coach-media{aspect-ratio:4/5;}
  .coach-media image-slot::part(image){object-position:50% 12%;}
  .focus-media image-slot::part(image){object-position:50% 16%;}
  .coach-meta{display:grid;grid-template-columns:repeat(3,1fr);}
  .coach-meta div{padding:14px 8px;border-right:3px solid var(--line);}
  .coach-meta div:last-child{border-right:0;}
  .coach-meta .v{font-size:clamp(22px,7vw,32px);}
  .coach-meta .l{font-size:10.5px;}
  .drawer{padding:34px 28px;gap:14px;}
  .drawer a{font-size:30px;}
  .drawer-x{padding:8px;top:16px;right:18px;}
}

@media(prefers-reduced-motion:reduce){
  .marquee-track,.seal svg,.sticker{animation:none;}
  html{scroll-behavior:auto;}
}

/* ---------------- WHATSAPP FAB ---------------- */
.wfab{position:fixed;right:clamp(14px,3vw,24px);bottom:clamp(14px,3vw,24px);z-index:95;
  display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;padding:0;
  background:var(--yellow);color:var(--black);border:3px solid var(--black);border-radius:50%;
  box-shadow:3px 3px 0 rgba(0,0,0,.4);
  transition:transform .14s steps(2),box-shadow .14s steps(2);animation:wfab-pop .4s ease both;}
.wfab svg{width:28px;height:28px;flex:none;}
.wfab-txt{display:none;}
.wfab:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 rgba(0,0,0,.4);}
@keyframes wfab-pop{from{transform:scale(.6);opacity:0;}to{transform:scale(1);opacity:1;}}
@media(prefers-reduced-motion:reduce){ .wfab{animation:none;} }
