/* ════════════════════════════════════════════════════════════════
   LUCIANA MELAMED — styles.css
   ────────────────────────────────────────────────────────────────
   SECTION INDEX (search the ALL-CAPS label to jump)
     SETTINGS .......... :root design tokens (colors, type, spacing)
     BASE .............. reset · body · skip-link
     NAV ............... nav · logo · links · cta  (+ SUBMENU, NAV CTA
                         DROPDOWN, and hamburger in RESPONSIVE below)
     HERO .............. hero · eyebrow · name · quote · actions · btn-p
     SECTION PARTS ..... ORNAMENT · DROP-CAP · sec-lbl/title · SECTION VOICE
     SOBRE · VIDEOS · CARREIRA · FORMACAO · MAESTROS · PEDAGOGIA
     AULAS · ALUNOS · CTA · FOOTER
     RESPONSIVE ........ breakpoints 900 / 600 / 480 / 360 + touch
     OFFER LADDER ...... POR ONDE COMECAR · ESTUDIO MENSAL · PROGRAMAS
                         · AUDICAO · ATORES CARD
     MODAL · NAV CTA DROPDOWN · MODIFIERS · HOVER
     LATE-SECTION RESPONSIVE (must stay after the unconditional rules)
     PERMALINK · NAV SUBMENU · LITE-YOUTUBE · DEPOIMENTOS
     READING PAGE · BIBLIOTECA (blog pieces)

   CONVENTIONS — keep new code consistent with these:
     • Colors/type/space come from :root tokens — never hard-code a hex
       except the two one-off hero gradient stops already present.
     • Corner radius is 0 everywhere (brand rule). Borders are gold at
       low alpha (--line / --line-strong), never grey.
     • Hover effects go ONLY inside @media(hover:hover) and (pointer:fine).
       :active carries the press state so touch never sticks.
     • A new full-width section = add its padding to the responsive
       section lists (search ".sobre,.carreira,.formacao").
     See /EXTENDING.md for step-by-step recipes.
   ════════════════════════════════════════════════════════════════ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}

:root{
  --bg:#3A0F1C;
  --bg-alt:#2B0A15;
  --bg-dk:#1E0710;
  --bg-ink:#14060A;
  --bg-module:#2F0C17;
  --text:#FAF7F2;
  --muted:#C8B8A4;
  --gold:#C49A3C;
  --gold-lt:#E2C97E;
  --ink:#0A0906;
  --line:rgba(196,154,60,0.18);
  --line-strong:rgba(196,154,60,0.34);
  --tf:'Cormorant Garamond',serif;
  --bf:'Jost',sans-serif;
  --fs-display:clamp(3.5rem,8vw,6.875rem);
  --fs-h1:clamp(2.5rem,5vw,4.5rem);
  --fs-h2:clamp(2.25rem,4vw,3.25rem);
  --fs-h3:2rem;
  --fs-h4:1.5rem;
  --fs-h5:1.25rem;
  --fs-body:1.0625rem;
  --fs-body-sm:0.9375rem;
  --fs-meta:0.875rem;
  --fs-eyebrow:0.75rem;
  --fs-eyebrow-sm:0.6875rem;
  --ls-display:-0.022em;
  --ls-label:0.2em;
  --ls-eyebrow:0.35em;
}

/* OperForma wordmark face — used only by the footer credit (.oper) */
@font-face{
  font-family:'Satoshi';
  src:url('/assets/fonts/satoshi-300.woff2') format('woff2');
  font-weight:300;font-style:normal;font-display:swap;
}

body{font-family:var(--bf);font-weight:300;background:var(--bg);color:var(--text);overflow-x:hidden;-webkit-tap-highlight-color:rgba(196,154,60,0.25);}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
.skip-link:focus{position:fixed;left:16px;top:16px;width:auto;height:auto;z-index:9999;padding:12px 20px;background:var(--gold);color:var(--ink);font-family:var(--bf);font-weight:500;font-size:var(--fs-body-sm);text-decoration:none;}

/* NAV */
nav{position:sticky;top:0;z-index:100;padding:16px 56px;display:flex;justify-content:space-between;align-items:center;background:rgba(58,15,28,0.94);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transform:translateZ(0);will-change:transform;padding-left:max(56px,env(safe-area-inset-left));padding-right:max(56px,env(safe-area-inset-right));}
.logo{font-family:var(--tf);font-size:1.1875rem;font-weight:400;color:var(--text);letter-spacing:0.03em;text-decoration:none;}
.logo em{color:var(--gold);font-style:italic;}
.nav-links{display:flex;gap:28px;list-style:none;}
.nav-links a{font-family:var(--bf);font-size:var(--fs-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color 0.2s;}
.nav-cta{font-family:var(--bf);font-size:var(--fs-eyebrow);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--ink);background:var(--gold);padding:11px 24px;text-decoration:none;transition:background 0.2s;}
.nav-cta:active{background:var(--gold-lt);}
.nav-toggle{display:none;}
.nav-links a:focus-visible,.logo:focus-visible,.footer-credit a:focus-visible,.hero-free-link:focus-visible{outline:2px solid var(--gold-lt);outline-offset:3px;border-radius:1px;}

/* HERO */
.hero{position:relative;min-height:96vh;min-height:96svh;min-height:96dvh;display:flex;align-items:flex-end;overflow:hidden;}
.hero-bg{position:absolute;inset:0;}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:right 15%;display:block;filter:brightness(0.88) contrast(1.08) saturate(0.82);}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,#1E0710 0%,rgba(30,7,16,0.75) 38%,transparent 68%),linear-gradient(to right,#1E0710 0%,rgba(30,7,16,0.5) 40%,transparent 65%);}
.hero-content{position:relative;z-index:2;padding:0 64px 76px;max-width:700px;}
.hero-divider{width:1px;height:64px;background:rgba(196,154,60,0.5);display:block;margin-bottom:36px;}
.eyebrow{font-family:var(--bf);font-size:var(--fs-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:14px;margin-bottom:24px;}
.eyebrow::before{content:'';width:28px;height:1px;background:var(--gold);flex-shrink:0;}
.hero-name{font-family:var(--tf);font-size:var(--fs-display);font-weight:400;line-height:0.88;color:var(--text);letter-spacing:var(--ls-display);}
.hero-name em{font-style:italic;color:var(--gold-lt);display:block;margin-top:6px;}
.hero-role{font-family:var(--bf);font-size:var(--fs-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--muted);margin:28px 0 44px;line-height:2.3;opacity:0.8;}
.hero-quote{font-family:var(--tf);font-size:var(--fs-h5);font-style:italic;color:#DCCFC0;line-height:1.8;max-width:460px;border-left:2px solid var(--gold);padding-left:20px;margin-bottom:44px;}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;}
.hero-free-link{display:block;margin-top:16px;font-family:var(--bf);font-size:13px;letter-spacing:0.06em;color:var(--muted);text-decoration:none;opacity:0.75;transition:opacity 0.2s;}
.hero-free-link:hover{opacity:1;color:var(--gold-lt);}
.btn-p{font-family:var(--bf);font-size:var(--fs-eyebrow);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--ink);background:var(--gold);padding:16px 34px;text-decoration:none;display:inline-block;appearance:none;-webkit-appearance:none;border:none;cursor:pointer;transition:background 0.2s;}
.btn-p:active{background:var(--gold-lt);}
.btn-p:focus-visible{outline:2px solid var(--gold-lt);outline-offset:2px;}


/* ORNAMENT — section eyebrow divider */
.sec-ornament{display:flex;align-items:center;gap:10px;margin:8px 0 14px;width:max-content;font-size:var(--fs-eyebrow-sm);color:var(--gold-lt);}
.sec-ornament::before,.sec-ornament::after{content:'';display:block;width:20px;height:1px;background:var(--gold);opacity:0.45;}
.cta-sec .sec-ornament,.como-comecar .sec-ornament{margin-left:auto;margin-right:auto;}

/* DROP-CAP — opening paragraph of select sections */
.lead::first-letter{font-family:var(--tf);font-style:italic;font-size:4.2rem;float:left;line-height:0.9;padding:0.4rem 0.6rem 0 0;color:var(--gold-lt);}

/* SOBRE */
.sobre{background:linear-gradient(to bottom,var(--bg) 92%,var(--bg-ink) 100%);padding:110px 64px;display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:center;}
.sec-lbl{font-family:var(--bf);font-size:var(--fs-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--muted);opacity:0.92;display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.sec-title{font-family:var(--tf);font-size:var(--fs-h2);font-weight:400;line-height:1.1;color:var(--text);margin-bottom:28px;}
.sec-title em{font-style:italic;color:var(--gold-lt);}
.body-txt{font-family:var(--bf);font-size:var(--fs-body);line-height:1.75;color:var(--muted);font-weight:300;margin-bottom:18px;max-width:64ch;}
/* tabular lining figures so prices align and read as crisp numerals */
.start-price,.stier-price,.prog-price,.aud-price,.nav-cta-panel-price{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum","lnum";}
.body-txt strong{color:var(--text);font-weight:400;}
.foto{position:relative;overflow:hidden;aspect-ratio:4/5;}
.foto::before{content:'';position:absolute;top:-14px;left:-14px;right:14px;bottom:14px;border:1px solid var(--gold);opacity:0.32;z-index:2;pointer-events:none;}
.foto img{width:100%;height:100%;object-fit:cover;object-position:center 10%;display:block;position:relative;z-index:1;filter:brightness(0.88) contrast(1.04);}

/* VIDEOS */
.videos{background:linear-gradient(to bottom,var(--bg-alt) 92%,var(--bg-ink) 100%);padding:110px 64px;}
.videos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px;}
.videos-grid .lite-yt.is-featured{grid-column:1/-1;order:-1;}
.video-wrap{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border:1px solid var(--line);}
.video-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;}

/* CARREIRA */
.carreira{background:linear-gradient(to bottom,var(--bg) 92%,var(--bg-ink) 100%);padding:110px 64px;}
.carreira-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:60px;}
.marco{background:var(--bg);padding:32px 28px;border:1px solid var(--line);border-top:2px solid transparent;transition:border-top-color 0.3s,transform 0.3s,box-shadow 0.3s;box-shadow:0 1px 0 rgba(255,255,255,0.02) inset,0 14px 40px -28px rgba(0,0,0,0.7);}
.marco-titulo{font-family:var(--tf);font-size:var(--fs-h4);font-weight:400;color:var(--text);margin-bottom:8px;line-height:1.2;}
.marco-desc{font-family:var(--bf);font-size:var(--fs-body-sm);line-height:1.8;color:var(--muted);font-weight:300;}
.marco-dest{background:var(--bg-dk);border:1px solid rgba(196,154,60,0.3);border-top:2px solid var(--gold);}

