/* ==========================================================================
   RODRIGO SILVA — DIREÇÃO VISUAL PREMIUM
   Consultor de Imagem Masculina & Visagismo
   CSS — versão editorial / luxury / high-end
   Compatível com o HTML atual. Não exige alteração estrutural.
   ========================================================================== */

:root{
  --black:#070707;
  --black-2:#0b0b0b;
  --surface:#101010;
  --surface-2:#151515;
  --surface-3:#1b1b1b;

  --white:#f7f5ef;
  --white-pure:#fff;
  --muted:#a5a29a;
  --muted-2:#77756f;
  --line:rgba(247,245,239,.12);
  --line-strong:rgba(247,245,239,.2);

  --gold:#c8a45b;
  --gold-light:#e0c37b;
  --gold-dark:#8f7134;
  --gold-glow:rgba(200,164,91,.18);

  --font-display:'Cormorant Garamond', Georgia, serif;
  --font-body:'Manrope', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --container:1320px;
  --gutter:clamp(22px,4vw,64px);
  --section:clamp(92px,10vw,164px);

  --ease:cubic-bezier(.16,1,.3,1);
  --ease-soft:cubic-bezier(.22,.61,.36,1);
}

/* ========================= RESET ========================= */

*,
*::before,
*::after{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
  background:var(--black);
}

body{
  min-height:100vh;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 78% 8%, rgba(200,164,91,.055), transparent 24rem),
    radial-gradient(circle at 12% 42%, rgba(255,255,255,.025), transparent 30rem),
    var(--black);
  color:var(--white);
  font-family:var(--font-body);
  font-weight:400;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

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

img{
  display:block;
  max-width:100%;
}

a{
  color:inherit;
  text-decoration:none;
}

button,
input{
  font:inherit;
}

button{
  border:0;
  background:none;
  color:inherit;
  cursor:pointer;
}

::selection{
  background:var(--gold);
  color:var(--black);
}

:focus-visible{
  outline:1px solid var(--gold-light);
  outline-offset:5px;
}

.wrap{
  width:min(100%,var(--container));
  margin-inline:auto;
  padding-inline:var(--gutter);
}

h1,
h2,
h3,
h4{
  font-family:var(--font-display);
  font-weight:500;
  letter-spacing:-.035em;
}

p{
  text-wrap:pretty;
}

.hairline{
  width:100%;
  height:1px;
  border:0;
  background:linear-gradient(
    90deg,
    transparent,
    var(--line-strong) 15%,
    var(--line-strong) 85%,
    transparent
  );
}

.gold-rule{
  width:54px;
  height:1px;
  flex:0 0 auto;
  background:linear-gradient(90deg,var(--gold),var(--gold-light));
  box-shadow:0 0 22px var(--gold-glow);
}

/* ========================= LOGO ========================= */

.rs-mark{
  display:inline-flex;
  align-items:center;
  gap:14px;
}

.rs-mark svg{
  display:block;
}

.rs-mark .rs-name{
  font-family:var(--font-body);
  font-size:12px;
  font-weight:600;
  letter-spacing:.16em;
  line-height:1.2;
  text-transform:uppercase;
}

.rs-mark .rs-name span{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:9px;
  font-weight:400;
  letter-spacing:.15em;
}

.rs-logo-icon{
  width:42px;
  height:42px;
  object-fit:contain;
}

.rs-logo-full{
  width:185px;
  height:auto;
  margin-inline:auto;
}

.rs-mark-full .rs-logo-lockup{
  width:auto;
  height:42px;
  object-fit:contain;
  transition:transform .5s var(--ease),opacity .4s ease, filter .5s ease;
}

.rs-mark-full:hover .rs-logo-lockup{
  transform:translateY(-2px);
  filter:brightness(1.12) drop-shadow(0 0 14px rgba(200,164,91,.18));
}

footer .rs-logo-lockup{
  height:48px;
}

/* ========================= HEADER ========================= */

header{
  position:fixed;
  inset:0 0 auto;
  z-index:1000;
  padding:28px 0;
  border-bottom:1px solid transparent;
  transition:
    padding .55s var(--ease),
    background .55s var(--ease),
    border-color .55s var(--ease),
    backdrop-filter .55s ease;
}

header::after{
  content:"";
  position:absolute;
  left:var(--gutter);
  right:var(--gutter);
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(200,164,91,.2),transparent);
  opacity:0;
  transition:opacity .5s ease;
}

header.scrolled{
  padding:13px 0;
  background:rgba(7,7,7,.68);
  border-bottom-color:rgba(247,245,239,.08);
  backdrop-filter:blur(26px) saturate(150%);
  -webkit-backdrop-filter:blur(26px) saturate(150%);
  box-shadow:0 12px 50px rgba(0,0,0,.15);
}

header.scrolled::after{
  opacity:1;
}

header .wrap{
  width:100%;
  max-width:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}

nav.primary-nav{
  display:flex;
  align-items:center;
  gap:clamp(24px,2.8vw,46px);
}

nav.primary-nav a{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:34px;
  color:rgba(247,245,239,.66);
  font-size:11px;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:color .35s ease;
}

nav.primary-nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:3px;
  width:0;
  height:1px;
  background:var(--gold-light);
  transition:width .45s var(--ease);
}

nav.primary-nav a:hover,
nav.primary-nav a.active{
  color:var(--white);
}

nav.primary-nav a:hover::after,
nav.primary-nav a.active::after{
  width:100%;
}

nav.primary-nav a.cta-nav{
  min-height:40px;
  padding:0 19px;
  border:1px solid rgba(200,164,91,.5);
  color:var(--white);
  letter-spacing:.1em;
  transition:
    background .4s var(--ease),
    border-color .4s var(--ease),
    transform .4s var(--ease),
    color .4s ease;
}

nav.primary-nav a.cta-nav::after{
  display:none;
}

