/* Dra. Bruna Benassi, v2 (out/2026). Sistema em DESIGN.md.
   Ideia: o rosto em camadas (pele, músculo, gordura e ligamentos, osso) do Protocolo BB. */
@font-face{font-family:"Cormorant Garamond";src:url(/assets/fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(/assets/fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(/assets/fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Montserrat";src:url(/assets/v2/fonts/montserrat-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Montserrat";src:url(/assets/v2/fonts/montserrat-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Montserrat";src:url(/assets/v2/fonts/montserrat-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}

:root{--ivory:#F8F4ED;
  /* cores da marca (briefing): nude, café e dourado */
  --pele:#F8F4ED;        /* fundo: a camada de cima */
  --pele-funda:#EFE6D8;  /* campo: degrau de tom */
  --ligamento:#E8D5AA;   /* dourado claro, camada média */
  --ouro:#C9A96E;        /* acento da marca, só em campo e detalhe */
  --ouro-tinta:#7A5626;  /* dourado escuro para texto e link (contraste 5,9:1 na pele) */
  --osso:#1C1409;        /* tinta e campo escuro: a camada de baixo */
  --osso-suave:#4A3B28;  /* nota secundária */
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Montserrat",system-ui,sans-serif;
  --m:clamp(20px,4vw,56px);
  --sec:clamp(88px,12vw,184px);
  --ease-out:cubic-bezier(.22,1,.36,1);--ease-soft:cubic-bezier(.33,1,.68,1);
  --t-press:140ms;--t-hover:180ms;--t-ui:240ms;--t-reveal:800ms;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;text-size-adjust:100%;scroll-padding-top:90px}
body{margin:0;background:var(--pele);color:var(--osso);font:400 17px/1.6 var(--sans)}
img{max-width:100%;height:auto;display:block}
a{color:var(--ouro-tinta);text-underline-offset:.2em;text-decoration-thickness:1px;transition:color var(--t-hover)}
a:hover{color:var(--osso)}
:focus-visible{outline:2px solid var(--ouro-tinta);outline-offset:3px}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.02;letter-spacing:-.02em;margin:0;text-wrap:balance}
h2{font-size:clamp(40px,5.4vw,76px)}
h3{font-size:clamp(25px,2.2vw,30px);line-height:1.15;letter-spacing:-.01em}
p{text-wrap:pretty}
.wrap{max-width:1320px;margin:0 auto;padding:0 var(--m)}
.narrow{max-width:760px;margin:0 auto;padding:0 var(--m)}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:99;background:var(--osso);color:var(--pele);padding:12px 16px}
.lead{font-size:clamp(18px,1.6vw,21px);line-height:1.55;max-width:58ch}

/* botões: retos, chapados, decididos uma vez */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 26px;font:600 15px/1.2 var(--sans);text-decoration:none;border:0;border-radius:0;cursor:pointer;transition:background var(--t-hover),color var(--t-hover),transform var(--t-press) var(--ease-out)}
.btn:active{transform:scale(.97)}
.btn svg{width:19px;height:19px;flex:none}
.btn-dark,.btn-gold{background:var(--osso);color:var(--pele)}
.btn-dark:hover,.btn-gold:hover{background:var(--ouro-tinta);color:var(--pele)}
.btn-line{background:transparent;color:var(--osso);box-shadow:inset 0 0 0 1.5px var(--osso)}
.btn-line:hover{background:var(--osso);color:var(--pele)}
.on-dark .btn-dark,.on-dark .btn-gold{background:var(--ouro);color:var(--osso)}
.on-dark .btn-dark:hover{background:var(--pele)}
.link{font-weight:600;color:var(--osso);text-decoration:underline;text-decoration-color:var(--ouro);text-underline-offset:.3em}
.link:hover{color:var(--ouro-tinta)}

/* cabeçalho: marca, 5 links, uma ação */
.site-header{position:sticky;top:0;z-index:50;background:var(--pele);transition:background var(--t-ui)}
.site-header.scrolled{background:rgba(248,244,237,.94);backdrop-filter:blur(8px)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--osso)}
.brand img{width:42px;height:auto}
.brand-name{font:500 24px/1 var(--serif);letter-spacing:-.01em}
.nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,34px)}
.nav ul{display:flex;gap:clamp(16px,2.2vw,30px);list-style:none;margin:0;padding:0}
.nav ul a{font:500 15px/1 var(--sans);color:var(--osso);text-decoration:none;padding:14px 0;position:relative}
.nav ul a::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1.5px;background:var(--ouro);transform:scaleX(0);transform-origin:left;transition:transform var(--t-hover) var(--ease-out)}
.nav ul a:hover::after,.nav ul a[aria-current]::after{transform:scaleX(1)}
.nav .btn{min-height:46px;padding:12px 20px;font-size:14px}
.menu-toggle{display:none;width:48px;height:48px;border:0;background:transparent;cursor:pointer;position:relative}
.menu-toggle span{position:absolute;left:12px;right:12px;height:1.5px;background:var(--osso);transition:transform var(--t-ui) var(--ease-out)}
.menu-toggle span:first-child{top:19px}.menu-toggle span:last-child{top:28px}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
@media (max-width:960px){
  .menu-toggle{display:block}
  .nav{position:fixed;inset:78px 0 0;background:var(--pele);flex-direction:column;align-items:stretch;padding:24px var(--m) 40px;gap:24px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity var(--t-ui),transform var(--t-ui) var(--ease-out),visibility var(--t-ui)}
  .nav.open{opacity:1;visibility:visible;transform:none}
  .nav ul{flex-direction:column;gap:0}
  .nav ul a{display:block;font:500 34px/1.1 var(--serif);padding:12px 0}
  .nav ul a::after{display:none}
  .brand-name{font-size:21px}
}

