/* ═════════════════════════════════════════════════════════════
   FERNANDA GRABOSKI · DESIGN SYSTEM 2026
   global.css · componentes reutilizaveis
   Editar este arquivo atualiza TODAS as paginas que o referenciam.
   ═════════════════════════════════════════════════════════════ */

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

html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth;overflow-x:hidden}

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

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

button{cursor:pointer;border:none;font:inherit;background:none}

:root{
  --cream:#FAF6ED;--bone:#F5F0E6;--bone-2:#EFE9DC;--bone-3:#E4DCC7;
  --ink:#0E0C09;--ink-2:#1A1814;
  --text:#0F0D0A;--text-mute:#4A4337;--text-soft:#6B6557;
  --gold:#8A6A2B;--gold-bright:#B8934A;--gold-soft:rgba(184,147,74,.12);
  --line:rgba(15,13,10,.14);--line-strong:rgba(15,13,10,.32);
  --sans:'Inter',sans-serif;--serif:'Cormorant Garamond',serif;--display:'Fraunces','Cormorant Garamond',serif;
  --max:1160px;--g:clamp(24px,5vw,64px);--sy:clamp(72px,9vw,120px);
}

body{font-family:var(--sans);background:var(--bone);color:var(--text);font-size:15px;line-height:1.65}

/* GRIDS */

.g2{display:grid;grid-template-columns:1fr 1fr;gap:20px}

.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}

@media(max-width:720px){.g2,.g3,.g4{grid-template-columns:1fr}}

code{font-family:'Courier New',monospace;font-size:11.5px;background:rgba(15,13,10,.07);padding:2px 6px;border-radius:2px;color:var(--text-mute)}

@media(max-width:720px){.do-dont{grid-template-columns:1fr}}

/* Button primary */

.btn-p{display:inline-flex;align-items:center;gap:9px;padding:16px 28px;border-radius:999px;background:var(--ink);color:var(--bone);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;transition:background .25s,transform .2s}

.btn-p:hover{background:var(--gold);transform:translateY(-2px)}

/* Button ghost light */

.btn-gl{display:inline-flex;align-items:center;gap:9px;padding:16px 28px;border-radius:999px;border:1px solid var(--line);color:var(--text-mute);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;background:transparent;transition:border-color .2s,color .2s}

.btn-gl:hover{border-color:var(--gold);color:var(--gold)}

/* Button ghost dark */

.btn-gd{display:inline-flex;align-items:center;gap:9px;padding:16px 28px;border-radius:999px;border:1px solid rgba(245,240,230,.25);color:rgba(245,240,230,.85);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;background:transparent;transition:border-color .2s,color .2s}

.btn-gd:hover{border-color:var(--gold-bright);color:var(--gold-bright)}

/* Button curriculo */

.btn-cur{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;border:1px solid var(--line);color:var(--text-mute);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;background:transparent;transition:border-color .2s,color .2s;cursor:pointer}

.btn-cur:hover{border-color:var(--gold);color:var(--gold)}

/* Link */

.btn-lnk{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--gold);font-weight:500;border-bottom:1px solid rgba(138,106,43,.3);padding-bottom:2px;transition:color .2s,border-color .2s}

.btn-lnk:hover{color:var(--ink);border-color:var(--ink)}

/* WA button (in dark) */

.btn-wa{display:inline-flex;align-items:center;gap:10px;padding:18px 32px;border-radius:999px;background:var(--bone);color:var(--ink);font-size:13px;font-weight:500;letter-spacing:.06em;transition:background .2s,color .2s,transform .2s}

.btn-wa:hover{background:var(--gold-bright);color:var(--bone);transform:translateY(-2px)}

/* WA float */

.wa-float{width:58px;height:58px;border-radius:50%;background:#25D366;color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 16px 40px -10px rgba(37,211,102,.5);transition:transform .2s;cursor:pointer;position:relative}

.wa-float::after{content:"";position:absolute;inset:0;border-radius:50%;background:#25D366;opacity:.3;animation:waPulse 2s ease-out infinite;z-index:-1}

.wa-float:hover{transform:scale(1.07)}

@keyframes waPulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.7);opacity:0}}

/* Nav links */

.nav-demo a{font-size:14px;letter-spacing:.06em;color:var(--text);font-weight:500;position:relative}

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

.nav-demo a:hover::after{width:100%}

/* Card tratamento */

.card-trat{background:var(--cream);border:1px solid var(--line);border-radius:6px;padding:36px 32px;display:flex;flex-direction:column;gap:14px;transition:transform .35s cubic-bezier(.4,0,.2,1),border-color .35s,box-shadow .35s;position:relative;overflow:hidden;cursor:default}

.card-trat::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold-bright));transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.4,0,.2,1)}

.card-trat:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 24px 48px -16px rgba(15,13,10,.18)}

.card-trat:hover::before{transform:scaleX(1)}

.card-trat:hover .card-lnk{color:var(--gold)}

.card-num{font-family:var(--display);font-style:italic;color:var(--gold);font-size:16px}

.card-nm{font-family:var(--display);font-weight:400;font-size:clamp(20px,2vw,26px);line-height:1.15}

.card-ds{font-size:14px;color:var(--text-mute);line-height:1.65;flex:1}

.card-lnk{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;color:var(--text-mute);display:inline-flex;align-items:center;gap:8px;transition:color .2s}

/* Card dark */

.card-dk{background:rgba(245,240,230,.06);border:1px solid rgba(245,240,230,.1);border-radius:6px;overflow:hidden;transition:background .3s,border-color .3s,transform .3s;cursor:default}

.card-dk:hover{background:rgba(245,240,230,.1);border-color:rgba(184,147,74,.4);transform:translateY(-4px)}

.card-dk-img{aspect-ratio:16/9;background:rgba(245,240,230,.06)}

.card-dk-body{padding:22px 24px}

.card-dk-tag{font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-bright);font-weight:500;margin-bottom:8px}

.card-dk-nm{font-family:var(--serif);font-weight:400;font-size:20px;color:var(--bone);line-height:1.2;margin-bottom:8px}

.card-dk-ds{font-size:13px;color:rgba(245,240,230,.55);line-height:1.6}

/* FAQ */

.faq-demo{border:1px solid var(--line);border-radius:6px;overflow:hidden}

.faq-item{border-bottom:1px solid var(--line);background:var(--cream)}

.faq-item:last-child{border-bottom:none}

.faq-btn{width:100%;text-align:left;padding:22px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:var(--display);font-size:20px;font-weight:400;color:var(--text);background:transparent;transition:color .25s;cursor:pointer}

.faq-btn:hover,.faq-item.open .faq-btn{color:var(--gold)}

