/* Cain Federal — deep navy and burnished gold, classical serif headings, letterspaced sans eyebrows (matches the approved mockup) */
:root{
  --navy:#0b2030; --navy-2:#0f2a3f; --navy-line:rgba(255,255,255,.12);
  --gold:#d7b673; --gold-bright:#e0bd76; --gold-deep:#a88a55; --gold-pale:#ecd9ad;
  --paper:#ffffff; --mist:#f3f2ef; --ink:#14213a; --muted:#4f5869; --line:#e4e1da;
  --f-mark:"Cinzel","Trajan Pro",Georgia,serif;
  --f-head:"Crimson Pro","EB Garamond",Georgia,"Times New Roman",serif;
  --f-body:"Source Serif 4",Georgia,"Times New Roman",serif;
  --f-label:"Jost","Helvetica Neue",Arial,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--f-body)}
img{max-width:100%;display:block}
a{color:var(--gold-deep)}
.wrap{max-width:1160px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--f-head);font-weight:600;letter-spacing:0;line-height:1.12;text-wrap:balance;margin:0;color:inherit}
h1{font-size:clamp(38px,5.6vw,60px)}
h2{font-size:clamp(32px,4vw,49px)}
h3{font-size:26px}
.eyebrow{display:flex;align-items:center;gap:14px;font:500 10px var(--f-label);letter-spacing:.32em;text-transform:uppercase;color:var(--gold-deep)}
.eyebrow::before{content:"";width:32px;height:1.5px;background:var(--gold)}
.eyebrow.plain::before{display:none}
.on-navy .eyebrow{color:var(--gold)}
.btn{display:inline-flex;align-items:center;gap:10px;font:500 14px var(--f-body);text-decoration:none;padding:13px 26px;border:1.5px solid var(--gold);background:linear-gradient(110deg,#e9ce91,#c49b50);color:#14213a;border-radius:1px;cursor:pointer}
.btn.line{background:transparent;color:#fff;border-color:var(--gold-pale)}
.btn::after{content:"\2192";font-family:var(--f-label)}
.btn.line::after,.btn.noarrow::after{content:none}
.btns{display:flex;flex-wrap:wrap;gap:16px}

/* header */
header.site{background:var(--navy);color:#fff;border-bottom:1px solid var(--navy-line);position:relative;z-index:2}
header.site .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px 36px;padding-block:18px}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;justify-self:start}
.brand img.logo{height:56px;width:56px;object-fit:contain;filter:brightness(0) saturate(100%) invert(80%) sepia(28%) saturate(620%) hue-rotate(358deg) brightness(97%) contrast(90%)}
footer.site .brand img.logo{height:48px;width:48px}
.menu{display:none;font:500 14px var(--f-label);letter-spacing:.14em;text-transform:uppercase;background:transparent;color:#fff;border:1px solid var(--gold);padding:8px 14px;cursor:pointer;justify-self:end}
.brand .word{display:grid;line-height:1}
.brand b{font:500 32px var(--f-mark);letter-spacing:.06em}
.brand small{font:500 10px var(--f-label);letter-spacing:.34em;color:var(--gold);margin-top:5px}
nav.main{display:flex;flex-wrap:wrap;gap:6px 34px}
nav.main a{color:#e9ecf2;text-decoration:none;font:400 14px var(--f-body);padding:6px 0;border-bottom:1.5px solid transparent}
nav.main a[aria-current="page"]{color:#fff;border-color:var(--gold)}
nav.main a:hover{color:#fff}
header.site .btn{padding:10px 22px;font-size:14px;justify-self:end}

/* hero */
.hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.hero .photo{position:absolute;inset:0 0 0 auto;width:55%;background:url(img/hero.jpg) center/cover no-repeat}
.hero .photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0%,rgba(15,29,51,.75) 22%,rgba(15,29,51,0) 60%)}
.hero .wrap{position:relative;padding-block:84px 96px;display:grid;gap:26px;max-width:1160px}
.hero .hero-copy{max-width:760px;display:grid;gap:24px}
.hero h1{font-size:clamp(32px,5.3vw,68px);line-height:1.08;white-space:nowrap}
.hero h1 em{font-style:normal;color:#e0bd76}
.hero .rule{width:44px;height:2px;background:var(--gold-bright)}
.hero p{margin:0;font-size:clamp(19px,2vw,25px);line-height:1.45;color:#e6e9ef;max-width:22em}

/* sections */
section.band{padding-block:72px}
section.mist{background:var(--mist)}
.sec-head{display:grid;grid-template-columns:1fr minmax(0,380px);gap:16px 40px;align-items:end;margin-bottom:36px}
.sec-head .lede{margin:0;color:var(--muted);font-size:17px}
.cards{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);box-shadow:0 10px 30px -18px rgba(15,29,51,.35);display:flex;flex-direction:column}
.card img{aspect-ratio:2/1;object-fit:cover;width:100%;height:auto}
.card .body{padding:22px 26px 24px;display:grid;gap:10px;flex:1;align-content:start}
.card p{margin:0;color:var(--muted)}
.more{margin-top:8px;display:inline-flex;align-items:center;gap:10px;font:500 12px var(--f-label);letter-spacing:.28em;text-transform:uppercase;color:var(--gold-deep);text-decoration:none;border-left:2px solid var(--gold);padding-left:18px}
.more::after{content:"\2192";letter-spacing:0;font-size:15px}

.split{display:grid;grid-template-columns:1.05fr 1fr;background:var(--mist)}
.split .pic{background:url(img/meeting.jpg) center/cover no-repeat;min-height:360px}
.split .txt{padding:56px max(20px,min(6vw,64px));display:grid;gap:18px;align-content:center;max-width:620px}
.split .sub{font-size:20px;margin:0}
.split p{margin:0;color:var(--muted)}

.cta{color:#fff;padding-block:56px;background:var(--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 200' preserveAspectRatio='none'%3E%3Cpath d='M0 140 L90 100 L170 125 L260 70 L340 110 L430 60 L520 105 L600 80 L690 120 L780 55 L870 100 L960 75 L1050 115 L1130 85 L1200 105 L1200 200 L0 200Z' fill='%23182b48' fill-opacity='.85'/%3E%3Cpath d='M0 170 L120 135 L230 160 L350 120 L470 150 L590 115 L720 155 L850 125 L980 160 L1100 130 L1200 150 L1200 200 L0 200Z' fill='%230b1628'/%3E%3C/svg%3E") bottom/100% 70% no-repeat}
.cta .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:22px}
.cta .t{display:grid;gap:12px;max-width:620px}
.cta p{margin:0;color:#dfe3ea}

footer.site{background:#0b1628;color:#cfd5df;border-top:1px solid var(--navy-line);padding-block:30px;font-size:11px}
footer.site .row{display:flex;flex-wrap:wrap;align-items:center;gap:18px 36px}
footer.site nav{display:flex;flex-wrap:wrap;gap:8px 26px}
footer.site nav a{color:#e9ecf2;text-decoration:none}
footer.site .tag{font:500 11px var(--f-label);letter-spacing:.32em;color:#b8c0cc;border-left:1px solid var(--navy-line);padding-left:30px;margin-left:auto}
footer.site .legal{margin-top:20px;color:#9aa3b2;display:flex;flex-wrap:wrap;gap:6px 22px}
footer.site .legal span b{color:#e9ecf2;font-weight:600}

/* inner pages */
.pagehead{background:var(--navy);color:#fff;padding-block:52px}
.pagehead .wrap{display:grid;gap:14px}
.pagehead p{margin:0;color:#dfe3ea;max-width:62ch;font-size:19px}
.prose{max-width:70ch}
.prose h2{font-size:28px;margin:30px 0 10px}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));background:#fff;border:1px solid var(--line)}
.facts div{padding:18px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts dt{font:500 11px var(--f-label);letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.facts dd{margin:6px 0 0;font:600 19px var(--f-body);overflow-wrap:anywhere}
.area{display:grid;grid-template-columns:minmax(0,380px) 1fr;gap:28px;align-items:start;padding-block:30px;border-bottom:1px solid var(--line);scroll-margin-top:20px}
.area img{width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;border-top:3px solid var(--gold)}
.area ul{margin:10px 0 0;padding-left:20px;color:var(--ink)}
.area p{margin:8px 0 0;color:var(--muted)}
.contact-grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.contact-card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);padding:26px;display:grid;gap:6px}
.contact-card .big{font:600 23px var(--f-body);color:var(--ink);text-decoration:none;overflow-wrap:anywhere}
.copy{font:500 12px var(--f-label);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line);background:transparent;color:var(--ink);padding:6px 12px;cursor:pointer;justify-self:start;margin-top:6px}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.steps li{border-top:1px solid var(--line);padding-top:18px;display:grid;gap:8px}
.steps span{font:500 13px var(--f-label);letter-spacing:.24em;color:var(--gold-deep)}
.steps p{margin:0;color:var(--muted)}
.inquiry{margin-top:44px;background:var(--mist);border-top:3px solid var(--gold);padding:30px;display:grid;gap:16px;max-width:860px}
.inquiry .frow{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.inquiry label{display:grid;gap:6px;font:500 13px var(--f-label);letter-spacing:.06em;color:var(--ink)}
.inquiry label small{font-weight:400;color:var(--muted);letter-spacing:0}
.inquiry input,.inquiry select,.inquiry textarea{font:16px var(--f-body);color:var(--ink);background:#fff;border:1px solid #cfd3d8;border-radius:1px;padding:11px 12px;width:100%}
.inquiry .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-note{margin:0;font-size:14px;color:var(--muted)}
#formStatus.ok{color:#1f6b3a;font-weight:600}
#formStatus.err{color:#9b2c1f;font-weight:600}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

/* capability statement sheet */
.sheet{background:#fff;color:#14213a;border:1px solid var(--line);max-width:8.5in;margin:0 auto;padding:.55in .6in;display:grid;gap:18px;font-size:13.5px;line-height:1.45;box-shadow:0 14px 40px -24px rgba(15,29,51,.4)}
.sheet .top{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;border-bottom:3px solid var(--gold);padding-bottom:12px;flex-wrap:wrap}
.sheet .top b{font:600 34px var(--f-mark);letter-spacing:.08em;color:var(--navy);display:block;line-height:1}
.sheet .top small{font:500 10px var(--f-label);letter-spacing:.32em;color:var(--gold-deep)}
.sheet h2{font:700 15px var(--f-head);color:var(--navy);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--line);padding-bottom:4px;margin-bottom:8px}
.sheet .cols{display:grid;grid-template-columns:1.4fr 1fr;gap:24px}
.sheet ul{margin:0;padding-left:18px}
.sheet table{border-collapse:collapse;width:100%;font-size:12.5px}
.sheet td{border-bottom:1px solid #ece9e2;padding:4px 8px 4px 0;vertical-align:top}
.sheet td:first-child{font:600 11px var(--f-label);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:var(--muted)}
.sheet .contact{text-align:right;font-size:12.5px}

@media (max-width:900px){
  .sec-head{grid-template-columns:1fr}
  .split{grid-template-columns:1fr}
  .split .pic{min-height:260px}
  .area{grid-template-columns:1fr}
  .sheet .cols{grid-template-columns:1fr}
  .sheet{padding:24px}
}
@media (max-width:860px){
  header.site .wrap{grid-template-columns:1fr auto}
  header.site .btn{display:none}
  .menu{display:inline-block}
  nav.main{grid-column:1/-1;display:none;flex-direction:column;gap:2px;padding-top:6px}
  nav.main.open{display:flex}
  nav.main a{padding:10px 0;border-bottom:1px solid var(--navy-line)}
}
@media (max-width:760px){
  .hero .photo{width:100%;opacity:.35}
  .hero .photo::after{background:linear-gradient(180deg,rgba(15,29,51,.4),var(--navy))}
  .hero .wrap{padding-block:56px 64px}
  header.site .btn{display:none}
  footer.site .tag{border:0;padding:0;margin-left:0}
}
@media print{
  header.site,footer.site,.pagehead,.noprint{display:none!important}
  .sheet{border:0;box-shadow:none;padding:0;max-width:none}
  section.band{padding:0}
  @page{size:letter;margin:.5in}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.prose ul{margin:0 0 1em;padding-left:22px}
.prose p{margin:0 0 1em}
.prose a{color:var(--gold-deep)}