nav.primary-nav a.cta-nav:hover{
  border-color:var(--gold-light);
  background:var(--gold);
  color:var(--black);
  transform:translateY(-2px);
}

.burger{
  display:none;
  width:34px;
  height:34px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:6px;
  position:relative;
  z-index:1100;
}

.burger span{
  display:block;
  width:25px;
  height:1px;
  background:var(--white);
  transition:
    transform .4s var(--ease),
    opacity .3s ease,
    width .4s var(--ease);
}

.burger span:nth-child(2){
  width:17px;
  align-self:flex-end;
}

.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-nav{
  position:fixed;
  inset:0;
  z-index:1050;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  padding:100px var(--gutter) 50px;
  background:
    radial-gradient(circle at 85% 20%,rgba(200,164,91,.08),transparent 22rem),
    rgba(7,7,7,.98);
  transform:translateY(-105%);
  transition:transform .65s var(--ease);
}

.mobile-nav.open{
  transform:translateY(0);
}

.mobile-nav a{
  width:max-content;
  position:relative;
  padding:8px 0;
  font-family:var(--font-display);
  font-size:clamp(38px,9vw,62px);
  line-height:1.1;
  letter-spacing:-.04em;
  color:var(--white);
}

.mobile-nav a::before{
  content:"";
  position:absolute;
  left:0;
  bottom:2px;
  width:0;
  height:1px;
  background:var(--gold);
  transition:width .45s var(--ease);
}

.mobile-nav a:hover::before{
  width:100%;
}

.mobile-nav .mn-sub{
  margin-top:34px;
  color:var(--muted);
  font-size:10px;
  font-weight:500;
  letter-spacing:.2em;
  text-transform:uppercase;
}

/* ========================= SPA PAGES ========================= */

.page{
  display:none;
}

.page.is-active{
  display:block;
}

/* ========================= HERO ========================= */

.hero{
  min-height:100svh;
  position:relative;
  display:flex;
  align-items:flex-end;
  isolation:isolate;
  overflow:hidden;
  padding:170px 0 clamp(70px,9vw,120px);
  background:
    radial-gradient(
      ellipse at 72% 42%,
      rgba(200,164,91,.12) 0,
      rgba(200,164,91,.035) 24%,
      transparent 48%
    ),
    linear-gradient(
      110deg,
      #080808 0%,
      #0b0b0b 45%,
      #12100c 100%
    );
}

/* luxury editorial light */
.hero::before{
  content:"";
  position:absolute;
  z-index:-2;
  width:min(62vw,920px);
  aspect-ratio:1;
  right:-12%;
  top:5%;
  border:1px solid rgba(200,164,91,.12);
  border-radius:50%;
  box-shadow:
    0 0 0 80px rgba(200,164,91,.012),
    0 0 0 160px rgba(200,164,91,.008);
}

.hero::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:auto 0 0;
  height:58%;
  background:
    linear-gradient(180deg,transparent,rgba(7,7,7,.68) 65%,#070707 100%);
  pointer-events:none;
}

.hero .wrap{
  position:relative;
  z-index:2;
  width:100%;
}

.hero-placeholder-tag{
  position:absolute;
  top:104px;
  right:var(--gutter);
  padding:7px 11px;
  border:1px solid rgba(247,245,239,.1);
  color:var(--muted-2);
  font-size:9px;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.75;
}

.hero-eyebrow-line{
  display:flex;
  align-items:center;
  gap:17px;
  margin-bottom:27px;
  opacity:0;
  animation:heroUp .9s var(--ease) .1s forwards;
}

.hero-eyebrow-line span{
  color:rgba(247,245,239,.58);
  font-size:10px;
  font-weight:500;
  letter-spacing:.16em;
  line-height:1.5;
  text-transform:uppercase;
}

.hero h1{
  max-width:13.2ch;
  color:var(--white);
  font-size:clamp(52px,8.2vw,124px);
  font-weight:500;
  line-height:.91;
  letter-spacing:-.055em;
  text-wrap:balance;
  opacity:0;
  animation:heroUp 1s var(--ease) .22s forwards;
}

.hero h1::first-letter{
  color:var(--white);
}

.hero-sub{
  max-width:520px;
  margin-top:31px;
  color:rgba(247,245,239,.63);
  font-size:clamp(14px,1.25vw,17px);
  line-height:1.7;
  opacity:0;
  animation:heroUp .95s var(--ease) .4s forwards;
}

.hero-ctas{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:39px;
  opacity:0;
  animation:heroUp .95s var(--ease) .55s forwards;
}

@keyframes heroUp{
  from{
    opacity:0;
    transform:translateY(28px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* ========================= BUTTONS ========================= */

.btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  gap:13px;
  padding:0 25px;
  border:1px solid transparent;
  border-radius:0;
  overflow:hidden;
  font-size:10px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  transition:
    color .45s var(--ease),
    background .45s var(--ease),
    border-color .45s var(--ease),
    transform .45s var(--ease),
    box-shadow .45s var(--ease);
}

.btn::after{
  content:"↗";
  font-size:13px;
  line-height:1;
  transition:transform .45s var(--ease);
}

.btn:hover{
  transform:translateY(-3px);
}

.btn:hover::after{
  transform:translate(3px,-3px);
}

.btn-gold{
  background:var(--gold);
  color:var(--black);
  box-shadow:0 15px 38px -20px rgba(200,164,91,.7);
}

.btn-gold:hover{
  background:var(--gold-light);
  box-shadow:0 20px 45px -18px rgba(200,164,91,.55);
}

.btn-outline{
  border-color:rgba(247,245,239,.28);
  background:rgba(247,245,239,.025);
  color:var(--white);
}

.btn-outline:hover{
  border-color:var(--gold);
  background:rgba(200,164,91,.07);
  color:var(--gold-light);
}

.btn:active{
  transform:translateY(-1px);
}

/* ========================= POSITIONING ========================= */

.positioning{
  position:relative;
  padding:18px 0;
  overflow:hidden;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#090909;
}

.positioning::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    90deg,
    rgba(200,164,91,.045),
    transparent 30%,
    transparent 70%,
    rgba(200,164,91,.045)
  );
}