.faq-ico{width:24px;height:24px;flex-shrink:0;position:relative;border:1px solid var(--line);border-radius:50%;transition:border-color .3s,transform .4s cubic-bezier(.4,0,.2,1)}

.faq-item.open .faq-ico{border-color:var(--gold);transform:rotate(45deg)}

.faq-ico::before,.faq-ico::after{content:"";position:absolute;top:50%;left:50%;background:currentColor;transition:opacity .3s}

.faq-ico::before{width:10px;height:1px;transform:translate(-50%,-50%)}

.faq-ico::after{width:1px;height:10px;transform:translate(-50%,-50%)}

.faq-item.open .faq-ico::after{opacity:0}

.faq-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s ease}

.faq-item.open .faq-body{grid-template-rows:1fr}

.faq-body-inner{overflow:hidden}

.faq-body-content{padding:0 28px 22px;color:var(--text-mute);font-size:15px;line-height:1.7}

/* Sidebar */

.sb-overlay{position:fixed;inset:0;background:rgba(14,12,9,.6);z-index:500;opacity:0;pointer-events:none;transition:opacity .4s}

.sb-overlay.open{opacity:1;pointer-events:auto}

.sb-panel{position:fixed;top:0;right:0;bottom:0;z-index:501;width:min(520px,100vw);background:var(--bone);overflow-y:auto;transform:translateX(100%);transition:transform .5s cubic-bezier(.4,0,.2,1);padding:0 clamp(24px,5vw,48px) 48px}

.sb-panel.open{transform:translateX(0)}

.sb-close-row{position:sticky;top:0;display:flex;justify-content:flex-end;padding:20px 0 14px;background:var(--bone);z-index:2}

.sb-close-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--text-mute);background:var(--bone);transition:.2s;cursor:pointer}

.sb-close-btn:hover{background:var(--ink);color:var(--bone);border-color:var(--ink)}

.sb-title{font-family:var(--display);font-weight:300;font-size:36px;letter-spacing:-.02em;margin-bottom:8px}

.sb-title em{font-style:italic;color:var(--gold)}

.sb-sub{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:32px}

.sb-sec{margin-bottom:28px}

.sb-sec-l{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}

.sb-cr{display:grid;grid-template-columns:68px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);align-items:baseline}

.sb-cr:last-child{border-bottom:none}

.sb-yr{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:18px;font-weight:400}

.sb-txt{font-size:14px;color:var(--text-mute);line-height:1.5}

/* Container compact: mobile-first, vertical, max 480px */

.cmp-wrap{max-width:480px;margin:0 auto;padding:clamp(28px,6vw,48px) clamp(20px,5vw,32px)}

/* Lang switcher pill */

.cmp-lang{display:flex;justify-content:flex-end;gap:6px;margin-bottom:clamp(20px,4vw,32px)}

.cmp-lang-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:transparent;border:1px solid var(--line);color:var(--text-soft);font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;transition:background .25s ease,color .25s ease,border-color .25s ease}

.cmp-lang-btn:hover{color:var(--gold);border-color:var(--gold)}

.cmp-lang-btn.is-active{background:var(--gold-soft);border-color:rgba(184,147,74,.4);color:var(--gold)}

.cmp-lang-btn img{width:14px;height:14px;border-radius:50%;object-fit:cover}

/* Avatar com aura dourada */

.cmp-avatar{width:clamp(108px,24vw,128px);height:clamp(108px,24vw,128px);border-radius:50%;margin:0 auto 18px;padding:3px;background:var(--bone);border:1px solid rgba(184,147,74,.35);position:relative}

.cmp-avatar::before{content:"";position:absolute;inset:-8px;border-radius:50%;background:radial-gradient(circle,var(--gold-soft) 0%,transparent 70%);z-index:-1}

.cmp-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}

/* Section label (eyebrow horizontal) */

.cmp-sec{margin-bottom:clamp(24px,5vw,32px)}

.cmp-sec-head{display:flex;align-items:center;gap:14px;margin-bottom:14px;padding:0 4px}

.cmp-sec-head::after{content:"";flex:1;height:1px;background:linear-gradient(to right,var(--line),transparent)}

.cmp-sec-label{font-size:10px;letter-spacing:.28em;text-transform:uppercase;font-weight:500;color:var(--text-soft)}

/* Link card (escolha rápida) */

.cmp-lnks{display:flex;flex-direction:column;gap:10px}

.cmp-lnk{display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:14px;background:var(--cream);border:1px solid var(--line);color:var(--text);transition:background .35s cubic-bezier(.4,0,.2,1),border-color .35s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.4,0,.2,1)}

.cmp-lnk:hover{background:var(--bone);border-color:rgba(184,147,74,.4);transform:translateY(-2px)}

.cmp-lnk-icon{flex-shrink:0;width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:var(--gold-soft);color:var(--gold)}

.cmp-lnk-icon svg{width:20px;height:20px}

.cmp-lnk-body{flex:1;min-width:0}

.cmp-lnk-title{display:block;font-size:14px;font-weight:500;color:var(--text);line-height:1.25;margin-bottom:3px}

.cmp-lnk-sub{display:block;font-size:12px;color:var(--text-soft);line-height:1.35}

.cmp-lnk-arrow{flex-shrink:0;color:var(--text-soft);transition:color .25s ease,transform .25s ease}

.cmp-lnk:hover .cmp-lnk-arrow{color:var(--gold);transform:translateX(2px)}

/* ═══ TIPOGRAFIA AVANÇADA ═══ */

.t-h4{font-family:var(--display);font-weight:400;font-size:clamp(20px,2vw,26px);line-height:1.2;letter-spacing:-.01em;color:var(--ink)}

.t-h5{font-family:var(--sans);font-weight:500;font-size:16px;line-height:1.3;color:var(--ink)}

.t-h6{font-family:var(--sans);font-weight:500;font-size:13px;letter-spacing:.04em;color:var(--text-mute);text-transform:uppercase}

.t-quote{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.2vw,28px);line-height:1.5;color:var(--text);border-left:2px solid var(--gold);padding-left:24px;margin:24px 0}

.t-quote cite{display:block;margin-top:16px;font-family:var(--sans);font-style:normal;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-soft);font-weight:500}

/* ═══ T-PROSE · bloco de texto narrativo (prosa longa) ═══ */
/* Uso: envolver multiplos paragrafos de leitura corrida.
   Aplica fonte Inter, espacamento entre paragrafos e estilo de <em>.
   Variantes: --center (centralizado), --lg (lead/maior), --tight (compacto). */
