@font-face{font-family:"Cormorant";src:url(../fontes/cormorant-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:"Cormorant";src:url(../fontes/cormorant-latin-wght-italic.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:"Jost";src:url(../fontes/jost-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--bg:#0E0C0A;--surface:#17140F;--ink:#F4ECDD;--mut:#B8AC97;--line:#2C261D;--tint:#1B1712;--acc:#38BDF8;--acc-ink:#111111;--acc-t:#38BDF8;--acc-deep:#2d97c6;--sec:#8C6B2F;--sec-ink:#FFFFFF;--dark:#070605;--dark-ink:#F4ECDD;--dark-acc:#38BDF8;--dark-mut:#a19c91;--r:4px;--rb:2px;--dw:500;--dt:-0.01em;--dc:none;--sombra:0 1px 0 rgba(255,255,255,.04),0 26px 50px -30px rgba(0,0,0,.9);--display:"Cormorant",Georgia,"Times New Roman",serif;--body:"Jost",system-ui,"Segoe UI",Roboto,Arial,sans-serif;color-scheme:dark}/* fábrica de sites · sistema de design base. Tokens (cores, fontes, raio) vêm do :root gerado pelo tema. */
:root{--gut:clamp(1.25rem,4vw,2.5rem)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 clamp(1rem,.95rem + .25vw,1.0625rem)/1.65 var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
body.travado{overflow:hidden}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:var(--acc-t);text-underline-offset:.22em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
h1,h2,h3,h4{font-family:var(--display);font-weight:var(--dw);letter-spacing:var(--dt);text-transform:var(--dc);line-height:1.05;margin:0 0 .5em;text-wrap:balance}
h1{font-size:clamp(2.45rem,1.4rem + 5vw,5.1rem)}
h2{font-size:clamp(1.95rem,1.3rem + 2.8vw,3.4rem)}
h3{font-size:clamp(1.18rem,1.08rem + .5vw,1.5rem);line-height:1.2}
h4{font-size:1.05rem;line-height:1.3}
em{font-style:italic;color:var(--acc-t)}
html[data-it="0"] em{font-style:normal;background:linear-gradient(transparent 64%,color-mix(in srgb,var(--sec) 60%,transparent) 64%);color:inherit;padding-inline:.06em}
p{margin:0 0 1em;text-wrap:pretty}
ul,ol{margin:0;padding:0}
:focus-visible{outline:3px solid var(--acc-t);outline-offset:3px;border-radius:4px}
::selection{background:var(--acc);color:var(--acc-ink)}
.pular{position:absolute;left:-9999px;top:0}
.pular:focus{left:12px;top:12px;z-index:200;background:var(--ink);color:var(--bg);padding:.8rem 1.1rem;border-radius:10px}
.wrap{width:min(1200px,100% - 2*var(--gut));margin-inline:auto}
.ic{width:1.25rem;height:1.25rem;flex:none}

/* ---------- tipografia utilitária ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:.7rem;margin:0 0 1.1rem;font:700 .76rem/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--acc-t)}
.eyebrow::before{content:"";width:1.75rem;height:2px;background:currentColor;border-radius:2px}
.lede{font-size:clamp(1.08rem,1rem + .55vw,1.35rem);line-height:1.55;color:var(--mut);max-width:34em}
.sub{font-size:clamp(1.02rem,.98rem + .3vw,1.2rem);color:var(--mut);max-width:40em;margin:0}

/* ---------- seções ---------- */
.sec{padding-block:clamp(3.5rem,8vw,7rem)}
.sec--tint{background:var(--tint)}
.sec--escuro{background:var(--dark);color:var(--dark-ink);--acc-t:var(--dark-acc);--mut:var(--dark-mut);--line:color-mix(in srgb,var(--dark-ink) 16%,transparent);--surface:color-mix(in srgb,var(--dark-ink) 7%,var(--dark));--tint:color-mix(in srgb,var(--dark-ink) 10%,var(--dark));--ink:var(--dark-ink)}
.sec--acento{background:var(--acc);color:var(--acc-ink);--acc-t:var(--acc-ink);--mut:color-mix(in srgb,var(--acc-ink) 88%,var(--acc));--line:color-mix(in srgb,var(--acc-ink) 25%,transparent);--ink:var(--acc-ink)}
.sec-cab{max-width:46rem;margin-bottom:clamp(2rem,4.5vw,3.75rem)}
.sec-cab--centro{text-align:center;margin-inline:auto}
.sec-cab--centro .sub{margin-inline:auto}
.sec-cab h2{margin-bottom:.35em}
.acoes{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.9rem}
.acoes--centro{justify-content:center}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:3.1rem;padding:.8rem 1.55rem;border-radius:var(--rb);border:2px solid transparent;font:700 .98rem/1.1 var(--body);letter-spacing:.005em;text-decoration:none;cursor:pointer;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s,background-color .22s,color .22s,border-color .22s;text-wrap:balance}
.btn .ic{width:1.2em;height:1.2em}
.btn--p{background:var(--acc);color:var(--acc-ink)}
.btn--p:hover{background:var(--acc-deep);transform:translateY(-2px);box-shadow:0 16px 30px -16px var(--acc)}
.btn--s{background:transparent;color:var(--ink);border-color:color-mix(in srgb,var(--ink) 38%,transparent)}
.btn--s:hover{border-color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent);transform:translateY(-2px)}
.btn--sm{min-height:2.75rem;padding:.55rem 1.1rem;font-size:.92rem}
.btn--lg{min-height:3.5rem;padding:.95rem 1.9rem;font-size:1.04rem}
.sec--acento .btn--p,.cta-banner--acento .btn--p{background:var(--acc-ink);color:var(--acc)}
.sec--acento .btn--p:hover{background:var(--acc-ink);filter:brightness(.94)}

/* ---------- aviso e cabeçalho ---------- */
.aviso{background:var(--dark);color:var(--dark-ink);text-align:center;font:600 .86rem/1.4 var(--body);padding:.6rem var(--gut)}
.aviso a{color:var(--dark-acc)}
.topo{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:saturate(1.5) blur(14px);backdrop-filter:saturate(1.5) blur(14px);border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}
.topo.rolou{border-color:var(--line);box-shadow:0 10px 30px -24px rgba(0,0,0,.45)}
.topo__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.5rem}
.logo{display:inline-flex;align-items:center;gap:.7rem;min-height:2.75rem;color:var(--ink);text-decoration:none;font:var(--dw) 1.28rem/1 var(--display);letter-spacing:var(--dt);text-transform:var(--dc)}
.logo__m{display:grid;place-items:center;width:2.5rem;height:2.5rem;flex:none;border-radius:calc(var(--r)*.55);background:var(--acc);color:var(--acc-ink);font:800 .95rem/1 var(--body);letter-spacing:.02em;text-transform:none}
.nav{display:flex;align-items:center;gap:.15rem}
.nav a{display:inline-flex;align-items:center;min-height:2.75rem;padding:0 1rem;border-radius:999px;color:var(--ink);text-decoration:none;font-weight:600;font-size:.96rem;transition:background-color .2s}
.nav a:hover{background:var(--tint)}
.nav a[aria-current=page]{background:var(--tint);box-shadow:inset 0 0 0 1px var(--line)}
.topo__acoes{display:flex;align-items:center;gap:.6rem}
.nav-btn{display:none;width:2.9rem;height:2.9rem;border-radius:calc(var(--r)*.6);border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;place-items:center;padding:0}
.nav-btn .ic{width:1.4rem;height:1.4rem}
@media (max-width:920px){
.nav-btn{display:grid}
.topo__cta{display:none}
.nav{position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 5rem);overflow:auto;flex-direction:column;align-items:stretch;gap:.25rem;padding:1rem var(--gut) 1.75rem;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 30px 50px -30px rgba(0,0,0,.5);transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s}
.nav.on{opacity:1;transform:none;visibility:visible}
.nav a{min-height:3.25rem;font-size:1.05rem;border-radius:var(--r);padding:0 1rem}
}

/* ---------- hero ---------- */
.hero{position:relative;isolation:isolate;padding-block:clamp(2.5rem,6vw,5.5rem) clamp(3rem,7vw,6rem);overflow:clip}
.hero::before{content:"";position:absolute;z-index:-1;inset:-25% -12% auto auto;width:62vw;max-width:60rem;aspect-ratio:1;background:radial-gradient(circle,color-mix(in srgb,var(--acc) 15%,transparent),transparent 62%)}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.hero h1{margin-bottom:.4em}
.selos{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;list-style:none;margin:1.9rem 0 0;color:var(--mut);font-size:.95rem;font-weight:600}
.selos li{display:inline-flex;align-items:center;gap:.5rem}
.selos .ic{width:1.15rem;height:1.15rem;color:var(--acc-t)}
.prova{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .9rem;margin-top:1.6rem;font-size:.95rem;color:var(--mut)}
.prova b{color:var(--ink);font-size:1.15rem}
.estrelas{display:inline-flex;gap:.1rem;color:var(--sec)}
.estrelas .ic{width:1.05rem;height:1.05rem;fill:currentColor;stroke:none}
.hero__v{min-width:0}
.hero--centralizado .hero__grid{grid-template-columns:1fr;text-align:center;justify-items:center}
.hero--centralizado .lede{margin-inline:auto}
.hero--centralizado .acoes,.hero--centralizado .selos,.hero--centralizado .prova{justify-content:center}
.hero--centralizado .hero__v{width:min(100%,56rem)}
.hero--tipografico .hero__grid{grid-template-columns:1fr}
.hero--tipografico h1{font-size:clamp(3rem,1rem + 9.4vw,9.5rem);line-height:.92;letter-spacing:-.045em;max-width:14ch}
.hero--imagem-total{color:#fff;min-height:min(88vh,54rem);display:grid;align-items:end;--ink:#fff;--mut:rgba(255,255,255,.9);--acc-t:#fff}
.hero--imagem-total .hero__bg{position:absolute;inset:0;z-index:-2}
.hero--imagem-total .hero__bg img{width:100%;height:100%;object-fit:cover}
.hero--imagem-total::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,.78))}
.hero--imagem-total::before{display:none}
.hero--imagem-total .hero__grid{grid-template-columns:minmax(0,46rem)}
.hero--imagem-total .btn--s{color:#fff;border-color:rgba(255,255,255,.7)}
.faixa-texto{overflow:hidden;border-block:1px solid var(--line);padding:1.1rem 0;margin-top:clamp(2rem,5vw,4rem);white-space:nowrap;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.faixa-texto__in{display:inline-flex;gap:2.5rem;padding-left:2.5rem;animation:corre 40s linear infinite}
.faixa-texto span{display:inline-flex;align-items:center;gap:2.5rem;font:var(--dw) clamp(1.1rem,2.4vw,1.7rem)/1 var(--display);letter-spacing:var(--dt);text-transform:var(--dc)}
.faixa-texto span::after{content:"✦";color:var(--acc-t);font-size:.7em}
@keyframes corre{to{transform:translateX(-50%)}}
@media (max-width:900px){.hero__grid{grid-template-columns:1fr}.hero__v{order:2}}

/* mosaico de itens */
.mosaico{position:relative;display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:clamp(58px,8vw,100px);gap:.85rem}
.mosaico__i{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--sombra)}
.mosaico__i .capa{position:absolute;inset:0;aspect-ratio:auto;height:100%;border-radius:0}
.mosaico__i:nth-child(1){grid-column:1/5;grid-row:1/4}
.mosaico__i:nth-child(2){grid-column:5/7;grid-row:1/3}
.mosaico__i:nth-child(3){grid-column:5/7;grid-row:3/6}
.mosaico__i:nth-child(4){grid-column:1/3;grid-row:4/6}
.mosaico__i:nth-child(5){grid-column:3/5;grid-row:4/6}
.mosaico--n3 .mosaico__i:nth-child(1){grid-column:1/5;grid-row:1/6}
.mosaico--n3 .mosaico__i:nth-child(2){grid-column:5/7;grid-row:1/3}
.mosaico--n3 .mosaico__i:nth-child(3){grid-column:5/7;grid-row:3/6}
.mosaico--n4 .mosaico__i:nth-child(1){grid-column:1/5;grid-row:1/4}
.mosaico--n4 .mosaico__i:nth-child(2){grid-column:5/7;grid-row:1/4}
.mosaico--n4 .mosaico__i:nth-child(3){grid-column:1/4;grid-row:4/6}
.mosaico--n4 .mosaico__i:nth-child(4){grid-column:4/7;grid-row:4/6}
.mosaico__tag{position:absolute;left:1rem;bottom:1rem;z-index:3;display:grid;gap:.15rem;max-width:calc(100% - 2rem);padding:.7rem .95rem;border-radius:calc(var(--r)*.6);background:var(--surface);color:var(--ink);box-shadow:var(--sombra)}
@media (max-width:600px){.mosaico__tag{left:.6rem;bottom:.6rem;padding:.5rem .65rem}.mosaico__tag b{font-size:.85rem}.mosaico__tag span{font-size:.78rem}}
.mosaico__tag b{font:var(--dw) 1rem/1.15 var(--display);letter-spacing:var(--dt)}
.mosaico__tag span{font-size:.88rem;color:var(--mut)}

/* cartão de conversa (WhatsApp) */
.zap{width:100%;max-width:27rem;margin-inline:auto;background:var(--surface);border:1px solid var(--line);border-radius:calc(var(--r)*1.5);box-shadow:var(--sombra);overflow:hidden}
.zap__top{display:flex;align-items:center;gap:.8rem;padding:1rem 1.2rem;background:var(--dark);color:var(--dark-ink)}
.zap__av{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--dark-acc);color:var(--dark);font:800 .9rem var(--body)}
.zap__top b{display:block;line-height:1.2}
.zap__top small{display:block;color:var(--dark-mut);font-size:.82rem}
.zap__msgs{display:grid;gap:.65rem;padding:1.3rem 1.1rem 1.6rem;background:color-mix(in srgb,var(--tint) 70%,var(--surface))}
.bolha{max-width:86%;padding:.7rem .95rem;border-radius:1.1rem;font-size:.96rem;line-height:1.45;color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.bolha--eu{justify-self:end;background:color-mix(in srgb,var(--acc) 17%,var(--surface));border-bottom-right-radius:.3rem}
.bolha--ela{justify-self:start;background:var(--surface);border-bottom-left-radius:.3rem}

/* malha decorativa */
.malha{position:relative;width:100%;max-width:34rem;aspect-ratio:1;margin-inline:auto;display:grid;place-items:center}
.blob{position:absolute;border-radius:50%}
.blob.b1{width:68%;aspect-ratio:1;left:2%;top:4%;background:radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--acc) 82%,#fff),var(--acc))}
.blob.b2{width:44%;aspect-ratio:1;right:2%;bottom:6%;background:var(--sec)}
.blob.b3{width:26%;aspect-ratio:1;left:10%;bottom:8%;background:color-mix(in srgb,var(--acc) 20%,var(--bg));box-shadow:inset 0 0 0 2px var(--acc)}
.malha__cartao{position:relative;z-index:2;width:min(88%,22rem);padding:1.4rem 1.6rem;border-radius:calc(var(--r)*1.3);background:color-mix(in srgb,var(--surface) 86%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid color-mix(in srgb,var(--surface) 60%,transparent);box-shadow:var(--sombra)}
.malha__cartao b{display:block;font:var(--dw) 1.2rem/1.2 var(--display);letter-spacing:var(--dt);margin-bottom:.6rem}
.malha__cartao ul{list-style:none;display:grid;gap:.5rem;color:var(--mut);font-size:.95rem}
.malha__cartao li{display:flex;gap:.55rem;align-items:flex-start}
.malha__cartao .ic{width:1.1rem;height:1.1rem;margin-top:.2rem;color:var(--acc-t)}

/* fotos */
.moldura{position:relative;margin:0;border-radius:calc(var(--r)*1.3);overflow:hidden;background:var(--c,var(--tint));box-shadow:var(--sombra)}
.moldura img{width:100%;height:100%;object-fit:cover}
.moldura--4x5{aspect-ratio:4/5}.moldura--4x3{aspect-ratio:4/3}.moldura--1x1{aspect-ratio:1}.moldura--hero{aspect-ratio:5/6;max-height:72vh}
.selo-flutuante{position:absolute;left:1rem;bottom:1rem;max-width:calc(100% - 2rem);padding:.8rem 1rem;border-radius:calc(var(--r)*.7);background:var(--surface);box-shadow:var(--sombra);color:var(--ink)}
.selo-flutuante b{display:block;font:var(--dw) 1.05rem/1.2 var(--display)}
.selo-flutuante span{color:var(--mut);font-size:.9rem}

/* ---------- faixa de informações ---------- */
.info{border-block:1px solid var(--line);background:var(--surface)}
.info__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}
.info__item{display:flex;gap:1rem;align-items:center;padding:1.4rem 1.2rem}
.info__item+.info__item{border-left:1px solid var(--line)}
.info__item .ic{width:2.8rem;height:2.8rem;padding:.72rem;border-radius:50%;background:color-mix(in srgb,var(--acc) 12%,var(--surface));color:var(--acc-t)}
.info__item b{display:block;line-height:1.25}
.info__item span{color:var(--mut);font-size:.95rem}
@media (max-width:700px){.info__item+.info__item{border-left:0;border-top:1px solid var(--line)}}

/* ---------- destaques ---------- */
.grade-dest{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16.5rem),1fr));gap:clamp(1rem,2vw,1.5rem)}
.dest{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.4rem,2.4vw,2rem);transition:transform .25s,box-shadow .25s,border-color .25s}
.dest:hover{transform:translateY(-3px);box-shadow:var(--sombra);border-color:color-mix(in srgb,var(--acc) 30%,var(--line))}
.dest__ic{display:grid;place-items:center;width:3.4rem;height:3.4rem;border-radius:calc(var(--r)*.7);background:color-mix(in srgb,var(--acc) 12%,var(--surface));color:var(--acc-t);margin-bottom:1.2rem}
.dest__ic .ic{width:1.65rem;height:1.65rem}
.dest h3{margin-bottom:.45rem}
.dest p{color:var(--mut);margin:0}
.grade-dest--bento{grid-template-columns:repeat(4,1fr)}
.grade-dest--bento .dest--grande{grid-column:span 2;grid-row:span 2;background:var(--acc);color:var(--acc-ink);border-color:transparent;display:flex;flex-direction:column;justify-content:flex-end;--mut:color-mix(in srgb,var(--acc-ink) 90%,var(--acc))}
.grade-dest--bento .dest--grande .dest__ic{background:color-mix(in srgb,var(--acc-ink) 16%,transparent);color:var(--acc-ink)}
.grade-dest--bento .dest--grande h3{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.4rem)}
@media (max-width:900px){.grade-dest--bento{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.grade-dest--bento{grid-template-columns:1fr}.grade-dest--bento .dest--grande{grid-column:auto;grid-row:auto}}

/* passos */
.passos{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:clamp(1.5rem,3vw,2.5rem)}
.passo{position:relative;padding-top:4.3rem}
.passo__n{position:absolute;left:0;top:0;display:grid;place-items:center;width:3.2rem;height:3.2rem;border-radius:50%;background:var(--acc);color:var(--acc-ink);font:800 1.1rem var(--body)}
.passos--linha .passo::before{content:"";position:absolute;left:3.6rem;right:calc(-1*clamp(1.5rem,3vw,2.5rem) + .4rem);top:1.55rem;border-top:2px dashed var(--line)}
.passos--linha .passo:last-child::before{display:none}
@media (max-width:760px){.passos--linha .passo::before{display:none}}
.passo p{color:var(--mut);margin:0}

/* números */
.numeros{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:clamp(1.5rem,3vw,3rem)}
.num{border-top:2px solid var(--acc-t);padding-top:1.1rem}
.num b{display:block;font:var(--dw) clamp(2.6rem,1.6rem + 4vw,4.6rem)/.95 var(--display);letter-spacing:var(--dt)}
.num span{display:block;margin-top:.6rem;color:var(--mut);font-weight:500}

/* duas colunas */
.duas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,6vw,6rem);align-items:center}
.duas--inv .duas__vis{order:-1}
@media (max-width:860px){.duas{grid-template-columns:1fr}.duas--inv .duas__vis{order:0}}
.lista-check{list-style:none;display:grid;gap:.8rem;margin:1.4rem 0 0}
.lista-check li{display:flex;gap:.8rem;align-items:flex-start}
.lista-check .ic{width:1.4rem;height:1.4rem;margin-top:.15rem;color:var(--acc-t)}
.cartao-vis{background:var(--surface);border:1px solid var(--line);border-radius:calc(var(--r)*1.3);padding:clamp(1.5rem,3vw,2.5rem);box-shadow:var(--sombra)}
.cartao-vis h3{margin-bottom:.4rem}
.monograma{display:grid;place-items:center;aspect-ratio:1;border-radius:calc(var(--r)*1.6);background:var(--acc);color:var(--acc-ink);font:var(--dw) clamp(5rem,16vw,11rem)/1 var(--display);letter-spacing:var(--dt);position:relative;overflow:hidden}
.monograma::after{content:"";position:absolute;inset:auto -20% -40% auto;width:80%;aspect-ratio:1;border-radius:50%;background:color-mix(in srgb,var(--acc-ink) 14%,transparent)}