.positioning .wrap{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
  text-align:center;
}

.positioning span{
  color:rgba(247,245,239,.53);
  font-size:9px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.positioning .dot{
  color:var(--gold);
  font-size:12px;
}

/* ========================= SECTIONS ========================= */

section.block{
  position:relative;
  padding:var(--section) 0;
}

section.block:nth-of-type(even){
  background:
    linear-gradient(180deg,transparent,rgba(255,255,255,.012) 50%,transparent);
}

.block-head{
  max-width:720px;
  margin-bottom:68px;
}

.block-head::before{
  content:"";
  display:block;
  width:42px;
  height:1px;
  margin-bottom:23px;
  background:var(--gold);
}

.block-head h2{
  color:var(--white);
  font-size:clamp(37px,5vw,68px);
  line-height:.98;
  letter-spacing:-.05em;
  text-wrap:balance;
}

.block-head p.lede{
  max-width:58ch;
  margin-top:22px;
  color:var(--muted);
  font-size:15px;
  line-height:1.8;
}

/* ========================= VISAGISMO ========================= */

#visagismo{
  overflow:hidden;
}

#visagismo::after{
  content:"01";
  position:absolute;
  top:clamp(45px,6vw,90px);
  right:var(--gutter);
  color:rgba(247,245,239,.025);
  font-family:var(--font-display);
  font-size:clamp(100px,16vw,230px);
  line-height:1;
  pointer-events:none;
}

.visagismo-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);
  gap:clamp(50px,9vw,150px);
  align-items:center;
}

.visagismo-copy{
  position:relative;
  z-index:2;
}

.visagismo-copy .gold-rule{
  margin-bottom:26px !important;
}

.visagismo-copy h2{
  max-width:14ch;
  color:var(--white);
  font-size:clamp(35px,4.3vw,61px) !important;
  line-height:.99 !important;
  letter-spacing:-.05em;
}

.visagismo-copy p{
  max-width:54ch;
  margin-top:21px;
  color:var(--muted);
  font-size:15px;
  line-height:1.85;
}

.visagismo-copy p + p{
  margin-top:13px;
}

.face-diagram{
  width:100%;
  max-width:500px;
  justify-self:end;
  aspect-ratio:1/1.1;
  position:relative;
  padding:10px;
  opacity:.95;
}

.face-diagram::before{
  content:"VISAGISMO";
  position:absolute;
  top:7%;
  right:3%;
  color:var(--gold);
  font-size:8px;
  font-weight:600;
  letter-spacing:.28em;
  writing-mode:vertical-rl;
  opacity:.8;
}

.face-diagram::after{
  content:"ANÁLISE • PROPORÇÃO • IDENTIDADE";
  position:absolute;
  bottom:3%;
  left:4%;
  color:var(--muted-2);
  font-size:7px;
  letter-spacing:.18em;
}

.face-diagram svg{
  overflow:visible;
  filter:drop-shadow(0 0 28px rgba(200,164,91,.035));
}

/* ========================= PILLARS ========================= */

.pillars{
  width:min(100%,1320px);
  margin-inline:auto;
  padding-inline:var(--gutter);
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.pillar{
  min-height:280px;
  position:relative;
  padding:37px 31px 42px;
  border-right:1px solid var(--line);
  background:
    radial-gradient(circle at 100% 0,rgba(200,164,91,.08),transparent 11rem),
    rgba(255,255,255,.008);
  transition:
    background .55s var(--ease),
    transform .55s var(--ease);
}

.pillar:first-child{
  border-left:1px solid var(--line);
}

.pillar::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:0;
  height:2px;
  background:var(--gold);
  transition:width .55s var(--ease);
}

.pillar:hover{
  z-index:2;
  background:
    radial-gradient(circle at 100% 0,rgba(200,164,91,.13),transparent 12rem),
    rgba(255,255,255,.025);
  transform:translateY(-7px);
}

.pillar:hover::before{
  width:100%;
}

.pillar .num{
  display:block;
  margin-bottom:67px;
  color:var(--gold);
  font-family:var(--font-body);
  font-size:9px;
  font-weight:600;
  letter-spacing:.18em;
}

.pillar h3{
  margin-bottom:12px;
  color:var(--white);
  font-size:26px;
  line-height:1;
  letter-spacing:-.035em;
}

.pillar p{
  max-width:27ch;
  color:var(--muted-2);
  font-size:12px;
  line-height:1.75;
}

/* ========================= JOURNEY ========================= */

.journey{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);
}

.journey::before{
  content:"";
  position:absolute;
  top:-1px;
  left:0;
  width:100%;
  height:1px;
  background:linear-gradient(90deg,var(--gold),transparent 42%);
}

.journey-step{
  min-height:260px;
  position:relative;
  padding:48px 35px 40px 0;
  margin-right:35px;
  border-right:1px solid var(--line);
}

.journey-step:last-child{
  border-right:0;
  margin-right:0;
}

.journey-step .step-dot{
  position:absolute;
  top:-5px;
  left:0;
  width:9px;
  height:9px;
  border:2px solid var(--black);
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 1px var(--gold);
}

.journey-step .step-no{
  display:block;
  margin-bottom:62px;
  color:var(--gold);
  font-size:9px;
  font-weight:600;
  letter-spacing:.18em;
}

.journey-step h3{
  margin-bottom:13px;
  font-size:25px;
  line-height:1;
}

.journey-step p{
  max-width:27ch;
  color:var(--muted-2);
  font-size:12px;
  line-height:1.8;
}

/* =========================================================
   TRANSFORMAÇÕES — ANTES E DEPOIS (layout fixo, sem slider)
   ========================================================= */

.ba-section{
  position:relative;
}

.ba-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
}

