:root{--g:linear-gradient(135deg,#7c3aed,#c026d3 50%,#ff2d87);--bg:#09040f;--txt:#f5eefc;--mut:#bfaed6;--line:rgba(255,255,255,.12)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(1200px 600px at 80% -10%,#3b0f4d,transparent),var(--bg);color:var(--txt);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;line-height:1.5}
.top{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;max-width:1080px;margin:0 auto}.wm{height:30px}
select{background:#ffffff10;color:var(--txt);border:1px solid var(--line);border-radius:10px;padding:6px 8px}select option{color:#111}
main{max-width:1080px;margin:0 auto;padding:0 18px 40px}.hero{padding:30px 0 24px}.badge{display:inline-block;border:1px solid #ff2d8788;color:#ff9ac6;border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:700}
h1{font-size:clamp(1.8rem,5vw,3rem);line-height:1.12;margin:12px 0}.sub{color:var(--mut);font-size:1.1rem;max-width:720px}.ref{color:#93c5fd}
.ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.cta{background:var(--g);color:#fff;text-decoration:none;font-weight:800;font-size:1.2rem;padding:14px 22px;border-radius:999px;display:inline-block;box-shadow:0 10px 30px #ff2d8744}
.ghost{color:var(--txt);text-decoration:none;border:1px solid var(--line);padding:13px 20px;border-radius:999px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin:18px 0}
article{background:#ffffff0d;border:1px solid var(--line);border-radius:18px;padding:18px}article i{font-style:normal;font-size:1.7rem}article h3{margin:8px 0 6px}article p{color:var(--mut);margin:0}
article.hl{border-color:#60a5fa88;box-shadow:0 0 0 1px #60a5fa33,0 10px 40px #60a5fa22}
.steps{background:#ffffff0d;border:1px solid var(--line);border-radius:18px;padding:18px 22px;margin-top:10px}.steps ol{padding-inline-start:20px}.steps li{margin:6px 0}
.note{color:var(--mut);font-size:.85rem;margin-top:22px}.note a{color:#d8b4fe}
/* light theme (default) */
html[data-theme=light]{--bg:#F7F6FA;--txt:#26232D;--mut:#5F5A6B;--line:#E7E3EF}
html[data-theme=light] body{background:radial-gradient(1200px 600px at 80% -10%,#FFE6EF,transparent),var(--bg)}
html[data-theme=light] select{background:#fff;color:var(--txt);border-color:#DCD7E5}
html[data-theme=light] .badge{border-color:#E8186A;color:#C2185B;background:#fff}html[data-theme=light] .ref{color:#1D4ED8}
html[data-theme=light] .cta{background:linear-gradient(135deg,#FF2D7A,#EE5524);font-size:1.2rem;box-shadow:0 12px 30px -10px #FF2D7Acc}
html[data-theme=light] .ghost{background:#fff;color:#C2185B;border-color:#C2185B}
html[data-theme=light] article,html[data-theme=light] .steps{background:#fff;box-shadow:0 8px 24px -14px rgba(30,20,50,.18)}
html[data-theme=light] article.hl{border-color:#86D9A5;box-shadow:0 0 0 1px #86D9A555,0 10px 30px -14px #16A34A55}
html[data-theme=light] .note a{color:#6B21A8}
/* CLS: reserve space so the cards/hero don't jump when the client-side i18n (re)applies the text */
.wm{width:auto;aspect-ratio:300/96}.hero h1{min-height:1.12em}.hero .sub{min-height:3em}.ctas{min-height:52px}
.grid article{min-height:170px;contain:layout}.steps{min-height:260px}
/* visual pass (André 21/10: «está basicamente em texto»): icons on the cards, gift photos, illustrated steps */
.ic{width:48px;height:48px;border-radius:15px;display:inline-grid;place-items:center;background:var(--g);box-shadow:0 8px 20px -8px #ff2d87aa;flex:none}
.ic svg{width:26px;height:26px;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.ic.sm{width:36px;height:36px;border-radius:11px}.ic.sm svg{width:20px;height:20px}
article .ic{margin-bottom:4px}article.hl .ic{background:linear-gradient(135deg,#16a34a,#22c55e);box-shadow:0 8px 20px -8px #16a34aaa}
.gifts{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;margin:34px 0;padding:26px;border-radius:24px;background:linear-gradient(135deg,#ff2d870f,#7c3aed14);border:1px solid var(--line)}
.gifts h2,.how h2,.steps h2{font-size:clamp(1.4rem,3.6vw,2rem);line-height:1.2;margin:10px 0 8px}.gl{list-style:none;padding:0;margin:16px 0 0}.gl li{display:flex;gap:12px;align-items:center;margin:10px 0;font-weight:600}
.mosaic{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:10px}.mosaic figure{margin:0;background:#fff;border-radius:18px;aspect-ratio:1;display:grid;place-items:center;padding:10px;box-shadow:0 10px 24px -14px rgba(30,20,50,.35);overflow:hidden}
.mosaic img{width:100%;height:100%;object-fit:contain}.mosaic .t2,.mosaic .t6{transform:translateY(14px)}
.how{margin:30px 0}.hgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;counter-reset:h}.hc{position:relative;background:#ffffff0d;border:1px solid var(--line);border-radius:20px;padding:16px 18px 18px;text-align:center}
.hc .scn{width:100%;max-width:220px;height:auto;display:block;margin:0 auto 6px}.hc h3{margin:6px 0}.hc p{color:var(--mut);margin:0}
.hc .n{position:absolute;top:12px;left:14px;width:30px;height:30px;border-radius:50%;background:var(--g);color:#fff;display:grid;place-items:center;font-size:.95rem}
.scn .w{fill:#fff;stroke:#e9d5ff;stroke-width:2}.scn .p{fill:#ff2d87}.scn .g{fill:#7c3aed}.scn .s{fill:#fbbf24}.scn .w2{stroke:#fff;stroke-width:5;fill:none}.scn .l{stroke:#fff;stroke-width:4;fill:none;stroke-linecap:round;stroke-linejoin:round}.scn .d{stroke:#c4b5fd;stroke-width:3;stroke-dasharray:4 5;fill:none;stroke-linecap:round}
.steps ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0 18px}.steps li{display:flex;gap:12px;align-items:flex-start;background:#ffffff0a;border:1px solid var(--line);border-radius:16px;padding:14px;margin:0}
html[data-theme=light] .gifts{background:linear-gradient(135deg,#FFF0F5,#F4EEFF)}html[data-theme=light] .hc,html[data-theme=light] .steps li{background:#fff;box-shadow:0 8px 24px -14px rgba(30,20,50,.18)}
html[data-theme=light] .ic,html[data-theme=light] .hc .n{background:linear-gradient(135deg,#FF2D7A,#EE5524)}html[data-theme=light] article.hl .ic{background:linear-gradient(135deg,#16a34a,#22c55e)}
@media (max-width:760px){.gifts{grid-template-columns:1fr;padding:18px}.hgrid,.steps ol{grid-template-columns:1fr}.hc .scn{max-width:180px}.mosaic .t2,.mosaic .t6{transform:none}}
[dir=rtl] .hc .n{left:auto;right:14px}