/* ---------- cartões de catálogo e capas ---------- */
.capa{--cv:var(--tint);--cvi:var(--acc-t);position:relative;display:grid;place-items:center;aspect-ratio:4/3;overflow:hidden;border-radius:var(--r);background:var(--cv);isolation:isolate}
.capa[data-v="1"]{--cv:color-mix(in srgb,var(--acc) 16%,var(--bg));--cvi:color-mix(in srgb,var(--acc-t) 78%,var(--ink))}
.capa[data-v="2"]{--cv:color-mix(in srgb,var(--sec) 34%,var(--bg));--cvi:var(--ink)}
.capa[data-v="3"]{--cv:var(--dark);--cvi:var(--dark-acc)}
.capa::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(120% 90% at 22% 12%,rgba(255,255,255,.4),transparent 55%),radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--cvi) 20%,transparent) 1px,transparent 0) 0 0/14px 14px}
.capa::after{content:"";position:absolute;z-index:-1;width:60%;aspect-ratio:1;border-radius:50%;background:color-mix(in srgb,var(--cvi) 12%,transparent);box-shadow:0 0 0 clamp(14px,2.4vw,30px) color-mix(in srgb,var(--cvi) 7%,transparent)}
.capa .ic{width:34%;height:auto;aspect-ratio:1;color:var(--cvi);stroke-width:1.15;filter:drop-shadow(0 12px 14px color-mix(in srgb,var(--cvi) 26%,transparent))}
.capa__cat{position:absolute;left:1rem;top:1rem;font:700 .68rem/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--cvi)}
.capa__n{position:absolute;right:1rem;bottom:.9rem;font:var(--dw) 1.15rem/1 var(--display);color:var(--cvi)}
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,17.5rem),1fr));gap:clamp(1rem,2vw,1.6rem)}
.cartao{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s,border-color .28s}
.cartao:hover{transform:translateY(-4px);box-shadow:var(--sombra);border-color:color-mix(in srgb,var(--acc) 35%,var(--line))}
.cartao__img{display:block;padding:.6rem .6rem 0}
.cartao__img .capa,.cartao__img .moldura{border-radius:calc(var(--r) - 6px);box-shadow:none}
.cartao__corpo{display:flex;flex-direction:column;gap:.55rem;padding:1rem 1.2rem 1.3rem;flex:1}
.cartao__corpo h3{margin:0;font-size:1.22rem}
.cartao__corpo h3 a{color:inherit;text-decoration:none}
.cartao__corpo h3 a::after{content:"";position:absolute;inset:0}
.cartao__corpo p{color:var(--mut);font-size:.96rem;margin:0;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cartao__pe{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.5rem;flex-wrap:wrap}
.tag{align-self:flex-start;font:700 .75rem/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--acc-t);background:color-mix(in srgb,var(--acc) 10%,var(--surface));padding:.42rem .65rem;border-radius:999px}
.preco{display:block;font:var(--dw) 1.45rem/1 var(--display);letter-spacing:var(--dt);color:var(--ink)}
.un{display:block;margin-top:.25rem;font:500 .82rem/1 var(--body);color:var(--mut)}