/* barra fixa no celular: a ação principal sempre à mão */
.wa-bar{display:none}
@media (max-width:760px){
  .wa-bar{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:40;transform:translateY(140%);transition:transform var(--t-ui) var(--ease-out)}
  .wa-bar.show{transform:none}
  .wa-bar .btn{flex:1}
  body{padding-bottom:0}
}

/* ---------- HOME ---------- */
.hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);min-height:calc(100svh - 78px);max-height:980px}
.hero-text{display:flex;flex-direction:column;justify-content:center;padding:48px var(--m) 64px max(var(--m),calc((100vw - 1320px)/2 + var(--m)))}
.hero h1{font-size:clamp(40px,4.8vw,72px);line-height:.98;letter-spacing:-.03em}
.hero .lead{margin:28px 0 36px;max-width:40ch}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px}
.hero-fact{margin:40px 0 0;font-size:15px;color:var(--osso-suave);max-width:44ch}
.hero-photo{position:relative;overflow:hidden;background:var(--pele-funda)}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}
@media (max-width:860px){
  .hero{grid-template-columns:1fr;min-height:0;max-height:none}
  .hero-photo{order:-1;height:56svh;min-height:340px}
  .hero-text{padding:32px var(--m) 72px}
  .hero h1{font-size:clamp(36px,10.1vw,60px)}
  .hero .lead{margin:20px 0 28px}
}

