/* Approved market content and shared, prepared editorial assets. */
@layer page {
  .coast { padding-bottom: var(--sp-6); }
  .coast h1, .coast h2, .coast h3 { text-wrap: balance; overflow-wrap: anywhere; }
  .coast h2 { margin-bottom: var(--sp-4); }
  .coast__hero { position: relative; isolation: isolate; }
  .coast__hero-media { background: linear-gradient(145deg, var(--sea-tint), var(--paper), var(--stone)); }
  .coast__hero-media { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; }
  .coast__hero--photo { background: var(--paper); }
  .coast__hero-photo { position: relative; }
  .coast__hero-photo img { width: 100%; border-radius: 0; aspect-ratio: 16 / 9; object-fit: cover; max-height: 48rem; }
  .coast__hero-photo figcaption { width: min(100% - 2 * var(--gutter), var(--wrap)); margin: .5rem auto 0; }
  .coast__feel-media { display: grid; gap: var(--sp-5); }
  .coast__area .editorial-media img { border-radius: 0; }
  .coast__area .editorial-media figcaption { padding-inline: var(--sp-4); }
  .coast__hero-copy { position: relative; padding-block: clamp(2rem, 6vw, 5rem); }
  .coast__hero h1 { max-width: 22ch; font-size: clamp(2rem, 4.5vw, 4.25rem); line-height: 1.08; }
  .coast__intro { max-width: 58rem; margin-top: var(--sp-4); font-size: var(--fs-l); }
  .coast__opening { padding-top: var(--sp-4); }
  .coast__facts { max-width: none; color: var(--ink-2); padding-bottom: var(--sp-4); border-bottom: 1px solid var(--line); }
  .coast__actions { display: flex; flex-wrap: wrap; gap: var(--sp-3); margin-top: var(--sp-4); }
  .coast__actions .btn { white-space: normal; text-align: center; }
  .coast__nav { overflow-x: auto; padding: var(--sp-5) 0 var(--sp-3); }
  .coast__nav .chips { flex-wrap: nowrap; min-width: max-content; }
  .coast__section { scroll-margin-top: var(--sp-5); }
  .coast__section:nth-of-type(even) { background: color-mix(in srgb, var(--stone) 35%, var(--paper)); }
  .coast__lead { max-width: 64rem; }
  .coast__feel-grid { display: grid; gap: var(--sp-5); align-items: start; }
  .coast__areas-grid { display: grid; gap: var(--sp-4); margin-top: var(--sp-5); }
  .coast__area { min-width: 0; overflow: hidden; }
  .coast__area-copy { padding: var(--sp-4); }
  .coast__area h3 { margin-bottom: var(--sp-3); }
  .coast__area .prose { font-size: var(--fs-s); }
  .coast__places .prose, .coast__practical .prose { max-width: none; }
  .coast__place-group { margin-top: var(--sp-5); }
  .coast__place-group > .editorial-media { margin-top: var(--sp-4); }
  .coast__places .prose > ul { display: grid; gap: var(--sp-3); list-style: none; padding: 0; margin-top: var(--sp-3); }
  .coast__places .prose > ul > li { margin: 0; padding: var(--sp-4); border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
  .coast__stock-intro { margin-top: var(--sp-4); color: var(--ink-2); }
  .coast__stock-link { margin-top: var(--sp-4); }
  .coast__trust { display: flex; flex-wrap: wrap; gap: var(--sp-3) var(--sp-5); margin-top: var(--sp-5); padding-top: var(--sp-4); border-top: 1px solid var(--line); color: var(--ink-2); font-size: var(--fs-s); }
  .coast__practical .prose { display: grid; gap: var(--sp-4); }
  .coast__practical .prose > ul { display: grid; gap: var(--sp-4); grid-column: 1 / -1; padding: 0; margin: 0; list-style: none; }
  .coast__practical .prose > p, .coast__practical .prose > ul > li { margin: 0; padding: var(--sp-4); background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); }
  .coast__practical .prose:not(:has(> .editorial-figure ~ .editorial-figure)) > .editorial-figure { grid-column: 1 / -1; }
  .coast__guide-grid { display: grid; gap: var(--sp-4); margin-top: var(--sp-5); }
  .coast__faq { max-width: 64rem; }
  .coast__section.coast__cta { background: var(--brand); color: var(--paper); }
  .coast__cta h2, .coast__cta .prose { color: inherit; }
  .coast__cta .btn--primary { background: var(--paper); color: var(--brand-ink); border-color: var(--paper); }
  .coast__cta .btn--primary:hover { background: var(--stone); border-color: var(--stone); }
  .coast__cta .btn--secondary { background: transparent; color: var(--paper); border-color: currentColor; }
  .coast__cta .btn--secondary:hover { background: rgb(255 255 255 / .12); color: var(--paper); }
  @media (min-width: 700px) {
    .coast__hero--photo .coast__hero-copy { position: absolute; inset: 0 0 auto; display: flex; align-items: end; height: calc(100% - 2rem); color: white; padding-block: var(--sp-7); background: linear-gradient(0deg, rgb(11 24 36 / .82), transparent 85%); }
    .coast__hero--photo .coast__hero-copy h1, .coast__hero--photo .coast__intro { color: inherit; }
    .coast__hero--photo .coast__intro { max-width: 52rem; }
    .coast__feel-grid:has(.coast__feel-media) { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
  }
  @media (max-width: 699px) { .coast__hero-photo img { aspect-ratio: 4 / 5; max-height: none; } }
  @media (max-width: 699px) { .coast__actions { flex-direction: column; } .coast__actions .btn { width: 100%; } }
  @media (min-width: 700px) {
    .coast__areas-grid, .coast__guide-grid, .coast__practical .prose, .coast__practical .prose > ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .coast__places .prose > ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .coast__practical .prose > p { max-width: none; }
  }
  @media (min-width: 1100px) { .coast__places .prose > ul { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
  @media (min-width: 900px) {
    .coast__guide-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  }
}