/* catálogo: ferramentas */
.ferramentas{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;margin-bottom:1.2rem}
.busca{position:relative}
.busca .ic{position:absolute;left:1.05rem;top:50%;translate:0 -50%;width:1.25rem;height:1.25rem;color:var(--mut);pointer-events:none}
.busca input,.ordem select{width:100%;min-height:3.2rem;padding:.7rem 1rem;border:1.5px solid var(--line);border-radius:var(--rb);background:var(--surface);color:var(--ink);font:inherit;font-weight:500}
.busca input{padding-left:3rem}
.ordem select{font-weight:600;padding-right:2rem}
.busca input:focus,.ordem select:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 4px color-mix(in srgb,var(--acc) 20%,transparent)}
.chips{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:1.4rem}
.chip{min-height:2.75rem;padding:0 1.15rem;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font:700 .92rem var(--body);cursor:pointer;transition:all .2s}
.chip:hover{border-color:var(--ink)}
.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.contagem{color:var(--mut);margin:0 0 1.2rem;font-weight:600}
.vazio{text-align:center;padding:3.5rem 1rem;border:2px dashed var(--line);border-radius:var(--r);color:var(--mut)}
.vazio p{margin-bottom:1rem}
[hidden]{display:none!important}
@media (max-width:640px){.ferramentas{grid-template-columns:1fr}}

