:root{
  --wine:#651A39; --wine-deep:#46102A; --bronze:#855C22; --gold:#F0F096; --gold-soft:#D9C27A;
  --paper:#FFFFFF; --paper-2:#F8F1F4; --ink:#2B0C19; --muted:#6B5260; --line:#E7D9DF;
  --accent:#855C22; --field:#FFFFFF;
  --serif:"Cormorant", "Cormorant Garamond", Garamond, "Times New Roman", serif;
  --sans:"Montserrat", "Helvetica Neue", Arial, sans-serif;
  --metal:linear-gradient(115deg,#855C22 0%,#C9A55A 28%,#F0F096 46%,#A77E38 66%,#855C22 100%);
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#1C0911; --paper-2:#260D18; --ink:#F5ECF0; --muted:#C4AEB8; --line:#3E1A2B;
    --accent:#D9C27A; --field:#2B1020;
  }
}
:root[data-theme="dark"]{
  --paper:#1C0911; --paper-2:#260D18; --ink:#F5ECF0; --muted:#C4AEB8; --line:#3E1A2B;
  --accent:#D9C27A; --field:#2B1020;
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth; scroll-padding-top:calc(env(safe-area-inset-top,0px) + 96px)}
body{margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:1rem; line-height:1.65; -webkit-font-smoothing:antialiased}
img{max-width:100%; display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold-soft); outline-offset:3px}
.wrap{width:min(1180px,100% - 2.5rem); margin-inline:auto}
h1,h2,h3{font-family:var(--serif); font-weight:500; line-height:1.08; margin:0}
p{margin:0}