/* FORMAÇÃO */
.formacao{background:linear-gradient(to bottom,var(--bg-alt) 92%,var(--bg-ink) 100%);padding:110px 64px;display:grid;grid-template-columns:1fr 1fr;gap:80px;}
.formacao-lista{display:flex;flex-direction:column;gap:2px;margin-top:16px;}
.form-item{background:var(--bg-alt);padding:22px 24px;border-left:3px solid var(--line);transition:border-left-color 0.3s,transform 0.3s,box-shadow 0.3s;box-shadow:0 1px 0 rgba(255,255,255,0.02) inset,0 14px 40px -28px rgba(0,0,0,0.7);}
.form-ano{font-family:var(--bf);font-size:var(--fs-eyebrow);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--gold);margin-bottom:6px;}
.form-titulo{font-family:var(--tf);font-size:var(--fs-h4);font-weight:400;color:var(--text);line-height:1.2;margin-bottom:4px;}
.form-dist{font-family:var(--bf);font-size:var(--fs-eyebrow);letter-spacing:var(--ls-label);color:var(--gold-lt);font-style:italic;margin-bottom:4px;}
.form-inst{font-family:var(--bf);font-size:var(--fs-meta);color:var(--muted);}
.form-prof{font-family:var(--bf);font-size:var(--fs-meta);color:var(--muted);margin-top:2px;opacity:0.8;}
.premios-lista{display:flex;flex-direction:column;gap:2px;margin-top:16px;}
.premio{background:var(--bg-alt);padding:20px 24px;border-left:3px solid var(--gold);box-shadow:0 1px 0 rgba(255,255,255,0.02) inset,0 14px 40px -28px rgba(0,0,0,0.7);}
.premio-titulo{font-family:var(--tf);font-size:var(--fs-h4);font-weight:400;color:var(--text);margin-bottom:4px;}
.premio-info{font-family:var(--bf);font-size:var(--fs-meta);color:var(--muted);}

/* MAESTROS */
.maestros{background:linear-gradient(to bottom,var(--bg-dk) 92%,var(--bg-ink) 100%);padding:52px 64px;text-align:center;}
.maestros-label{font-family:var(--bf);font-size:var(--fs-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--muted);opacity:0.92;margin-bottom:20px;}
.maestros-lista{font-family:var(--tf);font-size:1.125rem;color:var(--muted);line-height:2.4;font-weight:300;}

/* PEDAGOGIA */
.pedagogia{background:linear-gradient(to bottom,var(--bg) 92%,var(--bg-ink) 100%);padding:110px 64px;}
.ped-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:40px;align-items:start;}
.ped-block p{font-family:var(--bf);font-size:var(--fs-body);line-height:1.9;color:var(--muted);margin-bottom:16px;max-width:64ch;}
.ped-block strong{color:var(--text);font-weight:400;}
.sub-lbl{font-family:var(--bf);font-size:var(--fs-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--muted);opacity:0.92;margin-bottom:16px;}
.mc-lista{display:flex;flex-direction:column;gap:8px;margin-top:8px;}
.mc-item{display:flex;align-items:center;gap:12px;font-family:var(--bf);font-size:var(--fs-body-sm);color:var(--muted);}
.mc-item::before{content:'';width:4px;height:4px;background:var(--gold);border-radius:50%;flex-shrink:0;}

@keyframes fadeUp{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
.programa-cta{text-align:center;margin-top:52px;}

/* AULAS */
.aulas{background:linear-gradient(to bottom,var(--bg-alt) 92%,var(--bg-ink) 100%);padding:110px 64px;}
.como-comecar{background:linear-gradient(to bottom,var(--bg) 92%,var(--bg-ink) 100%);padding:110px 64px;text-align:center;}

/* ALUNOS */
.alunos{background:linear-gradient(to bottom,var(--bg-alt) 92%,var(--bg-ink) 100%);padding:110px 64px;}
.alunos-grid{display:flex;flex-direction:column;gap:2px;margin-top:48px;}
.aluno-exp{background:var(--bg);border:1px solid var(--line);border-left:3px solid transparent;transition:border-left-color 0.3s;box-shadow:0 1px 0 rgba(255,255,255,0.02) inset,0 14px 40px -28px rgba(0,0,0,0.7);}
.aluno-exp:hover,.aluno-exp.open{border-left-color:var(--gold);}
.aluno-header{display:flex;align-items:center;gap:16px;padding:20px 24px;cursor:pointer;appearance:none;-webkit-appearance:none;background:none;border:0;color:inherit;font:inherit;text-align:left;width:100%;}
.aluno-nome{font-family:var(--tf);font-size:var(--fs-h4);font-weight:400;color:var(--text);line-height:1.1;flex:1;}
.aluno-voz-lbl{font-family:var(--bf);font-size:var(--fs-eyebrow);font-weight:700;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--gold);flex-shrink:0;}
.aluno-chevron{width:10px;height:10px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg) translate(-2px,-2px);transition:transform 0.3s;flex-shrink:0;}
.aluno-exp.open .aluno-chevron{transform:rotate(-135deg) translate(-2px,-2px);}
.aluno-body{max-height:0;overflow:hidden;transition:max-height 0.5s ease;}
.aluno-body.open{max-height:2000px;}
.aluno-body-inner{padding:0 24px 24px;}
.aluno-desc-txt{font-family:var(--bf);font-size:var(--fs-body-sm);line-height:1.85;color:var(--muted);}
.aluno-desc-txt strong{color:var(--text);font-weight:400;}
.aluno-header:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}

/* CTA */
.cta-sec{background:linear-gradient(to bottom,var(--bg) 92%,var(--bg-ink) 100%);padding:110px 64px;text-align:center;}
.cta-title{font-family:var(--tf);font-size:var(--fs-h1);font-weight:400;line-height:1.05;color:var(--text);margin-bottom:24px;}
.cta-title em{font-style:italic;color:var(--gold-lt);}
.cta-sub{font-family:var(--bf);font-size:var(--fs-body);line-height:1.9;color:var(--muted);max-width:560px;margin:0 auto 16px;}
.cta-note{font-family:var(--bf);font-size:var(--fs-meta);color:var(--gold);letter-spacing:0.08em;margin-bottom:44px;}
.cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:64px;}
.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;max-width:700px;margin:0 auto;}
.c-lbl{font-family:var(--bf);font-size:var(--fs-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--gold);margin-bottom:8px;}
.c-val{font-family:var(--bf);font-size:var(--fs-body-sm);color:var(--muted);}
.c-val a{color:var(--muted);text-decoration:none;display:inline-flex;align-items:center;min-height:44px;padding:4px 0;}
.c-val a:active{color:var(--gold);}
.contact-addr{font-family:var(--bf);font-size:var(--fs-body-sm);color:var(--muted);text-align:center;max-width:700px;margin:22px auto 0;line-height:1.6;}
.contact-addr a{color:var(--muted);text-decoration:underline;text-underline-offset:3px;}
.contact-addr a:hover,.contact-addr a:active{color:var(--gold);}

/* FOOTER */
footer{background:var(--bg-ink);padding:32px 64px;padding-bottom:max(32px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);}
.footer-logo{font-family:var(--tf);font-size:var(--fs-body);font-weight:400;color:var(--muted);}
.footer-logo em{color:var(--gold);font-style:italic;}
.footer-note{font-family:var(--bf);font-size:var(--fs-eyebrow);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--muted);opacity:0.65;}
.footer-credit{font-family:var(--bf);font-size:var(--fs-eyebrow);color:var(--muted);opacity:0.7;}
.footer-credit a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor;}
.footer-credit a.oper{font-family:'Satoshi',var(--bf);font-weight:300;letter-spacing:0.22em;text-transform:lowercase;color:var(--gold);border-bottom-color:var(--gold);}