/* página do item */
.item{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.item__vis .capa,.item__vis .moldura{aspect-ratio:1;border-radius:calc(var(--r)*1.5)}
.item__vis .capa .ic{width:30%}
.item__info{position:sticky;top:6.5rem}
.item__info .preco{font-size:clamp(2rem,3vw,2.6rem);margin:.6rem 0 .2rem}
.item__info .lede{margin:1.2rem 0 0}
.detalhes{display:grid;list-style:none;margin:1.6rem 0}
.detalhes li{display:flex;gap:.7rem;padding:.85rem 0;border-bottom:1px solid var(--line)}
.detalhes .ic{width:1.3rem;height:1.3rem;margin-top:.15rem;color:var(--acc-t)}
@media (max-width:860px){.item{grid-template-columns:1fr}.item__info{position:static}}

/* depoimentos */
.depoimentos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:clamp(1rem,2vw,1.6rem)}
.dep{display:flex;flex-direction:column;gap:1.1rem;margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.4rem,2.6vw,2rem)}
.dep blockquote{margin:0;font:500 1.1rem/1.55 var(--body)}
.dep blockquote p{margin:0}
.dep__autor{display:flex;align-items:center;gap:.8rem;margin-top:auto}
.avatar{display:grid;place-items:center;width:2.9rem;height:2.9rem;flex:none;border-radius:50%;background:var(--acc);color:var(--acc-ink);font:800 .9rem var(--body)}
.dep__autor b{display:block;line-height:1.2}
.dep__autor small{color:var(--mut);font-size:.88rem}

