/* =============================================================
   INSTRUTOR LEANDRO — Landing Page
   Design system artesanal (sem framework). Edite com cuidado.
   ============================================================= */

/* ---------- TOKENS ---------- */
:root{
  --bg:        #080A0D;
  --bg-2:      #10151B;
  --bg-3:      #14191F;
  --surface:   #1C222A;
  --surface-2: #232B35;
  --line:      rgba(255,255,255,.08);
  --line-2:    rgba(255,255,255,.14);

  --red:       #C62832;
  --red-bright:#E23A44;
  --red-deep:  #861B24;

  --white:     #F5F6F7;
  --gray:      #A5ADB7;
  --gray-dim:  #6B7682;

  --ff-display: "Barlow Condensed", "Oswald", sans-serif;
  --ff-body:    "Manrope", "Inter", system-ui, sans-serif;

  --container: 1240px;
  --radius:    14px;
  --radius-sm: 10px;

  --shadow:    0 24px 60px -24px rgba(0,0,0,.7);
  --shadow-red:0 20px 60px -20px rgba(198,40,50,.45);

  --ease: cubic-bezier(.22,.61,.36,1);
  --dur: .55s;
}

/* ---------- RESET ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--ff-body);
  background:var(--bg);
  color:var(--white);
  line-height:1.65;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
ul{list-style:none}
:focus-visible{outline:2px solid var(--red-bright);outline-offset:3px;border-radius:4px}

/* ---------- LAYOUT HELPERS ---------- */
.container{width:min(100% - 44px,var(--container));margin-inline:auto}
.section{padding:clamp(72px,9vw,140px) 0;position:relative}
.section--tight{padding:clamp(56px,7vw,100px) 0}

.eyebrow{
  font-family:var(--ff-body);
  font-weight:700;
  font-size:.78rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--red-bright);
  display:inline-flex;align-items:center;gap:.7em;
  margin-bottom:22px;
}
.eyebrow::before{
  content:"";width:28px;height:2px;background:var(--red);display:inline-block;
}
.eyebrow--center{justify-content:center}

.s-title{
  font-family:var(--ff-display);
  font-weight:600;
  line-height:1.02;
  letter-spacing:.005em;
  text-transform:uppercase;
  font-size:clamp(2.1rem,5.2vw,4rem);
}
.s-title .accent{color:var(--red-bright)}
.lead{color:var(--gray);font-size:1.075rem;max-width:62ch}

.head-center{text-align:center;max-width:760px;margin-inline:auto;margin-bottom:clamp(44px,5vw,70px)}

/* ---------- BUTTONS ---------- */
.btn{
  --pad:15px 28px;
  display:inline-flex;align-items:center;gap:.6em;
  padding:var(--pad);
  font-family:var(--ff-body);font-weight:700;font-size:.92rem;
  letter-spacing:.02em;
  border-radius:60px;
  transition:transform .3s var(--ease),background .3s,box-shadow .3s,color .3s,border-color .3s;
  will-change:transform;
}
.btn svg{width:18px;height:18px;flex:none}
.btn-primary{background:var(--red);color:#fff;box-shadow:var(--shadow-red)}
.btn-primary:hover{background:var(--red-bright);transform:translateY(-3px)}
.btn-ghost{background:transparent;color:var(--white);border:1px solid var(--line-2)}
.btn-ghost:hover{border-color:var(--white);background:rgba(255,255,255,.05);transform:translateY(-3px)}
.btn-light{background:var(--white);color:#11161c}
.btn-light:hover{transform:translateY(-3px);box-shadow:0 20px 40px -18px rgba(0,0,0,.6)}
.btn-sm{--pad:11px 20px;font-size:.84rem}

/* ---------- HEADER ---------- */
.header{
  position:fixed;inset:0 0 auto 0;z-index:100;
  transition:background .4s,backdrop-filter .4s,border-color .4s,padding .4s;
  border-bottom:1px solid transparent;
  padding:14px 0;
}
.header.scrolled{
  background:rgba(8,10,13,.82);
  backdrop-filter:blur(14px) saturate(140%);
  border-bottom-color:var(--line);
  padding:8px 0;
}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;font-family:var(--ff-display);text-transform:uppercase}
.brand img{width:46px;height:46px;transition:width .4s,height .4s}
.scrolled .brand img{width:40px;height:40px}
.brand__txt{line-height:1}
.brand__txt b{display:block;font-weight:600;font-size:1.18rem;letter-spacing:.04em}
.brand__txt span{font-size:.64rem;letter-spacing:.3em;color:var(--gray);font-family:var(--ff-body);font-weight:600}

.nav{display:flex;align-items:center;gap:34px}
.nav a{
  font-weight:600;font-size:.9rem;color:var(--gray);position:relative;
  transition:color .25s;
}
.nav a::after{
  content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--red);
  transition:width .3s var(--ease);
}
.nav a:hover{color:var(--white)}
.nav a:hover::after{width:100%}

