/* Phase 11 final integration: customer content is visible without relying on JavaScript. */
.reveal{opacity:1!important;transform:none!important}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{transition:none!important}}
/* Keep mobile service navigation intentionally scrollable without creating page overflow. */
.p6-subnav{overscroll-behavior-inline:contain;scrollbar-width:thin}


/* Phase 11 final correction: compact first-screen page introductions. */
@media (min-width: 1001px) {
  .p6-hero,
  .p7-gallery-hero,
  .menu-hero,
  .g7-products-hero,
  .c2-contact-hero {
    padding-block: clamp(1.55rem, 2.8vw, 2.8rem) !important;
  }

  .p6-hero-grid,
  .p7-gallery-hero .p5-split,
  .menu-hero-grid,
  .g7-products-hero-grid,
  .c2-contact-hero-grid {
    gap: clamp(1.35rem, 3vw, 3rem) !important;
  }

  .p6-hero-copy h1,
  .p7-gallery-hero h1 {
    max-width: 15ch !important;
    margin: .08em 0 .28em !important;
    font-size: clamp(3.15rem, 4.65vw, 4.55rem) !important;
    line-height: .92 !important;
  }

  .menu-hero h1,
  .g7-products-hero h1,
  .c2-contact-copy h1 {
    font-size: clamp(3rem, 4.5vw, 4.45rem) !important;
    line-height: .93 !important;
    margin-block: .08em .28em !important;
  }

  .p6-lead,
  .p7-gallery-hero .p6-lead,
  .menu-hero .scene-lead,
  .g7-products-hero .scene-lead,
  .c2-contact-copy .scene-lead {
    font-size: clamp(.98rem, 1.2vw, 1.08rem) !important;
    line-height: 1.5 !important;
    margin-bottom: .75rem !important;
  }

  .p6-hero-visual,
  .p7-gallery-hero .p5-media-card {
    min-height: clamp(340px, 46vh, 410px) !important;
  }

  .menu-hero-visual,
  .g7-products-hero-visual,
  .c2-contact-visual {
    max-height: 390px !important;
  }

  .p5-eyebrow { margin-bottom: .45rem !important; }
  .p5-actions,
  .menu-hero-copy .button-row,
  .c2-hero-actions { margin-top: .85rem !important; }
  .p6-safe-note { margin-top: .55rem !important; }
}

@media (min-width: 1001px) and (max-height: 720px) {
  .p6-hero,
  .p7-gallery-hero,
  .menu-hero,
  .g7-products-hero,
  .c2-contact-hero { padding-block: 1.25rem !important; }

  .p6-hero-copy h1,
  .p7-gallery-hero h1,
  .menu-hero h1,
  .g7-products-hero h1,
  .c2-contact-copy h1 {
    font-size: clamp(2.85rem, 4.15vw, 3.75rem) !important;
  }

  .p6-hero-visual,
  .p7-gallery-hero .p5-media-card { min-height: 330px !important; }
  .menu-hero-visual,
  .g7-products-hero-visual,
  .c2-contact-visual { max-height: 340px !important; }
}

/* Compact deferred-map presentation: one location line, one map action. */
.p8-map-shell { min-height: 230px !important; }
.p8-map-placeholder { max-width: 520px; padding: 1rem 1.15rem !important; }
.p8-map-placeholder h3 { margin: 0 0 .3rem; }
.p8-map-placeholder p { margin: 0 0 .8rem; }
.p8-map-placeholder .p8-map-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:.65rem; }
.contact-page .c5-map-panel { grid-template-rows: auto minmax(230px, 250px) auto !important; }
.contact-page .c2-map-frame { min-height: 230px !important; }
.contact-page .c5-map-head { padding: 12px 16px !important; }
.contact-page .c5-map-actions { padding: 10px 14px 12px !important; }
.live-map-card { min-height: 280px !important; }

@media (max-width: 680px) {
  .p8-map-shell { min-height: 220px !important; }
  .contact-page .c5-map-panel { grid-template-rows: auto 220px auto !important; }
  .contact-page .c2-map-frame { min-height: 220px !important; }
  .live-map-card { min-height: 250px !important; }
}

/* Final map compaction: remove repeated heading and oversized action area. */
.contact-page .c5-map-head { display:none !important; }
.contact-page .c5-map-panel { grid-template-rows: minmax(210px, 230px) auto !important; }
.contact-page .c5-map-actions,
.live-map-card .c5-map-actions {
  display:flex !important;
  justify-content:center;
  align-items:center;
  padding:10px 14px 12px !important;
}
.contact-page .c5-map-actions .btn,
.live-map-card .c5-map-actions .btn {
  width:auto !important;
  min-width:180px;
  min-height:44px;
  margin:0 !important;
  padding:.65rem 1.2rem !important;
}

@media (max-width:680px) {
  .p6-hero,
  .p7-gallery-hero,
  .menu-hero,
  .g7-products-hero,
  .c2-contact-hero { padding-block:1.45rem 2rem !important; }

  .p6-hero-copy h1,
  .p7-gallery-hero h1,
  .menu-hero h1,
  .g7-products-hero h1,
  .c2-contact-copy h1 {
    font-size:clamp(2.35rem,11.5vw,3.15rem) !important;
    line-height:.95 !important;
  }

  .p6-hero-visual,
  .p7-gallery-hero .p5-media-card { min-height:300px !important; }
  .contact-page .c5-map-panel { grid-template-rows:200px auto !important; }
  .contact-page .c5-map-actions .btn,
  .live-map-card .c5-map-actions .btn { width:100% !important; min-width:0; }
}
.contact-page .c5-map-panel { align-self:start !important; min-height:0 !important; }


/* Final owner correction: maps render directly instead of showing a blank deferred placeholder. */
.p8-map-shell {
  position: relative !important;
  display: block !important;
  width: 100%;
  min-height: 0 !important;
  aspect-ratio: 16 / 9;
  background: #e8dfcc;
  overflow: hidden;
}
.p8-map-shell .p11-live-map {
  position: absolute;
  inset: 0;
  display: block !important;
  width: 100%;
  height: 100%;
  border: 0;
}
.contact-page .c5-map-panel {
  display: grid !important;
  grid-template-rows: auto auto !important;
  min-height: 0 !important;
  overflow: hidden;
}
.contact-page .c2-map-frame {
  min-height: 0 !important;
  aspect-ratio: 16 / 9;
}
.live-map-card {
  display: grid !important;
  grid-template-rows: auto auto !important;
  min-height: 0 !important;
}
.live-map-card > .p8-map-shell { aspect-ratio: 16 / 9; }
.contact-page .c5-map-actions,
.live-map-card .c5-map-actions {
  position: static !important;
  width: 100%;
  box-sizing: border-box;
}

/* Tighter first-screen service introductions requested by the owner. */
@media (min-width: 1001px) {
  .p6-hero { padding-block: .85rem 1.15rem !important; }
  .p6-hero-grid { gap: clamp(1.1rem, 2.2vw, 2rem) !important; }
  .p6-hero-copy h1 {
    font-size: clamp(2.75rem, 4vw, 3.85rem) !important;
    line-height: .94 !important;
    margin: .05em 0 .2em !important;
  }
  .p6-lead { line-height: 1.42 !important; margin-bottom: .55rem !important; }
  .p6-hero-visual { min-height: clamp(300px, 41vh, 350px) !important; }
  .p5-actions { margin-top: .65rem !important; }
}
@media (max-width: 680px) {
  .p8-map-shell,
  .contact-page .c2-map-frame,
  .live-map-card > .p8-map-shell { aspect-ratio: 4 / 3; }
}