/* faq */
.faq{display:grid;gap:.75rem;max-width:52rem;margin-inline:auto}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);transition:border-color .2s}
.faq details[open]{border-color:color-mix(in srgb,var(--acc) 40%,var(--line))}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 1.4rem;min-height:3.4rem;font:700 1.06rem/1.35 var(--body)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ic{width:1.3rem;height:1.3rem;color:var(--acc-t);transition:transform .25s}
.faq details[open] summary .ic{transform:rotate(45deg)}
.faq .resp{padding:0 1.4rem 1.3rem;color:var(--mut)}
.faq .resp p{margin:0}

/* chamada final */
.cta-banner{position:relative;overflow:hidden;isolation:isolate;display:grid;justify-items:start;gap:1.2rem;padding:clamp(2.2rem,5vw,4.5rem);border-radius:calc(var(--r)*1.6);background:var(--dark);color:var(--dark-ink);--acc-t:var(--dark-acc)}
.cta-banner::before{content:"";position:absolute;z-index:-1;inset:auto -10% -60% auto;width:60%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--dark-acc) 50%,transparent),transparent 65%)}
.cta-banner h2{max-width:20ch;margin:0}
.cta-banner p{max-width:46ch;color:var(--dark-mut);margin:0}
.cta-banner .acoes{margin-top:.4rem}
.cta-banner .btn--p{background:var(--dark-acc);color:var(--dark)}
.cta-banner--acento{background:var(--acc);color:var(--acc-ink);--acc-t:var(--acc-ink)}
.cta-banner--acento p{color:color-mix(in srgb,var(--acc-ink) 90%,var(--acc))}
.cta-banner--acento::before{background:radial-gradient(circle,color-mix(in srgb,var(--acc-ink) 22%,transparent),transparent 65%)}

