:root{
  --navy:#10263A; --navy-deep:#0A1A28; --teal:#1F5C56; --teal-soft:#E4EEEC;
  --gold:#AD8A55; --cream:#F7F4EC; --white:#FFFFFF; --ink:#20262C; --ink-soft:#5A6470; --line:#DCD6C8;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:600;letter-spacing:-0.01em;margin:0 0 .5em;color:var(--ink);}
p{margin:0 0 1em;color:var(--ink-soft);max-width:68ch;}
a{color:inherit;}
.wrap{max-width:1080px;margin:0 auto;padding:0 28px;}
section{padding:92px 0;}
@media (max-width:720px){section{padding:56px 0;}.wrap{padding:0 22px;}}

header.site{position:sticky;top:0;z-index:50;background:rgba(16,38,58,0.97);border-bottom:1px solid rgba(255,255,255,.08);}
nav{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;max-width:1080px;margin:0 auto;}
.brandmark{display:flex;align-items:center;gap:10px;color:#F3EFE4;text-decoration:none;}
.brandmark .mark{width:30px;height:30px;flex:0 0 auto;}
.brandmark span{font-family:'Fraunces',serif;font-weight:600;font-size:15.5px;}
.navlinks{display:flex;gap:26px;list-style:none;margin:0;padding:0;}
.navlinks a{color:#CBD6D4;text-decoration:none;font-size:14.5px;font-weight:500;}
.navlinks a:hover,.navlinks a:focus-visible{color:#F3EFE4;}
.navlinks a.active{color:#F3EFE4;border-bottom:1.5px solid var(--gold);padding-bottom:3px;}
.nav-cta{background:var(--gold);color:#1A1408;padding:9px 18px;border-radius:3px;font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap;}
.nav-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.3);color:#F3EFE4;width:40px;height:40px;border-radius:4px;font-size:18px;}
@media (max-width:860px){.navlinks,.nav-cta{display:none;}.nav-toggle{display:block;}}
.mobilemenu{display:none;flex-direction:column;gap:2px;background:var(--navy);padding:8px 22px 22px;}
.mobilemenu.open{display:flex;}
.mobilemenu a{color:#D7DEDC;text-decoration:none;padding:12px 4px;border-top:1px solid rgba(255,255,255,.08);font-size:15px;}
.mobilemenu a.cta{color:var(--gold);font-weight:600;}

.pagehero{background:linear-gradient(180deg,var(--navy) 0%,var(--navy-deep) 100%);color:#F3EFE4;padding:64px 0;}
.pagehero h1{color:#FBF9F3;font-size:clamp(28px,4vw,42px);max-width:20ch;}
.pagehero p{color:#C7D2CE;max-width:52ch;}

.hero{background:linear-gradient(180deg,var(--navy) 0%,var(--navy-deep) 100%);color:#F3EFE4;padding:96px 0 110px;}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr;}.hero{padding:64px 0 72px;}}
.hero h1{font-size:clamp(32px,4.4vw,50px);line-height:1.12;color:#FBF9F3;max-width:15ch;}
.hero p.lead{color:#C7D2CE;font-size:18px;max-width:46ch;}
.herobtns{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap;}
.btn{display:inline-block;padding:13px 24px;border-radius:3px;font-weight:600;font-size:14.5px;text-decoration:none;}
.btn-gold{background:var(--gold);color:#1A1408;}
.btn-ghost{border:1px solid rgba(243,239,228,.4);color:#F3EFE4;}
.hero-graphic{width:100%;height:auto;}

.strip{background:var(--white);border-bottom:1px solid var(--line);}
.strip .wrap{padding:26px 28px;display:flex;gap:14px;align-items:flex-start;}
.strip svg{flex:0 0 auto;margin-top:3px;color:#1F5C56;}
.strip p{margin:0;font-size:14.5px;color:var(--ink-soft);}

.sect-head{max-width:640px;margin-bottom:44px;}
.sect-head h2{font-size:clamp(26px,3vw,34px);}
.kicker{color:var(--teal);font-size:13.5px;font-weight:600;margin-bottom:10px;display:block;}

.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
@media (max-width:800px){.about-grid{grid-template-columns:1fr;}}
.principles{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px;}
.principles li{padding-left:20px;position:relative;color:var(--ink-soft);font-size:15px;}
.principles li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;background:var(--teal);border-radius:50%;}
.principles b{color:var(--ink);font-weight:600;}

.svc-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);}
@media (max-width:860px){.svc-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.svc-grid{grid-template-columns:1fr;}}
.svc-card{background:var(--white);padding:30px 26px;}
.svc-card h3{font-size:17.5px;font-family:'Inter',sans-serif;font-weight:600;margin-bottom:10px;}
.svc-card p{font-size:14.5px;margin:0;}
.svc-icon{width:26px;height:26px;color:var(--teal);margin-bottom:16px;}

.brand-section{background:var(--navy-deep);color:#F3EFE4;}
.brand-section .sect-head h2{color:#FBF9F3;}
.brand-section .sect-head p{color:#B7C1BE;}
.brand-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media (max-width:700px){.brand-grid{grid-template-columns:1fr;}}
.brand-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);padding:30px 28px;border-radius:4px;}
.brand-card h3{color:#FBF9F3;font-size:20px;margin-bottom:8px;}
.brand-card p{color:#B7C1BE;font-size:14.5px;}
.brand-card a.link{color:var(--gold);text-decoration:none;font-size:14px;font-weight:600;display:inline-block;margin-top:14px;}
.brand-note{color:#8B968F;font-size:13px;margin-top:8px;}

.comp-section{background:var(--teal-soft);}
.comp-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 40px;}
@media (max-width:700px){.comp-grid{grid-template-columns:1fr;}}
.comp-item{display:flex;gap:12px;padding:14px 0;border-top:1px solid var(--line);}
.comp-item svg{flex:0 0 auto;color:var(--teal);margin-top:2px;}
.comp-item p{margin:0;font-size:14.5px;color:var(--ink-soft);}
.legal-links{display:flex;gap:22px;flex-wrap:wrap;margin-top:30px;}
.legal-links a{font-size:14px;color:var(--teal);text-decoration:underline;font-weight:500;}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
@media (max-width:800px){.contact-grid{grid-template-columns:1fr;}}
.cinfo dt{font-size:13px;color:var(--ink-soft);margin-top:18px;}
.cinfo dd{margin:2px 0 0;font-size:15.5px;font-weight:500;}
.placeholder{color:var(--gold);font-style:italic;font-weight:400;}
form{display:flex;flex-direction:column;gap:14px;}
label{font-size:13.5px;font-weight:600;color:var(--ink);}
input,textarea{font:inherit;padding:11px 13px;border:1px solid var(--line);border-radius:3px;background:var(--cream);color:var(--ink);width:100%;margin-top:6px;}
input:focus,textarea:focus{outline:2px solid var(--teal);outline-offset:1px;}
.formnote{font-size:12.5px;color:var(--ink-soft);margin-top:-4px;}

.legalpage .wrap{max-width:760px;padding-top:56px;padding-bottom:80px;}
.legalpage h2{font-size:22px;margin-top:40px;}
.legalpage p, .legalpage li{color:var(--ink-soft);font-size:15px;}
.legalpage .updated{color:var(--ink-soft);font-size:13px;margin-bottom:32px;}

.notfound{min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column;padding:80px 28px;}
.notfound h1{font-size:clamp(40px,8vw,64px);}

footer{background:var(--navy-deep);color:#93A09A;padding:48px 0 40px;}
footer .wrap{display:flex;flex-direction:column;gap:18px;}
.foot-links{display:flex;gap:20px;flex-wrap:wrap;}
.foot-links a{color:#B7C1BE;text-decoration:none;font-size:13.5px;}
.foot-links a:hover{color:#F3EFE4;}
footer .fine{font-size:12.5px;color:#68746E;}
.foot-email{margin:0;}
.foot-email a{color:#B7C1BE;text-decoration:none;font-size:13.5px;font-weight:500;}
.foot-email a:hover{color:#F3EFE4;}
