
:root{
  --bg:#F4F4F2; --surface:#FFFFFF; --surface-2:#EFEFEC;
  --text:#16181A; --text-2:#43474A; --text-3:#73787B;
  --hair:#DEDFDB; --hair-soft:#E9E9E5;
  --accent:#436260; --accent-soft:#E4EAE8;
  --band:#121314; --band-2:#121314; --band-text:#F2F2F0; --band-text-2:#A9ADAC; --band-hair:rgba(255,255,255,.20);
  --logo:url("img/monograma.png"); --mk-filter:brightness(0);
  --max:1140px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#101112; --surface:#17191A; --surface-2:#1D2021;
    --text:#E9E9E5; --text-2:#B4B8B7; --text-3:#868A8B;
    --hair:#282C2D; --hair-soft:#212425;
    --accent:#8CB0AD; --accent-soft:#1C2626;
    --band:#0A0B0B; --band-2:#1B1E1F; --band-text:#EDEDEA; --band-text-2:#9DA1A0; --band-hair:rgba(255,255,255,.16);
    --mk-filter:none;
  }
}
:root[data-theme="dark"]{
  --bg:#101112; --surface:#17191A; --surface-2:#1D2021;
  --text:#E9E9E5; --text-2:#B4B8B7; --text-3:#868A8B;
  --hair:#282C2D; --hair-soft:#212425;
  --accent:#8CB0AD; --accent-soft:#1C2626;
  --band:#0A0B0B; --band-2:#1B1E1F; --band-text:#EDEDEA; --band-text-2:#9DA1A0; --band-hair:rgba(255,255,255,.16); --mk-filter:none;
}

*{box-sizing:border-box}
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:"Source Serif 4",Georgia,"Times New Roman",serif;
  font-size:17px; line-height:1.72; -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent); outline-offset:3px}
.wrap{max-width:var(--max); margin:0 auto; padding:0 28px}
.hair{height:1px; background:var(--hair); border:0; margin:0}

/* ---------- tipografia ---------- */
h1,h2,h3,h4,.disp{font-family:Jost,"Helvetica Neue",Arial,sans-serif; text-wrap:balance; margin:0}
h1{font-weight:300; font-size:clamp(2rem,4.4vw,3.15rem); line-height:1.1; letter-spacing:-.012em}
h2{font-weight:400; font-size:clamp(1.35rem,2.3vw,1.65rem); line-height:1.22; letter-spacing:.002em}
h3{font-weight:500; font-size:1.09rem; line-height:1.35}
.eyebrow{
  font-family:Jost,sans-serif; font-weight:400; font-size:.685rem;
  letter-spacing:.22em; text-transform:uppercase; color:var(--text-3);
}
.meta{font-family:Jost,sans-serif; font-size:.8rem; letter-spacing:.06em; color:var(--text-3)}
p{margin:0 0 1.15em}

/* ---------- faixa superior ---------- */
.topbar{position:sticky; top:0; z-index:40; background:var(--band); color:var(--band-text);
  border-bottom:1px solid var(--band-hair)}
.topbar .wrap{display:flex; align-items:center; gap:26px; min-height:66px}
.brand{display:flex; align-items:center; gap:14px; text-decoration:none; color:inherit; margin-right:auto}
.brand .mark{width:34px; height:34px; background:var(--logo) center/contain no-repeat; flex:0 0 auto}
.brand .name{display:block; font-family:Jost,sans-serif; font-weight:300; font-size:.94rem;
  letter-spacing:.2em; text-transform:uppercase; line-height:1.1}
.brand .role{display:block; font-family:Jost,sans-serif; font-weight:300; font-size:.6rem;
  letter-spacing:.3em; text-transform:uppercase; color:var(--band-text-2); margin-top:4px}
