.home-page {
  --paper: #f5f7f7;
  --line: #d9e1e1;
  --muted: #465356;
  --dark: #172326;
  background: var(--paper);
}
.home-page .site-header { background: #fff; }
.home-page main > section:not(.hero):not(.local-service-band) {
  padding: 64px max(24px, calc((100% - 1296px) / 2));
}
.home-page .hero {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  min-height: 620px;
  height: min(740px, calc(100svh - 160px));
  padding: 56px max(24px, calc((100% - 1296px) / 2));
  overflow: hidden;
  background: #172326;
  color: #fff;
}
.home-page .hero-showcase { position: absolute; inset: 0; z-index: -2; }
.home-page .showcase-main {
  width: 100%; height: 100%; aspect-ratio: auto;
  object-fit: cover; object-position: 72% center;
  border-radius: 0; box-shadow: none;
}
.home-page .hero::after {
  content: ''; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, rgba(10,22,25,.97) 0%, rgba(10,22,25,.89) 30%, rgba(10,22,25,.35) 61%, transparent 85%);
}
.home-page .showcase-strip { display: none; }
.home-page .hero-copy { max-width: 580px; }
.home-page h1 { font-size: 48px; line-height: 1.12; overflow-wrap: anywhere; }
.home-page h2 { font-size: 34px; line-height: 1.2; }
.home-page .hero .eyebrow { color: #71e0dc; }
.home-page .hero-copy p:not(.eyebrow) { color: #edf3f3; font-size: 16px; max-width: 520px; }
.home-page .hero-actions { gap: 10px; margin-top: 24px; }
.home-page .hero-actions a { font-size: 14px; padding: 12px 18px; min-height: 46px; box-shadow: none; }
.home-page .hero-actions .sales-action { display: none; }
.home-page .hero-actions .secondary-action { color: #172326; }
.home-page .local-service-band { grid-template-columns: repeat(3,minmax(0,1fr)); background: #fff; gap: 0; padding: 0 max(24px,calc((100% - 1296px) / 2)); }
.home-page .local-service-band div { padding: 22px 26px; min-height: 104px; border-right: 1px solid var(--line); }
.home-page .local-service-band div:first-child { padding-left: 0; }
.home-page .local-service-band div:last-child { border: 0; }
.home-page .section-heading { max-width: 760px; margin-bottom: 28px; }
.home-page .featured-security-section { background: #fff; }
.home-page .featured-security-grid { gap: 24px; }
.home-page .featured-security-card { grid-template-columns: 1fr; box-shadow: none; border-color: var(--line); }
.home-page .featured-security-card img { aspect-ratio: 16/9; min-height: 0; height: auto; object-fit: cover; }
.home-page .featured-security-card div { padding: 28px; }
.home-page .featured-security-card h3 { font-size: 26px; }
.home-page .featured-security-card a { margin-top: 6px; }
.home-page .package-grid article { border-radius: 4px; background: transparent; }
.home-page .package-grid h3 { font-size: 23px; }
.home-page .package-grid p { color: #e0e9e9; }
.home-page .product-grid { gap: 24px; }
.home-page .product-card { box-shadow: none; display: flex; flex-direction: column; }
.home-page .product-card-image,
.home-page .product-card-featured .product-card-image { height: auto; aspect-ratio: 16/10; object-fit: contain; background: #fff; }
.home-page .product-card-content { padding: 24px; }
.home-page .product-card h3 { font-size: 23px; }
.home-page .lead-section { background: #eaf0ef; }
.home-page .lead-grid article { background: transparent; border: 0; border-left: 2px solid #bbcaca; border-radius: 0; box-shadow: none; }
.home-page .service-links-section { background: #fff; border-block: 1px solid var(--line); }
.home-page .service-links-section h2 { font-size: 28px; }
.service-directory summary { cursor: pointer; padding: 16px 0; font-weight: 700; color: #126269; border-top: 1px solid #d9e1e1; }
.service-directory .service-link-grid { margin-top: 20px; }
.home-page .service-link-grid a { box-shadow: none; border-radius: 4px; }
.home-page .local-search-grid { gap: 8px; }
.home-page .floating-contact { border-radius: 6px; box-shadow: 0 4px 20px #0002; }
.home-page a:focus-visible, .home-page summary:focus-visible { outline: 3px solid #16a1ad; outline-offset: 4px; }
@media (max-width: 1080px) {
  .home-page .hero-copy { max-width: 520px; }
  .home-page .hero { min-height: 600px; }
  .home-page .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .home-page .site-header { padding: 14px 20px; gap: 12px; }
  .home-page .lang-toggle { grid-column: 2; grid-row: 1; width: 48px; }
  .home-page .brand { font-size: 14px; gap: 10px; }
  .home-page .brand img { width: 38px; height: 38px; }
  .home-page .nav-links { grid-row: 2; display: flex; flex-wrap: wrap; gap: 8px 18px; padding: 4px 0; font-size: 13px; }
  .home-page .hero { height: auto; min-height: 660px; align-items: flex-start; padding: 32px 24px 250px; }
  .home-page .hero-copy { max-width: 100%; }
  .home-page h1 { font-size: 34px; line-height: 1.15; margin-bottom: 16px; }
  .home-page h2 { font-size: 28px; }
  .home-page .hero .eyebrow { font-size: 11px; }
  .home-page .hero-copy p:not(.eyebrow) { font-size: 14px; line-height: 1.65; }
  .home-page .hero-showcase { top: auto; height: 240px; }
  .home-page .showcase-main { object-position: center; object-fit: cover; }
  .home-page .hero::after { background: none; }
  .home-page .hero-actions { margin-top: 18px; gap: 8px; }
  .home-page .hero-actions a { padding: 10px 12px; font-size: 13px; }
  .home-page .local-service-band { grid-template-columns: 1fr; padding: 0 24px; }
  .home-page .local-service-band div, .home-page .local-service-band div:first-child { min-height: auto; padding: 16px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .home-page .local-service-band strong { font-size: 16px; }
  .home-page main > section:not(.hero):not(.local-service-band) { padding: 42px 24px; }
  .home-page .featured-security-grid,.home-page .product-grid,.home-page .package-grid { grid-template-columns: 1fr; }
  .home-page .featured-security-card div { padding: 22px; }
  .home-page .featured-security-card h3 { font-size: 24px; }
  .home-page .contact-button-grid { grid-template-columns: 1fr; }
  .home-page .floating-contact { left: 12px; right: 12px; bottom: 10px; display: flex; justify-content: center; }
  .home-page .floating-contact a { flex: 1; text-align: center; }
  .home-page .site-footer { padding-bottom: 100px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-page * { scroll-behavior: auto; transition: none; }
}
