*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--pa:#fdfaf4;--ink:#231b12;--amb:#c2621b;--amb2:#e89a2b;--deep:#3b2a18;--mut:#7a6a58;--line:#e6dbc9;--soft:#f6efe2;--wa:#25d366;--max:1200px}
html{scroll-behavior:smooth}
body{font-family:"Source Sans 3",system-ui,sans-serif;color:var(--ink);background:var(--pa);line-height:1.76;font-size:17.5px;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--amb);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;font-weight:800;line-height:1.1;letter-spacing:-.015em}

@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideL{from{opacity:0;transform:translateX(-36px)}to{opacity:1;transform:none}}
@keyframes slideR{from{opacity:0;transform:translateX(36px)}to{opacity:1;transform:none}}
@keyframes pop{0%{opacity:0;transform:scale(.86)}62%{transform:scale(1.05)}100%{opacity:1;transform:scale(1)}}
@keyframes zoomBlur{from{opacity:0;transform:scale(1.08);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes clipIn{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes float2{0%,100%{transform:translate(0,0)}33%{transform:translate(10px,-16px)}66%{transform:translate(-12px,8px)}}
@keyframes spinSlow{to{transform:rotate(360deg)}}
@keyframes sheen{0%{transform:translateX(-130%)}100%{transform:translateX(240%)}}
@keyframes pulseRing{0%{box-shadow:0 0 0 0 rgba(37,211,102,.55)}70%{box-shadow:0 0 0 20px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
@keyframes drip{0%{transform:translateY(-12%) rotate(45deg);opacity:0}14%{opacity:.9}100%{transform:translateY(760%) rotate(45deg);opacity:0}}
@keyframes flowline{to{background-position:420px 0}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes barGrow{from{width:0}to{width:var(--w)}}
@keyframes aurora{0%,100%{transform:translate(-8%,-6%) rotate(0deg)}50%{transform:translate(8%,6%) rotate(12deg)}}
@keyframes wave{to{transform:translateX(-50%)}}
@keyframes typeCaret{50%{border-color:transparent}}
@keyframes countUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-7deg)}75%{transform:rotate(7deg)}}
@keyframes dash{to{stroke-dashoffset:0}}
@keyframes hardIn{from{opacity:0;transform:translate(-10px,10px)}to{opacity:1;transform:none}}
@keyframes gridPan{to{background-position:60px 60px}}
@keyframes orbit{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){*{animation-duration:.001s!important;animation-iteration-count:1!important;transition:none!important}}

.rv{opacity:0;animation:fadeUp .9s both}
@supports (animation-timeline: view()){
  .rv{animation-timeline:view();animation-range:entry 4% cover 30%}
}
@supports not (animation-timeline: view()){ .rv{opacity:1;animation:fadeUp .9s both} }
.d1{animation-delay:.08s}.d2{animation-delay:.16s}.d3{animation-delay:.24s}
.d4{animation-delay:.34s}.d5{animation-delay:.44s}.d6{animation-delay:.56s}
.d7{animation-delay:.68s}.d8{animation-delay:.8s}

@keyframes rule{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes upmask{from{transform:translateY(105%)}to{transform:translateY(0)}}

/* topbar */
.tb{background:var(--deep);color:#e4d6c1;font-size:13px;letter-spacing:.06em;text-transform:uppercase;padding:8px 0}
.tb .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.tb a{color:var(--amb2);font-weight:700}
.on{display:inline-flex;align-items:center;gap:8px}
.on i{width:7px;height:7px;background:var(--amb2);border-radius:50%;animation:blink 1.5s infinite}

/* header */
header.h{position:sticky;top:0;z-index:50;background:rgba(253,250,244,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);animation:fadeIn .5s both}
header.h .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:78px;flex-wrap:wrap}
.bd{display:flex;align-items:baseline;gap:11px}.bd:hover{text-decoration:none}
.bd b{font-family:"Playfair Display",serif;font-size:27px;color:var(--deep);line-height:1;font-weight:800;letter-spacing:-.02em}
.bd i{font-style:italic;color:var(--amb);font-family:"Playfair Display",serif;font-size:16px}
.bd span{display:block;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--mut);font-weight:700;margin-top:3px}
nav.n ul{list-style:none;display:flex;gap:22px;flex-wrap:wrap}
nav.n a{font-size:14.5px;font-weight:600;color:var(--deep);position:relative;padding-bottom:3px}
nav.n a::after{content:"";position:absolute;left:0;bottom:0;height:1.5px;width:0;background:var(--amb);transition:width .32s}
nav.n a:hover{text-decoration:none}nav.n a:hover::after{width:100%}
.bt{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14.5px;letter-spacing:.06em;text-transform:uppercase;padding:13px 24px;background:var(--deep);color:var(--pa);border:1px solid var(--deep);transition:.3s;position:relative;overflow:hidden}
.bt:hover{text-decoration:none;background:var(--amb);border-color:var(--amb);color:#fff}
.bt::after{content:"";position:absolute;top:0;left:0;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);animation:sheen 3.6s ease-in-out infinite}
.bt-wa{background:var(--wa);border-color:var(--wa);color:#fff;animation:pulseRing 2.7s infinite}
.bt-o{background:transparent;color:var(--deep)}
.bt-o:hover{background:var(--deep);color:var(--pa);border-color:var(--deep)}

/* hero editorial */
.hero{padding:40px 0 0;position:relative;overflow:hidden}
.hero .wrap{position:relative;z-index:2}
.hdl{border-top:3px solid var(--deep);padding-top:16px}
.kick{display:flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;color:var(--amb);margin-bottom:22px;animation:fadeIn .7s both}
.kick::after{content:"";flex:1;height:1px;background:var(--line);transform-origin:left;animation:rule 1.2s .3s both}
.hero h1{font-size:clamp(32px,5.1vw,62px);max-width:17ch;margin-bottom:0;letter-spacing:-.035em}
.hero h1 .ln{display:block;overflow:hidden}
.hero h1 .ln>span{display:block;animation:upmask 1s cubic-bezier(.2,.8,.2,1) both}
.hero h1 em{font-style:italic;color:var(--amb)}
.subgrid{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;margin-top:38px;padding-bottom:56px;border-bottom:1px solid var(--line)}
.hero .ld{font-size:19.5px;color:#4b3a29;animation:fadeUp .9s .5s both}
.hero .ld::first-letter{font-family:"Playfair Display",serif;font-size:62px;float:left;line-height:.82;padding:6px 12px 0 0;color:var(--amb);font-weight:800}
.acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;animation:fadeUp .9s .62s both}
.rail-l{border-left:1px solid var(--line);padding-left:32px;animation:slideR .9s .4s both}
.rail-l h4{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);font-family:"Source Sans 3";font-weight:700;margin-bottom:16px}
.rail-l ul{list-style:none;display:grid;gap:0}
.rail-l li{padding:12px 0;border-bottom:1px dotted var(--line);font-size:15.5px;display:flex;gap:12px;transition:.3s}
.rail-l li:hover{padding-left:8px;color:var(--amb)}
.rail-l li b{font-family:"Playfair Display",serif;color:var(--amb);flex:0 0 auto}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:48px;border-top:1px solid var(--line);border-bottom:3px solid var(--deep)}
.kpi{padding:26px 24px 26px 0;animation:countUp .9s both;border-right:1px solid var(--line)}
.kpi:last-child{border-right:0}
.kpi b{font-family:"Playfair Display",serif;font-size:48px;line-height:.95;color:var(--deep);display:block;letter-spacing:-.03em}
.kpi span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);font-weight:700}