nav.main{display:flex; gap:24px; align-items:center}
nav.main a{font-family:Jost,sans-serif; font-size:.79rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--band-text-2); text-decoration:none; padding:6px 0; border-bottom:1px solid transparent; transition:color .18s,border-color .18s}
nav.main a:hover,nav.main a[aria-current="page"]{color:var(--band-text); border-color:var(--band-text)}
@media(max-width:640px){
  .topbar .wrap{flex-wrap:wrap; padding-top:12px; padding-bottom:10px; gap:12px 20px}
  nav.main{width:100%; gap:18px; flex-wrap:wrap}
  .brand .name{font-size:.84rem}
}

/* ---------- moldura (device da identidade) ---------- */
.frame{position:relative; background:var(--surface); border:1px solid var(--hair); padding:26px 28px}
.frame::before{content:""; position:absolute; inset:5px; border:1px solid var(--hair-soft); pointer-events:none}
.frame > *:last-child{margin-bottom:0}

/* ---------- hero ---------- */
.hero{padding:74px 0 56px}
.hero .eyebrow{margin-bottom:20px}
.hero h1{max-width:19ch}
.hero .lead{font-size:1.2rem; line-height:1.62; color:var(--text-2); max-width:46ch; margin:26px 0 0}
.hero .ident{display:flex; flex-wrap:wrap; gap:8px 26px; margin-top:34px; padding-top:18px; border-top:1px solid var(--hair)}
.hero .ident span{font-family:Jost,sans-serif; font-size:.78rem; letter-spacing:.1em; color:var(--text-3)}
.hero-grid{display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:54px; align-items:end}
@media(max-width:860px){.hero-grid{grid-template-columns:1fr; gap:34px} .hero{padding:52px 0 40px}}
.hero-card .eyebrow{margin-bottom:14px}
.hero-card ul{list-style:none; margin:0; padding:0}
.hero-card li{font-family:Jost,sans-serif; font-size:.9rem; letter-spacing:.02em; color:var(--text-2);
  padding:9px 0; border-bottom:1px solid var(--hair-soft)}
.hero-card li:last-child{border-bottom:0; padding-bottom:0}

/* ---------- índice de artigos ---------- */
.section{padding:58px 0}
.section-head{display:flex; align-items:baseline; justify-content:space-between; gap:20px;
  padding-bottom:16px; border-bottom:1px solid var(--text); margin-bottom:0}
.posts{list-style:none; margin:0; padding:0}
.posts li{border-bottom:1px solid var(--hair)}
.post{display:grid; grid-template-columns:170px minmax(0,1fr); gap:30px; padding:30px 4px;
  text-decoration:none; color:inherit; transition:background .18s}
.post:hover{background:var(--surface)}
.post .side{display:flex; flex-direction:column; gap:7px; padding-top:5px}
.post .cat{font-family:Jost,sans-serif; font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; color:var(--accent)}
.post h3{font-family:Jost,sans-serif; font-weight:300; font-size:clamp(1.22rem,2.1vw,1.5rem); line-height:1.24; letter-spacing:-.005em}
.post:hover h3{color:var(--accent)}
.post p{color:var(--text-2); margin:12px 0 0; font-size:1rem}
.post .more{font-family:Jost,sans-serif; font-size:.76rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--text-3); margin-top:16px; display:inline-block}
@media(max-width:700px){.post{grid-template-columns:1fr; gap:12px; padding:24px 2px}
  .post .side{flex-direction:row; gap:16px; align-items:center; padding-top:0}}

/* ---------- áreas (faixa escura) ---------- */
.band{background:var(--band-2); color:var(--band-text); padding:66px 0}
.band .eyebrow{color:var(--band-text-2)}
.band h2{color:var(--band-text)}
.band .section-head{border-bottom-color:var(--band-hair)}
.areas{display:grid; grid-template-columns:repeat(auto-fit,minmax(258px,1fr)); column-gap:34px; margin-top:0}
.area{padding:24px 0 30px; border-top:1px solid var(--band-hair)}
.area h3{font-weight:400; font-size:1.02rem; letter-spacing:.03em; color:var(--band-text); margin-bottom:9px}
.area p{color:var(--band-text-2); font-size:.97rem; margin:0}