/* ─── RESPONSIVE ──────────────────────────────────────────── */
@media(max-width:900px){
  nav{padding:14px 24px;}

  /* hamburger button */
  .nav-toggle{
    display:flex;flex-direction:column;justify-content:center;gap:5px;
    background:none;border:0;padding:8px;cursor:pointer;margin-left:auto;flex-shrink:0;
    min-width:44px;min-height:44px;
  }
  .nav-toggle span{
    display:block;width:22px;height:2px;background:var(--muted);
    transition:transform 0.25s,opacity 0.25s;border-radius:1px;
  }
  .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
  .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  /* nav drawer */
  .nav-links{
    display:none;
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;
    max-height:calc(100dvh - 64px);
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    background:rgba(30,7,16,0.97);
    border-bottom:1px solid var(--line);
    -webkit-backdrop-filter:blur(14px);
    backdrop-filter:blur(14px);
  }
  .nav-links.open{display:flex;}
  .nav-links li{border-top:1px solid var(--line);}
  .nav-links a{display:block;padding:18px 24px;font-size:var(--fs-meta);letter-spacing:var(--ls-label);}

  /* layout */
  .hero-content{padding:0 32px 56px;}
  .sobre,.carreira,.formacao,.aulas,.como-comecar,.alunos,.cta-sec,.pedagogia,.videos{padding:72px 32px;}
  .sobre,.formacao{grid-template-columns:1fr;}
  .carreira-grid{grid-template-columns:1fr;}
  .videos-grid{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr 1fr;}
  .ped-grid{grid-template-columns:1fr;}
  footer{flex-direction:column;gap:12px;text-align:center;padding:24px;}

}

.bio-toggle{display:none;}

@media(max-width:600px){
  .hero-content{padding:0 20px 44px;}
  .lead::first-letter{font-size:2.8rem;}
  .maestros-lista{font-size:1rem;line-height:1.9;}
  .bio-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:1px solid var(--gold);color:var(--text);font-family:var(--tf);font-size:0.8rem;letter-spacing:0.12em;text-transform:uppercase;padding:14px 18px;min-height:48px;cursor:pointer;margin-top:16px;border-radius:2px;}
  .bio-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
  .bio-toggle-chevron{display:inline-block;width:0.5rem;height:0.5rem;border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(45deg);transition:transform 0.3s;flex-shrink:0;}
  .bio-collapse-wrap.open .bio-toggle-chevron{transform:rotate(-135deg);}
  .bio-collapse-body{max-height:0;overflow:hidden;transition:max-height 0.5s ease;}
  .bio-collapse-body.open{max-height:4000px;}
}

@media(max-width:480px){
  .hero-name{font-size:clamp(2.75rem,10vw,3.5rem);}
  .hero-content{padding:0 18px 36px;}
  .hero-quote{font-size:1.1rem;}
  .sobre,.carreira,.formacao,.aulas,.como-comecar,.alunos,.cta-sec,.pedagogia,.videos{padding:56px 18px;}
  .contact-grid{grid-template-columns:1fr;}
}

/* touch-friendly tap targets on touch screens */
@media(hover:none) and (pointer:coarse){
  .nav-cta{padding:14px 22px;min-height:44px;display:inline-flex;align-items:center;}
  .aluno-header{min-height:60px;}
  .btn-p{padding:18px 34px;}
}

/* 360 px — older Android / iPhone SE 1st gen */
@media(max-width:360px){
  .btn-p{padding:14px 20px;letter-spacing:0.12em;}
  .nav-cta{padding:10px 16px;letter-spacing:0.1em;}
  .hero-content{padding:0 14px 28px;}
  .sobre,.carreira,.formacao,.aulas,.como-comecar,.alunos,.cta-sec,.pedagogia,.videos{padding:48px 14px;}
}

/* ACCESSIBILITY */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:0.01ms!important;}
}

/* SECTION VOICE — italic intro paragraph */
.sec-voice{font-family:var(--tf);font-style:italic;font-size:var(--fs-body);line-height:1.65;color:var(--muted);max-width:560px;margin-bottom:32px;}
.sec-voice::before{content:'"';color:var(--gold);margin-right:4px;}
.sec-voice::after{content:'"';color:var(--gold);margin-left:4px;}

/* ─── POR ONDE COMEÇAR — asymmetric entry grid ─────────────── */
.start-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:48px;}
.start-main{background:linear-gradient(180deg,var(--bg-alt) 0%,var(--bg-dk) 100%);padding:60px 56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;border-top:2px solid var(--gold);min-height:420px;}
.start-aside{display:grid;grid-template-rows:1fr 1fr;gap:1px;background:var(--line);}
.start-small{background:var(--bg-alt);padding:36px;display:flex;flex-direction:column;justify-content:space-between;transition:background 0.3s;}
.start-tag{font-family:var(--bf);font-size:var(--fs-eyebrow-sm);font-weight:700;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--gold);margin-bottom:16px;}
.start-name{font-family:var(--tf);font-size:var(--fs-h3);font-weight:400;color:var(--text);line-height:1.05;margin-bottom:12px;}
.start-name em{font-style:italic;color:var(--gold-lt);}
.start-small .start-name{font-size:var(--fs-h4);}
.start-desc{font-family:var(--tf);font-style:italic;font-size:var(--fs-body);color:var(--muted);margin-bottom:24px;line-height:1.5;}
.start-small .start-desc{font-size:var(--fs-meta);margin-bottom:16px;}
.start-price-row{display:flex;align-items:baseline;gap:12px;margin-bottom:28px;}
.start-price{font-family:var(--tf);font-size:2.5rem;color:var(--gold-lt);line-height:1;}
.start-small .start-price{font-size:var(--fs-h4);}
.start-price-detail{font-family:var(--bf);font-size:var(--fs-eyebrow-sm);color:var(--muted);line-height:1.6;}
.start-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.start-link{font-family:var(--bf);font-size:var(--fs-eyebrow-sm);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--gold);background:none;border:none;cursor:pointer;padding:10px 0;min-height:44px;display:inline-flex;align-items:center;transition:color 0.3s;}
.start-link:active{color:var(--gold-lt);}
.start-link::after{content:' →';}
.start-fineprint{font-family:var(--bf);font-weight:300;font-size:var(--fs-eyebrow-sm);line-height:1.55;color:var(--muted);margin:-12px 0 22px;}

/* ─── ESTÚDIO MENSAL — three-tier pricing ──────────────────── */
.studio-sec{background:var(--bg-dk);padding:110px 64px;}
.studio-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:36px;}
.stier{background:var(--bg-alt);padding:44px 36px 36px;display:flex;flex-direction:column;position:relative;transition:background 0.3s;}
.stier.stier-mid{background:linear-gradient(180deg,var(--bg-alt) 0%,var(--bg-dk) 100%);border-top:2px solid var(--gold);}
.stier-badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--ink);font-family:var(--bf);font-size:var(--fs-eyebrow-sm);font-weight:700;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;padding:5px 16px;white-space:nowrap;}
.stier-period{font-family:var(--bf);font-size:var(--fs-eyebrow-sm);font-weight:700;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--gold);margin-bottom:24px;}
.stier-headline{font-family:var(--tf);font-style:italic;font-size:1.125rem;color:var(--text);line-height:1.5;margin-bottom:36px;min-height:80px;}
.stier-price-block{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--line);}
.stier-price{font-family:var(--tf);font-size:2.75rem;color:var(--gold-lt);line-height:1;margin-bottom:6px;}
.stier-price span{font-family:var(--bf);font-size:var(--fs-meta);color:var(--muted);font-weight:300;}
.stier-perlesson{font-family:var(--bf);font-size:var(--fs-eyebrow-sm);color:var(--muted);}
.stier-savings{margin-top:12px;padding-top:12px;border-top:1px dotted var(--line);font-family:var(--tf);font-style:italic;font-size:var(--fs-meta);line-height:1.45;color:var(--gold);}
.stier-savings strong{font-weight:400;color:var(--gold-lt);}
.stier-savings.stier-muted{color:var(--muted);}
.stier-detail{font-size:var(--fs-meta);line-height:1.75;color:var(--muted);margin-bottom:28px;flex:1;}
.stier-detail em{font-style:italic;color:var(--gold-lt);font-family:var(--tf);font-size:var(--fs-body-sm);}
.stier-cta{text-align:center;width:100%;display:block;}
.studio-foot{display:flex;justify-content:space-between;align-items:center;padding-top:28px;flex-wrap:wrap;gap:20px;}
.studio-foot-text{font-family:var(--tf);font-style:italic;font-size:var(--fs-body-sm);color:var(--muted);}
.studio-foot-links{display:flex;gap:24px;flex-wrap:wrap;}
.foot-link{font-family:var(--bf);font-size:var(--fs-eyebrow-sm);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--gold);background:none;border:none;cursor:pointer;padding:10px 0;min-height:44px;display:inline-flex;align-items:center;transition:color 0.3s;}
.foot-link:active{color:var(--gold-lt);}
.foot-link::after{content:' →';}

/* ─── PROGRAMAS ESTRUTURADOS — tier grid ───────────────────── */
.programa-sec{background:var(--bg-alt);padding:110px 64px;}
.voz-cena-sec{background:var(--bg-dk);padding:110px 64px;}