/* marquee */
.mq{background:var(--deep);color:var(--pa);overflow:hidden;padding:13px 0;margin-top:0}
.mq .rl{display:flex;width:max-content;animation:marquee 38s linear infinite;font-family:"Playfair Display",serif;font-size:21px;font-style:italic}
.mq .rl span{padding:0 26px;white-space:nowrap;opacity:.9}
.mq .rl span::after{content:"—";margin-left:26px;color:var(--amb2);font-style:normal}

/* seções */
section{padding:80px 0;position:relative}
section.sf{background:var(--soft)}
section.sd{background:var(--deep);color:#e0d2bd}
section.sd h2,section.sd h3{color:var(--pa)}
section.sd .eb{color:var(--amb2)}
.sh{max-width:800px;margin-bottom:46px}
.eb{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--amb);font-weight:700;display:flex;align-items:center;gap:13px;margin-bottom:14px}
.eb::before{content:"§";font-family:"Playfair Display",serif;font-size:19px}
h2{font-size:clamp(30px,4.4vw,50px);margin-bottom:14px}
h3{font-size:23px;margin-bottom:9px}
.sh p{color:var(--mut);font-size:18.5px}
section.sd .sh p{color:#bda98f}
p+p{margin-top:15px}

/* colunas de artigo */
.cols{column-count:2;column-gap:44px}
.cols p{margin:0 0 15px}
@media(max-width:800px){.cols{column-count:1}}

/* cards editoriais */
.gr{display:grid;gap:0;border-top:1px solid var(--line)}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}
.cd{padding:34px 30px 34px 0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);position:relative;transition:.35s}
.cd:nth-child(3n){border-right:0;padding-right:0}
.cd:hover{background:var(--soft);padding-left:22px;padding-right:22px}
a.cd:hover{text-decoration:none}
.cd .id{font-family:"Playfair Display",serif;font-size:15px;font-style:italic;color:var(--amb);display:block;margin-bottom:12px}
.cd .em{font-size:31px;display:block;margin-bottom:14px;transition:.4s}
.cd:hover .em{transform:translateX(6px) rotate(-6deg)}
.cd p{color:var(--mut);font-size:16.5px}
.cd .mr{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;margin-top:18px;display:inline-block;border-bottom:1.5px solid var(--amb);padding-bottom:2px}
.cd:hover .mr{border-color:var(--deep)}

