/* v400 — Final homepage blueprint lock
   Scope: homepage body and footer only. Header/navigation behaviour remains inherited from v389. */

body.v400-final-blueprint main.v400-main{
  background: #fbf7ed;
  color: #092a43;
}

body.v400-final-blueprint .v400-section{
  padding: clamp(34px, 5vw, 72px) 0;
  border-top: 1px solid rgba(10,42,67,.10);
}

body.v400-final-blueprint .v400-section:first-child{
  border-top: 0;
  padding-top: clamp(28px, 4vw, 52px);
}

body.v400-final-blueprint .v400-container{
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

body.v400-final-blueprint .v400-label{
  display:flex;
  align-items:center;
  gap:12px;
  margin: 0 0 20px;
  color:#092a43;
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

body.v400-final-blueprint .v400-label span{
  display:inline-grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:999px;
  background:#092a43;
  color:#fff;
  letter-spacing:0;
}

body.v400-final-blueprint .v400-panel{
  background: rgba(255,255,255,.70);
  border: 1px solid rgba(10,42,67,.13);
  border-radius: 28px;
  padding: clamp(24px, 4vw, 44px);
  box-shadow: 0 18px 44px rgba(10,42,67,.06);
}

body.v400-final-blueprint .v400-kicker{
  margin:0 0 12px;
  color:#19885a;
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

body.v400-final-blueprint h1,
body.v400-final-blueprint h2,
body.v400-final-blueprint h3{
  color:#092a43;
}

body.v400-final-blueprint .v400-authority-card{
  display:grid;
  gap:12px;
  max-width: 980px;
}

body.v400-final-blueprint .v400-authority-card p{
  margin:0;
  font-size: clamp(15px, 1.55vw, 18px);
  line-height:1.48;
}

body.v400-final-blueprint .v400-authority-card strong{
  font-weight:900;
}

body.v400-final-blueprint .v400-authority-card span{
  color:#19885a;
  font-weight:900;
}

body.v400-final-blueprint .v400-frontdoor-grid{
  display:grid;
  grid-template-columns: minmax(0,1.15fr) minmax(320px,.85fr);
  gap: clamp(22px, 3vw, 38px);
  align-items:stretch;
}

body.v400-final-blueprint .v400-frontdoor-intro h1{
  margin: 0 0 16px;
  max-width: 740px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(42px, 5.2vw, 78px);
  line-height:.95;
  letter-spacing:-.055em;
}

body.v400-final-blueprint .v400-frontdoor-intro p:not(.v400-kicker){
  margin:0 0 22px;
  max-width: 720px;
  color:#3e566b;
  font-size: clamp(16px, 1.6vw, 20px);
  line-height:1.48;
}

body.v400-final-blueprint .v400-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}

body.v400-final-blueprint .v400-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding: 12px 18px;
  border-radius:999px;
  border:1px solid rgba(10,42,67,.17);
  background:#fff;
  color:#092a43;
  font-weight:900;
  text-decoration:none;
  box-shadow: 0 10px 22px rgba(10,42,67,.06);
}

body.v400-final-blueprint .v400-button.primary{
  background:#e3bd65;
  border-color:#e3bd65;
}

body.v400-final-blueprint .v400-route-cards{
  display:grid;
  gap:14px;
}

body.v400-final-blueprint .v400-mini-card{
  padding:20px;
  border-radius:22px;
  border:1px solid rgba(10,42,67,.13);
  background:rgba(255,255,255,.78);
}

body.v400-final-blueprint .v400-mini-card span{
  display:block;
  margin-bottom:8px;
  color:#19885a;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

body.v400-final-blueprint .v400-mini-card strong{
  display:block;
  font-size:17px;
  line-height:1.38;
}

body.v400-final-blueprint .v400-brief-panel,
body.v400-final-blueprint .v400-route-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}

body.v400-final-blueprint .v400-brief-panel h2,
body.v400-final-blueprint .v400-route-panel h2{
  margin:0 0 8px;
  font-size: clamp(28px, 3vw, 42px);
  line-height:1.08;
}

body.v400-final-blueprint .v400-brief-panel p,
body.v400-final-blueprint .v400-route-panel p{
  margin:0;
  max-width:740px;
  color:#3e566b;
  font-size:17px;
  line-height:1.5;
}

body.v400-final-blueprint .v400-route-panel{
  border-top: 4px solid #092a43;
  border-bottom: 4px solid #092a43;
}

body.v400-final-blueprint .v400-spine-list{
  display:grid;
  grid-template-columns: repeat(7, minmax(0,1fr));
  gap:10px;
  margin:22px 0;
}

body.v400-final-blueprint .v400-spine-list div,
body.v400-final-blueprint .v400-commitments div{
  padding:16px;
  border:1px solid rgba(10,42,67,.14);
  border-radius:18px;
  background:#fffdf8;
}

body.v400-final-blueprint .v400-spine-list span,
body.v400-final-blueprint .v400-commitments span{
  display:block;
  margin-bottom:8px;
  color:#19885a;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
}

body.v400-final-blueprint .v400-spine-list strong,
body.v400-final-blueprint .v400-commitments strong{
  display:block;
  font-size:15px;
  line-height:1.25;
}

body.v400-final-blueprint .v400-applications{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin-top:18px;
}

body.v400-final-blueprint .v400-applications > span{
  color:#6c7f8f;
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

body.v400-final-blueprint .v400-applications a,
body.v400-final-blueprint .v400-chip{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 13px;
  border-radius:999px;
  border:1px solid rgba(10,42,67,.14);
  background:#fff;
  color:#092a43;
  font-weight:850;
  text-decoration:none;
}

body.v400-final-blueprint .v400-commitments{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:14px;
}

body.v400-final-blueprint .v400-fit-list,
body.v400-final-blueprint .v400-deployment-list{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

body.v400-final-blueprint .v400-fit-list span,
body.v400-final-blueprint .v400-deployment-list strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid rgba(10,42,67,.14);
  background:#fff;
  color:#092a43;
  font-weight:900;
}

/* v400 footer: clean institutional blocks with office below navigation. */
body.v400-final-blueprint footer.v400-footer{
  background:#fbf7ed;
  border-top:1px solid rgba(10,42,67,.12);
  padding: clamp(42px, 6vw, 78px) 0 30px;
}

body.v400-final-blueprint footer.v400-footer .v400-footer-shell{
  width: min(1180px, calc(100% - 48px));
  margin:0 auto;
}

body.v400-final-blueprint .v400-footer-intro{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:28px;
  padding-bottom: clamp(24px, 3vw, 34px);
  border-bottom:1px solid rgba(10,42,67,.12);
}

body.v400-final-blueprint .v400-footer-intro h2{
  margin:10px 0 8px;
  max-width:620px;
  font-size: clamp(25px, 3vw, 38px);
  line-height:1.1;
}

body.v400-final-blueprint .v400-footer-intro p{
  margin:0;
  color:#52677b;
  font-weight:750;
}

body.v400-final-blueprint .v400-footer-nav{
  padding: clamp(24px, 3vw, 36px) 0;
  border-bottom:1px solid rgba(10,42,67,.12);
}

body.v400-final-blueprint .v400-footer-title,
body.v400-final-blueprint .v400-office-title{
  margin:0 0 20px;
  color:#6f8190;
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

body.v400-final-blueprint .v400-footer-nav-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: clamp(24px, 4vw, 60px);
}

body.v400-final-blueprint .v400-footer-nav-grid h3{
  margin:0 0 13px;
  color:#092a43;
  font-size:12px;
  font-weight:950;
  line-height:1.12;
  letter-spacing:.16em;
  text-transform:uppercase;
}

body.v400-final-blueprint .v400-footer-nav-grid ul{
  margin:0;
  padding:0;
  list-style:none;
}

body.v400-final-blueprint .v400-footer-nav-grid li + li{
  margin-top:11px;
}

body.v400-final-blueprint .v400-footer-nav-grid a,
body.v400-final-blueprint .v400-footer-bottom a,
body.v400-final-blueprint .v400-office-meta a{
  color:#092a43;
  font-weight:800;
  text-decoration-thickness:.08em;
  text-underline-offset:.2em;
}

body.v400-final-blueprint .v400-office-meta{
  display:grid;
  grid-template-columns: minmax(180px,240px) 1fr minmax(260px,auto);
  gap:24px;
  align-items:start;
  padding: clamp(22px, 3vw, 34px) 0;
  border-bottom:1px solid rgba(10,42,67,.12);
}

body.v400-final-blueprint .v400-office-meta address{
  font-style:normal;
  color:#52677b;
  line-height:1.6;
  font-weight:700;
}

body.v400-final-blueprint .v400-issue-strip{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:0;
}

body.v400-final-blueprint .v400-issue-strip div{
  display:flex;
  gap:7px;
  padding:9px 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(10,42,67,.10);
}

body.v400-final-blueprint .v400-issue-strip dt{
  color:#6f8190;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:11px;
}

body.v400-final-blueprint .v400-issue-strip dd{
  margin:0;
  color:#092a43;
  font-weight:850;
  font-size:12px;
}

body.v400-final-blueprint .v400-footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding-top:22px;
  color:#52677b;
  font-size:13px;
}

body.v400-final-blueprint .v400-footer-legal{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin:0;
  padding:0;
  list-style:none;
}

@media (max-width: 1080px){
  body.v400-final-blueprint .v400-frontdoor-grid{grid-template-columns:1fr;}
  body.v400-final-blueprint .v400-spine-list{grid-template-columns: repeat(4, minmax(0,1fr));}
  body.v400-final-blueprint .v400-footer-nav-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.v400-final-blueprint .v400-office-meta{grid-template-columns:1fr;}
}

@media (max-width: 720px){
  body.v400-final-blueprint .v400-container,
  body.v400-final-blueprint footer.v400-footer .v400-footer-shell{width:min(100% - 32px, 1180px);}
  body.v400-final-blueprint .v400-brief-panel,
  body.v400-final-blueprint .v400-route-panel,
  body.v400-final-blueprint .v400-footer-intro,
  body.v400-final-blueprint .v400-footer-bottom{display:block;}
  body.v400-final-blueprint .v400-spine-list,
  body.v400-final-blueprint .v400-commitments,
  body.v400-final-blueprint .v400-footer-nav-grid{grid-template-columns:1fr;}
  body.v400-final-blueprint .v400-button{width:100%;}
}
