:root{
  --navy:#1B1353; --pink:#FC1484; --pink-dark:#C80F6A; --pink-light:#FD7CBA; --pink-tint:#FFE3F0;
  --ground:#F7F6FB; --surface:#FFFFFF; --line:#E2E1EE; --line-strong:#C9C8DE; --muted:#5A5880; --muted-2:#4A4870; --lav:#F0EFF7;
  --serif:'Cormorant Garamond', Georgia, serif; --sans:'Manrope', system-ui, -apple-system, sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--ground);color:var(--navy);font-family:var(--sans);-webkit-text-size-adjust:100%}
body{min-height:100vh}
a{color:var(--navy)}
button{font:inherit;color:inherit}
img{max-width:100%}
.app{max-width:480px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;background:var(--ground);position:relative}
main.page{flex:1;padding:max(28px,env(safe-area-inset-top)) 20px 110px;display:flex;flex-direction:column;gap:16px}
main.page.no-nav{padding-bottom:32px}
.eyebrow{font-size:11px;letter-spacing:.22em;font-weight:700;color:var(--pink-dark);text-transform:uppercase}
h1,h2,h3{margin:0}
.h1{font-family:var(--serif);font-weight:600;font-size:34px;line-height:1.05}
.h2{font-family:var(--serif);font-weight:600;font-size:26px;line-height:1.1}
.h3{font-family:var(--serif);font-weight:600;font-size:22px;line-height:1.15}
.lead{margin:0;font-size:15px;line-height:1.5;color:var(--muted-2)}
.small{font-size:13px;color:var(--muted)}
.center{text-align:center}
.stack{display:flex;flex-direction:column;gap:10px}
.row{display:flex;gap:12px;align-items:center}
.between{justify-content:space-between}
.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px}
.card-dark{background:var(--navy);color:#fff;border-radius:20px;padding:18px}
.card-pink{background:var(--pink-tint);border-radius:18px;padding:16px}
.chip{display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;background:var(--pink-tint);font-size:12px;font-weight:700}
.chip.lav{background:var(--lav)}
.chip.on-dark{background:var(--pink-light);color:var(--navy)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.btn{appearance:none;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;border-radius:28px;padding:0 20px;font-weight:800;font-size:19px;text-decoration:none;width:100%}
.btn-primary{background:var(--pink);color:var(--navy)}
.btn-primary[disabled]{background:var(--line);color:var(--muted);cursor:not-allowed}
.btn-dark{background:var(--navy);color:#fff;font-size:15px;min-height:52px}
.btn-outline{background:transparent;border:1.5px solid var(--navy);color:var(--navy);font-size:15px;font-weight:700;min-height:52px}
.btn-white{background:#fff;color:var(--navy);font-size:15px;min-height:52px}
.btn-sm{min-height:42px;font-size:13px;width:auto;padding:0 18px}
.link-btn{appearance:none;background:none;border:0;cursor:pointer;min-height:44px;padding:0 8px;font-size:14px;font-weight:700;color:var(--pink-dark);text-decoration:underline;align-self:center}
.back{appearance:none;background:none;border:0;cursor:pointer;align-self:flex-start;min-height:44px;display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;padding:0;text-decoration:none;color:var(--navy)}
.option{appearance:none;cursor:pointer;width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;background:var(--surface);border:1.5px solid var(--line)}
.option[aria-pressed="true"]{border-color:var(--pink)}
.option .t{font-weight:700;font-size:15px}
.option .d{font-size:13px;color:var(--muted);margin-top:2px;line-height:1.4}
.option .p{font-family:var(--serif);font-size:22px;font-weight:700;white-space:nowrap}
.seg{display:grid;gap:4px;padding:4px;border-radius:26px;background:var(--surface);border:1px solid var(--line)}
.seg button{appearance:none;border:0;cursor:pointer;min-height:44px;border-radius:22px;background:transparent;font-size:14px;font-weight:700;color:var(--navy)}
.seg button[aria-pressed="true"]{background:var(--navy);color:#fff}
.tabs3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.tabs3 button{appearance:none;cursor:pointer;min-height:48px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);font-size:13px;font-weight:700}
.tabs3 button[aria-pressed="true"]{border-color:var(--pink)}
.filters{display:flex;flex-wrap:wrap;gap:8px}
.filters button{appearance:none;cursor:pointer;min-height:40px;padding:0 16px;border-radius:20px;border:1px solid var(--line);background:var(--surface);font-size:14px;font-weight:600}
.filters button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
label.lbl{font-size:13px;font-weight:700;color:var(--muted-2)}
.field{display:flex;flex-direction:column;gap:6px}
input.in,select.in,textarea.in{min-height:48px;padding:0 14px;border-radius:12px;border:1px solid var(--line-strong);background:#fff;font-family:var(--sans);font-size:16px;color:var(--navy);width:100%}
textarea.in{padding:12px 14px;resize:vertical}
input.in:focus,select.in:focus,textarea.in:focus,button:focus-visible,a:focus-visible{outline:3px solid var(--pink-light);outline-offset:2px}
.check{display:flex;gap:12px;align-items:flex-start;cursor:pointer;font-size:13px;line-height:1.45}
.check input{width:22px;height:22px;margin:0;flex-shrink:0;accent-color:var(--pink-dark)}
.error{margin:0;font-size:13px;color:var(--pink-dark);text-align:center;font-weight:600}
.tick{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45}
.tick svg{flex-shrink:0;margin-top:1px}
.steps .s{display:flex;gap:10px;align-items:flex-start}
.num{width:26px;height:26px;flex-shrink:0;border-radius:13px;background:var(--pink-tint);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--pink-dark)}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.fact{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}
.fact .k{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--muted)}
.fact .v{font-size:14px;font-weight:700;line-height:1.3}
.hscroll{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -20px;padding:0 20px 6px}
.tcard{flex:0 0 260px;scroll-snap-align:start;display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}
.tcard p{margin:0;font-family:var(--serif);font-size:19px;font-weight:600;line-height:1.3;flex:1}
.video{position:relative;display:flex;flex-direction:column;justify-content:flex-end;aspect-ratio:9/16;border-radius:16px;overflow:hidden;background:var(--navy);color:#fff;text-decoration:none}
.video .play{position:absolute;top:50%;left:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:28px;background:var(--pink);display:flex;align-items:center;justify-content:center}
.video .cap{padding:12px;background:linear-gradient(transparent,rgba(27,19,83,.92));display:flex;flex-direction:column;gap:2px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
/* nav */
.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);background:#fff;padding:6px 4px max(12px,env(safe-area-inset-bottom));z-index:10}
.nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:52px;text-decoration:none;color:var(--muted);font-size:11px;font-weight:500}
.nav a[aria-current="page"]{color:var(--navy);font-weight:700}
/* carta */
.fan{position:relative;width:350px;max-width:100%;height:250px;margin:8px auto 0}
.fan button{appearance:none;border:0;padding:0;cursor:pointer;position:absolute;width:86px;height:134px;border-radius:10px;transform-origin:50% 100%;transition:top .25s ease,box-shadow .25s ease;background:none}
.cardface{width:200px;height:310px;border-radius:18px;background:#fff;border:2px solid var(--pink);padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;box-shadow:0 14px 30px rgba(27,19,83,.18);margin:0 auto}
@keyframes flipin{from{transform:rotateY(90deg)}to{transform:rotateY(0)}}
.flip{animation:flipin .5s ease}
.big-num{width:84px;height:84px;flex-shrink:0;border-radius:42px;border:1.5px solid var(--pink-light);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:48px;font-weight:700;color:var(--pink-light)}
.toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);background:var(--navy);color:#fff;padding:12px 18px;border-radius:14px;font-size:14px;font-weight:600;z-index:20;max-width:90%}
.legal p,.legal li{font-size:14px;line-height:1.6;color:var(--muted-2)}
.legal h2{font-size:16px;font-family:var(--sans);font-weight:800;margin-top:8px}