/* ---------- Header ---------- */
.top{position:sticky; top:env(safe-area-inset-top,0px); z-index:30; background:var(--wine); transition:box-shadow .3s}
.top.scrolled{box-shadow:0 1px 0 rgba(240,240,150,.18)}
.top .wrap{display:flex; align-items:center; justify-content:space-between; gap:1.5rem; height:88px; transition:height .35s cubic-bezier(.2,.7,.2,1)}
.top.scrolled .wrap{height:68px}
.brand img{height:70px; width:auto; transition:height .35s cubic-bezier(.2,.7,.2,1)}
.top.scrolled .brand img{height:54px}
.nav{display:flex; align-items:center; gap:2rem; font-size:.9rem; color:#F2E6EB}
.nav a{text-decoration:none; padding:.4rem 0; background:linear-gradient(var(--gold-soft),var(--gold-soft)) left bottom/0 1px no-repeat; transition:background-size .35s cubic-bezier(.2,.7,.2,1), color .3s}
.nav a:hover,.nav a.active{background-size:100% 1px}
.nav a.active{color:var(--gold)}
.nav .btn-wa{border:1px solid rgba(240,240,150,.5); padding:.55rem 1.1rem; border-radius:999px; color:var(--gold); background:none; transition:background .3s, border-color .3s}
.nav .btn-wa:hover{background:rgba(240,240,150,.08)}
.menu-toggle{display:none; background:none; border:0; color:var(--gold); font:inherit; font-size:.9rem; cursor:pointer; padding:.5rem}

/* ---------- Hero ---------- */
.hero{position:relative; background:var(--wine); color:#F7EEF2; overflow:hidden}
@property --mx{syntax:"<percentage>"; inherits:true; initial-value:78%}
@property --my{syntax:"<percentage>"; inherits:true; initial-value:40%}
.hero{transition:--mx .9s cubic-bezier(.2,.7,.2,1), --my .9s cubic-bezier(.2,.7,.2,1)}
.hero::before{content:""; position:absolute; inset:0; background:radial-gradient(60% 80% at var(--mx) var(--my), rgba(240,240,150,.12), transparent 65%), linear-gradient(180deg,var(--wine) 0%, var(--wine-deep) 100%)}
.hero-copy>*{opacity:0; transform:translateY(18px); animation:rise .9s cubic-bezier(.2,.7,.2,1) forwards}
.hero-copy>.lede{animation-delay:.15s}
.hero-copy>.ctas{animation-delay:.3s}
.monogram{will-change:transform}
.hero .wrap{position:relative; display:grid; grid-template-columns:1.15fr .85fr; align-items:center; gap:3rem; padding:5.5rem 0 9rem}
.hero h1{font-size:clamp(2.6rem,5.4vw,4.6rem); font-weight:400; letter-spacing:-.005em; max-width:17ch}
.hero .lede{margin-top:1.6rem; max-width:46ch; font-size:1.08rem; color:#E6D3DB}
.ctas{display:flex; flex-wrap:wrap; gap:.9rem; margin-top:2.4rem}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:.5rem; font:600 .92rem/1 var(--sans); padding:1rem 1.6rem; border-radius:999px; text-decoration:none; cursor:pointer; border:0; transition:transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .3s, background .3s, border-color .3s}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.98); transition-duration:.08s}
.btn-gold{background:var(--metal); background-size:180% 100%; color:#3A0E21; transition:background-position .6s, transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .3s}
.btn-gold:hover{background-position:100% 0; box-shadow:0 12px 28px rgba(0,0,0,.28)}
.btn-ghost{color:#F7EEF2; border:1px solid rgba(247,238,242,.35); background:transparent}
.btn-ghost:hover{border-color:var(--gold-soft)}
.monogram{justify-self:center; width:min(440px,100%); filter:drop-shadow(0 18px 30px rgba(0,0,0,.35))}
.monogram img{width:100%; height:auto; opacity:0; transform:scale(.97); animation:rise 1.4s .25s cubic-bezier(.2,.7,.2,1) forwards}
.swash{position:absolute; left:0; right:0; bottom:-2px; width:100%; height:170px; pointer-events:none}
.swash path{fill:none; stroke:url(#metal); stroke-width:2.2; stroke-linecap:round; stroke-dasharray:2200; stroke-dashoffset:2200; animation:draw 2.6s .5s cubic-bezier(.4,0,.2,1) forwards}
.swash .fill{fill:var(--paper); stroke:none; animation:none}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes rise{to{opacity:1; transform:none}}

/* ---------- Sections ---------- */
section{padding:6.5rem 0}
.sec-head{display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:end; margin-bottom:3.5rem}
.sec-head h2{font-size:clamp(2.1rem,3.8vw,3.2rem)}
.sec-head p{color:var(--muted); max-width:52ch}

/* Areas */
.areas{display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line)}
.area{padding:2.4rem 2rem 2.2rem; border-right:1px solid var(--line)}
.area:first-child{padding-left:0}
.area:last-child{border-right:0; padding-right:0}
.area h3{font-size:2rem; font-style:italic; color:var(--accent)}
.area .desc{margin-top:.9rem; color:var(--muted); font-size:.95rem}
.area ul{list-style:none; padding:0; margin:1.6rem 0 0}
.area li{position:relative; padding:.72rem 0; border-top:1px solid var(--line); font-size:.95rem; transition:padding-left .35s cubic-bezier(.2,.7,.2,1), color .3s}
.area li::before{content:""; position:absolute; left:0; top:50%; width:0; height:1px; background:var(--accent); transition:width .35s cubic-bezier(.2,.7,.2,1)}
@media (hover:hover){.area:hover li:hover{padding-left:1.1rem; color:var(--accent)} .area:hover li:hover::before{width:.7rem}}
.area li:last-child{border-bottom:1px solid var(--line)}
.area-link{display:inline-block; margin-top:1.4rem; color:var(--accent); font-weight:600; font-size:.9rem; text-decoration:none; border-bottom:1px solid transparent; transition:border-color .3s, padding-left .3s}
.area-link::after{content:" →"}
.area-link:hover{border-bottom-color:var(--accent)}

/* About */
.about{background:var(--paper-2)}
.about .wrap{display:grid; grid-template-columns:1fr 1.05fr; gap:4rem; align-items:center}
.portrait{margin:0; max-width:480px}
.portrait img{width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:50% 20%; border-radius:6px; box-shadow:0 18px 40px rgba(70,16,42,.18)}
.about h2{font-size:clamp(2.2rem,4vw,3.4rem)}
.about .role{margin-top:.8rem; color:var(--accent); font-weight:500; font-size:.95rem}
.about .bio{margin-top:1.8rem; display:grid; gap:1.1rem; font-family:var(--serif); font-size:1.22rem; line-height:1.6; max-width:46ch}
.ph{background:rgba(133,92,34,.12); padding:0 .25em; border-radius:3px}
.creds{margin-top:2.2rem; display:flex; flex-wrap:wrap; gap:2.5rem; font-size:.9rem; color:var(--muted)}
.creds strong{display:block; color:var(--ink); font-weight:600}

/* Steps */
.att .wrap{display:grid; grid-template-columns:.72fr 1.28fr; gap:4.5rem; align-items:center}
.att-photo{margin:0; position:relative; max-width:420px}
.att-photo img{width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; border-radius:6px 6px 6px 120px; box-shadow:0 24px 50px rgba(70,16,42,.2)}
.att-photo::after{content:""; position:absolute; left:-14px; bottom:-14px; width:60%; height:50%; border:1px solid var(--gold-soft); border-radius:0 0 0 120px; opacity:.7; pointer-events:none}
.att .sec-head{grid-template-columns:1fr; gap:1rem; margin-bottom:2.6rem}
.att .steps{grid-template-columns:1fr 1fr; gap:2rem 2.5rem}
.steps{position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; counter-reset:s}
.steps::after{content:""; position:absolute; left:0; top:0; height:2px; width:0; background:var(--metal); transition:width 1.8s cubic-bezier(.4,0,.2,1) .2s}
.steps.in::after{width:100%}
.step::before{transition:color .5s}
.step{position:relative; padding-top:1.4rem; border-top:1px solid var(--line)}
.step::before{counter-increment:s; content:counter(s); font-family:var(--serif); font-style:italic; font-size:2.6rem; line-height:1; color:var(--accent); display:block; margin-bottom:1rem}
.step h3{font-size:1.45rem}
.step p{margin-top:.6rem; color:var(--muted); font-size:.93rem}

/* Articles */
.articles{background:var(--paper-2)}
.posts{display:grid; grid-template-columns:1.4fr 1fr; grid-template-rows:auto auto; gap:1.6rem}
.post{background:var(--paper); border:1px solid var(--line); border-radius:6px; padding:2rem; display:flex; flex-direction:column; text-decoration:none; transition:border-color .25s, transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s}
.post:hover{border-color:var(--accent); transform:translateY(-4px); box-shadow:0 16px 36px rgba(70,16,42,.12)}
.post.lead:hover{box-shadow:0 20px 44px rgba(0,0,0,.28)}
.post.lead{grid-row:span 2; background:var(--wine); color:#F7EEF2; border-color:var(--wine); justify-content:flex-end; min-height:420px; position:relative; overflow:hidden}
.post.lead::after{content:""; position:absolute; right:-60px; top:-40px; width:320px; height:320px; background:url('../img/simbolo-dourado.webp') center/contain no-repeat; opacity:.13; transition:transform 1.2s cubic-bezier(.2,.7,.2,1), opacity .6s}
.post.lead:hover::after{transform:rotate(-5deg) scale(1.07); opacity:.18}
.post .cat{font-size:.82rem; font-weight:600; color:var(--accent)}
.post.lead .cat{color:var(--gold)}
.post h3{margin-top:.7rem; font-size:1.6rem}
.post.lead h3{font-size:clamp(1.9rem,3vw,2.6rem); max-width:18ch; position:relative; z-index:1}
.post p{margin-top:.8rem; color:var(--muted); font-size:.93rem}
.post.lead p{color:#E6D3DB; max-width:48ch; position:relative; z-index:1}
.post time{margin-top:auto; padding-top:1.4rem; font-size:.82rem; color:var(--muted)}
.post.lead time{color:#D8C2CC; position:relative; z-index:1}
.all-link{display:inline-block; margin-top:2.2rem; color:var(--accent); font-weight:600; font-size:.92rem; text-underline-offset:4px; transition:text-underline-offset .25s}
.all-link:hover{text-underline-offset:7px}

/* Faixa de chamada (presencial e online) */
.band{background:var(--wine); color:#F7EEF2; padding:0; overflow:hidden; position:relative}
.band::before{content:""; position:absolute; inset:0; background:radial-gradient(50% 70% at 20% 50%, rgba(240,240,150,.08), transparent 70%); pointer-events:none}
.band .wrap{position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:4rem; align-items:center}
.band-text{padding:5rem 0}
.band h2{font-size:clamp(2rem,3.6vw,3rem); max-width:16ch}
.band p{margin-top:1.2rem; color:#E6D3DB; max-width:46ch}
.band .ctas{margin-top:2rem}
.band-photo{margin:0; align-self:end; max-width:440px; justify-self:end}
.band-photo img{width:100%; height:auto; aspect-ratio:3/4; object-fit:cover; object-position:50% 25%; border-radius:6px 6px 0 0; display:block; box-shadow:0 -10px 40px rgba(0,0,0,.25)}

/* Contact */
.contact .wrap{display:grid; grid-template-columns:.85fr 1.15fr; gap:4.5rem}
.contact h2{font-size:clamp(2.2rem,4vw,3.2rem)}
.contact .intro{margin-top:1.2rem; color:var(--muted); max-width:40ch}
.who{margin-top:2rem; display:flex; align-items:center; gap:1rem}
.who img{width:64px; height:64px; border-radius:50%; object-fit:cover; object-position:50% 35%; border:2px solid var(--gold-soft); box-shadow:0 0 0 4px var(--paper), 0 6px 18px rgba(70,16,42,.18)}
.who strong{display:block; font-family:var(--serif); font-size:1.25rem; font-weight:500; line-height:1.15}
.who span{font-size:.84rem; color:var(--muted)}
.info{margin-top:2.2rem; display:grid; gap:1.6rem; font-size:.95rem}
.info dt{font-size:.85rem; color:var(--muted)}
.info dd{margin:.2rem 0 0; font-weight:500}
.info a{text-decoration-color:var(--line); text-underline-offset:4px}
form{display:grid; grid-template-columns:1fr 1fr; gap:1.2rem 1.4rem; background:var(--paper-2); padding:2.6rem; border-radius:6px}
.field{display:grid; gap:.45rem}
.field.full{grid-column:1/-1}
label{font-size:.86rem; font-weight:500}
input,select,textarea{font:inherit; font-size:.97rem; color:var(--ink); background:var(--field); border:1px solid var(--line); border-radius:4px; padding:.85rem .95rem; width:100%}
input,select,textarea{transition:border-color .25s, box-shadow .25s}
input:focus,select:focus,textarea:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(133,92,34,.18)}
.field:focus-within label{color:var(--accent)}
label{transition:color .25s}
textarea{min-height:140px; resize:vertical}
.consent{grid-column:1/-1; display:flex; gap:.7rem; align-items:flex-start; font-size:.85rem; color:var(--muted)}
.consent input{width:auto; flex:none; margin-top:.3rem; accent-color:var(--wine)}
.consent span{flex:1; line-height:1.5}
.form-foot{grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem}
.form-foot small{color:var(--muted); font-size:.82rem}
.btn-wine{background:var(--wine); color:#FBF3F6}
.btn-wine:hover{background:var(--wine-deep)}
.err{color:#B3261E; font-size:.82rem; min-height:1em}
.sent{grid-column:1/-1; text-align:center; padding:2rem 1rem; animation:rise .6s cubic-bezier(.2,.7,.2,1) both}
.sent .check{width:64px; height:64px; margin:0 auto 1.2rem; fill:none; stroke:var(--accent); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round}
.sent .check circle{stroke-dasharray:160; stroke-dashoffset:160; animation:draw-check .9s cubic-bezier(.4,0,.2,1) .1s forwards}
.sent .check path{stroke-dasharray:40; stroke-dashoffset:40; animation:draw-check .5s cubic-bezier(.4,0,.2,1) .8s forwards}
@keyframes draw-check{to{stroke-dashoffset:0}}
.sent h3{font-size:2rem}
.sent p{margin-top:.8rem; color:var(--muted)}

/* Footer */
footer{background:var(--wine-deep); color:#E6D3DB; padding:4rem 0 2.5rem; font-size:.9rem}
footer .grid{display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:3rem; align-items:start}
footer img{height:96px; width:auto}
footer h4{font:600 .88rem var(--sans); color:var(--gold); margin:0 0 1rem}
footer ul{list-style:none; padding:0; margin:0; display:grid; gap:.55rem}
footer a{text-decoration:none}
footer a:hover{text-decoration:underline}
.legal{margin-top:3rem; padding-top:1.6rem; border-top:1px solid rgba(240,240,150,.15); display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; font-size:.8rem; color:#BFA3B0}

/* WhatsApp float */
.wa-float{position:fixed; right:1.2rem; bottom:calc(1.2rem + env(safe-area-inset-bottom,0px)); z-index:40; width:58px; height:58px; border-radius:50%; background:#1FAF5A; display:grid; place-items:center; box-shadow:0 8px 24px rgba(0,0,0,.25)}
.wa-float svg{width:30px; height:30px; fill:#fff}
html.js .wa-float{opacity:0; transform:translateY(90px); transition:opacity .45s, transform .55s cubic-bezier(.2,.7,.2,1)}
html.js .wa-float.show{opacity:1; transform:none}
.wa-float:hover{transform:scale(1.06)!important}

/* Cookie */
.cookie{position:fixed; left:1rem; bottom:calc(1rem + env(safe-area-inset-bottom,0px)); z-index:45; max-width:380px; background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:6px; padding:1.2rem 1.3rem; font-size:.85rem; box-shadow:0 10px 30px rgba(0,0,0,.18); display:none}
.cookie.show{display:block}
.cookie button{margin-top:.9rem; padding:.65rem 1.2rem; font-size:.85rem}

.social{display:flex; gap:.7rem; margin-top:1.4rem}
.social a{width:40px; height:40px; border-radius:50%; display:grid; place-items:center; border:1px solid currentColor; opacity:.85}
.social a:hover{opacity:1}
.social svg{width:18px; height:18px; fill:currentColor}
.info .social{color:var(--accent); margin-top:.5rem}
footer .social{color:var(--gold)}
/* Consent */
.cookie{max-width:430px}
.cookie h2{font-size:1.35rem; margin-bottom:.5rem}
.cookie p{color:var(--muted)}
.cookie a{color:var(--accent)}
.cookie .row{display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1rem}
.cookie .row .btn{margin-top:0; padding:.65rem 1.1rem; font-size:.84rem}
.btn-line{background:transparent; color:var(--ink); border:1px solid var(--line)}
.btn-line:hover{border-color:var(--accent)}
.prefs{display:none; margin-top:1rem; border-top:1px solid var(--line); padding-top:.8rem}
.prefs.show{display:grid; gap:.8rem}
.prefs label{display:flex; gap:.7rem; align-items:flex-start; font-weight:400; font-size:.84rem}
.prefs input{width:auto; margin-top:.25rem; accent-color:var(--wine)}
.prefs strong{display:block; color:var(--ink)}
.linkbtn{background:none; border:0; padding:0; font:inherit; color:inherit; cursor:pointer; text-decoration:none}
.linkbtn:hover{text-decoration:underline}
.hint{grid-column:1/-1; font-size:.82rem; color:var(--muted); margin-top:-.6rem}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.turnstile{grid-column:1/-1}
.turnstile:empty{display:none}
.btn[disabled]{opacity:.6; cursor:wait}
.consent a{color:var(--accent)}

/* ---------- Movimento ao rolar (só responde ao usuário; nada em loop) ---------- */
html.js .reveal{opacity:0; transform:translateY(24px); transition:opacity .8s cubic-bezier(.2,.7,.2,1) var(--d,0s), transform .8s cubic-bezier(.2,.7,.2,1) var(--d,0s)}
html.js .reveal.in{opacity:1; transform:none}
html.js .portrait.reveal{transform:translateY(24px) scale(.97)}
html.js .portrait.reveal.in{transform:none}

/* Política */
.policy{padding:4.5rem 0 5.5rem}
.policy .wrap{max-width:760px}
.policy h1{font-size:clamp(2.4rem,5vw,3.4rem)}
.policy .upd{margin-top:.8rem; color:var(--muted); font-size:.88rem}
.policy h2{font-size:1.7rem; margin:2.6rem 0 .8rem}
.policy p,.policy li{font-size:.97rem}
.policy p+p{margin-top:.8rem}
.policy ul{padding-left:1.2rem; margin:.6rem 0 0; display:grid; gap:.4rem}
.policy .tbl{overflow-x:auto; margin-top:1rem}
.policy table{border-collapse:collapse; width:100%; min-width:560px; font-size:.88rem}
.policy th,.policy td{border-bottom:1px solid var(--line); padding:.7rem .6rem; text-align:left; vertical-align:top}
.policy th{font-weight:600}
.policy .back{display:inline-block; margin-bottom:2rem; color:var(--accent); font-weight:600; font-size:.9rem}

/* ---------- Páginas internas: artigos, listagem, 404 ---------- */
.page-head{background:var(--wine); color:#F7EEF2; padding:4rem 0 2.6rem}
.page-head h1{font-size:clamp(2.4rem,5vw,3.6rem); font-weight:400}
.page-head p{margin-top:1rem; color:#E6D3DB; max-width:52ch}
.chips{display:flex; flex-wrap:wrap; gap:.6rem; margin-top:2rem}
.chip{font:600 .84rem var(--sans); color:#F2E6EB; text-decoration:none; padding:.55rem 1.1rem; border-radius:999px; border:1px solid rgba(240,240,150,.35); transition:background .3s, border-color .3s, color .3s}
.chip:hover{border-color:var(--gold-soft)}
.chip.active{background:var(--metal); color:#3A0E21; border-color:transparent}
.listing{padding:4rem 0 6rem}
.post-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem}
.post .cover{display:block; position:relative; z-index:1; flex:none; align-self:center; width:auto; max-width:100%; height:auto; max-height:240px; border-radius:4px; margin:-.6rem 0 1.2rem}
.post.lead .cover{max-height:400px}
.empty{color:var(--muted); font-size:1.05rem; padding:2rem 0}
.pagination{display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:3rem}
.pagination .pages{color:var(--muted); font-size:.9rem}
.pagination .btn{padding:.75rem 1.3rem}

.artigo-head{background:var(--wine); color:#F7EEF2; padding:3.5rem 0 3rem}
.artigo-head .wrap{max-width:800px}
.crumbs{display:flex; flex-wrap:wrap; gap:.5rem; font-size:.84rem; color:#D8C2CC; margin-bottom:1.6rem}
.crumbs a{color:inherit; text-decoration:none}
.crumbs a:hover{color:var(--gold)}
.artigo-head h1{font-size:clamp(2.2rem,4.6vw,3.6rem); font-weight:400; max-width:20ch}
.artigo-head .lede{margin-top:1.2rem; font-size:1.12rem; color:#E6D3DB; max-width:52ch}
.artigo-head .meta{margin-top:1.6rem; display:flex; flex-wrap:wrap; gap:.6rem; font-size:.86rem; color:#D8C2CC}
.artigo-wrap{max-width:800px; padding:3rem 0 4rem}
.artigo-capa{display:block; width:auto; max-width:100%; height:auto; max-height:min(70vh,560px); margin:0 auto 2rem; border-radius:6px}
.video-btn{display:inline-flex; align-items:center; gap:.6rem; font:600 .9rem var(--sans); color:var(--accent); text-decoration:none; border:1px solid var(--line); border-radius:999px; padding:.75rem 1.3rem .75rem 1rem; margin-bottom:2rem; transition:border-color .3s, transform .25s}
.video-btn:hover{border-color:var(--accent); transform:translateY(-2px)}
.video-btn svg{width:22px; height:22px; fill:currentColor}
.prose{font-size:1.06rem; line-height:1.75}
.prose>*+*{margin-top:1.1rem}
.prose h2{font-size:1.8rem; margin-top:2.4rem}
.prose h3{font-size:1.35rem; margin-top:1.8rem}
.prose ul,.prose ol{padding-left:1.3rem; display:grid; gap:.45rem}
.prose blockquote{margin:1.6rem 0; padding:.2rem 0 .2rem 1.2rem; border-left:2px solid var(--gold-soft); font-family:var(--serif); font-size:1.3rem; line-height:1.5; color:var(--muted)}
.prose img{border-radius:6px}
.prose a{color:var(--accent); text-underline-offset:3px}
.prose table{border-collapse:collapse; width:100%; font-size:.92rem}
.prose th,.prose td{border-bottom:1px solid var(--line); padding:.6rem .5rem; text-align:left; vertical-align:top}
.cta-box{margin-top:3.5rem; padding:2.2rem; background:var(--paper-2); border-radius:6px; border-left:3px solid var(--gold-soft)}
.cta-box h2{font-size:1.7rem}
.cta-box p{margin-top:.6rem; color:var(--muted); max-width:52ch}
.cta-box .ctas{margin-top:1.4rem}
.outras-areas{margin-top:2.5rem}
.outras-areas h2{font-size:1.4rem; margin-bottom:.8rem}
.outras-areas .chip{color:var(--ink); border-color:var(--line); text-decoration:none}
.outras-areas .chip:hover{border-color:var(--accent); color:var(--accent)}
.related .sec-head{align-items:center}
.related{background:var(--paper-2); padding:4.5rem 0 5.5rem}
.related h2{font-size:clamp(1.9rem,3.4vw,2.6rem); margin-bottom:2rem}
.nf{min-height:60vh; display:grid; place-items:center; text-align:center; padding:4rem 0}
.nf h1{font-size:2.4rem}
.nf p{color:var(--muted); margin:.8rem 0 1.6rem}
body[data-pagina="interna"] .wa-float{opacity:1; transform:none}

/* Responsive */
@media (max-width:960px){
  .hero .wrap{grid-template-columns:1fr; padding:3.5rem 0 8rem}
  .monogram{grid-row:1; width:min(240px,60%); justify-self:start}
  .sec-head,.about .wrap,.contact .wrap{grid-template-columns:1fr; gap:2rem}
  .areas{grid-template-columns:1fr}
  .area,.area:first-child,.area:last-child{padding:2rem 0; border-right:0; border-bottom:1px solid var(--line)}
  .steps{grid-template-columns:1fr 1fr}
  .posts{grid-template-columns:1fr}
  .post-grid{grid-template-columns:1fr 1fr}
  .post.lead{grid-row:auto; min-height:340px}
  footer .grid{grid-template-columns:1fr}
  .portrait{max-width:380px}
  .band .wrap{grid-template-columns:1fr; gap:0}
  .band-text{padding:3.5rem 0 2.5rem}
  .band-photo{max-width:none; margin:0 0 -1px}
  .band-photo img{aspect-ratio:4/3; object-position:50% 22%; border-radius:6px 6px 0 0}
  .att .wrap{grid-template-columns:1fr; gap:2.5rem}
  .att-photo{max-width:340px}
}
@media (max-width:760px){
  .nav{display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:flex-start; gap:.4rem; background:var(--wine); padding:1rem 1.25rem 1.5rem}
  .nav.open{display:flex}
  .menu-toggle{display:block}
  section{padding:4.5rem 0}
  form{grid-template-columns:1fr; padding:1.6rem}
  .steps{grid-template-columns:1fr}
  .post-grid{grid-template-columns:1fr}
  .pagination{flex-wrap:wrap}
  .brand img{height:58px}
  .monogram{display:none}
  .hero .wrap{padding:3rem 0 6rem}
  .swash{height:80px}
  .portrait{max-width:none}
  .att-photo{max-width:none}
  .att-photo img{aspect-ratio:4/3; object-position:50% 30%}
  .att .steps{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important; transition:none!important; scroll-behavior:auto!important}
  .monogram img,.hero-copy>*,html.js .reveal,html.js .wa-float{opacity:1; transform:none}
  .swash path,.sent .check circle,.sent .check path{stroke-dashoffset:0}
  .steps::after{width:100%}
}