/* galeria, equipe, preços */
.galeria{columns:3 16rem;column-gap:1rem}
.galeria figure{position:relative;margin:0 0 1rem;break-inside:avoid;border-radius:var(--r);overflow:hidden;background:var(--c,var(--tint))}
.galeria img{width:100%;height:auto}
.galeria figcaption{position:absolute;inset:auto 0 0 0;padding:2.5rem .9rem .8rem;color:#fff;font-weight:600;font-size:.92rem;background:linear-gradient(transparent,rgba(0,0,0,.7))}
.equipe{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:1.6rem}
.pessoa__foto{display:grid;place-items:center;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:var(--tint);margin-bottom:1rem}
.pessoa__foto img{width:100%;height:100%;object-fit:cover}
.pessoa__foto b{font:var(--dw) 3.2rem/1 var(--display);color:var(--acc-t)}
.pessoa h3{margin:0 0 .15rem;font-size:1.2rem}
.pessoa small{color:var(--mut);font-weight:600}
.pessoa p{color:var(--mut);margin:.5rem 0 0;font-size:.95rem}
.precos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1.4rem;align-items:stretch}
.plano{position:relative;display:flex;flex-direction:column;gap:1rem;background:var(--surface);border:1px solid var(--line);border-radius:calc(var(--r)*1.2);padding:clamp(1.5rem,3vw,2.2rem)}
.plano--dest{background:var(--dark);color:var(--dark-ink);border-color:transparent;--acc-t:var(--dark-acc);--mut:var(--dark-mut);--ink:var(--dark-ink);box-shadow:var(--sombra)}
.plano--dest .btn--p{background:var(--dark-acc);color:var(--dark)}
.plano__selo{position:absolute;top:-.8rem;left:1.6rem;background:var(--sec);color:var(--sec-ink);font:800 .75rem/1 var(--body);letter-spacing:.1em;text-transform:uppercase;padding:.45rem .75rem;border-radius:999px}
.plano h3{margin:0}
.plano .preco{font-size:clamp(2.2rem,4vw,3rem)}
.plano ul{list-style:none;display:grid;gap:.65rem}
.plano li{display:flex;gap:.65rem}
.plano li .ic{width:1.25rem;height:1.25rem;margin-top:.2rem;color:var(--acc-t)}
.plano .btn{margin-top:auto}

