
:root { --colo:#2F3B4C; --texto:#3A4350; --rosa:#D98A95; --rosa-escuro:#A64D5B; --salvia:#86A98F; --mel:#E9B872; --papel:#FFFDFB; --linho:#F4EEE8; --fio:#E3DAD2;
  --display:'Baloo 2','Segoe UI',sans-serif; --corpo:'Nunito','Segoe UI',sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--papel); color:var(--texto); font-family:var(--corpo); font-size:17px; line-height:1.55; font-variant-numeric:tabular-nums; }
img, svg { max-width:100%; height:auto; }
a { color:var(--rosa-escuro); }
h1, h2, h3 { font-family:var(--display); color:var(--colo); line-height:1.1; margin:0 0 .4em; letter-spacing:-.01em; }
h1 { font-size:clamp(2rem, 5.2vw, 3.4rem); font-weight:800; }
h2 { font-size:clamp(1.6rem, 3.6vw, 2.4rem); font-weight:800; }
h3 { font-size:1.2rem; font-weight:700; }
p { margin:0 0 .9em; }
.wrap { width:min(1080px, 100% - 2rem); margin-inline:auto; }
section { padding-block:clamp(2.6rem, 6vw, 4.5rem); }
section.linho { background:var(--linho); }
.eyebrow { font-size:.8rem; text-transform:uppercase; letter-spacing:.14em; color:var(--rosa); font-weight:800; margin-bottom:.5rem; }
.lead { font-size:clamp(1.05rem, 2vw, 1.25rem); color:var(--colo); max-width:60ch; }
.centro { text-align:center; } .centro .lead { margin-inline:auto; }
.btn { display:inline-block; background:var(--rosa); color:#fff; font-weight:800; text-decoration:none; padding:.9rem 1.6rem; border-radius:99px; font-size:1.05rem; border:2px solid var(--rosa); transition:transform .15s, background .15s; }
.btn:hover { background:var(--rosa-escuro); border-color:var(--rosa-escuro); transform:translateY(-1px); }
.btn.fantasma { background:transparent; color:var(--colo); border-color:var(--fio); }
.btn.fantasma:hover { background:#fff; }
.btn.pequeno { padding:.55rem 1.1rem; font-size:.95rem; }
.btn.colo { background:var(--colo); border-color:var(--colo); } .btn.colo:hover { background:#1f2838; }
.cta { display:flex; gap:.8rem; flex-wrap:wrap; margin:1.4rem 0 .8rem; }
.confianca { font-size:.9rem; color:var(--texto); opacity:.85; }
.chips { display:flex; gap:.5rem; flex-wrap:wrap; }
.chip { font-size:.82rem; font-weight:800; padding:.3rem .85rem; border-radius:99px; background:var(--linho); color:var(--colo); }
.chip.rosa { background:#F8E6E8; color:var(--rosa-escuro); } .chip.salvia { background:#E6F0E9; color:#3E6B4C; } .chip.mel { background:#FBF0DA; color:#7A5A1E; }
/* topo */
.topo { position:sticky; top:0; z-index:10; background:rgba(255,253,251,.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--fio); }
.topo .wrap { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:64px; }
.marca { display:flex; align-items:center; gap:.4rem; text-decoration:none; }
.marca svg { width:34px; height:34px; } .marca b { font-family:var(--display); font-weight:700; font-size:1.35rem; color:var(--colo); }
.topo nav { display:flex; align-items:center; gap:1.1rem; }
.topo nav a:not(.btn) { color:var(--colo); text-decoration:none; font-weight:700; font-size:.95rem; }
@media (max-width:640px) { .topo nav a:not(.btn) { display:none; } }
/* hero */
.hero { padding-block:clamp(2.2rem, 6vw, 4.5rem); }
.hero .wrap { display:grid; grid-template-columns:1.15fr .85fr; gap:3rem; align-items:center; }
.hero-arte { position:relative; display:flex; align-items:flex-end; justify-content:center; gap:4%; aspect-ratio:1; border-radius:50%; background:var(--linho); padding:9%; }
.hero-arte span { display:block; filter:drop-shadow(0 12px 18px rgba(47,59,76,.14)); }
.hero-arte .g { width:48%; } .hero-arte .m { width:36%; margin-bottom:6%; } .hero-arte .p { width:28%; margin-bottom:14%; }
.hero-arte .chips { position:absolute; left:50%; bottom:-1rem; transform:translateX(-50%); width:max-content; flex-wrap:nowrap; }
.hero-arte.foto { padding:0; background:none; }
.hero-arte.foto img { width:100%; height:100%; object-fit:cover; border-radius:50%; display:block; border:8px solid var(--linho); box-shadow:0 18px 40px rgba(47,59,76,.16); }
/* faixa de fotos de ambiente */
.faixa { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:1rem; margin-top:2rem; }
.faixa img { aspect-ratio:4/5; object-fit:cover; }
.faixa figcaption { font-size:.88rem; font-weight:700; color:var(--colo); margin-top:.5rem; }
@media (max-width:640px) { .faixa { grid-template-columns:repeat(2, minmax(0,1fr)); gap:.7rem; } }
.card.comfoto { padding:0; overflow:hidden; } .card.comfoto img { width:100%; aspect-ratio:3/2; object-fit:cover; display:block; } .card.comfoto > div { padding:1.1rem 1.3rem 1.3rem; }
.nota-fotos { font-size:.8rem; color:#8a8f98; }
@media (max-width:820px) { .hero .wrap { grid-template-columns:1fr; } .hero-arte { width:min(420px, 100%); margin:1rem auto 2.4rem; } }
.looks-grid { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; }
.duas-imgs { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; }
@media (max-width:640px) { .looks-grid { grid-template-columns:1fr; } }
/* grids e cartões */
.grid3 { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:1.2rem; }
.grid2 { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:1.2rem; }
.grid4 { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:1.2rem; }
@media (max-width:900px) { .grid4 { grid-template-columns:repeat(2, minmax(0,1fr)); } .grid3 { grid-template-columns:1fr; } }
@media (max-width:640px) { .grid2, .grid4 { grid-template-columns:1fr; } }
.card { background:#fff; border:1px solid var(--fio); border-radius:16px; padding:1.3rem 1.4rem; }
.card.linho { background:var(--linho); border-color:transparent; }
.card .num { font-family:var(--display); font-weight:800; font-size:2rem; color:var(--rosa); line-height:1; margin-bottom:.4rem; }
.cat { display:grid; grid-template-columns:96px 1fr; gap:1rem; align-items:center; }
.cat svg { width:96px; height:auto; }
.cat small { display:block; color:var(--texto); font-size:.92rem; }
.cat .qtd { color:var(--rosa-escuro); font-weight:800; font-size:.9rem; letter-spacing:.04em; text-transform:uppercase; }
figure { margin:0; } figure img { border-radius:12px; border:1px solid var(--fio); box-shadow:0 10px 30px rgba(47,59,76,.08); width:100%; display:block; }
figcaption { font-size:.95rem; margin-top:.7rem; } figcaption b { color:var(--colo); display:block; }
/* tabela exemplo */
table { width:100%; border-collapse:collapse; font-size:.95rem; background:#fff; border-radius:12px; overflow:hidden; }
th, td { padding:.6rem .7rem; text-align:left; border-bottom:1px solid var(--fio); vertical-align:top; }
th { font-size:.75rem; text-transform:uppercase; letter-spacing:.06em; background:var(--linho); color:var(--colo); }
td.n, th.n { text-align:center; white-space:nowrap; font-weight:700; color:var(--colo); }
td.carr { color:var(--rosa); font-weight:800; white-space:nowrap; }
.tabela-rolagem { overflow-x:auto; border:1px solid var(--fio); border-radius:12px; }
/* looks */
.look { background:#fff; border:1px solid var(--fio); border-radius:16px; padding:1rem 1.1rem; }
.look b { font-family:var(--display); color:var(--colo); font-size:1.1rem; display:block; }
.look small { color:var(--salvia); font-weight:800; text-transform:uppercase; letter-spacing:.06em; font-size:.75rem; }
.look .pal { display:flex; gap:.35rem; margin:.5rem 0; } .look .pal i { width:22px; height:22px; border-radius:50%; border:1.5px solid var(--fio); display:block; }
.look p { font-size:.92rem; margin:0; }
/* bônus */
.bonus li { margin-bottom:.6rem; } .bonus b { color:var(--colo); }
/* planos */
.planos { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:1.4rem; align-items:stretch; }
@media (max-width:760px) { .planos { grid-template-columns:1fr; } }
.plano { background:#fff; border:2px solid var(--fio); border-radius:20px; padding:1.8rem 1.6rem; display:flex; flex-direction:column; position:relative; }
.plano.destaque { border-color:var(--rosa); box-shadow:0 18px 50px rgba(217,138,149,.22); }
.plano .tag { position:absolute; top:-14px; left:1.4rem; background:var(--rosa); color:#fff; font-weight:800; font-size:.8rem; padding:.3rem .9rem; border-radius:99px; }
.plano .preco { font-family:var(--display); font-weight:800; color:var(--colo); font-size:2.6rem; line-height:1; margin:.6rem 0 .2rem; }
.plano .preco small { font-size:1rem; font-weight:700; color:var(--texto); }
.plano ul { padding-left:1.2rem; margin:1rem 0 1.4rem; flex:1; } .plano li { margin-bottom:.45rem; }
.plano .btn { text-align:center; }
.plano .nota { font-size:.85rem; opacity:.8; margin-top:.8rem; }
/* faq */
details { background:#fff; border:1px solid var(--fio); border-radius:12px; padding:.9rem 1.1rem; margin-bottom:.6rem; }
summary { cursor:pointer; font-weight:800; color:var(--colo); list-style:none; display:flex; justify-content:space-between; gap:1rem; }
summary::after { content:"+"; color:var(--rosa); font-weight:800; } details[open] summary::after { content:"–"; }
details p { margin:.7rem 0 0; }
footer { background:var(--colo); color:#E3DAD2; padding:2.4rem 0; font-size:.92rem; }
footer a { color:#fff; } footer .wrap { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; }
footer .marca b { color:#fff; }
.garantia { display:grid; grid-template-columns:auto 1fr; gap:1.4rem; align-items:center; background:#fff; border:1px solid var(--fio); border-radius:20px; padding:1.6rem; }
.garantia .selo { width:92px; height:92px; border-radius:50%; background:#E6F0E9; color:#3E6B4C; display:grid; place-items:center; font-family:var(--display); font-weight:800; text-align:center; line-height:1; font-size:.95rem; }
@media (max-width:560px) { .garantia { grid-template-columns:1fr; } }
/* ferramentas */
.ferr { max-width:640px; margin-inline:auto; }
.campo { display:grid; gap:.3rem; margin-bottom:.9rem; }
.campo label { font-weight:700; color:var(--colo); font-size:.95rem; }
.campo input, .campo select { font:inherit; padding:.7rem .9rem; border:1.5px solid var(--fio); border-radius:12px; background:#fff; color:var(--texto); width:100%; }
.campo small { font-size:.85rem; opacity:.8; }
.resultado { background:var(--linho); border-radius:16px; padding:1.2rem 1.4rem; margin-top:1rem; }
.resultado .grande { font-family:var(--display); font-weight:800; font-size:2.2rem; color:var(--colo); line-height:1; }
.contador { background:#fff; border:1px solid var(--fio); border-radius:20px; padding:1.2rem; margin-bottom:1rem; }
.contador .n { font-family:var(--display); font-weight:800; font-size:4.5rem; color:var(--colo); text-align:center; line-height:1; margin:.4rem 0; }
.contador .acoes { display:grid; grid-template-columns:1fr 2fr; gap:.7rem; }
.contador button { font:inherit; font-weight:800; border:0; border-radius:16px; padding:1.1rem; cursor:pointer; font-size:1.3rem; }
.contador .menos { background:var(--linho); color:var(--colo); } .contador .mais { background:var(--rosa); color:#fff; }
.contador .mini { display:flex; justify-content:space-between; gap:.6rem; margin-top:.7rem; font-size:.9rem; }
.contador .mini button { font-size:.9rem; padding:.45rem .8rem; background:transparent; color:var(--rosa-escuro); border:1px solid var(--fio); border-radius:99px; }
.barra { height:8px; background:var(--linho); border-radius:99px; overflow:hidden; margin-top:.6rem; } .barra i { display:block; height:100%; background:var(--salvia); }
.linha-form { display:grid; grid-template-columns:1fr auto auto; gap:.6rem; align-items:end; }
@media (max-width:560px) { .linha-form { grid-template-columns:1fr; } }
