:root{
  --g0:#04100c; --g1:#071a15; --g2:#0b231c; --g3:#12362b;
  --gold:#c8ab78; --gold2:#e3cfa5; --goldd:#8a6f43;
  --ivory:#f6f2ea; --ivory2:#ece6d9; --white:#fff; --ink:#0d1f18; --muted:#55645c; --text:#eeece6; --soft:#a9b4ad;
  --line:rgba(200,171,120,.2); --lined:rgba(13,31,24,.13);
  --sans:"Sora",system-ui,sans-serif; --wrap:1200px; --sec:112px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{font-family:var(--sans);font-weight:400;color:var(--ink);background:var(--g1);line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{display:block;max-width:100%}
.wrap{width:min(var(--wrap),100% - 48px);margin-inline:auto}
h1,h2,h3{font-weight:500;line-height:1.18;letter-spacing:-.022em}
h2{font-size:clamp(1.75rem,3vw,2.5rem);max-width:640px}
p{font-weight:300}
.eyebrow{display:flex;align-items:center;gap:.8rem;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:1.25rem}
.eyebrow--d{color:var(--goldd)}
.sec{padding:var(--sec) 0}
.sec--dark{background:var(--g1);color:var(--text)}.sec--dark2{background:var(--g0);color:var(--text)}
.sec--light{background:var(--ivory)}
.sec--dark .head__p,.sec--dark2 .head__p{color:var(--soft)}
/* section head */
.head{display:grid;grid-template-columns:1.2fr .8fr;gap:4rem;align-items:end;margin-bottom:64px}
.head__p{color:var(--muted);font-size:.98rem;max-width:420px;margin-top:1.25rem}.head .head__p{margin:0;justify-self:end}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:.7rem;justify-content:center;padding:1.05rem 1.9rem;border-radius:6px;font:500 .78rem var(--sans);letter-spacing:.12em;text-transform:uppercase;border:1px solid transparent;transition:.25s;cursor:pointer}
.btn i{font-style:normal;transition:transform .25s}.btn:hover i{transform:translateX(4px)}
.btn--gold{background:var(--gold);color:#1a1408}
.btn--gold:hover{background:var(--gold2)}
.btn--ghost{border-color:rgba(238,236,230,.35);color:var(--text)}.btn--ghost:hover{border-color:var(--gold);color:var(--gold2)}
.btn--sm{padding:.7rem 1.2rem;font-size:.7rem;border-color:var(--gold);color:var(--gold2)}.btn--sm:hover{background:var(--gold);color:#1a1408}
/* header */
.header{position:fixed;inset:0 0 auto 0;z-index:50;transition:.3s}
.header.scrolled{background:rgba(4,16,12,.94);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line)}
.header__in{display:flex;align-items:center;justify-content:space-between;height:84px}
.brand{display:flex;align-items:center;gap:.85rem}
.mono{width:40px;height:40px;color:var(--gold);flex:none}.mono svg{width:100%;height:100%}
.brand__txt{display:flex;flex-direction:column;line-height:1.2;color:var(--text)}
.brand__txt b{font-weight:600;font-size:.92rem}
.brand__txt small{font-size:.58rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:400;margin-top:2px}
.nav{display:flex;align-items:center;gap:2rem;font-size:.8rem;color:var(--text)}
.nav a:not(.btn){opacity:.78;transition:.2s;font-weight:400}.nav a:not(.btn):hover{opacity:1;color:var(--gold2)}
.burger{display:none;background:none;border:0;width:44px;height:44px;position:relative;cursor:pointer}
.burger span{position:absolute;left:10px;right:10px;height:2px;background:var(--gold2);transition:.3s}
.burger span:first-child{top:17px}.burger span:last-child{top:25px}
/* hero */
.hero{background:linear-gradient(180deg,var(--g1),var(--g0));color:var(--text);padding:148px 0 0;position:relative}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 78% 35%,rgba(23,64,51,.8),transparent 70%);pointer-events:none}
.hero__in{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center;padding-bottom:88px}
.hero h1{font-size:clamp(2.2rem,4vw,3.4rem);font-weight:500;letter-spacing:-.03em;margin-bottom:1.6rem}
.lead{color:var(--soft);max-width:520px;margin-bottom:2.4rem;font-size:1.02rem;line-height:1.8}
.hero__btns{display:flex;gap:1rem;flex-wrap:wrap}
.hero__vis{position:relative;justify-self:end;width:min(440px,100%)}
.portrait{aspect-ratio:4/5;border-radius:4px;overflow:hidden;position:relative;background:linear-gradient(180deg,var(--g3),var(--g0));border:1px solid var(--line)}
.portrait::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(4,16,12,.8));pointer-events:none}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 14%}
.hero__vis::before{content:"";position:absolute;inset:20px -20px -20px 20px;border:1px solid var(--line);border-radius:4px;z-index:0}
.portrait{z-index:1}
.hero__name{position:absolute;z-index:2;left:24px;bottom:22px;display:flex;flex-direction:column;line-height:1.4}
.hero__name b{font-weight:600;font-size:1.02rem}
.hero__name span{font-size:.74rem;color:var(--gold2);letter-spacing:.04em}
.facts{position:relative;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.facts li{padding:32px 28px 36px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:.35rem}
.facts li:first-child{padding-left:0}.facts li:last-child{border-right:0}
.facts b{font-size:1.6rem;font-weight:500;color:var(--gold2);letter-spacing:-.02em}
.facts span{font-size:.82rem;color:var(--soft);line-height:1.5;font-weight:300}
/* sobre */
.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:96px;align-items:center}
.frame{aspect-ratio:4/5;border-radius:4px;overflow:hidden;background:var(--g1)}
.frame img{width:100%;height:100%;object-fit:cover;object-position:50% 12%}
.caption{margin-top:1.1rem;font-size:.82rem;color:var(--muted);line-height:1.5;border-left:2px solid var(--gold);padding-left:1rem;font-weight:300}
.caption b{display:block;color:var(--ink);font-weight:600;font-size:.92rem}
.about__txt h2{margin-bottom:1.25rem}
.lede{font-size:1.15rem;color:var(--goldd);font-weight:500;margin-bottom:1.5rem}
.about__txt p{color:var(--muted);margin-bottom:1rem;max-width:560px}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--lined)}
.pillars b{display:block;font-weight:600;font-size:.95rem;margin-bottom:.3rem}
.pillars span{font-size:.84rem;color:var(--muted);line-height:1.55;display:block;font-weight:300}
/* áreas */
.areas{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:4px}
.area{padding:44px 36px;border-right:1px solid var(--line);display:flex;flex-direction:column;transition:background .3s}
.area:last-child{border-right:0}.area:hover{background:rgba(200,171,120,.05)}
.area__n{font-size:.78rem;color:var(--gold);letter-spacing:.16em;font-weight:500}
.area h3{font-size:1.5rem;margin:1.5rem 0 .75rem}
.area>p{color:var(--soft);font-size:.92rem;margin-bottom:1.75rem;min-height:3.2em}
.area ul{margin-bottom:2rem;flex:1}
.area li{padding:.8rem 0;border-top:1px solid var(--line);font-size:.88rem;color:var(--text);font-weight:300}
.area li:last-child{border-bottom:1px solid var(--line)}
.area__a{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold2);font-weight:500;display:inline-flex;gap:.6rem;align-items:center}
.area__a i{font-style:normal;transition:transform .25s}.area__a:hover i{transform:translateX(5px)}
/* diferenciais */
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.feat{background:var(--white);border:1px solid var(--lined);border-radius:4px;padding:36px 32px;transition:.3s}
.feat:hover{border-color:var(--gold);box-shadow:0 24px 40px -28px rgba(7,26,21,.4)}
.feat i{display:grid;place-items:center;width:48px;height:48px;border-radius:4px;background:var(--g1);margin-bottom:28px}
.feat svg{width:22px;height:22px;fill:none;stroke:var(--gold);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.feat h3{font-size:1.08rem;font-weight:600;margin-bottom:.6rem;letter-spacing:-.01em}
.feat p{font-size:.9rem;color:var(--muted)}
/* etapas */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
.steps li{padding:36px 32px 0 0;position:relative}
.steps li+li{padding-left:32px;border-left:1px solid var(--line)}
.steps span{font-size:.78rem;color:var(--gold);letter-spacing:.16em;font-weight:500}
.steps h3{font-size:1.25rem;margin:1rem 0 .7rem}
.steps p{font-size:.9rem;color:var(--soft)}
/* avaliações */
.score{display:flex;align-items:center;gap:1.1rem;justify-self:end}
.score b{font-size:3.4rem;font-weight:500;letter-spacing:-.04em;line-height:1}
.score div{display:flex;flex-direction:column;line-height:1.4}.score small{font-size:.8rem;color:var(--muted)}
.stars{color:var(--gold);letter-spacing:.16em}
.quotes{display:grid;grid-template-columns:1fr 1fr;gap:24px}
blockquote{background:var(--white);border:1px solid var(--lined);border-radius:4px;padding:40px;display:flex;flex-direction:column;gap:1.5rem}
blockquote p{font-size:1.15rem;font-weight:300;line-height:1.65;color:var(--ink);flex:1}
cite{font-style:normal;font-size:.86rem;font-weight:600;padding-top:1.25rem;border-top:1px solid var(--lined)}cite small{font-weight:300;color:var(--muted)}
/* faq */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:96px;align-items:start}
.faq h2{font-size:clamp(1.6rem,2.6vw,2.2rem)}
details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;font-weight:500;font-size:1.02rem;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:26px 0}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--gold);font-size:1.5rem;line-height:1;transition:transform .3s;flex:none}
details[open] summary::after{transform:rotate(45deg)}
details p{padding:0 3rem 26px 0;color:var(--soft);font-size:.95rem;max-width:600px}
/* contato */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:start}
.contact h2{margin-bottom:0}
.info{margin-top:2.5rem}.info li{padding:1.15rem 0;border-top:1px solid var(--line);font-size:.95rem;font-weight:300}
.info li:last-child{border-bottom:1px solid var(--line)}
.info b{display:block;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.3rem;font-weight:500}
.info a:hover{color:var(--gold2)}
.form{background:var(--g1);border:1px solid var(--line);padding:44px;border-radius:4px;display:grid;gap:1.25rem}
.form h3{font-size:1.3rem;margin-bottom:.25rem}
.form label{display:grid;gap:.5rem;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:500}
.form input,.form select,.form textarea{font:300 .98rem var(--sans);letter-spacing:0;text-transform:none;padding:.95rem 1rem;border-radius:4px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--text);outline:none;transition:.2s;width:100%}
.form input::placeholder,.form textarea::placeholder{color:#6b7a72}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--gold)}
.form option{color:#111}
.form small{font-size:.76rem;color:var(--soft);font-weight:300}
.form .btn{width:100%;margin-top:.25rem}
/* footer */
.footer{background:#030c09;color:var(--soft);padding:80px 0 32px;border-top:1px solid var(--line);font-size:.88rem}
.footer__top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px;padding-bottom:56px}
.footer__top p{margin-top:1.25rem;max-width:300px;line-height:1.7}
.footer h4{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1.1rem;font-weight:500}
.footer__top a:not(.brand){display:block;padding:.28rem 0;font-weight:300}.footer__top a:not(.brand):hover{color:var(--gold2)}
.footer__b{border-top:1px solid var(--line);padding-top:1.75rem;font-size:.76rem;line-height:1.7;max-width:880px}
.fab{position:fixed;right:24px;bottom:24px;z-index:60;width:56px;height:56px;border-radius:50%;background:var(--gold);color:#1a1408;display:grid;place-items:center;box-shadow:0 12px 28px -8px rgba(0,0,0,.6);transition:.25s}.fab:hover{transform:scale(1.07);background:var(--gold2)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:1060px){
  :root{--sec:88px}
  .burger{display:block}
  .nav{position:fixed;inset:84px 0 auto 0;background:var(--g0);flex-direction:column;align-items:flex-start;padding:1.5rem 24px 2rem;gap:1.3rem;display:none;border-bottom:1px solid var(--line)}
  .nav.open{display:flex}
  .hero{padding-top:120px}.hero__in{grid-template-columns:1fr;gap:56px;padding-bottom:64px}
  .hero__vis{justify-self:start;width:min(400px,calc(100% - 20px))}
  .facts{grid-template-columns:1fr 1fr}.facts li:nth-child(2){border-right:0}.facts li:nth-child(n+3){border-top:1px solid var(--line)}.facts li:nth-child(3){padding-left:0}
  .about,.faq,.contact{grid-template-columns:1fr;gap:56px}.about__vis{max-width:420px}
  .head{grid-template-columns:1fr;gap:1.25rem;margin-bottom:48px}.head .head__p,.score{justify-self:start}
  .areas{grid-template-columns:1fr}.area{border-right:0;border-bottom:1px solid var(--line)}.area:last-child{border-bottom:0}.area>p{min-height:0}
  .feats{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}
  .steps li:nth-child(3){padding-left:0;border-left:0}.steps li:nth-child(n+3){border-top:1px solid var(--line);margin-top:32px}
  .footer__top{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  :root{--sec:72px}
  .wrap{width:calc(100% - 40px)}
  .btn{width:100%}.hero__btns{flex-direction:column}
  .feats,.quotes,.steps,.pillars,.footer__top{grid-template-columns:1fr}
  .steps li,.steps li+li{padding:28px 0 0;border-left:0;margin-top:0}.steps li+li{border-top:1px solid var(--line);margin-top:28px}
  .facts li{padding:24px 16px 24px 0}.facts li:nth-child(even){padding-left:16px}.facts b{font-size:1.35rem}
  .area{padding:36px 24px}.blockquote,blockquote{padding:28px}.form{padding:28px}
  summary{font-size:.96rem}details p{padding-right:0}
  .score b{font-size:2.8rem}
}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* animações suaves */
:root{--ease:cubic-bezier(.22,.7,.2,1)}
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0s)}
.js .reveal.in{opacity:1;transform:none}
@keyframes up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes imgin{from{opacity:0;transform:scale(1.06)}to{opacity:1;transform:none}}
.hero__txt>*{animation:up 1s var(--ease) both}
.hero__txt>:nth-child(1){animation-delay:.15s}.hero__txt>:nth-child(2){animation-delay:.3s}
.hero__txt>:nth-child(3){animation-delay:.45s}.hero__txt>:nth-child(4){animation-delay:.6s}
.hero__vis{animation:fade 1.2s var(--ease) .3s both}
.portrait img{animation:imgin 1.8s var(--ease) .3s both}
.hero__vis::before{animation:fade 1.6s ease .9s both}
.facts li{animation:up 1s var(--ease) both}
.facts li:nth-child(1){animation-delay:.8s}.facts li:nth-child(2){animation-delay:.9s}.facts li:nth-child(3){animation-delay:1s}.facts li:nth-child(4){animation-delay:1.1s}
.header{animation:fade .9s ease both}
.header__in{transition:height .35s var(--ease)}.header.scrolled .header__in{height:72px}
.btn,.area,.feat,.nav a,.area__a,.fab{transition-timing-function:var(--ease)}
.btn--gold:hover,.btn--ghost:hover{transform:translateY(-2px)}
.btn{transition:transform .35s var(--ease),background .3s,color .3s,border-color .3s}
.feat{transition:transform .45s var(--ease),border-color .3s,box-shadow .45s var(--ease)}
.feat:hover{transform:translateY(-6px)}
.feat i{transition:transform .45s var(--ease)}.feat:hover i{transform:scale(1.08) rotate(-4deg)}
.area{transition:background .45s var(--ease)}
.area li{transition:padding-left .35s var(--ease),color .3s}.area:hover li{color:#fff}.area li:hover{padding-left:.6rem}
.frame img,.portrait img{transition:transform 1.4s var(--ease)}
.frame:hover img{transform:scale(1.03)}
.frame{overflow:hidden}
blockquote{transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
blockquote:hover{transform:translateY(-4px);box-shadow:0 24px 40px -30px rgba(7,26,21,.45)}
details p{animation:up .5s var(--ease) both}
summary{transition:color .3s}summary:hover{color:var(--gold2)}
.fab{animation:fade 1s ease 1.6s both}
.fab::after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid var(--gold);animation:ring 3s ease-out 2.5s infinite}
@keyframes ring{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.7);opacity:0}}
.fab{position:fixed}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}.js .reveal{opacity:1;transform:none}}

/* v3: logo oficial, áreas em grade, consumidor em largura total */
.brand__img{width:44px;height:44px;object-fit:contain;flex:none}
.footer__logo{width:min(260px,100%);height:auto}
.footer__top p{margin-top:1rem}
.areas{grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);overflow:hidden}
.area{background:var(--g1);border:0}
.area:hover{background:#0c231c}
.area--wide{grid-column:1/-1}
.area--wide ul{columns:2;column-gap:56px;margin-bottom:2rem}
.area--wide li{break-inside:avoid}
.area--wide>p{max-width:640px;min-height:0}
.area ul{flex:none}
.area--wide li:nth-child(5){border-bottom:1px solid var(--line)}
@media(max-width:1060px){.areas{grid-template-columns:1fr}.area--wide ul{columns:1}}