/* ─── SECTION BOUNDARIES — subtle gold hairline between sections ─── */
main > section + section{border-top:1px solid var(--line);}
.prog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:48px;}
.prog-card{background:var(--bg);padding:48px 40px;display:flex;flex-direction:column;transition:background 0.3s;}
.prog-card.prog-mid{background:linear-gradient(180deg,var(--bg) 0%,var(--bg-dk) 100%);border-top:2px solid var(--gold);position:relative;}
.prog-card.prog-solo{border-top:1.5px solid var(--gold);position:relative;}
.prog-eyebrow{font-family:var(--bf);font-size:var(--fs-eyebrow-sm);font-weight:700;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
.prog-name{font-family:var(--tf);font-size:var(--fs-h3);font-weight:400;color:var(--text);line-height:1.05;margin-bottom:24px;}
.prog-name em{font-style:italic;color:var(--gold-lt);}
.prog-for{font-family:var(--tf);font-style:italic;font-size:var(--fs-body-sm);line-height:1.5;color:var(--muted);margin-bottom:28px;flex:1;}
.prog-meta{font-family:var(--bf);font-size:var(--fs-eyebrow-sm);color:var(--muted);margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--line);}
.prog-price{font-family:var(--tf);font-size:var(--fs-h3);color:var(--gold-lt);line-height:1;margin-bottom:6px;}
.prog-price-sub{font-family:var(--bf);font-size:var(--fs-eyebrow-sm);color:var(--muted);margin-bottom:28px;}
.prog-actions{display:flex;gap:12px;flex-direction:column;}

/* ─── AUDIÇÃO ───────────────────────────────────────────────── */
.audicao-sec{background:var(--bg-alt);padding:110px 64px;}
.aud-card{display:grid;grid-template-columns:1fr auto;gap:80px;align-items:center;background:var(--bg-alt);border:1px solid var(--line);padding:64px 72px;position:relative;}
.aud-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:var(--gold);}
.aud-card-title{font-family:var(--tf);font-size:var(--fs-h3);font-weight:400;color:var(--text);line-height:1.08;margin-bottom:16px;}
.aud-card-title em{font-style:italic;color:var(--gold-lt);}
.aud-quote{font-family:var(--tf);font-style:italic;font-size:var(--fs-body);line-height:1.55;color:var(--muted);max-width:480px;}
.aud-aside{text-align:right;border-left:1px solid var(--line);padding-left:64px;}
.aud-price{font-family:var(--tf);font-size:2.75rem;color:var(--gold-lt);line-height:1;margin-bottom:8px;}
.aud-detail{font-family:var(--bf);font-size:var(--fs-eyebrow-sm);color:var(--muted);margin-bottom:32px;}

/* ─── ATORES CARD ───────────────────────────────────────────── */
.atores-card{background:var(--bg-alt);border:1px solid var(--line);border-left:3px solid var(--gold);padding:48px;margin-bottom:48px;}
.atores-intro{font-family:var(--tf);font-style:italic;font-size:var(--fs-body);line-height:1.65;color:var(--muted);margin-bottom:24px;}
.atores-meta-row{display:flex;gap:32px;flex-wrap:wrap;margin-bottom:28px;}
.atores-meta-item{font-family:var(--bf);font-size:var(--fs-eyebrow-sm);color:var(--muted);}
.atores-meta-item strong{display:block;color:var(--gold-lt);font-family:var(--tf);font-size:1.125rem;margin-bottom:2px;}

/* ─── MODAL ─────────────────────────────────────────────────── */
.modal-bg{position:fixed;inset:0;background:rgba(20,6,10,0.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:200;display:none;align-items:center;justify-content:center;padding:max(32px,env(safe-area-inset-top)) max(32px,env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom)) max(32px,env(safe-area-inset-left));transform:translateZ(0);will-change:transform;}
.modal-bg.open{display:flex;}
.modal-box{background:var(--bg-alt);border:1px solid var(--line);max-width:640px;width:100%;max-height:85vh;max-height:85svh;max-height:85dvh;overflow-y:auto;overscroll-behavior:contain;padding:60px 64px 52px;position:relative;animation:fadeUp 0.28s ease;}
.modal-close{position:absolute;top:20px;right:20px;background:none;border:none;color:var(--muted);font-family:var(--tf);font-size:2rem;cursor:pointer;line-height:1;padding:8px 14px;transition:color 0.3s;}
.modal-close:active{color:var(--gold);}
.modal-close:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.modal-eyebrow{font-family:var(--bf);font-size:var(--fs-eyebrow-sm);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--gold);margin-bottom:18px;}
.modal-box h3{font-family:var(--tf);font-size:var(--fs-h3);font-weight:400;color:var(--text);line-height:1.15;margin-bottom:28px;}
.modal-box h3 em{font-style:italic;color:var(--gold-lt);}
.modal-quote{font-family:var(--tf);font-style:italic;font-size:1.125rem;line-height:1.55;color:var(--gold-lt);margin-bottom:28px;padding-left:20px;border-left:2px solid var(--gold);}
.modal-box h4{font-family:var(--bf);font-size:var(--fs-eyebrow-sm);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--gold);margin:32px 0 16px;}
.modal-box p{font-size:var(--fs-meta);line-height:1.85;color:var(--muted);margin-bottom:16px;}
.modal-box ul{list-style:none;margin:8px 0 16px;}
.modal-box ul li{padding:12px 0;font-size:var(--fs-meta);line-height:1.6;color:var(--muted);border-bottom:1px solid var(--line);display:grid;grid-template-columns:24px 1fr;gap:12px;}
.modal-box ul li:last-child{border-bottom:none;}
.modal-box ul li::before{content:'→';color:var(--gold);}
.modal-box ul li strong{color:var(--text);font-weight:400;font-family:var(--tf);font-size:var(--fs-body-sm);}
.modal-price{font-family:var(--tf);font-size:var(--fs-h4);color:var(--gold-lt);margin:36px 0 16px;padding-top:24px;border-top:1px solid var(--line);}
.modal-price span{font-family:var(--bf);font-size:var(--fs-meta);color:var(--muted);font-weight:300;}

/* ─── MODAL — module blocks (curriculum) ────────────────── */
.modal-module{border-top:1px solid var(--line);padding-top:28px;margin-top:32px;}
.modal-module:first-of-type{border-top:none;padding-top:0;margin-top:24px;}
.modal-module-eyebrow{font-family:var(--bf);font-size:var(--fs-eyebrow-sm);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--gold);margin-bottom:10px;}
.modal-module h5{font-family:var(--tf);font-size:var(--fs-h5);font-weight:400;color:var(--text);line-height:1.3;margin:0 0 6px;}
.modal-module h5 em{display:block;font-style:italic;font-size:var(--fs-body-sm);color:var(--gold-lt);margin-top:4px;}
.modal-module-sub{font-family:var(--bf);font-size:var(--fs-eyebrow-sm);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--muted);margin:20px 0 6px;}

/* ─── CTA FINAL — gold-glow radial ─────────────────────────── */
.cta-glow{position:relative;overflow:hidden;}
.cta-glow::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:900px;height:900px;background:radial-gradient(circle,rgba(196,154,60,0.05) 0%,transparent 60%);pointer-events:none;}

/* ─── NAV CTA DROPDOWN ──────────────────────────────────────── */
.nav-cta-wrap{position:relative;}
details.nav-cta-wrap > summary{list-style:none;cursor:pointer;position:relative;display:block;}
details.nav-cta-wrap > summary::-webkit-details-marker{display:none;}
details.nav-cta-wrap > summary::marker{content:'';}
.nav-cta-wrap[open] > summary{background:var(--gold-lt);}

.nav-cta-panel{
  position:absolute;
  top:calc(100% + 16px);
  right:0;
  min-width:340px;
  z-index:1000;
  background:var(--bg-dk);
  border:1px solid rgba(196,154,60,0.28);
  border-top:2px solid var(--gold);
  padding:26px 30px;
  box-shadow:0 24px 60px -16px rgba(0,0,0,0.75),0 1px 0 rgba(255,255,255,0.02) inset;
  font-family:var(--bf);
  animation:nav-cta-fade 220ms ease-out;
  max-height:calc(100svh - 80px);
  max-height:calc(100dvh - 80px);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}
