:root{--texto:#8d0849;--fundo:#f9e8f0;--primaria:#c3789d;--secundaria:#c3789d;--destaque:#c3789d;--raio:16px;--raio-btn:12px;
--bg:#fff;--fg:var(--texto);--bg2:var(--fundo);--card:#fff;--linha:#0000001a;--linha-forte:#00000033;--mudo:#000a;--prova-bg:var(--texto);--btn-bg:var(--texto);--btn-fg:#fff;--sombra:0 20px 50px -30px #0004}
[data-tema=escuro]{--bg:var(--texto);--fg:var(--fundo);--bg2:color-mix(in srgb,var(--texto),#fff 6%);--card:color-mix(in srgb,var(--texto),#fff 9%);--linha:#ffffff1f;--linha-forte:#ffffff40;--mudo:color-mix(in srgb,var(--fundo),transparent 35%);--prova-bg:var(--primaria);--btn-bg:var(--fundo);--btn-fg:var(--texto);--sombra:0 20px 50px -30px #000c}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:'Montserrat',system-ui,sans-serif;color:var(--fg);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:1.12;margin:0;letter-spacing:-.01em}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.topo{position:sticky;top:0;z-index:20;transition:background .3s,box-shadow .3s}
.topo.rolou{background:color-mix(in srgb,var(--bg),transparent 12%);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--linha)}
header{display:flex;align-items:center;justify-content:space-between;padding:16px 0}
header img{height:56px;width:auto;max-width:min(60vw,320px);object-fit:contain}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--btn-bg);color:var(--btn-fg);padding:14px 26px;border-radius:var(--raio-btn);text-decoration:none;font-weight:600;letter-spacing:.2px;transition:transform .2s,box-shadow .2s,opacity .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px -12px var(--btn-bg)}
.btn:active{transform:none}
.hero{position:relative;background:var(--bg2);padding:64px 0 72px;overflow:hidden}
.hero h1{font-size:clamp(34px,5vw,60px);max-width:18ch;text-wrap:balance}
.hero p{font-size:19px;max-width:56ch;margin:20px 0 32px;color:var(--mudo)}
.hero-grid{display:grid;gap:40px;align-items:center;grid-template-columns:1fr}
@media(min-width:860px){.hero-grid{grid-template-columns:1fr 1fr}}
.hero-foto img{border-radius:var(--raio);box-shadow:0 30px 60px -30px #0006;aspect-ratio:4/5;object-fit:cover;width:100%;height:auto}
/* width 100% explicito: com justify-self center a figura encolhia para o tamanho intrinseco da foto (203px num celular de 390). */
.hero-foto{margin:0;width:100%;max-width:540px;justify-self:center;position:relative}
.hero-mini{position:absolute;left:-36px;bottom:40px;width:36%;border-radius:var(--raio);overflow:hidden;border:6px solid var(--bg2);box-shadow:0 24px 50px -20px #0007;animation:flutua 6s ease-in-out -3s infinite alternate-reverse}
.hero-foto .hero-mini img{box-shadow:none;border-radius:0}
.flutua{animation:flutua 7s ease-in-out infinite alternate}
@keyframes flutua{from{transform:translateY(-6px)}to{transform:translateY(6px)}}
[data-hero=foto-de-fundo]{min-height:min(88vh,860px);display:flex;align-items:flex-end;padding:120px 0 72px;color:#fff}
[data-hero=foto-de-fundo] h1,[data-hero=foto-de-fundo] p{color:#fff}
[data-hero=foto-de-fundo] .btn{background:#fff;color:var(--texto)}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;transform:scale(1.08);will-change:transform}
.hero-veu{position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--texto),transparent 70%) 0%,color-mix(in srgb,var(--texto),transparent 10%) 100%)}
.hero-sobre{position:relative}
[data-hero=foto-de-fundo].sem-foto{background:radial-gradient(120% 90% at 80% 0%,var(--primaria) 0%,var(--texto) 70%)}
[data-hero=tipografico] h1{font-size:clamp(42px,8vw,96px);max-width:14ch;line-height:1}
.hero-base{display:grid;gap:32px;align-items:center;grid-template-columns:1fr;margin-top:24px}
@media(min-width:860px){.hero-base{grid-template-columns:1fr 360px}}
.hero-recorte{margin:0;width:min(360px,100%);justify-self:end}
.hero-recorte img{aspect-ratio:3/4;object-fit:cover;border-radius:999px 999px var(--raio) var(--raio)}
[data-forma=reto] .hero-recorte img{border-radius:0}
section{padding:80px 0}
section+section{border-top:1px solid var(--linha)}
.rotulo{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--primaria);margin:0 0 14px}
.duas{display:grid;gap:40px;grid-template-columns:1fr}
@media(min-width:760px){.duas{grid-template-columns:1fr 1fr}}
.servicos{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.servico{background:var(--card);border:1px solid var(--linha);border-radius:var(--raio);padding:28px;transition:transform .3s,box-shadow .3s}
.servico:hover{transform:translateY(-4px);box-shadow:var(--sombra)}
#servicos:has(.servicos){background:var(--bg2)}
.servico h3{font-size:22px;margin-bottom:8px}
.numerados{list-style:none;margin:0;padding:0;display:grid;gap:0;grid-template-columns:1fr;counter-reset:n}
@media(min-width:760px){.numerados{grid-template-columns:1fr 1fr;column-gap:48px}}
.numerados li{counter-increment:n;border-top:1px solid var(--linha);padding:26px 0 26px 64px;position:relative}
.numerados li::before{content:counter(n,decimal-leading-zero);position:absolute;left:0;top:22px;font-family:'Cormorant Garamond',Georgia,serif;font-size:34px;line-height:1;color:var(--primaria)}
.numerados h3{font-size:22px;margin-bottom:6px}
.titulo-secao{font-size:clamp(28px,3.4vw,40px);max-width:24ch;margin:0 0 36px;text-wrap:balance}
.planos{background:var(--bg2)}
.cards-planos{perspective:1400px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));align-items:stretch;padding-top:14px}
.cards-planos[data-n="1"]{max-width:560px;margin:0 auto}
.plano{position:relative;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--linha);border-radius:var(--raio);padding:32px 28px 28px;transition:transform .3s,box-shadow .3s}
.plano:hover{box-shadow:var(--sombra)}
/* O brilho segue o ponteiro (--mx/--my, pelo kit); sem kit fica no topo e so aparece no hover. */
.plano::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(380px circle at var(--mx,50%) var(--my,0%),color-mix(in srgb,var(--primaria),transparent 78%),transparent 55%);opacity:0;transition:opacity .35s}
.plano:hover::after{opacity:1}
html.kit .cards-planos.swiper{display:block;overflow:hidden;margin:0 -20px;padding:22px 20px 46px}
html.kit .cards-planos .swiper-slide{width:min(84%,340px);height:auto}
html.kit .cards-planos .swiper-pagination-bullet{background:var(--fg);opacity:.25}
html.kit .cards-planos .swiper-pagination-bullet-active{opacity:1;background:var(--primaria)}
.plano h3{font-size:21px;margin:0;font-weight:600}
.plano-desc{margin:6px 0 0;font-size:15px;color:var(--mudo)}
.preco{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:clamp(28px,2.6vw,36px);line-height:1.1;margin:24px 0 4px;letter-spacing:-.02em;text-wrap:balance}
.preco small{font-size:.5em;font-weight:500;letter-spacing:0}
.condicao{margin:0;font-size:14px;color:var(--mudo)}
.itens{list-style:none;padding:0;margin:26px 0 28px;display:grid;gap:11px}
.itens li{position:relative;padding-left:28px;font-size:15px;line-height:1.45}
.itens li::before{content:'';position:absolute;left:2px;top:6px;width:12px;height:7px;border-left:2px solid var(--primaria);border-bottom:2px solid var(--primaria);transform:rotate(-45deg)}
.nota{margin:-10px 0 18px;font-size:13px;color:var(--mudo)}
.plano .btn{margin-top:auto;justify-content:center;text-align:center;background:transparent;color:var(--fg);border:1px solid var(--linha-forte);padding:13px 24px}
.plano .btn:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.plano.destaque{background:var(--texto);color:#fff;border-color:transparent;box-shadow:var(--sombra)}
[data-tema=escuro] .plano.destaque{background:var(--primaria)}
.plano.destaque .plano-desc,.plano.destaque .condicao,.plano.destaque .nota{color:#fffb}
.plano.destaque .itens li::before{border-color:var(--primaria)}
[data-tema=escuro] .plano.destaque .itens li::before{border-color:#fff}
.plano.destaque .btn{background:var(--primaria);color:#fff;border-color:transparent}
.plano.destaque .btn:hover{background:#fff;color:var(--texto)}
[data-tema=escuro] .plano.destaque .btn{background:#fff;color:var(--texto)}
.selo{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);background:var(--primaria);color:#fff;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;padding:6px 14px;border-radius:999px;white-space:nowrap}
@media(min-width:860px){.cards-planos[data-n="3"] .plano.destaque,.cards-planos[data-n="2"] .plano.destaque{margin-top:-14px;margin-bottom:-14px;padding-top:40px}}
/* Kit de movimento: o motion anima os .r inline, entao o CSS nao transiciona; a galeria vira Swiper. */
html.kit .r{transition:none}
html.kit .galeria{overflow:hidden;scroll-snap-type:none;padding-bottom:40px}
html.kit .galeria .swiper-slide{width:min(86%,520px);flex:none}
html.kit .swiper-pagination{bottom:6px}
html.kit .swiper-pagination-bullet{background:var(--fg);opacity:.25;width:7px;height:7px}
html.kit .swiper-pagination-bullet-active{opacity:1;background:var(--primaria);width:22px;border-radius:4px}
html.kit .galeria-nav button{transition:opacity .2s}
html.kit .galeria-nav button.swiper-button-disabled{opacity:.3;cursor:default}
.prova{background:var(--prova-bg);color:#fff}.prova .rotulo{color:#fff9}
.vitrine{background:var(--prova-bg);color:#fff;overflow:hidden;padding:96px 0 88px}
.vitrine .rotulo{color:#fff9}
.vitrine.com-faixa{padding-top:0}
.vitrine-faixa{overflow:hidden;padding:22px 0;margin-bottom:72px;background:color-mix(in srgb,var(--prova-bg),#000 22%);box-shadow:inset 0 -1px 0 #ffffff14}
.vitrine-faixa:hover .faixa{animation-play-state:paused}
.mini-par{height:120px;width:180px;flex:none;object-fit:cover;border-radius:var(--raio);box-shadow:0 14px 30px -14px #000}
.citacao{flex:none;white-space:nowrap;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:clamp(20px,2vw,26px);color:#fff;padding:0 6px}
.citacao::before{content:'✦';font-style:normal;color:var(--primaria);margin-right:22px;font-size:.7em;vertical-align:middle}
.vitrine-lead{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(22px,2.6vw,32px);line-height:1.3;max-width:38ch;margin:0 0 56px;text-wrap:balance}
.vitrine-cab{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px;margin:0 0 20px}
.vitrine-cab h2{font-size:clamp(24px,2.6vw,34px)}
.vitrine-cab p{margin:0;font-size:14px;color:#fffa}
.vitrine-bloco{margin-bottom:64px}
.carrossel{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 20px 24px;margin:0 -20px;scrollbar-width:none}
.carrossel::-webkit-scrollbar{display:none}
.carrossel .comparar{flex:0 0 min(78%,340px);scroll-snap-align:center}
.vitrine .comparar{background:#ffffff0f;border-color:#ffffff24;box-shadow:0 30px 60px -30px #000}
.vitrine .comparar figcaption{color:#fffb}
.vitrine .galeria-nav button{background:transparent;color:#fff;border-color:#ffffff40}
.vitrine .galeria figcaption{color:#fffb}
html.kit .carrossel{overflow:hidden;scroll-snap-type:none;padding-bottom:44px}
html.kit .carrossel .swiper-slide{width:min(78%,340px);flex:none;transition-property:transform,opacity}
html.kit .carrossel .swiper-slide:not(.swiper-slide-active){opacity:.55}
html.kit .vitrine .swiper-pagination-bullet{background:#fff}
html.kit .vitrine .swiper-pagination-bullet-active{background:var(--primaria)}
.feedbacks{display:grid;gap:22px;padding:6px 0 12px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.faixa{display:flex;width:max-content;animation:desliza var(--dur,60s) linear infinite}
.faixa.volta{animation-direction:reverse}
.feedbacks:hover .faixa,.feedbacks:focus-within .faixa{animation-play-state:paused}
.lote{display:flex;align-items:center;gap:22px;padding-right:22px}
@keyframes desliza{to{transform:translateX(-50%)}}
.feedback{margin:0;flex:none;width:290px;background:#fff;border-radius:var(--raio);padding:8px;box-shadow:0 26px 50px -26px #000;transform:rotate(var(--rot,0deg));transition:transform .35s cubic-bezier(.22,1,.36,1)}
.feedback:hover{transform:rotate(0) translateY(-6px) scale(1.04)}
.feedback a{display:block}
.feedback img{width:100%;max-height:360px;object-fit:contain;border-radius:calc(var(--raio) - 4px);background:#0b141a}
.prova p{font-size:22px;max-width:60ch;font-family:'Cormorant Garamond',Georgia,serif;margin:0}
.prints{columns:2;gap:14px;margin-top:36px}
@media(min-width:760px){.prints{columns:3}}
.prints figure{margin:0 0 14px;break-inside:avoid}
.prints img{border-radius:var(--raio);box-shadow:0 20px 40px -24px #000}
.prints a,.galeria a{display:block;transition:transform .3s}
.prints a:hover,.galeria a:hover{transform:scale(1.02)}
.resultados{background:var(--bg2)}
.comparacoes{display:grid;gap:14px;grid-template-columns:repeat(2,1fr);margin-bottom:28px}
@media(min-width:760px){.comparacoes{grid-template-columns:repeat(3,1fr);gap:18px}}
@media(min-width:1000px){.comparacoes{grid-template-columns:repeat(4,1fr)}}
.comparar{margin:0;background:var(--card);border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden}
.comparar-area{position:relative;aspect-ratio:3/4;overflow:hidden;--x:50%;touch-action:pan-y;user-select:none;background:var(--bg2)}
.comparar-area img{position:absolute;top:0;height:100%;width:200%;max-width:none;object-fit:cover}
.comparar-antes{left:0}
.comparar-depois{left:-100%;clip-path:inset(0 0 0 var(--x))}
.comparar-area input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:3}
.comparar-area::after{content:'';position:absolute;top:0;bottom:0;left:var(--x);width:2px;background:#fff;box-shadow:0 0 0 1px #0003;transform:translateX(-1px);z-index:2}
.comparar-alca{position:absolute;top:50%;left:var(--x);width:34px;height:34px;border-radius:999px;background:#fff;box-shadow:0 2px 10px #0004;transform:translate(-50%,-50%);z-index:2;display:flex;align-items:center;justify-content:center;font-size:12px;color:#222;letter-spacing:-1px}
.comparar-rotulo{position:absolute;bottom:8px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;padding:4px 8px;border-radius:999px;background:#000a;color:#fff;z-index:2}
.comparar-rotulo.antes{left:8px}.comparar-rotulo.depois{right:8px}
.comparar figcaption{padding:10px 12px;font-size:13px;color:var(--mudo)}
html.js .comparacoes:not(.tudo) .comparar.extra{display:none}
.ver-mais{display:flex;justify-content:center;margin:-6px 0 34px}
html:not(.js) .ver-mais{display:none}
.galeria{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:20px;padding:4px 20px 18px;margin:0 -20px;scrollbar-width:none}
.galeria::-webkit-scrollbar{display:none}
.galeria figure{margin:0;flex:0 0 min(86%,520px);scroll-snap-align:start}
.galeria img{border-radius:var(--raio);background:var(--card)}
.galeria figcaption,.prints figcaption{font-size:14px;color:var(--mudo);margin-top:8px}
.galeria-nav{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}
.galeria-nav button{width:44px;height:44px;border-radius:999px;border:1px solid var(--linha);background:var(--bg);color:var(--fg);font-size:18px;cursor:pointer}
.sobre-grid{display:grid;gap:40px;grid-template-columns:1fr;align-items:center}
@media(min-width:760px){.sobre-grid{grid-template-columns:.8fr 1.2fr}}
.sobre-foto{margin:0;width:100%}.sobre-foto img{border-radius:var(--raio);aspect-ratio:4/5;object-fit:cover;width:100%;max-width:480px}
.local{margin:22px 0 0;font-size:15px;color:var(--mudo)}.final .local{color:#fffc}.local a{color:inherit}
details{border-bottom:1px solid var(--linha);padding:16px 0}summary{cursor:pointer;font-weight:600;font-size:18px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';font-size:24px;line-height:1;color:var(--primaria);transition:transform .3s;flex:none}
details[open] summary::after{transform:rotate(45deg)}
details p{margin:10px 0 0;color:var(--mudo)}
.final{background:var(--primaria);color:#fff;text-align:center}.final h2{font-size:clamp(28px,4vw,44px);margin-bottom:26px;text-wrap:balance}
.final .btn{background:#fff;color:var(--texto)}
footer{padding:40px 0;color:var(--mudo);font-size:14px}footer a{color:inherit}
footer .linhas{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:10px}
#lb{border:0;padding:0;background:transparent;max-width:min(96vw,1200px);max-height:96vh}
#lb::backdrop{background:#000d}
#lb figure{margin:0;position:relative}
#lb img{max-width:min(96vw,1200px);max-height:86vh;width:auto;height:auto;margin:0 auto;border-radius:var(--raio)}
#lb figcaption{color:#fffc;text-align:center;font-size:14px;margin-top:10px;min-height:1em}
#lb button{position:absolute;top:-6px;right:-6px;width:40px;height:40px;border-radius:999px;border:0;background:#fff;color:#000;font-size:22px;cursor:pointer}
html.js .r{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i,0)*90ms)}
html.js .r.in{opacity:1;transform:none}
.cta-fixo{display:none}
.wa-flutua{position:fixed;left:20px;bottom:20px;z-index:30;width:58px;height:58px;border-radius:999px;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px -8px #0008;transition:transform .25s}
.wa-flutua::before{content:'';position:absolute;inset:0;border-radius:inherit;background:#25d366;z-index:-1;animation:pulsa 2.4s ease-out infinite}
.wa-flutua:hover{transform:scale(1.08)}
@keyframes pulsa{from{transform:scale(1);opacity:.55}to{transform:scale(1.6);opacity:0}}
@media(max-width:759px){
body{padding-bottom:76px}
header .btn{display:none}
header{padding:12px 0}
header img{height:44px}
.hero{padding:40px 0 56px}
.hero-foto{max-width:none}
section{padding:56px 0}
.cta-fixo{display:block;position:fixed;left:0;right:0;bottom:0;z-index:10;padding:10px 16px;background:var(--bg);box-shadow:0 -6px 24px #0002}
.cta-fixo .btn{display:flex;justify-content:center;text-align:center}
html.js .cta-fixo{transform:translateY(110%);transition:transform .35s}
html.js .cta-fixo.mostra{transform:none}
.galeria figure{flex-basis:86%}
.hero-mini{left:-10px;bottom:24px;width:34%;border-width:4px}
.wa-flutua{left:14px;bottom:88px;width:52px;height:52px}
.mini-par{height:88px;width:132px}
.vitrine-faixa{padding:16px 0;margin-bottom:48px}
.vitrine{padding:64px 0 56px}
.feedback{width:240px}
}
@media(prefers-reduced-motion:reduce){
html.js .r{opacity:1;transform:none;transition:none}
.flutua{animation:none}.hero-bg{transform:none!important}
.btn,.servico,.prints a,.galeria a,.topo,.cta-fixo,.feedback{transition:none}
.hero-mini{animation:none}.wa-flutua::before{animation:none}
.faixa{animation:none}.feedbacks{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.lote[aria-hidden]{display:none}
html.js .cta-fixo{transform:none}
}