:root{--blue:#0d5fa8;--navy:#0a2a4a;--navy2:#071d34;--manila:#efe1b4;--paper:#f7f1dc;--ink:#14202c;--line:rgba(255,255,255,.18)}
img{max-width:100%;height:auto;display:block}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font-family:'Figtree',sans-serif;font-size:1.05rem;line-height:1.65;color:var(--ink);background:var(--paper)}
h1,h2,h3,h4{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;line-height:1;letter-spacing:.01em}
h2{font-size:clamp(2.2rem,5vw,3.6rem);color:var(--navy);margin-bottom:1rem}
section{padding:88px 0}
@media(max-width:767px){section{padding:58px 0}}
.eyebrow{font-family:'Figtree',sans-serif;font-weight:700;font-size:.8rem;letter-spacing:.24em;text-transform:uppercase;color:var(--blue);display:block;margin-bottom:.6rem}
.navbar{background:var(--navy2);padding:.55rem 0;border-bottom:3px solid var(--manila)}
.navbar-brand{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;color:#fff;font-size:1.45rem;letter-spacing:.04em;line-height:1}
.navbar-brand small{display:block;font-family:'Figtree',sans-serif;font-size:.62rem;letter-spacing:.24em;color:var(--manila);font-weight:600}
.navbar .nav-link{color:#fff;text-transform:uppercase;letter-spacing:.14em;font-size:.82rem;font-weight:700;padding:.6rem .9rem}
.navbar .nav-link:hover{color:var(--manila)}
.navbar-toggler{border-color:rgba(255,255,255,.5)}
.navbar-toggler-icon{filter:invert(1)}
.btn-pc{background:var(--manila);color:var(--navy2);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.88rem;border:2px solid var(--manila);border-radius:2px;padding:.8rem 1.5rem}
.btn-pc:hover{background:#fff;color:var(--navy2);border-color:#fff}
.btn-line{background:transparent;color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.88rem;border:2px solid rgba(255,255,255,.6);border-radius:2px;padding:.8rem 1.5rem}
.btn-line:hover{background:#fff;color:var(--navy2)}
/* hero: blueprint sheet */
.hero{background-color:var(--navy);color:#fff;padding:64px 0 70px;position:relative;
 background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
 background-size:96px 96px,96px 96px,24px 24px,24px 24px}
.hero h1{font-size:clamp(3rem,7.6vw,6rem);color:#fff}
.hero h1 span{color:var(--manila)}
.hero .lead{font-size:1.15rem;max-width:36rem;color:rgba(255,255,255,.92);margin:1.2rem 0 1.8rem}
.hero .eyebrow{color:var(--manila)}
.titleblock{border:2px solid rgba(255,255,255,.75);background:rgba(7,29,52,.85);font-size:.9rem}
.titleblock .row-tb{display:flex;border-bottom:1px solid rgba(255,255,255,.4)}
.titleblock .row-tb:last-child{border-bottom:0}
.titleblock .cell{padding:.7rem .9rem;flex:1;border-right:1px solid rgba(255,255,255,.4)}
.titleblock .cell:last-child{border-right:0}
.titleblock .k{display:block;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--manila);font-weight:700}
.titleblock .v{font-family:'Big Shoulders Display',sans-serif;font-weight:700;font-size:1.35rem;text-transform:uppercase;line-height:1.1}
.titleblock a{color:#fff;text-decoration:none}
.strip{height:110px;background:url(img/banner.webp) center/cover;border-top:3px solid var(--manila);border-bottom:3px solid var(--manila)}
/* services */
.svc{background:#fff;border:2px solid var(--navy);padding:1.6rem 1.5rem;height:100%;position:relative}
.svc .no{font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:.95rem;letter-spacing:.2em;color:var(--blue)}
.svc h3{font-size:2rem;color:var(--navy);margin:.3rem 0 .6rem}
.svc p{margin:0;font-size:.98rem}
.about{background:var(--manila)}
.stat{font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:clamp(4rem,9vw,7rem);line-height:.9;color:var(--blue)}
.founders{border-left:4px solid var(--blue);padding-left:1.2rem}
.founders strong{font-family:'Big Shoulders Display',sans-serif;font-size:1.6rem;text-transform:uppercase;color:var(--navy);display:block;line-height:1.1}
.contact{background:var(--navy2);color:#fff}
.contact h2{color:#fff}
.contact a{color:var(--manila)}
.contact .item{border-top:1px solid var(--line);padding:1rem 0}
.contact .item span{display:block;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--manila);font-weight:700}
.contact .big{font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:2rem;text-decoration:none}
.mapwrap iframe{width:100%;height:100%;min-height:340px;border:2px solid var(--manila)}
footer{background:#000;color:#cfd6dd;padding:30px 0;font-size:.9rem}
footer a{color:var(--manila)}