.ba-card{
  min-width:0;
  overflow:hidden;
  background:#0c0c0c;
  border:1px solid rgba(247,245,239,.13);
  transition:border-color .4s ease, transform .4s var(--ease);
}

.ba-card:hover{
  border-color:rgba(200,164,91,.45);
  transform:translateY(-4px);
}

.ba-images{
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  width:100%;
  aspect-ratio:4/3;
  overflow:hidden;
  background:#090909;
}

.ba-photo-box{
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
}

.ba-photo-box img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .7s var(--ease);
}

.ba-card:hover .ba-photo-box img{
  transform:scale(1.025);
}

.ba-images::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:1px;
  background:rgba(255,255,255,.35);
  transform:translateX(-50%);
  z-index:5;
}

.ba-arrow{
  position:absolute;
  z-index:10;
  top:50%;
  left:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:#090909;
  border:1px solid var(--gold);
  color:var(--gold);
  font-family:Arial,sans-serif;
  font-size:19px;
  font-weight:300;
  box-shadow:0 10px 35px rgba(0,0,0,.45), 0 0 0 6px rgba(200,164,91,.07);
}

.ba-label{
  position:absolute;
  bottom:16px;
  z-index:8;
  padding:9px 13px;
  background:rgba(7,7,7,.78);
  border:1px solid rgba(247,245,239,.16);
  color:#fff;
  font-family:var(--font-body);
  font-size:8px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.ba-photo-box:first-child .ba-label{ left:16px; }
.ba-photo-box:last-of-type .ba-label{ right:16px; }

.ba-caption{
  padding:24px 24px 28px;
  background:linear-gradient(180deg,#111 0%,#0b0b0b 100%);
}

.ba-number{
  display:inline-block;
  margin-bottom:12px;
  padding:7px 10px;
  border:1px solid rgba(200,164,91,.5);
  color:var(--gold);
  font-family:var(--font-body);
  font-size:8px;
  font-weight:700;
  letter-spacing:.17em;
  text-transform:uppercase;
}

.ba-caption p{
  max-width:560px;
  margin:0;
  color:var(--muted);
  font-family:var(--font-body);
  font-size:13px;
  line-height:1.7;
}

@media(max-width:800px){
  .ba-grid{
    grid-template-columns:1fr;
    gap:22px;
  }
  .ba-images{
    aspect-ratio:4/3;
  }
  .ba-arrow{
    width:40px;
    height:40px;
    font-size:17px;
  }
  .ba-label{
    bottom:12px;
    padding:8px 10px;
    font-size:7px;
  }
  .ba-photo-box:first-child .ba-label{ left:12px; }
  .ba-photo-box:last-of-type .ba-label{ right:12px; }
  .ba-caption{
    padding:20px;
  }
}

/* ========================= GALLERY ========================= */

.gallery{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

.g-item{
  position:relative;
  display:flex;
  align-items:flex-end;
  flex:0 0 260px;
  width:260px;
  aspect-ratio:4/5;
  overflow:hidden;
  padding:17px;
  border:1px solid var(--line);
  background:
    radial-gradient(circle at 60% 35%,rgba(200,164,91,.08),transparent 27%),
    linear-gradient(135deg,#171717,#0b0b0b);
  isolation:isolate;
  transition:
    transform .6s var(--ease),
    border-color .5s ease;
}

.g-item::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:
    linear-gradient(180deg,transparent 30%,rgba(0,0,0,.75)),
    linear-gradient(125deg,transparent 45%,rgba(200,164,91,.05));
  transition:transform .8s var(--ease);
}

.g-item::after{
  content:"";
  position:absolute;
  top:16px;
  right:16px;
  width:24px;
  height:24px;
  border-top:1px solid rgba(200,164,91,.45);
  border-right:1px solid rgba(200,164,91,.45);
  opacity:.6;
}

.g-item:hover{
  z-index:2;
  transform:scale(1.015);
  border-color:rgba(200,164,91,.4);
}

.g-item:hover::before{
  transform:scale(1.08);
}

.g-item span{
  position:relative;
  z-index:2;
  color:rgba(247,245,239,.6);
  font-size:8px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
}

@media(max-width:700px){
  .g-item{
    flex-basis:calc(50% - 7px);
  }
}

@media(max-width:460px){
  .g-item{
    flex-basis:100%;
  }
}

.g-item-wide{
  flex-basis:calc(520px + 14px);
  width:calc(520px + 14px);
  aspect-ratio:8/5;
}

@media(max-width:700px){
  .g-item-wide{
    flex-basis:100%;
  }
}


/* ========================= HISTORY / FORMATION TEASERS ========================= */

.teaser-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  border:1px solid var(--line);
  background:var(--line);
}

.teaser-panel{
  min-height:330px;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  padding:clamp(30px,4vw,57px);
  overflow:hidden;
  background:
    radial-gradient(circle at 100% 0,rgba(200,164,91,.075),transparent 16rem),
    #0d0d0d;
  transition:background .55s var(--ease);
}

.teaser-panel::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:45px;
  height:1px;
  background:var(--gold);
  transition:width .55s var(--ease);
}

.teaser-panel:hover{
  background:
    radial-gradient(circle at 100% 0,rgba(200,164,91,.12),transparent 18rem),
    #111;
}

.teaser-panel:hover::before{
  width:100%;
}

.teaser-panel h3{
  margin-bottom:17px;
  font-size:31px;
  line-height:1;
}

.teaser-panel p{
  max-width:44ch;
  margin-bottom:25px;
  color:var(--muted);
  font-size:13px;
  line-height:1.8;
}

.teaser-link{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:var(--gold-light);
  font-size:9px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.teaser-link .arrow{
  display:inline-block;
  font-size:14px;
  transition:transform .4s var(--ease);
}

.teaser-link:hover .arrow{
  transform:translate(5px,-3px);
}

.formacao-badges{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:19px;
}

.formacao-badges span{
  padding:7px 10px;
  border:1px solid var(--line-strong);
  color:var(--muted);
  font-size:8px;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
}

/* ========================= INSTAGRAM ========================= */

.insta-block{
  text-align:center;
  padding-bottom:calc(var(--section) + 20px) !important;
}

.insta-block .gold-rule{
  margin-inline:auto;
  margin-bottom:25px !important;
}

.insta-block .handle{
  margin-bottom:25px;
  font-family:var(--font-display);
  font-size:clamp(28px,4vw,47px);
  letter-spacing:-.04em;
}

.insta-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:7px;
  margin-top:50px;
}

.insta-grid div{
  position:relative;
  aspect-ratio:1;
  overflow:hidden;
  border:1px solid var(--line);
  background:
    radial-gradient(circle at 50% 35%,rgba(200,164,91,.08),transparent 30%),
    linear-gradient(135deg,#151515,#0c0c0c);
  transition:
    transform .5s var(--ease),
    border-color .4s ease;
}

.insta-grid div::before{
  content:"";
  position:absolute;
  inset:18%;
  border:1px solid rgba(247,245,239,.06);
  transform:rotate(45deg);
}

.insta-grid div::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,transparent 40%,rgba(200,164,91,.08));
}