.header__cta{display:flex;align-items:center;gap:14px}
.burger{display:none;width:44px;height:44px;border-radius:10px;flex-direction:column;
  justify-content:center;align-items:center;gap:5px;border:1px solid var(--line-2)}
.burger span{width:20px;height:2px;background:var(--white);transition:.3s var(--ease)}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* mobile menu */
.mobile-menu{
  position:fixed;inset:0;z-index:99;background:rgba(6,8,11,.97);
  backdrop-filter:blur(8px);
  display:flex;flex-direction:column;justify-content:center;gap:8px;
  padding:40px;
  opacity:0;visibility:hidden;transform:translateY(-12px);
  transition:opacity .35s,transform .35s,visibility .35s;
}
.mobile-menu.open{opacity:1;visibility:visible;transform:none}
.mobile-menu a{
  font-family:var(--ff-display);text-transform:uppercase;font-size:2rem;font-weight:500;
  padding:10px 0;border-bottom:1px solid var(--line);
}
.mobile-menu a:last-of-type{border:none}
.mobile-menu .btn{margin-top:24px;justify-content:center}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden}
.hero__media{position:absolute;inset:0;z-index:0}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:60% 30%}
.hero__media::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(100deg, rgba(5,7,10,.96) 0%, rgba(6,8,11,.82) 32%, rgba(6,8,11,.42) 62%, rgba(6,8,11,.65) 100%),
    linear-gradient(0deg, var(--bg) 2%, transparent 30%);
}
.hero__inner{position:relative;z-index:2;padding:120px 0 90px}
.hero__eyebrow{
  font-weight:700;font-size:.8rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--white);display:inline-flex;align-items:center;gap:.8em;margin-bottom:26px;
}
.hero__eyebrow::before{content:"";width:40px;height:2px;background:var(--red)}
.hero h1{
  font-family:var(--ff-display);font-weight:600;text-transform:uppercase;
  font-size:clamp(2.7rem,7.2vw,6rem);line-height:.96;letter-spacing:.004em;
  max-width:16ch;
}
.hero h1 .l2{color:var(--white);display:block}
.hero h1 .l1{color:var(--white)}
.hero__text{color:var(--gray);font-size:1.12rem;max-width:56ch;margin:28px 0 38px}
.hero__btns{display:flex;flex-wrap:wrap;gap:16px}
.hero__tags{
  display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:54px;
  padding-top:28px;border-top:1px solid var(--line);
}
.hero__tags span{
  font-family:var(--ff-display);text-transform:uppercase;font-size:1rem;letter-spacing:.12em;
  color:var(--gray);display:flex;align-items:center;gap:.6em;font-weight:500;
}
.hero__tags span::before{content:"";width:6px;height:6px;background:var(--red);border-radius:50%}
.scroll-cue{
  position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--gray-dim);
  font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;
}
.scroll-cue .line{width:1px;height:38px;background:linear-gradient(var(--red),transparent);animation:cue 2s var(--ease) infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ---------- INSTITUCIONAL ---------- */
.inst{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,80px);align-items:center}
.inst__media{position:relative}
.inst__media img{width:100%;border-radius:var(--radius);aspect-ratio:4/5;object-fit:cover;object-position:50% 25%}
.inst__media::before{
  content:"";position:absolute;inset:auto -18px -18px auto;width:60%;height:60%;
  border:1px solid var(--red);border-radius:var(--radius);z-index:-1;opacity:.5;
}
.inst__badge{
  position:absolute;left:-18px;bottom:28px;background:var(--red);color:#fff;
  padding:18px 22px;border-radius:12px;max-width:210px;box-shadow:var(--shadow-red);
}
.inst__badge b{font-family:var(--ff-display);font-size:1.55rem;text-transform:uppercase;display:block;line-height:1}
.inst__badge span{font-size:.78rem;opacity:.9}
.inst p{color:var(--gray);margin-top:22px}
.inst__chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.chip{
  font-size:.82rem;font-weight:700;padding:9px 16px;border:1px solid var(--line-2);
  border-radius:40px;color:var(--white);display:flex;align-items:center;gap:.5em;
}
.chip::before{content:"";width:7px;height:7px;background:var(--red);border-radius:50%}

