@charset "UTF-8";
/* =========================================================================
   NEUROCOG — Landing page
   Dra. Fernanda Rasch Czermainski
   Desenvolvido por Corz · corz.com.br
   Sistema visual: preto / dourado / branco (versão clara "clínica")
   ========================================================================= */

/* ---------- 1. FONTES (self-hosted, zero requisição a terceiros) --------- */
/* Caladea  = métrica compatível com Cambria (títulos da marca)
   Carlito  = métrica compatível com Calibri (corpo da marca)
   Ambas SIL Open Font License 1.1                                          */

@font-face{font-family:"Caladea";src:url("../fonts/Caladea-Regular.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Caladea";src:url("../fonts/Caladea-Bold.woff2") format("woff2");
  font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Carlito";src:url("../fonts/Carlito-Regular.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Carlito";src:url("../fonts/Carlito-Bold.woff2") format("woff2");
  font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Carlito";src:url("../fonts/Carlito-Italic.woff2") format("woff2");
  font-weight:400;font-style:italic;font-display:swap}

/* ---------- 2. TOKENS ---------------------------------------------------- */
:root{
  /* cor */
  --black:#0C0C0C;
  --ink:#1A1A1A;
  --char:#3A3A3A;
  --muted:#6B6B6B;
  --line:#DCDCDC;
  --gray:#F2F2F2;
  --gray2:#F8F8F8;
  --gold-lt:#E8CE96;
  --gold:#C9A44C;
  --gold-dp:#8A6529;   /* único dourado permitido em texto sobre claro */
  --white:#FFFFFF;
  --wa:#25D366;

  /* tipografia */
  --f-head:"Caladea",Cambria,Georgia,"Times New Roman",serif;
  --f-body:"Carlito",Calibri,"Segoe UI",system-ui,-apple-system,sans-serif;

  --t-h1:clamp(2.15rem,1.30rem + 3.4vw,3.45rem);
  --t-h2:clamp(1.62rem,1.25rem + 1.5vw,2.30rem);
  --t-h3:1.16rem;
  --t-lead:clamp(1.03rem,1.00rem + .2vw,1.14rem);
  --t-body:1rem;
  --t-sm:.905rem;
  --t-xs:.82rem;

  /* espaço */
  --wrap:1180px;
  --gut:clamp(1.25rem,4vw,2.5rem);
  --sec-y:clamp(3.75rem,7vw,6.5rem);
  --r:10px;
  --r-lg:14px;

  /* efeitos */
  --sh-sm:0 1px 2px rgba(12,12,12,.05),0 2px 8px rgba(12,12,12,.045);
  --sh-md:0 2px 4px rgba(12,12,12,.05),0 12px 28px rgba(12,12,12,.09);
  --ease:cubic-bezier(.22,.61,.36,1);
  --hdr-h:76px;

  /* impede o escurecimento automático de alguns navegadores */
  color-scheme:light;
}

/* ---------- 3. RESET ----------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{font-size:106.25%;-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr-h) + 12px)}
body{margin:0;background:var(--white);color:var(--char);
  font-family:var(--f-body);font-size:var(--t-body);line-height:1.65;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--f-head);color:var(--ink);font-weight:700;
  line-height:1.2;letter-spacing:-.008em;margin:0 0 .5em;text-wrap:balance}
h1{font-size:var(--t-h1);line-height:1.1}
h2{font-size:var(--t-h2)}
h3{font-size:var(--t-h3);line-height:1.3}
p{margin:0 0 1.05em}
p:last-child{margin-bottom:0}
a{color:var(--gold-dp);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--ink)}
img,picture,svg{max-width:100%;display:block}
img{height:auto}
ul,ol{margin:0;padding:0;list-style:none}
strong{color:var(--ink);font-weight:700}
em{font-style:italic}
h1 em,h2 em,h3 em{margin-right:.1em}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--gold-dp);outline-offset:3px;border-radius:3px}
.hero :focus-visible,.cta :focus-visible,.ft :focus-visible,.fab:focus-visible{outline-color:var(--gold-lt)}
::selection{background:var(--gold-lt);color:var(--black)}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--black);
  color:var(--gold-lt);padding:.8rem 1.2rem;border-radius:0 0 var(--r) 0}
.skip:focus{left:0}

/* ---------- 4. LAYOUT ---------------------------------------------------- */
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.wrap--slim{max-width:840px}
.sec{padding-block:var(--sec-y)}
.sec--alt{background:var(--gray2);border-block:1px solid var(--line)}
.sec--tight{padding-block:clamp(2.6rem,5vw,4rem)}
.sec__head{max-width:64ch;margin-bottom:clamp(2rem,4vw,3rem)}
.sec__head--center{margin-inline:auto;text-align:center}
.sec__head .lead{font-size:var(--t-lead);color:var(--char)}
.sub{font-size:1.02rem;letter-spacing:.01em;margin-bottom:1.1rem;
  padding-bottom:.55rem;border-bottom:1px solid var(--line)}

.kicker{font-family:var(--f-body);font-size:.775rem;font-weight:700;
  letter-spacing:.155em;text-transform:uppercase;color:var(--gold-dp);
  margin:0 0 .75rem}
.kicker--dark{color:var(--gold)}

/* numeral em círculo — motivo visual da marca */
.num{display:grid;place-items:center;width:2.28rem;height:2.28rem;flex:0 0 auto;
  border-radius:50%;background:var(--gold);color:var(--black);
  font-weight:700;font-size:1.02rem;line-height:1;font-variant-numeric:lining-nums}

/* ---------- 5. BOTÕES ---------------------------------------------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  padding:.78rem 1.55rem;border:1.5px solid transparent;border-radius:999px;
  font-weight:700;font-size:.95rem;line-height:1.25;text-decoration:none;
  cursor:pointer;transition:background .18s var(--ease),color .18s var(--ease),
    border-color .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease)}
.btn:active{transform:translateY(1px)}
.btn .i{width:1.2em;height:1.2em;fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.btn .i--wa{fill:currentColor;stroke:none}

.btn--gold{background:var(--gold);color:var(--black);border-color:var(--gold)}
.btn--gold:hover{background:var(--gold-lt);border-color:var(--gold-lt);
  color:var(--black);box-shadow:0 6px 20px rgba(201,164,76,.32)}

.btn--ghost{background:transparent;color:var(--gold-lt);border-color:rgba(232,206,150,.45)}
.btn--ghost:hover{background:rgba(232,206,150,.1);border-color:var(--gold-lt);color:var(--gold-lt)}
.btn--ghost.btn--dark{color:var(--ink);border-color:var(--line);background:var(--white)}
.btn--ghost.btn--dark:hover{border-color:var(--gold);color:var(--ink);
  background:var(--white);box-shadow:var(--sh-sm)}

.btn--lg{padding:.95rem 1.9rem;font-size:1.02rem}
.btn--block{width:100%}

/* ---------- 6. HEADER ---------------------------------------------------- */
.hdr{position:fixed;inset:0 0 auto;z-index:100;height:var(--hdr-h);
  transition:background .28s var(--ease),box-shadow .28s var(--ease),
    border-color .28s var(--ease);
  border-bottom:1px solid transparent}
.hdr__in{display:flex;align-items:center;gap:clamp(.75rem,2vw,2rem);height:100%}
.hdr__logo{flex:0 0 auto;margin-right:auto;display:block;border-radius:4px}
.hdr__logo img{height:30px;width:auto;transition:height .28s var(--ease)}

.hdr__nav ul{display:flex;align-items:center;gap:clamp(.9rem,1.8vw,1.75rem)}
.hdr__nav a{color:var(--white);text-decoration:none;font-size:.925rem;font-weight:400;
  padding:.35rem 0;position:relative;white-space:nowrap;opacity:.88;transition:opacity .18s}
.hdr__nav a::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1.5px;
  background:var(--gold);transform:scaleX(0);transform-origin:left;
  transition:transform .22s var(--ease)}
