*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,sans-serif;background:#fffdf9;color:#1b2830;line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:"Source Serif 4",Georgia,serif;color:#0a2f4d;text-wrap:balance;margin:0}
p{text-wrap:pretty}a{color:inherit;text-underline-offset:3px}button{cursor:pointer;font:inherit}
.wrap{max-width:72rem;margin:0 auto;padding:0 1.25rem}
header{position:sticky;top:0;z-index:50;background:rgba(255,253,249,.95);backdrop-filter:blur(10px);border-bottom:1px solid #ddd6c8}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:4.5rem}
.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:#0a2f4d}
.mark{width:2.5rem;height:2.5rem;border-radius:.4rem;background:#0a2f4d;color:#f4f7fa;display:flex;align-items:center;justify-content:center;font-family:"Source Serif 4",Georgia,serif;font-weight:700;font-size:1.15rem}
.brand small{display:block;color:#5c6b76;font-size:.75rem;font-weight:400}
nav.desk{display:none;align-items:center;gap:.15rem}
nav.desk a,nav.desk .drop>button{display:inline-flex;align-items:center;min-height:2.75rem;padding:0 .75rem;border:0;background:none;text-decoration:none;font-size:.9rem;font-weight:500;color:#123a56;border-radius:.4rem}
nav.desk a:hover,.drop>button:hover{color:#0159a0}
.cta{display:none;align-items:center;gap:.5rem}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:0 1.1rem;border-radius:.55rem;text-decoration:none;font-weight:600;font-size:.9rem}
.btn-navy{background:#0a2f4d;color:#f4f7fa}.btn-navy:hover{background:#123a56}
.btn-blue{background:#0159a0;color:#f4f7fa}.btn-blue:hover{background:#014a86}
.btn-white{background:#fffdf9;color:#0a2f4d}.btn-ghost{border:1px solid #ddd6c8;color:#0a2f4d;background:#fffdf9}
.btn-outline{border:1px solid #0a2f4d;color:#0a2f4d;background:transparent}
.menu-btn{display:inline-flex;width:2.75rem;height:2.75rem;align-items:center;justify-content:center;border:0;background:none;font-size:1.4rem}
.mobile{display:none;padding:1rem 1.25rem 1.25rem;border-top:1px solid #ddd6c8}
.mobile a{display:block;min-height:2.75rem;padding:.65rem .75rem;text-decoration:none;border-radius:.4rem;font-weight:500}
.mobile .label{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#5c6b76;padding:.75rem .75rem .25rem}
.drop{position:relative}
.drop-panel{display:none;position:absolute;top:100%;left:0;width:20rem;padding-top:.4rem}
.drop:hover .drop-panel,.drop.open .drop-panel{display:block}
.drop-panel .inner{background:#fffdf9;border:1px solid #ddd6c8;border-radius:.8rem;box-shadow:0 12px 30px rgba(10,47,77,.12);overflow:hidden}
.drop-panel a{display:block;padding:.85rem 1rem;border-bottom:1px solid #ddd6c8;text-decoration:none}
.drop-panel a:last-child{border-bottom:0}
.drop-panel a:hover{background:#f6f3ee}
.drop-panel strong{display:block;color:#0a2f4d}
.drop-panel span{display:block;font-size:.75rem;color:#5c6b76;font-weight:400}
.hero{background:#0a2f4d;color:#f4f7fa;padding:4rem 0}
.hero h1{color:#f4f7fa;font-size:clamp(2rem,4vw,3.4rem);font-weight:600;max-width:40rem}
.hero p{color:rgba(244,247,250,.78);max-width:36rem;font-size:1.1rem}
.page-hero{background:#0a2f4d;color:#f4f7fa;padding:3rem 0}
.page-hero h1{color:#f4f7fa;font-size:2.2rem}
.page-hero p{color:rgba(244,247,250,.75);max-width:40rem}
.kicker{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#0c8de6;margin-bottom:.4rem}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-top:2.5rem}
.stats b{display:block;font-family:"Source Serif 4",Georgia,serif;font-size:1.8rem}
.stats span{font-size:.85rem;color:rgba(244,247,250,.65)}
.section{padding:3.5rem 0}
.muted{color:#5c6b76}
.grid3{display:grid;gap:1rem}
.grid2{display:grid;gap:1rem}
.card{border:1px solid #ddd6c8;border-radius:.8rem;padding:1.4rem;background:#fffdf9;text-decoration:none;color:inherit}
.card:hover{border-color:rgba(1,89,160,.4)}
.card h3{font-family:Inter,system-ui,sans-serif;font-size:1.05rem}
.paper{background:#f6f3ee}
.split{display:grid;gap:2rem}
.row{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border-bottom:1px solid #ddd6c8}
.row:last-child{border-bottom:0}
.price{color:#0159a0;font-weight:700;white-space:nowrap}
.group{border:1px solid #ddd6c8;border-radius:.8rem;overflow:hidden;background:#fffdf9;margin-top:1rem}
footer{background:#0a2f4d;color:#f4f7fa;padding:2.5rem 0 0}
.fgrid{display:grid;gap:1.5rem}
footer a{color:#f4f7fa;text-decoration:none;font-size:.9rem}
footer a:hover{text-decoration:underline}
.fcopy{border-top:1px solid rgba(255,255,255,.12);margin-top:2rem;padding:1rem 0;text-align:center;font-size:.75rem;color:rgba(244,247,250,.5)}
.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
input,textarea{width:100%;border:1px solid #ddd6c8;border-radius:.5rem;padding:.7rem .8rem;font:inherit;background:#fffdf9}
label{display:block;font-size:.85rem;font-weight:600;color:#0a2f4d;margin:0 0 .3rem}
.field{margin-bottom:1rem}
table{width:100%;border-collapse:collapse;background:#fffdf9}
th,td{text-align:left;padding:.75rem 1rem;border-bottom:1px solid #ddd6c8}
th{background:#f6f3ee;font-weight:500;color:#5c6b76}
@media(min-width:900px){
  nav.desk,.cta{display:flex}
  .menu-btn{display:none}
  .grid3{grid-template-columns:repeat(3,1fr)}
  .grid2{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(4,1fr)}
  .split{grid-template-columns:1.1fr .9fr;align-items:center}
  .fgrid{grid-template-columns:1.2fr 1fr 1fr 1fr}
}