.t-prose{font-family:var(--sans);font-weight:400;font-size:clamp(15px,1.2vw,17px);line-height:1.75;color:var(--text-mute)}
.t-prose p{margin-bottom:20px}
.t-prose p:last-child{margin-bottom:0}
.t-prose em{font-style:italic;color:var(--gold);font-family:var(--display);font-weight:400}
.t-prose strong{color:var(--ink);font-weight:500}
.t-prose a{color:var(--gold);border-bottom:1px solid currentColor;transition:color .25s}
.t-prose a:hover{color:var(--gold-bright)}
.t-prose--center{text-align:center;max-width:680px;margin:0 auto}
.t-prose--lg{font-size:clamp(17px,1.5vw,21px);font-family:var(--serif);font-style:italic;line-height:1.55;color:var(--text-mute)}
.t-prose--lg em{font-style:italic;color:var(--gold);font-family:var(--display);font-weight:400}
.t-prose--tight p{margin-bottom:12px}

.t-list-check{list-style:none;padding:0}

.t-list-check li{position:relative;padding:8px 0 8px 28px;font-size:15px;color:var(--text-mute);line-height:1.6}

.t-list-check li::before{content:"";position:absolute;left:0;top:14px;width:14px;height:8px;border-left:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(-45deg)}

.t-code-inline{font-family:'Courier New',monospace;font-size:.9em;background:var(--gold-soft);padding:2px 8px;border-radius:3px;color:var(--gold)}

/* ═══ FORMULÁRIOS ═══ */

.form-card{background:var(--cream);border:1px solid var(--line);border-radius:6px;padding:clamp(28px,4vw,40px);box-shadow:0 4px 12px rgba(15,13,10,.04)}

.form-card--dark{background:var(--ink-2);border-color:rgba(245,240,230,.08);box-shadow:0 24px 48px -16px rgba(0,0,0,.4)}

.form-card__title{font-family:var(--display);font-weight:300;font-size:clamp(22px,2.4vw,32px);line-height:1.15;letter-spacing:-.015em;margin-bottom:8px;color:var(--ink)}

.form-card--dark .form-card__title{color:var(--bone)}

.form-card__sub{font-size:14px;color:var(--text-soft);margin-bottom:28px;line-height:1.6}

.form-card--dark .form-card__sub{color:rgba(245,240,230,.5)}

.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}

.form-group__label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;color:var(--text-mute)}

.form-card--dark .form-group__label{color:rgba(245,240,230,.65)}

.form-input,.form-textarea,.form-select{font-family:var(--sans);font-size:15px;color:var(--text);background:transparent;border:none;border-bottom:1px solid var(--line);padding:10px 0;transition:border-color .25s ease;width:100%;border-radius:0}

.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-bottom-color:var(--gold)}

.form-card--dark .form-input,.form-card--dark .form-textarea,.form-card--dark .form-select{color:var(--bone);border-bottom-color:rgba(245,240,230,.18)}

.form-card--dark .form-input:focus,.form-card--dark .form-textarea:focus,.form-card--dark .form-select:focus{border-bottom-color:var(--gold-bright)}

.form-textarea{resize:vertical;min-height:80px}

.form-select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='none' stroke='%238A6A2B' stroke-width='1.4' d='M1 1l5 5 5-5'/></svg>");background-repeat:no-repeat;background-position:right 4px center;padding-right:24px}

.form-input.is-error,.form-textarea.is-error,.form-select.is-error{border-bottom-color:#A32D2D}

.form-input.is-success,.form-textarea.is-success,.form-select.is-success{border-bottom-color:#3B6D11}

.form-error{font-size:12px;color:#A32D2D;margin-top:4px;display:flex;align-items:center;gap:6px}

.form-radios{display:flex;flex-direction:column;gap:10px}

.form-radio,.form-checkbox{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--text-mute);cursor:pointer;user-select:none;line-height:1.4}

.form-card--dark .form-radio,.form-card--dark .form-checkbox{color:rgba(245,240,230,.7)}

.form-radio input,.form-checkbox input{appearance:none;width:18px;height:18px;border:1.5px solid var(--line-strong);background:transparent;flex-shrink:0;cursor:pointer;transition:border-color .2s,background .2s;position:relative}

.form-radio input{border-radius:50%}

.form-checkbox input{border-radius:3px}

.form-radio input:checked{border-color:var(--gold);background:var(--gold)}

.form-radio input:checked::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--bone)}

.form-checkbox input:checked{border-color:var(--gold);background:var(--gold)}

.form-checkbox input:checked::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:9px;border-right:1.5px solid var(--bone);border-bottom:1.5px solid var(--bone);transform:rotate(45deg)}

.form-submit{display:inline-flex;align-items:center;gap:9px;padding:16px 28px;border-radius:999px;background:var(--ink);color:var(--bone);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;border:none;cursor:pointer;font-family:var(--sans);transition:background .25s,transform .2s;margin-top:8px}

.form-submit:hover{background:var(--gold);transform:translateY(-2px)}

.form-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}

.form-card--dark .form-submit{background:var(--bone);color:var(--ink)}

.form-card--dark .form-submit:hover{background:var(--gold-bright);color:var(--bone)}

/* ═══ NUM CARD (unificado: service, treatment, pillar, vant) ═══ */

.num-card{display:flex;flex-direction:column;background:var(--cream);border:1px solid var(--line);border-radius:6px;padding:32px 28px;transition:background .35s cubic-bezier(.4,0,.2,1),border-color .35s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.4,0,.2,1),box-shadow .35s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;color:var(--text)}

.num-card::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}

.num-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px -8px rgba(15,13,10,.16);border-color:rgba(184,147,74,.3)}

.num-card:hover::before{transform:scaleX(1)}

.num-card__num{font-family:var(--display);font-style:italic;font-weight:300;font-size:34px;color:var(--gold);line-height:1;margin-bottom:18px}

.num-card__name{font-family:var(--display);font-weight:400;font-size:22px;line-height:1.2;letter-spacing:-.01em;color:var(--ink);margin-bottom:10px}

.num-card__desc{font-size:14px;color:var(--text-mute);line-height:1.65;margin-bottom:18px;flex:1}

.num-card__link{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-weight:500;display:inline-flex;align-items:center;gap:6px;transition:gap .25s ease}

.num-card:hover .num-card__link{gap:10px}

.num-card--dark{background:rgba(245,240,230,.04);border-color:rgba(245,240,230,.1)}

.num-card--dark .num-card__name{color:var(--bone)}

.num-card--dark .num-card__desc{color:rgba(245,240,230,.6)}

.num-card--dark .num-card__num{color:var(--gold-bright)}

.num-card--dark:hover{background:rgba(245,240,230,.07);border-color:rgba(184,147,74,.35)}

/* ═══ TESTIMONIAL ═══ */

.testim{background:var(--cream);border:1px solid var(--line);border-radius:6px;padding:28px;display:flex;flex-direction:column;gap:14px}