@keyframes nav-cta-fade{
  from{opacity:0;transform:translateY(-6px);}
  to{opacity:1;transform:translateY(0);}
}
.nav-cta-panel::before{
  content:'';
  display:block;
  width:7px;height:7px;
  border:1px solid var(--gold-lt);
  transform:rotate(45deg);
  opacity:0.7;
  margin:0 0 14px 2px;
}
.nav-cta-panel-eyebrow{
  font-family:var(--bf);
  font-size:var(--fs-eyebrow-sm);
  letter-spacing:var(--ls-eyebrow);
  text-transform:uppercase;
  color:var(--gold);
  margin:0 0 6px;
}
.nav-cta-panel-title{
  font-family:var(--tf);
  font-size:1.625rem;
  font-style:italic;
  font-weight:400;
  color:var(--gold-lt);
  line-height:1.15;
  margin:0 0 18px;
}
.nav-cta-panel-price{
  font-family:var(--tf);
  font-size:2.25rem;
  font-weight:400;
  color:var(--text);
  line-height:1;
  margin:0 0 6px;
}
.nav-cta-panel-duration{
  font-family:var(--bf);
  font-size:var(--fs-eyebrow-sm);
  letter-spacing:var(--ls-eyebrow);
  text-transform:uppercase;
  color:var(--muted);
  margin:0 0 20px;
}
.nav-cta-panel-meta{
  font-family:var(--bf);
  font-size:var(--fs-meta);
  line-height:1.7;
  color:var(--muted);
  font-weight:300;
  opacity:0.88;
  margin:0 0 24px;
  padding-left:14px;
  border-left:1px solid rgba(196,154,60,0.32);
}
.nav-cta-panel-meta em{
  font-family:var(--tf);
  color:var(--gold-lt);
  font-style:italic;
  font-size:var(--fs-body-sm);
}
.nav-cta-panel-credit{
  font-family:var(--bf);
  font-size:var(--fs-meta);
  line-height:1.6;
  color:var(--gold-lt);
  font-weight:300;
  margin:0 0 18px;
}
.nav-cta-panel-confirm{
  display:block;
  text-align:center;
  font-family:var(--bf);
  font-size:var(--fs-eyebrow);
  letter-spacing:var(--ls-label);
  text-transform:uppercase;
  font-weight:500;
  color:var(--ink);
  background:var(--gold);
  padding:14px 24px;
  text-decoration:none;
  transition:background 0.2s;
  overflow-wrap:anywhere;
}
.nav-cta-panel-confirm:active{background:var(--gold-lt);}
.nav-cta-panel-confirm:focus-visible{outline:2px solid var(--gold-lt);outline-offset:2px;}
.nav-cta-panel-summary{display:none;}

@media(max-width:720px){
  .nav-cta-panel{
    position:fixed;
    top:calc(64px + env(safe-area-inset-top));
    left:max(16px,env(safe-area-inset-left));
    right:max(16px,env(safe-area-inset-right));
    min-width:0;
    max-height:calc(100svh - 80px);
    max-height:calc(100dvh - 80px);
    overflow-y:auto;
    padding:20px 22px;
  }
  .nav-cta-panel::before{margin-bottom:8px;}
  .nav-cta-panel-title{display:none;}
  .nav-cta-panel-summary{
    display:block;
    font-family:var(--tf);
    font-size:var(--fs-body);
    font-style:italic;
    font-weight:400;
    color:var(--gold-lt);
    line-height:1.4;
    margin:0 0 14px;
  }
  .nav-cta-panel-eyebrow{margin:0 0 4px;}
  .nav-cta-panel-price{font-size:1.625rem;margin:0 0 4px;}
  .nav-cta-panel-duration{margin:0 0 14px;}
  .nav-cta-panel-meta{margin:0 0 16px;padding-left:12px;font-size:var(--fs-meta);}
  .nav-cta-panel-credit{margin:0 0 14px;}
}

/* ─── HERO META ─────────────────────────────────────────────── */
.hero-meta{
  margin-top:1.1rem;
  font-family:var(--bf);
  font-size:var(--fs-eyebrow);
  letter-spacing:var(--ls-label);
  text-transform:uppercase;
  color:var(--muted);
  opacity:0.72;
  font-weight:300;
}

/* ─── MODIFIERS ─────────────────────────────────────────────── */
.sec-title--flush{margin-bottom:0;}
.sec-voice--flush{margin-bottom:0;}
.sec-voice--gap-lg{margin-bottom:48px;}
.sec-lbl--center{justify-content:center;}
.atores-title{font-family:var(--tf);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:400;line-height:1.1;color:var(--text);margin-bottom:12px;}
.atores-card .sec-lbl{margin-bottom:12px;}
.steps-wrap{max-width:680px;margin:0 auto;text-align:left;}
.steps-cta{margin-top:2.5rem;text-align:center;}
.modal-foot-note{font-style:italic;font-family:var(--tf);font-size:var(--fs-body-sm);color:var(--muted);margin-top:24px;}

/* ─── BOTTOM CLOSE BUTTON — modal footer affordance ────────── */
.modal-close-btm{margin-top:20px;width:100%;display:block;text-align:center;background:transparent;color:var(--gold);border:1px solid var(--gold);transition:background 0.2s,color 0.2s;}
.modal-close-btm:active{background:var(--gold);color:var(--ink);}
@media(hover:hover) and (pointer:fine){.modal-close-btm:hover{background:var(--gold);color:var(--ink);}}

/* ─── HOVER — mouse/trackpad only; never fires on touch ─────── */
@media(hover:hover) and (pointer:fine){
  .nav-links a:hover{color:var(--gold);}
  .nav-cta:hover{background:var(--gold-lt);}
  .btn-p:hover{background:var(--gold-lt);}
  .marco:hover{border-top-color:var(--gold);transform:translateY(-3px);box-shadow:0 1px 0 rgba(255,255,255,0.03) inset,0 22px 50px -24px rgba(0,0,0,0.8);}
  .form-item:hover{border-left-color:var(--gold);transform:translateY(-2px);box-shadow:0 1px 0 rgba(255,255,255,0.03) inset,0 22px 50px -24px rgba(0,0,0,0.8);}
  .c-val a:hover{color:var(--gold);}
  .start-small:hover{background:var(--bg-module);}
  .start-link:hover{color:var(--gold-lt);}
  .stier:hover{background:var(--bg-module);}
  .foot-link:hover{color:var(--gold-lt);}
  .prog-card:hover{background:var(--bg-dk);}
  .modal-close:hover{color:var(--gold);}
  .nav-cta-panel-confirm:hover{background:var(--gold-lt);}
}

/* ─── LATE-SECTION RESPONSIVE — must come after unconditional rules ── */
@media(max-width:900px){
  .start-grid{grid-template-columns:1fr;}
  .start-aside{grid-template-rows:auto auto;}
  .start-main,.start-small{padding:36px 28px;min-height:auto;}
  .studio-sec,.programa-sec,.voz-cena-sec,.audicao-sec{padding:72px 32px;}
  .studio-tiers,.prog-grid{grid-template-columns:1fr;}
  .stier,.prog-card{padding:36px 28px;}
  .aud-card{grid-template-columns:1fr;gap:32px;padding:36px 28px;}
  .aud-aside{text-align:left;border-left:none;padding-left:0;padding-top:28px;border-top:1px solid var(--line);}
  .studio-foot{flex-direction:column;align-items:flex-start;}
  .modal-box{padding:40px 28px;}
  .atores-card{padding:36px 28px;}
  .start-price-row{flex-direction:column;align-items:flex-start;gap:8px;}
}
@media(max-width:480px){
  .studio-sec,.programa-sec,.voz-cena-sec,.audicao-sec{padding:56px 18px;}
  .atores-card{padding:28px 18px;}
  .stier-badge,.stier-period,.start-tag,.prog-eyebrow,.modal-eyebrow,.modal-box h4,.modal-module-eyebrow{font-size:var(--fs-eyebrow);}
}

/* ─── PROGRAM PERMALINK ICONS ──────────────────────────────── */
.permalink{display:inline-block;margin-left:0.5em;font-family:var(--bf);font-size:0.6em;color:var(--line-strong);text-decoration:none;opacity:0;transition:opacity 0.2s,color 0.2s;vertical-align:middle;}
.prog-card:hover .permalink,.start-main:hover .permalink,.start-small:hover .permalink,.stier:hover .permalink{opacity:1;}
section:hover>.sec-title .permalink,section:hover>h2 .permalink{opacity:1;}
.permalink:hover,.permalink:focus-visible{color:var(--gold-lt);outline:none;}
.permalink.copied::after{content:' copiado';font-size:0.85em;color:var(--gold);}

/* ─── NAV SUBMENU ──────────────────────────────────────────── */
.nav-has-sub{position:relative;}
.nav-sub{position:absolute;top:100%;left:0;background:var(--bg-dk);border:1px solid var(--line);list-style:none;margin:0;padding:8px 0;min-width:220px;opacity:0;visibility:hidden;transition:opacity 0.2s,visibility 0.2s;z-index:100;}
.nav-has-sub:hover .nav-sub,.nav-has-sub:focus-within .nav-sub{opacity:1;visibility:visible;}
.nav-sub li{padding:0;}
.nav-sub a{display:block;padding:8px 16px;font-family:var(--bf);font-size:var(--fs-eyebrow-sm);color:var(--muted);text-decoration:none;transition:color 0.2s,background 0.2s;}
.nav-sub a:hover,.nav-sub a:focus-visible{color:var(--gold-lt);background:var(--bg-alt);outline:none;}
@media(max-width:768px){
  .nav-sub{position:static;opacity:1;visibility:visible;border:0;padding:0;margin-top:8px;background:transparent;}
}