/* protocolo e a coisa viva: camadas */
.proto{padding:var(--sec) 0}
.proto-top{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,110px);align-items:end}
.bb{font:500 italic clamp(160px,24vw,360px)/.78 var(--serif);color:var(--ouro);letter-spacing:-.06em;margin:0}
.proto-top h2{margin-bottom:28px}
.proto-steps{list-style:none;counter-reset:s;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.proto-steps li{font-size:16px}
.proto-steps strong{display:block;font:500 25px/1.15 var(--serif);margin-bottom:8px}
.explorer{margin-top:clamp(72px,9vw,128px);display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(28px,5vw,80px);border:0;padding:0;min-width:0}
.ex-title{grid-column:1/-1;font:500 clamp(32px,3.6vw,50px)/1.05 var(--serif);letter-spacing:-.02em}
.explorer .ex-help{grid-column:1/-1;margin:calc(-1 * clamp(16px,3vw,48px)) 0 8px;max-width:62ch}
.ex-choices{display:flex;flex-direction:column;gap:2px}
.ex-choices input{position:absolute;opacity:0;pointer-events:none}
.ex-choices label{display:flex;align-items:center;min-height:52px;padding:10px 18px;font-weight:500;cursor:pointer;background:transparent;transition:background var(--t-hover),color var(--t-hover)}
.ex-choices label:hover{background:var(--pele-funda)}
.ex-choices input:checked+label{background:var(--osso);color:var(--pele)}
.ex-choices input:focus-visible+label{outline:2px solid var(--ouro-tinta);outline-offset:2px}
.ex-stage{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.layers{display:flex;flex-direction:column}
.layer{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding:18px 24px;min-height:100px;transition:opacity var(--t-ui),transform var(--t-ui) var(--ease-out)}
.layer b{font:500 clamp(24px,2.4vw,34px)/1 var(--serif)}
.layer small{font-size:14px;max-width:22ch;text-align:right;line-height:1.35}
.l-pele{background:#FBF8F3;box-shadow:inset 0 0 0 1px #E6DCCB}
.l-musculo{background:var(--ligamento);min-height:116px}
.l-gordura{background:var(--ouro);min-height:136px}
.l-osso{background:var(--osso);color:var(--pele);min-height:160px}
.ex-panels .panel{display:none}
.ex-panels h3{margin-bottom:14px}
.ex-panels p{margin:0 0 18px}
.ex-panels .ex-links{display:flex;flex-direction:column;gap:10px;margin-top:22px}
/* sem :has (navegador antigo): mostra o primeiro painel e todas as camadas */
.ex-panels .panel:first-child{display:block}
@supports selector(:has(*)){
  .ex-panels .panel:first-child{display:none}
  .layer{opacity:.22;transform:translateX(0)}
  .explorer:has(#q1:checked) .p1,.explorer:has(#q2:checked) .p2,.explorer:has(#q3:checked) .p3,.explorer:has(#q4:checked) .p4,.explorer:has(#q5:checked) .p5,.explorer:has(#q6:checked) .p6,.explorer:has(#q7:checked) .p7,.explorer:has(#q8:checked) .p8{display:block;animation:panel var(--t-ui) var(--ease-out)}
  .explorer:has(#q1:checked) :is(.l-pele,.l-gordura,.l-osso),
  .explorer:has(#q2:checked) :is(.l-gordura,.l-osso),
  .explorer:has(#q3:checked) :is(.l-gordura,.l-osso),
  .explorer:has(#q4:checked) :is(.l-pele,.l-musculo),
  .explorer:has(#q5:checked) :is(.l-pele,.l-gordura),
  .explorer:has(#q6:checked) :is(.l-pele,.l-gordura,.l-musculo),
  .explorer:has(#q7:checked) :is(.l-pele,.l-gordura),
  .explorer:has(#q8:checked) .l-pele{opacity:1}
}
@keyframes panel{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:960px){
  .proto-top,.explorer,.ex-stage{grid-template-columns:1fr}
  .proto-steps{grid-template-columns:1fr;gap:20px}
  .bb{font-size:clamp(150px,44vw,220px)}
  .ex-choices{flex-direction:row;flex-wrap:wrap;gap:8px}
  .ex-choices label{min-height:46px;padding:8px 14px;background:var(--pele-funda);font-size:15px}
  .layer{min-height:64px!important;padding:12px 16px}.layer b{font-size:22px}
}

/* tratamentos: um índice tipográfico */
.treat{background:var(--pele-funda);padding:var(--sec) 0}
.treat-head{display:flex;justify-content:space-between;align-items:end;gap:32px;flex-wrap:wrap;margin-bottom:48px}
.treat-head p{max-width:44ch;margin:0}
.treat-list{list-style:none;margin:0;padding:0}
.treat-list a{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr) auto;align-items:center;gap:24px;padding:26px 0;text-decoration:none;color:var(--osso);box-shadow:0 -1px 0 rgba(28,20,9,.14)}
.treat-list li:last-child a{box-shadow:0 -1px 0 rgba(28,20,9,.14),0 1px 0 rgba(28,20,9,.14)}
.treat-list b{font:500 clamp(30px,3.6vw,52px)/1 var(--serif);letter-spacing:-.02em;transition:transform var(--t-ui) var(--ease-out),color var(--t-hover)}
.treat-list span{font-size:16px}
.treat-list i{font-style:normal;font-weight:600;font-size:14px;white-space:nowrap;color:var(--ouro-tinta)}
.treat-list a:hover b{transform:translateX(12px);color:var(--ouro-tinta)}
.treat-note{margin-top:56px;display:flex;flex-wrap:wrap;align-items:center;gap:20px 36px}
.treat-note p{font:500 clamp(24px,2.4vw,32px)/1.2 var(--serif);margin:0;max-width:30ch}
@media (max-width:760px){.answer{font-size:17px}.treat-list a{grid-template-columns:1fr;gap:8px;padding:22px 0}.treat-list i{display:none}}

/* o que eu não faço: campo escuro, camada do osso */
.nots{background:var(--osso);color:var(--pele);padding:var(--sec) 0}
.nots h2{max-width:20ch;margin-bottom:clamp(48px,6vw,88px)}
.nots-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,5vw,72px) clamp(32px,6vw,96px);list-style:none;margin:0;padding:0}
.nots-list b{display:block;font:500 clamp(28px,3vw,42px)/1.08 var(--serif);color:var(--ouro);margin-bottom:14px;letter-spacing:-.015em}
.nots-list p{margin:0;max-width:46ch;color:#E9E0D2}
@media (max-width:760px){.nots-list{grid-template-columns:1fr}}

/* quem atende */
.who{padding:var(--sec) 0}
.who .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,104px);align-items:center}
.who-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}
.who h2{margin-bottom:28px}
.who blockquote{margin:36px 0;font:500 italic clamp(26px,2.6vw,34px)/1.2 var(--serif);max-width:24ch}
.who blockquote footer{font:400 14px/1.4 var(--sans);font-style:normal;color:var(--osso-suave);margin-top:12px}
.who-links{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center}
@media (max-width:860px){.who .wrap{grid-template-columns:1fr}}

/* perguntas (GEO: pergunta + resposta curta) */
.ask{background:var(--pele-funda);padding:var(--sec) 0}
.ask h2{max-width:14ch;margin-bottom:clamp(48px,6vw,80px)}
.ask-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px clamp(32px,6vw,96px)}
.ask-list h3{margin-bottom:14px}
.ask-list p{margin:0;max-width:52ch}
.ask-list a{display:inline-block;margin-top:10px;font-weight:600;font-size:15px}
@media (max-width:760px){.ask-list{grid-template-columns:1fr;gap:44px}}

/* blog: um grande, dois menores */
.reads{padding:var(--sec) 0}
.reads-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:48px}
.reads-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,56px)}
.reads-side{display:flex;flex-direction:column;gap:40px}
.read{text-decoration:none;color:var(--osso);display:block}
.read img{width:100%;aspect-ratio:3/2;object-fit:cover;margin-bottom:18px;transition:transform 600ms var(--ease-soft)}
.read .img{overflow:hidden}
.read:hover img{transform:scale(1.03)}
.read h3{transition:color var(--t-hover)}
.read:hover h3{color:var(--ouro-tinta)}
.read p{margin:10px 0 0;font-size:16px;max-width:56ch}
.read-big h3{font-size:clamp(30px,3vw,42px)}
.reads-side .read{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:20px;align-items:start}
.reads-side .read img{margin:0}
@media (max-width:860px){.reads-grid{grid-template-columns:1fr}.reads-side .read{grid-template-columns:1fr}}

/* consultório */
.place{background:var(--ligamento);padding:var(--sec) 0}
.place .wrap{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);align-items:center}
.place h2{margin-bottom:36px}
.place dl{display:grid;grid-template-columns:auto 1fr;gap:14px 28px;margin:0 0 36px}
.place dt{font-weight:600;font-size:15px;padding-top:2px}
.place dd{margin:0}
.place-actions{display:flex;flex-wrap:wrap;gap:14px}
.place-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}
@media (max-width:860px){.place .wrap{grid-template-columns:1fr}.place dl{grid-template-columns:1fr;gap:4px}.place dd{margin-bottom:12px}}

/* fechamento */
.cta-final{background:var(--osso);color:var(--pele);padding:var(--sec) 0 clamp(64px,8vw,120px)}
.cta-final .narrow,.cta-final .wrap{max-width:1320px}
.cta-final h2{font-size:clamp(40px,6vw,96px);max-width:16ch;color:var(--pele)}
.cta-final .lead{margin:28px 0 36px;color:#E9E0D2}
.cta-final .btn-dark{background:var(--ouro);color:var(--osso)}
.cta-final .btn-dark:hover{background:var(--pele)}
.sec-sand.cta-final{background:var(--osso)}

/* rodapé: o nome volta grande */
.site-footer{background:var(--osso);color:#E9E0D2;padding:0 0 40px;font-size:15px}
.site-footer a{color:#F3EBDD;text-decoration:none}
.site-footer a:hover{color:var(--ouro);text-decoration:underline}
.foot-name{font:500 clamp(56px,13.4vw,212px)/.82 var(--serif);letter-spacing:-.045em;color:var(--ouro);margin:0;padding-top:clamp(32px,4vw,56px)}
.foot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin:48px 0}
.foot-grid h4{font:600 14px/1.3 var(--sans);color:var(--pele);margin:0 0 12px}
.foot-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot-grid p{margin:0 0 10px}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:14px;color:#BFB3A2}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}

/* ---------- PÁGINAS INTERNAS (mesmo sistema) ---------- */
.page-hero{padding:clamp(40px,6vw,88px) 0 clamp(48px,6vw,80px);background:var(--pele)}
.page-hero h1{font-size:clamp(44px,6.4vw,92px);line-height:.98;letter-spacing:-.03em;max-width:15ch}
.page-hero.post h1{max-width:22ch;font-size:clamp(34px,4.3vw,64px);line-height:1.02}
.page-hero .lead{margin:24px 0 0}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;margin-bottom:28px;color:var(--osso-suave)}
.crumbs a{color:var(--osso-suave)}
.byline{display:flex;align-items:center;gap:14px;margin-top:28px;font-size:15px}
.byline img{width:52px;height:52px;border-radius:50%;object-fit:cover}
.byline b{display:block;font-weight:600}.byline div{color:var(--osso-suave);font-size:14px}.byline small{display:block;color:var(--osso-suave);font-size:14px}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(32px,6vw,96px);padding-top:clamp(24px,3vw,40px);padding-bottom:var(--sec)}
@media (max-width:960px){.layout{grid-template-columns:1fr!important}}
.prose{font-size:18px;line-height:1.7;max-width:70ch}
.prose h2{font-size:clamp(34px,3.6vw,48px);margin:72px 0 20px;line-height:1.05}
.prose h3{font-size:clamp(25px,2.2vw,30px);margin:40px 0 12px}
.prose p{margin:0 0 20px}
.prose ul,.prose ol{padding-left:1.2em;margin:0 0 24px}
.prose li{margin-bottom:10px}
.prose li::marker{color:var(--ouro-tinta)}
.prose blockquote{margin:40px 0;padding:0;font:500 italic clamp(26px,2.6vw,34px)/1.22 var(--serif);max-width:28ch}
.prose img{width:100%}
.prose .split-media img{aspect-ratio:4/3;object-fit:cover;object-position:50% 25%}
.prose figure{margin:0 0 32px}.post-hero img{width:100%;aspect-ratio:3/2;object-fit:cover}
.answer{background:var(--pele-funda);padding:clamp(22px,3vw,34px);margin:0 0 40px;font-size:19px;line-height:1.6}
.answer p{margin:0}
.answer strong{font-weight:600}
.table-wrap{overflow-x:auto;margin:0 0 28px}
.prose table{width:100%;border-collapse:collapse;font-size:16px}
.prose th{text-align:left;font-weight:600;font-size:14px;padding:12px 14px;background:var(--pele-funda)}
.prose td{padding:14px;border-bottom:1px solid rgba(28,20,9,.12);vertical-align:top}
.faq details{box-shadow:0 1px 0 rgba(28,20,9,.14)}
.faq summary{list-style:none;cursor:pointer;padding:22px 40px 22px 0;font:500 clamp(22px,2vw,26px)/1.25 var(--serif);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:8px;top:50%;width:12px;height:12px;border-right:1.5px solid var(--osso);border-bottom:1.5px solid var(--osso);transform:translateY(-70%) rotate(45deg);transition:transform var(--t-ui) var(--ease-out)}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details p{margin:0 0 24px;max-width:62ch}
.aside{position:relative}
.aside-box{position:sticky;top:104px;background:var(--pele-funda);padding:28px}
.aside-box h3{font-size:28px;margin-bottom:10px}
.aside-box p{font-size:15px;margin:0 0 20px}
.aside-box .btn{width:100%}
.aside-box ul{list-style:none;margin:24px 0 0;padding:0;font-size:15px}
.aside-box li a{display:block;padding:10px 0;color:var(--osso);text-decoration:none;box-shadow:0 -1px 0 rgba(28,20,9,.12)}
.aside-box li a:hover{color:var(--ouro-tinta)}
.author-box{display:grid;grid-template-columns:72px 1fr;gap:20px;align-items:start;background:var(--pele-funda);padding:28px;margin:56px 0 0;font-size:16px}
.author-box img{width:72px;height:72px;border-radius:50%;object-fit:cover}
.author-box p{margin:0 0 6px}
.post-reel,.reel{margin:40px 0}
.reel{position:relative;aspect-ratio:9/16;max-width:340px;background:var(--osso);color:var(--pele);border:0;cursor:pointer;overflow:hidden;width:100%}
.reel img{width:100%;height:100%;object-fit:cover;opacity:.75}
.reel .play{position:absolute;inset:auto 16px 16px 16px;font-weight:600;text-align:left}
.reel-ph{display:flex;align-items:center;justify-content:center;height:100%;padding:24px;text-align:center;font:500 24px/1.2 var(--serif)}
.cap{font-size:14px;color:var(--osso-suave);margin-top:10px}
.sec{padding:var(--sec) 0}
.sec-sand{background:var(--pele-funda)}
.sec-head{margin-bottom:48px}
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 32px}
.post-card{display:block;text-decoration:none;color:var(--osso)}
.post-card .thumb{overflow:hidden;margin-bottom:16px;background:var(--pele-funda)}
.post-card .thumb img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform 600ms var(--ease-soft)}
.post-card:hover .thumb img{transform:scale(1.03)}
.post-card .cat{display:block;font-size:14px;font-weight:500;color:var(--ouro-tinta);margin-bottom:8px}
.post-card h3{font-size:25px;line-height:1.15;transition:color var(--t-hover)}
.post-card:hover h3{color:var(--ouro-tinta)}
.post-card p{font-size:15px;margin:10px 0 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:960px){.post-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.post-grid{grid-template-columns:1fr}}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:48px}
.filters button{min-height:44px;padding:8px 16px;border:0;background:var(--pele-funda);color:var(--osso);font:500 15px/1.2 var(--sans);cursor:pointer;transition:background var(--t-hover),color var(--t-hover)}
.filters button:hover{background:var(--ligamento)}
.filters button[aria-pressed=true]{background:var(--osso);color:var(--pele)}
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start}
.contact h2{margin-bottom:32px}
.contact dl{display:grid;grid-template-columns:auto 1fr;gap:14px 28px;margin:0 0 32px}
.contact dt{font-weight:600;font-size:15px}.contact dd{margin:0}
@media (max-width:860px){.contact{grid-template-columns:1fr}.contact dl{grid-template-columns:1fr;gap:4px}.contact dd{margin-bottom:12px}}
.map{aspect-ratio:4/3;background:var(--pele-funda);display:flex}
.map button{flex:1;border:0;background:transparent;font:600 16px/1 var(--sans);color:var(--osso);cursor:pointer;min-height:48px}
.map button:hover{background:var(--ligamento)}
.map iframe{width:100%;height:100%;border:0}

/* movimento: conteúdo visível sem JS */
@media (prefers-reduced-motion:no-preference){
  .js .reveal{opacity:0;transform:translateY(22px);transition:opacity var(--t-reveal) var(--ease-out),transform var(--t-reveal) var(--ease-out)}
  .js .reveal.in{opacity:1;transform:none}
  .js .hero-photo img{clip-path:inset(0 0 100% 0);transform:scale(1.06);animation:shutter 1.1s var(--ease-out) .1s forwards}
  .js .hero h1,.js .hero .lead,.js .hero-actions,.js .hero-fact{opacity:0;transform:translateY(24px);animation:rise var(--t-reveal) var(--ease-out) forwards}
  .js .hero .lead{animation-delay:.12s}.js .hero-actions{animation-delay:.22s}.js .hero-fact{animation-delay:.3s}
  .js .treat-list li.reveal{transform:translateX(-14px)}
  .js .treat-list li.reveal.in{transform:none}
}
@keyframes shutter{to{clip-path:inset(0 0 0 0);transform:scale(1)}}
@keyframes rise{to{opacity:1;transform:none}}