/* contato */
.contato-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.lista-contato{list-style:none;display:grid;gap:1.3rem;margin:1.8rem 0 0}
.lista-contato li{display:flex;gap:1rem;align-items:flex-start}
.lista-contato .ic{width:2.9rem;height:2.9rem;padding:.75rem;border-radius:calc(var(--r)*.6);background:color-mix(in srgb,var(--acc) 12%,var(--surface));color:var(--acc-t)}
.lista-contato b{display:block}
.lista-contato span,.lista-contato a{color:var(--mut)}
.form{display:grid;gap:1.1rem;background:var(--surface);border:1px solid var(--line);border-radius:calc(var(--r)*1.3);padding:clamp(1.4rem,3vw,2.4rem);box-shadow:var(--sombra)}
.form h2{margin:0;font-size:1.6rem}
.form label{display:grid;gap:.45rem;font-weight:700;font-size:.95rem}
.form input,.form textarea,.form select{width:100%;min-height:3.1rem;padding:.75rem 1rem;border:1.5px solid var(--line);border-radius:calc(var(--r)*.6);background:var(--bg);color:var(--ink);font:inherit;font-weight:500}
.form textarea{min-height:8.5rem;resize:vertical}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 4px color-mix(in srgb,var(--acc) 22%,transparent)}
.form small{color:var(--mut)}
@media (max-width:860px){.contato-grid{grid-template-columns:1fr}}

/* páginas internas */
.cab-pagina{padding-block:clamp(2.5rem,6vw,5rem) clamp(1.5rem,3vw,2.5rem);background:linear-gradient(180deg,var(--tint),var(--bg))}
.migalhas{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;font-size:.9rem;color:var(--mut);margin-bottom:1.2rem}
.migalhas li+li::before{content:"/";margin-right:.4rem;opacity:.7}
.migalhas a{color:var(--mut)}
.prosa{max-width:44rem}
.prosa h2{font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem);margin-top:2.2rem}
.prosa ul{margin:0 0 1em 1.2rem;list-style:disc}