.testim__stars{display:flex;gap:2px;color:var(--gold)}

.testim__text{font-family:var(--serif);font-style:italic;font-size:16px;line-height:1.65;color:var(--text-mute);quotes:'"' '"' "'" "'"}

.testim__text::before{content:open-quote;color:var(--gold);font-size:24px;line-height:0;margin-right:4px}

.testim__text::after{content:close-quote;color:var(--gold);font-size:24px;line-height:0;margin-left:2px}

.testim__foot{display:flex;flex-direction:column;gap:2px;padding-top:14px;border-top:1px solid var(--line)}

.testim__author{font-family:var(--display);font-weight:500;font-size:14px;color:var(--ink);font-style:normal}

.testim__role{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-soft);font-weight:500}

/* ═══ STATS ═══ */

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:24px;padding:32px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

.stat__num{font-family:var(--display);font-weight:300;font-size:clamp(40px,5vw,64px);line-height:1;letter-spacing:-.02em;color:var(--gold);margin-bottom:6px}

.stat__num em{font-style:italic}

.stat__label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--text-soft);line-height:1.4}

/* ═══ PAGE HERO ═══ */

.page-hero{padding:clamp(60px,8vw,100px) 0 clamp(40px,5vw,60px);background:linear-gradient(160deg,var(--cream) 0%,var(--bone) 65%);border-bottom:1px solid var(--line)}

.page-hero__breadcrumb{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-soft);font-weight:500;margin-bottom:24px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}

.page-hero__breadcrumb a{color:var(--text-soft);transition:color .2s}

.page-hero__breadcrumb a:hover{color:var(--gold)}

.page-hero__breadcrumb .sep{opacity:.4}

.page-hero__eyebrow{font-size:10px;letter-spacing:.32em;text-transform:uppercase;font-weight:500;color:var(--gold);margin-bottom:14px;display:inline-flex;align-items:center;gap:10px}

.page-hero__eyebrow::before{content:"";width:20px;height:1px;background:var(--gold)}

.page-hero__title{font-family:var(--display);font-weight:300;font-size:clamp(40px,5.5vw,76px);line-height:1.02;letter-spacing:-.025em;color:var(--ink);margin-bottom:16px;max-width:780px}

.page-hero__title em{font-style:italic;color:var(--gold);font-family:inherit}

.page-hero__sub{font-family:var(--serif);font-style:italic;font-size:clamp(17px,1.4vw,21px);color:var(--text-mute);line-height:1.55;max-width:560px}

/* ═══ PROCESSO STEP ═══ */

.processo{display:flex;flex-direction:column;gap:0}

.processo__step{display:grid;grid-template-columns:80px 1fr;gap:24px;padding:28px 0;border-bottom:1px solid var(--line);align-items:baseline}

.processo__step:last-child{border-bottom:none}

.processo__num{font-family:var(--display);font-style:italic;font-weight:300;font-size:42px;color:var(--gold);line-height:1}

.processo__body{display:flex;flex-direction:column;gap:6px}

.processo__name{font-family:var(--display);font-weight:400;font-size:22px;line-height:1.2;color:var(--ink)}

.processo__desc{font-size:14px;color:var(--text-mute);line-height:1.65}

/* ═══ CTA FINAL UNIFICADO ═══ */

.cta-final{padding:var(--sy) 0;background:var(--ink);position:relative;overflow:hidden;text-align:center;color:var(--bone)}

.cta-final::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at top,rgba(184,147,74,.18) 0%,transparent 60%);pointer-events:none}

.cta-final__inner{position:relative;z-index:1;max-width:680px;margin:0 auto;padding:0 var(--g)}

.cta-final__eyebrow{font-size:10px;letter-spacing:.32em;text-transform:uppercase;font-weight:500;color:var(--gold-bright);margin-bottom:20px}

.cta-final__title{font-family:var(--display);font-weight:300;font-size:clamp(36px,5vw,64px);line-height:1.02;letter-spacing:-.02em;margin-bottom:18px;color:var(--bone)}

.cta-final__title em{font-style:italic;color:var(--gold-bright);font-family:inherit}

.cta-final__sub{font-size:clamp(15px,1.3vw,17px);color:rgba(245,240,230,.6);max-width:480px;margin:0 auto 36px;line-height:1.7}

.cta-final__socials{display:flex;justify-content:center;gap:18px;margin-top:32px}

.cta-final__socials a{width:42px;height:42px;border-radius:50%;border:1px solid rgba(245,240,230,.18);display:grid;place-items:center;color:rgba(245,240,230,.7);transition:border-color .25s,color .25s,transform .25s}

.cta-final__socials a:hover{border-color:var(--gold-bright);color:var(--gold-bright);transform:translateY(-2px)}

.cta-final__note{margin-top:16px;font-size:11px;color:rgba(245,240,230,.3);letter-spacing:.06em}

/* CTA info row */

.cta-info{display:flex;justify-content:center;gap:36px;flex-wrap:wrap;margin-top:32px;padding-top:28px;border-top:1px solid rgba(245,240,230,.1)}

.cta-info__row{display:flex;flex-direction:column;gap:4px}

.cta-info__label{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(245,240,230,.4);font-weight:500}

.cta-info__value{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--bone)}

/* ═══ HERO CTA GROUP ═══ */

.hero-cta-group{display:flex;gap:14px;flex-wrap:wrap;align-items:center}

/* ═══ BREADCRUMB STANDALONE ═══ */

.breadcrumb{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-soft);font-weight:500;display:flex;align-items:center;gap:8px;flex-wrap:wrap}

.breadcrumb a{color:var(--text-soft);transition:color .2s}

.breadcrumb a:hover{color:var(--gold)}

.breadcrumb .sep{opacity:.4}

/* ═══ TAGS / CHIPS ═══ */

.tag{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--gold-soft);color:var(--gold);font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}

.tag--ghost{background:transparent;border:1px solid var(--line);color:var(--text-mute)}

.tag--solid{background:var(--ink);color:var(--bone)}

/* ═══ IMAGE BADGE ═══ */

.img-badge{position:absolute;background:var(--bone);padding:14px 20px;border-radius:6px;box-shadow:0 12px 32px -8px rgba(15,13,10,.16);border:1px solid var(--line);display:flex;flex-direction:column;gap:2px}

.img-badge__num{font-family:var(--display);font-style:italic;font-weight:300;font-size:28px;color:var(--gold);line-height:1}

.img-badge__text{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-soft);font-weight:500}

/* ═══ GALLERY GRID ═══ */

.gal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}

.gal-grid__cell{border-radius:6px;overflow:hidden;cursor:pointer;position:relative;background:var(--bone-2);aspect-ratio:1}

.gal-grid__cell img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.4,0,.2,1)}

