/* ===== v4 DISTINCT PAGE HERO SYSTEM ===== */
/* The nav-to-content gap (.page-hero's own padding) is set once, for every
   page, in shared-nav-footer-lock.css -- not here. This file only handles
   each page's distinct hero layout/colours, and the small, fixed interior
   padding-top of the hero "cards" (.services-hero-copy, .contact-hero-copy,
   .calc-hero-box), which is also set once in that same shared file. */
.page-hero{position:relative;overflow:hidden}
.page-hero .eyebrow{display:inline-flex}
.page-hero h1{color:var(--navy);margin:14px 0 18px}
.page-hero p{color:var(--muted);line-height:1.7}

/* Services: bold editorial split with service index rail */
.services-hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:64px;align-items:stretch}
.services-hero-copy{padding:0 0 34px}
.services-hero h1{font-size:clamp(48px,5.2vw,76px);line-height:.99;max-width:790px}
.services-hero-side{background:var(--navy);border-radius:26px;padding:34px;color:#fff;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-height:430px}
.service-mini-list{position:relative;z-index:2;display:grid;gap:0;margin-top:50px}
.service-mini{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.service-mini span{font-size:14px;color:#dfe4f1}.service-mini strong{font:700 17px 'Manrope'}
.services-hero-side .side-note{position:relative;z-index:2;font-size:14px;color:#cbd2e5}

/* About: image-led cinematic band */
.about-hero-top{display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:end;margin-bottom:30px}
.about-hero h1{font-size:clamp(48px,5.3vw,78px);line-height:.98;max-width:850px}
.about-hero-media{height:470px;border-radius:28px;overflow:hidden;position:relative}
.about-hero-media img{width:100%;height:100%;object-fit:cover}
.about-hero-media:after{content:"Since 1994";position:absolute;left:26px;bottom:24px;background:#fff;color:var(--navy);font:800 20px 'Manrope';padding:14px 18px;border-radius:14px}
.about-values-strip{position:absolute;right:24px;top:24px;background:rgba(32,41,93,.92);color:#fff;padding:18px;border-radius:14px;display:grid;gap:9px;min-width:210px}
.about-values-strip span{font-size:14px;color:#cfd6e7}.about-values-strip strong{font:700 15px 'Manrope'}

/* Contact: conversational card + details visible immediately */
.contact-hero-wrap{background:var(--navy);border-radius:28px;display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;min-height:460px}
.contact-hero-copy{padding:0 54px 54px;color:#fff;position:relative}
.contact-hero .eyebrow{color:var(--teal)}
.contact-hero h1{color:#fff;font-size:clamp(46px,5vw,72px);line-height:1;position:relative}
.contact-hero p{color:#d5daea;max-width:620px;position:relative}
.contact-hero-photo{min-height:460px;position:relative}
.contact-hero-photo img{width:100%;height:100%;object-fit:cover}

/* Calculators: utility-first compact header, different accent blocks */
.calc-hero-box{border-radius:24px;padding:0 44px 42px;display:grid;grid-template-columns:1fr;gap:36px;align-items:center;position:relative;overflow:hidden}
.calc-hero h1{font-size:clamp(42px,4.4vw,66px);line-height:1;margin-bottom:13px}
.calc-hero p{max-width:650px;font-size:14px}
.swp-hero .calc-hero-box{color:#fff}.swp-hero h1{color:#fff}.swp-hero p{color:#d5daea}.swp-hero .eyebrow{color:#112b25}
.goal-hero .calc-hero-box{background:#fff;border:1px solid rgba(32,41,93,.12)}

@media(max-width:900px){
  .contact-hero-copy{padding:0 40px 40px}
  .services-hero-grid,.about-hero-top,.contact-hero-wrap{grid-template-columns:1fr}
  .services-hero-side{min-height:360px}
  .about-hero-top{gap:20px}.about-hero-media{height:390px}
  .contact-hero-photo{min-height:320px}
}
@media(max-width:620px){
  .services-hero h1,.about-hero h1,.contact-hero h1{font-size:42px}
  .services-hero-side{padding:25px}
  .about-hero-media{height:330px}.about-values-strip{right:14px;top:14px;min-width:170px}
  .contact-hero-copy{padding:0 25px 34px}
  .calc-hero-box{padding:0 24px 28px}.calc-hero h1{font-size:40px}
}