.hdr__nav a:hover,.hdr__nav a[aria-current]{opacity:1}
.hdr__nav a:hover::after,.hdr__nav a[aria-current]::after{transform:scaleX(1)}
.hdr__cta{padding:.58rem 1.25rem;font-size:.9rem}
.hdr__burger{display:none}

/* estado: rolou para fora do hero */
.hdr[data-over-hero="false"]{background:rgba(255,255,255,.94);
  -webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);
  border-bottom-color:var(--line);box-shadow:0 1px 14px rgba(12,12,12,.06)}
.hdr[data-over-hero="false"] .hdr__nav a{color:var(--char);opacity:1}
.hdr[data-over-hero="false"] .hdr__nav a:hover{color:var(--ink)}
.hdr[data-over-hero="false"] .hdr__logo img{height:27px}

/* ---------- 7. HERO ------------------------------------------------------ */
.hero{position:relative;background:var(--black);color:#E6E6E6;overflow:hidden;
  padding-block:calc(var(--hdr-h) + clamp(2.75rem,6vw,4.5rem)) clamp(3rem,6vw,5rem);
  isolation:isolate}
.hero__glow{position:absolute;border-radius:50%;pointer-events:none;z-index:-1;filter:blur(2px)}
.hero__glow--a{width:min(46rem,88vw);aspect-ratio:1;right:-14rem;top:-18rem;
  background:radial-gradient(circle at 50% 50%,rgba(201,164,76,.22),rgba(201,164,76,0) 68%)}
