:root{--axa:#00008f;--axa2:#1a1ab8;--frisa:#0b6e4f;--ink:#1b1f2a;--mut:#5a6275;--bg:#f4f6fb;--card:#fff;--line:#d9deea;--err:#b3261e;--warn:#8a5a00;--r:12px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg)}
.wrap{max-width:960px;margin:0 auto;padding:0 16px}
.demo-banner{position:relative;background:#ffd400;color:#1b1f2a;text-align:center;font-size:.85rem;padding:6px 12px;border-bottom:2px solid #c9a800}
.topbar{background:var(--axa);color:#fff}
.topbar-in{display:flex;justify-content:space-between;align-items:center;min-height:56px;gap:12px}
.wm{font-weight:800;letter-spacing:.06em;font-size:1.15rem;display:flex;gap:8px;align-items:center}
.wm-frisa{background:#fff;color:var(--frisa);padding:2px 8px;border-radius:6px}
.wm-axa{border:2px solid #fff;padding:0 8px;border-radius:6px}
.wm-sep{opacity:.7;font-weight:400}
.agent{font-size:.85rem;opacity:.9}
main{padding:20px 16px 32px}
main:focus,h1:focus{outline:none}
h1{font-size:1.6rem;line-height:1.2;margin:.2em 0 .6em}
h2{font-size:1.2rem;margin:0 0 .6em}
h3{font-size:1rem;margin:0 0 .3em;color:var(--axa)}
.hero{padding:8px 0 12px}
.eyebrow{color:var(--frisa);font-weight:700;text-transform:uppercase;font-size:.8rem;letter-spacing:.06em;margin:0}
.lead{font-size:1.05rem;color:#2c3344}
.card,.mini{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin:0 0 16px}
.block{margin:24px 0}
.grid2{display:grid;gap:12px}
.mini{margin:0}.mini p{margin:0;color:var(--mut);font-size:.95rem}
label,.lbl{display:block;font-weight:600;margin:12px 0 6px}
select,input[type=text],input:not([type]),input[inputmode],input[type=file]{width:100%;font:inherit;padding:12px;border:1px solid #aab3c7;border-radius:10px;background:#fff;min-height:48px}
input[aria-invalid=true]{border-color:var(--err);box-shadow:0 0 0 2px #f3d2cf}
:focus-visible{outline:3px solid #ffbf47;outline-offset:2px}
.hint{color:var(--mut);font-size:.88rem;margin:6px 0}
.hint.warn{color:var(--warn)}
.err{color:var(--err);font-weight:600;min-height:1.2em;margin:8px 0}
.opt{font-weight:400;color:var(--mut)}
.btn{font:inherit;font-weight:700;border-radius:999px;padding:12px 22px;min-height:48px;border:2px solid var(--axa);background:#fff;color:var(--axa);cursor:pointer}
.btn.primary{background:var(--axa);color:#fff}
.btn.primary:hover{background:var(--axa2)}
#f-ubic .btn{width:100%;margin-top:8px}
.nav{display:flex;justify-content:space-between;gap:12px;margin-top:16px}
.nav .btn.primary{flex:1;max-width:320px;margin-left:auto}
fieldset{border:0;padding:0;margin:0 0 16px;min-width:0}
fieldset.card{border:1px solid var(--line);padding:16px}
legend{font-weight:700;font-size:1.05rem;padding:0 4px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.opts{display:grid;gap:8px}
.opts.row{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.radio,.chk{display:flex;align-items:flex-start;gap:10px;font-weight:500;margin:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}
.radio input,.chk input{width:20px;height:20px;margin:2px 0 0;flex:none;accent-color:var(--axa)}
.radio:has(input:checked),.chk:has(input:checked){border-color:var(--axa);background:#eef0ff}
.radio.blk{margin-bottom:8px}
.radio em,.chk em{font-style:normal;color:var(--axa);font-weight:700}
.chk{margin:8px 0}
.tile{min-height:56px;align-items:center}
.pkgs{display:grid;gap:12px}
.pkg{position:relative;display:flex;flex-direction:column;background:#fff;border:2px solid var(--line);border-radius:var(--r);padding:16px;cursor:pointer}
.pkg input{position:absolute;top:16px;right:16px;width:22px;height:22px;accent-color:var(--axa)}
.pkg:has(input:checked){border-color:var(--axa);box-shadow:0 0 0 3px #c8ccff}
.pkg-h{font-weight:800;font-size:1.15rem;color:var(--axa)}
.price{font-size:1rem;margin-top:4px}.price strong{font-size:1.5rem}
.price-m{color:var(--mut);font-size:.9rem}
.pkg ul{margin:10px 0 0;padding-left:18px;font-size:.88rem;color:#394155}
.pkg li{margin:2px 0}
.tag{display:inline-block;background:#fff3cd;color:#6b4e00;border:1px solid #e6c200;border-radius:999px;font-size:.75rem;padding:1px 8px;margin-left:6px;font-weight:600;vertical-align:middle}
.total table{width:100%;border-collapse:collapse}
.total caption{text-align:left;font-weight:700;margin-bottom:6px}
.total th{text-align:left;font-weight:500;padding:4px 0;color:var(--mut)}
.total td{text-align:right;padding:4px 0}
.total .tt th,.total .tt td{font-weight:800;color:var(--ink);font-size:1.15rem;border-top:1px solid var(--line);padding-top:8px}
.avisos{border-left:6px solid #e0a100;background:#fffaf0}
.avisos ul{margin:0;padding-left:20px}.avisos li{margin:4px 0}
details{background:#fff;border:1px solid var(--line);border-radius:10px;margin:8px 0;padding:0 14px}
summary{cursor:pointer;font-weight:600;padding:12px 0;min-height:44px}
details p{margin:0 0 12px;color:#394155}
.qr{display:flex;gap:16px;align-items:center;flex-wrap:wrap;background:#fff;border:1px dashed #aab3c7;border-radius:var(--r);padding:16px}
.qr img{width:150px;height:150px}
.qr figcaption{flex:1;min-width:200px;font-size:.9rem;color:var(--mut)}
code{word-break:break-all;font-size:.82rem}
.steps{display:flex;list-style:none;padding:0;margin:0 0 16px;gap:6px}
.steps li{flex:1;text-align:center;font-size:.8rem;color:var(--mut);border-bottom:4px solid var(--line);padding-bottom:6px}
.steps li span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--line);color:var(--ink);font-weight:700;margin-right:4px}
.steps li.on{color:var(--axa);border-color:var(--axa);font-weight:700}
.steps li.on span,.steps li.done span{background:var(--axa);color:#fff}
.steps li.done{border-color:#8f95d6}
.ctx{display:inline-block;background:#e7f4ee;color:var(--frisa);font-weight:600;font-size:.85rem;border-radius:999px;padding:4px 12px;margin:0}
.ctx:empty{display:none}
.okmark{width:64px;height:64px;border-radius:50%;background:var(--frisa);color:#fff;display:grid;place-items:center;font-size:2rem;margin:8px 0}
.resumen{display:grid;grid-template-columns:1fr;gap:2px 16px}
.resumen dt{color:var(--mut);font-size:.85rem;margin-top:6px}.resumen dd{margin:0;font-weight:600}
.foot{color:var(--mut);font-size:.8rem;padding-bottom:32px}
.demo-foot{font-weight:700;color:#6b4e00}
a{color:var(--axa)}
[hidden]{display:none!important}
@media (min-width:720px){
  h1{font-size:2rem}
  .grid2{grid-template-columns:1fr 1fr}
  .pkgs{grid-template-columns:repeat(2,1fr)}
  .opts.ramas,#ramas{grid-template-columns:1fr 1fr}
  .resumen{grid-template-columns:max-content 1fr}.resumen dt{margin-top:0}
  #f-ubic{max-width:560px}
}
@media (min-width:1100px){.pkgs{grid-template-columns:repeat(4,1fr)}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