/* ---------- TREINAMENTOS ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:20px}
.card{
  position:relative;border-radius:var(--radius);overflow:hidden;background:var(--surface);
  border:1px solid var(--line);min-height:380px;display:flex;flex-direction:column;justify-content:flex-end;
  isolation:isolate;transition:transform .45s var(--ease),border-color .45s;
}
.card:hover{transform:translateY(-6px);border-color:var(--line-2)}
.card__img{position:absolute;inset:0;z-index:-1}
.card__img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease);filter:saturate(1.02)}
.card:hover .card__img img{transform:scale(1.07)}
.card__img::after{content:"";position:absolute;inset:0;
  background:linear-gradient(0deg, rgba(8,10,13,.98) 28%, rgba(8,10,13,.86) 54%, rgba(8,10,13,.28) 100%)}
.card__body{padding:26px 24px 24px;position:relative}
.card h3{font-family:var(--ff-display);text-transform:uppercase;font-size:1.5rem;font-weight:600;line-height:1.05}
.card p{color:var(--gray);font-size:.93rem;margin:12px 0 18px}
.card__link{display:inline-flex;align-items:center;gap:.5em;font-weight:700;font-size:.86rem;color:var(--red-bright)}
.card__link svg{width:16px;height:16px;transition:transform .3s}
.card:hover .card__link svg{transform:translateX(4px)}
.card__num{position:absolute;top:20px;right:22px;font-family:var(--ff-display);font-size:1.1rem;
  color:var(--white);opacity:.4;letter-spacing:.1em}
.treinos-nota{
  margin-top:30px;padding:18px 22px;border:1px solid var(--line);border-radius:12px;
  background:var(--bg-2);color:var(--gray);font-size:.86rem;text-align:center;letter-spacing:.01em;
}

/* ---------- VÍDEO ---------- */
.video-sec{background:var(--bg-2);border-block:1px solid var(--line)}
.video-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(34px,5vw,70px);align-items:center}
.video-copy .s-title{margin-bottom:20px}
.video-player{
  position:relative;max-width:360px;margin-inline:auto;width:100%;
  aspect-ratio:9/16;border-radius:20px;overflow:hidden;background:#000;
  border:1px solid var(--line-2);box-shadow:var(--shadow);
}
.video-player video{width:100%;height:100%;object-fit:cover}
.video-player__poster{position:absolute;inset:0;z-index:2;cursor:pointer}
.video-player__poster img{width:100%;height:100%;object-fit:cover}
.video-player__poster::after{content:"";position:absolute;inset:0;background:rgba(6,8,11,.28)}
.play-btn{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;
  width:78px;height:78px;border-radius:50%;background:var(--red);color:#fff;
  display:grid;place-items:center;box-shadow:var(--shadow-red);
  transition:transform .3s var(--ease),background .3s;
}
.video-player__poster:hover .play-btn{transform:translate(-50%,-50%) scale(1.08);background:var(--red-bright)}
.play-btn::before{
  content:"";position:absolute;inset:-14px;border-radius:50%;border:1px solid rgba(226,58,68,.5);
  animation:pulse 2.4s ease-out infinite;
}
@keyframes pulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.5);opacity:0}}
.play-btn svg{width:30px;height:30px;margin-left:4px}
.video-copy .vlist{margin-top:26px;display:flex;flex-direction:column;gap:12px}
.video-copy .vlist li{display:flex;gap:12px;color:var(--gray);align-items:flex-start}
.video-copy .vlist svg{width:20px;height:20px;color:var(--red-bright);flex:none;margin-top:2px}