.hero__glow--b{width:min(30rem,72vw);aspect-ratio:1;right:-6rem;bottom:-13rem;
  background:radial-gradient(circle at 50% 50%,rgba(232,206,150,.15),rgba(232,206,150,0) 66%)}

.hero__in{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.82fr);
  gap:clamp(2rem,5vw,4.25rem);align-items:center}
.hero h1{color:var(--white);margin-bottom:1.15rem;max-width:16ch}
.hero__sub{font-size:var(--t-lead);color:#CFCFCF;max-width:52ch;margin-bottom:1.6rem}
.hero__sig{font-size:var(--t-sm);line-height:1.55;color:#A8A8A8;margin-bottom:1.9rem;
  padding-left:1rem;border-left:2px solid var(--gold)}
.hero__sig strong{color:var(--gold-lt);font-weight:700;display:inline-block;margin-bottom:.1rem}
.hero__cta{display:flex;flex-wrap:wrap;gap:.85rem}

.hero__fig{position:relative}
.hero__fig img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 34%;
  border-radius:var(--r-lg)}
.hero__fig::after{content:"";position:absolute;inset:auto -.9rem -.9rem auto;
  width:42%;aspect-ratio:1;border:1.5px solid rgba(201,164,76,.35);
  border-radius:var(--r-lg);z-index:-1}
/* enquanto for placeholder, a moldura decorativa só polui */
.hero__fig:has(.ph)::after{display:none}

/* placeholder de imagem (remover ao inserir as fotos reais) */
.ph{display:grid;place-content:center;justify-items:center;gap:.85rem;text-align:center;
  border:1.5px dashed rgba(201,164,76,.45);border-radius:var(--r-lg);
  background:repeating-linear-gradient(135deg,rgba(201,164,76,.05) 0 14px,transparent 14px 28px);
  color:var(--gold);font-size:var(--t-xs);letter-spacing:.05em;padding:1.5rem}
.ph svg{width:3.4rem;height:3.4rem;fill:none;stroke:currentColor;stroke-width:1.1;
  stroke-linecap:round;opacity:.8}
.ph--retrato{aspect-ratio:4/5}
.ph--quadrado{aspect-ratio:4/5;border-color:rgba(138,101,41,.4);color:var(--gold-dp);
  background:repeating-linear-gradient(135deg,rgba(138,101,41,.05) 0 14px,transparent 14px 28px)}

/* ---------- 8. TRÊS PORTAS ---------------------------------------------- */
.portas{background:var(--white);padding-block:clamp(2.5rem,5vw,3.75rem) 0}
.portas__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.5rem);
  margin-top:calc(clamp(2.5rem,5vw,3.75rem) * -1 - clamp(1.75rem,4vw,3rem));
  position:relative;z-index:2}
.porta{display:flex;flex-direction:column;gap:.7rem;padding:1.75rem 1.6rem 1.5rem;
  background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--sh-md);text-decoration:none;color:var(--char);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease)}
.porta:hover{transform:translateY(-4px);border-color:var(--gold);
  box-shadow:0 4px 8px rgba(12,12,12,.05),0 18px 42px rgba(12,12,12,.13);color:var(--char)}
.porta h3{margin:0}
.porta p{font-size:var(--t-sm);margin:0;flex:1}
.porta__go{display:inline-flex;align-items:center;gap:.4rem;font-size:var(--t-sm);
  font-weight:700;color:var(--gold-dp);margin-top:.25rem}
