body{margin:0;font-family:Arial,sans-serif;color:#173047;background:white;line-height:1.6}*{box-sizing:border-box}a{color:inherit}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #e4e8eb}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-family:Georgia,serif;font-size:24px;text-decoration:none;color:#0b2c4a;font-weight:700}.brand small{display:block;font:10px Arial;letter-spacing:.14em;color:#6c7b87}nav{display:flex;gap:18px;align-items:center;font-size:13px}nav a{text-decoration:none}.cta{background:#b88a3b;color:white!important;padding:10px 14px}.hero{background:linear-gradient(90deg,#eff5fa,#fff)}.hero-grid{display:grid;grid-template-columns:1fr 1.2fr;min-height:600px;align-items:center}.hero-copy{padding:70px 25px 70px 0}.kicker,.label{font-size:12px;font-weight:700;letter-spacing:.18em;color:#0b2c4a;text-transform:uppercase}h1,h2,h3{font-family:Georgia,serif;color:#0b2c4a;font-weight:400}h1{font-size:64px;line-height:1.02;margin:15px 0}h2{font-size:48px;line-height:1.05;margin:0 0 16px}h3{font-size:23px;margin:0 0 8px}.hero-image{height:100%;display:flex;align-items:end;position:relative}.hero-image img{width:100%;height:100%;object-fit:contain;object-position:center bottom}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d9dfe4;border-bottom:1px solid #d9dfe4}.stat{text-align:center;padding:32px;border-right:1px solid #d9dfe4}.stat:last-child{border-right:0}.stat strong{display:block;font:56px Georgia;color:#0b2c4a}.stat span{display:block;font-size:12px;letter-spacing:.1em;font-weight:700;text-transform:uppercase}.section{padding:90px 0}.ivory{background:#f7f5ef}.navy{background:#0b2c4a;color:white}.navy h2,.navy h3,.navy .label{color:white}.two{display:grid;grid-template-columns:1fr 1fr;gap:70px}.lead{font-size:18px;color:#52697a}.quote{padding:28px;border-left:3px solid #b88a3b;background:#fbfaf7;font:italic 25px Georgia;color:#0b2c4a}.flow{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:36px}.flow-item{text-align:center;border:1px solid #e1e6ea;padding:18px;background:white}.flow-item b{display:grid;place-items:center;width:50px;height:50px;margin:0 auto 12px;border-radius:50%;background:#0b2c4a;color:white}.flow-item span{font-size:12px;font-weight:700;text-transform:uppercase}.flow-item p{font-size:12px;color:#607183}.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:34px}.card{border:1px solid #e1e6ea;padding:22px;background:white}.card .eyebrow{font-size:10px;letter-spacing:.14em;color:#b88a3b;font-weight:700}.card p{font-size:14px;color:#607183}.platform{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}.platform figure{margin:0;border:1px solid #dbe2e7}.platform figcaption{padding:14px}.tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.tag{background:#eef3f6;padding:9px 12px;font-size:12px;font-weight:700}.pillars{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:34px}.pillar{border-top:3px solid #b88a3b;padding:22px;background:white}.pillar p{font-size:14px;color:#607183}.impact3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}.impact-card{padding:24px;border:1px solid #e1e6ea}.impact-card li{margin:7px 0}.band{display:grid;grid-template-columns:repeat(4,1fr);background:#edf3f7}.band div{text-align:center;padding:28px;border-right:1px solid #d6e0e6}.band strong{display:block;font:40px Georgia;color:#0b2c4a}.leadership-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:55px}.photo-placeholder{height:460px;display:grid;place-items:center;background:linear-gradient(135deg,#dfeaf2,#f8f4ea);border:1px solid #d9dfe4}.photo-placeholder strong{font:100px Georgia;color:#b88a3b}.timeline{border-left:2px solid #c8a562;padding-left:28px}.milestone{margin-bottom:24px}.milestone strong{font:23px Georgia;color:#0b2c4a}.contact-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.contact-cat{padding:22px;border:1px solid #dbe2e7}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:50px}form{display:grid;grid-template-columns:1fr 1fr;gap:12px}input,select,textarea{padding:12px;border:1px solid #cad4dc;font:inherit}textarea{grid-column:1/-1;min-height:140px}.btn{display:inline-block;padding:12px 18px;text-decoration:none;border:1px solid #0b2c4a;font-size:12px;font-weight:700;text-transform:uppercase}.gold{background:#b88a3b;color:white;border-color:#b88a3b}.office{background:#f5f3ec;padding:28px;border-top:3px solid #b88a3b}.placeholder{text-align:center;padding:70px 20px;border:1px dashed #b9c4cc;background:#f5f3ec}footer{background:#081f34;color:#b6c3cd;padding:38px 0}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.footer-grid nav{justify-content:flex-end;flex-wrap:wrap}.footer-grid nav a{color:#d0d8df}.footer-grid small{grid-column:1/-1;border-top:1px solid #27415a;padding-top:16px}@media(max-width:900px){nav a:not(.cta){display:none}.hero-grid,.two,.leadership-grid,.formgrid{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.flow{grid-template-columns:repeat(3,1fr)}.pillars{grid-template-columns:1fr 1fr}.impact3,.contact-cats{grid-template-columns:1fr 1fr}}@media(max-width:620px){.wrap{width:calc(100% - 28px)}h1{font-size:46px}h2{font-size:38px}.stats,.band,.cards,.flow,.pillars,.impact3,.contact-cats,.platform{grid-template-columns:1fr}.stat,.band div{border-right:0;border-bottom:1px solid #d9dfe4}.hero-copy{padding:50px 0}.section{padding:65px 0}.footer-grid{grid-template-columns:1fr}.footer-grid nav{justify-content:flex-start}form{grid-template-columns:1fr}textarea{grid-column:auto}}

.experience-band{display:grid;grid-template-columns:repeat(3,1fr);margin:34px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.experience-band>div{padding:26px;text-align:center;border-right:1px solid var(--line)}
.experience-band>div:last-child{border-right:0}
.experience-band strong{display:block;font-family:"DM Serif Display";font-size:2.6rem;color:var(--navy);line-height:1.05}
.experience-band span{display:block;font-weight:700;color:var(--navy);margin-top:6px}
.experience-band small{display:block;color:#75838e;margin-top:5px}
.historical-note{margin:26px 0;padding:17px 20px;background:#eef3f6;border-left:3px solid var(--gold);font-size:.88rem;color:#40576a}
.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:32px}
.project-card{background:#fff;border:1px solid #dde3e7;padding-bottom:18px}
.project-card h3,.project-card p,.project-card b{margin-left:17px;margin-right:17px}
.project-card h3{margin-top:16px}
.project-card b{display:block;font-size:.75rem;color:var(--gold);text-transform:uppercase;letter-spacing:.04em}
.project-card p{font-size:.82rem;color:#607183}
.project-photo{height:155px;background:linear-gradient(135deg,#e7edf1,#f7f3e9);display:grid;place-items:center;color:#8a98a3;font-size:.65rem;letter-spacing:.14em;font-weight:700}
@media(max-width:980px){.project-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.experience-band,.project-grid{grid-template-columns:1fr}.experience-band>div{border-right:0;border-bottom:1px solid var(--line)}}

/* Sitewide refinement pass */
.housing-breadth{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}
.housing-breadth span{border:1px solid rgba(184,138,59,.55);padding:8px 13px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--navy);background:rgba(255,255,255,.82)}
.metric-note{max-width:820px;margin:-15px auto 25px;text-align:center;font-size:.72rem;color:#788692;line-height:1.5}
.leadership-proof{border-left:3px solid var(--gold);padding:8px 0 8px 28px;display:grid;grid-template-columns:auto 1fr;gap:8px 18px;align-content:center}
.leadership-proof strong{font-family:"DM Serif Display";font-size:1.8rem;color:var(--navy)}
.leadership-proof span{align-self:center;color:#617283;font-size:.85rem}
.company-detail{max-width:920px;margin:auto;padding:20px 0}
.strategy-flow{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:35px 0}
.strategy-flow span{background:#fff;border:1px solid #dce3e7;padding:14px 18px;font-weight:700;color:var(--navy);box-shadow:0 6px 20px rgba(11,44,74,.05)}
.strategy-flow b{color:var(--gold);font-size:1.35rem}
.strategy-capital{max-width:850px;margin:0 auto;background:#fff;border-left:3px solid var(--gold);padding:22px 26px}
@media(max-width:640px){.leadership-proof{grid-template-columns:1fr}.strategy-flow b{transform:rotate(90deg)}}

.legal-page{max-width:900px}.legal-page h1{margin-bottom:24px}.legal-page p{line-height:1.75;color:#536777}
.legal-small{font-size:.78rem;border-top:1px solid #dde3e7;padding-top:18px;margin-top:28px}
.footer-legal{display:flex;gap:9px;justify-content:center;margin-top:18px;font-size:.72rem;opacity:.8}
.footer-legal a{color:inherit;text-decoration:none}

/* 2026-09-15 visual density pass: tighter desktop rhythm, fuller use of space */
:root{--navy:#0b2c4a;--gold:#b88a3b;--line:#d9dfe4}
.wrap{width:min(1240px,calc(100% - 48px))}
.nav{height:70px}
.hero-grid{grid-template-columns:1fr 1fr;min-height:430px;gap:34px}
.hero-copy{padding:44px 0}
h1{font-size:54px;line-height:1.02;margin:12px 0 16px}
h2{font-size:42px;line-height:1.08;margin:0 0 14px}
.lead{font-size:17px;line-height:1.55}
.hero-image{min-height:330px;height:auto;align-items:center;justify-content:center;overflow:hidden}
.hero-image img{width:108%;height:auto;max-height:360px;object-fit:contain;object-position:center}
.section{padding:58px 0}
.stats .stat{padding:22px 24px}
.stat strong{font-size:46px}
.stat small{display:block;margin-top:4px;color:#6f7f8b;line-height:1.35}
.two{gap:46px}
.quote{padding:24px;font-size:23px}
.flow{gap:10px;margin-top:24px}
.flow-item{padding:16px 12px}
.flow-item b{width:44px;height:44px;margin-bottom:10px}
.cards{grid-template-columns:repeat(6,1fr);gap:16px;margin-top:16px}
.card{grid-column:span 2;padding:26px 24px;min-height:220px}
.card:nth-last-child(-n+2){grid-column:span 3}
.card h3{font-size:25px;line-height:1.1;margin:8px 0 10px}
.card p{font-size:14px;line-height:1.55;margin-bottom:0}
.platform{gap:16px;margin-top:22px}
.platform figure{background:#fbfcfd;overflow:hidden}
.platform figure img{display:block;width:100%;height:280px;object-fit:contain;object-position:center}
.platform figcaption{padding:12px 16px}
.tags{margin-top:16px}
.pillars{gap:14px;margin-top:22px}
.pillar{padding:20px;min-height:210px}
.impact3{gap:14px;margin-top:24px}
.band div{padding:22px}
.leadership-grid{gap:42px}
.photo-placeholder{height:390px}
.timeline{padding-left:24px}
.milestone{margin-bottom:18px}
.contact-cats{gap:12px}
.contact-cat{padding:18px 20px}
.formgrid{gap:38px}
.office{padding:24px}
.placeholder{padding:48px 20px}
footer{padding:30px 0}
.experience-band{margin:24px 0}
.experience-band>div{padding:20px}
.project-grid{gap:14px;margin-top:24px}
.project-photo{height:135px}
.housing-breadth{margin:18px 0}
.strategy-flow{margin:24px 0;gap:10px}
.company-detail{padding:8px 0}

@media(max-width:1050px){
  .hero-grid{min-height:390px;gap:20px}
  h1{font-size:48px}
  .hero-image img{width:102%;max-height:330px}
  .cards{grid-template-columns:1fr 1fr}
  .card,.card:nth-last-child(-n+2){grid-column:auto;min-height:0}
}
@media(max-width:900px){
  .wrap{width:calc(100% - 36px)}
  .hero-grid{grid-template-columns:1fr;min-height:0;gap:0}
  .hero-copy{padding:42px 0 18px}
  .hero-image{min-height:220px}
  .hero-image img{width:100%;max-height:280px}
  .section{padding:50px 0}
}
@media(max-width:620px){
  .wrap{width:calc(100% - 28px)}
  h1{font-size:42px}
  h2{font-size:34px}
  .hero-copy{padding:36px 0 12px}
  .hero-image{min-height:180px}
  .hero-image img{max-height:220px}
  .section{padding:42px 0}
  .cards{grid-template-columns:1fr}
  .platform figure img{height:220px}
}


/* FINAL PAGE-SPECIFIC VISUAL REFINEMENT
   Larger architecture on desktop, preserved responsive behavior on tablet/mobile. */

@media (min-width: 981px) {
  body.page-companies .hero,
  body.page-contact .hero,
  body.page-portfolio .hero {
    padding-top: 42px;
    padding-bottom: 34px;
  }

  body.page-strategy .hero {
    padding-top: 34px;
    padding-bottom: 20px;
  }

  body.page-strategy .hero + .section {
    padding-top: 28px;
  }

  body.page-portfolio .hero + .section {
    padding-top: 30px;
  }

  body.page-companies .hero-grid,
  body.page-contact .hero-grid,
  body.page-portfolio .hero-grid {
    grid-template-columns: .86fr 1.14fr;
    align-items: center;
  }

  body.page-strategy .hero-grid {
    grid-template-columns: .92fr 1.08fr;
    align-items: center;
  }

  body.page-companies .hero-image,
  body.page-contact .hero-image,
  body.page-portfolio .hero-image,
  body.page-strategy .hero-image {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
  }

  body.page-companies .hero-image img,
  body.page-contact .hero-image img,
  body.page-portfolio .hero-image img {
    width: 112%;
    max-width: 820px;
    height: auto;
    object-fit: contain;
    margin: 0 auto;
  }

  body.page-strategy .hero-image img {
    width: 106%;
    max-width: 760px;
    height: auto;
    object-fit: contain;
    margin: 0 auto;
  }

  body.page-contact .hero-image {
    transform: translateX(-14px);
  }
}

@media (max-width: 980px) {
  body.page-companies .hero-image img,
  body.page-strategy .hero-image img,
  body.page-portfolio .hero-image img,
  body.page-contact .hero-image img {
    width: 100%;
    max-width: 680px;
    height: auto;
    object-fit: contain;
    transform: none;
    margin: 0 auto;
    display: block;
  }

  body.page-companies .hero,
  body.page-strategy .hero,
  body.page-portfolio .hero,
  body.page-contact .hero {
    padding-top: 28px;
    padding-bottom: 20px;
  }
}

@media (max-width: 640px) {
  body.page-companies .hero,
  body.page-strategy .hero,
  body.page-portfolio .hero,
  body.page-contact .hero {
    padding-top: 18px;
    padding-bottom: 12px;
  }

  body.page-companies .hero-image,
  body.page-strategy .hero-image,
  body.page-portfolio .hero-image,
  body.page-contact .hero-image {
    margin-top: 10px;
  }

  body.page-companies .hero-image img,
  body.page-strategy .hero-image img,
  body.page-portfolio .hero-image img,
  body.page-contact .hero-image img {
    width: 100%;
    max-width: 100%;
  }
}


/* ============================================================
   SPRINGBOARD RA — RESPONSIVE + COLOR REFINEMENT
   2026-09-15
   Purpose:
   - purpose-built mobile navigation
   - tighter mobile content density
   - 5 company cards across on large desktop
   - navy / ivory / gold visual depth
   - tablet breakpoint separated from phone
   ============================================================ */

:root{
  --sra-navy:#0b2c4a;
  --sra-navy-2:#102f4d;
  --sra-gold:#b88a3b;
  --sra-gold-deep:#9d7127;
  --sra-ivory:#f7f3e9;
  --sra-cream:#fbf9f4;
  --sra-bluewash:#edf4f8;
  --sra-line:#d9e0e5;
  --sra-text:#173047;
  --sra-muted:#617486;
}

/* Subtle color depth sitewide */
body{background:var(--sra-cream);color:var(--sra-text)}
header{background:rgba(255,255,255,.97)}
.hero{background:linear-gradient(110deg,var(--sra-bluewash) 0%,#f9fbfc 54%,var(--sra-ivory) 100%)}
.section{background:#fff}
.section.ivory,.ivory{background:var(--sra-ivory)}
.card,.flow-item,.pillar,.impact-card,.contact-cat,.project-card{
  border-color:var(--sra-line);
  box-shadow:0 8px 24px rgba(11,44,74,.045);
}
.card{border-top:3px solid var(--sra-gold)}
.pillar{border-top:3px solid var(--sra-gold)}
.contact-cat{border-top:2px solid rgba(184,138,59,.75)}
.btn.gold,.cta{background:var(--sra-gold);border-color:var(--sra-gold)}
.btn.gold:hover,.cta:hover{background:var(--sra-gold-deep)}
footer{background:#081f34}

/* Hamburger exists in markup but is desktop-hidden. */
.menu-toggle{
  display:none;
  width:42px;height:42px;
  border:0;background:transparent;padding:9px;
  cursor:pointer;flex:0 0 auto;
}
.menu-toggle span{
  display:block;height:2px;background:var(--sra-navy);
  margin:5px 0;transition:.2s ease;
}

/* Large desktop — restore five companies in one row and tighten hero rhythm. */
@media (min-width:1051px){
  body.page-companies .cards{
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:14px;
    margin-top:10px;
  }
  body.page-companies .card,
  body.page-companies .card:nth-last-child(-n+2){
    grid-column:auto;
    min-height:250px;
    padding:22px 18px;
  }
  body.page-companies .card h3{font-size:21px}
  body.page-companies .card p{font-size:13px}

  body.page-companies .hero-grid,
  body.page-strategy .hero-grid,
  body.page-portfolio .hero-grid,
  body.page-contact .hero-grid{
    min-height:340px;
  }
  body.page-companies .hero-copy,
  body.page-strategy .hero-copy,
  body.page-portfolio .hero-copy,
  body.page-contact .hero-copy{
    padding-top:26px;
    padding-bottom:26px;
  }
  body.page-companies .hero + .section,
  body.page-strategy .hero + .section,
  body.page-portfolio .hero + .section,
  body.page-contact .hero + .section{
    padding-top:40px;
  }
}

/* Tablet */
@media (max-width:1050px) and (min-width:701px){
  .nav{height:68px}
  .brand{font-size:21px}
  .brand small{font-size:8px;white-space:nowrap}
  header nav{gap:12px;font-size:11px}
  .cta{padding:9px 11px}
  .hero-grid{grid-template-columns:1fr 1fr;min-height:360px;gap:22px}
  .hero-copy{padding:32px 0}
  h1{font-size:44px}
  h2{font-size:36px}
  .section{padding:48px 0}
  .cards{grid-template-columns:repeat(3,1fr)}
  .card,.card:nth-last-child(-n+2){grid-column:auto}
  .card:nth-last-child(-n+2){grid-column:span 1}
  .flow{grid-template-columns:repeat(3,1fr)}
  .pillars{grid-template-columns:repeat(3,1fr)}
  .platform figure img{height:auto}
}

/* PHONE — dedicated composition, not a shrunken desktop page */
@media (max-width:700px){
  .wrap{width:calc(100% - 36px)}
  header{position:sticky;top:0;z-index:50}
  .nav{
    height:64px;
    position:relative;
    gap:10px;
    align-items:center;
  }
  .brand{
    min-width:0;
    font-size:19px;
    line-height:1;
    white-space:nowrap;
    letter-spacing:.01em;
  }
  .brand small{
    display:block;
    margin-top:5px;
    font-size:7px;
    letter-spacing:.11em;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:260px;
  }

  .menu-toggle{display:block;margin-left:auto}
  body.menu-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body.menu-open .menu-toggle span:nth-child(2){opacity:0}
  body.menu-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  header nav{
    display:none;
    position:absolute;
    top:64px;
    left:-18px;
    right:-18px;
    background:#fff;
    border-top:1px solid var(--sra-line);
    border-bottom:1px solid var(--sra-line);
    box-shadow:0 16px 28px rgba(11,44,74,.14);
    padding:12px 18px 18px;
    gap:0;
    flex-direction:column;
    align-items:stretch;
    font-size:15px;
    z-index:60;
  }
  body.menu-open header nav{display:flex}
  header nav a,
  header nav a:not(.cta){
    display:block!important;
    padding:11px 4px;
    border-bottom:1px solid #edf0f2;
  }
  header nav .cta{
    margin-top:10px;
    border:0;
    padding:13px 14px;
    text-align:center;
    color:white!important;
  }

  /* Hero */
  .hero-grid{
    grid-template-columns:1fr;
    min-height:0!important;
    gap:4px;
    padding-top:0;
  }
  .hero-copy{
    padding:30px 0 10px!important;
  }
  .kicker,.label{
    font-size:10px;
    line-height:1.45;
    letter-spacing:.16em;
  }
  h1{
    font-size:36px!important;
    line-height:1.02;
    margin:12px 0 16px;
  }
  h2{
    font-size:31px!important;
    line-height:1.06;
    margin-bottom:12px;
  }
  h3{font-size:21px}
  .lead{
    font-size:16px;
    line-height:1.5;
  }
  .hero-image{
    min-height:0!important;
    height:auto!important;
    padding:5px 0 22px;
    overflow:visible;
    transform:none!important;
  }
  .hero-image img{
    display:block;
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    max-height:none!important;
    margin:0 auto;
    object-fit:contain;
    transform:none!important;
  }

  /* Home CTA pair */
  .page-home .hero-copy > p:last-child{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:20px;
  }
  .page-home .hero-copy > p:last-child .btn{
    text-align:center;
    padding:11px 7px;
    font-size:10px;
    white-space:nowrap;
  }

  /* Mobile home metrics in one compact row */
  .page-home .stats{
    grid-template-columns:repeat(3,1fr)!important;
    background:#fff;
  }
  .page-home .stat{
    padding:18px 6px!important;
    border-right:1px solid var(--sra-line)!important;
    border-bottom:0!important;
  }
  .page-home .stat:last-child{border-right:0!important}
  .page-home .stat strong{
    font-size:29px;
    line-height:1;
  }
  .page-home .stat span{
    font-size:8px;
    line-height:1.25;
    letter-spacing:.07em;
    margin-top:7px;
  }
  .page-home .stat small{
    font-size:8px;
    line-height:1.25;
    margin-top:5px;
  }

  /* Sections — materially less scrolling */
  .section{padding:34px 0!important}
  .two,.leadership-grid,.formgrid{grid-template-columns:1fr;gap:24px}
  .quote{font-size:20px;padding:20px}

  /* Six-step Springboard Advantage */
  .page-home .flow{
    grid-template-columns:repeat(2,1fr)!important;
    gap:10px;
    margin-top:20px;
  }
  .page-home .flow-item{
    min-height:145px;
    padding:14px 10px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .page-home .flow-item b{
    width:38px;height:38px;margin-bottom:8px;
  }
  .page-home .flow-item span{font-size:10px;line-height:1.25}
  .page-home .flow-item p{font-size:11px;line-height:1.35;margin:8px 0 0}

  /* EMM-24 / EMM-32 cards hug the artwork */
  .platform{
    grid-template-columns:1fr!important;
    gap:14px;
    margin-top:18px;
  }
  .platform figure{
    background:#fff;
    overflow:hidden;
  }
  .platform figure img{
    display:block;
    width:100%;
    height:auto!important;
    max-height:none!important;
    object-fit:contain;
    margin:0;
  }
  .platform figcaption{
    padding:12px 14px 14px;
    font-size:15px;
    line-height:1.45;
  }
  .platform figcaption strong{font-size:20px}
  .tags{gap:8px;margin-top:14px}
  .tag{
    padding:8px 10px;
    font-size:10px;
  }

  /* Company cards */
  .cards{
    grid-template-columns:1fr!important;
    gap:10px;
    margin-top:14px;
  }
  .card,.card:nth-last-child(-n+2){
    grid-column:auto!important;
    min-height:0!important;
    padding:18px 17px;
  }
  .card h3{font-size:22px}
  .card p{font-size:13px}

  /* Strategy pillars and general repeated cards */
  .pillars{
    grid-template-columns:repeat(2,1fr)!important;
    gap:10px;
    margin-top:18px;
  }
  .pillar{
    min-height:0;
    padding:16px 14px;
  }
  .pillar h3{font-size:18px}
  .pillar p{font-size:12px;line-height:1.4}
  .pillar:last-child:nth-child(odd){grid-column:1/-1}

  .impact3,.contact-cats{
    grid-template-columns:1fr!important;
    gap:10px;
  }
  .impact-card,.contact-cat{padding:17px}

  /* Portfolio / experience */
  .experience-band{
    grid-template-columns:repeat(3,1fr)!important;
    margin:18px 0;
  }
  .experience-band>div{
    padding:14px 7px;
    border-right:1px solid var(--sra-line)!important;
    border-bottom:0!important;
  }
  .experience-band>div:last-child{border-right:0!important}
  .experience-band strong{font-size:19px}
  .experience-band span{font-size:9px;line-height:1.3}
  .experience-band small{font-size:8px;line-height:1.25}
  .project-grid{grid-template-columns:1fr 1fr!important;gap:10px}
  .project-photo{height:90px}
  .project-card h3{font-size:17px;margin:11px 12px 5px}
  .project-card b,.project-card p{margin-left:12px;margin-right:12px}
  .project-card b{font-size:9px}
  .project-card p{font-size:11px;line-height:1.4}

  /* Leadership */
  .leadership-proof{
    padding-left:18px;
    grid-template-columns:auto 1fr;
    gap:5px 12px;
  }
  .leadership-proof strong{font-size:20px}
  .leadership-proof span{font-size:11px}
  .timeline{padding-left:18px}
  .milestone{margin-bottom:18px}
  .milestone strong{font-size:18px}
  .milestone p{font-size:13px;line-height:1.55}

  /* Contact */
  form{grid-template-columns:1fr}
  textarea{grid-column:auto;min-height:110px}
  .office{padding:20px}

  /* Impact band */
  .band{
    grid-template-columns:repeat(2,1fr)!important;
  }
  .band div{
    padding:17px 8px;
    border-right:1px solid var(--sra-line)!important;
    border-bottom:1px solid var(--sra-line);
  }
  .band strong{font-size:28px}
  .band span{font-size:10px}

  /* Footer */
  footer{padding:24px 0 20px!important}
  .footer-grid{grid-template-columns:1fr;gap:14px}
  footer .brand{
    font-size:23px;
    white-space:normal;
  }
  footer .brand small{
    max-width:none;
    font-size:7px;
    margin-top:6px;
  }
  footer nav{
    position:static;
    display:grid!important;
    grid-template-columns:repeat(2,1fr);
    box-shadow:none;
    border:0;
    padding:0;
    background:transparent;
    gap:0 18px;
  }
  footer nav a,
  footer nav a:not(.cta){
    display:block!important;
    padding:6px 0;
    border:0;
    font-size:11px;
    color:#d3dde5;
  }
  .footer-grid small{
    font-size:10px;
    line-height:1.55;
    padding-top:12px;
  }
  .footer-legal{margin-top:12px;font-size:10px}

  /* About artwork */
  .page-about .two img{
    display:block;
    width:100%;
    height:auto;
  }
}

/* Very narrow phone safety */
@media (max-width:380px){
  .wrap{width:calc(100% - 28px)}
  .brand{font-size:17px}
  .brand small{max-width:220px;font-size:6.5px}
  h1{font-size:33px!important}
  h2{font-size:29px!important}
  .page-home .stat strong{font-size:26px}
  .project-grid{grid-template-columns:1fr!important}
}


/* ============================================================
   FINAL INSTITUTIONAL DESIGN POLISH
   ============================================================ */

/* Better typography rhythm */
body{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3{color:var(--sra-navy)}
.hero-copy{max-width:650px}
.section h2{position:relative}
.section .label + h2,
.section .kicker + h2{margin-top:8px}
.label,.kicker{color:var(--sra-gold-deep)}

/* Elegant section rhythm */
.section:nth-of-type(even){background:var(--sra-ivory)}
.section:nth-of-type(odd){background:#fff}
.section.ivory{background:var(--sra-ivory)}
.section > .wrap > .label:first-child:before,
.section > .wrap > .kicker:first-child:before{
  content:"";
  display:block;
  width:52px;
  height:2px;
  background:var(--sra-gold);
  margin-bottom:12px;
}

/* Cards feel more intentional, not generic white rectangles */
.card,.pillar,.impact-card,.contact-cat,.project-card,.flow-item{
  background:rgba(255,255,255,.94);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
@media (hover:hover){
  .card:hover,.pillar:hover,.impact-card:hover,.contact-cat:hover,.project-card:hover{
    transform:translateY(-3px);
    box-shadow:0 14px 34px rgba(11,44,74,.10);
    border-color:rgba(184,138,59,.55);
  }
}
.company-icon{
  width:36px;height:36px;
  margin-bottom:14px;
  color:var(--sra-navy);
}
.company-icon svg{
  width:100%;height:100%;
  fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;
}

/* Buttons */
.btn,.cta{
  border-radius:2px;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:background .18s ease, transform .18s ease, box-shadow .18s ease;
}
@media (hover:hover){
  .btn:hover,.cta:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(11,44,74,.12)}
}

/* More polished desktop hero bands */
@media (min-width:1051px){
  .hero{
    border-bottom:1px solid rgba(11,44,74,.08);
  }
  .hero-grid{gap:48px}
  .hero-image img{filter:drop-shadow(0 14px 18px rgba(11,44,74,.08))}
  body.page-companies .cards{
    padding-top:8px;
    padding-bottom:8px;
  }
  body.page-companies .card{
    border-top:3px solid var(--sra-gold);
  }
}

/* Tablet polish */
@media (max-width:1050px) and (min-width:701px){
  .section{padding:44px 0}
  .cards,.pillars,.flow{gap:14px}
  .card,.pillar,.flow-item{padding:20px}
  .hero-image img{filter:drop-shadow(0 10px 14px rgba(11,44,74,.07))}
}

/* Phone-specific final polish */
@media (max-width:700px){
  body{overflow-x:hidden}
  header{border-bottom:1px solid rgba(11,44,74,.10)}
  .nav{height:62px}
  header nav{top:62px}

  /* Brand must never clip */
  .brand{
    display:block;
    max-width:calc(100vw - 92px);
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .brand small{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .hero{
    background:linear-gradient(145deg,#eef5f9 0%,#fbfcfc 58%,#f8f3e8 100%);
  }
  .hero-copy{max-width:none}
  .hero-image img{filter:drop-shadow(0 8px 12px rgba(11,44,74,.06))}
  h1{letter-spacing:-.025em}
  h2{letter-spacing:-.018em}

  /* Gold line gives sections identity without large dark blocks */
  .section > .wrap > .label:first-child:before,
  .section > .wrap > .kicker:first-child:before{
    width:38px;
    margin-bottom:9px;
  }

  /* Cards */
  .company-icon{width:31px;height:31px;margin-bottom:9px}
  .card,.pillar,.impact-card,.contact-cat,.project-card{
    box-shadow:0 5px 15px rgba(11,44,74,.045);
  }

  /* Give key groups a soft ivory canvas */
  .page-home .stats,
  .page-home .platform,
  .page-companies .cards,
  .page-strategy .pillars{
    position:relative;
  }

  /* Mobile menu CTA */
  header nav .cta{
    min-height:46px;
    border-radius:2px;
  }

  /* More intentional footer hierarchy */
  footer{
    border-top:4px solid var(--sra-gold);
  }
  footer .brand{
    padding-bottom:12px;
    border-bottom:1px solid rgba(255,255,255,.14);
  }
}

/* Accessibility / motion */
:focus-visible{
  outline:3px solid rgba(184,138,59,.55);
  outline-offset:3px;
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    transition:none!important;
    animation:none!important;
  }
}


/* ============================================================
   FINAL QA RELEASE — VISUAL SYSTEM + RESPONSIVE CORRECTIONS
   Supersedes earlier spacing/mobile overrides where conflicts exist.
   ============================================================ */
:root{
  --sra-navy:#0b2c4a;
  --sra-navy-deep:#071d31;
  --sra-navy-mid:#153f63;
  --sra-gold:#b98b3d;
  --sra-gold-soft:#d7bb7a;
  --sra-ivory:#f5f0e4;
  --sra-cream:#fbf9f3;
  --sra-bluewash:#eaf2f7;
  --sra-bluewash-2:#dfeaf1;
  --sra-line:#d6dee4;
}
html{scroll-behavior:smooth}
body{background:var(--sra-cream)}
main{overflow:hidden}

/* Stronger color system — page sections intentionally vary, not all-white. */
section.tone-white{background:#fff}
section.tone-ivory{background:linear-gradient(135deg,#faf7ef 0%,var(--sra-ivory) 100%)}
section.tone-blue{background:linear-gradient(135deg,var(--sra-bluewash) 0%,#f9fbfc 72%)}
section.tone-navy{background:linear-gradient(135deg,var(--sra-navy-deep) 0%,var(--sra-navy) 58%,var(--sra-navy-mid) 100%);color:#dce6ee}
section.tone-navy h1,section.tone-navy h2,section.tone-navy h3,section.tone-navy .lead{color:#fff}
section.tone-navy p{color:#d5e0e9}
section.tone-navy .label,section.tone-navy .kicker{color:var(--sra-gold-soft)}
section.tone-navy .label:before,section.tone-navy .kicker:before{background:var(--sra-gold-soft)!important}
section.tone-gold{background:linear-gradient(135deg,#b08335 0%,#c39a50 100%);color:#fff}
section.tone-gold strong,section.tone-gold span,section.tone-gold small{color:#fff!important}

/* Stats now read as a designed feature band rather than three white boxes. */
.page-home .stats.tone-navy{border:0}
.page-home .stats.tone-navy .stat{border-color:rgba(255,255,255,.16)}
.page-home .stats.tone-navy .stat strong{color:#fff}
.page-home .stats.tone-navy .stat span{color:var(--sra-gold-soft)}
.page-home .stats.tone-navy .stat small{color:#c6d3de}

/* Springboard operating cycle: meaningful graphics instead of ambiguous numbers. */
.flow-item{position:relative;overflow:hidden}
.flow-icon{
  width:58px;height:58px;border-radius:50%;display:grid;place-items:center;
  background:var(--sra-bluewash);color:var(--sra-navy);margin:0 auto 15px;
  border:1px solid rgba(11,44,74,.12);
}
.flow-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.flow-item span{color:var(--sra-navy)}
.flow-item:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--sra-gold),var(--sra-gold-soft))}

/* Navy sections contain light cards for legibility and depth. */
.tone-navy .pillar,.tone-navy .card,.tone-navy .impact-card,.tone-navy .contact-cat,.tone-navy .office,.tone-navy form{
  background:#fff;color:var(--sra-text)
}
.tone-navy .pillar h3,.tone-navy .card h3,.tone-navy .impact-card h3,.tone-navy .contact-cat h3,.tone-navy .office h2,.tone-navy .office h3{color:var(--sra-navy)}
.tone-navy .pillar p,.tone-navy .card p,.tone-navy .impact-card p,.tone-navy .contact-cat p,.tone-navy .office p{color:var(--sra-muted)}

/* Contact form becomes a white panel on navy rather than floating fields on a dark field. */
.page-contact .tone-navy .formgrid>div:first-child{background:#fff;padding:30px;border-top:4px solid var(--sra-gold);box-shadow:0 16px 34px rgba(0,0,0,.14)}
.page-contact .tone-navy .formgrid>div:first-child h2{color:var(--sra-navy)}
.page-contact .tone-navy .formgrid>div:first-child .label{color:var(--sra-gold-deep)}
.page-contact .tone-navy .office{border-top:4px solid var(--sra-gold);box-shadow:0 16px 34px rgba(0,0,0,.10)}

/* Impact band is intentionally gold and compact. */
.page-impact .band.tone-gold{border:0}
.page-impact .band.tone-gold div{border-color:rgba(255,255,255,.25)}

/* Better architectural framing. */
.platform figure{background:#fff;border:1px solid var(--sra-line);box-shadow:0 10px 26px rgba(11,44,74,.06)}
.platform figure img{background:#fff}
.platform figcaption{border-top:1px solid var(--sra-line)}

/* Desktop density and hierarchy. */
@media (min-width:1051px){
  main>.hero,main>.section{padding-top:58px;padding-bottom:58px}
  .page-home main>.hero{padding-top:52px;padding-bottom:44px}
  .page-companies main>.hero,.page-strategy main>.hero,.page-portfolio main>.hero,.page-contact main>.hero{padding-top:42px;padding-bottom:38px}
  .page-companies .cards{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:14px!important}
  .page-companies .card{min-height:225px!important;padding:22px 17px!important}
  .page-companies .company-icon{margin-bottom:12px}
  .page-companies .card h3{font-size:20px!important}
  .page-companies .card p{font-size:12.5px!important;line-height:1.52}
  .flow{gap:12px}
  .flow-item{min-height:205px;padding:27px 16px}
  .flow-item p{max-width:175px;margin-left:auto;margin-right:auto}
}

/* Tablet: balanced, not a compressed desktop. */
@media (max-width:1050px) and (min-width:701px){
  main>.hero,main>.section{padding-top:46px!important;padding-bottom:46px!important}
  .flow{grid-template-columns:repeat(3,1fr)!important}
  .flow-item{min-height:180px}
  .page-companies .cards{grid-template-columns:repeat(2,1fr)!important}
  .page-companies .card:last-child{grid-column:1/-1;max-width:520px;justify-self:center;width:100%}
  .tone-navy .pillars{gap:14px}
}

/* PHONE — final QA rules */
@media (max-width:700px){
  /* Mobile Safari: header scrolls naturally so it can never obscure section headings. */
  header{position:relative!important;top:auto!important}
  .nav{height:66px!important}
  header nav{top:66px!important}
  .brand{font-size:20px!important;line-height:1!important;max-width:calc(100vw - 82px)!important}
  .brand small{font-size:6.8px!important;letter-spacing:.09em!important;margin-top:5px!important}
  .menu-toggle{width:40px;height:40px;padding:8px}

  main>.hero,main>.section{padding-top:30px!important;padding-bottom:30px!important}
  .page-home main>.hero{padding-top:27px!important;padding-bottom:24px!important}
  .hero-copy{padding:0!important}
  .hero-grid{gap:12px!important}
  h1{font-size:34px!important;line-height:1.02!important;margin:10px 0 14px!important}
  h2{font-size:29px!important;line-height:1.06!important}
  .lead{font-size:15px!important;line-height:1.5!important}
  .hero-image{padding:4px 0 0!important}
  .hero-image img{filter:drop-shadow(0 8px 12px rgba(11,44,74,.08))}

  /* Metrics: visible color and much less vertical scrolling. */
  .page-home .stats{grid-template-columns:repeat(3,1fr)!important}
  .page-home .stat{padding:17px 5px!important;min-height:118px;display:flex;flex-direction:column;justify-content:center}
  .page-home .stat strong{font-size:27px!important}
  .page-home .stat span{font-size:8px!important;letter-spacing:.08em!important;line-height:1.25!important;margin-top:7px!important}
  .page-home .stat small{font-size:8px!important;line-height:1.3!important}

  /* Operating cycle: icons + compact 2x3 cards. */
  .page-home .flow{grid-template-columns:repeat(2,1fr)!important;gap:10px!important;margin-top:17px!important}
  .page-home .flow-item{min-height:132px!important;padding:14px 10px 16px!important}
  .page-home .flow-icon{width:44px;height:44px;margin-bottom:9px}
  .page-home .flow-icon svg{width:24px;height:24px}
  .page-home .flow-item span{font-size:11px!important;line-height:1.15!important}
  .page-home .flow-item p{font-size:10.5px!important;line-height:1.32!important;margin-top:6px!important}

  /* EMM cards: no giant blank frames. */
  .platform{gap:14px!important}
  .platform figure{margin:0!important}
  .platform figure img{width:100%!important;height:auto!important;display:block!important;object-fit:contain!important}
  .platform figcaption{padding:11px 13px 13px!important}
  .platform figcaption strong{font-size:18px!important}
  .tags{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .tag{font-size:9px!important;padding:9px 8px!important;text-align:center}
  .tag:last-child{grid-column:1/-1;max-width:50%;width:100%;justify-self:start}

  /* About */
  .page-about .two{gap:20px!important}
  .page-about .quote{background:#fff;border-left:4px solid var(--sra-gold);padding:18px!important}

  /* Companies */
  .page-companies .cards{grid-template-columns:1fr!important;gap:10px!important}
  .page-companies .card{padding:16px 16px 17px!important;min-height:0!important}
  .page-companies .company-icon{width:30px;height:30px;margin-bottom:8px}
  .page-companies .card h3{font-size:20px!important}
  .page-companies .card p{font-size:12.5px!important}

  /* Strategy */
  .page-strategy .pillars{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .page-strategy .pillar{padding:15px 12px!important;min-height:0!important}
  .page-strategy .pillar h3{font-size:17px!important}
  .page-strategy .pillar p{font-size:11px!important}
  .page-strategy .pillar:last-child:nth-child(odd){grid-column:1/-1!important}

  /* Portfolio */
  .page-portfolio .experience-band{grid-template-columns:repeat(3,1fr)!important}
  .page-portfolio .project-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .page-portfolio .project-card{min-width:0}
  .page-portfolio .project-photo{height:90px!important}
  .page-portfolio .project-card h3{font-size:16px!important}

  /* Impact */
  .page-impact .impact3{grid-template-columns:1fr!important;gap:10px!important}
  .page-impact .impact-card{padding:16px!important}
  .page-impact .band{grid-template-columns:repeat(2,1fr)!important}
  .page-impact .band div{padding:17px 8px!important}

  /* Leadership */
  .page-leadership .leadership-proof{background:#fff;padding:16px!important;border-top:3px solid var(--sra-gold)}
  .page-leadership .timeline{padding-left:16px!important}
  .page-leadership .milestone{margin-bottom:17px!important}

  /* Contact */
  .page-contact .contact-cats{grid-template-columns:1fr!important;gap:9px!important}
  .page-contact .contact-cat{padding:15px!important}
  .page-contact .tone-navy .formgrid>div:first-child{padding:18px!important}
  .page-contact .office{padding:18px!important}
  form{gap:10px!important}
  input,select,textarea{font-size:16px!important}

  /* Footer compact and deliberate. */
  footer{padding:22px 0 18px!important;border-top:4px solid var(--sra-gold)}
  footer .brand{font-size:22px!important}
  .footer-grid{gap:12px!important}
  .footer-grid small{font-size:9.5px!important;line-height:1.5!important}
}

@media (max-width:380px){
  h1{font-size:31px!important}
  h2{font-size:27px!important}
  .page-home .flow-item{min-height:126px!important}
  .page-strategy .pillars{grid-template-columns:1fr!important}
  .page-strategy .pillar:last-child:nth-child(odd){grid-column:auto!important}
}


/* Portfolio experience photography */
.project-photo{position:relative;overflow:hidden;background:#e8edf0}
.project-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.project-card:hover .project-photo img{transform:scale(1.025)}
.photo-label{position:absolute;left:10px;bottom:9px;background:rgba(8,31,52,.88);color:#fff;padding:5px 8px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;border-radius:2px}
@media(min-width:981px){.page-portfolio .project-photo{height:185px!important}}
@media(max-width:700px){.page-portfolio .project-photo{height:150px!important}.photo-label{font-size:8px}}


/* ============================================================
   EXPERIENCE + EMM PRESENTATION CORRECTIONS
   ============================================================ */
/* About: keep strong color without low-contrast white text. */
.page-about section.tone-about-highlight{
  background:linear-gradient(135deg,#efe2c6 0%,#f8f2e6 46%,#edf4f8 100%)!important;
  color:var(--sra-text)!important;
  border-top:1px solid rgba(184,138,59,.25);
  border-bottom:1px solid rgba(11,44,74,.08);
}
.page-about section.tone-about-highlight h1,
.page-about section.tone-about-highlight h2,
.page-about section.tone-about-highlight h3,
.page-about section.tone-about-highlight .lead,
.page-about section.tone-about-highlight p{color:var(--sra-navy)!important}
.page-about section.tone-about-highlight .label{color:var(--sra-gold-deep)!important}
.page-about section.tone-about-highlight .label:before{background:var(--sra-gold)!important}

/* EMM renderings: treat them as hero-quality architectural renderings, not thumbnails. */
.page-home .platform{
  gap:28px!important;
  margin-top:28px!important;
}
.page-home .platform figure{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.page-home .platform figure img{
  width:100%!important;
  height:245px!important;
  object-fit:cover!important;
  object-position:center!important;
  background:transparent!important;
  border:1px solid rgba(11,44,74,.10);
  box-shadow:0 14px 28px rgba(11,44,74,.10);
}
.page-home .platform figcaption{
  margin-top:0!important;
  padding:15px 18px 17px!important;
  background:#fff!important;
  border:1px solid rgba(11,44,74,.10)!important;
  border-top:0!important;
}
.page-home .platform figcaption strong{font-size:22px!important;color:var(--sra-navy)}

@media(max-width:700px){
  .page-home .platform{display:grid!important;grid-template-columns:1fr!important;gap:24px!important}
  .page-home .platform figure{margin:0 -18px!important}
  .page-home .platform figure img{
    height:150px!important;
    width:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    border-left:0!important;border-right:0!important;
  }
  .page-home .platform figcaption{
    margin:0 18px!important;
    padding:13px 15px 15px!important;
  }
  .page-home .platform figcaption strong{font-size:20px!important}
}

/* Portfolio representative imagery: favor low-rise / garden-style presentation. */
.page-portfolio .project-photo img{object-position:center 52%}


/* ============================================================
   FINAL EMM RENDERING SIZE + CONSISTENCY PASS
   Uses the same approved EMM-24 and EMM-32 renderings everywhere.
   Full buildings remain visible; no cropping, thumbnailing, or page overflow.
   ============================================================ */
html,body{max-width:100%;overflow-x:hidden}

/* Every approved EMM rendering obeys its container. */
img[src$="assets/emm24.png"],
img[src$="assets/emm32.png"]{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Hero/rendering containers must never force artwork wider than the page. */
.hero-image,
.page-about .two > div:last-child{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

/* Give architectural renderings strong visual presence without making them overflow. */
@media (min-width:1051px){
  .hero-image img[src$="assets/emm24.png"],
  .hero-image img[src$="assets/emm32.png"],
  .page-about img[src$="assets/emm24.png"],
  .page-about img[src$="assets/emm32.png"]{
    width:min(100%,780px)!important;
    max-width:780px!important;
  }
}

@media (min-width:701px) and (max-width:1050px){
  .hero-image img[src$="assets/emm24.png"],
  .hero-image img[src$="assets/emm32.png"],
  .page-about img[src$="assets/emm24.png"],
  .page-about img[src$="assets/emm32.png"]{
    width:min(100%,700px)!important;
    max-width:700px!important;
  }
}

/* Home EMM-24 / EMM-32 cards use the exact same renderings and stay inside the wrap. */
.page-home .platform{
  width:100%!important;
  max-width:100%!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:22px!important;
  align-items:start!important;
}
.page-home .platform figure{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid rgba(11,44,74,.10)!important;
  box-shadow:0 12px 28px rgba(11,44,74,.08)!important;
}
.page-home .platform figure img{
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  border:0!important;
  box-shadow:none!important;
}
.page-home .platform figcaption{
  margin:0!important;
  padding:13px 16px 15px!important;
  border:0!important;
  border-top:1px solid rgba(11,44,74,.10)!important;
  background:#fff!important;
}

@media (max-width:700px){
  .hero-image,
  .page-about .two > div:last-child{
    width:100%!important;
    padding:8px 0 16px!important;
  }
  .hero-image img[src$="assets/emm24.png"],
  .hero-image img[src$="assets/emm32.png"],
  .page-about img[src$="assets/emm24.png"],
  .page-about img[src$="assets/emm32.png"]{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
  }
  .page-home .platform{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    width:100%!important;
    max-width:100%!important;
  }
  .page-home .platform figure{
    margin:0!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .page-home .platform figure img{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
  }
  .page-home .platform figcaption{
    margin:0!important;
    padding:12px 14px 14px!important;
  }
}

/* ============================================================
   FINAL PREMIUM POLISH + CONTACT FORM
   ============================================================ */
:root{
  --sra-ink:#0a2944;
  --sra-gold-soft:#c59a50;
  --sra-ivory-2:#f3eee2;
}

/* More deliberate section rhythm */
.hero{box-shadow:inset 0 -1px 0 rgba(10,41,68,.08)}
.section{position:relative}
.section .wrap{position:relative}
.section .label,.section .kicker{letter-spacing:.2em}
.section .label:after,.section .kicker:after{
  content:"";display:block;width:44px;height:2px;background:var(--sra-gold-soft);margin-top:10px
}

/* Premium stats treatment */
.stats{background:var(--sra-ink)!important;border:0!important}
.stats .stat{position:relative;color:#fff;border-right:1px solid rgba(255,255,255,.14)!important}
.stats .stat:last-child{border-right:0!important}
.stats .stat strong{color:#fff!important}
.stats .stat span{color:#fff!important}
.stats .stat small{color:#c8d4de!important}
.stats .stat:before{content:"";position:absolute;top:0;left:20%;right:20%;height:3px;background:var(--sra-gold-soft)}

/* Springboard Advantage looks like one branded system */
.flow{position:relative}
.flow-item{border-color:#d7dee4;background:linear-gradient(180deg,#fff,#fbfaf6)}
.flow-icon{background:var(--sra-ink);color:#fff;border-radius:50%;width:50px;height:50px;margin:0 auto 12px;display:grid;place-items:center;box-shadow:0 0 0 5px rgba(197,154,80,.12)}
.flow-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.flow-item span{color:var(--sra-ink);font-weight:800}

/* EMM architectural renderings */
.platform figure{background:linear-gradient(180deg,#fff 0%,#f7f2e7 100%);border:1px solid #d8dee3;box-shadow:0 12px 28px rgba(10,41,68,.07)}
.platform figure img{padding:14px 16px 4px;background:#fff}
.platform figcaption{border-top:1px solid #e4e7e9;background:var(--sra-ivory-2);color:var(--sra-ink)}
.platform figcaption strong{color:var(--sra-ink)}
.tags .tag{background:var(--sra-ink);color:#fff;border-left:3px solid var(--sra-gold-soft)}

/* Portfolio becomes more editorial */
.project-grid{gap:22px!important}
.project-card{overflow:hidden;border:0!important;border-top:3px solid var(--sra-gold-soft)!important;box-shadow:0 12px 30px rgba(10,41,68,.08)!important}
.project-photo{position:relative;overflow:hidden;background:#e9eef1}
.project-photo img{transition:transform .35s ease}
@media (hover:hover){.project-card:hover .project-photo img{transform:scale(1.025)}}
.photo-label{background:rgba(10,41,68,.86)!important;color:#fff!important;padding:5px 8px!important;border-radius:2px}
.project-card h3{color:var(--sra-ink)}

/* Contact form */
form input,form select,form textarea{background:#fff;border:1px solid #cbd5dd;border-radius:2px;transition:border-color .18s ease,box-shadow .18s ease}
form input:focus,form select:focus,form textarea:focus{outline:none;border-color:var(--sra-gold-soft);box-shadow:0 0 0 3px rgba(197,154,80,.13)}
form .btn{border:0;cursor:pointer}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.form-status{grid-column:1/-1;margin:0 0 16px;padding:13px 15px;border-left:4px solid var(--sra-gold-soft);background:#fff;font-size:14px}
.form-status.success{border-left-color:#64886c;color:#2e5e39}
.form-status.error{border-left-color:#b46a58;color:#7a382d}

/* Stronger office card */
.office{background:linear-gradient(145deg,#f7f2e7,#eef4f7);box-shadow:0 12px 30px rgba(10,41,68,.06)}

@media (max-width:700px){
  .stats .stat{border-right:1px solid rgba(255,255,255,.12)!important}
  .stats .stat:before{left:28%;right:28%}
  .section .label:after,.section .kicker:after{width:36px;margin-top:8px}
  .flow-icon{width:42px;height:42px;box-shadow:0 0 0 4px rgba(197,154,80,.12)}
  .flow-icon svg{width:22px;height:22px}
  .platform figure img{padding:8px 8px 2px}
  .project-grid{gap:12px!important}
}

/* Leadership portrait */
.page-leadership .tone-blue .two{align-items:center;}
.page-leadership .leadership-portrait{margin-bottom:22px;border-radius:20px;overflow:hidden;box-shadow:0 18px 48px rgba(9,28,52,.18);border:1px solid rgba(190,151,74,.32);background:#fff;}
.page-leadership .leadership-portrait img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center 35%;}
@media(min-width:900px){.page-leadership .leadership-portrait{max-width:520px;margin-left:auto}.page-leadership .leadership-proof{max-width:520px;margin-left:auto}}
@media(max-width:899px){.page-leadership .leadership-portrait{max-width:560px;margin:26px auto 20px}}

/* Strategy contrast correction + Academy visual section */
.page-strategy section.tone-navy > .wrap > .label{color:#e2bc70!important;opacity:1!important}
.page-strategy section.tone-navy > .wrap > h2{color:#ffffff!important;opacity:1!important;text-shadow:0 1px 1px rgba(0,0,0,.08)}
.page-strategy section.tone-navy > .wrap > .label:after{background:#e2bc70!important;opacity:1!important}

.academy-feature{background:linear-gradient(135deg,#faf7ef 0%,#f3eee2 100%)}
.academy-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:center}
.academy-copy h2{margin-bottom:10px}
.academy-copy .academy-tagline{font:400 25px Georgia,serif;color:#1d674d;margin:0 0 14px}
.academy-copy p{color:#52697a}
.academy-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.academy-photo{margin:0;background:#fff;border:1px solid #d8dee3;box-shadow:0 12px 28px rgba(10,41,68,.08);overflow:hidden}
.academy-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.academy-photo figcaption{padding:8px 10px;font-size:10px;color:#607183;font-style:italic;background:#fff}
@media(max-width:900px){.academy-grid{grid-template-columns:1fr}.academy-photos{max-width:760px}}
@media(max-width:620px){.academy-photos{grid-template-columns:1fr}.academy-copy .academy-tagline{font-size:21px}.academy-photo figcaption{font-size:9px}}


/* Academy visibility hotfix + final site consistency */
.academy-feature{display:block!important;background:linear-gradient(135deg,#fbf7ed 0%,#f2eadc 100%)!important;border-top:4px solid #b88a3b!important;border-bottom:1px solid #d8dee3!important}
.academy-feature .wrap{display:block!important}
.academy-grid{display:grid!important;grid-template-columns:.9fr 1.1fr!important;gap:40px!important;align-items:center!important}
.academy-copy,.academy-photos,.academy-photo{display:block!important;visibility:visible!important;opacity:1!important}
.academy-copy h2{color:#0b2c4a!important;opacity:1!important}
.academy-copy .label{color:#9d7127!important;opacity:1!important}
.academy-copy .academy-tagline{color:#1d674d!important;opacity:1!important}
.academy-photos{display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px!important}
.academy-photo{margin:0!important;background:#fff!important;border:1px solid #d4dde4!important;box-shadow:0 14px 30px rgba(11,44,74,.10)!important;overflow:hidden!important}
.academy-photo img{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:cover!important}
.academy-photo figcaption{display:block!important;padding:9px 11px!important;font-size:10px!important;color:#607183!important;background:#fff!important}
@media(max-width:900px){.academy-grid{grid-template-columns:1fr!important}.academy-photos{grid-template-columns:1fr 1fr!important}}
@media(max-width:620px){.academy-feature{padding-top:38px!important;padding-bottom:38px!important}.academy-grid{grid-template-columns:1fr!important;gap:24px!important}.academy-photos{grid-template-columns:1fr!important;gap:14px!important}.academy-photo figcaption{font-size:9px!important}}


/* FINAL VISIBILITY SAFEGUARDS — strategy heading */
.page-strategy .strategy-pillars-section{
  background:linear-gradient(135deg,#082943 0%,#0b3557 58%,#123f63 100%)!important;
}
.page-strategy .strategy-pillars-heading{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  margin:0 0 30px!important;
  padding:0!important;
  position:relative!important;
  z-index:3!important;
}
.page-strategy .strategy-pillars-heading .label{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  color:#e2bc70!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
  margin:0 0 10px!important;
}
.page-strategy .strategy-pillars-heading h2{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  color:#ffffff!important;
  font-family:"DM Serif Display", Georgia, serif!important;
  font-size:clamp(38px,5vw,62px)!important;
  line-height:1.02!important;
  letter-spacing:-.02em!important;
  margin:0!important;
  text-shadow:none!important;
}
.page-strategy .strategy-pillars-heading h2 span{
  color:#e2bc70!important;
}
.page-strategy .strategy-heading-rule{
  display:block!important;
  width:86px!important;
  height:3px!important;
  margin-top:18px!important;
  background:#e2bc70!important;
  opacity:1!important;
}
@media(max-width:700px){
  .page-strategy .strategy-pillars-heading{margin-bottom:20px!important}
  .page-strategy .strategy-pillars-heading h2{font-size:34px!important;line-height:1.06!important}
  .page-strategy .strategy-pillars-heading .label{font-size:10px!important}
  .page-strategy .strategy-heading-rule{width:58px!important;margin-top:13px!important}
}