.gal-grid__cell:hover img{transform:scale(1.04)}

.gal-grid__cell::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(14,12,9,.3));opacity:0;transition:opacity .3s}

.gal-grid__cell:hover::after{opacity:1}

/* ═══ GALLERY MODAL (lightbox) ═══ */

.gal-modal{position:fixed;inset:0;z-index:9000;background:rgba(14,12,9,.92);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:40px}

.gal-modal.is-open{display:flex}

.gal-modal__img{max-width:100%;max-height:90vh;border-radius:6px;box-shadow:0 24px 48px -16px rgba(0,0,0,.5)}

.gal-modal__btn{position:absolute;width:48px;height:48px;border-radius:50%;background:rgba(245,240,230,.1);border:1px solid rgba(245,240,230,.2);color:var(--bone);display:grid;place-items:center;cursor:pointer;transition:background .25s,border-color .25s}

.gal-modal__btn:hover{background:rgba(245,240,230,.18);border-color:var(--gold-bright)}

.gal-modal__close{top:24px;right:24px}

.gal-modal__prev{left:24px;top:50%;transform:translateY(-50%)}

.gal-modal__next{right:24px;top:50%;transform:translateY(-50%)}

/* ═══ MAP EMBED ═══ */

.map-embed{border-radius:6px;overflow:hidden;box-shadow:0 24px 48px -16px rgba(15,13,10,.18);border:1px solid var(--line);aspect-ratio:16/9;background:var(--bone-2)}

.map-embed iframe{width:100%;height:100%;border:none;display:block}

/* ═══ CONTACT INFO ═══ */

.contact-info{display:flex;flex-direction:column;gap:20px}

.contact-info__row{display:grid;grid-template-columns:32px 1fr;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line)}

.contact-info__row:last-child{border-bottom:none}

.contact-info__icon{width:32px;height:32px;display:grid;place-items:center;background:var(--gold-soft);color:var(--gold);border-radius:50%}

.contact-info__icon svg{width:16px;height:16px}

.contact-info__label{font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--text-soft);margin-bottom:3px}

.contact-info__value{font-size:14px;color:var(--text);line-height:1.55}

.contact-info__value a{color:inherit;transition:color .2s}

.contact-info__value a:hover{color:var(--gold)}

/* Office hours block */

.hours{display:flex;flex-direction:column;gap:8px}

.hours__row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}

.hours__row:last-child{border-bottom:none}

.hours__day{color:var(--text-mute);font-weight:500}

.hours__time{color:var(--text);font-family:var(--serif);font-style:italic}

/* ═══ SOCIAL ICONS ROW ═══ */

.socials{display:flex;gap:12px}

.socials__icon{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--text-mute);transition:border-color .25s,color .25s,transform .25s}

.socials__icon:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}

.socials__icon svg{width:18px;height:18px}

.socials--dark .socials__icon{border-color:rgba(245,240,230,.18);color:rgba(245,240,230,.65)}

.socials--dark .socials__icon:hover{border-color:var(--gold-bright);color:var(--gold-bright)}

/* ═══ PRELOADER ═══ */

.preloader{position:fixed;inset:0;z-index:9999;background:var(--bone);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;transition:opacity .6s ease,visibility .6s}

.preloader.is-done{opacity:0;visibility:hidden;pointer-events:none}

.preloader__logo{height:64px;width:auto;opacity:.7}

.preloader__bar-wrap{width:160px;height:1px;background:var(--line);position:relative;overflow:hidden}

.preloader__bar{position:absolute;left:0;top:0;height:100%;background:var(--gold);animation:preloaderBar 1.4s cubic-bezier(.4,0,.2,1) infinite}

@keyframes preloaderBar{0%{left:-30%;width:30%}50%{left:50%;width:30%}100%{left:100%;width:30%}}

/* Padrão: nav fica sticky e ganha background blur quando scrolla */

.sticky-nav{position:sticky;top:0;z-index:100;background:transparent;border-bottom:1px solid transparent;transition:background .35s ease,border-color .35s ease,backdrop-filter .35s ease}

.sticky-nav.is-scrolled{background:rgba(245,240,230,.92);backdrop-filter:blur(22px) saturate(1.3);border-bottom-color:var(--line)}

/* ═══ HAMBURGER MENU ═══ */

.hamburger{width:32px;height:32px;display:none;flex-direction:column;justify-content:center;gap:6px;background:none;border:none;cursor:pointer;padding:0}

.hamburger span{display:block;width:22px;height:1.5px;background:var(--ink);margin:0 auto;transition:transform .35s ease,opacity .25s ease}

.hamburger.is-open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}

.hamburger.is-open span:nth-child(2){opacity:0}

.hamburger.is-open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

@media(max-width:980px){.hamburger{display:flex}}

/* ═══ STICKY CTA MOBILE ═══ */

.sticky-cta-mobile{display:none;position:fixed;left:16px;right:16px;bottom:16px;z-index:80;padding:16px 24px;border-radius:999px;background:var(--ink);color:var(--bone);font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;text-align:center;box-shadow:0 16px 40px -12px rgba(0,0,0,.4);transition:background .25s,transform .2s}

.sticky-cta-mobile:hover{background:var(--gold)}

@media(max-width:700px){.sticky-cta-mobile{display:block}}

/* ═══ REVEAL SCROLL (utility) ═══ */

.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s cubic-bezier(.4,0,.2,1),transform .75s cubic-bezier(.4,0,.2,1)}

.reveal.is-visible{opacity:1;transform:translateY(0)}

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

/* ═══ LOADING MODAL (feedback de envio) ═══ */

.loading-modal{position:fixed;inset:0;z-index:9000;background:rgba(14,12,9,.7);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center}

.loading-modal.is-open{display:flex}

.loading-modal__box{background:var(--cream);border-radius:6px;padding:40px 48px;display:flex;flex-direction:column;align-items:center;gap:20px;max-width:360px;text-align:center}

.loading-modal__spinner{width:36px;height:36px;border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite}

@keyframes spin{to{transform:rotate(360deg)}}

.loading-modal__msg{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--text-mute);line-height:1.5}

/* Link card primário (CTA destacado: WhatsApp/Agendamento) */

.cmp-lnk.is-primary{background:var(--ink);border-color:var(--ink);color:var(--bone)}

.cmp-lnk.is-primary .cmp-lnk-title{color:var(--bone)}

.cmp-lnk.is-primary .cmp-lnk-sub{color:rgba(245,240,230,.55)}

.cmp-lnk.is-primary .cmp-lnk-icon{background:var(--gold-bright);color:var(--ink)}

.cmp-lnk.is-primary .cmp-lnk-arrow{color:rgba(245,240,230,.4)}