/* ---------- DIFERENCIAIS ---------- */
.diffs{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.diff{
  padding:34px 26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);
  transition:transform .4s var(--ease),border-color .4s,background .4s;
}
.diff:hover{transform:translateY(-6px);border-color:var(--red);background:var(--surface-2)}
.diff__ico{width:52px;height:52px;border-radius:12px;background:rgba(198,40,50,.12);
  display:grid;place-items:center;margin-bottom:22px;border:1px solid rgba(198,40,50,.28)}
.diff__ico svg{width:26px;height:26px;color:var(--red-bright)}
.diff h3{font-family:var(--ff-display);text-transform:uppercase;font-size:1.3rem;font-weight:600;line-height:1.1;margin-bottom:10px}
.diff p{color:var(--gray);font-size:.92rem}

/* ---------- INSTRUTOR ---------- */
.instr{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(34px,5vw,74px);align-items:center}
.instr__media{position:relative}
.instr__media img{width:100%;border-radius:var(--radius);aspect-ratio:3/4;object-fit:cover;object-position:50% 20%}
.instr__media::after{
  content:"";position:absolute;inset:0;border-radius:var(--radius);
  background:linear-gradient(0deg,rgba(8,10,13,.55),transparent 45%)}
.instr__tag{position:absolute;left:20px;bottom:20px;z-index:2;display:flex;align-items:center;gap:10px}
.instr__tag .dot{width:10px;height:10px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px rgba(198,40,50,.25)}
.instr__tag b{font-family:var(--ff-display);text-transform:uppercase;font-size:1.1rem;letter-spacing:.05em}
.instr__quals{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 24px}
.instr p{color:var(--gray);margin-bottom:16px}
.instr__ig{display:inline-flex;align-items:center;gap:.6em;font-weight:700;color:var(--white);margin-top:8px}
.instr__ig svg{width:20px;height:20px;color:var(--red-bright)}
.instr__ig:hover{color:var(--red-bright)}

/* ---------- EQUIPAMENTOS ---------- */
.equip-group{margin-top:48px}
.equip-group:first-child{margin-top:8px}
.equip-group__title{display:flex;align-items:center;gap:16px;font-family:var(--ff-display);text-transform:uppercase;
  font-size:1.35rem;font-weight:600;letter-spacing:.04em;margin-bottom:22px;color:var(--white)}
.equip-group__title::before{content:"";width:8px;height:22px;background:var(--red);border-radius:2px;flex:none}
.equip-group__title em{font-family:var(--ff-body);font-style:normal;font-size:.72rem;font-weight:700;letter-spacing:.14em;
  color:var(--gray-dim);border:1px solid var(--line);padding:4px 10px;border-radius:30px;margin-left:auto}
.equip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.equip-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;
  display:flex;flex-direction:column;transition:transform .35s var(--ease),border-color .35s}
.equip-card:hover{transform:translateY(-4px);border-color:var(--line-2)}
.equip-card__img{aspect-ratio:1/1;padding:18px;border-bottom:1px solid var(--line);
  background:radial-gradient(circle at 50% 44%, #3A4552 0%, #262E38 52%, #1C222A 100%)}
.equip-card__img img{width:100%;height:100%;object-fit:contain;
  filter:drop-shadow(0 14px 14px rgba(0,0,0,.55));transition:transform .45s var(--ease)}
.equip-card:hover .equip-card__img img{transform:scale(1.05)}
.equip-card__body{padding:16px 16px 18px;display:flex;flex-direction:column;gap:7px;flex:1}
.equip-card__code{font-family:var(--ff-body);font-size:.66rem;font-weight:700;letter-spacing:.14em;color:var(--red-bright)}
.equip-card h4{font-family:var(--ff-display);text-transform:uppercase;font-size:1.08rem;font-weight:600;line-height:1.08;color:var(--white)}
.equip-card p{color:var(--gray);font-size:.82rem;line-height:1.5}

/* ---------- GALERIA ---------- */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:168px;gap:12px}
.gal-item{position:relative;overflow:hidden;border-radius:12px;cursor:pointer;background:var(--surface);border:1px solid var(--line)}
.gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.gal-item:hover img{transform:scale(1.08)}
.gal-item::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,10,13,.6),transparent 55%);opacity:0;transition:opacity .4s}
.gal-item:hover::after{opacity:1}
.gal-cap{position:absolute;left:14px;bottom:12px;right:14px;z-index:2;font-size:.82rem;font-weight:600;
  opacity:0;transform:translateY(8px);transition:.4s var(--ease)}
