
:root{
  --navy:#102433;
  --navy-2:#183446;
  --ink:#14202a;
  --muted:#64717a;
  --paper:#f7f8f5;
  --white:#fff;
  --line:#d9e0df;
  --green:#5f9b73;
  --green-dark:#3f7452;
  --green-pale:#e7f0e8;
  --sand:#ece8df;
  --max:1220px;
  --pad:clamp(1.25rem,4vw,3rem);
  --display:"DM Serif Display", Georgia, serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
h1,h2,h3{margin:0;font-family:var(--display);font-weight:400;line-height:1.08;letter-spacing:-.02em}
p{margin:0}
.wrap{max-width:var(--max);margin:auto;padding:0 var(--pad)}
.eyebrow{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--green-dark)}
.smallcaps{font-size:.75rem;letter-spacing:.11em;text-transform:uppercase;font-weight:700}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;border-radius:3px;padding:.9rem 1.25rem;font-weight:700;font-size:.9rem;transition:.2s ease;border:1px solid transparent}
.btn-primary{background:var(--green-dark);color:#fff}
.btn-primary:hover{background:#315d41;transform:translateY(-1px)}
.btn-light{background:#fff;color:var(--navy)}
.btn-outline{border-color:rgba(255,255,255,.5);color:#fff}
.btn-outline:hover{background:#fff;color:var(--navy)}
.btn-dark-outline{border-color:var(--navy);color:var(--navy)}
.btn-dark-outline:hover{background:var(--navy);color:#fff}
.skip{position:absolute;left:1rem;top:-5rem;background:#fff;padding:.75rem 1rem;z-index:100}
.skip:focus{top:1rem}
.site-header{position:sticky;top:0;z-index:50;background:rgba(247,248,245,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(217,224,223,.8)}
.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between}
.nav{display:flex;align-items:center;gap:2rem}
.nav a{font-size:.88rem;font-weight:600;color:#34414a}
.nav a:hover{color:var(--green-dark)}
.nav .nav-cta{background:var(--navy);color:#fff;padding:.65rem 1rem;border-radius:3px}
.menu{display:none;border:0;background:none;font-size:1.5rem}
.hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.hero-grid{min-height:670px;display:grid;grid-template-columns:1.02fr .98fr;align-items:stretch}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(4rem,8vw,7rem) var(--pad) clamp(4rem,8vw,7rem) 0;position:relative;z-index:2}
.hero .eyebrow{color:#9fc7aa;margin-bottom:1.2rem}
.hero h1{font-size:clamp(3.2rem,6.2vw,6rem);max-width:10ch}
.hero h1 em{font-style:normal;color:#b8d7bf}
.hero-lede{max-width:58ch;margin-top:1.5rem;color:#d3dde1;font-size:1.05rem;line-height:1.75}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.hero-image{min-height:670px;position:relative}
.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0%,rgba(16,36,51,.18) 25%,rgba(16,36,51,0) 70%)}
.hero-image img{width:100%;height:100%;object-fit:cover}
.hero-caption{position:absolute;z-index:2;right:1.5rem;bottom:1.5rem;background:rgba(16,36,51,.8);padding:.65rem .8rem;color:#fff;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.trust-strip{background:#fff;border-bottom:1px solid var(--line)}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.trust-item{padding:1.5rem 1rem;border-right:1px solid var(--line)}
.trust-item:last-child{border-right:0}
.trust-value{font-family:var(--display);font-size:2rem;color:var(--navy)}
.trust-label{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:.2rem}
.section{padding:clamp(4.5rem,8vw,7.5rem) 0}
.section-head{max-width:760px;margin-bottom:3rem}
.section-head h2{font-size:clamp(2.2rem,4.4vw,3.7rem);margin-top:.65rem}
.section-head p{color:var(--muted);font-size:1.03rem;margin-top:1.15rem;max-width:66ch}
.intro-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,8vw,8rem);align-items:start}
.intro-lead{font-family:var(--display);font-size:clamp(1.6rem,2.8vw,2.35rem);color:var(--navy);line-height:1.25}
.intro-copy{color:var(--muted);font-size:1.02rem}
.intro-copy p+p{margin-top:1rem}
.dual-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:2rem}
.info-card{background:#fff;border:1px solid var(--line);padding:1.75rem;min-height:220px}
.info-card .icon{width:40px;height:40px;border:1px solid var(--line);display:grid;place-items:center;color:var(--green-dark);margin-bottom:1.2rem;font-weight:800}
.info-card h3{font-size:1.65rem;margin-bottom:.6rem}
.info-card p{color:var(--muted);font-size:.94rem}
.band{background:var(--sand)}
.case-study{background:var(--navy);color:#fff}
.case-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.case-study .eyebrow{color:#9fc7aa}
.case-study h2{font-size:clamp(2.5rem,4.5vw,4.1rem);margin-top:.65rem}
.case-study p{color:#cbd6da;margin-top:1.2rem;max-width:54ch}
.case-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.16);margin-top:2rem}
.case-meta div{background:var(--navy);padding:1rem}
.case-meta strong{display:block;font-family:var(--display);font-size:1.5rem;font-weight:400}
.case-meta span{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#9eacb2}
.gallery{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr;gap:.7rem;min-height:470px}
.gallery img{width:100%;height:100%;object-fit:cover}
.gallery .large{grid-row:1 / span 2}
.audience{background:#fff}
.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.audience-card{background:#fff;padding:clamp(2rem,4vw,3rem)}
.audience-card h3{font-size:2rem;margin:.6rem 0}
.audience-card p{color:var(--muted);max-width:45ch}
.audience-card ul{margin:1.25rem 0 1.5rem;padding:0}
.audience-card li{padding:.55rem 0;border-top:1px solid var(--line);font-size:.9rem}
.audience-card li:before{content:"→";color:var(--green-dark);margin-right:.6rem}
.quote{background:var(--green-pale);padding:clamp(3rem,7vw,6rem) 0}
.quote-inner{max-width:900px}
.quote blockquote{margin:0;font-family:var(--display);font-size:clamp(2rem,4vw,3.4rem);line-height:1.2;color:var(--navy)}
.quote cite{display:block;margin-top:1.25rem;color:var(--muted);font-style:normal;font-size:.85rem}
.page-hero{background:var(--navy);color:#fff;padding:clamp(5rem,10vw,8rem) 0}
.page-hero h1{font-size:clamp(3rem,6vw,5.5rem);max-width:12ch}
.page-hero h1 em{font-style:normal;color:#b8d7bf}
.page-hero .eyebrow{color:#9fc7aa}
.page-hero p.lede{max-width:66ch;color:#d0dadd;font-size:1.08rem;margin-top:1.5rem;line-height:1.75}
.light-section{background:var(--paper)}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px;margin:0 auto;border-bottom:1px solid var(--line);background:#fff}
.stat{padding:2.25rem 1rem;text-align:center;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat strong{display:block;font-family:var(--display);font-size:2.7rem;font-weight:400;color:var(--navy)}
.stat span{display:block;margin-top:.3rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.stats.stats-three{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1100px}
.experience-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(3rem,8vw,8rem)}
.experience-list{display:grid;gap:1rem}
.experience-item{padding:1.4rem 0;border-top:1px solid var(--line)}
.experience-item strong{font-size:1rem}
.experience-item span{display:block;color:var(--muted);font-size:.9rem;margin-top:.2rem}
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.team-card{background:#fff;border:1px solid var(--line)}
.team-photo{aspect-ratio:4/4.5;overflow:hidden;background:#e9eceb}
.team-photo img{width:100%;height:100%;object-fit:cover}
.team-card-body{padding:1.75rem}
.team-card h2{font-size:2rem}
.role{color:var(--green-dark);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800;margin:.35rem 0 1rem}
.team-card p{color:var(--muted);font-size:.94rem}
.team-card p+p{margin-top:1rem}
.case-gallery{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:300px 300px;gap:.8rem}
.case-gallery img{width:100%;height:100%;object-fit:cover}
.case-gallery .big{grid-row:1 / span 2}
.criteria{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.criteria-card{background:#fff;padding:2rem}
.criteria-card .num{font-family:var(--display);font-size:2rem;color:var(--green-dark)}
.criteria-card h3{font-size:1.5rem;margin:.4rem 0 .6rem}
.criteria-card p{color:var(--muted);font-size:.92rem}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,8rem);align-items:start}
.contact-copy h1{font-size:clamp(3rem,5vw,5rem)}
.contact-copy p{color:var(--muted);margin-top:1rem;max-width:46ch}
.contact-points{margin-top:2rem;display:grid;gap:1rem}
.contact-point{border-top:1px solid var(--line);padding-top:1rem}
.contact-point strong{display:block;font-size:.82rem}
.contact-point span{color:var(--muted);font-size:.9rem}
.form{background:#fff;border:1px solid var(--line);padding:clamp(1.5rem,4vw,3rem);display:grid;gap:1rem}
.form label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.form input,.form textarea,.form select{display:block;width:100%;margin-top:.4rem;border:1px solid #cbd4d4;background:#fff;padding:.85rem;font:inherit;color:var(--ink);border-radius:2px}
.form textarea{min-height:170px;resize:vertical}
.form .hp{display:none}
.footer{background:var(--navy);color:#fff;padding:3rem 0 1.5rem}
.footer-top{display:flex;justify-content:space-between;gap:2rem;align-items:flex-start}
.footer-brand{font-family:var(--display);font-size:1.8rem}
.footer-brand p{font-family:var(--sans);font-size:.78rem;color:#aebdc3;max-width:38ch;margin-top:.6rem;line-height:1.6}
.footer-nav{display:flex;gap:1.5rem;flex-wrap:wrap}
.footer-nav a{font-size:.82rem;color:#d2dadd}
.footer-nav a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:2.5rem;padding-top:1.2rem;color:#91a0a7;font-size:.7rem;line-height:1.5}
.notice{font-size:.7rem;color:#91a0a7;max-width:100ch}
@media(max-width:900px){
 .nav{display:none}.menu{display:block}
 .hero-grid{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:5rem 0}.hero-image{min-height:430px}.hero-image:after{background:linear-gradient(0deg,rgba(16,36,51,.4),transparent)}
 .trust-grid{grid-template-columns:1fr 1fr}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid var(--line)}
 .intro-grid,.case-grid,.experience-grid,.contact-grid{grid-template-columns:1fr;gap:3rem}
 .gallery{min-height:420px}
 .team-grid,.audience-grid{grid-template-columns:1fr}
 .criteria{grid-template-columns:1fr}
}
@media(max-width:600px){
 .dual-cards{grid-template-columns:1fr}
 .stats{grid-template-columns:1fr}.stats.stats-three{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0}
 .case-meta{grid-template-columns:1fr}
 .gallery{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px}
 .gallery .large{grid-row:auto;grid-column:1 / span 2}
 .case-gallery{grid-template-columns:1fr;grid-template-rows:260px 180px 180px}.case-gallery .big{grid-row:auto}
 .footer-top{flex-direction:column}
}

/* Brand family: Lakeshore Solar Partners primary site identity, Lakeshore Holdings parent identity */
.brand-lockup{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;min-width:260px}
.header-logo{display:block;width:290px;max-width:32vw;height:auto}
.parent-brand{margin-left:80px;font-size:.54rem;line-height:1;letter-spacing:.17em;text-transform:uppercase;color:var(--muted);font-weight:600}
.footer-brand-lockup{max-width:390px}
.footer-logo{display:block;width:330px;max-width:78vw;height:auto}
.footer-platform{color:#9fc7aa;margin-top:.45rem;font-size:.76rem;line-height:1.55;max-width:48ch}
.case-single-image{width:100%;max-width:1180px;margin:0 auto;overflow:hidden;background:#e8ece9}
.case-single-image img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.leadership-link{padding-left:clamp(0rem,2vw,1.5rem)}
@media(max-width:900px){
 .header-logo{width:250px;max-width:65vw}
 .parent-brand{margin-left:70px;font-size:.48rem}
}
@media(max-width:600px){
 .brand-lockup{min-width:0}
 .header-logo{width:215px;max-width:68vw}
 .parent-brand{margin-left:59px;letter-spacing:.11em;font-size:.43rem}
}


/* Homepage hero: full-width Camp Johnson installation photo with worker visible at right */
.hero-photo{
  min-height:670px;
  background-image:
    linear-gradient(90deg,rgba(16,36,51,.94) 0%,rgba(16,36,51,.78) 27%,rgba(16,36,51,.34) 48%,rgba(16,36,51,.06) 67%,rgba(16,36,51,0) 100%),
    url("images/camp-johnson-solar.png");
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}
.hero-photo .hero-grid{
  display:block;
  min-height:670px;
}
.hero-photo .hero-copy{
  min-height:670px;
  width:min(630px,58vw);
  padding-right:0;
}
.hero-photo h1{max-width:11ch}
.hero-photo .hero-lede{max-width:56ch}
@media(max-width:900px){
  .hero-photo{
    min-height:640px;
    background-position:64% center;
    background-image:
      linear-gradient(90deg,rgba(16,36,51,.93) 0%,rgba(16,36,51,.75) 48%,rgba(16,36,51,.2) 74%,rgba(16,36,51,.06) 100%),
      url("images/camp-johnson-solar.png");
  }
  .hero-photo .hero-grid,.hero-photo .hero-copy{min-height:640px}
  .hero-photo .hero-copy{width:min(620px,72vw);padding:4rem 0}
}
@media(max-width:600px){
  .hero-photo{
    min-height:720px;
    background-position:70% center;
    background-image:
      linear-gradient(90deg,rgba(16,36,51,.94) 0%,rgba(16,36,51,.82) 55%,rgba(16,36,51,.45) 78%,rgba(16,36,51,.18) 100%),
      url("images/camp-johnson-solar.png");
  }
  .hero-photo .hero-grid,.hero-photo .hero-copy{min-height:720px}
  .hero-photo .hero-copy{width:100%;padding:3.5rem 0}
  .hero-photo h1{font-size:clamp(2.8rem,12vw,4rem)}
  .hero-photo .hero-lede{max-width:33ch}
}

/* Solar Platform hero: approved infrastructure photograph, top edge preserved */
.platform-hero{background:#f7f8f6;color:var(--navy);overflow:hidden}
.platform-hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);align-items:stretch;min-height:610px}
.platform-hero-copy{padding:clamp(4.5rem,8vw,7rem) clamp(2.25rem,5vw,5rem) clamp(4.5rem,8vw,7rem) 0;display:flex;flex-direction:column;justify-content:center}
.platform-hero .eyebrow{color:var(--green)}
.platform-hero h1{font-size:clamp(3rem,5.5vw,5rem);max-width:11ch}
.platform-hero h1 em{font-style:normal;color:var(--green-dark)}
.platform-hero p.lede{max-width:62ch;color:var(--muted);font-size:1.08rem;margin-top:1.5rem;line-height:1.75}
.platform-hero-photo{min-height:610px;overflow:hidden;background:#e8ece9}
.platform-hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
@media(max-width:900px){
 .platform-hero-grid{grid-template-columns:1fr;min-height:auto}
 .platform-hero-copy{padding:4.5rem 0 3.5rem}
 .platform-hero-photo{min-height:560px}
}
@media(max-width:600px){
 .platform-hero-copy{padding:3.5rem 0 2.75rem}
 .platform-hero h1{font-size:clamp(2.8rem,12vw,4rem)}
 .platform-hero-photo{min-height:520px}
}


/* Experience photography */
.experience-photo-section{padding:clamp(2rem,4vw,3.5rem) 0 0;background:var(--paper)}
.experience-photo{max-width:1100px;margin:0 auto;overflow:hidden;background:#e8ece9;aspect-ratio:16/8}
.experience-photo img{width:100%;height:100%;object-fit:cover;object-position:center 48%}

/* Regional Focus */
.nav a[aria-current="page"]{color:var(--green-dark);position:relative}
.nav a[aria-current="page"]:after{content:"";position:absolute;left:0;right:0;bottom:-.65rem;height:2px;background:var(--green-dark)}
.regional-hero{background:#fff;padding:clamp(3.8rem,7vw,6.5rem) 0}
.regional-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(480px,1.12fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}
.regional-copy h1{font-size:clamp(3.2rem,6vw,5.4rem);color:var(--navy);margin-top:.6rem}
.regional-states{font-family:var(--display);font-size:clamp(1.45rem,2.6vw,2.15rem);color:var(--green-dark);margin-top:.55rem}
.regional-states span{padding:0 .55rem;color:#7daa70}
.regional-copy .lede{color:var(--muted);font-size:1.04rem;line-height:1.8;margin-top:1.45rem;max-width:59ch}
.regional-map{background:#f5f7f6;overflow:hidden;border:1px solid #edf0ee}
.regional-map img{display:block;width:100%;height:auto}
.regional-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:2.2rem;border-top:1px solid var(--line)}
.regional-pillars article{padding:1.25rem 1.2rem 0 0;margin-right:1.2rem;border-right:1px solid var(--line)}
.regional-pillars article:last-child{border-right:0;margin-right:0}
.regional-pillars strong{display:block;text-transform:uppercase;font-size:.71rem;letter-spacing:.07em;color:var(--navy)}
.regional-pillars span{display:block;color:var(--muted);font-size:.79rem;line-height:1.55;margin-top:.45rem}
.regional-criteria-section{background:#f7f8f5;padding-top:clamp(3.8rem,7vw,6rem);padding-bottom:clamp(4rem,7vw,6rem)}
.regional-section-head{text-align:center;margin-bottom:2.4rem}
.regional-section-head h2{font-size:clamp(2.25rem,4vw,3.5rem);margin-top:.35rem;color:var(--navy)}
.regional-criteria{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.regional-criteria article{text-align:center;padding:2rem 1.5rem;border-right:1px solid var(--line)}
.regional-criteria article:last-child{border-right:0}
.regional-number{font-family:var(--display);font-size:clamp(1.6rem,2.5vw,2.2rem);color:var(--navy);line-height:1.15;min-height:2.5rem}
.regional-criteria strong{display:block;color:var(--green-dark);font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;margin-top:.45rem}
.regional-criteria p{color:var(--muted);font-size:.82rem;line-height:1.55;margin-top:.65rem}
.regional-cta{background:var(--navy);color:#fff;padding:clamp(2.8rem,5vw,4.2rem) 0}
.regional-cta-inner{display:flex;justify-content:space-between;gap:3rem;align-items:center}
.regional-cta .eyebrow{color:#9fc7aa}
.regional-cta h2{font-size:clamp(2rem,3.4vw,3rem);margin-top:.4rem}
.regional-cta p:not(.eyebrow){color:#cbd6da;margin-top:.7rem;max-width:62ch}
.regional-cta-actions{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:flex-end;min-width:440px}
@media(max-width:1000px){
 .regional-grid{grid-template-columns:1fr}.regional-map{max-width:780px}.regional-criteria{grid-template-columns:1fr 1fr}.regional-criteria article:nth-child(2){border-right:0}.regional-criteria article:nth-child(-n+2){border-bottom:1px solid var(--line)}
 .regional-cta-inner{flex-direction:column;align-items:flex-start}.regional-cta-actions{min-width:0;justify-content:flex-start}
}
@media(max-width:650px){
 .regional-pillars{grid-template-columns:1fr}.regional-pillars article{border-right:0;border-bottom:1px solid var(--line);padding-bottom:1rem;margin-right:0}.regional-pillars article:last-child{border-bottom:0}
 .regional-criteria{grid-template-columns:1fr}.regional-criteria article{border-right:0;border-bottom:1px solid var(--line)}.regional-criteria article:last-child{border-bottom:0}
 .experience-photo{aspect-ratio:4/3}
}

/* Experience hero: institutional photo integrated into dark field */
.experience-hero{padding:clamp(3.5rem,7vw,6rem) 0;background:var(--navy)}
.experience-hero-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(460px,1.12fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.experience-hero h1{font-size:clamp(2.8rem,5vw,5rem);max-width:13ch}
.experience-hero-photo{position:relative;margin:0;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.16);box-shadow:0 18px 50px rgba(0,0,0,.22);aspect-ratio:4/3}
.experience-hero-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.experience-hero-photo figcaption{position:absolute;left:0;top:0;margin:0;padding:1rem 1.15rem;color:#fff;background:linear-gradient(135deg,rgba(4,31,52,.88),rgba(4,31,52,.48) 70%,transparent);font-size:.78rem;line-height:1.35;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.experience-hero-photo figcaption span{font-weight:500;color:#d7e4df}
@media(max-width:900px){.experience-hero-grid{grid-template-columns:1fr}.experience-hero-photo{aspect-ratio:16/10}.experience-hero h1{max-width:16ch}}

.experience-photo-credit{position:absolute;right:.7rem;bottom:.65rem;z-index:3;background:rgba(4,31,52,.78);color:#dce7e3;padding:.45rem .6rem;border-radius:4px;font-size:.62rem;line-height:1.35;letter-spacing:.01em;max-width:82%;text-align:right}
.experience-photo-credit a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.experience-photo-credit a:hover{color:#b8d7bf}
@media(max-width:700px){.experience-photo-credit{font-size:.56rem;right:.45rem;bottom:.45rem;max-width:90%}}

/* Selected Experience refresh: contemporary, capability-led presentation */
.experience-hero-photo{aspect-ratio:1.18/1}
.experience-hero-photo img{object-position:center top}
.selected-experience{background:#f7f8f6}
.selected-intro{max-width:900px;margin:0 auto 2.7rem;text-align:center}
.selected-intro h2{font-size:clamp(2.35rem,4.4vw,4rem);margin:.45rem 0 1rem}
.selected-intro h2 em,.discipline-bridge h2 em{font-style:normal;color:var(--green-dark)}
.selected-intro p{color:var(--muted);line-height:1.75;max-width:82ch;margin:.55rem auto}
.experience-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem}
.experience-card{background:#fff;border:1px solid var(--line);padding:clamp(1.5rem,2.8vw,2.2rem);display:flex;flex-direction:column;min-height:430px}
.experience-card-kicker{text-transform:uppercase;letter-spacing:.09em;color:var(--green-dark);font-size:.67rem;font-weight:800;margin-bottom:1.2rem}
.experience-card h3{font-size:clamp(1.75rem,2.5vw,2.35rem);line-height:1.05;color:var(--navy)}
.experience-card.metric-card h3{font-size:clamp(3rem,5vw,4.8rem);color:var(--green-dark)}
.experience-role{color:var(--green-dark)!important;font-size:.74rem!important;letter-spacing:.06em;text-transform:uppercase;font-weight:800;margin:.5rem 0 1.25rem!important}
.experience-card>p:not(.experience-role){color:var(--muted);font-size:.9rem;line-height:1.7}
.relevant-today{margin-top:auto;padding-top:1.4rem;border-top:1px solid var(--line)}
.relevant-today strong{display:block;color:var(--green-dark);text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;margin-bottom:.5rem}
.relevant-today span{display:block;color:var(--navy);font-size:.78rem;line-height:1.6}
.additional-experience{margin:1.4rem auto 0;max-width:950px;color:var(--muted);font-size:.85rem;text-align:center;line-height:1.65}
.additional-experience strong{color:var(--navy)}
.discipline-bridge{background:#fff}
.discipline-bridge-inner{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(2.5rem,6vw,6rem);align-items:center}
.discipline-bridge h2{font-size:clamp(2.3rem,4vw,3.7rem);margin:.4rem 0 1rem}
.discipline-bridge p{color:var(--muted);line-height:1.75}
.discipline-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:var(--line);gap:1px}
.discipline-grid div{background:#f9faf8;min-height:116px;padding:1.2rem;display:flex;align-items:flex-end}
.discipline-grid strong{font-size:.78rem;color:var(--navy);line-height:1.35}
.experience-close{background:var(--navy);color:#fff;padding:clamp(3rem,5vw,4.5rem) 0}
.experience-close-inner{display:flex;align-items:center;justify-content:space-between;gap:3rem}
.experience-close .eyebrow{color:#9fc7aa}
.experience-close h2{font-size:clamp(2.2rem,4vw,3.5rem);margin:.35rem 0 .7rem;max-width:18ch}
.experience-close p:not(.eyebrow){color:#cbd6da;max-width:62ch}
@media(max-width:980px){
 .experience-cards{grid-template-columns:1fr}
 .experience-card{min-height:0}
 .discipline-bridge-inner{grid-template-columns:1fr}
 .experience-close-inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:650px){
 .experience-hero-photo{aspect-ratio:1/1}
 .discipline-grid{grid-template-columns:1fr 1fr}
}

/* Experience transfer section refinement */
.discipline-bridge-inner{grid-template-columns:1fr;gap:2.25rem;text-align:center;max-width:1120px;margin:0 auto}
.discipline-bridge-inner>div:first-child{max-width:850px;margin:0 auto}
.discipline-bridge-inner>div:first-child>p:not(.eyebrow){max-width:760px;margin-left:auto;margin-right:auto}
.discipline-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;background:transparent;border:0}
.discipline-grid div{background:#f7f9f5;border:1px solid var(--line);min-height:150px;padding:1.55rem;display:flex;align-items:center;justify-content:center;text-align:center}
.discipline-grid strong{font-size:clamp(.98rem,1.35vw,1.15rem);line-height:1.4;max-width:15ch}
@media(max-width:760px){.discipline-grid{grid-template-columns:1fr 1fr}.discipline-grid div{min-height:125px}}
@media(max-width:480px){.discipline-grid{grid-template-columns:1fr}.discipline-grid div{min-height:100px}}

/* Eau Claire case study image — larger and visually centered with the narrative */
.case-single-image{
  width:min(100%,1240px);
  margin:2.5rem auto 0;
  overflow:hidden;
  background:#e8ece9;
}
.case-single-image img{
  display:block;
  width:100%;
  height:clamp(430px,48vw,620px);
  object-fit:cover;
  object-position:center center;
}
@media (max-width:700px){
  .case-single-image{margin-top:1.75rem}
  .case-single-image img{height:auto;aspect-ratio:4/3;object-fit:cover}
}

/* Chicago headquarters marker on Regional Focus map */
.regional-map{position:relative}
.chicago-marker{position:absolute;left:63.3%;top:56.6%;display:flex;align-items:center;gap:.45rem;pointer-events:none;white-space:nowrap;transform:translateY(-50%)}
.chicago-dot{width:12px;height:12px;flex:0 0 12px;border-radius:50%;background:var(--navy);border:2px solid #fff;box-shadow:0 0 0 2px rgba(16,36,51,.16)}
.chicago-label{font-size:.78rem;font-weight:700;letter-spacing:.02em;color:var(--navy);text-shadow:0 1px 2px rgba(255,255,255,.95)}
@media(max-width:760px){.chicago-marker{left:63.3%;top:56.6%;gap:.3rem}.chicago-dot{width:10px;height:10px;flex-basis:10px}.chicago-label{font-size:.68rem}}

/* Jeff review refinements */
.footer-websites{margin-top:.8rem;font-size:.78rem;line-height:1.7;color:#cbd6da}
.footer-websites a{color:#fff;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.35)}
.footer-websites a:hover{text-decoration-color:#fff}
.contact-email{margin-top:1.5rem;padding:1rem 1.1rem;border:1px solid var(--line);background:#fff;color:var(--navy)}
.contact-email a{color:var(--green-dark);font-weight:700}

/* Keep the homepage hero plus proof-point banner visible together on typical desktop/laptop screens. */
@media(min-width:901px){
  .hero-photo{
    min-height:520px;
    height:clamp(520px,calc(100vh - 178px),610px);
    background-position:center center;
  }
  .hero-photo .hero-grid,
  .hero-photo .hero-copy{
    min-height:520px;
    height:100%;
  }
  .hero-photo .hero-copy{padding-top:2.75rem;padding-bottom:2.75rem}
  .trust-item{padding:1.05rem 1rem}
  .trust-value{font-size:1.85rem}
}
#eau-claire-case-study{scroll-margin-top:92px}

/* Homepage fullscreen/large-screen safeguard: preserve the top of the photo and keep all hero copy visible. */
@media(min-width:901px){
  .hero-photo{
    background-position:center top;
  }
  .hero-photo .hero-copy{
    justify-content:center;
    padding-top:clamp(1.75rem,4vh,2.75rem);
    padding-bottom:clamp(1.75rem,4vh,2.75rem);
  }
  .hero-photo h1{
    font-size:clamp(3.25rem,5.35vw,5.35rem);
    line-height:1.03;
  }
  .hero-photo .hero-lede{
    margin-top:1.15rem;
    line-height:1.58;
  }
  .hero-photo .hero-actions{margin-top:1.45rem}
}
@media(min-width:1400px){
  .hero-photo{
    /* Wide fullscreen windows crop vertically; anchoring to the top keeps the worker and roofline intact. */
    background-position:center top;
  }
}

.experience-headline-line{display:block}


/* v6: center and stack Why the Experience Transfers headline */
.transfer-headline{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.08em}
.transfer-headline span{display:block;font-size:inherit;line-height:inherit}

/* v6: homepage hero stability across normal and fullscreen desktop windows.
   Let content determine height instead of forcing the hero into the viewport. */
@media(min-width:901px){
  .hero-photo{
    height:auto !important;
    min-height:620px;
    background-position:center center;
  }
  .hero-photo .hero-grid{
    height:auto !important;
    min-height:620px;
  }
  .hero-photo .hero-copy{
    height:auto !important;
    min-height:620px;
    justify-content:center;
    padding-top:4rem;
    padding-bottom:4rem;
  }
}
@media(min-width:1400px){
  .hero-photo{background-position:center center;}
}