/* steps numerados grandes */
.stp{display:grid;grid-template-columns:repeat(2,1fr);gap:0}
.stp>div{padding:34px 38px 34px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:96px 1fr;gap:20px;transition:.3s}
.stp>div:hover{background:var(--soft)}
.stp .nm{font-family:"Playfair Display",serif;font-size:66px;line-height:.85;color:var(--line);letter-spacing:-.05em;transition:.35s}
.stp>div:hover .nm{color:var(--amb2)}
.stp p{color:var(--mut);font-size:16.5px}

/* chips */
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--line)}
.chips li{border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.chips a{display:block;padding:13px 20px;font-size:15.5px;color:var(--deep);font-weight:600;transition:.26s}
.chips a:hover{background:var(--deep);color:var(--amb2);text-decoration:none;letter-spacing:.03em}

/* faq */
.faq{max-width:860px}
.faq details{border-bottom:1px solid var(--line);padding:22px 0}
.faq details[open] summary{color:var(--amb)}
.faq summary{font-family:"Playfair Display",serif;font-size:22px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:baseline;color:var(--deep)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"↓";font-family:"Source Sans 3";font-size:18px;color:var(--amb);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(180deg)}
.faq details p{margin-top:12px;color:var(--mut);max-width:72ch}

/* prose */
.pr{max-width:790px}
.pr h2{margin-top:48px;padding-top:18px;border-top:3px solid var(--deep)}
.pr h3{margin-top:30px;font-size:22px;color:var(--amb)}
.pr ul,.pr ol{margin:16px 0 16px 26px;color:#4d3c2b}
.pr li{margin-bottom:9px}
.pr blockquote{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin:30px 0;font-family:"Playfair Display",serif;font-size:22px;font-style:italic;color:var(--deep);text-align:center}
.pr table{width:100%;border-collapse:collapse;margin:26px 0;font-size:16px}
.pr th,.pr td{padding:13px 14px;text-align:left;border-bottom:1px solid var(--line)}
.pr th{border-bottom:2px solid var(--deep);font-family:"Source Sans 3";font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--deep)}
.layout{display:grid;grid-template-columns:1fr 300px;gap:52px;align-items:start}
.side{border-left:1px solid var(--line);padding-left:28px;position:sticky;top:104px}
.side h4{font-family:"Playfair Display",serif;font-size:20px;margin-bottom:14px}
.side ul{list-style:none;display:grid;gap:10px;font-size:15.5px}

/* pagehead */
.ph{padding:44px 0 50px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.ph::after{content:"";position:absolute;right:-90px;top:-90px;width:300px;height:300px;border:1px solid var(--line);border-radius:50%;animation:orbit 40s linear infinite}
.ph .wrap{position:relative;z-index:2}
.ph h1{font-size:clamp(32px,5.4vw,58px);max-width:23ch;animation:fadeUp .8s both;padding-top:16px;border-top:3px solid var(--deep)}
.ph p{color:var(--mut);max-width:70ch;margin-top:16px;font-size:18.5px;animation:fadeUp .8s .12s both}
.cb{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);font-weight:700;padding-bottom:6px}
.cb a{color:var(--amb)}

/* cta */
.cta{background:var(--amb);color:#fff;padding:0;position:relative;overflow:hidden}
.cta::after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(135deg,rgba(0,0,0,.07) 0 1px,transparent 1px 20px);background-size:420px 100%;animation:flowline 13s linear infinite}
.cta .wrap{position:relative;z-index:2;display:flex;gap:28px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:56px 24px}
.cta h2{color:#fff;font-size:clamp(28px,3.8vw,42px)}
.cta p{opacity:.94;margin-top:6px}

/* footer */
footer.f{background:var(--deep);color:#b8a68f;padding:66px 0 26px;font-size:15.5px}
footer.f a{color:#eadcc6}
footer.f h4{font-family:"Playfair Display",serif;font-size:19px;color:var(--pa);margin-bottom:16px}
.fg{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.25fr;gap:40px}
.fg ul{list-style:none;display:grid;gap:10px}
.soc{display:flex;flex-wrap:wrap;gap:7px;list-style:none}
.soc a{display:block;border:1px solid rgba(255,255,255,.2);padding:6px 13px;font-size:13px;letter-spacing:.04em;transition:.25s}
.soc a:hover{background:var(--amb2);color:var(--deep);border-color:var(--amb2);text-decoration:none;transform:translateY(-2px)}
.lg{border-top:1px solid rgba(255,255,255,.14);margin-top:40px;padding-top:20px;font-size:12.5px;letter-spacing:.04em;color:#9b8a73;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

.wa-fab{position:fixed;right:18px;bottom:18px;z-index:90;width:58px;height:58px;border-radius:50%;background:var(--wa);display:grid;place-items:center;box-shadow:0 12px 28px rgba(0,0,0,.24);animation:pulseRing 2.5s infinite;transition:.25s}
.wa-fab:hover{transform:scale(1.1)}
.wa-fab svg{width:30px;height:30px;fill:#fff}

@media(max-width:980px){.subgrid{grid-template-columns:1fr}.rail-l{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:26px}.g3{grid-template-columns:repeat(2,1fr)}.cd:nth-child(3n){border-right:1px solid var(--line);padding-right:30px}.fg{grid-template-columns:repeat(2,1fr)}.layout{grid-template-columns:1fr}.side{position:static;border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:24px}}
@media(max-width:640px){body{font-size:17px}.g2,.g3,.stp,.fg,.kpis{grid-template-columns:1fr}.cd{border-right:0;padding-right:0}.kpi{border-right:0;border-bottom:1px solid var(--line)}section{padding:58px 0}nav.n{display:none}}
