/* All landscape placeholders are local CSS artwork. */
.home-symbols { position: absolute; width: 0; height: 0; overflow: hidden; }
.home-content .eyebrow { margin-bottom: 16px; color: var(--cyan); font-size: 14px; font-weight: 600; letter-spacing: .2em; }
.gradient-text { background: var(--gradient-primary); background-clip: text; -webkit-background-clip: text; color: transparent; }
.accent-text { color: var(--cyan); }
.home-hero { background: var(--bg-section); border-bottom: 1px solid var(--border); }
.hero-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 48px; }
.hero-copy { padding-block: 72px; }
.hero-copy h1 { margin-bottom: 8px; }
.hero-subtitle { color: var(--cyan); font-size: 28px; font-weight: 600; line-height: 1.3; }
.hero-description { max-width: 52ch; }
.hero-actions { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 32px; }
.home-button, .tour-details summary { display: inline-flex; justify-content: center; align-items: center; gap: 16px; min-height: 48px; padding: 12px 24px; border: 1px solid transparent; border-radius: 999px; color: var(--text-main); font-size: 14px; font-weight: 600; text-decoration: none; line-height: 1.5; }
.home-button-primary { background: var(--gradient-primary); box-shadow: 0 4px 24px rgb(37 99 235 / 16%); text-shadow: 0 1px 3px #08111f; }
.home-button-secondary { background: var(--bg-main); border-color: var(--text-muted); }
.home-button:hover, .tour-details summary:hover { color: var(--text-main); border-color: var(--cyan); box-shadow: 0 0 20px rgb(22 200 244 / 18%); }
.landscape { --sky-top: #122944; --sky-glow: #b97b89; --water: #15344a; position: relative; isolation: isolate; overflow: hidden; width: 100%; height: 100%; background: radial-gradient(ellipse at 67% 42%, #f6c397 0%, transparent 28%), linear-gradient(180deg, var(--sky-top), var(--sky-glow) 49%, var(--water) 50%, #081725); }
.landscape::before { content: ""; position: absolute; inset: 50% 0 0; background: repeating-linear-gradient(176deg, transparent 0 10px, rgb(169 180 196 / 12%) 11px 12px, transparent 13px 21px), radial-gradient(ellipse at 67% 0%, rgb(246 195 151 / 45%), transparent 52%); }
.landscape::after { content: ""; position: absolute; inset: 20% -1px 35%; background: #0a202d; clip-path: polygon(0 40%, 8% 18%, 17% 47%, 25% 37%, 34% 66%, 45% 81%, 55% 87%, 67% 80%, 78% 62%, 86% 39%, 94% 52%, 100% 24%, 100% 70%, 83% 79%, 63% 97%, 40% 100%, 20% 86%, 0 82%); }
.landscape-shore { position: absolute; inset: 0; z-index: 1; background: #081923; clip-path: polygon(0 72%, 15% 82%, 29% 92%, 47% 100%, 0 100%); }
.landscape-morning { --sky-top: #24475f; --sky-glow: #9bb9c6; --water: #24536b; }
.landscape-forest { --sky-top: #163c43; --sky-glow: #8caa99; --water: #193d3b; }
.hero-landscape { min-height: 460px; align-self: stretch; border-inline: 1px solid var(--border); }
.home-stats { border-bottom: 1px solid var(--border); padding-block: 32px; }
.stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; }
.stat { position: relative; display: flex; flex-direction: column-reverse; justify-content: center; padding: 8px 24px 8px 80px; }
.stat + .stat { border-left: 1px solid var(--border); }
.stat dt { font-size: 14px; color: var(--text-muted); }
.stat dd { margin: 0; font-size: 28px; font-weight: 700; line-height: 1.3; }
.home-icon { width: 36px; height: 36px; fill: none; stroke: var(--cyan); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.stat .home-icon { position: absolute; top: 50%; left: 24px; transform: translateY(-50%); }
.stat:last-child .home-icon { stroke: var(--violet); }
.home-section { padding-block: var(--section-spacing); }
.home-waters { display: grid; grid-template-columns: 1fr 2fr; gap: 32px; border-bottom: 1px solid var(--border); }
.waters-intro p:last-child { color: var(--text-muted); margin-bottom: 0; }
.waters-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.water-card, .tour-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--card-radius); }
.water-card { padding: 24px 16px; }
.water-card .home-icon { margin-bottom: 16px; }
.water-card h3 { font-size: 22px; margin-bottom: 12px; }
.water-card p { margin: 0; font-size: 14px; color: var(--text-muted); }
.home-tours { scroll-margin-top: calc(var(--header-height) + 48px); }
.tours-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 32px; }
.tour-card { min-width: 0; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.tour-card:hover, .tour-card:focus-within { transform: translateY(-2px); border-color: rgb(22 200 244 / 40%); box-shadow: 0 8px 24px rgb(22 200 244 / 7%); }
.tour-image { position: relative; aspect-ratio: 16 / 9; }
.tour-image .landscape { border-radius: var(--card-radius) var(--card-radius) 0 0; }
.tour-category { position: absolute; top: 16px; left: 16px; padding: 4px 14px; border-radius: 999px; background: var(--cyan); color: var(--bg-main); font-size: 14px; font-weight: 600; }
.tour-copy { padding: 24px; }
.tour-copy h3 { margin-bottom: 12px; }
.tour-copy time { display: block; font-size: 14px; color: var(--text-muted); margin-bottom: 16px; }
.tour-copy > p:not(.tour-example) { font-size: 16px; }
.tour-copy .tour-example { color: var(--text-muted); font-size: 14px; margin-bottom: 8px; }
.tour-details summary { background: var(--bg-main); border-color: var(--border); cursor: pointer; }
.tour-details[open] summary { border-color: var(--cyan); }
.tour-details p { margin: 16px 0 0; font-size: 14px; color: var(--text-muted); }
.tours-action { display: flex; justify-content: center; margin-top: 32px; }
.home-about { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); align-items: center; gap: 48px; border-block: 1px solid var(--border); }
.about-placeholder { height: auto; aspect-ratio: 4 / 5; border: 1px solid var(--border); border-radius: var(--card-radius); }
.about-copy p { color: var(--text-muted); max-width: 68ch; }
.gallery-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
.gallery-heading h2 { margin-bottom: 0; }
.gallery-heading .home-button { flex-shrink: 0; }
.gallery-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 180px; gap: 16px; }
.gallery-placeholder { min-width: 0; overflow: hidden; border: 1px solid var(--border); border-radius: var(--card-radius); }
.gallery-placeholder:first-child { grid-column: span 2; grid-row: span 2; }
.gallery-placeholder:last-child { grid-column: span 2; }
.home-closing { position: relative; isolation: isolate; text-align: center; background: var(--bg-section); border-top: 1px solid var(--border); }
.home-closing .closing-landscape { position: absolute; inset: 0; z-index: -2; }
.home-closing::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgb(8 17 31 / 75%), rgb(8 17 31 / 85%)); }
.closing-copy p { max-width: 64ch; margin-inline: auto; }
@media (min-width: 1200px) and (max-width: 1399px) {
  .home-waters { grid-template-columns: 1fr; }
}
@media (max-width: 1199px) {
  .home-about { grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 32px; }
  .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: auto; }
  .gallery-placeholder, .gallery-placeholder:first-child, .gallery-placeholder:last-child { grid-column: auto; grid-row: auto; aspect-ratio: 4 / 3; }
  .hero-grid { grid-template-columns: 1fr; gap: 0; }
  .hero-copy { padding-block: 48px 32px; }
  .hero-landscape { min-height: 320px; border: 1px solid var(--border); }
  .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 0; }
  .stat:nth-child(3) { border-left: 0; }
  .home-waters { grid-template-columns: 1fr; }
  .waters-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .water-card { padding: 24px; }
  .water-card h3 { font-size: 24px; }
  .tours-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .home-about { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .about-placeholder { aspect-ratio: 4 / 3; }
  .gallery-heading { flex-direction: column; align-items: flex-start; gap: 16px; margin-bottom: 24px; }
  .gallery-grid { gap: 16px; }
  .hero-copy { padding-top: 40px; }
  .hero-subtitle { font-size: 22px; }
  .hero-landscape { min-height: 260px; }
  .home-stats { padding-block: 24px; }
  .stat { text-align: center; padding: 48px 8px 0; }
  .stat .home-icon { top: 0; left: calc(50% - 18px); transform: none; }
  .stat dd { font-size: 24px; }
  .waters-grid, .tours-grid { grid-template-columns: 1fr; gap: 16px; }
  .water-card { display: flex; align-items: flex-start; gap: 16px; padding: 20px; }
  .water-card .home-icon { margin: 0; }
  .water-card h3 { font-size: 22px; margin-bottom: 8px; }
  .tour-copy { padding: 24px; }
}
@media (max-width: 390px) {
  .gallery-grid { grid-template-columns: minmax(0, 1fr); }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .home-content .eyebrow { letter-spacing: .14em; }
}
@media (prefers-reduced-motion: reduce) {
  .tour-card { transition: none; }
  .tour-card:hover, .tour-card:focus-within { transform: none; }
}

