
:root{
  --navy:#103a6b; --navy-deep:#0c2c52; --navy-soft:#1b4d87; --blue:#1f6fc0;
  --gold:#f2a31d; --gold-deep:#cf8606; --ink:#13243f;
  --muted:#56688a; --muted-2:#8794ab;
  --line:#e3e9f2; --line-2:#d3dcea; --bg:#fff; --soft:#f5f8fc; --soft-2:#eef3fa;
  --green:#1f9d6b; --green-bg:#e7f6ef; --red:#d64545; --red-bg:#fdeded; --amber-bg:#fef6e6;
  --fd:"Archivo",ui-sans-serif,system-ui,sans-serif;
  --fb:"Source Sans 3",ui-sans-serif,system-ui,sans-serif;
  --fm:"IBM Plex Mono",ui-monospace,monospace;
  --maxw:1140px; --r:14px; --r-lg:20px;
  --sh:0 1px 2px rgba(16,58,107,.04),0 8px 24px rgba(16,58,107,.07);
  --sh-lg:0 14px 44px rgba(16,58,107,.14);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%}
body{font-family:var(--fb);color:var(--ink);background:var(--bg);line-height:1.7;font-size:17px;-webkit-font-smoothing:antialiased}
::selection{background:var(--gold);color:var(--navy-deep)}
img{max-width:100%;display:block}
a{color:var(--blue);text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
input{font-family:inherit}
h1,h2,h3,h4{font-family:var(--fd);font-weight:700;line-height:1.16;letter-spacing:-.015em;color:var(--navy-deep)}
.mono{font-family:var(--fm)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
.eyebrow{font-family:var(--fm);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 13px;border-radius:999px;font-family:var(--fm);font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;background:var(--soft-2);color:var(--navy-soft);border:1px solid var(--line)}
.pill svg{width:14px;height:14px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 22px;border-radius:12px;font-family:var(--fd);font-weight:700;font-size:15px;transition:.2s;border:2px solid transparent;white-space:nowrap}
.btn svg{width:18px;height:18px}
.btn-gold{background:var(--gold);color:var(--navy-deep);box-shadow:0 6px 18px rgba(242,163,29,.32)}
.btn-gold:hover{background:var(--gold-deep);transform:translateY(-2px);box-shadow:0 10px 26px rgba(242,163,29,.42)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-deep);transform:translateY(-2px)}
.btn-ghost{background:#fff;border-color:var(--line-2);color:var(--navy)}
.btn-ghost:hover{border-color:var(--navy);background:var(--soft)}
.btn-wa{background:#25D366;color:#fff}.btn-wa:hover{background:#1da851;transform:translateY(-2px)}
.btn-sm{padding:10px 16px;font-size:13.5px}

/* top bar */
.topbar{background:var(--navy-deep);color:#cfe0f5;font-size:13px}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 22px;flex-wrap:wrap}
.topbar a{color:#fff;font-weight:600}
.topbar .l{display:flex;align-items:center;gap:8px;font-family:var(--fm);font-size:11.5px;letter-spacing:.04em}
.topbar .l svg{width:14px;height:14px;color:var(--gold)}
.topbar .r{display:flex;gap:18px}
.topbar .r a{display:inline-flex;align-items:center;gap:6px}
.topbar .r svg{width:14px;height:14px;color:var(--gold)}
@media(max-width:640px){.topbar .l span{display:none}}

/* header */
header.nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav-row{display:flex;align-items:center;justify-content:space-between;gap:16px;height:74px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:46px;width:auto}
.brand .bt{display:none}
.nav-links{display:flex;align-items:center;gap:21px}
.nav-links a{font-size:14.5px;font-weight:600;color:var(--ink);transition:.15s;white-space:nowrap}
.nav-links a:hover,.nav-links a.active{color:var(--blue)}
.nav-links a.active{border-bottom:2px solid var(--gold);padding-bottom:3px}
.nav-cta{display:flex;align-items:center;gap:10px}
.burger{display:none;width:44px;height:44px;border-radius:10px;border:1px solid var(--line-2);align-items:center;justify-content:center}
.burger svg{width:22px;height:22px;color:var(--navy)}
@media(max-width:1080px){.nav-links{display:none}.nav-cta .btn-ghost{display:none}.burger{display:flex}}
.mmenu{display:none;position:fixed;inset:74px 0 0;z-index:55;background:#fff;padding:14px 22px 40px;overflow-y:auto}
.mmenu.open{display:block}
.mmenu a{display:block;padding:14px 4px;border-bottom:1px solid var(--line);font-family:var(--fd);font-weight:700;font-size:17px;color:var(--navy-deep)}
.mmenu .btn{margin-top:18px;width:100%}

/* breadcrumb */
.crumb{background:var(--soft);border-bottom:1px solid var(--line)}
.crumb .wrap{padding:11px 22px;font-size:13px;color:var(--muted);font-family:var(--fm)}
.crumb a{color:var(--blue)}
.crumb span{color:var(--muted-2)}

/* hero */
.phero{background:linear-gradient(180deg,#fff,var(--soft));border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.phero::before{content:"";position:absolute;top:-160px;right:-120px;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(31,111,192,.09),transparent 65%)}
.phero .wrap{position:relative;padding:46px 22px 42px}
.phero.big .wrap{padding:58px 22px 52px}
.phero h1{font-size:clamp(29px,4.3vw,46px);font-weight:800;letter-spacing:-.025em;margin:14px 0 14px;max-width:20ch}
.phero.big h1{max-width:24ch}
.phero h1 .u{background:linear-gradient(120deg,var(--gold),var(--gold-deep));-webkit-background-clip:text;background-clip:text;color:transparent}
.phero p{font-size:18px;color:var(--muted);max-width:64ch}
.phero .hcta{display:flex;flex-wrap:wrap;gap:11px;margin-top:22px}

/* sections */
section.sec{padding:50px 0}
.sec-soft{background:var(--soft)}
.sec-navy{background:var(--navy-deep);color:#dce7f5}
.sec-head{max-width:760px;margin-bottom:30px}
.sec-head h2{font-size:clamp(24px,3.2vw,34px);font-weight:800;margin-top:10px}
.sec-navy .sec-head h2{color:#fff}
.sec-head p{margin-top:12px;font-size:17px;color:var(--muted)}
.sec-navy .sec-head p{color:#aec6e6}

/* prose */
.prose{max-width:760px}
.prose h3{font-size:22px;margin:30px 0 12px}
.prose h4{font-size:18px;margin:22px 0 8px;color:var(--navy)}
.prose p{margin-bottom:15px;color:#2c3d59}
.prose ul,.prose ol{margin:0 0 16px 2px;padding-left:20px}
.prose li{margin-bottom:8px;color:#2c3d59}
.prose strong{color:var(--navy-deep);font-weight:700}
.prose a{font-weight:600}
.lead{font-size:19px;color:var(--muted);line-height:1.6}

.note{padding:15px 17px;border-radius:12px;background:var(--soft-2);border:1px solid var(--line);font-size:14.5px;color:var(--muted);display:flex;gap:11px;align-items:flex-start;margin:18px 0}
.note svg{width:18px;height:18px;color:var(--blue);flex-shrink:0;margin-top:2px}
.note.src{background:var(--amber-bg);border-color:#f3e2bf}.note.src svg{color:var(--gold-deep)}
.note.warn{background:var(--red-bg);border-color:#f3c9c9}.note.warn svg{color:var(--red)}
.note.ok{background:var(--green-bg);border-color:#c6ebd8}.note.ok svg{color:var(--green)}
.note b{color:var(--navy-deep)}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:860px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}

.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;box-shadow:var(--sh)}
.card h3{font-size:19px;margin-bottom:9px}
.card p{font-size:15px;color:var(--muted)}
.card .ib{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;margin-bottom:13px;background:var(--soft-2)}
.card .ib svg{width:22px;height:22px;color:var(--navy)}
.card ul{list-style:none;margin-top:10px}
.card ul li{display:flex;gap:9px;align-items:flex-start;font-size:14.5px;color:#2c3d59;padding:4px 0}
.card ul li svg{width:17px;height:17px;color:var(--green);flex-shrink:0;margin-top:3px}
a.card{display:block;transition:.2s;color:inherit}
a.card:hover{border-color:var(--line-2);box-shadow:var(--sh-lg);transform:translateY(-3px)}
a.card .more{margin-top:12px;font-family:var(--fd);font-weight:700;font-size:14px;color:var(--blue);display:inline-flex;align-items:center;gap:6px}
a.card .more svg{width:15px;height:15px}

/* table */
.tbl{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh);margin:18px 0}
.tbl table{width:100%;border-collapse:collapse}
.tbl th,.tbl td{padding:14px 17px;text-align:left;border-bottom:1px solid var(--line);font-size:14.5px;vertical-align:top}
.tbl thead th{background:var(--navy);color:#fff;font-family:var(--fd);font-weight:700;font-size:14.5px}
.tbl thead th:first-child{background:var(--navy-deep)}
.tbl tbody tr:last-child td{border-bottom:none}
.tbl td:first-child{font-weight:700;color:var(--navy-deep);background:var(--soft);width:28%}
.tbl .a{color:var(--blue);font-weight:700}.tbl .b{color:var(--gold-deep);font-weight:700}
@media(max-width:720px){.tbl{overflow-x:auto}.tbl table{min-width:560px}}

/* steps */
.steps{display:flex;flex-direction:column;gap:14px;margin:18px 0}
.step{display:flex;gap:17px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;box-shadow:var(--sh)}
.step .n{width:40px;height:40px;border-radius:50%;background:var(--navy);color:#fff;font-family:var(--fd);font-weight:800;font-size:17px;display:grid;place-items:center;flex-shrink:0}
.step h4{font-size:16.5px;margin-bottom:4px}.step p{font-size:14.5px;color:var(--muted)}

/* checklist box */
.cl{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;box-shadow:var(--sh)}
.cl li{display:flex;gap:10px;align-items:flex-start;padding:6px 0;font-size:15px;color:#2c3d59;list-style:none}
.cl li svg{width:18px;height:18px;color:var(--green);flex-shrink:0;margin-top:3px}

/* risk */
.risk{background:#fff;border:1px solid #f3c9c9;border-left:4px solid var(--red);border-radius:var(--r);padding:18px 20px}
.risk h4{color:var(--red);font-size:16px;display:flex;align-items:center;gap:8px;margin-bottom:6px}
.risk h4 svg{width:18px;height:18px}.risk p{font-size:14px;color:#6b2a2a}

/* faq */
.faq-cats{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:20px}
.faq-cat{padding:8px 15px;border-radius:999px;background:#fff;border:1px solid var(--line-2);font-size:13px;font-weight:600;color:var(--navy)}
.faq-cat.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.faq-list{display:flex;flex-direction:column;gap:11px;max-width:840px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.faq-item[open]{box-shadow:var(--sh)}
.faq-item summary{list-style:none;cursor:pointer;padding:17px 20px;display:flex;justify-content:space-between;gap:14px;align-items:center;font-family:var(--fd);font-weight:700;font-size:16px;color:var(--navy-deep)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary .pm{width:24px;height:24px;flex-shrink:0;border-radius:7px;background:var(--soft-2);display:grid;place-items:center}
.faq-item summary .pm svg{width:14px;height:14px;color:var(--navy);transition:.2s}
.faq-item[open] summary .pm{background:var(--gold)}.faq-item[open] summary .pm svg{transform:rotate(45deg)}
.faq-item .a{padding:0 20px 18px;font-size:15px;color:#2c3d59}

/* checker */
.checker{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-lg);overflow:hidden;margin:8px 0}
.checker .t{background:linear-gradient(120deg,var(--navy),var(--navy-soft));color:#fff;padding:24px 26px}
.checker .t h3{color:#fff;font-size:21px}.checker .t p{color:#bcd2ee;font-size:14px;margin-top:5px}
.checker .b{padding:22px 26px}
.cks{display:flex;gap:10px;flex-wrap:wrap}
.cks input{flex:1;min-width:220px;padding:14px 16px;border-radius:12px;border:2px solid var(--line-2);font-size:15px;outline:none;transition:.2s}
.cks input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(31,111,192,.12)}
.ckq{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}
.ckq button{padding:7px 13px;border-radius:9px;background:var(--soft-2);border:1px solid var(--line);font-size:12.5px;font-weight:600;color:var(--navy)}
.ckq button:hover{background:var(--navy);color:#fff}
.ckr{margin-top:20px}
.ckc{border-radius:var(--r);border:1px solid var(--line);overflow:hidden;animation:fade .35s}
.ckc .h{padding:16px 20px;display:flex;align-items:center;gap:13px;color:#fff}
.ckc .h .i{width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,.18);display:grid;place-items:center;flex-shrink:0}
.ckc .h .i svg{width:22px;height:22px}
.ckc .h b{font-family:var(--fd);font-weight:700;font-size:18px;display:block;line-height:1.15}
.ckc .h span{font-size:12.5px;opacity:.9}
.ckc .bd{padding:18px 20px;background:#fff}
.ckc .bd p{font-size:14.5px;color:#2c3d59;margin-bottom:12px}
.ckc .tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.ckc .tags .tg{font-family:var(--fm);font-size:11px;font-weight:600;padding:4px 10px;border-radius:7px;background:var(--soft-2);color:var(--navy);border:1px solid var(--line)}
.ckc .cta{display:flex;gap:10px;flex-wrap:wrap}

/* cta band */
.cta-band{background:var(--gold);border-radius:var(--r-lg);padding:30px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.cta-band h3{color:var(--navy-deep);font-size:24px;max-width:32ch}
.cta-band p{color:#5a4205;font-weight:600;font-size:14.5px;margin-top:6px}
.cta-band .bb{display:flex;gap:11px;flex-wrap:wrap}
.cta-band .btn-navy{background:var(--navy-deep)}

/* related */
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:860px){.related{grid-template-columns:1fr}}

/* footer */
footer{background:var(--navy-deep);color:#aec6e6;padding:48px 0 26px}
.fg{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:32px}
.fg .fb img{height:54px;width:auto;background:#fff;padding:7px 10px;border-radius:10px}
.fg .fb p{font-size:14px;margin-top:13px;line-height:1.6;max-width:40ch}
.fc{display:flex;flex-direction:column;gap:9px;margin-top:14px}
.fc a,.fc span{display:flex;align-items:center;gap:9px;font-size:14px;color:#cfe0f5;font-weight:600}
.fc svg{width:16px;height:16px;color:var(--gold)}
.col h4{color:#fff;font-size:13px;font-family:var(--fm);letter-spacing:.08em;text-transform:uppercase;margin-bottom:13px;font-weight:600}
.col a{display:block;font-size:14px;color:#aec6e6;padding:5px 0;transition:.15s}
.col a:hover{color:var(--gold)}
.disc{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px 18px;margin-top:22px;font-size:12.5px;color:#9ab3d4;line-height:1.6;display:flex;gap:11px}
.disc svg{width:17px;height:17px;color:var(--gold);flex-shrink:0;margin-top:2px}
.fbot{border-top:1px solid rgba(255,255,255,.12);margin-top:26px;padding-top:20px;font-size:12.5px;color:#8aa5c9;line-height:1.7}
.fbot a{color:#cfe0f5}
@media(max-width:780px){.fg{grid-template-columns:1fr;gap:26px}}

/* sticky mobile cta */
.scta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:70;background:#fff;border-top:1px solid var(--line);padding:10px 14px;gap:9px;box-shadow:0 -6px 24px rgba(16,58,107,.12)}
.scta .btn{flex:1;padding:12px 6px;font-size:14px}
@media(max-width:1080px){.scta{display:flex}body{padding-bottom:72px}}

@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.skip{position:absolute;left:-9999px}.skip:focus{left:8px;top:8px;z-index:100;background:var(--navy);color:#fff;padding:10px 14px;border-radius:8px}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:5px}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}