/* ─── LITE-YOUTUBE FACADE ─────────────────────────────────── */
.lite-yt{
  position:relative;
  display:block;
  width:100%;
  height:0;
  padding:0 0 56.25%;
  overflow:hidden;
  background:var(--bg-dk) center/cover no-repeat;
  border:1px solid var(--line);
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  filter:saturate(0.85) contrast(1.04);
}
/* grade thumbnails into the wine palette so video tiles match hero/portrait */
.lite-yt::before{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(rgba(58,15,28,0.30),rgba(30,7,16,0.46));
  mix-blend-mode:multiply;
}
.lite-yt.is-playing{filter:none;}
.lite-yt.is-playing::before{display:none;}
.lite-yt iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;z-index:2;}
.lite-yt-play{
  position:absolute;
  top:50%;left:50%;
  z-index:3;
  transform:translate(-50%,-50%);
  width:56px;height:56px;
  border-radius:50%;
  background:rgba(196,154,60,0.9);
  display:flex;align-items:center;justify-content:center;
  pointer-events:none;
  transition:background 0.2s;
}
.lite-yt-play::after{
  content:'';
  display:block;
  width:0;height:0;
  border-style:solid;
  border-width:10px 0 10px 18px;
  border-color:transparent transparent transparent var(--bg-dk);
  margin-left:4px;
}
.lite-yt-cap{
  position:absolute;
  bottom:0;left:0;right:0;
  z-index:3;
  padding:24px 14px 10px;
  background:linear-gradient(to top,rgba(14,6,10,0.92),transparent);
  font-family:var(--bf);
  font-size:var(--fs-meta);
  color:var(--text);
  line-height:1.4;
  text-align:left;
  pointer-events:none;
}
@media(hover:hover) and (pointer:fine){
  .lite-yt:hover .lite-yt-play{background:var(--gold);}
}

/* ─── DEPOIMENTOS (video testimonials section) ────────────── */
.depoimentos{background:linear-gradient(to bottom,var(--bg-alt) 92%,var(--bg-ink) 100%);padding:110px 64px;}
.dep-featured{margin-top:48px;}
.dep-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:16px;}
.dep-meta{margin-top:10px;}
.dep-nome{font-family:var(--tf);font-size:var(--fs-body-sm);color:var(--text);font-weight:400;}
.dep-voz{font-family:var(--bf);font-size:var(--fs-eyebrow-sm);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--gold);margin-top:4px;}

/* hero-adjacent soundbite strip */
.dep-soundbite{background:var(--bg-dk);padding:56px 64px;}
.dep-soundbite-inner{max-width:640px;margin:0 auto;text-align:center;}
.dep-soundbite .sec-ornament{margin-left:auto;margin-right:auto;}

/* mid-funnel testimonial */
.dep-midfunnel{background:linear-gradient(to bottom,var(--bg) 92%,var(--bg-ink) 100%);padding:80px 64px;}
.dep-midfunnel-inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;max-width:960px;margin:0 auto;}
.dep-midfunnel-txt .sec-title{font-size:var(--fs-h3);}
.dep-midfunnel-txt .sec-ornament{margin-left:0;margin-right:auto;}

@media(max-width:900px){
  .depoimentos,.dep-soundbite,.dep-midfunnel{padding:72px 32px;}
  .dep-grid{grid-template-columns:1fr;}
  .dep-midfunnel-inner{grid-template-columns:1fr;gap:32px;}
}
@media(max-width:480px){
  .depoimentos,.dep-soundbite,.dep-midfunnel{padding:56px 18px;}
}
@media(max-width:360px){
  .depoimentos,.dep-soundbite,.dep-midfunnel{padding:48px 14px;}
}

/* ─── READING PAGE (biblioteca pieces) ───────────────────────── */
.reading-page{background:var(--bg-ink);}

.reading{max-width:720px;margin:0 auto;padding:80px 32px 120px;font-size:var(--fs-body);line-height:1.75;}

.reading-cover{padding:60px 0 80px;border-bottom:1px solid var(--line);margin-bottom:80px;}

.reading-monogram{font-family:var(--tf);font-style:italic;font-size:42px;color:var(--gold);line-height:1;margin-bottom:12px;}
.reading-gold-line{width:60px;height:1px;background:var(--gold);margin-bottom:32px;}
.reading-eyebrow{font-size:11px;letter-spacing:0.32em;text-transform:uppercase;color:var(--gold);font-family:var(--bf);font-weight:400;margin-bottom:40px;}

.reading h1{font-family:var(--tf);font-weight:400;font-size:clamp(2.2rem,6vw,3.25rem);line-height:1.1;color:var(--text);letter-spacing:-0.01em;margin-bottom:28px;}
.reading h1 em{font-style:italic;color:var(--gold-lt);}
.reading-deck{font-family:var(--tf);font-style:italic;font-size:22px;line-height:1.5;color:var(--muted);max-width:580px;margin-bottom:48px;}

.reading-author-block{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;margin-top:60px;padding-top:0;}
.reading-author-block::before{content:'';display:block;width:48px;height:1px;background:rgba(196,154,60,0.5);margin-bottom:14px;}
.reading-author-name{font-family:var(--tf);font-style:italic;font-size:20px;color:var(--text);}
.reading-author-meta{font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);text-align:center;line-height:1.8;font-family:var(--bf);}

.reading section{margin-bottom:80px;}
.reading-sec-num{font-family:var(--tf);font-style:italic;font-size:14px;letter-spacing:0.2em;color:var(--gold);text-transform:uppercase;margin-bottom:16px;}

.reading h2{font-family:var(--tf);font-weight:400;font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.18;color:var(--text);letter-spacing:-0.005em;margin-bottom:32px;}
.reading h2 em{font-style:italic;color:var(--gold-lt);}

.reading p{margin-bottom:22px;color:var(--muted);font-family:var(--bf);font-weight:300;}
.reading p strong{color:var(--text);font-weight:400;}

.reading-lead{font-family:var(--tf);font-size:22px;line-height:1.55;color:var(--text);margin-bottom:32px;font-weight:400;}
.reading-lead em{font-style:italic;color:var(--gold-lt);}

.reading-citation{display:block;font-size:13px;color:var(--gold);font-style:italic;margin-top:-14px;margin-bottom:22px;padding-left:16px;border-left:1px solid rgba(196,154,60,0.4);font-family:var(--bf);}

.reading-pullquote{font-family:var(--tf);font-style:italic;font-size:24px;line-height:1.4;color:var(--gold-lt);border-left:1px solid var(--gold);padding:8px 0 8px 28px;margin:40px 0;}

.reading-data{background:rgba(92,26,46,0.35);border-left:2px solid var(--gold);padding:24px 28px;margin:32px 0;}
.reading-data .data-lbl{font-size:10px;letter-spacing:0.28em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;font-family:var(--bf);}
.reading-data .data-fig{font-family:var(--tf);font-size:32px;color:var(--text);line-height:1.2;margin-bottom:8px;}
.reading-data .data-fig em{font-style:italic;color:var(--gold-lt);}
.reading-data .data-src{font-size:12px;color:var(--muted);font-style:italic;font-family:var(--bf);}

.reading-note{border:1px solid rgba(196,154,60,0.25);padding:22px 26px;margin:32px 0;background:rgba(42,11,20,0.4);}
.reading-note .note-lbl{font-size:10px;letter-spacing:0.28em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;font-family:var(--bf);}
.reading-note p{margin-bottom:0;font-size:15px;line-height:1.7;}

.reading-refs{margin-top:100px;padding-top:48px;border-top:1px solid rgba(196,154,60,0.3);}
.reading-refs h2{font-size:28px;margin-bottom:32px;}
.reading-ref-item{font-size:14px;line-height:1.6;color:var(--muted);margin-bottom:16px;padding-left:20px;position:relative;font-family:var(--bf);}
.reading-ref-item::before{content:'—';position:absolute;left:0;color:var(--gold);}
.reading-ref-item strong{color:var(--text);font-weight:400;}

.reading-glossary{margin-top:72px;}
.reading-gloss{margin-top:40px;}
.reading-gloss dt{font-family:var(--bf);font-size:15px;color:var(--gold-lt);margin-top:18px;}
.reading-gloss dd{margin:3px 0 0;padding-left:20px;position:relative;font-family:var(--bf);font-size:14px;line-height:1.6;color:var(--muted);}
.reading-gloss dd::before{content:'—';position:absolute;left:0;color:var(--gold);}

.reading-closing{margin-top:80px;padding:60px 0;text-align:center;border-top:1px solid rgba(196,154,60,0.3);border-bottom:1px solid rgba(196,154,60,0.3);}
.reading-closing-mark{font-family:var(--tf);font-style:italic;font-size:28px;color:var(--gold-lt);margin-bottom:16px;}
.reading-closing-text{font-family:var(--tf);font-size:18px;color:var(--muted);font-style:italic;line-height:1.6;max-width:460px;margin:0 auto 24px;}
.reading-closing-url{font-size:11px;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold);font-family:var(--bf);}

/* ── Optional inline signup (biblioteca pieces) ───── */
.biblioteca-signup{padding:60px 0;}
.signup-thanks{font-family:var(--tf);font-size:20px;color:var(--gold);text-align:center;padding:40px;line-height:1.5;}