.insta-grid div:hover{
  z-index:2;
  transform:translateY(-6px);
  border-color:rgba(200,164,91,.35);
}

/* ========================= FINAL CTA ========================= */

.final-cta{
  position:relative;
  overflow:hidden;
  padding:clamp(110px,13vw,190px) 0;
  text-align:center;
  border-top:1px solid var(--line);
  background:
    radial-gradient(
      ellipse at 50% 45%,
      rgba(200,164,91,.11),
      rgba(200,164,91,.025) 28%,
      transparent 58%
    ),
    #090909;
}

.final-cta::before,
.final-cta::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:min(70vw,850px);
  aspect-ratio:1;
  border:1px solid rgba(200,164,91,.07);
  border-radius:50%;
  transform:translate(-50%,-50%);
  pointer-events:none;
}

.final-cta::after{
  width:min(48vw,590px);
  border-color:rgba(247,245,239,.035);
}

.final-cta .wrap{
  position:relative;
  z-index:2;
}

.final-cta h2{
  max-width:12ch;
  margin:0 auto 22px;
  color:var(--white);
  font-size:clamp(42px,6.5vw,88px);
  line-height:.94;
  letter-spacing:-.06em;
}

.final-cta p{
  max-width:46ch;
  margin:0 auto 38px;
  color:var(--muted);
  font-size:14px;
  line-height:1.8;
}

/* ========================= FOOTER ========================= */

footer{
  position:relative;
  padding:80px 0 30px;
  border-top:1px solid var(--line);
  background:
    radial-gradient(circle at 15% 0%,rgba(200,164,91,.05),transparent 32rem),
    #060606;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr;
  gap:60px;
  margin-bottom:56px;
}

.footer-brand .rs-mark-full{
  display:inline-flex;
  margin-bottom:22px;
}

.footer-tagline{
  max-width:36ch;
  margin-bottom:26px;
  color:var(--muted);
  font-size:13px;
  line-height:1.75;
}

.footer-whatsapp{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--gold-light);
  font-size:10px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.footer-whatsapp .arrow{
  display:inline-block;
  font-size:13px;
  transition:transform .3s var(--ease);
}

.footer-whatsapp:hover .arrow{
  transform:translate(4px,-3px);
}

