@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Source+Sans+3:wght@400;600;700&display=swap');
:root { --navy:#1f3a4d; --navy-soft:#e8eef2; --amber:#d9822b; --amber-d:#b96a1c; --amber-soft:#fbf0e3; --green:#2f7d5b; --green-soft:#e6f2ec; --red:#b43c32; --red-soft:#f8e7e5; --ink:#22292f; --muted:#5d6b75; --rule:#d5dde3; --bg:#fbfaf7; }
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--bg); color:var(--ink); font:400 18px/1.6 'Source Sans 3',system-ui,sans-serif; }
img { max-width:100%; display:block; }
a { color:var(--navy); }
.wrap { max-width:720px; margin:0 auto; padding:0 18px; }
.wide { max-width:1040px; margin:0 auto; padding:0 18px; }
h1,h2,h3 { font-family:'Fraunces',Georgia,serif; color:var(--navy); line-height:1.18; }
h1 { font-size:clamp(30px,6vw,44px); margin:12px 0 14px; }
h2 { font-size:clamp(24px,4.5vw,31px); margin:44px 0 12px; }
h3 { font-size:21px; margin:26px 0 8px; }
p { margin:0 0 16px; }
.top { background:var(--navy); color:#fff; font:600 13px 'Source Sans 3'; letter-spacing:.12em; text-transform:uppercase; text-align:center; padding:9px 12px; }
.byline { color:var(--muted); font-size:15px; border-bottom:1px solid var(--rule); padding-bottom:14px; margin-bottom:22px; }
.kicker { color:var(--amber-d); font:700 14px 'Source Sans 3'; letter-spacing:.14em; text-transform:uppercase; margin-top:28px; }
.reason { counter-increment:r; position:relative; padding-left:58px; margin-top:40px; }
.reason::before { content:counter(r); position:absolute; left:0; top:2px; width:42px; height:42px; border-radius:50%; background:var(--amber); color:#fff; font:700 21px 'Fraunces'; display:flex; align-items:center; justify-content:center; }
.reasons { counter-reset:r; }
.reason h2 { margin-top:0; font-size:clamp(22px,4vw,27px); }
.box { border-radius:10px; padding:18px 20px 4px; margin:22px 0; border-left:6px solid; }
.box.gov { background:var(--navy-soft); border-color:var(--navy); }
.box.tip { background:var(--green-soft); border-color:var(--green); }
.box.warn { background:var(--red-soft); border-color:var(--red); }
.box.note { background:var(--amber-soft); border-color:var(--amber); }
.box .lab { display:block; font:700 13px 'Source Sans 3'; letter-spacing:.12em; text-transform:uppercase; margin-bottom:6px; color:var(--muted); }
.cta { display:block; text-align:center; background:var(--amber); color:#fff; text-decoration:none; font:700 21px 'Source Sans 3'; padding:18px 20px; border-radius:10px; margin:26px 0 8px; box-shadow:0 3px 0 var(--amber-d); }
.cta:hover { background:var(--amber-d); }
.cta small { display:block; font-weight:600; font-size:14px; opacity:.92; margin-top:2px; }
.under-cta { text-align:center; color:var(--muted); font-size:14px; margin-bottom:26px; }
.ticks { list-style:none; padding:0; margin:0 0 18px; }
.ticks li { position:relative; padding-left:30px; margin-bottom:9px; }
.ticks li::before { content:"✓"; position:absolute; left:0; top:0; color:var(--green); font-weight:700; font-size:20px; }
.crosses li::before { content:"✗"; color:var(--red); }
.mock { background:var(--navy-soft); border-radius:12px; padding:22px; margin:24px 0; }
.pages { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.pages img { border-radius:4px; box-shadow:0 2px 10px rgba(0,0,0,.15); background:#fff; }
.caption { text-align:center; color:var(--muted); font-size:14px; margin-top:10px; }
.foot { margin-top:60px; padding:28px 0 40px; border-top:1px solid var(--rule); color:var(--muted); font-size:14px; }
.foot a { color:var(--muted); margin-right:14px; }
.disc { font-size:13px; color:var(--muted); margin-top:12px; }

/* offerta */
.tiers { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:26px 0; align-items:stretch; }
.tier { background:#fff; border:2px solid var(--rule); border-radius:14px; padding:22px 20px; display:flex; flex-direction:column; position:relative; }
.tier.best { border-color:var(--amber); box-shadow:0 8px 28px rgba(217,130,43,.18); }
.tier .flag { position:absolute; top:-14px; left:50%; transform:translateX(-50%); background:var(--amber); color:#fff; font:700 13px 'Source Sans 3'; letter-spacing:.08em; text-transform:uppercase; padding:5px 14px; border-radius:20px; white-space:nowrap; }
.tier h3 { margin:6px 0 2px; }
.tier .for { color:var(--muted); font-size:15px; margin-bottom:12px; }
.price { font:700 40px 'Fraunces'; color:var(--navy); }
.price s { font:400 20px 'Source Sans 3'; color:var(--muted); margin-left:6px; }
.tier .ticks { font-size:16px; flex:1; }
.tier .cta { font-size:18px; padding:14px; margin:10px 0 0; }
.bump { border:2px dashed var(--amber); background:var(--amber-soft); border-radius:10px; padding:14px 16px; margin:18px 0; display:flex; gap:12px; align-items:flex-start; }
.bump input { width:22px; height:22px; margin-top:3px; accent-color:var(--amber); flex:none; }
.pay { background:#fff; border:1px solid var(--rule); border-radius:12px; padding:20px; margin:20px 0; }
.or { text-align:center; color:var(--muted); margin:12px 0; font-size:14px; }
.guarantee { display:flex; gap:16px; align-items:center; background:var(--green-soft); border-radius:12px; padding:18px 20px; margin:26px 0; }
.guarantee .seal { flex:none; width:74px; height:74px; border-radius:50%; background:var(--green); color:#fff; font:700 15px/1.05 'Source Sans 3'; display:flex; align-items:center; justify-content:center; text-align:center; }
.faq details { background:#fff; border:1px solid var(--rule); border-radius:10px; padding:14px 18px; margin-bottom:10px; }
.faq summary { font-weight:700; cursor:pointer; }
.notice { background:var(--red-soft); border-radius:10px; padding:14px 18px; margin:16px 0; display:none; }
@media (max-width:820px) { .tiers { grid-template-columns:1fr; } .tier.best { order:-1; } }
@media (max-width:520px) { body { font-size:17px; } .reason { padding-left:0; } .reason::before { position:static; margin-bottom:10px; } .pages { grid-template-columns:repeat(2,1fr); } }