.porta__go i{transition:transform .22s var(--ease);font-style:normal}
.porta:hover .porta__go i{transform:translateX(4px)}

/* ---------- 9. SOBRE ----------------------------------------------------- */
.sobre{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:clamp(1.75rem,4.5vw,3.75rem);align-items:start}
.sobre__fig{position:relative;top:.4rem}
.sobre__fig img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-lg)}
.sobre__txt p{max-width:64ch}

.cred{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);
  gap:1rem clamp(1rem,3vw,2.5rem);margin-top:clamp(1.75rem,3vw,2.6rem);
  padding-top:1.6rem;border-top:1px solid var(--line)}
.cred li{display:flex;flex-direction:column;gap:.15rem}
.cred__n{font-family:var(--f-head);font-size:clamp(1.2rem,1.8vw,1.55rem);font-weight:700;
  color:var(--gold-dp);line-height:1.15;overflow-wrap:anywhere}
.cred__l{font-size:var(--t-xs);color:var(--muted);line-height:1.35}

/* ficha técnica (coluna esquerda da seção Sobre) */
.ficha{margin:0;background:var(--gray2);border:1px solid var(--line);
  border-top:3px solid var(--gold);border-radius:var(--r-lg);
  padding:clamp(1.25rem,2.5vw,1.75rem);display:grid;gap:1.15rem}
.ficha > div{display:grid;gap:.2rem}
.ficha dt{font-size:.735rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold-dp)}
.ficha dd{margin:0;font-size:var(--t-sm);color:var(--char);line-height:1.5}

/* ---------- 10. DOMÍNIOS ------------------------------------------------- */
.dom{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem;margin-bottom:clamp(2.5rem,5vw,3.75rem)}
.dom li{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;
  column-gap:.85rem;row-gap:.28rem;align-items:start;
  padding:1.15rem 1.15rem 1.25rem;background:var(--white);
  border:1px solid var(--line);border-radius:var(--r)}
.dom li:nth-child(even){background:var(--gray)}
.dom strong{font-size:.98rem;align-self:center}
.dom span{grid-column:2;font-size:var(--t-sm);color:var(--muted);line-height:1.45}
.ic{grid-row:1;display:grid;place-items:center;width:2.15rem;height:2.15rem;
  border-radius:50%;background:rgba(201,164,76,.14)}
.ic svg{width:1.15rem;height:1.15rem;fill:none;stroke:var(--gold-dp);stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round}

/* ---------- 11. DUO / BLOCO PRETO --------------------------------------- */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,3.5vw,2.75rem);align-items:start}
.check li{position:relative;padding:.52rem 0 .52rem 1.85rem;font-size:var(--t-sm);
  border-bottom:1px solid var(--line)}
.check li:last-child{border-bottom:0}
.check li::before{content:"";position:absolute;left:.15rem;top:1.4em;width:.5rem;height:.5rem;
  border-radius:50%;background:var(--gold);transform:translateY(-50%)}

.dark-box{background:var(--black);color:#DCDCDC;border-radius:var(--r-lg);
  padding:clamp(1.6rem,3vw,2.15rem);position:relative;overflow:hidden}
.dark-box::before{content:"";position:absolute;right:-4.5rem;top:-4.5rem;width:12rem;height:12rem;
  border-radius:50%;background:radial-gradient(circle,rgba(201,164,76,.18),transparent 68%)}
.dark-box h3{color:var(--gold-lt);margin-bottom:1rem;position:relative}
.dark-box--wide{margin-bottom:clamp(1.75rem,3.5vw,2.5rem)}
.big-quote{font-family:var(--f-head);font-size:clamp(1.08rem,.9rem + .75vw,1.42rem);
  line-height:1.5;color:var(--white);margin:0;position:relative;max-width:60ch}
.nolist li{position:relative;padding:.55rem 0 .55rem 1.6rem;font-size:var(--t-sm);
  border-bottom:1px solid rgba(255,255,255,.1)}
.nolist li:last-child{border-bottom:0}
.nolist li::before{content:"—";position:absolute;left:0;color:var(--gold);font-weight:700}