.cmp-lnk.is-primary:hover{background:var(--gold);border-color:var(--gold);transform:translateY(-2px)}

.cmp-lnk.is-primary:hover .cmp-lnk-arrow{color:var(--bone)}

/* Stagger entry */

@media (prefers-reduced-motion: no-preference){
  .cmp-lnk{opacity:0;transform:translateY(8px);animation:cmpSlide .5s cubic-bezier(.4,0,.2,1) forwards}
  .cmp-lnk[data-d="1"]{animation-delay:.05s}
  .cmp-lnk[data-d="2"]{animation-delay:.1s}
  .cmp-lnk[data-d="3"]{animation-delay:.15s}
  .cmp-lnk[data-d="4"]{animation-delay:.2s}
  .cmp-lnk[data-d="5"]{animation-delay:.25s}
  .cmp-lnk[data-d="6"]{animation-delay:.3s}
  @keyframes cmpSlide{to{opacity:1;transform:translateY(0)}}
}

/* ═══ FEATURE CARD (tratamento destaque com imagem) ═══ */

.feat-card{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:6px;overflow:hidden;background:var(--cream);border:1px solid var(--line);transition:box-shadow .35s ease,border-color .35s ease}

.feat-card:hover{box-shadow:0 24px 48px -16px rgba(15,13,10,.18);border-color:rgba(184,147,74,.3)}

.feat-card__img{aspect-ratio:1;background:var(--bone-3);position:relative;overflow:hidden}

.feat-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}

.feat-card:hover .feat-card__img img{transform:scale(1.04)}

.feat-card__body{padding:clamp(28px,3vw,40px);display:flex;flex-direction:column;justify-content:center;gap:14px}

.feat-card__num{font-family:var(--display);font-style:italic;font-weight:300;font-size:32px;color:var(--gold);line-height:1}

.feat-card__name{font-family:var(--display);font-weight:300;font-size:clamp(24px,2.6vw,34px);line-height:1.1;letter-spacing:-.015em;color:var(--ink)}

.feat-card__desc{font-size:14px;color:var(--text-mute);line-height:1.65}

.feat-card__cta{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-weight:500;display:inline-flex;align-items:center;gap:6px;transition:gap .25s ease;margin-top:8px}

.feat-card:hover .feat-card__cta{gap:10px}

@media(max-width:720px){.feat-card{grid-template-columns:1fr}}

/* ═══ RESULT CARD (resultado com overlay e tag) ═══ */

.result-card{position:relative;overflow:hidden;border-radius:6px;aspect-ratio:3/4;cursor:pointer;background:var(--bone-3);transition:transform .35s ease,box-shadow .35s ease}

.result-card:hover{transform:translateY(-2px);box-shadow:0 16px 40px -12px rgba(15,13,10,.2)}

.result-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1)}

.result-card:hover img{transform:scale(1.05)}

.result-card__overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(14,12,9,.75) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:20px;color:var(--bone)}

.result-card__tag{position:absolute;top:14px;left:14px;background:var(--gold-bright);color:var(--ink);padding:6px 12px;border-radius:999px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;z-index:1}

.result-card__label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:rgba(245,240,230,.7);margin-bottom:4px}

.result-card__name{font-family:var(--display);font-weight:400;font-size:18px;line-height:1.2;color:var(--bone)}

/* ═══ HERO SPLIT (variante de page-hero com imagem) ═══ */

.hero-split{padding:clamp(80px,10vw,140px) 0 clamp(50px,6vw,80px);background:radial-gradient(ellipse at 80% 20%,rgba(184,147,74,.10),transparent 60%),linear-gradient(180deg,var(--cream) 0%,var(--bone) 100%);position:relative;overflow:hidden}

.hero-split__inner{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,6vw,80px);align-items:center;max-width:1160px;margin:0 auto;padding:0 var(--g)}

.hero-split__breadcrumb{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-soft);font-weight:500;margin-bottom:24px;display:flex;align-items:center;gap:8px}

.hero-split__breadcrumb a{color:var(--text-soft);transition:color .2s}

.hero-split__breadcrumb a:hover{color:var(--gold)}

.hero-split__eyebrow{font-size:10px;letter-spacing:.32em;text-transform:uppercase;font-weight:500;color:var(--gold);margin-bottom:14px;display:inline-flex;align-items:center;gap:10px}

.hero-split__eyebrow::before{content:"";width:20px;height:1px;background:var(--gold)}

.hero-split__title{font-family:var(--display);font-weight:300;font-size:clamp(40px,5.5vw,76px);line-height:1.02;letter-spacing:-.025em;color:var(--ink);margin-bottom:18px}

.hero-split__title em{font-style:italic;color:var(--gold);font-family:inherit}

.hero-split__sub{font-family:var(--serif);font-style:italic;font-size:clamp(17px,1.4vw,21px);color:var(--text-mute);line-height:1.55;margin-bottom:28px;max-width:480px}

.hero-split__img{border-radius:6px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 40px 80px -24px rgba(15,13,10,.22);background:var(--bone-3)}

.hero-split__img img{width:100%;height:100%;object-fit:cover}

@media(max-width:980px){.hero-split__inner{grid-template-columns:1fr}.hero-split__img{aspect-ratio:unset;max-height:none}.hero-split__img img{height:auto;object-fit:cover}}

/* ═══ CURRICULO CARD (formação) ═══ */

.curriculo-card{background:var(--bone);border:1px solid var(--line);border-radius:8px;padding:24px;display:flex;flex-direction:column;gap:8px;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;position:relative}

.curriculo-card:hover{transform:translateY(-2px);box-shadow:0 12px 32px -8px rgba(15,13,10,.12);border-color:rgba(184,147,74,.3)}

.curriculo-card__badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:var(--gold-soft);color:var(--gold);font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;align-self:flex-start}

.curriculo-card__year{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--gold);font-weight:400}

.curriculo-card__title{font-family:var(--display);font-weight:400;font-size:18px;line-height:1.25;color:var(--ink)}

.curriculo-card__sub{font-size:13px;color:var(--text-mute);line-height:1.55}

.curriculo-card__author{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-soft);font-weight:500;margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}

.wa-section__inner{max-width:680px;margin:0 auto;padding:0 var(--g);text-align:center}

.wa-section__eyebrow{font-size:10px;letter-spacing:.32em;text-transform:uppercase;font-weight:500;color:var(--gold);margin-bottom:16px;display:inline-flex;align-items:center;gap:10px}

.wa-section__eyebrow::before,.wa-section__eyebrow::after{content:"";width:18px;height:1px;background:var(--gold);opacity:.5}

.wa-section__title{font-family:var(--display);font-weight:300;font-size:clamp(28px,3.5vw,44px);line-height:1.1;letter-spacing:-.02em;color:var(--ink);margin-bottom:14px}

