:root{
  --navy:#0f4e81; --navy-deep:#0a3559; --ink:#0d1b2a; --red:#c52030; --red-dark:#a11826;
  --paper:#ffffff; --mist:#f3f6f9; --line:#dbe3ea; --muted:#5a6b7b;
  --head:"Archivo",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --wrap:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:17px/1.6 var(--body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--navy)}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:24px}
h1,h2,h3{font-family:var(--head);line-height:1.1;margin:0;letter-spacing:-.01em}
.eyebrow{font:700 13px/1 var(--head);letter-spacing:.14em;text-transform:uppercase;color:var(--red)}

/* header */
.top{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(6px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:20px;height:74px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand img{height:50px;width:auto}
.brand span{font:800 17px/1.05 var(--head);letter-spacing:.02em}
.brand small{display:block;font:600 10.5px/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
nav{margin-left:auto;display:flex;gap:26px;align-items:center}
nav a{font:600 15px/1 var(--body);color:var(--ink);text-decoration:none}
nav a:hover{color:var(--red)}
.btn{display:inline-flex;align-items:center;gap:8px;font:700 15px/1 var(--head);letter-spacing:.02em;text-decoration:none;
  padding:14px 20px;border-radius:6px;border:2px solid transparent;transition:background .15s,color .15s,border-color .15s}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red-dark)}
.btn-line{border-color:rgba(255,255,255,.7);color:#fff}.btn-line:hover{background:#fff;color:var(--navy-deep)}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--navy-deep)}
nav .btn{padding:11px 16px;font-size:14px}
.menu{display:none;margin-left:auto;background:none;border:0;font:700 15px var(--head);color:var(--ink);padding:10px}

/* hero */
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy) 62%,#1a639c 100%);color:#fff}
.hero svg.planes{position:absolute;right:-60px;bottom:-40px;width:720px;max-width:none;opacity:.16;pointer-events:none}
.hero .wrap{position:relative;padding-block:96px 104px}
.hero .eyebrow{color:#ffb3ba}
.hero h1{font-size:clamp(38px,6vw,66px);font-weight:900;max-width:20ch;margin:18px 0 22px}
.hero h1 em{font-style:normal;color:#ff6b78}
.hero p.lede{font-size:clamp(18px,2vw,21px);max-width:44ch;color:#dbe7f2;margin:0 0 34px}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero .badge{margin-top:44px;display:inline-flex;gap:10px;align-items:center;font:600 13px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:#cfe0ee}
.hero .badge i{width:26px;height:2px;background:var(--red);display:inline-block}

/* sections */
section{padding-block:88px}
.section-head{max-width:720px;margin-bottom:44px}
.section-head h2{font-size:clamp(30px,4vw,44px);font-weight:900;margin-top:12px}
.section-head p{color:var(--muted);margin:14px 0 0;font-size:18px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:26px 24px;border-top:4px solid var(--navy)}
.card h3{font-size:21px;font-weight:800;margin:14px 0 8px}
.card p{margin:0;color:#34495c;font-size:16px}
.card .n{font:800 13px/1 var(--head);color:var(--red);letter-spacing:.1em}
.mist{background:var(--mist)}
.rules{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line)}
.rule{padding:30px 30px 30px 0;border-bottom:1px solid var(--line)}
.rule:nth-child(odd){border-right:1px solid var(--line)}
.rule:nth-child(even){padding-left:30px}
.rule h3{font-size:24px;font-weight:900;color:var(--navy-deep);margin-bottom:8px}
.rule p{margin:0;color:#34495c}

/* tools band */
.tools{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.tools .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center}
.tools h2{font-size:clamp(30px,4vw,42px);font-weight:900;margin:12px 0 16px}
.tools p{color:#c3cfdb;margin:0 0 14px}
.tools ul{list-style:none;padding:0;margin:0 0 28px}
.tools li{padding:10px 0 10px 30px;border-bottom:1px solid rgba(255,255,255,.1);position:relative;color:#e6edf3}
.tools li:before{content:"";position:absolute;left:0;top:18px;width:14px;height:3px;background:var(--red)}
.plate{background:linear-gradient(160deg,#16324d,#0c1f33);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:22px}
.plate svg{width:100%;height:auto}
.plate .cap{font:600 12px/1.4 var(--body);letter-spacing:.08em;text-transform:uppercase;color:#8fa6bb;margin-top:12px}

/* contact */
.contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.contact h2{font-size:clamp(30px,4vw,44px);font-weight:900;margin:12px 0 16px}
.contact p{color:var(--muted);font-size:18px;margin:0}
.contact-card{border:1px solid var(--line);border-radius:12px;padding:30px;background:#fff;box-shadow:0 10px 30px rgba(15,78,129,.08)}
.contact-card .who{font:800 22px/1.2 var(--head)}
.contact-card .role{color:var(--muted);font-size:15px;margin:4px 0 22px}
.contact-card a.line{display:flex;gap:12px;align-items:center;font:600 19px/1.3 var(--body);text-decoration:none;color:var(--ink);padding:12px 0;border-top:1px solid var(--line)}
.contact-card a.line:hover{color:var(--red)}
.contact-card a.line b{font:700 12px/1 var(--head);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);width:62px}
.contact-card .loc{padding-top:14px;border-top:1px solid var(--line);color:var(--muted);font-size:15px}

footer{border-top:1px solid var(--line);padding-block:30px;color:var(--muted);font-size:14px}
footer .wrap{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
footer img{height:38px;width:auto}
footer .sp{margin-left:auto}
footer a{color:var(--muted)}

@media (max-width:900px){
  .grid{grid-template-columns:1fr 1fr}
  .tools .wrap,.contact .wrap{grid-template-columns:1fr}
  .rules{grid-template-columns:1fr}
  .rule:nth-child(odd){border-right:0}
  .rule:nth-child(even){padding-left:0}
}
@media (max-width:720px){
  nav{display:none;position:absolute;top:74px;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;gap:0;padding:8px 24px 18px;border-bottom:1px solid var(--line)}
  nav a{padding:14px 0;width:100%;border-bottom:1px solid var(--line)}
  nav .btn{margin-top:12px;justify-content:center}
  body.open nav{display:flex}
  .menu{display:block}
  .grid{grid-template-columns:1fr}
  section{padding-block:64px}
  .hero .wrap{padding-block:64px 72px}
  .brand span{font-size:15px}
}

/* inner pages */
.page-hero{background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy) 70%,#1a639c 100%);color:#fff}
.page-hero .wrap{padding-block:64px 70px}
.page-hero .eyebrow{color:#ffb3ba}
.page-hero h1{font-size:clamp(34px,5vw,54px);font-weight:900;margin:14px 0 14px;max-width:18ch}
.page-hero p{color:#dbe7f2;font-size:19px;max-width:52ch;margin:0}
.tool{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;border:1px solid var(--line);border-left:5px solid var(--red);border-radius:10px;padding:28px 30px;background:#fff}
.tool h2{font-size:26px;font-weight:900;margin:0 0 8px}
.tool p{margin:0;color:#34495c}
.tool .tag{display:inline-block;margin-top:14px;font:700 12px/1 var(--head);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.help{margin-top:36px;color:var(--muted)}
@media (max-width:720px){ .tool{grid-template-columns:1fr} .page-hero .wrap{padding-block:48px 52px} }

/* two lanes under the hero */
.lanes{background:var(--navy-deep);padding-block:0}
.lanes .wrap{display:grid;grid-template-columns:1fr 1fr;gap:0}
.lane{display:block;padding:30px 30px 32px 0;color:#fff;text-decoration:none;border-top:1px solid rgba(255,255,255,.14)}
.lane+.lane{padding-left:30px;border-left:1px solid rgba(255,255,255,.14)}
.lane b{display:block;font:800 21px/1.2 var(--head);margin-bottom:6px}
.lane span{color:#c3d4e4;font-size:16px}
.lane i{font-style:normal;color:#ff8a95;font:700 14px var(--head);display:inline-block;margin-top:12px;letter-spacing:.04em}
.lane:hover b{color:#ffd0d5}

/* government section */
.gov .roles{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:34px}
.grole{border:1px solid var(--line);border-radius:10px;padding:28px 28px 26px;background:#fff;border-top:4px solid var(--red)}
.grole h3{font-size:23px;font-weight:900;margin:0 0 10px;color:var(--navy-deep)}
.grole p{margin:0;color:#34495c}
.capgrid{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.capgrid>div{padding:26px 26px 24px}
.capgrid>div+div{border-left:1px solid var(--line)}
.capgrid h4{font:800 13px/1 var(--head);letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin:0 0 14px}
.capgrid ul{list-style:none;margin:0;padding:0}
.capgrid li{padding:7px 0 7px 18px;position:relative;font-size:15.5px;color:#23384b;border-bottom:1px solid #eef2f6}
.capgrid li:last-child{border-bottom:0}
.capgrid li:before{content:"";position:absolute;left:0;top:16px;width:8px;height:2px;background:var(--navy)}
.capgrid dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 14px;font-size:15px}
.capgrid dt{font:700 12px/1.6 var(--head);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.capgrid dd{margin:0;color:#23384b}
.gov .actions{margin-top:28px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.gov .actions small{color:var(--muted);font-size:14px}
.btn-outline{border-color:var(--navy);color:var(--navy)}.btn-outline:hover{background:var(--navy);color:#fff}
.note{margin-top:18px;color:var(--muted);font-size:15px;max-width:70ch}

@media (max-width:900px){
  .capgrid{grid-template-columns:1fr}
  .capgrid>div+div{border-left:0;border-top:1px solid var(--line)}
}
@media (max-width:720px){
  .lanes .wrap,.gov .roles{grid-template-columns:1fr}
  .lane{padding:24px 0}
  .lane+.lane{padding-left:0;border-left:0}
}
@media (max-width:1060px){
  nav{display:none;position:absolute;top:74px;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;gap:0;padding:8px 24px 18px;border-bottom:1px solid var(--line)}
  nav a{padding:14px 0;width:100%;border-bottom:1px solid var(--line)}
  nav .btn{margin-top:12px;justify-content:center}
  body.open nav{display:flex}
  .menu{display:block}
}
.contact .wrap>*,.tools .wrap>*,.capgrid>*{min-width:0}
.contact-card a.line{overflow-wrap:anywhere}
@media (max-width:480px){ .contact-card{padding:24px 20px} .contact-card a.line{font-size:16.5px} .contact-card a.line b{width:52px} }