.footer-col-title{
  display:block;
  margin-bottom:20px;
  color:var(--gray-soft, var(--muted));
  font-size:9px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.footer-nav{
  display:flex;
  flex-direction:column;
  gap:15px;
}

.footer-nav a{
  color:var(--muted-2);
  font-size:12px;
  font-weight:500;
  letter-spacing:.03em;
  transition:color .3s ease;
}

.footer-nav a:hover{
  color:var(--gold-light);
}

.footer-bottom{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  padding-top:26px;
  border-top:1px solid var(--line);
  color:#5f5d58;
  font-size:10px;
  letter-spacing:.04em;
}

.footer-credit a{
  color:var(--gray-soft, var(--muted));
  font-weight:600;
  transition:color .3s ease;
}

.footer-credit a:hover{
  color:var(--gold-light);
}

@media(max-width:700px){
  .footer-grid{
    grid-template-columns:1fr;
    gap:40px;
  }
}

/* ========================= HISTÓRIA PAGE ========================= */

.page-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(160px,18vw,245px) 0 90px;
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(circle at 75% 45%,rgba(200,164,91,.1),transparent 25rem),
    linear-gradient(135deg,#090909,#0e0d0b);
}

.page-hero::after{
  content:"";
  position:absolute;
  right:-8%;
  bottom:-55%;
  width:50vw;
  aspect-ratio:1;
  border:1px solid rgba(200,164,91,.08);
  border-radius:50%;
}

.page-hero .wrap{
  position:relative;
  z-index:2;
}

.page-hero h1{
  font-size:clamp(60px,9vw,125px);
  line-height:.85;
  letter-spacing:-.065em;
}

.page-hero p{
  max-width:54ch;
  margin-top:25px;
  color:var(--muted);
  font-size:14px;
  line-height:1.8;
}

.timeline-v{
  max-width:850px;
  position:relative;
  margin-inline:auto;
  padding-left:75px;
}

.timeline-v::before{
  content:"";
  position:absolute;
  top:5px;
  bottom:5px;
  left:6px;
  width:1px;
  background:linear-gradient(var(--gold),var(--line) 35%,var(--line));
}

.tl-entry{
  position:relative;
  padding-bottom:83px;
}

.tl-entry:last-child{
  padding-bottom:0;
}

.tl-entry .tl-dot{
  position:absolute;
  left:-75px;
  top:3px;
  width:13px;
  height:13px;
  border:3px solid var(--black);
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 1px var(--gold);
}

.tl-entry.pending .tl-dot{
  border:1px dashed var(--muted-2);
  background:var(--black);
  box-shadow:none;
}

.tl-entry .tl-year{
  margin-bottom:11px;
  color:var(--gold);
  font-family:var(--font-display);
  font-size:25px;
  line-height:1;
}

.tl-entry.pending .tl-year{
  color:var(--muted-2);
}

.tl-entry h3{
  margin-bottom:11px;
  font-size:29px;
  line-height:1;
}

.tl-entry p{
  max-width:58ch;
  color:var(--muted);
  font-size:13px;
  line-height:1.85;
}

.tl-entry.pending p{
  color:var(--muted-2);
}

.pending-tag{
  display:inline-block;
  margin-top:14px;
  padding:5px 9px;
  border:1px dashed rgba(247,245,239,.16);
  color:var(--muted-2);
  font-size:8px;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.formacao-grid{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  gap:18px;
}

.formacao-card{
  flex:0 1 300px;
  overflow:hidden;
  border:1px solid var(--line);
  background:#0e0e0e;
  transition:
    transform .55s var(--ease),
    border-color .5s ease;
}

.formacao-card:hover{
  transform:translateY(-8px);
  border-color:rgba(200,164,91,.35);
}

.formacao-photo{
  position:relative;
  isolation:isolate;
  aspect-ratio:4/3;
  display:flex;
  align-items:flex-end;
  padding:17px;
  overflow:hidden;
  border:2px solid rgba(200,164,91,.55);
  box-shadow:0 0 0 1px rgba(200,164,91,.15), 0 18px 40px -18px rgba(200,164,91,.25);
  background:
    radial-gradient(circle at 60% 30%,rgba(200,164,91,.1),transparent 30%),
    linear-gradient(135deg,#161616,#0b0b0b);
  transition:box-shadow .4s var(--ease), border-color .4s var(--ease);
}

.formacao-card:hover .formacao-photo{
  border-color:rgba(200,164,91,.85);
  box-shadow:0 0 0 1px rgba(200,164,91,.3), 0 22px 50px -16px rgba(200,164,91,.4);
}

.formacao-photo::after{
  content:"";
  position:absolute;
  top:16px;
  right:16px;
  width:30px;
  height:30px;
  border-top:1px solid rgba(200,164,91,.35);
  border-right:1px solid rgba(200,164,91,.35);
}

.formacao-photo span{
  position:relative;
  z-index:2;
  color:var(--muted);
  font-size:8px;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.formacao-body{
  padding:29px 27px 31px;
  border-top:1px solid var(--line);
}

.formacao-body h3{
  margin-bottom:10px;
  font-size:27px;
  line-height:1;
}

.formacao-body p{
  color:var(--muted-2);
  font-size:12px;
  line-height:1.75;
}

.content-note{
  max-width:850px;
  margin:70px auto 0;
  padding:21px 25px;
  border:1px dashed rgba(247,245,239,.13);
  background:rgba(255,255,255,.01);
  color:var(--muted-2);
  font-size:11px;
  line-height:1.8;
}

.content-note strong{
  color:var(--muted);
  font-weight:600;
}

/* ========================= EVENTOS PAGE ========================= */

.eventos-hero{
  min-height:100svh;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:140px 24px;
  text-align:center;
  background:
    radial-gradient(circle at 50% 42%,rgba(200,164,91,.12),transparent 28rem),
    #090909;
}

.eventos-hero::before{
  content:"";
  position:absolute;
  width:min(70vw,850px);
  aspect-ratio:1;
  border:1px solid rgba(200,164,91,.09);
  border-radius:50%;
}

.eventos-hero .rs-mark-big{
  position:relative;
  z-index:2;
  margin-bottom:40px;
}

.eventos-hero h1{
  position:relative;
  z-index:2;
  margin-bottom:23px;
  font-size:clamp(48px,7vw,88px);
  line-height:.92;
  letter-spacing:-.06em;
}

.eventos-hero p{
  position:relative;
  z-index:2;
  max-width:48ch;
  color:var(--muted);
  font-size:14px;
  line-height:1.8;
}

.eventos-hero .gold-rule{
  position:relative;
  z-index:2;
  margin:0 auto 30px;
}

/* ========================= REAL PHOTOS (hero / gallery / founder) ========================= */

.hero-photo{
  position:absolute;
  z-index:-3;
  top:0;
  right:0;
  bottom:0;
  width:58%;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 22%);
  mask-image:linear-gradient(90deg,transparent,#000 22%);
}

.hero-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 20%;
  filter:grayscale(10%) contrast(1.04) brightness(.96);
}

@media(max-width:900px){
  .hero-photo{
    width:100%;
    -webkit-mask-image:none;
    mask-image:none;
  }
}

.g-photo{
  position:absolute;
  z-index:-2;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:grayscale(6%) contrast(1.02);
  transition:transform .8s var(--ease);
}

.g-item:hover .g-photo{
  transform:scale(1.06);
}

.founder-photo{
  position:relative;
  width:100%;
  max-width:440px;
  aspect-ratio:4/5;
  margin-inline:auto;
  overflow:hidden;
  border:1px solid var(--line);
}

.founder-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 25%;
  filter:grayscale(10%) contrast(1.03);
}

.founder-photo::after{
  content:"";
  position:absolute;
  top:16px;
  left:16px;
  width:26px;
  height:26px;
  border-top:1px solid rgba(200,164,91,.5);
  border-left:1px solid rgba(200,164,91,.5);
  pointer-events:none;
}

.founder-quote{
  margin-top:24px;
  padding-left:19px;
  border-left:2px solid var(--gold);
  color:var(--muted);
  font-family:var(--font-display);
  font-size:16px;
  font-style:italic;
  line-height:1.65;
}

.page-hero-photo{
  position:absolute;
  z-index:-2;
  top:0;
  right:0;
  bottom:0;
  width:52%;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 26%);
  mask-image:linear-gradient(90deg,transparent,#000 26%);
}

.page-hero-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 20%;
  filter:grayscale(12%) contrast(1.05);
}

@media(max-width:900px){
  .page-hero-photo{
    width:100%;
    -webkit-mask-image:none;
    mask-image:none;
    opacity:.4;
  }
}

.page-hero-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(9,9,9,.5) 0%,rgba(9,9,9,.88) 65%,#090909 100%),
    radial-gradient(circle at 75% 35%,rgba(200,164,91,.14),transparent 25rem);
}