.gal-item:hover .gal-cap{opacity:1;transform:none}
.gal-item .zoom{position:absolute;top:12px;right:12px;z-index:2;width:34px;height:34px;border-radius:50%;
  background:rgba(8,10,13,.6);display:grid;place-items:center;opacity:0;transition:.4s;border:1px solid var(--line-2)}
.gal-item:hover .zoom{opacity:1}
.gal-item .zoom svg{width:16px;height:16px}
/* editorial rhythm (repeats every 8 tiles, escala p/ qualquer quantidade) */
.gal-item:nth-child(8n+1){grid-column:span 2;grid-row:span 2}
.gal-item:nth-child(8n+6){grid-column:span 2}
.gal-item:nth-child(8n+4){grid-row:span 2}

/* lightbox */
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(5,6,8,.95);display:none;
  align-items:center;justify-content:center;padding:28px;opacity:0;transition:opacity .3s}
.lightbox.open{display:flex;opacity:1}
.lightbox img{max-width:min(92vw,900px);max-height:86vh;border-radius:10px;box-shadow:var(--shadow)}
.lightbox__cap{position:absolute;bottom:26px;left:0;right:0;text-align:center;color:var(--gray);font-size:.9rem}
.lb-btn{position:absolute;background:rgba(255,255,255,.08);border:1px solid var(--line-2);width:50px;height:50px;
  border-radius:50%;display:grid;place-items:center;transition:.3s}
.lb-btn:hover{background:var(--red)}
.lb-btn svg{width:22px;height:22px}
.lb-close{top:24px;right:24px}
.lb-prev{left:24px;top:50%;transform:translateY(-50%)}
.lb-next{right:24px;top:50%;transform:translateY(-50%)}

/* ---------- PÚBLICO ---------- */
.publico{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,5vw,70px);align-items:center}
.pub-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pub-list li{display:flex;align-items:center;gap:14px;padding:18px 20px;background:var(--surface);
  border:1px solid var(--line);border-radius:12px;font-weight:600;font-size:.96rem;transition:.35s var(--ease)}
.pub-list li:hover{border-color:var(--red);transform:translateX(4px)}
.pub-list .mk{width:34px;height:34px;border-radius:9px;background:rgba(198,40,50,.14);display:grid;place-items:center;flex:none}
.pub-list .mk svg{width:17px;height:17px;color:var(--red-bright)}

/* ---------- FAQ ---------- */
.faq{max-width:860px;margin-inline:auto}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding:26px 4px;text-align:left;font-family:var(--ff-display);text-transform:uppercase;
  font-size:1.25rem;font-weight:500;letter-spacing:.02em;transition:color .3s}
.faq-q:hover{color:var(--red-bright)}
.faq-ico{width:30px;height:30px;flex:none;border:1px solid var(--line-2);border-radius:50%;position:relative;transition:.3s}
.faq-ico::before,.faq-ico::after{content:"";position:absolute;left:50%;top:50%;background:var(--white);transition:.3s var(--ease)}
.faq-ico::before{width:12px;height:2px;transform:translate(-50%,-50%)}
.faq-ico::after{width:2px;height:12px;transform:translate(-50%,-50%)}
.faq-item.open .faq-ico{background:var(--red);border-color:var(--red)}
.faq-item.open .faq-ico::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0}
.faq-a{max-height:0;overflow:hidden;transition:max-height .45s var(--ease)}
.faq-a p{color:var(--gray);padding:0 4px 26px;max-width:66ch}

