:root{--ink:#081a2c;--navy:#0c2942;--teal:#14A8AF;--teal2:#14A8AF;--paper:#f7fafb;--muted:#637383;--line:#dbe5ea;--white:#fff;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--white);line-height:1.6}a{color:inherit;text-decoration:none}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.nav{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.navin{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:800;letter-spacing:.02em;font-size:20px;display:flex;gap:10px;align-items:center}.mark{width:32px;height:32px;border:2px solid var(--teal);transform:rotate(45deg);border-radius:4px;position:relative}.mark:after{content:"";position:absolute;width:13px;height:2px;background:var(--teal);right:-6px;top:6px;transform:rotate(-45deg)}.links{display:flex;gap:28px;align-items:center;font-size:14px;font-weight:650}.btn{display:inline-block;padding:12px 18px;border-radius:7px;background:var(--teal);color:white;font-weight:750}.btn.ghost{background:transparent;color:var(--ink);border:1px solid #aab8c2}.hero{background:linear-gradient(125deg,#071827 0%,#0b2942 62%,#0d3b4a 100%);color:white;padding:100px 0 92px;overflow:hidden}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800;color:var(--teal2)}h1{font-size:clamp(44px,7vw,78px);line-height:1.02;letter-spacing:-.045em;max-width:900px;margin:16px 0 24px}h2{font-size:clamp(30px,4vw,48px);line-height:1.08;letter-spacing:-.035em;margin:0 0 18px}h3{font-size:20px;line-height:1.25;margin:0 0 10px}.hero p{font-size:20px;color:#d9e6ed;max-width:760px}.actions{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}.hero .ghost{color:white;border-color:#668092}.section{padding:82px 0}.soft{background:var(--paper)}.intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.intro p,.lead{font-size:18px;color:#455766}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px}.card{border:1px solid var(--line);border-radius:12px;padding:26px;background:white}.card .num{color:var(--teal);font-size:12px;font-weight:850;letter-spacing:.12em;margin-bottom:18px}.card p{color:var(--muted);font-size:14px}.why{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:36px}.why strong{display:block;font-size:18px;margin-bottom:8px}.why p{color:var(--muted)}.band{background:var(--navy);color:white;padding:60px 0}.bandin{display:flex;justify-content:space-between;align-items:center;gap:30px}.band p{color:#c7d6df;margin:6px 0 0}.pagehero{padding:74px 0;background:#eef5f6}.pagehero h1{color:var(--ink);font-size:56px;max-width:900px}.pagehero p{font-size:19px;max-width:760px;color:#526574}.service{display:grid;grid-template-columns:160px 1fr;gap:38px;padding:34px 0;border-top:1px solid var(--line)}.service:last-child{border-bottom:1px solid var(--line)}.service .tag{font-size:12px;color:var(--teal);font-weight:850;letter-spacing:.1em}.bullets{display:grid;grid-template-columns:1fr 1fr;gap:8px 28px;color:#536473}.profile{display:grid;grid-template-columns:1fr 1fr;gap:24px}.profile .card{padding:34px}.role{color:var(--teal);font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.1em}.data{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.datum{padding:20px;border:1px solid var(--line);border-radius:10px}.datum small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:750}.datum strong{font-size:18px}.contactbox{display:grid;grid-template-columns:1fr 1fr;gap:50px}.form{display:grid;gap:14px}.form input,.form textarea{font:inherit;padding:13px;border:1px solid #bdcbd3;border-radius:7px}.form textarea{min-height:150px}.note{font-size:13px;color:var(--muted)}footer{background:#061522;color:#b9c9d3;padding:42px 0}.foot{display:flex;justify-content:space-between;gap:30px;align-items:flex-end}.foot .brand{color:white}.mobile{display:none}@media(max-width:820px){.links{display:none}.mobile{display:block}.hero{padding:70px 0}.intro,.contactbox,.profile{grid-template-columns:1fr;gap:30px}.grid4{grid-template-columns:1fr 1fr}.why{grid-template-columns:1fr}.service{grid-template-columns:1fr;gap:10px}.bullets{grid-template-columns:1fr}.bandin,.foot{align-items:flex-start;flex-direction:column}.pagehero h1{font-size:44px}.data{grid-template-columns:1fr}}@media(max-width:520px){.grid4{grid-template-columns:1fr}.wrap{width:min(var(--max),calc(100% - 28px))}}

.leader{display:grid;gap:34px}.leaderhead{display:grid;grid-template-columns:1.5fr .65fr;gap:50px;align-items:end}.leaderhead h2{margin-top:8px}.experience-stat{border-left:3px solid var(--teal);padding-left:24px;margin-bottom:8px}.experience-stat strong{display:block;font-size:32px;letter-spacing:-.035em;color:var(--navy)}.experience-stat span{display:block;color:var(--muted);font-size:14px;line-height:1.45}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.experience-card{border-top:1px solid var(--line);padding:24px 8px 6px 0}.experience-card span{display:block;color:var(--teal);font-size:11px;font-weight:850;letter-spacing:.11em;text-transform:uppercase;margin-bottom:10px}.experience-card h3{font-size:22px}.experience-card p{color:var(--muted);margin-bottom:0}@media(max-width:820px){.leaderhead,.experience-grid{grid-template-columns:1fr}.experience-stat{margin-top:0}}
/* v3 visual system */
.brandlogo{display:flex;align-items:center;height:52px}.brandlogo img{height:48px;width:auto;display:block}.footerlogo{width:210px;max-width:100%;filter:none;opacity:.95}.visual-hero{padding:0;position:relative}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;min-height:560px;align-items:center}.hero-copy{padding:84px 0 82px;position:relative;z-index:2}.hero-copy h1 span{color:var(--teal2)}.hero-art{height:100%;min-height:560px;position:relative;overflow:hidden;margin-right:calc((100vw - min(var(--max),calc(100vw - 40px)))/-2)}.hero-art:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#071827 0%,rgba(7,24,39,.46) 24%,rgba(7,24,39,.05) 68%);z-index:1}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(1.08) contrast(1.03);transform:scale(1.04)}.proof{background:white;border-bottom:1px solid var(--line)}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:27px 0}.proof-grid>div{padding:0 24px;border-right:1px solid var(--line)}.proof-grid>div:first-child{padding-left:0}.proof-grid>div:last-child{border-right:0}.proof strong{display:block;color:var(--navy);font-size:24px;letter-spacing:-.03em}.proof span{display:block;color:var(--muted);font-size:12px;line-height:1.35;margin-top:3px}.textlink{font-weight:800;color:var(--teal);display:inline-block;margin-top:8px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px}.iconcard{position:relative;overflow:hidden;transition:.2s transform,.2s box-shadow}.iconcard:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(8,26,44,.08)}.icon{width:44px;height:44px;border:1px solid #a8d9dc;background:#effafa;color:var(--teal);display:grid;place-items:center;border-radius:12px;font-weight:900;font-size:18px;margin-bottom:20px}.difference{background:linear-gradient(135deg,#071827,#0b2942);color:white;padding:78px 0;position:relative;overflow:hidden}.difference:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 25%,rgba(5,132,149,.16),transparent 26%);pointer-events:none}.centered{text-align:center}.difference .eyebrow{position:relative;z-index:1}.difference h2{position:relative;z-index:1}.why4{grid-template-columns:repeat(4,1fr);position:relative;z-index:1}.difference .why>div{padding:12px 24px;border-right:1px solid rgba(255,255,255,.18)}.difference .why>div:last-child{border-right:0}.difference .why p{color:#c7d6df}.difference .why strong{color:white}.miniicon{color:var(--teal2);font-size:26px;margin-bottom:12px}.feature{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:center}.feature-image{position:relative;border-radius:14px;overflow:hidden;min-height:310px;background:#071827}.feature-image img{width:100%;height:100%;min-height:310px;object-fit:cover;display:block}.image-caption{position:absolute;right:18px;bottom:18px;left:18px;background:rgba(6,21,34,.88);color:white;padding:18px 20px;border-radius:9px;backdrop-filter:blur(8px)}.image-caption span{display:block;color:var(--teal2);font-size:10px;font-weight:900;letter-spacing:.13em;margin-bottom:5px}.image-caption strong{font-size:19px}.btn.outline{background:white;color:var(--navy);border:1px solid #9ab3c0}.pagehero{background:linear-gradient(135deg,#eef5f6,#f8fbfc);position:relative;overflow:hidden}.pagehero:after{content:"";position:absolute;right:-120px;top:-140px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(5,132,149,.12),transparent 68%)}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-copy{padding-bottom:35px}.hero-art{min-height:300px;margin:0 -20px}.proof-grid{grid-template-columns:1fr 1fr;gap:0}.proof-grid>div{border-bottom:1px solid var(--line);padding:18px 20px}.proof-grid>div:nth-child(2){border-right:0}.feature{grid-template-columns:1fr}.why4{grid-template-columns:1fr 1fr}.difference .why>div:nth-child(2){border-right:0}}
@media(max-width:520px){.brandlogo img{height:40px}.proof-grid,.why4{grid-template-columns:1fr}.proof-grid>div,.difference .why>div{border-right:0;border-bottom:1px solid var(--line);padding-left:0}.difference .why>div{border-color:rgba(255,255,255,.15)}.section-head{align-items:flex-start;flex-direction:column}.hero-art{min-height:250px}}
/* v5 homepage-only refinements */
.hero-badges{display:flex;align-items:center;gap:0;margin-top:34px;flex-wrap:wrap}
.brand-badge{display:flex;align-items:center;gap:9px;padding:0 18px;border-right:1px solid rgba(255,255,255,.25);min-height:42px;color:#fff}
.brand-badge:first-child{padding-left:0}.brand-badge:last-child{border-right:0}
.brand-badge strong{display:block;font-size:14px;line-height:1.05;letter-spacing:.01em}.brand-badge small{display:block;margin-top:4px;color:#a9bfce;font-size:9px;line-height:1.1;text-transform:uppercase;letter-spacing:.08em}
.ms-mark{width:26px;height:26px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;flex:0 0 auto}.ms-mark i:nth-child(1){background:#f25022}.ms-mark i:nth-child(2){background:#7fba00}.ms-mark i:nth-child(3){background:#00a4ef}.ms-mark i:nth-child(4){background:#ffb900}
.azure-mark{font-size:31px;line-height:1;color:#2f8cff;transform:rotate(-2deg);display:block}.badge-word{font-size:17px;font-weight:900;letter-spacing:.05em;border:2px solid #fff;padding:2px 5px;line-height:1}.women-mark{width:28px;height:28px;border:2px solid var(--teal2);border-radius:50%;display:grid;place-items:center;color:var(--teal2);font-weight:900}
.hero-art img{object-position:center center}
.leadership-photo-placeholder{background:linear-gradient(135deg,#071827 0%,#0b2942 58%,#0a4350 100%);display:flex;align-items:center;justify-content:center;min-height:310px;position:relative}
.leadership-photo-placeholder:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 26%,rgba(99,210,198,.18),transparent 25%),linear-gradient(135deg,transparent 40%,rgba(47,124,255,.08));}
.leadership-photo-placeholder:after{content:"";position:absolute;right:-30px;bottom:-70px;width:290px;height:220px;border:1px solid rgba(99,210,198,.2);transform:rotate(-17deg);border-radius:50%}
.leadership-placeholder-inner{position:relative;z-index:2;text-align:center;color:white;padding:42px}.placeholder-kicker{color:var(--teal2);font-size:11px;font-weight:900;letter-spacing:.15em}.placeholder-title{font-size:38px;font-weight:800;letter-spacing:-.035em;margin-top:10px}.placeholder-subtitle{color:#c7d6df;font-size:15px;margin-top:4px}
@media(max-width:900px){.hero-badges{gap:14px 0}.brand-badge{width:50%;padding:8px 14px}.brand-badge:nth-child(2){border-right:0}.brand-badge:nth-child(3){padding-left:0}}
@media(max-width:520px){.brand-badge{width:100%;border-right:0;border-bottom:1px solid rgba(255,255,255,.14);padding:10px 0}.brand-badge:last-child{border-bottom:0}.placeholder-title{font-size:30px}}


/* v5.1 exact single-line hero logo strip */
.hero-logo-strip{
  margin-top:30px;
  display:flex;
  align-items:center;
  width:100%;
}

/* v137 — photography layout refinements from stakeholder review. */
@media(min-width:901px){
  .about-brand-hero .hero-grid,
  .about-brand-hero .hero-art{min-height:500px !important;}
  .about-brand-hero .hero-copy{padding-top:68px !important;padding-bottom:68px !important;}
}
.about-brand-hero .hero-art img{object-position:center 30% !important;}

/* Founder portraits now occupy true, proportionally cropped media columns. */
.section.soft .leader-profile{
  display:grid;
  grid-template-columns:320px minmax(0,1fr);
  column-gap:56px;
  row-gap:24px;
  padding-left:0;
  min-height:0;
  background:none !important;
}
.section.soft .leader-profile::before{
  content:"";
  grid-column:1;
  grid-row:1 / span 4;
  height:430px;
  border-radius:10px;
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center center;
  box-shadow:0 16px 36px rgba(8,26,44,.11);
}
.section.soft:not(.founder-continuation) .leader-profile::before{background-image:url("assets/branding-jane-110.jpg");}
.founder-continuation .leader-profile::before{background-image:url("assets/branding-wes-120.webp");}
.leader-profile > *{grid-column:2;}
.leader-profile .leaderhead,
.leader-profile .proof-points.proof-points-three,
.leader-profile .leader-narrative,
.leader-profile .leadership-callout{max-width:none;}

/* Crop the right edge of photo 052 to remove the stray plant and emphasize Jane. */
.approach-visual-hero .approach-hero-art img{object-position:34% center !important;}

@media(max-width:900px){
  .section.soft .leader-profile{
    grid-template-columns:1fr;
    padding-top:0;
    row-gap:22px;
  }
  .section.soft .leader-profile::before{
    grid-column:1;
    grid-row:auto;
    width:min(100%,560px);
    height:360px;
  }
  .leader-profile > *{grid-column:1;}
}

/* v139 — About hero restored to the shared desktop hero height. */
@media(min-width:901px){
  .about-brand-hero .hero-grid,
  .about-brand-hero .hero-art{
    min-height:560px !important;
  }
  .about-brand-hero .hero-copy{
    padding-top:84px !important;
    padding-bottom:82px !important;
  }
}
.about-brand-hero .hero-art img{
  object-position:center top !important;
  transform:none !important;
}
@media(max-width:520px){
  .section.soft .leader-profile::before{height:290px;}
}
.hero-logo-strip img{
  display:block;
  width:auto;
  height:48px;
  max-width:100%;
  object-fit:contain;
  object-position:left center;
}
@media(max-width:700px){
  .hero-logo-strip img{
    height:auto;
    width:min(500px,100%);
  }
}


/* v5.2 — crisp one-line partner/status logos */
.hero-logo-strip{
  margin-top:20px !important;
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:0 !important;
  width:max-content;
  max-width:100%;
}
.hero-logo-strip .hero-mark{
  display:flex;
  align-items:center;
  height:38px;
  padding:0 18px;
  border-left:1px solid rgba(255,255,255,.28);
  flex:0 0 auto;
}
.hero-logo-strip .hero-mark:first-child{
  padding-left:0;
  border-left:0;
}
.hero-logo-strip img{
  height:38px !important;
  width:auto !important;
  max-width:none !important;
  object-fit:contain;
  display:block;
}

/* v5.2 — tighten desktop hero so metrics appear above the fold */
@media (min-width: 980px){
  .visual-hero{
    min-height:0 !important;
    padding:0 !important;
  }
  .visual-hero .hero-grid{
    min-height:540px !important;
    grid-template-columns:1.08fr .92fr !important;
    align-items:stretch !important;
  }
  .visual-hero .hero-copy{
    padding-top:62px !important;
    padding-bottom:46px !important;
  }
  .visual-hero .hero-copy h1{
    font-size:clamp(58px,4.2vw,78px) !important;
    line-height:1.03 !important;
    margin-bottom:26px !important;
  }
  .visual-hero .hero-copy p{
    font-size:19px !important;
    line-height:1.55 !important;
    max-width:650px !important;
    margin-bottom:22px !important;
  }
  .visual-hero .actions{
    margin-top:18px !important;
  }
  .visual-hero .hero-art{
    min-height:540px !important;
    overflow:hidden !important;
  }
  .visual-hero .hero-art img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    transform:scale(.93);
    transform-origin:center center;
  }
  .proof{
    margin-top:0 !important;
  }
}

@media (max-width: 979px){
  .hero-logo-strip{
    width:100%;
    overflow-x:auto;
    padding-bottom:4px;
  }
}


/* v5.4 — approved seamless full-bleed hero treatment */
@media (min-width:980px){
  .visual-hero{
    position:relative !important;
    overflow:hidden !important;
    background:#061b30 !important;
  }

  .visual-hero .hero-grid{
    position:relative !important;
    z-index:1 !important;
    min-height:540px !important;
    grid-template-columns:1.03fr .97fr !important;
    overflow:visible !important;
  }

  .visual-hero .hero-copy{
    position:relative !important;
    z-index:4 !important;
    background:transparent !important;
  }

  .visual-hero .hero-art{
    position:absolute !important;
    z-index:1 !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    left:39% !important;
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    overflow:hidden !important;
    background:#061b30 !important;
  }

  .visual-hero .hero-art img{
    position:absolute !important;
    inset:-3% -2% -3% -4% !important;
    width:106% !important;
    height:106% !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:center center !important;
    transform:none !important;
    display:block !important;
  }

  /* Long soft navy blend, like the approved sketch—not a boxed image edge. */
  .visual-hero .hero-art::before{
    content:"" !important;
    position:absolute !important;
    z-index:3 !important;
    inset:0 !important;
    pointer-events:none !important;
    background:
      linear-gradient(90deg,
        #061b30 0%,
        rgba(6,27,48,.98) 7%,
        rgba(6,27,48,.88) 15%,
        rgba(6,27,48,.62) 24%,
        rgba(6,27,48,.28) 34%,
        rgba(6,27,48,.07) 43%,
        rgba(6,27,48,0) 51%
      ) !important;
  }

  /* Remove any prior pseudo overlay that could create top/bottom seams. */
  .visual-hero .hero-art::after{display:none !important;}
}

@media (max-width:979px){
  .visual-hero .hero-art{
    position:relative !important;
    margin:0 !important;
    overflow:hidden !important;
    background:#061b30 !important;
  }
  .visual-hero .hero-art img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    transform:none !important;
  }
}


/* Contracting page refresh */
.contracting-hero{position:relative;overflow:hidden;background:#061b30;color:#fff;min-height:470px}.contracting-hero-inner{position:relative;z-index:3;min-height:470px;display:flex;align-items:center}.contracting-copy{width:min(650px,56%);padding:66px 0}.contracting-copy h1{font-size:clamp(54px,5.2vw,76px);margin:12px 0 22px}.contracting-copy p{font-size:19px;color:#d4e0e8;max-width:640px}.contracting-copy .ghost{color:#fff;border-color:#6d8798}.contracting-art{position:absolute;z-index:1;top:0;right:0;bottom:0;left:43%;overflow:hidden}.contracting-art img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block}.contracting-art:before{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,#061b30 0%,rgba(6,27,48,.98) 8%,rgba(6,27,48,.78) 20%,rgba(6,27,48,.36) 34%,rgba(6,27,48,.08) 48%,rgba(6,27,48,0) 62%)}.contracting-overview .section-head{align-items:start}.contracting-intro{max-width:570px;color:#526574;font-size:17px}.contract-data-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}.contract-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:22px;min-height:112px}.contract-card.accent{border-color:#9cdadd;background:#f2fbfb}.contract-label{display:block;text-transform:uppercase;letter-spacing:.09em;font-size:10px;font-weight:850;color:var(--teal);margin-bottom:8px}.contract-card strong{display:block;font-size:18px;line-height:1.3}.codes-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:start}.naics-list{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.naics-row{display:grid;grid-template-columns:165px 1fr;align-items:center;padding:22px 24px;border-bottom:1px solid var(--line)}.naics-row:last-child{border-bottom:0}.naics-row>div{display:flex;align-items:center;gap:9px}.naics-row strong{font-size:20px;color:var(--navy)}.naics-row span{background:#e7f8f7;color:#14A8AF;font-size:9px;text-transform:uppercase;font-weight:900;letter-spacing:.08em;padding:4px 7px;border-radius:999px}.naics-row p{margin:0;color:#3d5060}.psc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.psc-chip{border:1px solid var(--line);border-radius:11px;padding:18px 20px;background:#fff}.psc-chip strong{display:block;color:var(--teal);font-size:17px;margin-bottom:5px}.psc-chip span{display:block;color:#526574;font-size:13px;line-height:1.4}.contracting-fit{padding:70px 0}.contracting-fit .why{margin-top:30px}
@media(max-width:900px){.contracting-hero{min-height:auto}.contracting-hero-inner{min-height:auto}.contracting-copy{width:100%;padding:62px 0 300px}.contracting-art{left:0;top:auto;height:310px}.contracting-art:before{background:linear-gradient(180deg,#061b30 0%,rgba(6,27,48,.55) 16%,rgba(6,27,48,0) 42%)}.contract-data-grid{grid-template-columns:1fr 1fr}.codes-layout{grid-template-columns:1fr;gap:30px}.psc-grid{grid-template-columns:1fr}.naics-row{grid-template-columns:140px 1fr}}
@media(max-width:560px){.contract-data-grid{grid-template-columns:1fr}.naics-row{grid-template-columns:1fr;gap:8px}.contracting-copy h1{font-size:48px}}


/* Contracting refinement — consistent side-by-side data, contained Capitol art, capability download */
@media (min-width:901px){
  /* Like the approved homepage: image ends at the right edge of the content wrap,
     leaving a deliberate navy field beyond it. */
  .contracting-art{
    right:calc((100vw - min(var(--max),calc(100vw - 40px)))/2) !important;
  }
}

.contracting-overview .codes-layout{
  align-items:start;
}

.corporate-copy h2{
  max-width:360px;
}

.contracting-intro{
  max-width:440px;
  margin-top:22px;
}

.corporate-data-list{
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
}

.corporate-data-row{
  display:grid;
  grid-template-columns:190px 1fr;
  gap:24px;
  align-items:center;
  padding:20px 24px;
  border-bottom:1px solid var(--line);
}

.corporate-data-row:last-child{
  border-bottom:0;
}

.corporate-data-row>span{
  color:#536473;
  font-size:13px;
  font-weight:750;
}

.corporate-data-row strong{
  color:var(--navy);
  font-size:17px;
  line-height:1.3;
}

.corporate-data-row small{
  display:block;
  color:var(--muted);
  font-size:12px;
  margin-top:3px;
}

.corporate-data-row.accent{
  background:#f2fbfb;
}

.capability-download{
  background:#fff;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:64px 0;
}

.capability-download-inner{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:70px;
  align-items:center;
}

.capability-download-inner h2{
  margin-bottom:12px;
}

.capability-download-inner .lead{
  max-width:720px;
  margin-bottom:0;
}

.capability-download-action{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
}

.capability-download-action .btn{
  padding:14px 20px;
}

.capability-download-action span{
  color:var(--muted);
  font-size:12px;
}

@media(max-width:900px){
  .corporate-data-row{
    grid-template-columns:1fr;
    gap:5px;
  }
  .capability-download-inner{
    grid-template-columns:1fr;
    gap:26px;
  }
}

/* v33 — remove top hairline between navigation and hero; preserve v32 hero sizing */
.nav{
  border-bottom:0 !important;
}

/* v34 — capabilities rebuilt from the approved homepage hero template */
@media (min-width:980px){
  .capabilities-visual-hero .hero-art img{
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    transform:none !important;
  }
}

/* v35 — Capabilities artwork fit correction only */
@media (min-width:980px){
  .capabilities-visual-hero .hero-art{ overflow:hidden !important; }
  .capabilities-visual-hero .hero-art img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
    max-width:none !important;
  }
}

/* v36 — Capabilities artwork scale correction */
@media (min-width:980px){
  .capabilities-visual-hero .hero-art img{
    width:127% !important;
    height:127% !important;
    max-width:none !important;
    left:50% !important;
    top:50% !important;
    right:auto !important;
    bottom:auto !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:translate(-50%,-50%) !important;
  }
}


/* v38 — Capabilities uses the approved homepage hero image behavior exactly */
@media (min-width:980px){
  .capabilities-visual-hero .hero-art{
    overflow:hidden !important;
  }
  .capabilities-visual-hero .hero-art img{
    position:static !important;
    inset:auto !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:center center !important;
    transform:scale(1.04) !important;
  }
}


/* v40 — simple Contact page, no hero artwork/banner */
.contact-simple-intro{
  background:#fff;
  padding:86px 0 52px;
  border-bottom:1px solid #e6edf2;
}
.contact-simple-intro .eyebrow{
  color:#14A8AF;
  margin-bottom:14px;
}
.contact-simple-intro h1{
  color:#071b30;
  font-size:clamp(44px,4.4vw,68px);
  line-height:1.04;
  letter-spacing:-.04em;
  margin:0 0 22px;
  max-width:820px;
}
.contact-simple-intro p{
  color:#395269;
  font-size:19px;
  line-height:1.6;
  max-width:760px;
  margin:0;
}


/* v44: restore capabilities certification band */
.capability-certifications{
  background:#061f33;
  color:#fff;
  padding:78px 0 84px;
}
.capability-certifications .eyebrow{color:#14A8AF;}
.capability-certifications h2{
  color:#fff;
  margin:0 0 14px;
}
.capability-certifications .cert-heading-row p{
  color:#c9d6e2;
  max-width:820px;
  margin:0;
}
.capability-certifications .cert-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:38px;
}
.capability-certifications .cert-card{
  background:#0a2a42;
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  padding:28px;
}
.capability-certifications .cert-card h3{
  color:#fff;
  margin:8px 0 12px;
}
.capability-certifications .cert-card p{
  color:#c9d6e2;
  margin:0;
}
.capability-certifications .cert-kicker{
  color:#14A8AF;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
}

/* v44: contracting CTA buttons share one right-aligned action group */
.contracting-cta-actions{
  display:flex;
  gap:14px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}
@media(max-width:760px){
  .capability-certifications .cert-grid{grid-template-columns:1fr;}
  .contracting-cta-actions{justify-content:flex-start;}
}


/* v46 — Microsoft program line and capability statement alignment */
.microsoft-program-line{
  margin-top:28px;
  color:#9ddfdd;
  font-size:14px;
  font-weight:700;
  letter-spacing:.02em;
}

.capability-download-inner{
  display:grid !important;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr) !important;
  gap:70px !important;
  align-items:center !important;
}
.capability-download-action{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  width:100% !important;
}
.capability-download-action .btn{
  margin-left:auto !important;
  white-space:nowrap;
}

@media(max-width:900px){
  .capability-download-inner{
    grid-template-columns:1fr !important;
    gap:26px !important;
  }
  .capability-download-action{
    justify-content:flex-start !important;
  }
  .capability-download-action .btn{
    margin-left:0 !important;
  }
}

.contact-form-section{padding:64px 0 96px}.contact-form-wrap{max-width:760px}


/* v49 — Contact page spacing refinement only */
.contact-form-section{
  padding-top:34px !important;
  padding-bottom:52px !important;
}


/* v50 — Contact final spacing refinement */
.contact-form-section{
  padding-top:30px !important;
  padding-bottom:44px !important;
}

/* v51 leadership narrative refresh */
.leader-profile{gap:26px}.leader-profile .leaderhead{grid-template-columns:1fr;gap:0;align-items:start}.leader-tagline{font-size:20px;font-weight:700;color:var(--navy);margin:8px 0 0;letter-spacing:-.015em}.leader-narrative{max-width:980px}.leader-narrative p{font-size:17px;line-height:1.72;color:var(--muted);margin:0 0 16px}.leadership-callout{border-left:3px solid var(--teal);background:#fff;padding:22px 26px;font-size:17px;line-height:1.65;color:var(--navy);max-width:1040px}.soft .leadership-callout{background:#f8fbfc}.proof-points{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:4px}.proof-points>div{padding:20px 20px 20px 0;border-right:1px solid var(--line)}.proof-points>div:not(:first-child){padding-left:20px}.proof-points>div:last-child{border-right:0}.proof-points strong{display:block;color:var(--navy);font-size:15px;margin-bottom:5px}.proof-points span{display:block;color:var(--muted);font-size:12px;line-height:1.45}@media(max-width:900px){.proof-points{grid-template-columns:1fr 1fr}.proof-points>div:nth-child(2){border-right:0}.proof-points>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media(max-width:520px){.proof-points{grid-template-columns:1fr}.proof-points>div,.proof-points>div:not(:first-child){padding:16px 0;border-right:0;border-bottom:1px solid var(--line)}.proof-points>div:last-child{border-bottom:0}}

/* v54 About leadership proof-point hierarchy */
.proof-points strong{color:var(--teal);text-transform:uppercase;letter-spacing:.055em;font-size:12px;font-weight:800}.proof-points span{color:var(--navy);font-size:14px;font-weight:700;line-height:1.45}.leader-profile .proof-points{margin-top:0;margin-bottom:4px}.leader-profile .leader-narrative{margin-top:2px}
/* v55: three-column founder expertise bars */
.proof-points.proof-points-three{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.proof-points.proof-points-three{grid-template-columns:1fr}.proof-points.proof-points-three>div,.proof-points.proof-points-three>div:not(:first-child){padding:16px 0;border-right:0;border-bottom:1px solid var(--line)}.proof-points.proof-points-three>div:last-child{border-bottom:0}}

/* v56: align founder expertise bars with biography text width */
.leader-profile .proof-points.proof-points-three{max-width:980px;width:100%;}


/* =========================================================
   v58 — final visual polish
   Typography, spacing, alignment and hierarchy only.
   Brand colors and approved page content remain unchanged.
   ========================================================= */

/* Global rhythm */
body{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.section{
  padding:76px 0;
}
.section h2{
  text-wrap:balance;
}
.lead{
  line-height:1.72;
}
.btn{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 20px;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.btn:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(8,26,44,.10);
}

/* Inner-page heading hierarchy */
.pagehero .eyebrow,
.section .eyebrow,
.role,
.contract-label{
  letter-spacing:.12em;
}
.pagehero p{
  line-height:1.7;
}

/* About — editorial leadership layout */
body:has(.leader-profile) .section{
  padding:68px 0;
}
body:has(.leader-profile) .intro{
  gap:70px;
}
body:has(.leader-profile) .intro h2{
  font-size:clamp(34px,3.4vw,46px);
  max-width:420px;
}
body:has(.leader-profile) .intro .lead{
  font-size:17px;
  line-height:1.72;
  margin-top:0;
}
body:has(.leader-profile) .intro .lead + .lead{
  margin-top:16px;
}

.leader-profile{
  max-width:1000px;
  gap:22px;
}
.leader-profile .leaderhead{
  margin-bottom:2px;
}
.leader-profile .leaderhead h2{
  font-size:clamp(38px,4vw,52px);
  line-height:1.02;
  margin:7px 0 12px;
  letter-spacing:-.04em;
}
.leader-profile .role{
  font-size:11px;
  color:var(--teal);
  font-weight:850;
}

/* Skills: compact, aligned to the same reading width */
.leader-profile .proof-points.proof-points-three{
  max-width:940px;
  width:100%;
  margin:2px 0 10px;
}
.leader-profile .proof-points>div{
  padding-top:16px;
  padding-bottom:16px;
}
.leader-profile .proof-points strong{
  font-size:11px;
  letter-spacing:.075em;
  margin-bottom:5px;
}
.leader-profile .proof-points span{
  font-size:13px;
  line-height:1.42;
}

/* Bios: more readable measure and stronger type */
.leader-profile .leader-narrative{
  max-width:940px;
  margin-top:4px;
}
.leader-profile .leader-narrative p{
  font-size:17.5px;
  line-height:1.78;
  color:#536574;
  margin:0 0 17px;
}
.leader-profile .leader-narrative strong{
  color:#344b5d;
  font-weight:760;
}

/* Identical culminating treatment for Jane + Wes */
.leadership-callout,
.soft .leadership-callout{
  max-width:940px;
  background:transparent !important;
  border-left:3px solid var(--teal);
  padding:13px 0 13px 22px;
  margin-top:7px;
  color:var(--navy);
  font-size:17px;
  line-height:1.64;
}
.leadership-callout .callout-label{
  color:var(--teal);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:10px;
  font-weight:850;
  margin-bottom:5px;
}
.leadership-callout strong{
  font-weight:760;
}

/* Let whitespace, not boxes, separate founders */
.soft + .section{
  padding-top:76px;
}
.section.soft{
  padding-bottom:72px;
}

/* Stronger closing CTA without changing content */
.band{
  padding:66px 0;
}
.band .bandin{
  max-width:1000px;
}
.band h2{
  font-size:clamp(30px,3.2vw,40px) !important;
  margin-bottom:8px !important;
}
.band p{
  max-width:760px;
  font-size:15.5px;
  line-height:1.65;
}
.band .btn{
  padding:13px 22px;
}

/* Capabilities — less "card grid", more expert editorial hierarchy */
.service{
  padding:38px 0;
}
.service .tag{
  letter-spacing:.12em;
  font-size:11px;
}
.service h2,.service h3{
  color:var(--navy);
}
.card{
  box-shadow:none;
}
.section-head{
  margin-bottom:8px;
}

/* Contracting — crisp scanability */
.contract-card,
.naics-list,
.corporate-data-list,
.psc-chip{
  box-shadow:none;
}
.naics-row,
.corporate-data-row{
  line-height:1.45;
}
.capability-download{
  padding:68px 0;
}
.capability-download-inner{
  max-width:1000px;
  margin:auto;
}

/* Contact — deliberate restraint */
.contactbox{
  max-width:940px;
  gap:58px;
}
.form{
  gap:15px;
}
.form input,.form textarea{
  min-height:50px;
  border-color:#c7d4db;
}
.form textarea{
  min-height:165px;
}

/* Footer consistency */
footer{
  padding:46px 0;
}
.footerlogo{
  display:block;
}

/* Responsive polish */
@media(max-width:900px){
  body:has(.leader-profile) .section{
    padding:56px 0;
  }
  .leader-profile{
    max-width:none;
  }
  .leader-profile .proof-points.proof-points-three,
  .leader-profile .leader-narrative,
  .leadership-callout{
    max-width:none;
  }
  .leader-profile .leader-narrative p{
    font-size:16.5px;
  }
  .leadership-callout{
    font-size:16.5px;
  }
}


/* =========================================================
   v59 — sitewide editorial alignment
   Bring Home / Capabilities / Contracting / Contact toward
   the approved About-page typography, measure and rhythm.
   ========================================================= */
:root{--editorial:1040px;--reading:940px}

/* Consistent editorial hierarchy */
.section>.wrap,
.difference>.wrap,
.band>.wrap{
  max-width:var(--editorial);
}
.section .eyebrow,
.difference .eyebrow{
  margin-bottom:10px;
}
.section h2,
.difference h2{
  color:var(--navy);
  font-weight:780;
}
.difference h2{color:#fff}
.section p,
.card p,
.service p{
  line-height:1.7;
}

/* Home: same editorial discipline as About */
body:not(:has(.leader-profile)) .intro{
  grid-template-columns:.82fr 1.18fr;
  gap:64px;
  max-width:var(--editorial);
}
body:not(:has(.leader-profile)) .intro h2{
  font-size:clamp(32px,3.45vw,44px);
  line-height:1.08;
  max-width:410px;
}
body:not(:has(.leader-profile)) .intro .lead{
  font-size:17px;
  line-height:1.72;
  max-width:620px;
}
body:not(:has(.leader-profile)) .intro .lead + .lead{margin-top:16px}

/* Section headings no longer stretch visually across the full canvas */
.section-head{
  max-width:var(--editorial);
  gap:48px;
  align-items:flex-end;
}
.section-head h2{max-width:760px}

/* Capabilities: restrained, expert-service rhythm */
.capabilities-page .service,
.service{
  max-width:var(--editorial);
}
.service{gap:44px}
.service .tag{padding-top:5px}

/* Contracting: align dense data sections to editorial measure */
.contracting-overview>.wrap,
.contracting-codes>.wrap,
.contracting-codes + .section>.wrap{
  max-width:var(--editorial);
}
.codes-layout{gap:58px}

/* Contact: same reading measure and vertical cadence */
.contact-simple-intro .wrap,
.contactbox{max-width:var(--reading);margin-left:auto;margin-right:auto}

/* CTA bands share one alignment system */
.band .bandin{max-width:var(--editorial);margin:auto}

@media(max-width:900px){
  body:not(:has(.leader-profile)) .intro{grid-template-columns:1fr;gap:28px}
  body:not(:has(.leader-profile)) .intro h2{max-width:620px}
  body:not(:has(.leader-profile)) .intro .lead{max-width:none}
}


/* =========================================================
   v60 LOCK CANDIDATE — final pre-photography QA & polish
   Keeps approved page messaging and brand palette intact.
   ========================================================= */

/* Sticky header: identical on every page and every scroll position. */
.nav{
  background:#fff !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border-bottom:1px solid #e4ebef !important;
  box-shadow:none !important;
}
.brandlogo{
  background:transparent !important;
}
.brandlogo img{
  background:transparent !important;
}

/* Shared navigation geometry. */
.navin{height:76px;}
.links a:not(.btn){padding:8px 0;}

/* Inline-style cleanup / shared component rules. */
.band-title{
  margin:0 !important;
  font-size:clamp(30px,3.2vw,40px) !important;
  line-height:1.08;
}
.footer-tagline{margin-top:12px;}
.accent-text{color:#14A8AF;}
.form-submit{border:0;cursor:pointer;}

/* About: founders are one leadership system, not alternating content types. */
.founder-continuation{
  background:var(--paper) !important;
  padding-top:52px !important;
  border-top:1px solid rgba(8,26,44,.06);
}
.section.soft:has(.leader-profile){background:var(--paper);}

/* Slightly stronger editorial hierarchy while preserving the v59 scale. */
.leader-profile .leaderhead h2{margin-bottom:14px;}
.leader-profile .proof-points.proof-points-three{margin-bottom:16px;}
.leader-profile .leadership-callout{margin-top:14px;}

/* Capability naming is intentionally consistent between Home and Capabilities. */
.iconcard h3{min-height:50px;}

/* Footer is identical sitewide. */
footer{background:#061522 !important;}

/* Responsive nav: no non-functional 'Menu' label; keep destinations accessible. */
@media(max-width:820px){
  .navin{
    height:auto;
    min-height:72px;
    padding:11px 0;
    flex-wrap:wrap;
    gap:8px 18px;
  }
  .links{
    display:flex !important;
    gap:16px;
    margin-left:auto;
    font-size:13px;
  }
  .links .btn{padding:9px 12px;min-height:40px;}
  .mobile{display:none !important;}
}
@media(max-width:600px){
  .navin{align-items:center;}
  .brandlogo{height:44px;}
  .brandlogo img{height:38px !important;}
  .links{
    width:100%;
    justify-content:space-between;
    gap:8px;
    font-size:11.5px;
  }
  .links .btn{padding:8px 10px;}
}

/* v62 — About dual closing CTA */
.about-capability-cta{
  background:#fff;
  padding:72px 0;
}
.capability-cta-inner,
.leadership-cta-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:56px;
  max-width:1000px;
}
.about-capability-cta .eyebrow{
  color:var(--teal);
  font-weight:800;
  letter-spacing:.13em;
  font-size:12px;
  margin-bottom:12px;
}
.about-capability-cta h2{
  color:var(--navy);
  font-size:clamp(32px,3.2vw,42px);
  line-height:1.08;
  letter-spacing:-.035em;
  margin:0 0 14px;
}
.about-capability-cta p{
  color:#536574;
  max-width:690px;
  font-size:16px;
  line-height:1.65;
  margin:0;
}
.about-capability-cta .btn,
.about-leadership-cta .btn{
  flex:0 0 auto;
}
.about-leadership-cta{
  background:var(--navy);
  padding:58px 0;
}
.about-leadership-cta h2{
  color:#fff;
  font-size:clamp(28px,2.7vw,36px);
  line-height:1.1;
  letter-spacing:-.03em;
  margin:0 0 8px;
}
.about-leadership-cta p{
  color:rgba(255,255,255,.78);
  font-size:16px;
  line-height:1.55;
  margin:0;
}
@media(max-width:800px){
  .capability-cta-inner,
  .leadership-cta-inner{
    display:block;
  }
  .about-capability-cta .btn,
  .about-leadership-cta .btn{
    display:inline-block;
    margin-top:24px;
  }
}


/* =========================================================
   v65 — sitewide horizontal overflow fix
   Prevents any page from shifting left/right while preserving
   existing hero layouts and responsive behavior.
   ========================================================= */

html,
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

body{
  position:relative;
}

img,
svg,
video,
canvas{
  max-width:100%;
}

.nav,
.hero,
.visual-hero,
.pagehero,
.section,
.proof,
.band,
footer{
  width:100%;
  max-width:100%;
  overflow-x:clip;
}

.wrap,
.navin,
.hero-grid,
.intro,
.section-head,
.contactbox,
.bandin,
.capability-cta-inner,
.leadership-cta-inner{
  max-width:100%;
  box-sizing:border-box;
}

/* Hero art is allowed to crop visually, but never extend the document width. */
.hero-art,
.capabilities-visual-hero .hero-art,
.contracting-visual-hero .hero-art,
.about-visual-hero .hero-art{
  max-width:100%;
  overflow:hidden;
}

.hero-art img,
.capabilities-visual-hero .hero-art img,
.contracting-visual-hero .hero-art img,
.about-visual-hero .hero-art img{
  max-width:none;
}

/* Keep any absolute/full-bleed decorative media from creating layout overflow. */
.hero,
.visual-hero,
.pagehero{
  position:relative;
  overflow:hidden;
}

/* Guard against viewport-width calculations on nested elements. */
.hero * ,
.visual-hero * ,
.pagehero * {
  box-sizing:border-box;
}

@supports (overflow: clip){
  html,
  body{
    overflow-x:clip;
  }
}

@media(max-width:900px){
  .hero-grid,
  .intro,
  .contactbox,
  .bandin,
  .capability-cta-inner,
  .leadership-cta-inner{
    width:100%;
  }
}


/* =========================================================
   v67 launch cleanup
   ========================================================= */

/* Photography will be added after launch. Suppress the temporary
   homepage leadership-photo visual and any residual caption shell. */
.photo-placeholder,
.leadership-placeholder,
.placeholder-photo,
.leadership-photo,
.experience-visual,
.leadership-visual-placeholder {
  display: none !important;
}

/* Keep the principal-experience copy as the intentional launch treatment. */
.principal-experience .hero-grid,
.principal-experience .experience-grid,
.selected-principal-experience .hero-grid,
.selected-principal-experience .experience-grid {
  grid-template-columns: minmax(0, 1fr) !important;
}

/* Contact: align hero copy to the same left edge/content width as the form. */
.contact-page .contact-hero .wrap,
.contact-page .pagehero .wrap,
.contact-page main > section:first-child .wrap {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}

.contact-page .contact-hero .hero-copy,
.contact-page .pagehero .hero-copy,
.contact-page main > section:first-child .hero-copy {
  margin-left: 0 !important;
  max-width: 100%;
}

/* Contact form uses the same content rail. */
.contact-page .contactbox,
.contact-page .contact-form-wrap,
.contact-page form {
  margin-left: 0;
}

/* v68 FINAL CONTACT GRID ALIGNMENT
   Force contact introduction and form onto the exact same content rail. */
.contact-page main > section:first-of-type > .wrap,
.contact-page main > section:first-of-type .wrap,
.contact-page .contact-hero .wrap,
.contact-page .contact-form-section .wrap,
.contact-page .contactbox {
    width: min(1120px, calc(100% - 48px)) !important;
    max-width: 1120px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.contact-page main > section:first-of-type .hero-copy,
.contact-page .contact-hero .hero-copy {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
@media (max-width: 700px) {
  .contact-page main > section:first-of-type > .wrap,
  .contact-page main > section:first-of-type .wrap,
  .contact-page .contact-hero .wrap,
  .contact-page .contact-form-section .wrap,
  .contact-page .contactbox {
      width: min(100% - 32px, 1120px) !important;
  }
}

/* v69 exact contact alignment: both sections share one identical 1120px rail */
.contact-intro-v69 > .wrap,
.contact-form-v69 > .wrap {
  width: min(1120px, calc(100% - 48px)) !important;
  max-width: 1120px !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}
.contact-intro-v69 .hero-copy,
.contact-intro-v69 .contact-copy,
.contact-intro-v69 h1,
.contact-intro-v69 p,
.contact-form-v69 form {
  margin-left: 0 !important;
}
@media (max-width:700px){
  .contact-intro-v69 > .wrap,
  .contact-form-v69 > .wrap {
    width: calc(100% - 32px) !important;
  }
}


/* v74 image-quality + LinkedIn polish */
.brandlogo img{height:48px !important;width:auto !important;image-rendering:auto;}
.footerlogo{width:210px !important;height:auto !important;image-rendering:auto;}
.hero-logo-strip img{image-rendering:auto;}
.hero-art img,.leader-photo img{image-rendering:auto;}
.footer-meta{text-align:right;line-height:1.7;}
.linkedin-link{display:inline-flex;align-items:center;gap:7px;margin-top:7px;color:#d8e8ee;font-weight:700;text-decoration:none;}
.linkedin-link:hover{color:#14A8AF;}
.linkedin-icon{display:inline-grid;place-items:center;width:20px;height:20px;border:1px solid currentColor;border-radius:3px;font-size:12px;font-weight:900;line-height:1;}
@media(max-width:700px){.footer-meta{text-align:left;}}

/* v75 launch: leadership photography placeholder removed until branding photography is ready */
.feature.feature-no-image{grid-template-columns:1fr;max-width:820px;margin-left:auto;margin-right:auto}
.feature.feature-no-image .feature-copy{max-width:760px}

/* v78 final alignment: only the two launch sections approved for adjustment */
/* Home principal-experience copy shares the exact centered 1040px rail used by the closing CTA. */
.feature.feature-no-image{
  grid-template-columns:1fr;
  max-width:var(--editorial);
  margin-left:auto;
  margin-right:auto;
}
.feature.feature-no-image .feature-copy{max-width:760px;}

/* Capabilities certification band starts on the exact same 1000px rail as “Capabilities at a glance.” */
.capability-certifications > .wrap{
  max-width:1000px;
}

/* =========================================================
   v79 post-launch: approved mobile spacing + alignment polish
   Keeps full-width section backgrounds while giving mobile
   content a consistent 28px horizontal inset.
   ========================================================= */
@media (max-width:700px){
  /* About closing sections: match the approved mobile content inset. */
  .about-capability-cta > .wrap,
  .about-leadership-cta > .wrap{
    width:calc(100% - 56px) !important;
    max-width:var(--editorial) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  /* Contracting: preserve the full-width navy band, but align its content
     to the same mobile rail and keep the eyebrow/headline left aligned. */
  .contracting-fit > .wrap{
    width:calc(100% - 56px) !important;
    max-width:var(--editorial) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .contracting-fit .eyebrow.centered,
  .contracting-fit h2.centered{
    text-align:left !important;
  }
}

/* =========================================================
   v81 FINAL mobile content rail
   Home intro + Our Difference use the same 28px mobile inset.
   Desktop remains unchanged.
   ========================================================= */
@media (max-width:700px){
  /* Homepage intro: force the entire section onto the standard mobile rail. */
  body:not(:has(.leader-profile)) .section > .wrap.intro{
    width:calc(100% - 56px) !important;
    max-width:none !important;
    margin-left:28px !important;
    margin-right:28px !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  body:not(:has(.leader-profile)) .intro > div,
  body:not(:has(.leader-profile)) .intro .eyebrow,
  body:not(:has(.leader-profile)) .intro h2,
  body:not(:has(.leader-profile)) .intro .lead,
  body:not(:has(.leader-profile)) .intro .textlink{
    text-align:left !important;
    margin-left:0 !important;
  }

  /* Our Difference: same rail, with eyebrow and heading left aligned. */
  .difference > .wrap{
    width:calc(100% - 56px) !important;
    max-width:none !important;
    margin-left:28px !important;
    margin-right:28px !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .difference .eyebrow.centered,
  .difference h2.centered{
    text-align:left !important;
  }
  .difference .why > div{
    padding-left:0 !important;
    padding-right:0 !important;
  }
}


/* =========================================================
   v83 — V81 BASE + closing CTA mobile alignment only
   Keep all V81 page/hero/section spacing intact.
   Normalize only the bottom "Start a conversation" bands so
   Home, About, Capabilities and Contracting use the same
   left-most standard mobile rail (no added 28px special inset).
   ========================================================= */
@media (max-width:700px){
  /* Standard closing CTA bands (Home / Capabilities / Contracting) */
  .band > .wrap.bandin{
    width:calc(100% - 40px) !important;
    max-width:1000px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    align-items:flex-start !important;
    text-align:left !important;
  }

  /* About closing CTA: remove the special extra inset from V79/V81
     and match the same closing-band rail. */
  .about-leadership-cta > .wrap.leadership-cta-inner{
    width:calc(100% - 40px) !important;
    max-width:1000px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    text-align:left !important;
  }

  .band .btn,
  .about-leadership-cta .btn{
    margin-left:0 !important;
    align-self:flex-start !important;
  }
}

@media (max-width:520px){
  .band > .wrap.bandin,
  .about-leadership-cta > .wrap.leadership-cta-inner{
    width:calc(100% - 28px) !important;
  }
}


/* v88 — navy editorial-section alignment + credentials simplification
   Desktop: navy editorial section headings centered.
   Mobile: headings return to the approved left-aligned 28px content rail. */
@media (min-width:701px){
  .difference > .wrap > .eyebrow,
  .difference > .wrap > h2,
  .capability-certifications .cert-heading-row{
    text-align:center !important;
  }
  .capability-certifications .cert-heading-row h2{
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .capability-certifications .microsoft-program-line{
    text-align:center !important;
  }
}

.capability-certifications .cert-heading-row h2{
  margin-bottom:0;
}
.capability-certifications .cert-grid{
  margin-top:34px;
}

@media (max-width:700px){
  .capability-certifications > .wrap{
    width:calc(100% - 56px) !important;
    max-width:none !important;
    margin-left:28px !important;
    margin-right:28px !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .capability-certifications .cert-heading-row,
  .capability-certifications .cert-heading-row h2,
  .capability-certifications .microsoft-program-line{
    text-align:left !important;
    margin-left:0 !important;
  }
}

/* =========================================================
   v92 — mobile text wrapping safety
   Preserve all v91 spacing/layout while ensuring text-bearing
   blocks can shrink and wrap inside the mobile viewport.
   ========================================================= */
@media (max-width:700px){
  .wrap,
  .navin,
  .hero-grid,
  .hero-copy,
  .intro,
  .intro > div,
  .section-head,
  .service,
  .service > div,
  .contactbox,
  .contactbox > div,
  .bandin,
  .capability-cta-inner,
  .leadership-cta-inner,
  .leader-profile,
  .leader-profile > *,
  .leader-narrative,
  .leadership-callout,
  .contracting-copy,
  .contracting-fit,
  .contracting-fit > .wrap,
  .capability-download-inner,
  .capability-certifications > .wrap,
  .card{
    min-width:0 !important;
  }

  .hero-copy p,
  .pagehero p,
  .intro p,
  .lead,
  .card p,
  .service p,
  .why p,
  .band p,
  .leader-narrative p,
  .leadership-callout,
  .capability-download-inner p,
  .capability-certifications p,
  .contracting-copy p,
  .contracting-fit p,
  .contactbox p,
  .note,
  li{
    width:auto !important;
    max-width:100% !important;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }

  .hero-copy h1,
  .pagehero h1,
  .hero-copy h2,
  .pagehero h2,
  .section h2,
  .band h2,
  .card h3{
    max-width:100% !important;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
}


/* v102 Contact page: audience guidance left, inquiry form right. Hero/image sizing untouched. */
.contact-conversation-section{padding:72px 0 92px;}
.contact-conversation-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:72px;align-items:start;}
.contact-audience-copy h2{font-size:clamp(34px,3.2vw,48px);max-width:560px;margin-top:10px;}
.contact-audience-list{display:grid;gap:22px;margin-top:34px;}
.contact-audience-list>div{padding-top:18px;border-top:1px solid var(--line);}
.contact-audience-list strong{display:block;font-size:17px;color:var(--navy);margin-bottom:4px;}
.contact-audience-list p{margin:0;color:var(--muted);font-size:15px;line-height:1.55;}
.contact-conversation-section .contact-form-wrap{max-width:none;margin-top:110px;}
.contact-conversation-section .form{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;}
.contact-conversation-section .form textarea{min-height:130px;}
@media(max-width:900px){.contact-conversation-grid{grid-template-columns:1fr;gap:42px}.contact-conversation-section .contact-form-wrap{max-width:760px;margin-top:0}}


/* v109 publish-ready: consistent navy hero supporting-copy rhythm across Home, Capabilities, Contracting, and About. */
@media (min-width:980px){
  .visual-hero .hero-copy p{
    max-width:610px !important;
    text-wrap:pretty;
  }
}

/* v110 Contact page tightening: preserve the two-column composition while keeping the form visible sooner. */
.contact-page .contact-simple-intro{
  padding:58px 0 38px;
}
.contact-page .contact-simple-intro .eyebrow{
  margin-bottom:10px;
}
.contact-page .contact-simple-intro h1{
  margin-bottom:16px;
}
.contact-page .contact-conversation-section{
  padding:50px 0 72px;
}
.contact-page .contact-conversation-grid{
  gap:64px;
}
.contact-page .contact-audience-copy h2{
  margin-top:6px;
  margin-bottom:14px;
}
.contact-page .contact-audience-list{
  gap:14px;
  margin-top:24px;
}
.contact-page .contact-audience-list>div{
  padding-top:13px;
}
.contact-page .contact-conversation-section .contact-form-wrap{
  margin-top:46px;
}
.contact-page .contact-conversation-section .form{
  padding:22px;
  gap:12px;
}
.contact-page .contact-conversation-section .form textarea{
  min-height:118px;
}
@media(max-width:900px){
  .contact-page .contact-simple-intro{padding:48px 0 32px;}
  .contact-page .contact-conversation-section{padding:42px 0 62px;}
  .contact-page .contact-conversation-grid{gap:34px;}
  .contact-page .contact-conversation-section .contact-form-wrap{margin-top:0;}
}

/* v111 final polish */
@media(min-width:901px){
  .contact-page .contact-audience-copy{transform:translateY(-6px);}
}


/* v112 — Our Approach page + homepage mission-outcome teaser */
.approach-teaser{background:#fff}.approach-teaser-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:80px;align-items:start}.approach-teaser h2{max-width:570px}.approach-teaser-copy .lead{margin-top:0}.approach-teaser-copy .textlink{display:inline-block;margin-top:8px}
.approach-hero{background:linear-gradient(125deg,#061b30 0%,#0b2942 68%,#0b4851 100%);color:#fff;overflow:hidden}.approach-hero-inner{padding:92px 0 88px}.approach-hero h1{max-width:1050px;margin-bottom:28px}.approach-hero h1 span{color:#7ad7d8}.approach-hero p{font-size:21px;line-height:1.6;color:#d6e4ea;max-width:850px;margin:0}.approach-intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.approach-intro-grid .lead:first-child{margin-top:0}.approach-heading{max-width:780px;margin-left:auto;margin-right:auto}.mission-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:46px}.flow-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px 22px 24px;min-height:280px}.flow-card span{display:block;color:var(--teal);font-size:12px;font-weight:900;letter-spacing:.14em;margin-bottom:28px}.flow-card h3{font-size:19px}.flow-card p{color:var(--muted);font-size:14px;margin-bottom:0}.flow-card:not(:last-child):after{content:'→';position:absolute;right:-16px;top:49%;z-index:2;color:var(--teal);font-size:20px;font-weight:800}.approach-section-copy{max-width:530px;color:#536473;font-size:17px;margin:0}.approach-grid{margin-top:36px}.approach-card{min-height:225px}.approach-card .miniicon{margin-bottom:16px}.approach-statement{background:#061b30;color:#fff;padding:86px 0}.approach-statement-inner{max-width:980px}.approach-statement blockquote{font-size:clamp(28px,4vw,46px);line-height:1.18;letter-spacing:-.025em;font-weight:720;margin:22px 0 0;color:#f4fbfd}.approach-principles .section-head{align-items:end}
@media(max-width:980px){.approach-teaser-grid,.approach-intro-grid{grid-template-columns:1fr;gap:32px}.mission-flow{grid-template-columns:1fr 1fr}.flow-card{min-height:220px}.flow-card:not(:last-child):after{display:none}.approach-principles .section-head{align-items:start}}
@media(max-width:620px){.approach-hero-inner{padding:68px 0 64px}.approach-hero p{font-size:18px}.mission-flow{grid-template-columns:1fr}.flow-card{min-height:0}.approach-statement{padding:64px 0}.links{gap:14px;font-size:12px}}


/* =========================================================
   v113 — Approach page refinement
   Sitewide nav order: About · Approach · Capabilities · Contracting · Contact
   Approach hero now uses the approved inner-page visual hero system.
   ========================================================= */
.approach-visual-hero .hero-copy h1{
  max-width:760px;
}
.approach-visual-hero .hero-copy p{
  max-width:690px;
}
.approach-visual-hero .approach-hero-art img{
  object-position:58% center;
}

/* Keep every step's body copy on a common baseline, including 04 and 05. */
.mission-flow .flow-card h3{
  min-height:48px;
  display:flex;
  align-items:flex-start;
}
.mission-flow .flow-card p{
  margin-top:0;
}

/* Match the white capability-statement interstitial used on other inner pages. */
.approach-capability-download{
  background:#fff;
}

@media(max-width:980px){
  .mission-flow .flow-card h3{min-height:0;}
}


/* v114 — dedicated Approach hero artwork */
.approach-visual-hero .approach-hero-art{background:#071f36;}
.approach-visual-hero .approach-hero-art img{
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
  width:100% !important;
  height:100% !important;
}


/* v122 — Approach mission-space artwork rebuilt to the native 951x666 inner-page hero ratio. */
.approach-visual-hero .approach-hero-art{background:#071f36;}
.approach-visual-hero .approach-hero-art img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:scale(1.04) !important;
}
.approach-visual-hero .approach-hero-art::before{
  background:linear-gradient(90deg,#071827 0%,rgba(7,24,39,.46) 24%,rgba(7,24,39,.05) 68%) !important;
}
@media(max-width:979px){
  .approach-visual-hero .approach-hero-art img{transform:none !important;}
}


/* v123 — Approach hero artwork recomposed for the native inner-page hero system.
   Keep standard cover behavior; no extra zoom so the star/trajectory/Earth composition stays sharp. */
.approach-visual-hero .approach-hero-art img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
}

/* v127 — Approach page vertical rhythm refinement.
   Desktop only: slightly shorten the two navy sections to match the
   visual cadence of the other interior pages. No artwork/copy changes. */
@media (min-width:981px){
  .approach-visual-hero .hero-grid{
    min-height:525px;
  }
  .approach-visual-hero .hero-copy{
    padding-top:68px;
    padding-bottom:66px;
  }
  .approach-visual-hero .approach-hero-art{
    min-height:525px;
  }
  .approach-statement{
    padding:68px 0;
  }
}


/* v128 — live desktop hero wrap correction.
   Preserve v127 height/artwork; keep the first headline line intact and
   slightly reduce only the Approach hero headline at desktop widths so
   production font rendering matches the local preview. */
@media (min-width:981px){
  .approach-visual-hero .hero-copy h1{
    font-size:clamp(56px,4.15vw,68px);
    line-height:1.03;
    max-width:760px;
  }
  .approach-visual-hero .hero-copy h1 .approach-hero-line{
    color:#fff;
    white-space:nowrap;
  }
}

/* v130 — Align Approach hero artwork exactly like the Contracting hero.
   Desktop only: use the shared visual-hero horizontal positioning rather than
   extending to the viewport edge. Preserve v128 copy/height and artwork. */
@media (min-width:981px){
  .approach-visual-hero .approach-hero-art{
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    left:39% !important;
    width:auto !important;
    margin:0 !important;
    overflow:hidden !important;
  }
  .approach-visual-hero .approach-hero-art img{
    position:absolute !important;
    inset:-3% -2% -3% -4% !important;
    width:106% !important;
    height:106% !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:center center !important;
    transform:none !important;
    display:block !important;
  }
}

/* v135 — equal trust-mark spacing; SAM.gov uses the same divider/padding rhythm */
.hero-logo-strip .sam-mark{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
}
.hero-logo-strip .sam-mark img{
  height:30px !important;
  width:auto !important;
  max-width:none !important;
  display:block;
}
@media(max-width:700px){
  .hero-logo-strip .sam-mark img{height:26px !important;width:auto !important;}
}

/* v136 — selected Altovector branding photography */
.brand-photo,
.contact-photo{
  margin:0;
  overflow:hidden;
  border-radius:14px;
  background:#e8f0f3;
}
.brand-photo img,
.contact-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

/* Lower-homepage principal experience: photo 021. */
.home-principal-photo{
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:58px;
}
.home-principal-photo .feature-image{
  min-height:360px;
  box-shadow:0 18px 42px rgba(8,26,44,.12);
}
.home-principal-photo .feature-image img{
  min-height:360px;
  object-position:center center;
}

/* About hero: photo 038, retained inside the established navy split hero. */
.about-brand-hero .hero-art img{
  object-position:center 33% !important;
  filter:saturate(.98) contrast(1.02);
}

/* Individual founder portraits: photos 110 and 120. */
.section.soft:not(.founder-continuation) .leader-profile{
  background-image:url("assets/branding-jane-110.jpg");
}
.founder-continuation .leader-profile{
  background-image:url("assets/branding-wes-120.webp");
}
.section.soft .leader-profile{
  padding-left:348px;
  min-height:430px;
  background-repeat:no-repeat;
  background-position:left top;
  background-size:300px 420px;
}

/* Approach hero: photo 052. */
.approach-visual-hero .approach-hero-art img{
  object-position:center center !important;
  filter:saturate(.96) contrast(1.03);
}

/* Contact introduction: photo 100. */
.contact-simple-intro .contact-photo-intro-grid{
  max-width:var(--max);
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
  gap:56px;
  align-items:center;
}
.contact-photo-intro-copy{
  min-width:0;
}
.contact-photo-intro-copy h1{
  font-size:clamp(45px,5vw,64px);
}
.contact-photo{
  height:330px;
  box-shadow:0 18px 42px rgba(8,26,44,.11);
}
.contact-photo img{
  object-position:center center;
}

@media(max-width:900px){
  .home-principal-photo{
    grid-template-columns:1fr;
    gap:34px;
  }
  .home-principal-photo .feature-image,
  .home-principal-photo .feature-image img{
    min-height:300px;
  }
  .section.soft .leader-profile{
    padding-left:0;
    padding-top:390px;
    min-height:0;
    background-position:center top;
    background-size:min(100%,520px) 350px;
  }
  .contact-simple-intro .contact-photo-intro-grid{
    grid-template-columns:1fr;
    gap:30px;
  }
  .contact-photo{
    height:300px;
  }
}

@media(max-width:520px){
  .home-principal-photo .feature-image,
  .home-principal-photo .feature-image img{
    min-height:240px;
  }
  .section.soft .leader-profile{
    padding-top:325px;
    background-size:100% 290px;
  }
  .contact-photo{
    height:235px;
  }
}

/* v137 final cascade — reviewed photography refinements. */
@media(min-width:901px){
  .about-brand-hero .hero-grid,.about-brand-hero .hero-art{min-height:500px !important;}
  .about-brand-hero .hero-copy{padding-top:68px !important;padding-bottom:68px !important;}
}
.about-brand-hero .hero-art img{object-position:center 30% !important;}
.section.soft .leader-profile{
  display:grid;grid-template-columns:320px minmax(0,1fr);column-gap:56px;row-gap:24px;
  padding-left:0 !important;padding-top:0;min-height:0;background:none !important;
}
.section.soft .leader-profile::before{
  content:"";grid-column:1;grid-row:1 / span 4;height:430px;border-radius:10px;
  background-repeat:no-repeat;background-size:cover;background-position:center center;
  box-shadow:0 16px 36px rgba(8,26,44,.11);
}
.section.soft:not(.founder-continuation) .leader-profile::before{background-image:url("assets/branding-jane-110.jpg");}
.founder-continuation .leader-profile::before{background-image:url("assets/branding-wes-120.webp");}
.leader-profile > *{grid-column:2;}
.leader-profile .leaderhead,.leader-profile .proof-points.proof-points-three,
.leader-profile .leader-narrative,.leader-profile .leadership-callout{max-width:none;}
.approach-visual-hero .approach-hero-art img{object-position:34% center !important;}
@media(max-width:900px){
  .section.soft .leader-profile{grid-template-columns:1fr;padding-top:0 !important;row-gap:22px;}
  .section.soft .leader-profile::before{grid-column:1;grid-row:auto;width:min(100%,560px);height:360px;}
  .leader-profile > *{grid-column:1;}
}
@media(max-width:520px){.section.soft .leader-profile::before{height:290px;}}

/* v138 — exact stakeholder-directed photo composition. */
.about-brand-hero .hero-art img{
  object-position:center top !important;
  transform:none !important;
}

/* Horizontal founder image + aligned header/credentials; full bio below. */
.section.soft .leader-profile{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  grid-template-rows:auto auto auto auto;
  column-gap:52px;
  row-gap:20px;
}
.section.soft .leader-profile::before{
  grid-column:1;
  grid-row:1 / span 2;
  width:100%;
  height:330px;
  border-radius:10px;
  background-size:cover;
  background-position:center center;
}
.leader-profile .leaderhead{
  grid-column:2;
  grid-row:1;
  align-self:start;
  padding-top:2px;
}
.leader-profile .proof-points.proof-points-three{
  grid-column:2;
  grid-row:2;
  align-self:end;
  grid-template-columns:1fr;
  margin:0;
}
.leader-profile .proof-points.proof-points-three > div,
.leader-profile .proof-points.proof-points-three > div:not(:first-child){
  padding:12px 0;
  border-right:0;
  border-bottom:1px solid var(--line);
}
.leader-profile .proof-points.proof-points-three > div:last-child{border-bottom:0;}
.leader-profile .leader-narrative{
  grid-column:1 / -1;
  grid-row:3;
  margin-top:18px;
}
.leader-profile .leadership-callout{
  grid-column:1 / -1;
  grid-row:4;
}

/* Move photo 052 farther right within the frame, trimming more of its right edge. */
.approach-visual-hero .approach-hero-art img{object-position:24% center !important;}

@media(max-width:900px){
  .section.soft .leader-profile{grid-template-columns:1fr;grid-template-rows:auto;}
  .section.soft .leader-profile::before,
  .leader-profile .leaderhead,
  .leader-profile .proof-points.proof-points-three,
  .leader-profile .leader-narrative,
  .leader-profile .leadership-callout{grid-column:1;grid-row:auto;}
  .leader-profile .proof-points.proof-points-three{grid-template-columns:1fr;}
}

/* v139 final cascade — match the shared 560px navy hero exactly. */
@media(min-width:901px){
  .about-brand-hero .hero-grid,
  .about-brand-hero .hero-art{min-height:560px !important;}
  .about-brand-hero .hero-copy{padding-top:84px !important;padding-bottom:82px !important;}
}
.about-brand-hero .hero-art img{object-position:center top !important;transform:none !important;}

/* v140 — show the full About portrait within the shared-height hero. */
@media(min-width:901px){
  .about-brand-hero .hero-art{
    background:#071827;
  }
  .about-brand-hero .hero-art img{
    width:auto !important;
    height:560px !important;
    max-width:100%;
    margin-left:auto;
    object-fit:contain !important;
    object-position:right center !important;
    transform:none !important;
  }
}

/* Jane bio portrait: approved standing photo 061. */
.section.soft:not(.founder-continuation) .leader-profile::before{
  background-image:url("assets/branding-jane-061.jpg");
  background-position:center 28%;
}

/* v141 — refined photo composition and consistent inner-page hero rhythm. */
@media(min-width:980px){
  .about-brand-hero .hero-grid{
    min-height:540px !important;
  }
  .about-brand-hero .hero-copy{
    padding-top:62px !important;
    padding-bottom:46px !important;
  }
  .about-brand-hero .hero-art{
    min-height:540px !important;
    background:#061b30 !important;
  }
  .about-brand-hero .hero-art img{
    position:absolute !important;
    inset:auto 0 auto auto !important;
    top:50% !important;
    width:auto !important;
    height:630px !important;
    max-width:none !important;
    margin:0 !important;
    object-fit:contain !important;
    object-position:right center !important;
    transform:translateY(-50%) !important;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.22) 8%,#000 28%);
    mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.22) 8%,#000 28%);
  }
  .about-brand-hero .hero-art::before{
    background:linear-gradient(90deg,#061b30 0%,rgba(6,27,48,.98) 18%,rgba(6,27,48,.78) 34%,rgba(6,27,48,.3) 51%,rgba(6,27,48,0) 68%) !important;
  }
}

/* Photo 062 gives Jane a stronger, cleaner standing portrait; zoom trims the peripheral desk area. */
.section.soft:not(.founder-continuation) .leader-profile::before{
  background-image:url("assets/branding-jane-062.webp");
  background-size:116% auto;
  background-position:center 31%;
}

/* Move the Approach composition farther right so Jane remains more visible. */
.approach-visual-hero .approach-hero-art img{
  object-position:center center !important;
  transform:translateX(7%) !important;
}

/* v142 — integrate the About portrait more fully while matching the approved Approach hero height. */
@media(min-width:980px){
  .about-brand-hero .hero-grid,
  .about-brand-hero .hero-art{
    min-height:525px !important;
  }
  .about-brand-hero .hero-art img{
    inset:-8px 0 auto auto !important;
    top:-8px !important;
    width:auto !important;
    height:700px !important;
    transform:none !important;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.16) 7%,rgba(0,0,0,.72) 23%,#000 39%);
    mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.16) 7%,rgba(0,0,0,.72) 23%,#000 39%);
  }
  .about-brand-hero .hero-art::before{
    background:linear-gradient(90deg,#061b30 0%,rgba(6,27,48,.98) 14%,rgba(6,27,48,.86) 31%,rgba(6,27,48,.48) 48%,rgba(6,27,48,.12) 63%,rgba(6,27,48,0) 76%) !important;
  }
}

/* v143 — one desktop hero height, a lighter About fade, and zoom-safe Approach copy. */
@media(min-width:980px){
  .visual-hero .hero-grid,
  .visual-hero .hero-art{
    min-height:540px !important;
  }
  .about-brand-hero .hero-art img{
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.62) 7%,#000 17%);
    mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.62) 7%,#000 17%);
  }
  .about-brand-hero .hero-art::before{
    background:linear-gradient(90deg,#061b30 0%,rgba(6,27,48,.96) 10%,rgba(6,27,48,.6) 21%,rgba(6,27,48,.16) 32%,rgba(6,27,48,0) 42%) !important;
  }
}

/* Browser zoom-out exposes a wider CSS viewport. Keep the copy column clear of the photograph. */
@media(min-width:1800px){
  .approach-visual-hero .approach-hero-art{
    left:48% !important;
  }
  .approach-visual-hero .hero-copy h1{
    max-width:680px !important;
  }
  .approach-visual-hero .hero-copy h1 .approach-hero-line{
    white-space:normal !important;
  }
  .approach-visual-hero .hero-copy p{
    max-width:610px !important;
  }
}

/* v144 — add photographic breathing room left of Jane without moving or resizing either founder. */
@media(min-width:980px){
  .about-brand-hero .hero-art img{
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
  .about-brand-hero .hero-art::after{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    z-index:1 !important;
    top:-8px !important;
    right:467px !important;
    width:112px !important;
    height:700px !important;
    background-image:url("assets/branding-about-header-038.jpg") !important;
    background-repeat:no-repeat !important;
    background-size:auto 700px !important;
    background-position:left top !important;
    transform:scaleX(-1) !important;
    transform-origin:right center !important;
    pointer-events:none !important;
  }
}

/* v145 — use native landscape photo 041 for a wider, fully photographic About blend. */
@media(min-width:980px){
  .about-brand-hero .hero-art img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    margin:0 !important;
    object-fit:cover !important;
    object-position:center 42% !important;
    transform:none !important;
  }
  .about-brand-hero .hero-art::before{
    background:linear-gradient(90deg,#061b30 0%,rgba(6,27,48,.96) 7%,rgba(6,27,48,.68) 15%,rgba(6,27,48,.3) 23%,rgba(6,27,48,.06) 30%,rgba(6,27,48,0) 36%) !important;
  }
  .about-brand-hero .hero-art::after{
    display:none !important;
  }
}