.formacao-photo img{
  position:absolute;
  z-index:-1;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  background:#0a0a0a;
  filter:grayscale(8%) contrast(1.03);
}

/* ========================= RESPONSIVE ========================= */

@media(max-width:1100px){

  .pillars{
    grid-template-columns:repeat(2,1fr);
  }

  .pillar:nth-child(2){
    border-right:0;
  }

  .pillar:nth-child(n+3){
    border-top:1px solid var(--line);
  }

  .journey-step{
    padding-right:25px;
    margin-right:25px;
  }

  .hero h1{
    max-width:12.5ch;
  }

}

@media(max-width:900px){

  :root{
    --section:clamp(82px,11vw,125px);
  }

  header{
    padding:20px 0;
  }

  header.scrolled{
    padding:14px 0;
  }

  nav.primary-nav{
    display:none;
  }

  .burger{
    display:flex;
  }

  .hero{
    padding-top:145px;
  }

  .hero-placeholder-tag{
    top:88px;
  }

  .hero h1{
    font-size:clamp(48px,10vw,82px);
  }

  .visagismo-grid{
    grid-template-columns:1fr;
    gap:65px;
  }

  .face-diagram{
    order:-1;
    width:min(100%,450px);
    justify-self:start;
  }

  .visagismo-copy h2{
    max-width:15ch;
  }

  .pillars{
    padding-inline:var(--gutter);
  }

  .journey{
    grid-template-columns:1fr 1fr;
  }

  .journey-step{
    min-height:240px;
    margin:0;
    padding:39px 28px 38px 0;
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }

  .journey-step:nth-child(2n){
    padding-left:28px;
    padding-right:0;
    border-right:0;
  }

  .journey-step:nth-child(n+3){
    border-bottom:0;
    padding-top:45px;
  }

  .journey-step .step-no{
    margin-bottom:50px;
  }

  .ba-grid{
    grid-template-columns:1fr 1fr;
  }

  .insta-grid{
    grid-template-columns:repeat(3,1fr);
  }

}

@media(max-width:700px){

  .wrap{
    padding-inline:22px;
  }

  .rs-mark-full .rs-logo-lockup{
    height:36px;
  }

  .hero{
    min-height:92svh;
    padding:135px 0 62px;
  }

  .hero-placeholder-tag{
    display:none;
  }

  .hero-eyebrow-line{
    align-items:flex-start;
  }

  .hero-eyebrow-line span{
    max-width:31ch;
  }

  .hero h1{
    max-width:13ch;
    font-size:clamp(47px,13.2vw,72px);
  }

  .hero-sub{
    max-width:42ch;
    font-size:14px;
  }

  .hero-ctas{
    flex-direction:column;
    align-items:flex-start;
  }

  .hero-ctas .btn{
    width:100%;
    max-width:310px;
  }

  .positioning .wrap{
    justify-content:flex-start;
    text-align:left;
    gap:9px 13px;
  }

  .positioning span{
    font-size:8px;
  }

  .block-head{
    margin-bottom:48px;
  }

  .block-head h2{
    font-size:clamp(39px,11vw,55px);
  }

  .pillars{
    grid-template-columns:1fr;
    padding-inline:22px;
  }

  .pillar{
    min-height:230px;
    padding:30px 25px 34px;
    border:0 !important;
    border-bottom:1px solid var(--line) !important;
  }

  .pillar:first-child{
    border-left:1px solid var(--line) !important;
    border-right:1px solid var(--line) !important;
    border-top:1px solid var(--line);
  }

  .pillar:last-child{
    border-bottom:1px solid var(--line) !important;
    border-left:1px solid var(--line) !important;
    border-right:1px solid var(--line) !important;
  }

  .pillar .num{
    margin-bottom:48px;
  }

  .journey{
    grid-template-columns:1fr;
  }

  .journey-step,
  .journey-step:nth-child(2n),
  .journey-step:nth-child(n+3){
    min-height:auto;
    padding:38px 0 42px 33px;
    margin:0;
    border-right:0;
    border-bottom:1px solid var(--line);
  }

  .journey-step:last-child{
    border-bottom:0;
  }

  .journey-step .step-dot{
    left:-4px;
  }

  .journey{
    border-top:0;
    border-left:1px solid var(--line);
  }

  .journey::before{
    top:0;
    bottom:0;
    left:-1px;
    width:1px;
    height:auto;
    background:linear-gradient(var(--gold),var(--line));
  }

  .ba-grid{
    grid-template-columns:1fr;
  }

  .g-item{
    padding:12px;
  }

  .teaser-split{
    grid-template-columns:1fr;
  }

  .teaser-panel{
    min-height:290px;
  }

  .formacao-card{
    flex-basis:100%;
  }

  .timeline-v{
    padding-left:48px;
  }

  .tl-entry .tl-dot{
    left:-48px;
  }

}