/* ---------- sobre / contato ---------- */
.two{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); gap:52px; align-items:start}
@media(max-width:860px){.two{grid-template-columns:1fr; gap:30px}}
.markbox{display:grid; place-items:center; aspect-ratio:1/1; max-width:212px; width:100%;
  border:1px solid var(--hair); position:relative; background:var(--surface)}
.markbox::before{content:""; position:absolute; inset:6px; border:1px solid var(--hair-soft)}
.markbox .mk{width:58%; aspect-ratio:1/1; background:var(--logo) center/contain no-repeat; filter:var(--mk-filter)}
.prose{max-width:64ch}
.prose p{color:var(--text-2)}
.contact-list{list-style:none; margin:22px 0 0; padding:0; display:grid; gap:0}
.contact-list li{display:flex; gap:18px; align-items:baseline; padding:14px 0; border-bottom:1px solid var(--hair-soft)}
.contact-list .k{font-family:Jost,sans-serif; font-size:.7rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--text-3); flex:0 0 120px}
.contact-list a{color:var(--text); text-decoration:none; border-bottom:1px solid var(--accent)}
.contact-list a:hover{color:var(--accent)}

/* ---------- figuras e fotos ---------- */
.fig{margin:2.4em 0; padding:0}
.fig svg{width:100%; height:auto; display:block; color:var(--text)}
.fig figcaption{font-family:Jost,sans-serif; font-size:.86rem; line-height:1.55; color:var(--text-3);
  margin-top:14px; padding-top:12px; border-top:1px solid var(--hair); max-width:60ch}
.foto{margin:0}
.foto img{width:100%; height:auto; display:block; border:1px solid var(--hair)}
.foto figcaption{font-family:Jost,sans-serif; font-size:.78rem; letter-spacing:.08em;
  text-transform:uppercase; color:var(--text-3); margin-top:12px}

/* ---------- artigo ---------- */
.article-head{padding:56px 0 30px; max-width:67ch}
.article-head.wide{max-width:none}
.art-title{max-width:32ch}
.article-meta{display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:24px; padding-top:16px; border-top:1px solid var(--hair)}
.body{max-width:67ch; padding:8px 0 20px; font-size:1.09rem; line-height:1.78}
.body .lead{font-size:1.24rem; line-height:1.62; color:var(--text); margin-bottom:1.5em}
.body h2{margin:2.1em 0 .7em}
.body h3{margin:1.7em 0 .45em; font-weight:600; font-family:"Source Serif 4",serif; font-size:1.11rem}
.body ul,.body ol{margin:0 0 1.3em; padding-left:1.25em}
.body li{margin-bottom:.55em}
.body a{color:var(--text); text-decoration:none; border-bottom:1px solid var(--accent)}
.body a:hover{color:var(--accent)}
.body strong{font-weight:600}
.body .frame{margin:1.7em 0; padding:24px 26px}
.body .frame.legal{background:var(--accent-soft); border-color:var(--hair)}
.body .frame.legal ul{margin:0; padding-left:1.1em}
.body .frame.legal li:last-child{margin-bottom:0}
.body .faq{margin-top:.5em; border-top:1px solid var(--hair)}
.body .faq h3{margin:1.5em 0 .35em; font-family:Jost,sans-serif; font-weight:500; font-size:1.03rem; letter-spacing:.01em}
.body .faq p{color:var(--text-2)}
.aviso{margin:44px 0 0; padding:22px 24px; border-left:2px solid var(--accent); background:var(--surface-2)}
.aviso p{margin:0; font-size:.95rem; color:var(--text-2)}
.autora{display:flex; gap:24px; align-items:flex-start; margin-top:40px; padding-top:30px; border-top:1px solid var(--hair)}
.autora .mk{width:64px; height:64px; flex:0 0 auto; background:var(--logo) center/contain no-repeat;
  border:1px solid var(--hair); filter:var(--mk-filter)}