.wa-section__title em{font-style:italic;color:var(--gold);font-family:inherit}

.wa-section__sub{font-size:15px;color:var(--text-mute);line-height:1.65;max-width:480px;margin:0 auto 28px}

.wa-section__card{background:var(--cream);border:1px solid var(--line);border-radius:6px;padding:24px 28px;display:inline-flex;align-items:center;gap:18px;text-align:left;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}

.wa-section__card:hover{transform:translateY(-2px);box-shadow:0 16px 40px -12px rgba(15,13,10,.16);border-color:rgba(184,147,74,.4)}

.wa-section__icon{width:48px;height:48px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;flex-shrink:0}

.wa-section__icon svg{width:24px;height:24px}

.wa-section__body{display:flex;flex-direction:column;gap:2px}

.wa-section__label{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-soft);font-weight:500}

.wa-section__number{font-family:var(--display);font-weight:400;font-size:20px;color:var(--ink)}

/* ═══ CAROUSEL (cases / antes-depois / depoimentos múltiplos) ═══ */

.carousel{position:relative;overflow:hidden;border-radius:6px}

.carousel__track{display:flex;gap:14px;transition:transform .5s cubic-bezier(.4,0,.2,1)}

.carousel__slide{flex:0 0 calc(33.333% - 10px);min-width:0}

@media(max-width:980px){.carousel__slide{flex:0 0 calc(50% - 7px)}}

@media(max-width:560px){.carousel__slide{flex:0 0 100%}}

.carousel__controls{display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:20px;flex-wrap:wrap}

.carousel__nav{display:flex;gap:10px}

.carousel__btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--cream);color:var(--text-mute);display:grid;place-items:center;cursor:pointer;transition:border-color .25s,color .25s}

.carousel__btn:hover{border-color:var(--gold);color:var(--gold)}

.carousel__btn:disabled{opacity:.3;cursor:not-allowed}

.carousel__btn:disabled:hover{border-color:var(--line);color:var(--text-mute)}

.carousel__dots{display:flex;gap:8px}

.carousel__dot{width:7px;height:7px;border-radius:50%;background:var(--line-strong);border:none;cursor:pointer;transition:background .25s,transform .25s}

.carousel__dot.is-active{background:var(--gold);transform:scale(1.3)}

/* ═══ FORM · ESTADOS EXTRAS ═══ */

.form-input::placeholder,.form-textarea::placeholder{color:var(--text-soft);opacity:.6}

.form-input:disabled,.form-textarea:disabled,.form-select:disabled{opacity:.4;cursor:not-allowed}

.form-card--dark .form-input::placeholder,.form-card--dark .form-textarea::placeholder{color:rgba(245,240,230,.35)}

.form-group__label--required::after{content:" *";color:var(--gold);font-weight:600}

.form-group__label.is-error{color:#A32D2D}

.form-help{font-size:12px;color:var(--text-soft);margin-top:4px;display:flex;align-items:center;gap:6px}

.form-card--dark .form-help{color:rgba(245,240,230,.45)}

.form-submit--loading{position:relative;color:transparent;pointer-events:none}

.form-submit--loading::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border:2px solid var(--bone);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}

.form-card--dark .form-submit--loading::after{border-color:var(--ink);border-top-color:transparent}

/* ═══ TOAST / SNACKBAR ═══ */

.toast-container{position:fixed;bottom:24px;right:24px;z-index:9500;display:flex;flex-direction:column;gap:10px;max-width:380px;pointer-events:none}

.toast{background:var(--ink-2);color:var(--bone);border-radius:6px;padding:14px 18px;display:flex;align-items:center;gap:12px;box-shadow:0 24px 48px -16px rgba(0,0,0,.4);border:1px solid rgba(245,240,230,.08);pointer-events:auto;animation:toastIn .35s cubic-bezier(.4,0,.2,1)}

.toast__icon{width:24px;height:24px;flex-shrink:0;border-radius:50%;display:grid;place-items:center}

.toast__icon svg{width:14px;height:14px}

.toast__msg{font-size:13px;line-height:1.5;flex:1}

.toast__close{flex-shrink:0;color:rgba(245,240,230,.5);cursor:pointer;transition:color .2s}

.toast__close:hover{color:var(--bone)}

.toast--success .toast__icon{background:rgba(59,109,17,.2);color:#97C459}

.toast--error .toast__icon{background:rgba(163,45,45,.2);color:#F09595}

.toast--info .toast__icon{background:var(--gold-soft);color:var(--gold-bright)}

@keyframes toastIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}

/* ═══ TOOLTIP ═══ */

.tip{position:relative;display:inline-flex;align-items:center;gap:4px;cursor:help;border-bottom:1px dotted var(--text-soft)}

.tip__bubble{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);background:var(--ink);color:var(--bone);padding:8px 12px;border-radius:6px;font-size:12px;font-weight:400;line-height:1.4;white-space:nowrap;max-width:240px;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;letter-spacing:0;text-transform:none;z-index:50}

.tip__bubble::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--ink)}

.tip:hover .tip__bubble,.tip:focus .tip__bubble{opacity:1;transform:translateX(-50%) translateY(0)}

/* ═══ BADGE DE NOTIFICAÇÃO ═══ */

.badge-noti{position:relative;display:inline-flex}

.badge-noti__count{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--gold-bright);color:var(--ink);font-size:10px;font-weight:600;display:grid;place-items:center;line-height:1;font-family:var(--sans)}

.badge-noti__dot{position:absolute;top:0;right:0;width:8px;height:8px;border-radius:50%;background:var(--gold-bright);border:2px solid var(--cream)}

/* ═══ EMPTY STATE ═══ */

.empty{padding:clamp(40px,6vw,80px) 24px;text-align:center;max-width:420px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:16px}

.empty__icon{width:64px;height:64px;border-radius:50%;background:var(--gold-soft);color:var(--gold);display:grid;place-items:center}

.empty__icon svg{width:28px;height:28px}

.empty__title{font-family:var(--display);font-weight:400;font-size:20px;color:var(--ink);line-height:1.2}

.empty__msg{font-size:14px;color:var(--text-soft);line-height:1.6;max-width:300px}

/* ═══ SKELETON LOADER ═══ */

.skel{background:linear-gradient(90deg,var(--bone-2) 0%,var(--bone-3) 50%,var(--bone-2) 100%);background-size:200% 100%;animation:skelPulse 1.4s ease-in-out infinite;border-radius:4px;display:block}

.skel--text{height:14px;width:100%;margin-bottom:8px}

.skel--text-sm{height:11px;width:60%}

.skel--title{height:24px;width:80%;margin-bottom:14px;border-radius:6px}

