/* One BAS palette across every route. Older component styles keep their layout
   rules; this final stylesheet resolves their independent forest/teal/navy
   choices into ocean blue, warm ivory and quiet sea-glass accents. The aliases
   preserve existing components without changing the color meaning of GIS data. */
:root {
    --coastal-deep:#082c44;
    --coastal:#245b75;
    --coastal-soft:#e7eef2;
    --paper:#fffdf7;
    --sand:#f5f2e9;
    --sea-glass:#c7e3ee;
    --ink:#1d3b4b;
    --forest:var(--coastal-deep);
    --cream:var(--sand);
    --muted:#536873;
    --line:#d0dce2;
    --lime:var(--sea-glass);
    --clay:#846641;
    --panel-glass:rgba(255,253,247,.97);
    --focus:#286b89;
}

/* The same masthead and footer anchor the home, park guides, library and map.
   Official logos are untouched; the dark surface supplies their clear space. */
body { background:var(--sand); color:var(--ink); }
.site-head,.site-head.home-head,.site-foot { background:var(--coastal-deep); color:var(--paper); }
/* These information/partner callouts already inherited --forest. Name their
   shared surface explicitly so future component edits cannot reintroduce an
   unrelated green or navy panel on an otherwise consistent page. */
.support-banner,.library-note,.atlas-reef-handoff,.home-sunset {
    background:var(--coastal-deep); color:var(--paper);
}
.support-banner a:not(.button),.library-note a,.atlas-reef-handoff a { color:var(--sea-glass); }
.support-banner a:not(.button):hover,.library-note a:hover,
.atlas-reef-handoff a:hover,.home-sunset a:not(.button):hover { color:var(--paper); }
.preview-strip { background:var(--coastal-soft); color:var(--ink); }
.site-head .count,.site-head .menu-toggle,.bas-static-nav summary { border-color:#7c9fb5; }
.site-head nav { border-color:#607e92; }
.site-head nav a[aria-current=page] { color:var(--sea-glass); border-color:var(--sea-glass); }
.site-head a:hover,.site-foot a:hover { color:var(--sea-glass); }
.footer-top p { color:#c5d8e2; }
.languages a { opacity:1; color:#bdd5e2; }
.languages a[aria-current=true] { color:var(--paper); }
.bas-static-nav[open] #bas-static-links { background:var(--coastal-deep); color:var(--paper); }
/* Keep the desktop masthead compact and aligned with the editorial content on
   wide displays. It remains in normal flow, so no map offsets are introduced. */
@media(min-width:1151px) {
    .site-head,.preview-strip { padding-inline:max(42px,calc((100% - 1440px) / 2)); }
    .site-head { padding-block:12px; }
    .site-head .wordmark img { width:136px; }
    .site-head nav { gap:clamp(18px,1.7vw,26px); }
    .site-head nav a { display:inline-flex; align-items:center; min-height:44px; }
}

/* Predictable action colors replace the previous brown, lime and forest hover
   variants. Selected controls remain distinct by border/state, not color alone. */
a:hover { color:var(--coastal); }
.button { background:var(--coastal-deep); color:var(--paper); border-color:var(--coastal-deep); }
.button:hover { background:var(--coastal); color:var(--paper); border-color:var(--coastal); }
.button.light,.wild-actions .button { background:var(--sea-glass); color:var(--coastal-deep); border-color:var(--sea-glass); }
.button.light:hover,.wild-opening .button:hover { background:var(--paper); color:var(--coastal-deep); border-color:var(--paper); }
.button.outline { background:transparent; color:var(--coastal-deep); }
.button.outline:hover { background:var(--coastal-soft); border-color:var(--coastal); }
.save[aria-pressed=true],.filters a:hover,.search-suggestions a:hover,
.park-essentials a:hover,.insight-places a:hover { background:var(--coastal-soft); }
.section-nav a[aria-current=page],.filters a[aria-current=true],
.filters button[aria-pressed=true],.media-type-tabs button[aria-pressed=true] {
    background:var(--coastal-deep); color:var(--paper); border-color:var(--coastal-deep);
}

/* Visible keyboard focus is blue on the warm canvas and pale on dark stages.
   Native outlines are preserved rather than replaced with a subtle shadow. */
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,summary:focus-visible,
.media-collection :is(button,a,input,select):focus-visible,
.media-stories a:focus-visible { outline:3px solid var(--focus); outline-offset:4px; }
.site-head :focus-visible,.site-foot :focus-visible,.wild-opening :focus-visible,
.wild-quicklinks :focus-visible,.wild-film .media-film :focus-visible,
.media-lightbox :focus-visible,.support-banner :focus-visible,
.library-note :focus-visible,.atlas-reef-handoff :focus-visible,
.home-sunset :focus-visible,.media-film-play:focus-visible,
.media-film-screen:focus-visible {
    outline-color:var(--sea-glass);
}

/* Home photography carries its own natural colors. Only the surrounding stage
   and readable scrims share the palette; no filter recolors the actual images. */
.wild-opening,.wild-quicklinks { background:var(--coastal-deep); color:var(--paper); }
.wild-backdrop::after {
    background:linear-gradient(90deg,#06283fc7 0%,#082c4455 44%,#082c4400 74%),
               linear-gradient(0deg,#082c44e6,transparent 42%);
}
.wild-introduction h1 em,.wild-introduction .eyebrow { color:#d5e9ef; }
.wild-quicklinks span { color:#bddbe8; }
.wild-quicklinks a:hover { color:var(--sea-glass); }
.wild-film { background:var(--sand); }
.wild-film .media-film { background:var(--coastal-deep); color:var(--paper); }
.wild-film .media-film-actions a { color:var(--sea-glass); }
.wild-film .media-film-meta,.wild-film .media-film-body>.media-film-credit,
.wild-film .media-film-language,.wild-film .media-film-help,
.support-banner p,.library-note p,.atlas-reef-handoff p,.reef-feature p { color:#d0e0e8; }
.reef-immersive::after { background:linear-gradient(90deg,#082c44e6,#082c4485 50%,#082c4410); }

/* Activity choices and practical information use one quiet surface system.
   Their text and imagery establish differences without unrelated card themes. */
.experience-path,.experience-path.reef,.experience-path.birds,.experience-path.caves,
.visit-box,.park-library,.library-tools,.library-collection,.park-jump a,
.insight-grid article,.site-search-form,.search-empty,.empty,.media-filters,
.contact-guide,.recruitment-deadline { background:var(--coastal-soft); border-color:var(--line); }
.experience-path:hover { background:var(--paper); border-color:var(--coastal); color:var(--ink); }
.experience-symbol,.search-results .eyebrow,.media-heading em,.atlas-heading h1 em { color:var(--coastal); }
.resource-grid article,.library-intents button,.media-film { background:var(--paper); border-color:var(--line); color:var(--ink); }
.library-intents button:hover { border-color:var(--coastal); }
.library-intents button[aria-pressed=true] { background:var(--coastal-deep); color:var(--paper); }
.library-intents button[aria-pressed=true] small { color:#d0e0e8; }
thead,.file-facts span { background:var(--coastal-soft); color:var(--ink); }
.library-collection,.contact-compose label,.contact-topic-help,.media-photo-grid figcaption { color:var(--ink); }
.library-collection>span:last-child,.resource-permalink,.resource-provenance,
.resource-provenance a,.contact-compose-note,.media-result-line,.media-photo-grid figcaption a,
.media-film-meta,.media-film-body>.media-film-credit,.media-film-language { color:var(--muted); }
.resource-download,.contact-direct-actions a,.contact-service-grid a,
.recruitment-card summary,.recruitment-actions a,.media-film-actions a { color:var(--coastal); }

/* Form fields have the same surface, border and readable ink wherever they
   occur. Warning, availability and validation states keep their semantic colors. */
.search input,.resource-select select,.media-filters input,.media-filters select,
.site-search-form input[type=search],.contact-compose select,.contact-compose input,
.contact-compose textarea,.atlas-search input,.atlas-park-filter select {
    background:var(--paper); color:var(--ink); border-color:#6c8697;
}
.media-type-tabs button { color:var(--coastal-deep); border-color:#6c8697; }
.media-film-actions button { color:var(--coastal-deep); border-color:#6c8697; background:var(--coastal-soft); }
.media-film-play-disc { background:var(--paper); color:var(--coastal-deep); }
.media-film-screen,.gallery-grid img[src*="crystal-cave"],
.atlas-detail-gallery img[src*="crystal-cave"] { background:var(--coastal-deep); }
.media-film-screen>video,.media-lightbox-image { background:#061f31; }
.media-film-shade { background:linear-gradient(180deg,#082c4420,#082c4480); }
.media-film-play:hover { background:#082c441a; }
.media-photo-expand { background:var(--panel-glass); color:var(--coastal-deep); }
.media-lightbox,.media-lightbox>header { background:var(--coastal-deep); }
.media-lightbox-caption a { color:var(--sea-glass); }

/* Map chrome belongs to the site. Basemap imagery, geometry, heat ramps, layer
   swatches and category-marker colors deliberately retain their GIS meanings. */
.bas-atlas { --atlas-border:var(--line); --atlas-soft:var(--coastal-soft); }
.atlas-workspace,.atlas-share>button { background:var(--paper); }
.atlas-place { border-bottom-color:var(--line); }
.atlas-place:hover,.atlas-basemap[aria-pressed=true],.atlas-list-footer,
.atlas-visit-note,.atlas-location-source,.atlas-loading,.atlas-error,.atlas-share,
.atlas-detail-actions button[aria-pressed=true] { background:var(--coastal-soft); }
.atlas-place.is-selected { background:#dceaf0; box-shadow:inset 4px 0 var(--coastal); }
.atlas-place small,.atlas-place>span>span,.atlas-map-area>span,
.atlas-control-scroll legend,.atlas-view-choices>p,.atlas-layer-options small,
.atlas-class-key>span { color:var(--muted); }
.atlas-map-peek,.atlas-map-area,.atlas-tool,.atlas-control-panel,
.atlas-map-navigation button,.atlas-map-navigation a { background:var(--panel-glass); }
.atlas-tool[aria-expanded=true] { background:var(--coastal-deep); border-color:var(--coastal-deep); color:var(--paper); }
.atlas-control-panel>header>button { color:var(--coastal); }
.atlas-control-panel>header>button:hover { background:var(--coastal-soft); }
.atlas-layer-options input { accent-color:var(--coastal); }
.atlas-places,.atlas-control-scroll { scrollbar-color:#8fa7b8 transparent; }
.bas-map-canvas .leaflet-control-zoom a,
.bas-map-canvas .leaflet-popup-content-wrapper,.bas-map-canvas .leaflet-popup-tip,
.bas-map-tooltip { background:var(--paper); color:var(--ink); }
.bas-map-canvas .leaflet-control-zoom a:hover,
.bas-map-canvas a.leaflet-popup-close-button:hover { background:var(--coastal-soft); color:var(--ink); }
.bas-map-canvas .leaflet-control-attribution { background:var(--panel-glass); color:var(--muted); }
.bas-map-canvas .leaflet-control-attribution a,.bas-map-popup-button { color:var(--coastal); }

/* A phone uses the same palette, including the photograph-to-copy transition. */
@media(max-width:800px) {
    .wild-backdrop::after { background:linear-gradient(0deg,var(--coastal-deep),transparent 40%); }
    .reef-immersive::after { background:linear-gradient(0deg,#082c44f5,#082c4470 75%); }
}