/* Photographic sections on the front page only. */
.home-photo-closing .home-photo { position: absolute; inset: 0; z-index: -2; pointer-events: none; }
.home-photo-closing .home-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.home-photo-closing::before { background: linear-gradient(180deg, rgb(8 17 31 / 48%), rgb(8 17 31 / 72%) 48%, rgb(8 17 31 / 58%)); pointer-events: none; }
.home-photo-closing .closing-copy { text-shadow: 0 2px 8px rgb(8 17 31 / 65%); }
.home-photo-hero { position: relative; isolation: isolate; }
.home-photo-hero .home-photo { position: absolute; inset: 0; z-index: -2; pointer-events: none; }
.home-photo-hero .home-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.home-photo-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg, rgb(8 17 31 / 94%) 0%, rgb(8 17 31 / 85%) 32%, rgb(8 17 31 / 42%) 58%, rgb(8 17 31 / 12%) 100%); }
.home-photo-hero .hero-grid { min-height: 560px; }
.home-photo-hero .hero-copy { min-width: 0; }
@media (min-width: 768px) and (max-width: 1199px) {
  .home-photo-hero .hero-grid { min-height: 640px; align-items: start; }
  .home-photo-hero .hero-copy { max-width: 540px; padding-block: 48px 200px; }
  .home-photo-hero::before { background: linear-gradient(110deg, rgb(8 17 31 / 93%), rgb(8 17 31 / 70%) 48%, rgb(8 17 31 / 14%) 85%); }
}
@media (max-width: 767px) {
  .home-photo-hero .hero-grid { min-height: 680px; align-items: start; }
  .home-photo-hero .hero-copy { padding-block: 40px 230px; }
  .home-photo-hero .home-photo { top: 220px; }
  .home-photo-hero .home-photo img { object-position: center bottom; }
  .home-photo-hero::before { background: linear-gradient(180deg, rgb(8 17 31 / 94%) 0%, rgb(8 17 31 / 88%) 44%, rgb(8 17 31 / 40%) 70%, rgb(8 17 31 / 10%) 100%); }
}