/* ---------- 12. TIMELINE ------------------------------------------------- */
.tl-wrap{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,.75fr);
  gap:clamp(1.75rem,4vw,3.25rem);align-items:start}
.tl{position:relative;padding-left:3.4rem}
.tl::before{content:"";position:absolute;left:1.14rem;top:.9rem;bottom:2.2rem;width:1.5px;
  background:linear-gradient(var(--gold) 0%,var(--line) 22%,var(--line) 100%)}
.tl li{position:relative;padding-bottom:1.85rem}
.tl li:last-child{padding-bottom:0}
.tl .num{position:absolute;left:-3.4rem;top:-.12rem;box-shadow:0 0 0 5px var(--white)}
.tl h3{margin-bottom:.3rem}
.tl p{font-size:var(--t-sm);color:var(--muted);margin:0;max-width:58ch}

.tl__aside{position:sticky;top:calc(var(--hdr-h) + 1.5rem);display:grid;gap:1rem}
.fact{background:var(--gray);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:1.5rem 1.4rem}
.fact__n{font-family:var(--f-head);font-size:2.5rem;font-weight:700;color:var(--gold-dp);
  line-height:1;margin:0 0 .4rem}
.fact__l{font-size:var(--t-sm);color:var(--muted);margin:0;line-height:1.45}
.fact--sm{background:var(--gray2)}
.fact--sm h3{margin-bottom:.75rem}
.fact--sm ul li{position:relative;padding:.42rem 0 .42rem 1.05rem;font-size:var(--t-xs);
  color:var(--muted);line-height:1.5}
.fact--sm ul li::before{content:"";position:absolute;left:0;top:1.23em;width:.32rem;height:.32rem;
  border-radius:50%;background:var(--gold);transform:translateY(-50%)}

/* ---------- 13. FAQ ------------------------------------------------------ */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);background:transparent}
.faq summary{display:flex;align-items:flex-start;gap:1rem;padding:1.15rem .25rem;
  cursor:pointer;list-style:none;font-family:var(--f-head);font-weight:700;
  font-size:1.045rem;color:var(--ink);line-height:1.35;transition:color .18s}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:0 0 auto;width:1.05rem;height:1.05rem;margin-left:auto;
  margin-top:.22rem;
  background-image:
    linear-gradient(var(--gold-dp),var(--gold-dp)),
    linear-gradient(var(--gold-dp),var(--gold-dp));
  background-position:center,center;background-repeat:no-repeat,no-repeat;
  background-size:100% 1.5px,1.5px 100%;
  transition:background-size .24s var(--ease)}
.faq details[open] summary::after{background-size:100% 1.5px,1.5px 0}
.faq summary:hover{color:var(--gold-dp)}
.faq details > div{padding:0 2.5rem 1.4rem .25rem;font-size:var(--t-sm);color:var(--char);
  max-width:72ch}
.faq details[open] > div{animation:fade .28s var(--ease)}
.faq__after{margin-top:1.75rem;font-size:var(--t-sm);color:var(--muted)}
@keyframes fade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* ---------- 14. EMPRESAS ------------------------------------------------- */
.tri{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.5rem);
  margin-bottom:clamp(2.25rem,4.5vw,3.25rem)}
.card{display:flex;flex-direction:column;gap:.85rem;padding:1.65rem 1.5rem;
  background:var(--gray2);border:1px solid var(--line);border-radius:var(--r-lg)}
.card:nth-child(even){background:var(--gray)}
.card h3{margin:0}
.card p{font-size:var(--t-sm);color:var(--muted);margin:0}

.serv{display:grid;grid-template-columns:1fr;gap:1.6rem;justify-items:start}
.serv > .sub{width:100%}
.serv__list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(1.5rem,3vw,2.5rem);width:100%}
.serv__list li{display:flex;flex-direction:column;gap:.15rem;padding:.95rem 0;
  border-bottom:1px solid var(--line)}
.serv__list strong{font-size:.98rem}
.serv__list span{font-size:var(--t-sm);color:var(--muted);line-height:1.5}

/* ---------- 15. ENSINO --------------------------------------------------- */
.temas{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:clamp(1.75rem,4vw,3.25rem);align-items:start}
.tags{display:flex;flex-wrap:wrap;gap:.55rem}
.tags li{padding:.5rem 1rem;background:var(--white);border:1px solid var(--line);
  border-radius:999px;font-size:var(--t-sm);color:var(--char)}