/* ---------- CTA FINAL ---------- */
.cta{position:relative;overflow:hidden;text-align:center}
.cta__bg{position:absolute;inset:0;z-index:0}
.cta__bg img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.cta__bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(0deg,var(--bg) 4%,rgba(8,10,13,.86) 50%,rgba(8,10,13,.92))}
.cta__inner{position:relative;z-index:2;max-width:760px;margin-inline:auto;padding:clamp(70px,9vw,120px) 0}
.cta h2{font-family:var(--ff-display);text-transform:uppercase;font-size:clamp(2.3rem,6vw,4.4rem);
  font-weight:600;line-height:1;margin-bottom:22px}
.cta p{color:var(--gray);font-size:1.1rem;max-width:56ch;margin:0 auto 36px}

/* ---------- FOOTER ---------- */
.footer{background:var(--bg-2);border-top:1px solid var(--line);padding:70px 0 30px}
.footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1.3fr;gap:44px;padding-bottom:46px;border-bottom:1px solid var(--line)}
.footer .brand{margin-bottom:18px}
.footer__about{color:var(--gray);font-size:.92rem;max-width:36ch}
.footer h4{font-family:var(--ff-display);text-transform:uppercase;font-size:1.05rem;letter-spacing:.1em;
  color:var(--gray);margin-bottom:18px;font-weight:600}
.footer__nav li{margin-bottom:11px}
.footer__nav a{color:var(--gray);font-size:.94rem;transition:color .25s}
.footer__nav a:hover{color:var(--white)}
.footer__contacts li{display:flex;align-items:center;gap:12px;margin-bottom:14px;color:var(--white);font-size:.94rem}
.footer__contacts svg{width:18px;height:18px;color:var(--red-bright);flex:none}
.footer__contacts a:hover{color:var(--red-bright)}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-top:26px;
  color:var(--gray-dim);font-size:.82rem;flex-wrap:wrap}
.footer__bottom a{color:var(--gray-dim)}
.footer__bottom a:hover{color:var(--gray)}

/* ---------- FLOAT WHATSAPP ---------- */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:90;width:58px;height:58px;border-radius:50%;
  background:#25D366;display:grid;place-items:center;box-shadow:0 14px 30px -8px rgba(37,211,102,.6);
  transition:transform .3s var(--ease)}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:30px;height:30px;color:#fff}

/* ---------- REVEAL (só quando há JS; sem JS, tudo visível) ---------- */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .reveal.in{opacity:1;transform:none}
.reveal[data-d="1"]{transition-delay:.08s}
.reveal[data-d="2"]{transition-delay:.16s}
.reveal[data-d="3"]{transition-delay:.24s}
.reveal[data-d="4"]{transition-delay:.32s}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1040px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .diffs{grid-template-columns:repeat(2,1fr)}
  .video-wrap{grid-template-columns:1fr;gap:40px}
  .video-player{max-width:300px}
}
@media (max-width:880px){
  .nav{display:none}
  .header__cta .btn{display:none}
  .burger{display:flex}
  .inst,.instr,.publico{grid-template-columns:1fr}
  .inst__media{max-width:440px;margin-inline:auto}
  .instr__media{max-width:420px;margin-inline:auto}
  .gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}
  .gal-item{grid-column:span 1 !important;grid-row:span 1 !important}
  .gal-item:nth-child(8n+1){grid-column:span 2 !important;grid-row:span 2 !important}
  .footer__grid{grid-template-columns:1fr;gap:34px}
}
@media (max-width:560px){
  body{font-size:16px}
  .container{width:min(100% - 32px,var(--container))}
  .cards{grid-template-columns:1fr}
  .diffs{grid-template-columns:1fr}
  .pub-list{grid-template-columns:1fr}
  .hero__btns{flex-direction:column;align-items:stretch}
  .hero__btns .btn{justify-content:center}
  .gallery{grid-template-columns:1fr 1fr;grid-auto-rows:130px}
  .lb-prev{left:12px}.lb-next{right:12px}
}

/* ---------- MOTION SAFETY ---------- */
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
  .reveal{opacity:1;transform:none}
  .card p{max-height:140px;opacity:1}
}