.autora p{margin:0; font-size:.97rem; color:var(--text-2)}
.autora .nm{font-family:Jost,sans-serif; letter-spacing:.16em; text-transform:uppercase; font-size:.85rem; color:var(--text); margin-bottom:6px}

/* ---------- rodapé ---------- */
footer.site{background:var(--band); color:var(--band-text-2); padding:56px 0 40px; margin-top:0}
footer.site .cols{display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr); gap:40px}
@media(max-width:760px){footer.site .cols{grid-template-columns:1fr; gap:28px}}
footer.site .eyebrow{color:var(--band-text-2); margin-bottom:14px; display:block}
footer.site a{color:var(--band-text); text-decoration:none; border-bottom:1px solid var(--band-hair)}
footer.site a:hover{border-color:var(--band-text)}
footer.site ul{list-style:none; margin:0; padding:0}
footer.site li{padding:5px 0; font-size:.96rem}
footer.site .fbrand{display:flex; align-items:center; gap:14px; margin-bottom:16px}
footer.site .fbrand .mk{width:40px; height:40px; background:var(--logo) center/contain no-repeat}
footer.site .fname{font-family:Jost,sans-serif; font-weight:300; letter-spacing:.2em; text-transform:uppercase;
  color:var(--band-text); font-size:.9rem}
footer.site .legal{margin-top:38px; padding-top:20px; border-top:1px solid var(--band-hair); font-size:.85rem; line-height:1.65}
footer.site .legal p{margin:0 0 .5em; max-width:78ch}

@media print{.topbar,footer.site,nav.main{display:none}}
@media (prefers-reduced-motion:reduce){*{transition:none!important; animation:none!important}}

/* ---------- sócias ---------- */
.socias{display:grid; gap:0}
.socia{display:grid; grid-template-columns:minmax(0,320px) minmax(0,1fr); gap:44px;
  padding:44px 0; border-top:1px solid var(--hair); align-items:start}
.socia:last-child{border-bottom:1px solid var(--hair)}
@media(max-width:820px){.socia{grid-template-columns:1fr; gap:24px; padding:34px 0}}
.socia .retrato img{width:100%; height:auto; display:block; border:1px solid var(--hair)}
.socia h3{font-family:Jost,sans-serif; font-weight:300; font-size:clamp(1.5rem,2.6vw,1.95rem);
  letter-spacing:.01em; line-height:1.15}
.socia .insc{font-family:Jost,sans-serif; font-size:.78rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--accent); margin-top:10px; display:block}
.socia .txt{margin-top:22px; max-width:58ch}
.socia .txt p{color:var(--text-2); margin-bottom:.9em}
.socia .canais{list-style:none; margin:24px 0 0; padding:0; display:grid; gap:0; max-width:46ch}
.socia .canais li{display:flex; gap:16px; align-items:baseline; padding:11px 0;
  border-bottom:1px solid var(--hair-soft)}
.socia .canais .k{font-family:Jost,sans-serif; font-size:.66rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--text-3); flex:0 0 96px}
.socia .canais a{color:var(--text); text-decoration:none; border-bottom:1px solid var(--accent)}
.socia .canais a:hover{color:var(--accent)}

/* ---------- dupla de retratos na home ---------- */
.duo{display:grid; grid-template-columns:1fr 1fr; gap:18px}
.duo figure{margin:0}
.duo img{width:100%; height:auto; display:block; border:1px solid var(--hair)}
.duo figcaption{font-family:Jost,sans-serif; font-size:.7rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--text-3); margin-top:10px}

/* ---------- ficha de contato dupla ---------- */
.fichas{display:grid; grid-template-columns:1fr 1fr; gap:22px}
@media(max-width:820px){.fichas{grid-template-columns:1fr}}
.ficha h3{font-family:Jost,sans-serif; font-weight:400; font-size:1.12rem; letter-spacing:.04em}
.ficha .insc{font-family:Jost,sans-serif; font-size:.72rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--accent); display:block; margin-top:8px}