.fmt{margin-bottom:1.75rem}
.fmt li{display:flex;flex-direction:column;gap:.1rem;padding:.85rem 0;
  border-bottom:1px solid var(--line)}
.fmt strong{font-size:.98rem}
.fmt span{font-size:var(--t-sm);color:var(--muted)}

/* ---------- 16. PUBLICAÇÕES --------------------------------------------- */
.pubs{counter-reset:p}
.pubs li{counter-increment:p;position:relative;padding:1.35rem 0 1.35rem 3rem;
  border-bottom:1px solid var(--line)}
.pubs li::before{content:counter(p,decimal-leading-zero);position:absolute;left:0;top:1.5rem;
  font-family:var(--f-head);font-size:1.05rem;font-weight:700;color:var(--gold-dp)}
.pubs__ref{font-size:var(--t-sm);color:var(--char);margin:0 0 .4rem;max-width:70ch}
.pubs__link{margin:0;font-size:var(--t-xs)}
.pubs__all{margin-top:2rem}

/* ---------- 17. CONTEÚDO / REDES ---------------------------------------- */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.5rem);
  margin-bottom:2.25rem}
.posts a{display:block;text-decoration:none;color:var(--ink);border-radius:var(--r-lg);
  overflow:hidden;border:1px solid var(--line);background:var(--white);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease)}
.posts a:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:var(--sh-md)}
.posts img{width:100%;aspect-ratio:1;object-fit:cover;background:var(--gray)}
.posts span{display:block;padding:.95rem 1.1rem 1.15rem;font-size:var(--t-sm);
  font-weight:700;line-height:1.4}
.social{display:flex;flex-wrap:wrap;gap:.85rem;justify-content:center}

/* ---------- 18. ÉTICA ---------------------------------------------------- */
.etica{display:grid;grid-template-columns:auto 1fr;gap:clamp(1.1rem,3vw,2rem);
  align-items:start;padding:clamp(1.6rem,3.5vw,2.4rem);background:var(--gray2);
  border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:var(--r-lg)}
.etica__ic svg{width:2.6rem;height:2.6rem;fill:none;stroke:var(--gold-dp);stroke-width:1.4;
  stroke-linecap:round;stroke-linejoin:round}
.etica h2{font-size:clamp(1.3rem,1.1rem + .8vw,1.65rem)}
.etica p{font-size:var(--t-sm);max-width:72ch}

/* ---------- 19. CTA FINAL ------------------------------------------------ */
.cta{position:relative;background:var(--black);color:#D8D8D8;overflow:hidden;
  padding-block:clamp(3.25rem,6.5vw,5.5rem);isolation:isolate}
.cta__glow{position:absolute;z-index:-1;width:min(40rem,90vw);aspect-ratio:1;
  left:-12rem;bottom:-18rem;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(201,164,76,.18),transparent 68%)}
.cta__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);
  gap:clamp(2rem,5vw,4rem);align-items:center}