.skel--circle{border-radius:50%;width:48px;height:48px}

.skel--card{height:240px;border-radius:6px}

.skel--button{height:44px;width:140px;border-radius:999px}

@keyframes skelPulse{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ═══ PÁGINA 404 / ERRO ═══ */

.err-page{min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center;gap:18px;background:linear-gradient(160deg,var(--cream) 0%,var(--bone) 65%)}

.err-page__num{font-family:var(--display);font-weight:300;font-style:italic;font-size:clamp(96px,14vw,180px);line-height:1;color:var(--gold);letter-spacing:-.04em}

.err-page__title{font-family:var(--display);font-weight:300;font-size:clamp(28px,4vw,44px);line-height:1.05;letter-spacing:-.02em;color:var(--ink);max-width:520px}

.err-page__title em{font-style:italic;color:var(--gold);font-family:inherit}

.err-page__msg{font-size:15px;color:var(--text-mute);max-width:420px;line-height:1.65}

.err-page__cta{margin-top:14px}

/* ═══ CRED STRIP · faixa de credenciais com 4 ícones ═══ */
/* Uso: faixa escura entre hero e conteúdo, mostrando 4 credenciais/diferenciais
   com ícone circular, título e sublabel. Aparece em home, clínica, LPs. */
.cred-strip{background:var(--ink);color:var(--bone);padding:48px 0}
.cred-strip__inner{max-width:var(--max);margin:0 auto;padding:0 var(--g);display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.cred-strip__item{text-align:center;padding:0 16px;border-right:1px solid rgba(245,240,230,.08)}
.cred-strip__item:last-child{border-right:none}
.cred-strip__icon{width:44px;height:44px;border-radius:50%;background:var(--gold-soft);color:var(--gold-bright);display:grid;place-items:center;margin:0 auto 14px}
.cred-strip__icon svg{width:20px;height:20px}
.cred-strip__title{font-family:var(--display);font-weight:400;font-size:15px;line-height:1.3;color:var(--bone);margin-bottom:6px}
.cred-strip__sub{font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;color:rgba(245,240,230,.5)}
@media(max-width:860px){.cred-strip__inner{grid-template-columns:repeat(2,1fr);gap:32px 24px}.cred-strip__item:nth-child(2){border-right:none}}
@media(max-width:480px){.cred-strip__inner{grid-template-columns:1fr}.cred-strip__item{border-right:none;border-bottom:1px solid rgba(245,240,230,.08);padding-bottom:24px}.cred-strip__item:last-child{border-bottom:none;padding-bottom:0}}

/* ═══ STATS · variante --divided (com divisor vertical entre items) ═══ */
/* Uso: stats com 3 a 4 itens em destaque, separados por linha vertical.
   Quando os números merecem mais respiro que a versão grid padrão. */
.stats--divided{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats--divided .stat{padding:0 24px;border-right:1px solid var(--line)}
.stats--divided .stat:first-child{padding-left:0}
.stats--divided .stat:last-child{border-right:none}
@media(max-width:560px){.stats--divided .stat{padding:0 14px}}

/* ═══ FEAT-CARD · variante --dark (para uso em seções escuras) ═══ */
.feat-card--dark{background:rgba(245,240,230,.03);border-color:rgba(245,240,230,.08)}
.feat-card--dark:hover{border-color:rgba(184,147,74,.35);box-shadow:0 24px 48px -16px rgba(0,0,0,.4)}
.feat-card--dark .feat-card__name{color:var(--bone)}
.feat-card--dark .feat-card__name em{color:var(--gold-bright)}
.feat-card--dark .feat-card__desc{color:rgba(245,240,230,.6)}
.feat-card--dark .feat-card__num{color:var(--gold-bright)}

/* ═══ FEAT-CARD · variante --stacked (imagem topo, body abaixo) ═══ */
/* Uso: quando o card precisa ocupar layout vertical (1 coluna).
   Imagem usa 100% da largura no topo, body embaixo com mais respiro. */
.feat-card--stacked{grid-template-columns:1fr;grid-template-rows:auto auto}
.feat-card--stacked .feat-card__img{aspect-ratio:16/10}
.feat-card--stacked .feat-card__body{padding:clamp(28px,3.5vw,44px)}

/* ═══ NUM-CARD · extra __tag (categoria/badge no topo do card) ═══ */
/* Uso: tag superior que categoriza o card (EBOOK, GRATUITO, CURSO, etc).
   Texto pequeno em uppercase dourado, antes do nome do card. */
.num-card__tag{font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--gold);margin-bottom:14px}
.num-card--dark .num-card__tag{color:var(--gold-bright)}

/* ═══ LANG MODAL · modal de seleção de idioma (genérico) ═══ */
/* Uso: abrir antes de redirecionar para material multi-idioma (ebook, curso).
   Toggle via JS adicionando .is-open. ID fixo: #langModal. */
.lang-modal{position:fixed;inset:0;z-index:9000;background:rgba(14,12,9,.7);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .3s ease}
.lang-modal.is-open{opacity:1;pointer-events:auto}
.lang-modal__box{background:var(--cream);border-radius:8px;padding:clamp(28px,4vw,40px);max-width:420px;width:100%;box-shadow:0 24px 48px -16px rgba(0,0,0,.4);position:relative;transform:translateY(20px);transition:transform .35s cubic-bezier(.4,0,.2,1)}
.lang-modal.is-open .lang-modal__box{transform:translateY(0)}
.lang-modal__close{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;background:transparent;border:1px solid var(--line);color:var(--text-mute);display:grid;place-items:center;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.lang-modal__close:hover{background:var(--ink);border-color:var(--ink);color:var(--bone)}
.lang-modal__label{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:12px}
.lang-modal__title{font-family:var(--display);font-weight:300;font-size:clamp(22px,3vw,30px);line-height:1.15;letter-spacing:-.01em;color:var(--ink);margin-bottom:8px}
.lang-modal__name{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--text-soft);margin-bottom:28px}
.lang-modal__langs{display:flex;flex-direction:column;gap:10px}

/* ═══ LANG BTN · botão de idioma dentro do .lang-modal ═══ */
.lang-btn{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:6px;background:var(--bone);border:1px solid var(--line);color:var(--text);transition:background .25s,border-color .25s,transform .2s}
.lang-btn:hover{background:var(--bone-2);border-color:var(--gold);transform:translateY(-1px)}
.lang-btn__flag{font-size:24px;line-height:1;flex-shrink:0}
.lang-btn__info{display:flex;flex-direction:column;gap:2px}
.lang-btn__name{font-family:var(--display);font-weight:500;font-size:16px;color:var(--ink);line-height:1.1}
.lang-btn__label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-soft);font-weight:500}