.reading-gate{padding:0 0 60px;}
.gate-box{background:var(--bg-alt);border:1px solid rgba(196,154,60,0.28);max-width:480px;margin:0 auto;padding:44px 40px 48px;text-align:left;}
.gate-eyebrow{font-size:11px;letter-spacing:0.32em;text-transform:uppercase;color:var(--gold);font-family:var(--bf);margin-bottom:20px;text-align:center;}
.gate-title{font-family:var(--tf);font-weight:400;font-size:30px;line-height:1.15;color:var(--text);margin-bottom:16px;}
.gate-text{font-family:var(--bf);font-size:15px;line-height:1.7;color:var(--muted);margin-bottom:32px;}
.gate-form{display:flex;flex-direction:column;gap:12px;}
.gate-input{width:100%;padding:14px 16px;background:rgba(255,255,255,0.04);border:1px solid rgba(196,154,60,0.3);color:var(--text);font-family:var(--bf);font-size:1rem;outline:none;transition:border-color 0.2s;-webkit-appearance:none;border-radius:0;}
.gate-input:focus{border-color:var(--gold);}
.gate-input::placeholder{color:rgba(200,184,164,0.4);}
.gate-consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.5;color:var(--muted);font-family:var(--bf);cursor:pointer;}
.gate-consent input[type="checkbox"]{margin-top:2px;flex-shrink:0;accent-color:var(--gold);width:16px;height:16px;cursor:pointer;}
.gate-submit{width:100%;margin-top:8px;justify-content:center;padding:16px;text-align:center;}
.gate-error{font-size:13px;color:#e07070;font-family:var(--bf);margin:0;line-height:1.5;}

/* ── Homepage Biblioteca promo band ───── */
.biblioteca-promo-sec{padding:80px 32px;text-align:center;border-top:1px solid var(--line);}
.biblioteca-promo-desc{font-family:var(--bf);font-size:16px;line-height:1.7;color:var(--muted);max-width:560px;margin:0 auto 32px;}
.biblioteca-promo-cta{display:flex;justify-content:center;}
.btn-s{font-family:var(--bf);font-size:var(--fs-eyebrow);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--gold);background:transparent;border:1px solid var(--gold);padding:14px 32px;text-decoration:none;display:inline-block;cursor:pointer;transition:background 0.2s,color 0.2s;}
.btn-s:hover,.btn-s:active{background:var(--gold);color:var(--ink);}

/* ── Biblioteca index ── */
.biblioteca-page{background:var(--bg-ink);}
.biblioteca-header{max-width:720px;margin:0 auto;padding:80px 32px 0;}
.biblioteca-title-block{padding:60px 0 80px;border-bottom:1px solid var(--line);margin-bottom:72px;}
.biblioteca-cards{max-width:720px;margin:0 auto;padding:0 32px 120px;display:flex;flex-direction:column;gap:20px;}
.biblioteca-card{position:relative;display:block;background:var(--bg-alt);border:1px solid var(--line);border-left:3px solid transparent;padding:36px 40px;text-decoration:none;transition:transform 0.25s ease,border-left-color 0.25s,box-shadow 0.25s,background 0.25s;}
.biblioteca-card:hover{border-left-color:var(--gold);transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.18);background:var(--bg-alt-hover,var(--bg-alt));}
.biblioteca-card-eyebrow{font-size:10px;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold);font-family:var(--bf);margin-bottom:14px;}
.biblioteca-card-title{font-family:var(--tf);font-weight:400;font-size:26px;line-height:1.15;color:var(--text);margin-bottom:12px;}
.biblioteca-card-title em{font-style:italic;color:var(--gold-lt);}
.biblioteca-card-deck{font-family:var(--tf);font-style:italic;font-size:17px;line-height:1.5;color:var(--muted);margin-bottom:0;}
.biblioteca-card-cta{font-size:11px;letter-spacing:0.28em;text-transform:uppercase;color:var(--gold);font-family:var(--bf);}
.biblioteca-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:22px;font-size:10px;letter-spacing:0.26em;text-transform:uppercase;color:var(--gold);font-family:var(--bf);}
.biblioteca-card-meta .dot{width:3px;height:3px;background:rgba(196,154,60,.6);border-radius:50%;flex-shrink:0;}
.biblioteca-card-go{margin-left:auto;display:inline-flex;align-items:center;gap:8px;color:var(--gold-lt);}
.biblioteca-card-arrow{display:inline-block;transition:transform 0.25s ease;}
.biblioteca-card:hover .biblioteca-card-arrow{transform:translateX(4px);}
@media(prefers-reduced-motion:reduce){
  .biblioteca-card,.biblioteca-card-arrow{transition:border-left-color 0.25s,box-shadow 0.25s,background 0.25s;}
  .biblioteca-card:hover{transform:none;}
  .biblioteca-card:hover .biblioteca-card-arrow{transform:none;}
}

@media(max-width:640px){
  .reading{padding:48px 22px 80px;}
  .reading-deck{font-size:18px;}
  .reading-pullquote{font-size:20px;}
  .gate-box{padding:32px 24px 36px;}
  .biblioteca-header,.biblioteca-cards{padding-left:22px;padding-right:22px;}
  .biblioteca-cards{gap:16px;}
  .biblioteca-card{padding:28px 24px;}
  .biblioteca-card-go{margin-left:0;}
  .reading-author-block{gap:10px;}
}

/* ════════════════════════════════════════════════════════════════
   READING v2 — book-feel article chrome: progress bar, reading time,
   "Conteúdo" table of contents (+scroll-spy), end booking CTA.
   Additive to the reading page; JS in main.js self-guards per page.
   ════════════════════════════════════════════════════════════════ */
.reading-progress{position:fixed;top:0;left:0;height:2px;width:0;background:linear-gradient(90deg,rgba(196,154,60,.85),var(--gold-lt));z-index:300;transition:width .08s linear;pointer-events:none;}

.reading-time{margin-top:22px;font-size:11px;letter-spacing:0.26em;text-transform:uppercase;color:var(--gold);font-family:var(--bf);display:flex;align-items:center;justify-content:center;gap:12px;}
.reading-time::before,.reading-time::after{content:'';width:26px;height:1px;background:rgba(196,154,60,.4);}

.reading-toc{margin:0 0 84px;padding:42px 0 0;border-top:1px solid var(--line);display:block;position:static;background:transparent;}
.reading-toc-lbl{font-family:var(--tf);font-style:italic;font-size:14px;letter-spacing:0.2em;color:var(--gold);text-transform:uppercase;margin-bottom:14px;}
.reading-toc ol{list-style:none;margin:0;padding:0;}
.reading-toc li{border-bottom:1px solid var(--line);}
.reading-toc li:first-child{border-top:1px solid var(--line);}
.reading-toc a{display:flex;align-items:baseline;gap:20px;padding:17px 6px 17px 4px;text-decoration:none;transition:padding-left .28s cubic-bezier(.22,.61,.36,1),background .28s;position:relative;}
.reading-toc a::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--gold);transform:scaleY(0);transform-origin:center;transition:transform .28s;}
.reading-toc a:hover{padding-left:16px;background:rgba(196,154,60,.045);}
.reading-toc a:hover::before,.reading-toc a.active::before{transform:scaleY(1);}
.reading-toc-num{font-family:var(--tf);font-style:italic;font-size:15px;color:var(--gold);flex-shrink:0;min-width:26px;letter-spacing:0.04em;}
.reading-toc-title{font-family:var(--tf);font-size:20px;line-height:1.3;color:var(--text);flex:1;}
.reading-toc-title em{font-style:italic;color:var(--gold-lt);}
.reading-toc a:hover .reading-toc-title,.reading-toc a.active .reading-toc-title{color:var(--gold-lt);}

/* anchor offset so headings clear the top edge when jumped-to */
.reading section[id]{scroll-margin-top:32px;}

/* End-of-article booking CTA — the bridge from research to lessons */
.reading-cta{margin:96px 0 0;padding:60px 44px 64px;text-align:center;background:rgba(92,26,46,0.32);border:1px solid rgba(196,154,60,.28);border-top:2px solid var(--gold);}
.reading-cta-eyebrow{font-size:11px;letter-spacing:0.32em;text-transform:uppercase;color:var(--gold);font-family:var(--bf);margin-bottom:22px;}
.reading-cta .reading-gold-line{margin:0 auto 26px;}
.reading-cta-bridge{font-family:var(--tf);font-size:24px;line-height:1.5;color:var(--text);max-width:540px;margin:0 auto 28px;font-weight:400;}
.reading-cta-bridge em{font-style:italic;color:var(--gold-lt);}
.reading-cta-meta{font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);font-family:var(--bf);margin-bottom:36px;}
.reading-cta-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;align-items:center;}
.reading-cta-actions .btn-p{min-height:52px;display:inline-flex;align-items:center;justify-content:center;}

/* email capture, demoted to "not ready yet" fallback */
.biblioteca-signup{padding:40px 0 60px;}
.biblioteca-signup .gate-box{background:transparent;border:1px solid var(--line);}
.biblioteca-signup .gate-eyebrow{color:var(--muted);}

@media(max-width:640px){
  .reading-toc{margin-bottom:64px;}
  .reading-toc-title{font-size:18px;}
  .reading-cta{padding:44px 24px 48px;margin-top:72px;}
  .reading-cta-bridge{font-size:20px;}
  .reading-cta-actions{flex-direction:column;}
  .reading-cta-actions .btn-p,.reading-cta-actions .btn-s{width:100%;}
}

