
:root{
  --navy:#091c82;
  --ink:#181818;
  --white:#fff;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--white);color:var(--ink);
  font-family:Montserrat,"Helvetica Neue",Arial,sans-serif;
  font-size:15px;line-height:1.4;
}
img,svg{max-width:100%;display:block}
a{text-decoration:none;color:var(--navy)}
a:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
h1,h2{font-family:inherit;color:var(--navy);margin:0}

/* nav */
.topnav{
  position:absolute;top:0;left:0;right:0;z-index:5;
  padding:clamp(18px,2.4vh,32px) 72px;
  display:flex;align-items:center;justify-content:space-between;
}
.navlogo svg{width:clamp(110px,10vw,146px);height:auto}
.btn{
  display:inline-block;background:var(--navy);color:#fff;
  border-radius:3rem;padding:clamp(13px,1.6vh,22px) clamp(24px,2.4vw,32px);
  font-size:clamp(15px,1.4vw,20px);font-weight:400;letter-spacing:-.02em;line-height:1.6;
  transition:background .3s ease;
}
.btn:hover{background:#0b2496}

/* ---- single-screen home ---- */
.home{height:100dvh;overflow:hidden;display:flex;flex-direction:column}
.home .hero{position:relative;flex:1 1 auto;min-height:0;display:flex;align-items:center}
.heroimg{position:absolute;inset:0;width:100%;height:100%}
.heroimg img{width:100%;height:100%;object-fit:cover;object-position:center top}
.herocard{position:relative;z-index:2;width:100%}
.herotext{margin-left:12.5vw;max-width:418px;letter-spacing:-.2px;padding-top:4vh}
.herotext h1{
  font-size:clamp(30px,3vw,40px);font-weight:600;line-height:1.1;letter-spacing:-.03em;
  color:#000;margin-bottom:4px;
}
.herosub{display:block;color:var(--navy);font-weight:600;font-size:clamp(18px,1.8vw,24px)}
.herotext p{margin:0;padding-top:clamp(16px,3vh,40px);
  font-size:clamp(14px,1.15vw,16px);line-height:1.6;font-weight:400;color:#000}
.herocontact{font-weight:600}
.herocontact a{color:var(--navy);border-bottom:1px solid rgba(9,28,130,.35);padding-bottom:2px;
  display:inline-block;margin-top:4px}
.herocontact a:hover{border-bottom-color:var(--navy)}

/* inner pages */
.intro{padding:150px 72px 48px;max-width:1240px;margin:0 auto}
.eyebrow{margin:0 0 14px;font-size:16px;letter-spacing:.08em;text-transform:uppercase;
  font-weight:400;color:#000}
.display{font-size:clamp(44px,7vw,80px);line-height:.98;font-weight:700;
  text-transform:uppercase;letter-spacing:-.03em;color:var(--navy)}
.legal{padding:0 0 100px}
.inwrap{max-width:1240px;margin:0 auto;padding:0 72px}
.legal p,.legal li{font-size:16px;line-height:26px}
.lintro{padding-bottom:28px;border-bottom:1px solid #e2e1de}
.lblock{padding:34px 0;border-bottom:1px solid #e2e1de}
.lblock h2{font-size:22px;font-weight:600;margin-bottom:10px;letter-spacing:-.02em}
.lblock p{margin:0 0 12px}
.lblock ol{padding-left:20px}
.lblock li{margin-bottom:12px}
.legal a{text-decoration:underline}

/* footer strip */
footer{background:var(--white);border-top:1px solid var(--navy);flex:0 0 auto}
.fwrap{max-width:1240px;margin:0 auto;padding:clamp(12px,1.6vh,18px) 72px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.fcopy{margin:0;font-size:13px;color:#555}
.flinks{margin:0;font-size:13px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.flinks a{color:#000;transition:color .3s}
.flinks a:hover{color:var(--navy)}
.div{color:#c9c9c9}

/* mobile */
@media screen and (max-width:788px){
  .topnav{padding:18px 22px}
  .home{height:auto;overflow:visible}
  .home .hero{flex-direction:column;align-items:stretch;background:var(--white)}
  .heroimg{position:relative;width:100%;height:118vw}
  .herocard{margin-top:-16vw;background:var(--white);
    border-radius:32px 32px 0 0;padding:32px 22px 24px}
  .herotext{margin-left:0;max-width:100%;padding-top:0}
  .herosub{color:#000}
  .intro{padding:110px 22px 32px}
  .inwrap{padding:0 22px}
  .fwrap{padding:16px 22px;flex-direction:column;align-items:flex-start;gap:10px}
  .flinks{gap:10px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