.cta h2{color:var(--white);max-width:14ch}
.cta__txt > p{max-width:48ch;margin-bottom:1.85rem;color:#BDBDBD}
.cta__info{margin-top:2.1rem;padding-top:1.6rem;border-top:1px solid rgba(255,255,255,.14);
  display:grid;gap:.9rem}
.cta__info li{display:grid;grid-template-columns:7.2rem 1fr;gap:.75rem;font-size:var(--t-sm)}
.cta__info strong{color:var(--gold-lt);font-weight:700}
.cta__info span{color:#BDBDBD}
.cta__info a{color:#BDBDBD}
.cta__info a:hover{color:var(--gold-lt)}

/* formulário */
.cta__form{color-scheme:dark;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.13);
  border-radius:var(--r-lg);padding:clamp(1.5rem,3vw,2.1rem)}
.cta__form h3{color:var(--white);margin-bottom:.2rem}
.cta__form-sub{font-size:var(--t-xs);color:#9A9A9A;margin-bottom:1.5rem}
.f{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.05rem}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.f label{font-size:var(--t-xs);font-weight:700;color:#CFCFCF;letter-spacing:.02em}
.f label span{color:var(--gold);margin-left:.15rem}
.f input,.f select,.f textarea{width:100%;padding:.7rem .85rem;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.18);border-radius:var(--r);color:var(--white);
  font-size:.95rem;transition:border-color .18s,background .18s}
.f textarea{resize:vertical;min-height:5.5rem}
.f select{appearance:none;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),
    linear-gradient(135deg,var(--gold) 50%,transparent 50%);
  background-position:calc(100% - 18px) 55%,calc(100% - 12px) 55%;
  background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.f select option{background:var(--black);color:var(--white)}
.f select:invalid{color:#7A7A7A}
.f input::placeholder,.f textarea::placeholder{color:#7A7A7A}
.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--gold);
  background:rgba(255,255,255,.09);outline:none}
.f input:focus-visible,.f select:focus-visible,.f textarea:focus-visible{outline:2px solid var(--gold-lt);outline-offset:2px}
.f--check{flex-direction:row;align-items:flex-start;gap:.65rem;margin-bottom:1.35rem}
.f--check input{width:1.05rem;height:1.05rem;flex:0 0 auto;margin-top:.2rem;accent-color:var(--gold)}
.f--check label{font-size:var(--t-xs);font-weight:400;color:#9A9A9A;line-height:1.5}
.f--check label a{color:var(--gold-lt)}
.f.is-erro input,.f.is-erro select,.f.is-erro textarea{border-color:#E8846B}
.f-erro{font-size:var(--t-xs);color:#E8846B;margin:0}
.hp{position:absolute!important;left:-9999px;top:-9999px;width:1px;height:1px;
  opacity:0;pointer-events:none;overflow:hidden}
.f-status{margin:1rem 0 0;font-size:var(--t-sm);min-height:1.4em}
.f-status.ok{color:var(--gold-lt)}
.f-status.erro{color:#E8846B}
#f-submit[aria-busy="true"]{opacity:.65;pointer-events:none}

/* ---------- 20. RODAPÉ --------------------------------------------------- */
.ft{background:var(--black);color:#9A9A9A;padding-top:clamp(2.75rem,5vw,4rem);
  font-size:var(--t-sm)}
.ft__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.55fr);
  gap:clamp(2rem,4vw,3.5rem);padding-bottom:clamp(2rem,4vw,3rem)}
.ft__brand img{width:210px;height:auto;margin-bottom:1.1rem}
.ft__brand p{line-height:1.6;color:#8A8A8A;font-size:var(--t-xs)}
.ft__nav{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem}
.ft__nav h3{font-family:var(--f-body);font-size:var(--t-xs);font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:.85rem}
.ft__nav li{margin-bottom:.5rem;line-height:1.45}
.ft__nav a{color:#B0B0B0;text-decoration:none}
.ft__nav a:hover{color:var(--gold-lt);text-decoration:underline;text-underline-offset:3px}
.ft__bar{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;justify-content:space-between;
  align-items:center;padding-block:1.35rem;border-top:1px solid rgba(255,255,255,.1);
  font-size:var(--t-xs);color:#8A8A8A}
.ft__bar p{margin:0}
.ft__bar a{color:#909090;text-decoration:none}
.ft__bar a:hover{color:var(--gold-lt)}

/* ---------- 21. FAB ------------------------------------------------------ */
.fab{position:fixed;right:clamp(1rem,3vw,1.75rem);bottom:clamp(1rem,3vw,1.75rem);z-index:90;
  display:grid;place-items:center;width:3.4rem;height:3.4rem;border-radius:50%;
  background:var(--wa);color:#fff;box-shadow:0 6px 20px rgba(12,12,12,.28);
  opacity:0;visibility:hidden;transform:translateY(12px) scale(.9);
  transition:opacity .28s var(--ease),transform .28s var(--ease),visibility .28s}
.fab.on{opacity:1;visibility:visible;transform:none}
.fab:hover{transform:scale(1.06);box-shadow:0 8px 26px rgba(37,211,102,.42)}
.fab svg{width:1.65rem;height:1.65rem;fill:currentColor;stroke:none}

/* ---------- 22. REVEAL --------------------------------------------------- */
.rv{opacity:0;transform:translateY(14px);
  transition:opacity .6s var(--ease),transform .6s var(--ease)}
.rv.in{opacity:1;transform:none}

/* ---------- 23. RESPONSIVO ---------------------------------------------- */
@media (max-width:1080px){
  .dom{grid-template-columns:repeat(2,1fr)}
  .cred{grid-template-columns:repeat(3,1fr);gap:1.25rem}
  .ft__in{grid-template-columns:1fr}
}

@media (max-width:920px){
  :root{--hdr-h:66px}
  .hdr__nav{position:fixed;inset:var(--hdr-h) 0 auto;background:var(--white);
    border-bottom:1px solid var(--line);box-shadow:var(--sh-md);
    display:grid;overflow:hidden;max-height:0;transition:max-height .32s var(--ease)}
  .hdr__nav.open{max-height:26rem}
  .hdr__nav ul{flex-direction:column;align-items:stretch;gap:0;padding:.5rem var(--gut) 1.1rem}
  .hdr__nav a{color:var(--char);opacity:1;padding:.85rem 0;border-bottom:1px solid var(--line);
    font-size:1rem}
  .hdr__nav a::after{display:none}
  .hdr__nav li:last-child a{border-bottom:0}
  .hdr__cta{display:none}
  .hdr__burger{display:grid;gap:5px;width:2.6rem;height:2.6rem;place-content:center;
    background:none;border:0;cursor:pointer;padding:0;margin-left:auto}
  .hdr__burger span{display:block;width:1.35rem;height:1.5px;background:var(--white);
    transition:transform .26s var(--ease),opacity .18s var(--ease),background .28s var(--ease)}
  .hdr[data-over-hero="false"] .hdr__burger span{background:var(--ink)}
  .hdr__burger[aria-expanded="true"] span{background:var(--ink)}
  .hdr__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .hdr__burger[aria-expanded="true"] span:nth-child(2){opacity:0}
  .hdr__burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

  .hero__in{grid-template-columns:1fr;gap:2.25rem}
  .hero__fig{max-width:24rem;margin-inline:auto;width:100%}
  .hero__fig::after{display:none}
  .hero h1{max-width:20ch}
  .portas__grid{grid-template-columns:1fr;margin-top:calc(clamp(2.5rem,5vw,3.75rem) * -1 - 1.75rem)}
  .cta__in{align-items:start}
  .sobre{grid-template-columns:1fr}
  .sobre__fig{max-width:20rem}
  .duo{grid-template-columns:1fr}
  .tl-wrap{grid-template-columns:1fr}
  .tl__aside{position:static;grid-template-columns:1fr 1fr}
  .tri{grid-template-columns:1fr}
  .temas{grid-template-columns:1fr}
  .cta__in{grid-template-columns:1fr}
  .cta h2{max-width:100%}
  .ft__nav{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:640px){
  :root{--t-body:1.02rem}
  html{font-size:100%}
  .hdr__logo img{height:26px}
  .hdr[data-over-hero="false"] .hdr__logo img{height:24px}
  .dom{grid-template-columns:1fr}
  .dom span{grid-column:1/-1}
  .cred{grid-template-columns:1fr;gap:1.1rem}
  .serv__list{grid-template-columns:1fr}
  .posts{grid-template-columns:1fr;max-width:22rem;margin-inline:auto}
  .f-row{grid-template-columns:1fr}
  .tl__aside{grid-template-columns:1fr}
  .tl{padding-left:2.9rem}
  .tl .num{left:-2.9rem;width:2rem;height:2rem;font-size:.94rem}
  .tl::before{left:.98rem}
  .etica{grid-template-columns:1fr}
  .hero__cta .btn{flex:1 1 100%}
  .ft__nav{grid-template-columns:1fr}
  .ft__bar{flex-direction:column;align-items:flex-start}
}

/* ---------- 24. PREFERÊNCIAS DO USUÁRIO --------------------------------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none}
}
@media (prefers-contrast:more){
  :root{--muted:#4A4A4A;--line:#9A9A9A}
  .btn{border-width:2px}
}

/* ---------- 25. IMPRESSÃO ----------------------------------------------- */
@media print{
  .hdr,.fab,.cta__form,.skip,.porta__go,.ph{display:none!important}
  .hero,.cta,.ft,.dark-box{background:#fff!important;color:#000!important}
  .hero h1,.cta h2,.big-quote{color:#000!important}
  .dark-box{border:1px solid #000}
  body{font-size:11pt}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;color:#555}
  .sec{padding-block:1.2rem;break-inside:avoid}
}