/* rodapé e botão flutuante */
.rodape{background:var(--dark);color:var(--dark-ink);padding-top:clamp(3rem,6vw,5rem);--acc-t:var(--dark-acc);--mut:var(--dark-mut);--ink:var(--dark-ink);--line:color-mix(in srgb,var(--dark-ink) 16%,transparent)}
.rodape__grid{display:grid;grid-template-columns:1.5fr 1fr 1.3fr;gap:clamp(2rem,4vw,4rem)}
.rodape h2{font:800 .76rem/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--dark-mut);margin-bottom:1.2rem}
.rodape a{color:var(--dark-ink);text-decoration:none}
.rodape a:hover{text-decoration:underline}
.rodape ul{list-style:none;display:grid;gap:.6rem}
.rodape li{color:var(--dark-ink)}
.rodape__marca p{color:var(--dark-mut);max-width:32ch;margin:1rem 0 0}
.rodape__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 2rem;margin-top:clamp(2rem,5vw,4rem);padding:1.4rem 0 1.8rem;border-top:1px solid var(--line);font-size:.9rem;color:var(--dark-mut)}
@media (max-width:860px){.rodape__grid{grid-template-columns:1fr}}
.zap-flutuante{position:fixed;right:clamp(.9rem,2vw,1.6rem);bottom:clamp(.9rem,2vw,1.6rem);z-index:60;display:inline-flex;align-items:center;gap:.6rem;min-height:3.5rem;padding:.4rem 1.2rem .4rem .95rem;border-radius:999px;background:#0e7a3f;color:#fff;font:700 .95rem/1 var(--body);text-decoration:none;box-shadow:0 18px 30px -14px rgba(0,0,0,.55);transition:transform .2s}
.zap-flutuante:hover{transform:translateY(-3px)}
.zap-flutuante .ic{width:1.6rem;height:1.6rem}
@media (max-width:600px){.zap-flutuante{width:3.5rem;padding:0;justify-content:center}.zap-flutuante span{display:none}}

.so-leitor{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0}
.item__info h1{font-size:clamp(2rem,1.3rem + 2.8vw,3.5rem)}
.hero__txt>*{animation:entra .8s cubic-bezier(.2,.7,.2,1) both}
.hero__txt>*:nth-child(2){animation-delay:.07s}.hero__txt>*:nth-child(3){animation-delay:.14s}.hero__txt>*:nth-child(4){animation-delay:.21s}.hero__txt>*:nth-child(n+5){animation-delay:.28s}
@keyframes entra{from{opacity:0;transform:translateY(16px)}}

/* revelar ao rolar (só com JS; sem JS tudo aparece) */
.js-rv .rv{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.js-rv .rv.in{opacity:1;transform:none}
.js-rv .grade>.rv:nth-child(3n+2),.js-rv .grade-dest>.rv:nth-child(3n+2){transition-delay:.07s}
.js-rv .grade>.rv:nth-child(3n),.js-rv .grade-dest>.rv:nth-child(3n){transition-delay:.14s}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-rv .rv{opacity:1;transform:none}}

/* ---------- personalidade por tema ---------- */
[data-tema=editorial-calor] body::before,[data-tema=natureza-organica] body::before{content:"";position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.07;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
[data-tema=natureza-organica] .moldura--hero{border-radius:999px 999px calc(var(--r)*1.3) calc(var(--r)*1.3)}
[data-tema=institucional-azul] .hero::after{content:"";position:absolute;z-index:-1;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at 75% 20%,#000,transparent 65%);mask-image:radial-gradient(ellipse at 75% 20%,#000,transparent 65%);opacity:.7}
[data-tema=industrial-forte] .btn{text-transform:uppercase;letter-spacing:.07em;font-weight:800}
[data-tema=industrial-forte] .dest,[data-tema=industrial-forte] .plano,[data-tema=industrial-forte] .cartao{border-top:4px solid var(--acc)}
[data-tema=industrial-forte] .eyebrow{background:var(--sec);color:var(--sec-ink);padding:.4rem .6rem}
[data-tema=industrial-forte] .eyebrow::before{display:none}
[data-tema=luxo-escuro] .eyebrow{letter-spacing:.32em}
[data-tema=luxo-escuro] .btn{text-transform:uppercase;letter-spacing:.16em;font-weight:600;font-size:.82rem}
[data-tema=luxo-escuro] .logo__m{background:transparent;border:1px solid var(--acc);color:var(--acc-t)}
[data-tema=luxo-escuro] h1{font-weight:400}
[data-tema=luxo-escuro] .cartao,[data-tema=luxo-escuro] .dest,[data-tema=luxo-escuro] .dep{background:transparent}
[data-tema=vitrine-moderna] .cartao{border-width:2px;border-color:var(--ink)}
[data-tema=vitrine-moderna] .cartao:hover{box-shadow:7px 7px 0 var(--acc);transform:translate(-3px,-3px);border-color:var(--ink)}
[data-tema=vitrine-moderna] .btn--p{box-shadow:4px 4px 0 var(--ink)}
[data-tema=vitrine-moderna] .btn--p:hover{box-shadow:7px 7px 0 var(--ink);transform:translate(-2px,-2px);background:var(--acc)}
[data-tema=fresco-saude] .dest__ic,[data-tema=fresco-saude] .info__item .ic{border-radius:50%}
