/* Homepage styles are scoped above the shared density rules. */
.home-page .catalog-hero{background:var(--navy);color:#fff}
.home-page .catalog-hero-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:48px;align-items:center;min-height:0;padding-top:40px;padding-bottom:40px}
.home-page .catalog-hero .eyebrow,.home-page .profile-band .eyebrow{color:#7fd8ff}
.home-page .catalog-hero h1{color:#fff;font-size:clamp(34px,3.5vw,48px);line-height:1.14;max-width:620px;text-wrap:balance}
.home-page .catalog-hero-lead{font-size:20px;line-height:1.55;color:#d8e7f1;max-width:560px;margin:22px 0 0}
.home-page .catalog-hero-media{margin:0;height:340px;min-height:0;overflow:hidden}
.home-page .catalog-hero-media img{width:100%;height:100%;object-fit:cover;display:block;object-position:center 62%}
.home-page .button-on-dark{border-color:#fff;color:#fff;background:transparent}
.home-page .button-on-dark:hover{background:#fff;color:var(--navy)}
.home-page .section{padding-top:48px;padding-bottom:48px}
.home-page .section-heading{align-items:end;margin-bottom:24px}
.home-page h2{font-size:clamp(28px,2.8vw,36px);text-wrap:balance}
.home-page h3{font-size:23px;text-wrap:balance}
.home-page .home-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.home-page .home-product-card{display:flex;flex-direction:column;border:1px solid var(--line);text-decoration:none;background:#fff;color:var(--ink);transition:border-color .15s}
.home-page .home-product-card:hover{border-color:var(--blue)}
.home-page .home-product-card>img{display:block;width:100%;height:180px;object-fit:cover}
.home-page .home-product-copy{display:flex;flex:1;flex-direction:column;padding:22px}
.home-page .home-product-copy p{color:var(--muted);margin:12px 0 18px;line-height:1.5}
.home-page .home-product-copy .text-link{margin-top:auto;font-size:14px}
.home-page .home-more-products{display:flex;align-items:center;flex-wrap:wrap;gap:12px 28px;padding-top:22px;font-size:15px}
.home-page .home-more-products span{color:var(--muted)}
.home-page .home-more-products a,.home-page .home-design-links a{font-weight:700;text-decoration:none}
.home-page .home-more-products a:hover,.home-page .home-design-links a:hover{text-decoration:underline}
.home-page .profile-band{background:var(--navy);color:#d8e7f1;padding:40px 0}
.home-page .profile-band-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}
.home-page .profile-band h2{color:#fff}
.home-page .profile-band-grid>div>p:not(.eyebrow){font-size:18px;line-height:1.6;margin-bottom:0}
.home-page .home-profile-form{padding:24px;background:#19476b;border:1px solid #477391}
.home-page .home-profile-form label{color:#fff}
.home-page .home-profile-form input,.home-page .home-profile-form select{border-color:#7894a8;min-width:0}
.home-page .home-profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.home-page .text-link-light{color:#8bddff}
.home-page .text-link-light:hover{color:#fff}
.home-page .home-engineering-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:center}
.home-page .home-project-photo{margin:0}
.home-page .home-project-photo img{display:block;width:100%;height:350px;object-fit:cover;object-position:center 42%}
.home-page .home-project-photo figcaption{font-size:13px;color:var(--muted);padding-top:10px}
.home-page .home-engineering-grid>div>p:not(.eyebrow){color:var(--muted);line-height:1.65;margin:18px 0}
.home-page .home-design-links{display:flex;gap:12px 24px;flex-wrap:wrap;padding-top:20px;margin-top:22px;border-top:1px solid var(--line);font-size:14px}
.home-page .home-systems{background:#f3f8fb;padding:44px 0}
.home-page .system-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.home-page .system-feature{display:grid;grid-template-columns:.8fr 1.2fr;background:#fff;border:1px solid var(--line)}
.home-page .system-image{min-height:250px;overflow:hidden}
.home-page .system-image img{display:block;width:100%;height:100%;object-fit:cover}
.home-page .system-copy{padding:24px}
.home-page .system-copy p:not(.eyebrow){color:var(--muted);margin:14px 0 18px;line-height:1.5}
.home-page .custom-cta{background:#cfedfc;color:var(--navy);padding:40px 0}
.home-page .custom-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.home-page .custom-cta-inner>div:first-child{max-width:680px}
.home-page .custom-cta-inner p:not(.eyebrow){margin:16px 0 0}
.home-page .custom-cta .actions{flex-shrink:0;flex-direction:column;align-items:stretch;margin-top:0}
.home-page .custom-cta .button{background:var(--navy);border-color:var(--navy)}
.home-page .custom-cta .button:hover{background:#07162c}
.home-page .custom-cta .button-outline{background:transparent;color:var(--navy)}
.home-page .custom-cta .button-outline:hover{background:var(--navy);color:#fff}
.home-page .home-contact-links{display:flex;gap:10px 24px;flex-wrap:wrap;margin-top:16px}
.home-page .home-contact-links a{font-weight:700;text-decoration:none;overflow-wrap:anywhere}
.home-page .home-contact-links a:hover{text-decoration:underline}
@media(max-width:1000px){
  .home-page .catalog-hero-grid{gap:28px}
  .home-page .catalog-hero-media{height:320px}
  .home-page .profile-band-grid,.home-page .home-engineering-grid{gap:28px}
  .home-page .system-feature{grid-template-columns:1fr}
  .home-page .system-image{height:210px;min-height:0}
}
@media(max-width:730px){
  .home-page .catalog-hero-grid,.home-page .profile-band-grid,.home-page .home-engineering-grid{grid-template-columns:1fr;gap:26px}
  .home-page .catalog-hero-grid{padding-top:30px;padding-bottom:30px}
  .home-page .catalog-hero h1{font-size:clamp(32px,7.5vw,42px)}
  .home-page .catalog-hero-lead{font-size:18px;margin-top:18px}
  .home-page .catalog-hero-media{height:230px}
  .home-page .section,.home-page .home-systems,.home-page .profile-band,.home-page .custom-cta{padding-top:32px;padding-bottom:32px}
  .home-page .section-heading{align-items:start}
  .home-page .home-product-grid,.home-page .system-grid{grid-template-columns:1fr}
  .home-page .home-product-card>img{height:200px}
  .home-page .home-product-copy,.home-page .system-copy,.home-page .home-profile-form{padding:20px}
  .home-page .home-engineering-grid>figure{order:2}
  .home-page .home-project-photo img{height:280px}
  .home-page .custom-cta-inner{flex-direction:column;align-items:start;gap:24px}
  .home-page .custom-cta .actions{flex-direction:row;flex-wrap:wrap}
}
@media(max-width:420px){
  .home-page .home-profile-fields{grid-template-columns:1fr}
  .home-page .home-more-products{gap:12px 20px}
}
@media(prefers-reduced-motion:reduce){
  .home-page .home-product-card{transition:none}
}