/* ════════════════════════════════════════════════════════════════
   ICONOGRAPHY v3 — engraved set (concert-programme / gold-leaf).
   Replaces the geometric losango/chevron/⟶/disc with finer forms.
   ════════════════════════════════════════════════════════════════ */

/* 1 · DIVIDER — "filete gravado": a single gold rule that fades at
   both ends, like an engraved programme rule. The <i> in markup is
   the rule; the old flanking hairlines are dropped. */
.sec-ornament::before,.sec-ornament::after{display:none;}
.sec-ornament i{display:block;width:112px;height:1px;border:0;transform:none;background:linear-gradient(90deg,transparent 0%,rgba(196,154,60,.9) 50%,transparent 100%);}

/* 2 · CHEVRON — open hairline caret (two fine 1px strokes), flips on open */
.aluno-chevron{position:relative;width:18px;height:9px;border:0;transform:none;transition:transform .3s;flex-shrink:0;}
.aluno-chevron::before,.aluno-chevron::after{content:'';position:absolute;top:0;width:11px;height:1px;background:var(--gold);}
.aluno-chevron::before{left:0;transform-origin:left center;transform:rotate(32deg);}
.aluno-chevron::after{right:0;transform-origin:right center;transform:rotate(-32deg);}
.aluno-exp.open .aluno-chevron{transform:rotate(180deg);}
.bio-toggle-chevron{position:relative;width:16px;height:8px;border:0!important;transform:none;transition:transform .3s;}
.bio-toggle-chevron::before,.bio-toggle-chevron::after{content:'';position:absolute;top:0;width:10px;height:1px;background:var(--gold);}
.bio-toggle-chevron::before{left:0;transform-origin:left center;transform:rotate(32deg);}
.bio-toggle-chevron::after{right:0;transform-origin:right center;transform:rotate(-32deg);}
.bio-collapse-wrap.open .bio-toggle-chevron{transform:rotate(180deg);}

/* 3 · ARROW — "seta gravada": a drawn hairline with a fine open head,
   appended as <span class="seta"> in links; extends gently on hover.
   The old ::after glyph arrow is removed. */
.start-link::after,.foot-link::after{content:none;}
.seta{display:inline-block;position:relative;width:24px;height:1px;margin-left:6px;vertical-align:middle;background:currentColor;transition:width .32s cubic-bezier(.22,.61,.36,1);}
.seta::before,.seta::after{content:'';position:absolute;right:0;width:6px;height:1px;background:currentColor;}
.seta::before{top:0;transform-origin:right center;transform:rotate(40deg);}
.seta::after{top:0;transform-origin:right center;transform:rotate(-40deg);}
@media(hover:hover) and (pointer:fine){
  .start-link:hover .seta,.foot-link:hover .seta,.hero-free-link:hover .seta,.btn-s:hover .seta{width:34px;}
}

/* 4 · PLAY — "medalhão de fio": thin gold ring + soft halo over the
   photo, fine triangle; fills to gold on hover. */
.lite-yt-play{background:rgba(20,6,10,.35);border:1px solid var(--gold-lt);box-shadow:0 0 0 6px rgba(196,154,60,.08);}
.lite-yt-play::after{border-width:7px 0 7px 12px;border-left-color:var(--gold-lt);margin-left:3px;}
@media(hover:hover) and (pointer:fine){
  .lite-yt:hover .lite-yt-play{background:var(--gold);border-color:var(--gold);}
  .lite-yt:hover .lite-yt-play::after{border-left-color:var(--ink);}
}

/* ════════════════════════════════════════════════════════════════
   MOTION v2 — approved set. All quiet, short, gold-led.
   Reduced-motion is covered by the global rule above + the inline
   head guard (which only adds html.reveal-on when motion is allowed).
   ════════════════════════════════════════════════════════════════ */

/* 1 · SCROLL REVEAL — flash-free: targets are hidden ONLY when
   html.reveal-on is present (set in <head> before first paint).
   Uses `animation` (not transition) so existing hover transitions
   on these elements stay intact. */
html.reveal-on :is(.sec-lbl,.sec-title,.marco,.form-item,.aluno-exp,.start-main,.start-small,.stier,.prog-card,.biblioteca-card,.maestros-lista){opacity:0;}
html.reveal-on :is(.sec-lbl,.sec-title,.marco,.form-item,.aluno-exp,.start-main,.start-small,.stier,.prog-card,.biblioteca-card,.maestros-lista).in{animation:revealUp .7s cubic-bezier(.22,.61,.36,1) forwards;}
@keyframes revealUp{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}

/* 2 · BUTTON FILL-WIPE — secondary/outline buttons only */
.btn-s{position:relative;overflow:hidden;isolation:isolate;z-index:0;transition:color .28s ease;}
.btn-s::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--gold);transform:scaleX(0);transform-origin:left center;transition:transform .34s cubic-bezier(.22,.61,.36,1);}
.btn-s:active{background:transparent;color:var(--ink);}
.btn-s:active::before{transform:scaleX(1);background:var(--gold-lt);}
@media(hover:hover) and (pointer:fine){
  .btn-s:hover{background:transparent;color:var(--ink);}
  .btn-s:hover::before{transform:scaleX(1);}
}

/* 3 · NAV LINK — gold underline that draws in on hover (top-level links) */
.nav-links>li>a{position:relative;}
.nav-links>li>a::after{content:'';position:absolute;left:0;bottom:-3px;height:1px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:right center;transition:transform .3s cubic-bezier(.22,.61,.36,1);}
@media(hover:hover) and (pointer:fine){
  .nav-links>li>a:hover{color:var(--gold-lt);}
  .nav-links>li>a:hover::after{transform:scaleX(1);transform-origin:left center;}
}

/* 4 · PRIMARY CTA — "estou aqui" gold sheen, rests ~5s between glints */
.cta-glint{position:relative;overflow:hidden;isolation:isolate;}
.cta-glint::after{content:'';position:absolute;top:0;bottom:0;left:0;width:42%;background:linear-gradient(100deg,transparent 0%,rgba(255,248,228,.5) 50%,transparent 100%);transform:translateX(-260%) skewX(-20deg);pointer-events:none;animation:ctaSheen 6.5s ease-in-out infinite;}
@keyframes ctaSheen{0%{transform:translateX(-260%) skewX(-20deg);}16%{transform:translateX(320%) skewX(-20deg);}100%{transform:translateX(320%) skewX(-20deg);}}
@media(hover:hover) and (pointer:fine){.cta-glint:hover::after{animation-play-state:paused;}}

/* ════════════════════════════════════════════════════════════════
   PRICING TIER v3 — the full standalone "recommended" component,
   spotlit inside the 3-up grid: animated gold frame + halo + lift,
   outlined diamond badge, metallic price. On the featured Estúdio
   Mensal tier (Semestral) and the Ateliê Vocal program (Performer).
   ════════════════════════════════════════════════════════════════ */
@property --tier-ang{syntax:'<angle>';inherits:false;initial-value:0deg;}
@keyframes tierFrame{to{--tier-ang:360deg;}}
/* lift + soft gold halo, drop the flat 2px top edge (the frame replaces it) */
.stier.stier-mid,.prog-card.prog-mid{z-index:1;border-top:none;box-shadow:0 18px 50px -24px rgba(0,0,0,.7),0 0 46px -14px rgba(196,154,60,.34);}
/* travelling luminous gold frame — a 1px ring via mask, slowly catching light */
.stier-mid::before,.prog-mid::before{content:'';position:absolute;inset:0;padding:1px;background:conic-gradient(from var(--tier-ang),rgba(196,154,60,.18) 0%,rgba(196,154,60,.18) 25%,rgba(242,226,172,.95) 40%,rgba(226,201,126,.5) 50%,rgba(196,154,60,.18) 65%,rgba(196,154,60,.18) 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;animation:tierFrame 9s linear infinite;pointer-events:none;z-index:2;}
/* faint warmth pooled at the top */
.stier-mid::after,.prog-mid::after{content:'';position:absolute;top:0;left:0;right:0;height:96px;background:radial-gradient(120% 100% at 50% 0%,rgba(196,154,60,.12),transparent 72%);pointer-events:none;}
/* delicate outlined badge with a hollow-diamond, replacing the solid pill */
.stier-mid .stier-badge,.prog-mid .stier-badge{display:flex;align-items:center;gap:8px;background:var(--bg-ink);color:var(--gold-lt);border:1px solid var(--gold);font-weight:500;letter-spacing:0.25em;padding:6px 15px;box-shadow:0 6px 20px -10px rgba(0,0,0,.8);z-index:3;}
.stier-mid .stier-badge::before,.prog-mid .stier-badge::before{content:'';width:6px;height:6px;border:1px solid var(--gold);transform:rotate(45deg);display:block;flex-shrink:0;}
/* metallic gold sheen on the featured price */
.stier-mid .stier-price,.prog-mid .prog-price{background:linear-gradient(105deg,#B98F36 0%,#E2C97E 42%,#F2E2AC 50%,#E2C97E 58%,#B98F36 100%);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:tierGold 7s ease-in-out infinite;}
.stier-mid .stier-price span{-webkit-text-fill-color:var(--muted);color:var(--muted);}
@keyframes tierGold{0%,100%{background-position:0 0;}50%{background-position:100% 0;}}