@media(max-width:480px){

  :root{
    --gutter:20px;
  }

  header{
    padding:17px 0;
  }

  header.scrolled{
    padding:12px 0;
  }

  .rs-mark-full .rs-logo-lockup{
    height:32px;
  }

  .hero{
    min-height:100svh;
    padding-bottom:48px;
  }

  .hero h1{
    font-size:clamp(43px,13.5vw,61px);
  }

  .hero-sub{
    margin-top:25px;
    font-size:13px;
  }

  .hero-ctas{
    margin-top:31px;
  }

  .btn{
    min-height:50px;
    padding-inline:20px;
    font-size:9px;
  }

  .face-diagram{
    width:100%;
    padding:0;
  }

  .visagismo-copy h2{
    font-size:38px !important;
  }

  .pillar{
    min-height:220px;
  }

  .insta-grid{
    gap:4px;
  }

  .insta-block .handle{
    font-size:30px;
  }

  .final-cta h2{
    font-size:47px;
  }

  .page-hero h1{
    font-size:67px;
  }

  .page-hero{
    padding-top:150px;
  }

  .timeline-v{
    padding-left:38px;
  }

  .tl-entry .tl-dot{
    left:-38px;
  }

  .tl-entry h3{
    font-size:25px;
  }

  .formacao-body{
    padding:24px 21px 26px;
  }

  .eventos-hero h1{
    font-size:50px;
  }

}

/* ========================= ACCESSIBILITY / MOTION ========================= */

@media(hover:hover){

  .rs-mark-full:hover .rs-logo-lockup{
    filter:brightness(1.08);
  }

}

@media(prefers-reduced-motion:reduce){

  html{
    scroll-behavior:auto;
  }

  *,
  *::before,
  *::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }

}

/* ========================= WHATSAPP FLUTUANTE ========================= */

.whatsapp-float{
  position:fixed;
  right:22px;
  bottom:22px;
  width:58px;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--black);
  color:var(--gold-light);
  border:1px solid var(--gold);
  border-radius:50%;
  box-shadow:0 12px 30px -10px rgba(0,0,0,.6), 0 0 0 1px var(--gold-glow);
  z-index:999;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), color .35s var(--ease), background .35s var(--ease);
}

.whatsapp-float:hover{
  transform:translateY(-3px) scale(1.06);
  background:var(--gold);
  color:var(--black);
  box-shadow:0 16px 34px -10px rgba(200,164,91,.55);
}

@media (max-width:600px){
  .whatsapp-float{
    right:16px;
    bottom:16px;
    width:52px;
    height:52px;
  }
}

/* ========================= SCROLL REVEAL ========================= */

.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .9s var(--ease), transform .9s var(--ease);
  will-change:opacity, transform;
}

.reveal.is-visible{
  opacity:1;
  transform:none;
}

.pillars .pillar.reveal:nth-child(2){ transition-delay:.08s; }
.pillars .pillar.reveal:nth-child(3){ transition-delay:.16s; }
.pillars .pillar.reveal:nth-child(4){ transition-delay:.24s; }

.journey .journey-step.reveal:nth-child(2){ transition-delay:.08s; }
.journey .journey-step.reveal:nth-child(3){ transition-delay:.16s; }
.journey .journey-step.reveal:nth-child(4){ transition-delay:.24s; }

.ba-grid .ba-card.reveal:nth-child(2){ transition-delay:.1s; }
.ba-grid .ba-card.reveal:nth-child(3){ transition-delay:.2s; }

.gallery .g-item.reveal:nth-child(2){ transition-delay:.05s; }
.gallery .g-item.reveal:nth-child(3){ transition-delay:.1s; }
.gallery .g-item.reveal:nth-child(4){ transition-delay:.15s; }
.gallery .g-item.reveal:nth-child(5){ transition-delay:.2s; }
.gallery .g-item.reveal:nth-child(6){ transition-delay:.25s; }
.gallery .g-item.reveal:nth-child(7){ transition-delay:.3s; }

.formacao-grid .formacao-card.reveal:nth-child(2){ transition-delay:.1s; }

@media(prefers-reduced-motion:reduce){
  .reveal{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}

/* ==========================================================================
   RODRIGO SILVA — PRODUCTION POLISH
   Correções de responsividade, acessibilidade, navegação e estabilidade.
   Mantém a direção visual premium existente.
   ========================================================================== */

/* ---------- Rendering / UX ---------- */
html {
  color-scheme: dark;
  scrollbar-gutter: stable;
  -webkit-text-size-adjust: 100%;
}

body {
  min-width: 320px;
  -webkit-tap-highlight-color: transparent;
}

body.menu-open {
  overflow: hidden;
}

main {
  isolation: isolate;
}

img {
  height: auto;
  image-rendering: auto;
}

a,
button {
  -webkit-tap-highlight-color: transparent;
}

/* Evita elementos invisíveis bloqueando interação em páginas inativas. */
.page:not(.is-active) {
  visibility: hidden;
  pointer-events: none;
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
}

.page.is-active {
  visibility: visible;
  pointer-events: auto;
  position: relative;
}

/* ---------- Header / mobile navigation ---------- */
header {
  will-change: background, padding;
}

.mobile-nav {
  visibility: hidden;
  pointer-events: none;
}

.mobile-nav.open {
  visibility: visible;
  pointer-events: auto;
}

.burger {
  -webkit-user-select: none;
  user-select: none;
}

.burger:focus-visible {
  outline: 1px solid var(--gold-light);
  outline-offset: 5px;
}

/* ---------- Buttons / links ---------- */
.btn,
nav.primary-nav a,
.footer-nav a,
.teaser-link {
  -webkit-user-select: none;
  user-select: none;
}

.btn:focus-visible,
nav.primary-nav a:focus-visible,
.mobile-nav a:focus-visible,
.footer-nav a:focus-visible,
.teaser-link:focus-visible,
.footer-whatsapp:focus-visible,
.whatsapp-float:focus-visible {
  outline: 1px solid var(--gold-light);
  outline-offset: 5px;
}

/* ---------- Before / after ---------- */
.ba-images {
  isolation: isolate;
}

.ba-photo-box {
  background: #0a0a0a;
}

.ba-photo-box img {
  backface-visibility: hidden;
}

/* ---------- Floating WhatsApp ---------- */
.whatsapp-float {
  isolation: isolate;
}

.whatsapp-float::before {
  content: "";
  position: absolute;
  inset: -5px;
  border: 1px solid rgba(200,164,91,.12);
  border-radius: inherit;
  pointer-events: none;
}
