/* Inner pages extend the approved homepage styles without changing its layout. */
.hero.inner-page-slider {
  height: clamp(380px, 45vw, 590px);
  margin-top: 150px;
}

.inner-page-slider .hero-slide { background-position: center; }
.inner-page-slider .hero-overlay { background: rgba(0, 0, 0, .37); }
.inner-slider-caption {
  position: absolute;
  z-index: 2;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: min(90%, 920px);
  padding: 36px;
  color: white;
  text-align: center;
  background: radial-gradient(ellipse, rgba(0,0,0,.58), rgba(0,0,0,0) 72%);
}
.inner-slider-caption h1 {
  font-size: clamp(30px, 4vw, 58px);
  line-height: 1.2;
  text-shadow: 0 3px 8px rgba(0,0,0,.55);
}
.inner-page-slider .hero-controls { transform: translateY(-50%); }
.inner-page-slider .hero-controls button { border: 0; font-family: inherit; }
.inner-page-slider .hero-dots button { border: 1px solid rgba(255,255,255,.8); padding: 0; }
.inner-page-slider .hero-dots button:focus-visible,
.inner-page-slider .hero-controls button:focus-visible { outline: 3px solid #f5cc7f; outline-offset: 3px; }

.inner-map-hero {
  margin-top: 150px;
  height: clamp(390px, 45vw, 590px);
  background: #e7eee9;
}
.inner-map-hero iframe { display: block; width: 100%; height: 100%; border: 0; }

.inner-wrap { width: min(100% - 40px, 1280px); margin-inline: auto; }
.inner-intro { padding: 70px 0 64px; text-align: center; }
.inner-eyebrow {
  color: #84662d;
  font-size: 14px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 10px;
}
.inner-intro h1, .inner-intro h2, .inner-cards-section h2, .inner-section-heading {
  color: #006341;
  font-size: clamp(30px, 3.2vw, 46px);
  line-height: 1.25;
  font-family: 'Montserrat', Arial, sans-serif;
}
.inner-rule { display: block; margin: 19px auto 27px; height: 3px; width: 72px; background: #b18a44; }
.inner-copy { max-width: 1010px; margin: auto; }
.inner-copy p { color: #414b47; font-size: 18px; line-height: 1.85; margin-bottom: 18px; }
.inner-copy p:last-child { margin-bottom: 0; }
.inner-cards-section { padding: 64px 0 78px; background: #f5f8f6; }
.inner-cards-section h2 { text-align: center; margin-bottom: 38px; }
.inner-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; }
.inner-card { background: #fff; min-width: 0; overflow: hidden; border-radius: 12px; box-shadow: 0 8px 24px rgba(0,55,35,.08); transition: transform .3s ease, box-shadow .3s ease; }
.inner-card:hover { transform: translateY(-4px); box-shadow: 0 14px 28px rgba(0,55,35,.13); }
.inner-card img { display: block; width: 100%; height: 235px; object-fit: cover; }
.inner-card-body { padding: 25px; }
.inner-card h3 { color: #006341; font-size: 22px; line-height: 1.35; margin-bottom: 12px; }
.inner-card h3 a { color: inherit; text-decoration: none; }
.inner-card h3 a:hover, .inner-card h3 a:focus-visible { text-decoration: underline; }
.inner-card p { color: #4b5651; font-size: 16px; line-height: 1.7; margin-bottom: 18px; }
.inner-text-link, .inner-attraction-link a { color: #006341; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.inner-amenities { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.inner-amenities .amenity-card { height: 100%; }
.inner-amenities .amenity-title { font-size: 20px; }
.inner-cta { padding: 64px 0; background: #0a3c2e; text-align: center; color: #fff; }
.inner-cta h2 { font-size: clamp(28px, 3vw, 42px); margin-bottom: 12px; }
.inner-cta p { font-size: 18px; line-height: 1.6; margin-bottom: 25px; }
.inner-cta a, .inner-location-panel button { display: inline-block; border: 0; border-radius: 6px; background: #b18a44; color: #fff; padding: 14px 25px; font: 700 16px 'Montserrat',Arial,sans-serif; text-decoration: none; cursor: pointer; }
.inner-cta a:hover, .inner-location-panel button:hover { background: #95702f; }
.inner-location { background: #f5f8f6; padding: 35px 0 80px; }
.inner-location-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; align-items: stretch; }
.inner-location-panel { background: #fff; border-radius: 12px; padding: clamp(24px,4vw,45px); box-shadow: 0 8px 25px rgba(0,55,35,.07); min-width: 0; }
.inner-location-panel h2 { color: #006341; font-size: 29px; margin-bottom: 20px; }
.inner-location-panel h3 { color: #006341; margin: 24px 0 10px; }
.inner-location-panel address, .inner-location-panel p { font-style: normal; color: #333; font-size: 17px; line-height: 1.8; margin-bottom: 14px; }
.inner-location-panel a { color: #006341; font-weight: 700; }
.inner-location-panel label { display: block; margin: 0 0 8px; font-weight: 700; color: #263d33; }
.inner-location-panel input { width: 100%; max-width: 100%; border: 1px solid #a4b2aa; border-radius: 5px; padding: 13px 14px; margin-bottom: 20px; font: inherit; }
.inner-location-panel button { background: #006341; }
.inner-location-panel button:hover { background: #004831; }
.inner-location-panel .directions-note { margin: 14px 0 0; font-size: 14px; }
.inner-contact-photo { min-height: 340px; border-radius: 12px; overflow: hidden; }
.inner-contact-photo img { width: 100%; height: 100%; min-height: 340px; object-fit: cover; display: block; }
.inner-gallery-section { padding: 10px 0 90px; }
.inner-gallery-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 17px; }
.inner-gallery-item { padding: 0; border: 0; border-radius: 9px; overflow: hidden; height: 220px; background: #edf0ee; cursor: zoom-in; }
.inner-gallery-item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.inner-gallery-item:hover img { transform: scale(1.055); }
.inner-gallery-item:focus-visible, .inner-lightbox button:focus-visible { outline: 3px solid #c89b4e; outline-offset: 3px; }
.inner-lightbox:not([hidden]) { position: fixed; inset: 0; z-index: 9999999; display: flex; align-items: center; justify-content: center; gap: 15px; padding: 35px; background: rgba(0,0,0,.93); }
.inner-lightbox figure { min-width: 0; text-align: center; color: #fff; }
.inner-lightbox figure img { display: block; max-width: min(80vw,1300px); max-height: 78vh; width: auto; height: auto; object-fit: contain; margin: auto; }
.inner-lightbox figcaption { margin-top: 12px; font-size: 17px; }
.inner-lightbox button { border: 0; color: #fff; background: rgba(255,255,255,.17); border-radius: 50%; width: 48px; height: 48px; flex: 0 0 48px; cursor: pointer; font-size: 32px; }
.inner-lightbox .lightbox-close { position: absolute; top: 18px; right: 22px; }
body.lightbox-open { overflow: hidden; }
.faq-section .faq-list { gap: 20px; }
.faq-section .faq-item { transition: transform .3s ease; }
.faq-section .faq-container > h2 { margin: 0 0 12px; }
.sitemap-section { padding-top: 35px; }
.sitemap-links { text-align: left; }
.sitemap-block { padding: 30px; }
.sitemap-block h2 { font-size: 24px; }
.sitemap-block li a { line-height: 1.45; font-size: 16px; }
.inner-attraction-link { max-width: 1280px; margin: 0 auto; padding: 0 20px 60px; }
.inner-page-slider + .accessibility-assistance-row { position: relative; }

@media (max-width: 1000px) {
  .inner-card-grid, .inner-amenities { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .inner-gallery-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  .hero.inner-page-slider { height: 350px; min-height: 350px; margin-top: 105px; }
  .inner-map-hero { height: 360px; margin-top: 105px; }
  .inner-slider-caption { width: calc(100% - 72px); padding: 12px; }
  .inner-slider-caption h1 { font-size: clamp(26px,7vw,38px); }
  .inner-page-slider .hero-controls { padding: 0 8px; }
  .inner-page-slider .hero-controls button { width: 35px; height: 35px; font-size: 20px; }
  .inner-intro { padding: 52px 0; }
  .inner-copy p { font-size: 16px; line-height: 1.75; }
  .inner-cards-section { padding: 52px 0; }
  .inner-card-grid, .inner-amenities, .inner-location-grid { grid-template-columns: 1fr; }
  .inner-card img { height: 220px; }
  .inner-gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .inner-gallery-item { height: 150px; }
  .inner-lightbox:not([hidden]) { padding: 12px; gap: 6px; }
  .inner-lightbox button { width: 35px; height: 35px; flex-basis: 35px; font-size: 25px; }
  .inner-lightbox figure img { max-width: calc(100vw - 94px); max-height: 70vh; }
  .inner-location { padding-bottom: 55px; }
  .sitemap-section { padding: 15px 20px 55px; }
  .sitemap-block { padding: 22px; }
}
@media (max-width: 380px) {
  .inner-gallery-item { height: 125px; }
  .inner-page-slider .hero-controls button { width: 30px; height: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  .inner-card, .inner-gallery-item img { transition: none; }
}
