
:root{--navy:#062b49;--ink:#07365b;--orange:#ff9c30;--pale:#e9f5fb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:white}a{color:inherit}.wrap{width:min(1320px,94%);margin:auto}.top{position:sticky;top:0;z-index:9;background:#f8fcffeb;backdrop-filter:blur(9px);border-bottom:1px solid #d1e7f3}.topinner{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:85px}.logo img{width:220px;max-width:35vw;display:block}.nav{display:flex;gap:24px;align-items:center}.nav a{font-weight:800;font-size:12px;text-decoration:none}.nav a:hover{color:#db7622}.pill{background:linear-gradient(90deg,#ff9c32,#ffc35c);padding:15px 25px;border-radius:30px;color:#062b49;font-weight:800;text-decoration:none;white-space:nowrap}.menu{display:none}.hero{position:relative;background:linear-gradient(105deg,#fff 0%,#f5fbff 46%,#c5e8fa 100%);overflow:hidden;min-height:510px}.hero:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(35deg,transparent 0 90px,#0e639408 91px 92px);pointer-events:none}.hero .wrap{display:grid;grid-template-columns:58% 42%;position:relative;align-items:center;min-height:510px}.hero-copy{padding:35px 0 55px;position:relative;z-index:1}.eyebrow{font-size:13px;letter-spacing:.28em;font-weight:800;color:#f08328;text-transform:uppercase}h1{font-size:clamp(34px,4vw,59px);line-height:1.13;font-weight:400;letter-spacing:-.03em;margin:22px 0}h1 strong{font-weight:900}h1 em{font-style:normal;color:#ed8530;font-weight:800}h2{font-family:Georgia,serif;font-size:clamp(30px,3.3vw,47px);line-height:1.13;margin:10px 0 18px}h3{font-family:Georgia,serif;font-size:25px;margin:12px 0}.lead{font-size:18px;line-height:1.65;max-width:640px}.hero-image{height:510px;width:100%;object-fit:cover;object-position:center;mask-image:linear-gradient(to right,transparent 0%,black 19%)}.action{display:inline-block;background:linear-gradient(90deg,#ff9d32,#ffc058);color:#063152;padding:15px 26px;border-radius:28px;text-decoration:none;font-weight:800;margin:16px 18px 0 0}.textlink{font-weight:800;text-decoration:none}.ribbon{background:#fff;padding:20px 0;box-shadow:0 4px 12px #00345912}.ribbon .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.ribbon b{font-size:14px}.ribbon span{display:block;font-size:12px;color:#52718a;margin-top:4px}.ribbon .item{border-right:1px solid #a9c4d4;padding:0 15px}.ribbon .item:last-child{border:0}.visuals{display:grid;grid-template-columns:repeat(4,1fr)}.visual{position:relative;min-height:260px;background:#062b49;overflow:hidden}.visual img{width:100%;height:100%;position:absolute;object-fit:cover}.visual:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#001e37)}.visual b{position:absolute;z-index:1;bottom:26px;left:20px;color:white;text-transform:uppercase;font-size:17px;text-shadow:0 2px 4px #0008}.visual b span{color:var(--orange);margin-right:10px}.mapband{background:#062b49;color:white;padding:25px 0 30px;border-top:7px solid #f2a645}.mapband .wrap{display:flex;justify-content:space-between;gap:30px;align-items:center}.mapband p{margin:4px 0 0;color:#d0e3ef}.mapband strong{letter-spacing:.12em;color:#ffb44b;font-size:12px}.section{padding:75px 0}.intro{max-width:850px;margin-bottom:30px;line-height:1.6;font-size:17px}.servicegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service{background:#f0f8fc;border-top:4px solid #fba03c;padding:26px;min-height:185px}.service p{line-height:1.6}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0}.metric{background:#e9f5fb;padding:23px;border-left:4px solid #f89b32}.metric strong{display:block;font-size:42px;color:#e67c27}.metric span{font-size:14px;line-height:1.5}.casegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.case{background:#fff;border:1px solid #d5e6f0;box-shadow:0 5px 18px #00385912;overflow:hidden}.case img{width:100%;height:190px;object-fit:cover}.case .copy{padding:21px}.case .type{font-size:11px;font-weight:900;letter-spacing:.13em;color:#00619b;text-transform:uppercase}.case p{font-size:14px;line-height:1.6}.case .figure{color:#df7923;font-size:29px;font-weight:900}.case .figure small{font-size:12px;font-weight:400;color:#3a607b}.case .tag{display:block;font-size:12px;color:#52768e;font-weight:700;margin:9px 0}.dark{background:#062b49;color:white}.dark p{color:#d3e8f2}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:30px}.step{border-top:3px solid #f5a13e;padding-top:17px}.step strong{color:#ffb44b;font-size:24px}.quote{font:italic 26px/1.5 Georgia,serif;border-left:4px solid #f5a13e;padding-left:20px;max-width:850px;margin:40px 0}.about{display:grid;grid-template-columns:2fr 1fr;gap:45px}.about aside{background:#eaf5fa;padding:30px;border-top:4px solid #f5a13e}.contact{background:#eaf5fa}.contact p{font-size:18px;line-height:1.65}.foot{background:#041c31;color:#b7d4e3;padding:23px 0;font-size:13px}.foot .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.disclaimer{font-size:12px;color:#55758b;line-height:1.5;margin-top:24px}@media(max-width:900px){.nav{gap:10px}.nav a{font-size:10px}.top .pill{display:none}.hero .wrap{grid-template-columns:1fr}.hero-image{position:absolute;right:0;top:0;width:65%;height:100%;opacity:.18;mask-image:none}.hero-copy{max-width:730px}.casegrid,.servicegrid{grid-template-columns:repeat(2,1fr)}.visuals{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.topinner{min-height:65px}.logo img{width:155px;max-width:none}.menu{display:block;background:#062b49;color:white;border:0;padding:9px 12px;border-radius:3px}.nav{display:none;position:absolute;top:65px;left:0;right:0;background:white;padding:20px;box-shadow:0 15px 25px #0002;flex-direction:column;align-items:flex-start;gap:18px}.nav.open{display:flex}.nav a{font-size:14px}.hero,.hero .wrap{min-height:460px}.hero-image{width:100%;opacity:.12}.hero-copy{padding:40px 0}.ribbon .wrap{grid-template-columns:repeat(2,1fr)}.visuals,.servicegrid,.casegrid,.metrics,.steps,.about{grid-template-columns:1fr}.visual{min-height:215px}.mapband .wrap{display:block}.section{padding:55px 0}}

/* REVISION 02: full-width Saturday composition, actual master logo and clean hero */
.wrap{width:calc(100% - 64px);max-width:none;margin-inline:auto}
.top{background:linear-gradient(180deg,#ffffff 0%,#f6f9fb 100%);backdrop-filter:none}
.topinner{min-height:92px}
.logo img{width:220px;max-width:32vw;height:auto;mix-blend-mode:normal;mask-image:none;-webkit-mask-image:none}
.hero{min-height:480px}
.hero .wrap{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:35px;min-height:480px}
.hero-copy{padding:35px 0 45px}
.hero h1{font-size:clamp(32px,3.0vw,53px);line-height:1.15;letter-spacing:-.035em}
.hero-image{width:100%;height:420px;object-fit:contain;object-position:center right;opacity:.30;filter:none;mask-image:linear-gradient(to right,transparent 0%,black 23%,black 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 23%,black 100%)}
.visuals{width:100%;max-width:none;margin:0;grid-template-columns:repeat(4,minmax(0,1fr))}
.casegrid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1050px){.hero .wrap{grid-template-columns:minmax(0,1fr)}.hero-image{position:absolute;right:0;top:0;width:62%;height:100%;opacity:.13;pointer-events:none}.hero-copy{max-width:850px}.hero h1{font-size:clamp(32px,4.4vw,49px)}}
@media(max-width:900px){.casegrid{grid-template-columns:repeat(2,minmax(0,1fr))}.visuals{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.wrap{width:calc(100% - 30px)}.logo img{width:155px;max-width:none}.hero .wrap{min-height:500px}.hero h1{font-size:clamp(30px,7.5vw,40px)}.hero-image{width:100%;opacity:.09}.casegrid,.visuals{grid-template-columns:1fr}}


/* REVISION 06 — clean Saturday composition, no duplicated image overlays */
.ribbon{background:#fff;padding:14px 0 16px;box-shadow:none}
.ribbon .wrap{width:calc(100% - 8%);max-width:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;align-items:center}
.ribbon .item{display:flex;align-items:center;gap:clamp(12px,1.3vw,22px);padding:0 clamp(12px,2vw,35px);border-right:1px solid #a8c2d0;min-width:0;min-height:66px}
.ribbon .item:last-child{border-right:0}
.ribbon .ribbon-icon{flex:0 0 58px;width:58px;height:58px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#002c4b;color:white;margin:0}
.ribbon .ribbon-icon svg{display:block;width:34px;height:34px}
.ribbon .ribbon-copy{min-width:0;display:flex;flex-direction:column;gap:4px}
.ribbon .ribbon-copy b{font-size:clamp(13px,1vw,17px);line-height:1.2;color:#002d4e;font-weight:800}
.ribbon .ribbon-copy span{display:block;font-size:clamp(11px,.83vw,14px);line-height:1.3;color:#53718a;margin:0}
.visuals{width:100%;max-width:none;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.visual-original{position:relative;min-height:0;aspect-ratio:543 / 480;overflow:hidden;background:#062b49}
.visual-original img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;display:block}
.visual-original::after{display:none!important;content:none!important}
.visual-original b{display:none!important}
.saturday-band{padding:0!important;min-height:0!important;border:0!important;background:#032541!important;overflow:hidden;position:relative}
.saturday-band::before,.saturday-band::after{content:none!important;display:none!important}
.saturday-band-image{display:block;width:100%;height:auto;object-fit:fill}
.saturday-band-mobile{display:none}
@media(max-width:1050px){
 .ribbon .wrap{width:94%;grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px}
 .ribbon .item:nth-child(2){border-right:0}
 .visuals{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
 .ribbon .wrap{grid-template-columns:1fr;row-gap:0}
 .ribbon .item{padding:12px 0;border-right:0;border-bottom:1px solid #d5e2e9}
 .ribbon .item:last-child{border-bottom:0}
 .ribbon .ribbon-icon{flex-basis:48px;width:48px;height:48px}
 .ribbon .ribbon-icon svg{width:29px;height:29px}
 .ribbon .ribbon-copy b{font-size:14px}
 .ribbon .ribbon-copy span{font-size:12px}
 .visuals{grid-template-columns:1fr}
 .saturday-band-image{display:none}
 .saturday-band-mobile{display:block;padding:26px 5%;background:linear-gradient(135deg,#052c4a,#003354);color:#fff}
 .saturday-band-mobile strong{color:#ffad3d;letter-spacing:.18em;font-size:12px}
 .saturday-band-mobile p{font-size:16px}
 .saturday-band-mobile span{color:#ffc36e}
}

/* REVISION 07 — faithful Saturday icons and separators */
.visual-original::before{content:"";position:absolute;z-index:2;left:76%;bottom:7.5%;width:1px;height:12%;background:rgba(229,240,249,.65);pointer-events:none}
/* Video overview concept: genuine working interaction, not a dead link */
.watch-trigger{display:inline-flex;align-items:center;gap:12px;background:transparent;border:0;color:#063152;font:800 15px Arial,Helvetica,sans-serif;cursor:pointer;vertical-align:middle;padding:8px 5px;text-align:left}
.watch-play{width:48px;height:48px;display:grid;place-items:center;border:2px solid #f4a23c;border-radius:50%;color:#e78c27;font-size:18px;padding-left:3px;background:#fff9ed;transition:background .2s}
.watch-trigger:hover .watch-play,.watch-trigger:focus-visible .watch-play{background:#ffdb9d}
.watch-trigger small{display:block;font-size:11px;font-weight:400;color:#4b6c80;margin-top:3px}
.overview-dialog{border:0;padding:0;max-width:min(780px,92vw);width:100%;border-radius:12px;box-shadow:0 20px 80px #001a32a0;overflow:hidden}
.overview-dialog::backdrop{background:#001d36b8}
.overview-shell{position:relative;background:#052d4b;color:white}
.overview-close{position:absolute;right:16px;top:12px;z-index:2;color:white;background:#123f60;border:1px solid #7ca0b4;border-radius:50%;font-size:25px;width:38px;height:38px;cursor:pointer}
.overview-stage{min-height:350px;padding:55px clamp(22px,6vw,65px) 25px;background:radial-gradient(circle at 80% 30%,#276a8a 0%,#082f4d 55%,#031e34 100%)}
.overview-kicker{color:#ffb34e;letter-spacing:.18em;font-size:11px;font-weight:800}
.overview-frame{padding:45px 0 20px;min-height:240px}
.overview-step{font-size:13px;color:#9cc5d8}
.overview-title{font:700 clamp(28px,4vw,48px)/1.1 Arial,Helvetica,sans-serif;margin:15px 0;color:white}
.overview-caption{font-size:17px;color:#d0e6f2;max-width:550px}
.overview-progress{height:5px;background:#39627a;border-radius:5px;overflow:hidden}.overview-progress span{display:block;height:100%;background:#ffae42;transition:width .25s}
.overview-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 22px;background:#f2f8fb;color:#34536a}
.overview-controls button{border:0;background:#083c60;color:white;border-radius:6px;padding:10px 15px;cursor:pointer}.overview-controls button:disabled{opacity:.35;cursor:default}
.overview-note{font-size:11px;text-align:center}
@media(max-width:620px){.visual-original::before{left:76%}.overview-note{display:none}.watch-trigger{margin-top:10px}}

/* REVISION 08 — shared four-column geometry across both bands */
@media (min-width: 1051px) {
  .ribbon .wrap, .visuals {
    width:100%; max-width:none; margin:0;
    display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0;
  }
  .ribbon .item {
    width:100%; min-width:0; margin:0;
    padding:12px clamp(12px,2vw,36px);
    display:flex; align-items:center; justify-content:center;
    gap:clamp(10px,1.2vw,20px);
    border-right:1px solid #b5cedc;
  }
  .ribbon .item:last-child {border-right:0}
  .ribbon .ribbon-icon {flex:0 0 54px;width:54px;height:54px}
  .ribbon .ribbon-copy {flex:0 1 225px; min-width:0}
  .visual-original {width:100%;min-width:0;aspect-ratio:543 / 480}
  .visual-original img {width:100%;height:100%;object-fit:fill}
}

/* REVISION 09: precise four-column alignment and original baked-in artwork */
.visual-original::before{display:none!important;content:none!important}
.ribbon,.visuals{box-sizing:border-box}
@media(min-width:1051px){
 .ribbon .wrap,.visuals{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
 .ribbon .item{box-sizing:border-box!important;display:flex!important;justify-content:flex-start!important;align-items:center!important;min-width:0!important;width:100%!important;gap:14px!important;padding:12px 18px!important;margin:0!important;border-right:1px solid #b5cedc!important}
 .ribbon .item:last-child{border-right:0!important}
 .ribbon .ribbon-icon{flex:0 0 52px!important;width:52px!important;height:52px!important}
 .ribbon .ribbon-copy{flex:1 1 auto!important;min-width:0!important}
 .ribbon .ribbon-copy b{font-size:clamp(11px,1.04vw,15px)!important;overflow-wrap:normal}
 .ribbon .ribbon-copy span{font-size:clamp(10px,.88vw,13px)!important}
 .visuals>.visual{box-sizing:border-box!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important}
}
@media(min-width:621px) and (max-width:1050px){.ribbon .wrap{width:100%!important}.ribbon .item{box-sizing:border-box}}

/* REVISION 10 — equal visual geometry; clean, independent ribbon */
.ribbon .item,.ribbon .item:last-child{border-right:0!important;border-left:0!important;border-bottom:0!important}
.ribbon .wrap{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.ribbon .item{min-width:0!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;padding:12px 15px!important}
.ribbon .ribbon-icon{flex:0 0 52px!important}
.ribbon .ribbon-copy{min-width:0!important;flex:1 1 0!important}
.visuals{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;width:100%!important;margin:0!important;padding:0!important}
.visuals>.visual{display:block!important;min-width:0!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;aspect-ratio:543 / 480!important;min-height:0!important;overflow:hidden!important}
.visuals>.visual img{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:fill!important;max-width:none!important}
.visuals>.visual::after{display:none!important}
@media(max-width:720px){.ribbon .wrap{grid-template-columns:repeat(2,minmax(0,1fr))!important}.visuals{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:480px){.ribbon .wrap,.visuals{grid-template-columns:1fr!important}}

/* REVISION 11: fixed quarter-width panels, not content-sized grid tracks */
.visuals {
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  width:100%!important;
  gap:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.visuals > .visual {
  display:block!important;
  position:relative!important;
  flex:0 0 25%!important;
  width:25%!important;
  max-width:25%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  aspect-ratio:543 / 480!important;
}
.visuals > .visual > img {
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:fill!important;
  display:block!important;
}
@media(max-width:720px){.visuals{flex-wrap:wrap!important}.visuals>.visual{flex:0 0 50%!important;width:50%!important;max-width:50%!important}}
@media(max-width:480px){.visuals>.visual{flex:0 0 100%!important;width:100%!important;max-width:100%!important}}

/* Revision 12: correct the source image spillover and tighten hero */
@media(min-width:901px){
.hero,.hero .wrap{min-height:470px!important}
.hero-copy{padding-bottom:16px!important;padding-top:25px!important}
.hero-image{height:470px!important}
}
.visuals>.visual{flex:0 0 25%!important;width:25%!important;max-width:25%!important}
.visuals>.visual>img{width:100%!important;height:100%!important;object-fit:fill!important}
@media(max-width:720px){.visuals>.visual{flex-basis:50%!important;width:50%!important;max-width:50%!important}}
@media(max-width:480px){.visuals>.visual{flex-basis:100%!important;width:100%!important;max-width:100%!important}}

/* Revision 14: larger, more visible hero illustration, shifted left and up. */
@media (min-width:901px) {
 .hero .wrap {overflow:visible;}
 .hero-image {
   position:relative!important;
   width:128%!important;
   max-width:none!important;
   height:520px!important;
   margin-left:-105px!important;
   margin-top:-45px!important;
   object-fit:contain!important;
   object-position:center center!important;
   opacity:.44!important;
   mask-image:linear-gradient(to right,transparent 0%,black 16%,black 100%)!important;
   -webkit-mask-image:linear-gradient(to right,transparent 0%,black 16%,black 100%)!important;
 }
}
@media (max-width:900px){
 .hero-image{opacity:.16!important;object-position:center top!important;}
}

/* Saturday fidelity review: single hairline separators, no overlaid pipes. */
.visuals{gap:0!important;column-gap:0!important;}
.visuals>.visual{border:0!important;outline:0!important;box-shadow:none!important;}
.visuals>.visual::before,.visuals>.visual::after{display:none!important;content:none!important;}
.visuals>.visual:not(:last-child){box-shadow:inset -1px 0 rgba(227,238,245,.48)!important;}

/* SINGLE CONTROLLED FIX: eliminate white seam between sector 1 and sector 2. */
.visuals,.visuals>.visual{gap:0!important;column-gap:0!important;border:0!important;outline:0!important;box-shadow:none!important}
.visuals>.visual:not(:last-child){box-shadow:none!important}
.visuals>.visual::before,.visuals>.visual::after{display:none!important;content:none!important}
.visuals>.visual>img{border:0!important;outline:0!important;box-shadow:none!important}


/* JBC Our Impact backdrop proof — scoped only to #impact; baseline hero untouched. */
#impact { background: #f5fbfe url("assets/JBC-Hero-Watermark.webp") no-repeat right 85px / auto 510px fixed; padding-bottom:0; }
#impact > .wrap { padding-bottom:26px; }
#impact .impact-solid { background:#f5fbfe; padding:24px 0 75px; }
#impact .eyebrow, #impact h2, #impact .intro { position:relative; }
#impact .intro { background:rgba(245,251,254,.78); max-width:850px; }
@media (max-width:850px) {
  #impact { background-attachment:scroll; background-size:auto 380px; background-position:right top; }
  #impact > .wrap { background:linear-gradient(90deg,rgba(245,251,254,.96),rgba(245,251,254,.75)); }
}

/* 27 Oct: HOMEPAGE FIXED BACKDROP PROOF. Only hero visual behaviour changes.
   The existing hero image is used as a viewport-fixed background, and its
   original inline image is hidden on wide screens to avoid doubling.
   All ribbons, photographs and other sections retain their opaque panels. */
@media (min-width: 1051px) {
  .hero {
    background-image: url("assets/JBC-Hero-Watermark.webp"), linear-gradient(105deg,#fff 0%,#f5fbff 46%,#c5e8fa 100%);
    background-attachment: fixed, scroll;
    background-repeat: no-repeat, no-repeat;
    background-position: right 85px, center;
    background-size: auto 510px, cover;
  }
  .hero-image { visibility:hidden!important; }
}
/* On smaller screens preserve the already-approved responsive hero. */

/* JBC RELEASE 03 — OUR IMPACT ONLY. Remove duplicate metric ribbon in markup;
   allow fixed engineer backdrop behind cards, without changing their photographs. */
#impact .impact-solid { background:transparent; padding:12px 0 75px; }
#impact .casegrid { gap:16px; }
#impact .case { background:rgba(247,251,254,.78); border:1px solid rgba(255,255,255,.88); border-radius:7px; box-shadow:0 4px 15px rgba(4,42,70,.12); overflow:hidden; }
#impact .case img { display:block; width:100%; height:178px; object-fit:cover; }
#impact .case .copy { background:rgba(245,251,255,.78); padding:17px 19px 19px; }
#impact .case h3 { font-size:22px; line-height:1.16; margin:9px 0; }
#impact .case .figure { font-size:29px; line-height:1.15; }
#impact .case p { margin:8px 0; }
#impact .case .disclaimer { margin-top:12px; }
@media(max-width:850px){
  #impact .case { background:rgba(248,252,255,.94); }
  #impact .case .copy { background:rgba(248,252,255,.94); }
}

/* JBC RELEASE 04 — scoped finishing adjustments; no asset or content changes.
   Remove the introduction's tinted rectangle; keep text readable against
   the existing pale backdrop. Add a hairline grey-blue full-card outline. */
#impact .intro { background:transparent; }
#impact .case { border:1px solid rgba(92,130,156,.52); }

/* Release 05: scoped expandable case studies; existing card assets and styling unchanged. */
#impact .case-more{display:inline-flex;align-items:center;gap:10px;margin-top:12px;padding:6px 0;border:0;border-bottom:1px solid rgba(92,130,156,.6);background:transparent;color:#07365b;font:700 14px Arial,Helvetica,sans-serif;cursor:pointer}
#impact .case-more:hover,#impact .case-more:focus-visible{color:#b86124;border-bottom-color:#b86124}
#impact .case-more span{font-size:20px;line-height:12px}
#impact .case-more[aria-expanded="true"] span{transform:rotate(180deg)}
#impact .case-story{grid-column:1/-1;padding:25px 29px 27px;background:rgba(246,251,254,.93);border:1px solid rgba(92,130,156,.52);border-radius:7px;box-shadow:0 5px 18px rgba(4,42,70,.12)}
#impact .case-story[hidden]{display:none!important}
#impact .case-story h3{margin:0 0 19px;font-size:25px;color:#07365b}
#impact .case-story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 30px}
#impact .case-story h4{margin:0 0 7px;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:#b86124}
#impact .case-story p{margin:0;font-size:15px;line-height:1.6;color:#173e5a}
@media(max-width:620px){#impact .case-story{padding:20px}#impact .case-story-grid{grid-template-columns:1fr;gap:18px}#impact .case-story h3{font-size:22px}}

/* Release 05.2: result emphasis within original Release 05 two-column panels. */
#impact .case-story-grid .case-result-heading,
#impact .case-story-grid .case-result-heading + p {color:#d66a23;font-weight:700;}

/* Release 05.3: compact impact cards only; expanded stories unchanged. */
#impact .case .copy { padding:15px 18px 15px; }
#impact .case h3 { margin:7px 0; }
#impact .case-more { margin-top:7px; }

/* Release 05.4 — Our Impact closing banner ONLY. Inspired by Saturday's approved branding.
   Reuses the existing international map artwork; no asset or previous section edits. */
.impact-difference-band{position:relative;isolation:isolate;overflow:hidden;background:#052943;color:#fff;min-height:154px;border-top:3px solid #e8a348;border-bottom:3px solid #e8a348}
.impact-difference-band::before{content:"";position:absolute;z-index:-1;inset:0 0 0 43%;background:url('assets/saturday-international-banner.webp') center right/cover no-repeat;opacity:.72}
.impact-difference-band::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#052943 0%,#052943 37%,rgba(5,41,67,.92) 65%,rgba(5,41,67,.38) 100%)}
.impact-difference-inner{width:calc(100% - 64px);margin:auto;display:grid;grid-template-columns:minmax(180px,1.05fr) minmax(0,4fr);gap:18px;align-items:center;min-height:154px}
.impact-difference-intro{padding:15px 14px 15px 0;display:flex;flex-direction:column;gap:7px}
.impact-difference-intro span{color:#ffb34a;font-size:10px;letter-spacing:.18em;font-weight:800}
.impact-difference-intro strong{font:700 clamp(22px,2vw,32px)/1.06 Georgia,serif;color:#fff}
.impact-difference-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center}
.impact-value{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:95px;text-align:center;padding:9px 11px;border-left:1px solid rgba(174,206,226,.23)}
.impact-value-icon{color:#ffad3c;font-size:25px;line-height:1.15;margin-bottom:5px}
.impact-value b{color:#ffb34a;font-size:10px;line-height:1.2;letter-spacing:.035em}
.impact-value small{color:#e0edf4;font-size:10px;line-height:1.3;margin-top:5px}
@media(max-width:900px){.impact-difference-inner{grid-template-columns:1fr;gap:0;padding:18px 0}.impact-difference-intro{text-align:center;align-items:center;padding:0 0 12px}.impact-difference-intro strong br{display:none}.impact-difference-band::before{inset:0;background-position:center;opacity:.45}.impact-difference-band::after{background:rgba(5,41,67,.82)}}
@media(max-width:620px){.impact-difference-inner{width:calc(100% - 30px)}.impact-difference-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 0}.impact-value:nth-child(odd){border-left:0}.impact-value{min-height:105px;padding:8px}.impact-difference-intro strong{font-size:26px}}

/* Release 05.4.1: banner-only refinement. Reduce excess gap below Impact; fine gold rule. */
#impact .impact-solid{padding-bottom:16px;}
.impact-difference-band{border-top:1px solid rgba(232,163,72,.8);border-bottom:0;}

/* Release 05.4.2: banner-only icon refinement and temporary visual separation.
   No changes to Approach section contents or layout. */
.impact-difference-band .impact-value-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin:0 auto 5px;color:#ffad3c}
.impact-difference-band .impact-value-icon svg{display:block;width:31px;height:31px;flex:none}
/* Deliberate test-only breathing room before Approach; remove on final integration. */
.impact-difference-band + #approach{margin-top:34px}
@media(max-width:620px){.impact-difference-band + #approach{margin-top:22px}}

/* RELEASE 05.5 — OUR APPROACH ONLY. Other sections intentionally unchanged. */
#approach{padding:52px 0 56px;background:#052b47}
#approach .eyebrow{color:#ffae42}
#approach h2{font-size:clamp(29px,3vw,43px);margin:8px 0 12px}
#approach .intro{font-size:16px;max-width:790px;margin-bottom:22px}
#approach .steps{gap:15px;margin-top:22px}
#approach .step{background:rgba(255,255,255,.055);border:1px solid rgba(176,210,229,.22);border-top:2px solid #f3a043;padding:18px 17px 20px;min-height:185px}
#approach .step strong{font-size:19px}
#approach .step h3{font-size:21px;line-height:1.2;margin:10px 0}
#approach .step p{font-size:14px;line-height:1.55;margin:0}
#approach .quote{font-size:clamp(19px,2vw,25px);max-width:none;margin:26px 0 14px;padding:10px 0 10px 20px}
#approach .quote + p{margin:0;font-size:13px;letter-spacing:.02em}
@media(max-width:900px){#approach .steps{grid-template-columns:repeat(2,minmax(0,1fr))}#approach .step{min-height:160px}}
@media(max-width:620px){#approach{padding:38px 0 42px}#approach .steps{grid-template-columns:1fr}#approach .step{min-height:0}#approach .quote{margin-top:20px}}

/* RELEASE 05.5.1 — APPROACH VISUAL REFINEMENT ONLY */
#approach{background:#eaf5fa;color:#07365b}
#approach h2,#approach h3{color:#07365b}
#approach .intro{color:#244e6b}
#approach .step{background:#fff;border:1px solid #c6dce8;border-top:2px solid #e9872c;box-shadow:0 3px 12px #0038590a;min-height:180px;display:flex;flex-direction:column;align-items:flex-start}
#approach .step strong{color:#e47b2b;font-size:19px}
#approach .approach-method{display:block;color:#df7624;font-size:11px;font-weight:800;letter-spacing:.075em;text-transform:uppercase;margin:9px 0 0}
#approach .step h3{margin:10px 0 8px}
#approach .step p{color:#234e69}
#approach .quote{color:#dc7324;border-left:3px solid #e9872c;font-weight:700;background:transparent;line-height:1.42}
@media(max-width:620px){#approach .step{min-height:0}}

/* RELEASE 05.5.2 — APPROACH BACKDROP ONLY. Keep approved card copy and styling.
   Remove temporary banner separation; reuse existing approved Bengineer artwork. */
.impact-difference-band + #approach { margin-top:0; }
#approach {
  background-color:#eaf5fa;
  background-image:linear-gradient(90deg,rgba(234,245,250,.98) 0%,rgba(234,245,250,.96) 47%,rgba(234,245,250,.80) 74%,rgba(234,245,250,.65) 100%),url('assets/JBC-Hero-Watermark.webp');
  background-position:center,right 85px;
  background-size:cover,auto 510px;
  background-repeat:no-repeat,no-repeat;
  background-attachment:scroll,fixed;
}
#approach .step {background:rgba(255,255,255,.93);}
@media(max-width:850px){
  #approach {background-attachment:scroll,scroll;background-position:center,right top;background-size:cover,auto 380px;}
  #approach .step {background:rgba(255,255,255,.96);}
}

/* RELEASE 05.5.3 — THREE TARGETED VISUAL REFINEMENTS ONLY */
.impact-difference-intro span{color:#ffb34a;}
.impact-difference-band + #approach{margin-top:20px;}
#approach{
  background-image:linear-gradient(90deg,rgba(234,245,250,.82) 0%,rgba(234,245,250,.65) 43%,rgba(234,245,250,.27) 76%,rgba(234,245,250,.15) 100%),url('assets/JBC-Hero-Watermark.webp');
}
#approach .step{background:rgba(255,255,255,.88);}
#approach .approach-stage-label{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;}
#approach .approach-stage-label .approach-method{margin:0;}
@media(max-width:850px){
  #approach{background-image:linear-gradient(90deg,rgba(234,245,250,.86),rgba(234,245,250,.40)),url('assets/JBC-Hero-Watermark.webp');}
  #approach .step{background:rgba(255,255,255,.92);}
}
@media(max-width:620px){.impact-difference-band + #approach{margin-top:14px;}}


/* RELEASE 05.5.6 — OUR EXPERTISE VISUAL STYLE ONLY.
   Match the approved Our Approach palette, cards and Bengineer backdrop.
   Retain all six existing expertise cards and their wording. */
#expertise {
  background-color:#eaf5fa;
  background-image:linear-gradient(90deg,rgba(234,245,250,.82) 0%,rgba(234,245,250,.65) 43%,rgba(234,245,250,.27) 76%,rgba(234,245,250,.15) 100%),url('assets/JBC-Hero-Watermark.webp');
  background-position:center,right 85px;
  background-size:cover,auto 510px;
  background-repeat:no-repeat,no-repeat;
  background-attachment:scroll,fixed;
  padding:52px 0 56px;
}
#expertise h2 {font-size:clamp(29px,3vw,43px);margin:8px 0 12px;color:#07365b;}
#expertise .intro {font-size:16px;max-width:790px;margin-bottom:22px;color:#244e6b;}
#expertise .servicegrid {gap:15px;margin-top:22px;}
#expertise .service {
  background:rgba(255,255,255,.88);
  border:1px solid #c6dce8;
  border-top:2px solid #e9872c;
  box-shadow:0 3px 12px #0038590a;
  padding:18px 17px 20px;
  min-height:180px;
}
#expertise .service h3 {font-size:21px;line-height:1.2;margin:10px 0 8px;color:#07365b;}
#expertise .service p {font-size:14px;line-height:1.55;margin:0;color:#234e69;}
@media(max-width:850px){
  #expertise {
    background-image:linear-gradient(90deg,rgba(234,245,250,.86),rgba(234,245,250,.40)),url('assets/JBC-Hero-Watermark.webp');
    background-attachment:scroll,scroll;
    background-position:center,right top;
    background-size:cover,auto 380px;
  }
  #expertise .service {background:rgba(255,255,255,.92);}
}
@media(max-width:620px){
  #expertise {padding:38px 0 42px;}
  #expertise .service {min-height:0;}
}

/* RELEASE 05.5.7 — EXPERTISE BANNER ONLY; reuse the approved Impact banner rules. */
#expertise + .impact-difference-band .impact-difference-intro strong{font-size:clamp(20px,1.85vw,30px)}
#expertise + .impact-difference-band .impact-value b{font-size:clamp(10px,.9vw,12px)}

/* RELEASE 05.5.8 — PAGE BOUNDARIES & NAVIGATION ANCHORS ONLY.
   Preserve approved Home wave, both content banners, cards and all section copy.
   The blank navy chapter divider uses a gold wave inspired by the Home transition. */
:root { --jbc-chapter-gap:20px; }
.saturday-band + #expertise,
#expertise + .impact-difference-band + #impact,
.impact-difference-band + #approach {
  margin-top:var(--jbc-chapter-gap);
}
.jbc-chapter-divider {
  position:relative;
  height:72px;
  margin-top:0;
  background:#052943;
  overflow:hidden;
  isolation:isolate;
}
.jbc-chapter-divider::before {
  content:"";
  position:absolute;
  left:-5%;
  top:-67px;
  width:110%;
  height:90px;
  border-bottom:5px solid #e8a348;
  border-radius:0 0 50% 50%;
  transform:rotate(-1deg);
}
.jbc-chapter-divider + #about { margin-top:var(--jbc-chapter-gap); }
#home,#expertise,#impact,#approach,#about,#contact {
  scroll-margin-top:110px;
}
@media(max-width:620px){
  :root { --jbc-chapter-gap:14px; }
  .jbc-chapter-divider {height:56px;}
  #home,#expertise,#impact,#approach,#about,#contact {scroll-margin-top:78px;}
}

/* RELEASE 05.5.9 — ABOUT ONLY. Existing approved page sections remain untouched. */
#about {background:#fff;padding:65px 0 34px;}
#about .about-feature {grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:32px;align-items:start;}
#about .about-business {padding:5px 4px 0 0;}
#about h2 {font-size:clamp(30px,3vw,45px);margin:10px 0 23px;}
#about p {font-size:15px;line-height:1.7;margin:0 0 17px;}
#about .about-capabilities {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:25px;}
#about .about-capabilities div {display:flex;align-items:center;gap:9px;background:#eaf5fa;border-left:2px solid #ee903b;padding:12px 10px;font-size:13px;font-weight:700;}
#about .about-capabilities span {color:#e8832c;font-size:23px;line-height:1;}
#about aside.about-founder {padding:0;background:#eaf5fa;border:1px solid #d0e4ee;border-top:3px solid #ef923b;overflow:hidden;display:grid;grid-template-columns:38% minmax(0,1fr);align-items:stretch;}
#about .about-founder-photo {min-height:405px;background:#d9e9ef;}
#about .about-founder-photo img {width:100%;height:100%;object-fit:cover;object-position:center 27%;display:block;}
#about .about-founder-copy {padding:21px 21px 23px;}
#about .about-founder-copy .eyebrow {font-size:10px;letter-spacing:.18em;}
#about .about-founder-copy h3 {font-size:clamp(25px,2.2vw,33px);margin:8px 0 3px;color:#07365b;}
#about .about-founder-copy .about-role {font-weight:700;color:#1b567a;font-size:13px;margin-bottom:15px;}
#about .about-founder-copy p {font-size:13px;line-height:1.55;margin-bottom:11px;}
#about .about-motto {border-top:1px solid #b4d4e3;padding-top:13px;margin-top:13px;display:flex;flex-direction:column;gap:5px;}
#about .about-motto span {font-size:11px;letter-spacing:.15em;color:#e8832c;font-weight:800;}
#about .about-motto strong {font:700 21px Georgia,serif;color:#07365b;}
#about .about-motto em {font:italic 16px/1.4 Georgia,serif;color:#07365b;}
#about .about-values {margin-top:28px;padding-top:18px;border-top:1px solid #c9dfe9;text-align:center;font-weight:700;font-size:14px;color:#0a4569;}
#about .about-values span {color:#e17b28;margin:0 7px;}
.about-experience-band .impact-difference-intro strong {font-size:clamp(20px,1.85vw,30px);}
.about-experience-band .impact-value-icon {font-family:Georgia,serif;font-weight:700;font-size:29px;}
.about-experience-band .impact-value b {font-size:clamp(16px,1.5vw,23px);color:#ffb34a;}
.about-experience-band .impact-value small {font-size:10px;}
.about-results-note {position:relative;z-index:1;max-width:1160px;margin:0 auto;padding:0 22px 11px;text-align:center;color:#d5e7f0;font-size:10px;line-height:1.4;}
.about-experience-band + #contact {margin-top:var(--jbc-chapter-gap,20px);}
@media(max-width:1050px) {
 #about aside.about-founder {grid-template-columns:1fr;}
 #about .about-founder-photo {min-height:0;height:280px;}
 #about .about-founder-photo img {object-position:center 34%;}
}
@media(max-width:760px) {
 #about .about-feature {grid-template-columns:1fr;gap:25px;}
 #about aside.about-founder {grid-template-columns:38% minmax(0,1fr);}
 #about .about-founder-photo {height:auto;min-height:380px;}
}
@media(max-width:620px) {
 #about {padding:43px 0 27px;}
 #about aside.about-founder {grid-template-columns:1fr;}
 #about .about-founder-photo {height:330px;min-height:0;}
 #about .about-capabilities {grid-template-columns:1fr 1fr;gap:8px;}
 #about .about-capabilities div {font-size:11px;padding:10px 8px;}
 #about .about-values {line-height:1.7;}
 .about-results-note {padding:0 14px 12px;}
}

/* RELEASE 05.5.10 — ABOUT POLISH ONLY.
   Align founder panel with left heading; match approved Bengineer backdrop. */
#about {
  background-color:#eaf5fa;
  background-image:linear-gradient(90deg,rgba(234,245,250,.82) 0%,rgba(234,245,250,.65) 43%,rgba(234,245,250,.27) 76%,rgba(234,245,250,.15) 100%),url('assets/JBC-Hero-Watermark.webp');
  background-position:center,right 85px;
  background-size:cover,auto 510px;
  background-repeat:no-repeat,no-repeat;
  background-attachment:scroll,fixed;
}
#about .about-business > .eyebrow {
  color:#f0782e;
  font-size:14px;
  font-weight:800;
  letter-spacing:.19em;
}
#about aside.about-founder {margin-top:34px;background:rgba(234,245,250,.94);}
#about .about-capabilities div {background:rgba(234,245,250,.88);}
@media(max-width:850px) {
  #about {background-attachment:scroll,scroll;background-position:center,right top;background-size:cover,auto 380px;}
}
@media(max-width:760px) {
  #about aside.about-founder {margin-top:0;}
}

/* RELEASE 05.5.11 — ABOUT TWO MICRO-ADJUSTMENTS ONLY */
#about .about-founder-copy {display:flex;flex-direction:column;}
#about .about-founder-copy .about-motto {margin-top:auto;}

/* RELEASE 05.5.12 — Approach banner and founder quote placement only. */
#about .about-founder-copy {display:flex;flex-direction:column;}
#about .about-founder-copy .about-motto {margin-top:13px;}
#about .about-founder-quote {margin-top:auto;padding-top:22px;text-align:center;}
#about .about-founder-quote em {display:block;font:italic 15px/1.4 Georgia,serif;color:#07365b;white-space:nowrap;}
.approach-closing-band .impact-difference-inner {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.6fr);align-items:center;}
.approach-closing-band .impact-difference-intro {max-width:none;}
.approach-closing-band .impact-difference-intro strong {font-size:clamp(23px,2vw,34px);line-height:1.05;}
.approach-banner-quote {border-left:1px solid rgba(185,214,232,.3);padding:18px 32px;color:#fff;font:italic clamp(17px,1.5vw,23px)/1.45 Georgia,serif;text-align:center;}
.approach-closing-band + #about {margin-top:var(--jbc-chapter-gap,20px);}
@media(max-width:1050px) {#about .about-founder-quote em {white-space:normal;}}
@media(max-width:760px) {.approach-closing-band .impact-difference-inner {grid-template-columns:1fr;gap:12px;}.approach-banner-quote {border-left:0;border-top:1px solid rgba(185,214,232,.3);padding:16px 5px 6px;}}

/* RELEASE 05.5.13 — Approach headline wording and size only. */
.approach-closing-band .impact-difference-intro strong {font-size:clamp(19px,1.55vw,26px);line-height:1.18;}

/* RELEASE 05.5.14 — CONTACT ONLY. Netlify static HTML form, no external tracking. */
#contact {background-color:#eaf5fa;background-image:linear-gradient(90deg,rgba(234,245,250,.82) 0%,rgba(234,245,250,.65) 43%,rgba(234,245,250,.27) 76%,rgba(234,245,250,.15) 100%),url('assets/JBC-Hero-Watermark.webp');background-position:center,right 85px;background-size:cover,auto 510px;background-repeat:no-repeat,no-repeat;background-attachment:scroll,fixed;padding:60px 0 68px;}
#contact .contact-layout {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:42px;align-items:start;}
#contact h2 {font-size:clamp(30px,3vw,43px);line-height:1.15;margin:12px 0 22px;}
#contact .contact-intro>p {font-size:16px;line-height:1.7;max-width:540px;}
#contact .contact-direct {display:grid;gap:18px;margin-top:35px;}
#contact .contact-detail {display:flex;gap:14px;align-items:flex-start;}
#contact .contact-detail>span {font-size:29px;line-height:1;color:#e9872c;min-width:30px;}
#contact .contact-detail div {display:grid;gap:4px;}
#contact .contact-detail strong {color:#07365b;font-size:15px;}
#contact .contact-detail a {color:#09547e;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;}
#contact .contact-detail small {color:#315e79;font-size:13px;}
#contact .contact-promise {font-weight:700;color:#0b496c;margin-top:35px;}
#contact .contact-form-panel {background:rgba(255,255,255,.94);border:1px solid #c7dfe9;border-top:3px solid #e9872c;padding:27px 28px 25px;box-shadow:0 4px 22px rgba(0,45,75,.08);}
#contact .contact-form-panel h3 {color:#07365b;font-size:25px;margin:0 0 7px;}
#contact .contact-form-panel>p {font-size:14px;color:#315e79;margin:0 0 22px;}
#contact .contact-fields {display:grid;grid-template-columns:1fr 1fr;gap:15px;}
#contact .contact-fields label {display:flex;flex-direction:column;gap:7px;color:#0c3e5c;font-size:13px;font-weight:700;}
#contact .contact-fields label span {font-weight:400;color:#53758a;}
#contact .contact-wide {grid-column:1/-1;}
#contact .contact-fields input,#contact .contact-fields textarea {width:100%;box-sizing:border-box;border:1px solid #adcbdc;border-radius:3px;background:#fff;color:#092f48;font:inherit;font-size:15px;padding:11px 12px;outline-offset:2px;}
#contact .contact-fields textarea {resize:vertical;min-height:130px;}
#contact .contact-fields input:focus,#contact .contact-fields textarea:focus {outline:2px solid #e9872c;border-color:#e9872c;}
#contact .contact-send {border:0;background:#e9872c;color:#fff;padding:13px 20px;font-size:13px;font-weight:800;letter-spacing:.06em;cursor:pointer;margin-top:20px;}
#contact .contact-send:hover {background:#cb6c1b;}
#contact .contact-privacy {font-size:11px;line-height:1.5;color:#4e6e82;margin:16px 0 0;}
#contact .contact-trap {position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
@media(max-width:850px){#contact{background-attachment:scroll,scroll;background-position:center,right top;background-size:cover,auto 380px;}#contact .contact-layout{gap:24px;}}
@media(max-width:720px){#contact .contact-layout{grid-template-columns:1fr;}#contact{padding:43px 0 50px;}}
@media(max-width:460px){#contact .contact-fields{grid-template-columns:1fr;}#contact .contact-form-panel{padding:22px 18px;}}

/* TEST — 05.5.14 baseline: increase image height for all six Our Impact cards.
   The existing copy remains natural-height, fully visible and never scrolls.
   CSS grid stretches cards in each row to the height of the longest card. */
#impact .case img { height:310px; object-fit:cover; }
#impact .case .copy { overflow:visible; height:auto; max-height:none; }

/* 05.5.24 EXPERIMENT ONLY — desktop Our Impact card scale; no source imagery or copy changes. */
@media (min-width: 1100px) {
  #impact .impact-solid > .wrap { width:90%; max-width:none; }
  #impact .casegrid { gap:18px; }
  #impact .case img { height:280px; object-fit:cover; }
  #impact .case .copy { padding:14px 16px 15px; overflow:visible; height:auto; max-height:none; }
  #impact .case h3 { font-size:20px; line-height:1.18; }
  #impact .case .figure { font-size:27px; }
}

/* 05.5.26: remove unused hero CTA space; no changes to cards or imagery */
@media(min-width:901px){.hero,.hero .wrap{min-height:440px}.hero-copy{padding-bottom:25px}}
@media(max-width:900px){.hero-copy{padding-bottom:22px}}

/* 05.5.28: legal footer readability, no design changes */
.foot .wrap{flex-wrap:wrap;gap:8px 18px}.foot a{color:inherit;text-decoration:underline}.contact-privacy a{color:inherit;text-decoration:underline}
