:root{--c:#e11d6a;--c2:#be185d;--soft:#ffe3ee;--bg:#fff8f3;--alt:#ffeee4;--ink:#1c1220;--muted:#6a5864;--line:#f0dcd2;--head:"Bricolage Grotesque",system-ui,sans-serif;--body:"DM Sans",system-ui,sans-serif;--hw:800}
:root{--r:20px}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font:400 17px/1.65 var(--body);color:var(--ink);background:var(--bg,#fff)}
img,svg{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:3px solid var(--c);outline-offset:3px}
.wrap{width:min(100% - 40px,1120px);margin:0 auto}
h1,h2,h3{font-family:var(--head);font-weight:var(--hw);line-height:1.1;letter-spacing:-.01em}
.demo-bar{display:flex;flex-wrap:wrap;gap:4px 14px;justify-content:center;padding:8px 16px;background:#111827;color:#fff;font-size:.85rem;text-align:center}
.demo-bar a{font-weight:700;text-underline-offset:3px}
.top{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:24px;min-height:68px}
.brand{display:flex;align-items:center;gap:10px;font:700 1.02rem var(--body);text-decoration:none}
.mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--c);color:#fff;font:var(--hw) 1.2rem var(--head)}
.top nav{display:flex;gap:22px;margin-left:auto;font-size:.95rem;font-weight:500}
.top nav a{color:var(--muted);text-decoration:none}
.top nav a:hover{color:var(--c)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:99px;background:var(--c);color:#fff;font-weight:700;font-size:.95rem;text-decoration:none;transition:transform .2s,background .2s}
.btn:hover{background:var(--c2);transform:translateY(-2px)}
.btn.ghost{background:transparent;color:var(--c);box-shadow:inset 0 0 0 2px var(--c)}
.btn.ghost:hover{background:var(--soft)}
.btn.lg{padding:16px 30px;font-size:1.02rem}
.hero{position:relative;overflow:hidden;padding:72px 0 84px;background:linear-gradient(180deg,var(--soft),var(--bg,#fff))}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.pill{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;padding:6px 14px 6px 10px;border-radius:99px;background:#fff;box-shadow:0 0 0 1px var(--line);color:var(--c2);font-size:.86rem;font-weight:600}
.pill svg{width:18px;height:18px}
h1{margin-bottom:18px;font-size:clamp(2.3rem,5vw,3.7rem)}
.lead{max-width:52ch;color:var(--muted);font-size:1.12rem}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.trust{display:flex;flex-wrap:wrap;gap:12px 26px;margin:30px 0 0;padding:0;list-style:none;font-size:.92rem;font-weight:500}
.trust li{display:flex;align-items:center;gap:8px}
.trust svg{width:20px;height:20px;color:var(--c)}
.sec{padding:84px 0}
.sec.alt{background:var(--alt)}
.head{max-width:640px;margin-bottom:40px}
.head h2{margin-bottom:10px;font-size:clamp(1.8rem,3.8vw,2.6rem)}
.head p{color:var(--muted)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{padding:28px;border:1px solid var(--line);border-radius:var(--r);background:#fff;transition:box-shadow .2s,transform .2s}
.card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(16,37,43,.08)}
.ico{display:grid;place-items:center;width:48px;height:48px;margin-bottom:16px;border-radius:14px;background:var(--soft);color:var(--c)}
.card h3{margin-bottom:6px;font-size:1.25rem}
.card p{color:var(--muted);font-size:.97rem}
.steps{display:grid;grid-template-columns:repeat(var(--n,4),1fr);gap:20px;padding:0;list-style:none;counter-reset:s}
.steps li{position:relative;padding-top:58px;counter-increment:s}
.steps li::before{content:counter(s);position:absolute;top:0;left:0;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--c);color:#fff;font-weight:700}
.steps li::after{content:"";position:absolute;top:21px;left:54px;right:-8px;height:2px;background:var(--line)}
.steps li:last-child::after{display:none}
.steps h3{margin-bottom:6px;font-size:1.2rem}
.steps p{color:var(--muted);font-size:.96rem}
.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.portrait{display:grid;place-items:center;aspect-ratio:1;max-width:380px;border-radius:32px;background:linear-gradient(135deg,var(--c),var(--c2));color:#fff;font:var(--hw) 7rem var(--head)}
.h3big{margin-bottom:14px;font-size:clamp(1.7rem,3.4vw,2.3rem)}
.pp{margin-bottom:10px;color:var(--muted)}
.ticks{display:grid;gap:10px;margin:18px 0 0;padding:0;list-style:none}
.ticks li{display:flex;gap:10px;font-size:.97rem}
.ticks svg{flex:none;width:20px;height:20px;margin-top:3px;color:var(--c)}
.quote{padding:26px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.stars{color:#f5a623;letter-spacing:2px}
.quote blockquote{margin:10px 0 18px}
.quote figcaption{display:flex;align-items:center;gap:10px;font-size:.95rem;font-weight:700}
.quote small{display:block;color:var(--muted);font-weight:400}
.av{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:var(--soft);color:var(--c2)}
.faq{display:grid;gap:12px;max-width:780px}
.faq details{border:1px solid var(--line);border-radius:16px;background:#fff}
.faq summary{display:flex;justify-content:space-between;gap:16px;padding:18px 22px;font-weight:700;list-style:none;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--c);font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"\2212"}
.faq p{padding:0 22px 20px;color:var(--muted)}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contact.one{grid-template-columns:1fr;max-width:640px}
.box{padding:34px;border-radius:var(--r);background:var(--c);color:#fff}
.box h3{margin-bottom:18px;font-size:1.7rem}
.box ul{display:grid;gap:12px;margin:0 0 26px;padding:0;list-style:none}
.box li{display:flex;gap:12px}
.box svg{flex:none;margin-top:3px}
.box .btn{background:#fff;color:var(--c2)}
.map{position:relative;min-height:280px;border:1px solid var(--line);border-radius:var(--r);background:radial-gradient(circle at 50% 45%,var(--soft) 0 64px,transparent 65px),repeating-linear-gradient(0deg,transparent 0 39px,var(--line) 39px 40px),repeating-linear-gradient(90deg,transparent 0 39px,var(--line) 39px 40px),var(--alt)}
.map span{position:absolute;inset:0;display:grid;place-items:center;color:var(--c)}
.map svg{width:52px;height:52px}
.foot{padding:32px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.88rem}
.foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}
.wa{position:fixed;z-index:40;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.3)}
@media(max-width:900px){.hero .wrap,.about,.contact{grid-template-columns:1fr}.top nav{display:none}.top .btn{margin-left:auto}.grid3{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr;gap:32px 20px}.steps li::after{display:none}.portrait{max-width:220px;font-size:4.5rem}}
@media(max-width:600px){.grid3,.steps{grid-template-columns:1fr}.sec{padding:60px 0}.hero{padding:44px 0 56px}.cta-row .btn{width:100%}.top .btn{padding:10px 16px;font-size:.85rem}.nm{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}html{scroll-behavior:auto}}

/* Visuais do topo e detalhes de cada página */
.appt{padding:30px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:0 30px 70px rgba(16,37,43,.12)}
.appt h3{margin-bottom:6px;font-size:1.6rem}
.appt p{margin-bottom:18px;color:var(--muted);font-size:.95rem}
.slots{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}
.slots span{padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--alt);font-size:.92rem;font-weight:700;text-align:center}
.slots span:first-child{border-color:var(--c);background:var(--soft);color:var(--c2)}
.appt .btn{width:100%}
.appt small{display:block;margin-top:12px;color:var(--muted);text-align:center}
.vis{position:relative;display:grid;place-items:center;min-height:400px}
.blob{display:grid;place-items:center;width:min(340px,80vw);aspect-ratio:1;border-radius:46% 54% 50% 50%/55% 45% 55% 45%;background:linear-gradient(135deg,var(--c),#38bdf8);color:#fff;box-shadow:0 30px 70px rgba(37,99,235,.3)}
.blob svg{width:46%;height:46%}
.chip{position:absolute;display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:99px;background:#fff;box-shadow:0 10px 30px rgba(15,27,51,.14);font-size:.9rem;font-weight:700}
.chip svg{width:18px;height:18px;color:var(--c)}
.c1{top:12%;left:0}.c2{right:0;bottom:22%}.c3{bottom:4%;left:6%}
.phone{position:relative;justify-self:center;width:min(270px,70vw);aspect-ratio:9/17;padding:34px 12px 14px;border:9px solid var(--ink);border-radius:42px;background:#fff;box-shadow:0 30px 70px rgba(28,18,32,.25);transform:rotate(3deg)}
.notch{position:absolute;top:8px;left:50%;width:70px;height:16px;border-radius:99px;background:var(--ink);transform:translateX(-50%)}
.handle{margin-bottom:10px;font-size:.78rem;font-weight:700;text-align:center}
.feed{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.feed i{aspect-ratio:1;border-radius:6px;background:linear-gradient(135deg,var(--a),#fff 160%)}
.stats{padding:44px 0;background:var(--ink);color:#fff}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.stats b{display:block;font:var(--hw) clamp(1.8rem,4vw,2.8rem) var(--head);color:#ffb3d1}
.stats span{font-size:.92rem;opacity:.8}
.pack .ticks{margin-top:16px}
.t-bia .top{background:rgba(255,248,243,.92)}
.t-bia h1{font-size:clamp(2.5rem,5.6vw,4.2rem);letter-spacing:-.03em}
.t-bia .hero{background:radial-gradient(circle at 85% 20%,var(--soft),transparent 55%),var(--bg)}
.t-bia .card,.t-bia .quote{border-color:var(--line);background:#fff}
.t-den h1{letter-spacing:-.035em}
@media(max-width:900px){.vis{min-height:320px}.stats .wrap{grid-template-columns:1fr 1fr}.phone{transform:none}}
