/* Rediscover Earth - light sans-serif, balanced typography and legal layer v1.5.4 */

:root {
  color-scheme: light;
  --bg: #f7f5ef;
  --bg-deep: #eeeae1;
  --surface: #ffffff;
  --surface-2: #f1f5ef;
  --surface-3: #e4ede5;
  --text: #1d2a29;
  --muted: #68736f;
  --muted-2: #8a948f;
  --line: rgba(35, 55, 50, .12);
  --line-strong: rgba(35, 55, 50, .22);
  --acid: #92cb2f;
  --acid-dark: #668f22;
  --mint: #4e9f84;
  --aqua: #73aeb3;
  --orange: #c8794f;
  --danger: #c65c57;
  --shadow: 0 24px 70px rgba(37, 55, 48, .13);
  --font-sans: "Avenir Next", Avenir, Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  --action: #3f6f5a;
  --action-hover: #315847;
  --action-text: #ffffff;
}

html {
  background: var(--bg-deep);
}

body,
.story-page,
.places-page {
  background:
    radial-gradient(circle at 7% 3%, rgba(188, 211, 165, .26), transparent 24%),
    radial-gradient(circle at 94% 16%, rgba(154, 201, 200, .18), transparent 23%),
    var(--bg);
  color: var(--text);
}

::selection {
  color: #17211f;
  background: #c9e992;
}

.page-noise {
  opacity: .014;
  mix-blend-mode: multiply;
}

.eyebrow {
  color: #56715f;
}

.signal-dot {
  box-shadow: 0 0 0 5px rgba(146, 203, 47, .12), 0 0 20px rgba(114, 164, 37, .22);
}

/* Header */
.site-header,
.story-page .site-header,
.places-page .site-header {
  color: #22312e;
  background: linear-gradient(180deg, rgba(250, 249, 245, .93), rgba(250, 249, 245, .68) 72%, transparent);
}

.site-header.is-scrolled,
.story-page .site-header.is-scrolled,
.places-page .site-header.is-scrolled {
  border-color: rgba(35, 55, 50, .11);
  background: rgba(250, 249, 245, .89);
  box-shadow: 0 10px 36px rgba(37, 55, 48, .08);
  backdrop-filter: blur(22px) saturate(125%);
}

.brand-wordmark span,
.desktop-nav {
  color: #65716c;
}

.desktop-nav a:hover {
  color: #172421;
}

.icon-button,
.language-button,
.menu-button {
  border-color: rgba(35, 55, 50, .13);
  background: rgba(255, 255, 255, .72);
  color: #24322f;
  box-shadow: 0 8px 24px rgba(37, 55, 48, .055);
}

.icon-button:hover,
.language-button:hover,
.menu-button:hover {
  border-color: rgba(75, 112, 78, .28);
  background: #fff;
}

.saved-count {
  border-color: #f7f5ef;
  color: #17211f;
}

.mobile-menu {
  background: rgba(248, 247, 242, .97);
  color: #1c2a27;
}

/* Home hero */
.hero {
  border-color: var(--line);
  background:
    radial-gradient(circle at 83% 34%, rgba(150, 199, 190, .25), transparent 28%),
    radial-gradient(circle at 74% 78%, rgba(207, 219, 187, .32), transparent 30%),
    linear-gradient(135deg, #fbfaf7 0%, #f8f6f0 50%, #eef4ef 100%);
}

.hero::before {
  background:
    linear-gradient(90deg, rgba(250, 249, 245, .99) 0%, rgba(250, 249, 245, .92) 43%, rgba(244, 247, 241, .34) 69%, rgba(239, 244, 239, .72) 100%),
    radial-gradient(circle at 77% 43%, rgba(111, 166, 143, .14), transparent 34%);
}

.hero-grid {
  opacity: .27;
  background-image:
    linear-gradient(rgba(43, 73, 63, .052) 1px, transparent 1px),
    linear-gradient(90deg, rgba(43, 73, 63, .052) 1px, transparent 1px);
}

.hero-aura {
  filter: blur(74px);
  opacity: .18;
}

.aura-one { background: #85b9a9; }
.aura-two { background: #c8d69f; }

.hero h1,
.story-hero h1,
.places-hero h1,
.region-hero h1,
.section-heading h2,
.near-heading h2,
.daily-content h2,
.manifesto-grid blockquote,
.newsletter-inner h2,
.story-intro h2,
.story-map-copy h2,
.story-signals-head h2,
.related-heading h2,
.story-gallery-head h2,
.story-editorial-heading h2,
.region-index-heading h2,
.region-introduction-grid h2 {
  color: #23312f;
  font-family: var(--font-sans);
  font-weight: 400;
  letter-spacing: -.055em;
}

.hero h1 {
  letter-spacing: -.062em;
  line-height: .88;
}

.hero h1 em {
  color: #668c2b;
  text-shadow: 0 12px 38px rgba(91, 124, 39, .08);
}

.hero h1 em::after {
  height: 5px;
  opacity: .2;
  filter: blur(1px);
}

.hero-lead {
  color: #5f6b67;
}

.discovery-console {
  border-color: rgba(42, 65, 58, .15);
  background: rgba(255, 255, 255, .91);
  box-shadow: 0 22px 60px rgba(42, 62, 55, .13);
  backdrop-filter: blur(20px) saturate(115%);
}

.search-main {
  border-color: var(--line);
}

.field-stack > span,
.search-select > span,
.location-console label > span,
.region-picker-label {
  color: #7d8883;
}

.field-stack input,
.search-select select,
.atlas-search input,
.location-console input,
.places-search input,
.newsletter-form input {
  color: #263431;
}

.field-stack input::placeholder,
.atlas-search input::placeholder,
.places-search input::placeholder,
.newsletter-form input::placeholder {
  color: #9aa39f;
}

.search-submit {
  background: linear-gradient(145deg, #a2d83e, #78a529);
  color: #17211f;
  box-shadow: 0 12px 26px rgba(103, 145, 35, .22);
}

.search-submit:hover {
  background: linear-gradient(145deg, #addf4c, #84b42e);
}

.region-trigger {
  border-color: rgba(35, 55, 50, .15);
  background: #f7f8f4;
  color: #2d3c38;
}

.region-trigger:hover,
.region-picker.is-open .region-trigger {
  border-color: rgba(93, 132, 48, .42);
  background: #fff;
}

.region-menu {
  border-color: rgba(35, 55, 50, .15);
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 20px 48px rgba(37, 55, 48, .17);
}

.region-option {
  color: #2b3936;
}

.region-option small {
  color: #87918c;
}

.region-option:hover,
.region-option.is-selected {
  background: #edf4e6;
  color: #567925;
}

.primary-button {
  background: linear-gradient(145deg, #a6dc43, #82ae2d);
  color: #17211f;
  box-shadow: 0 15px 30px rgba(95, 135, 34, .17);
}

.primary-button::before {
  background: #b9e965;
}

.text-link,
.hero-notes,
.hero-scroll {
  color: #69746f;
}

.hero-notes span::before {
  background: #8da295;
}

/* Hero globe */
.globe {
  border-color: rgba(83, 132, 113, .28);
  background: #dcebe6;
  box-shadow:
    inset -42px -34px 90px rgba(55, 88, 76, .18),
    inset 25px 16px 58px rgba(255, 255, 255, .78),
    0 0 0 16px rgba(112, 160, 142, .035),
    0 0 84px rgba(89, 145, 123, .16),
    0 42px 90px rgba(65, 88, 80, .17);
}

.globe-texture {
  background-image: url('./world-map-light.svg');
  opacity: .9;
  filter: none;
}

.globe-grid-lines {
  opacity: .2;
  background:
    repeating-radial-gradient(ellipse at center, transparent 0 11%, rgba(71, 119, 101, .52) 11.2% 11.5%, transparent 11.8% 22%),
    repeating-linear-gradient(90deg, transparent 0 12%, rgba(71, 119, 101, .42) 12.2% 12.45%, transparent 12.7% 25%);
}

.globe-shine {
  background:
    radial-gradient(circle at 28% 20%, rgba(255, 255, 255, .72), transparent 21%),
    linear-gradient(115deg, rgba(255, 255, 255, .28), transparent 38%, transparent 66%, rgba(48, 82, 70, .13));
}

.globe-shadow {
  background: rgba(50, 73, 66, .22);
  filter: blur(30px);
}

.orbit {
  border-color: rgba(74, 111, 84, .22);
}

.floating-place {
  border-color: rgba(35, 55, 50, .16);
  background: rgba(255, 255, 255, .9);
  color: #23312e;
  box-shadow: 0 18px 52px rgba(45, 66, 58, .15);
}

.floating-kicker,
.floating-place strong + span,
.globe-status {
  color: #74807a;
}

.mini-save,
.panel-save {
  border-color: rgba(35, 55, 50, .15);
  background: rgba(255, 255, 255, .7);
  color: #30403b;
}

.hero-scroll span {
  background: rgba(41, 63, 56, .15);
}

/* Search results */
.hero-search-results {
  border-color: rgba(35, 55, 50, .14);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 26px 64px rgba(41, 62, 54, .15);
}

.hero-search-results-head,
.hero-search-results-footer {
  border-color: var(--line);
}

.hero-search-results-head span,
.hero-search-result-meta {
  color: #76827c;
}

.hero-search-results-head strong,
.hero-search-result-copy strong,
.hero-search-empty {
  color: #24322f;
}

.hero-search-close {
  border-color: var(--line-strong);
  background: #f6f8f4;
  color: #62706a;
}

.hero-search-result {
  border-color: rgba(35, 55, 50, .11);
  background: #f9faf7;
}

.hero-search-result:hover {
  border-color: rgba(111, 153, 49, .32);
  background: #f2f7eb;
}

.hero-search-result-media {
  background: #dfe8e1;
}

.hero-search-result-media::after {
  background: linear-gradient(90deg, transparent 68%, rgba(245, 248, 244, .23));
}

.hero-search-result-description {
  color: #728079;
}

.hero-search-more {
  border-color: rgba(111, 153, 49, .28);
  background: #eef5e5;
  color: #5b7f25;
}

.hero-search-results-footer a {
  color: #50605a;
}

/* Ribbon and section structure */
.discovery-ribbon {
  border-color: var(--line);
  background: #e9efe6;
}

.ribbon-track {
  color: #66746d;
}

.ribbon-track i {
  background: #8eaa7a;
}

.section-heading > p,
.near-heading > p {
  color: var(--muted);
}

.atlas-section,
.daily-section,
.near-section,
.alternatives-section,
.manifesto-section,
.newsletter-section,
.story-overview,
.story-map-section,
.story-signals,
.related-section,
.story-gallery-section,
.story-editorial,
.region-introduction,
.region-directory,
.other-regions,
.places-directory {
  background: transparent;
}

/* Atlas */
.atlas-section {
  background:
    radial-gradient(circle at 86% 18%, rgba(139, 185, 164, .18), transparent 30%),
    linear-gradient(180deg, #f5f4ee, #eef3ed);
}

.atlas-shell {
  border-color: rgba(35, 55, 50, .14);
  background: #fff;
  box-shadow: var(--shadow);
}

.atlas-toolbar {
  border-color: var(--line);
  background: rgba(255, 255, 255, .84);
}

.atlas-search,
.filter-chip {
  color: #66736d;
}

.filter-chip {
  border-color: rgba(35, 55, 50, .13);
  background: #f8faf6;
}

.filter-chip:hover,
.filter-chip.is-active {
  border-color: rgba(105, 148, 44, .36);
  background: #edf5e3;
  color: #5b7f25;
}

.atlas-directory-link {
  color: #5e6c65;
}

.map-viewport,
.story-map-visual {
  border-color: var(--line);
  background:
    radial-gradient(circle at 55% 42%, rgba(127, 177, 154, .20), transparent 43%),
    linear-gradient(145deg, #eef5ef, #e6efec);
}

.map-canvas,
.story-map-world {
  background-image: url('./world-map-light.svg');
  filter: none;
}

.map-canvas {
  will-change: auto;
  backface-visibility: visible;
  image-rendering: auto;
}

.map-atmosphere {
  background:
    radial-gradient(circle at 23% 34%, rgba(111, 174, 180, .12), transparent 24%),
    radial-gradient(circle at 72% 55%, rgba(139, 180, 73, .1), transparent 28%);
}

.map-marker::after {
  border-color: #f3f6f1;
  box-shadow: 0 0 12px rgba(107, 149, 42, .34);
}

.marker-label,
.story-map-label {
  border-color: rgba(35, 55, 50, .16);
  background: rgba(255, 255, 255, .94);
  color: #24322f;
  box-shadow: 0 12px 26px rgba(43, 65, 56, .12);
}

.map-topline {
  color: #718079;
}

.map-controls {
  border-color: rgba(35, 55, 50, .15);
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 12px 30px rgba(42, 65, 56, .12);
}

.map-controls button {
  border-color: var(--line);
  color: #35453f;
}

.map-controls button:hover {
  background: #eef5e8;
}

.map-selection-link {
  border-color: rgba(35, 55, 50, .16);
  background: rgba(255, 255, 255, .94);
  color: #24322f;
  box-shadow: 0 14px 34px rgba(42, 65, 56, .14);
}

.place-panel {
  background: #fff;
  color: #263431;
}

.panel-image-shade {
  background: linear-gradient(180deg, transparent 52%, rgba(23, 35, 31, .65));
}

.panel-number {
  color: rgba(255, 255, 255, .86);
}

.panel-location {
  color: #6b8f2c;
}

.panel-content > p,
.place-facts dt {
  color: #6d7973;
}

.panel-tags span {
  border-color: rgba(35, 55, 50, .13);
  background: #f4f7f1;
  color: #52615a;
}

.place-facts,
.place-facts div {
  border-color: var(--line);
}

.place-facts dd {
  color: #2b3936;
}

.panel-open,
.alternative-open,
.daily-place-link {
  border-color: rgba(35, 55, 50, .2);
  background: #f8faf6;
  color: #263431;
}

.panel-open:hover,
.alternative-open:hover,
.daily-place-link:hover {
  border-color: rgba(109, 151, 47, .38);
  background: #edf5e4;
  color: #5a7d25;
}

/* Daily */
.daily-section {
  background:
    radial-gradient(circle at 10% 65%, rgba(199, 158, 116, .14), transparent 29%),
    #f4f1e9;
}

.daily-frame {
  border-color: rgba(35, 55, 50, .14);
  background: #fff;
  box-shadow: var(--shadow);
}

.daily-visual {
  background: #d8e3d9;
}

.daily-visual img {
  filter: saturate(.88) contrast(1.01);
}

.daily-visual-overlay {
  background:
    linear-gradient(180deg, rgba(23, 34, 31, .03), rgba(23, 34, 31, .10) 43%, rgba(23, 34, 31, .74)),
    linear-gradient(90deg, rgba(23, 34, 31, .04), transparent 58%);
}

.daily-content > p,
.clue-list p,
.answer-reveal p {
  color: #6d7973;
}

.clue-list li,
.streak-box {
  border-color: var(--line);
}

.answer-reveal {
  border-color: rgba(112, 155, 47, .24);
  background: #f1f7e9;
}

.answer-reveal strong,
.answer-reveal .daily-result-title {
  color: #273530;
}

/* Near */
.near-section {
  background: #f9f8f4;
}

.location-console {
  border-color: rgba(35, 55, 50, .14);
  background: #fff;
  box-shadow: 0 16px 42px rgba(42, 62, 55, .09);
}

.location-console button {
  border-color: rgba(35, 55, 50, .15);
  background: #f2f6ef;
  color: #34433e;
}

.location-console button:hover {
  border-color: rgba(106, 147, 47, .35);
  background: #ebf4df;
  color: #587d24;
}

.near-status {
  color: #6d7973;
}

.near-card {
  border-color: rgba(35, 55, 50, .12);
  background: #e6ece6;
  box-shadow: 0 18px 44px rgba(43, 62, 55, .10);
}

.near-card::after {
  background: linear-gradient(180deg, rgba(19, 28, 26, .03), rgba(19, 28, 26, .18) 48%, rgba(19, 28, 26, .86));
}

/* Alternatives */
.alternatives-section {
  background:
    radial-gradient(circle at 82% 20%, rgba(151, 190, 173, .16), transparent 26%),
    #f0f4ee;
}

.alternative-stage {
  border-color: rgba(35, 55, 50, .14);
  background: #fff;
  box-shadow: var(--shadow);
}

.alternative-visuals,
.alternative-data,
.alt-metrics div,
.alternative-tabs button,
.alternative-actions {
  border-color: var(--line);
}

.alternative-data {
  background: #fff;
}

.alt-intro p,
.alt-metrics span {
  color: #718078;
}

.alt-metrics strong {
  color: #263431;
}

.alternative-tabs button {
  color: #6b7771;
}

.alternative-tabs button:hover,
.alternative-tabs button.is-active {
  background: #eef5e6;
  color: #5a7d25;
}

.alternative-next {
  color: #5a6862;
}

/* Manifesto, newsletter, footer */
.manifesto-section {
  background: linear-gradient(145deg, #eef3ea, #f9f7f1);
}

.manifesto-index {
  color: #7c9a64;
}

.manifesto-copy > p,
.principles span {
  color: #68746e;
}

.principles,
.principles span {
  border-color: var(--line);
}

.newsletter-section {
  border-color: var(--line);
  background:
    radial-gradient(circle at 82% 15%, rgba(139, 184, 164, .19), transparent 30%),
    #e9f0e7;
}

.newsletter-number {
  color: #779653;
}

.newsletter-form > div,
.newsletter-form > label {
  border-color: var(--line);
}

.newsletter-form button {
  background: #7fa92e;
  color: #fff;
}

.newsletter-form small {
  color: #7a8580;
}

.site-footer {
  border-color: rgba(255, 255, 255, .11);
  background: #294039;
  color: #f2f5ef;
}

.footer-top > p,
.footer-bottom,
.footer-links {
  color: #c5d0cb;
}

.footer-bottom {
  border-color: rgba(255, 255, 255, .12);
}

/* Modal and feedback */
.modal-backdrop {
  background: rgba(36, 48, 43, .45);
}

.modal-card {
  border-color: rgba(35, 55, 50, .18);
  background: #fff;
  box-shadow: 0 34px 100px rgba(35, 51, 45, .25);
}

.modal-body > p {
  color: #6d7973;
}

.modal-close {
  border-color: rgba(255, 255, 255, .5);
  background: rgba(255, 255, 255, .85);
  color: #25332f;
}

.text-button {
  color: #52615b;
}

.toast,
.story-toast {
  border-color: rgba(35, 55, 50, .18);
  background: rgba(255, 255, 255, .96);
  color: #263431;
  box-shadow: 0 18px 48px rgba(37, 55, 48, .18);
}

/* Place stories */
.story-hero {
  border-color: var(--line);
  background: #eef3ee;
}

.story-hero-media img {
  filter: saturate(.94) contrast(1.01) brightness(1.02);
}

.story-hero-media::after {
  background:
    linear-gradient(180deg, rgba(248, 247, 242, .76), rgba(248, 247, 242, .34) 30%, rgba(248, 247, 242, .20) 64%, rgba(248, 247, 242, .76) 100%),
    linear-gradient(90deg, rgba(248, 247, 242, .98) 0%, rgba(248, 247, 242, .92) 32%, rgba(248, 247, 242, .40) 58%, rgba(248, 247, 242, .04) 83%);
}

.story-hero-grid {
  opacity: .16;
  background-image:
    linear-gradient(rgba(34, 55, 48, .07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(34, 55, 48, .07) 1px, transparent 1px);
}

.story-breadcrumbs {
  color: rgba(42, 58, 52, .62);
}

.story-breadcrumbs span {
  color: rgba(42, 58, 52, .30);
}

.story-kicker {
  color: #638a2a;
}

.story-hero-lead {
  color: #56645e;
}

.story-action,
.story-save,
.story-share {
  border-color: rgba(35, 55, 50, .20);
  background: rgba(255, 255, 255, .78);
  color: #293733;
  box-shadow: 0 10px 26px rgba(43, 63, 55, .075);
}

.story-action.primary {
  border-color: #7da92d;
  background: linear-gradient(145deg, #98cc37, #759d29);
  color: #fff;
}

.story-action:hover,
.story-save:hover,
.story-share:hover,
.story-save.is-saved {
  border-color: rgba(104, 145, 47, .40);
  background: #edf5e5;
  color: #567a24;
}

.story-action.primary:hover {
  background: linear-gradient(145deg, #a6d846, #80aa2e);
  color: #fff;
}

.story-overview {
  background: #fbfaf7;
}

.story-intro > p {
  color: #65716c;
}

.story-intro > p:first-of-type {
  color: #33413c;
}

.story-fact-card,
.story-map-shell,
.story-signal-card,
.story-editorial-block,
.region-index-card,
.other-regions-grid a {
  border-color: rgba(35, 55, 50, .13);
  background: #fff;
  box-shadow: 0 18px 48px rgba(43, 63, 55, .08);
}

.story-fact-head,
.story-facts-list > div,
.coordinate-line {
  border-color: var(--line);
}

.story-fact-head,
.story-facts-list dt {
  color: #7a8680;
}

.story-facts-list dd,
.story-facts-list dd a,
.coordinate-line {
  color: #2e3c38;
}

.story-tag-cloud span {
  border-color: rgba(35, 55, 50, .13);
  background: #f2f6ef;
  color: #52615a;
}

.story-map-section {
  background: #f6f5ef;
}

.story-map-world {
  opacity: .9;
}

.story-map-world::after {
  background:
    radial-gradient(circle at 45% 45%, rgba(94, 151, 128, .15), transparent 36%),
    linear-gradient(180deg, rgba(244, 248, 244, .04), rgba(225, 236, 228, .34));
}

.story-map-marker {
  border-color: #f6f7f2;
}

.story-map-copy p,
.story-signals-head p,
.story-signal-card p,
.region-index-card p,
.region-introduction-grid > p,
.region-collection-head p {
  color: #69766f;
}

.story-signals {
  border-color: var(--line);
  background:
    radial-gradient(circle at 82% 30%, rgba(130, 175, 153, .16), transparent 28%),
    #eef3ed;
}

.story-signal-card span,
.region-index-card > span,
.other-regions-grid span {
  color: #709832;
}

.story-signal-card h3,
.region-index-card strong {
  color: #293733;
}

.related-section {
  background: #f9f8f4;
}

.story-card {
  border-color: rgba(35, 55, 50, .13);
  background: #dfe7e0;
  box-shadow: 0 18px 45px rgba(43, 62, 55, .09);
}

.story-card::after {
  background: linear-gradient(180deg, rgba(12, 22, 18, .02), rgba(12, 22, 18, .14) 47%, rgba(12, 22, 18, .86));
}

.story-card h3,
.story-card p {
  color: #fff;
}

.story-card p {
  color: rgba(255, 255, 255, .78);
}

/* Directory and regional collections */
.places-hero {
  border-color: var(--line);
  background:
    radial-gradient(circle at 78% 25%, rgba(140, 183, 91, .14), transparent 27%),
    linear-gradient(135deg, #f9f7f1, #edf3ec);
}

.places-hero::before {
  background:
    radial-gradient(circle at 78% 25%, rgba(140, 183, 91, .12), transparent 27%),
    linear-gradient(135deg, rgba(129, 169, 145, .11), transparent 48%);
}

.places-hero p {
  color: #66726d;
}

.places-directory,
.region-directory {
  background: #f8f7f2;
}

.places-toolbar {
  border-color: rgba(35, 55, 50, .14);
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 16px 42px rgba(43, 63, 55, .08);
}

.places-search,
.places-count {
  color: #6d7973;
}

.places-filter {
  border-color: rgba(35, 55, 50, .13);
  background: #f7f9f5;
  color: #66736d;
}

.places-filter.is-active,
.places-filter:hover {
  border-color: rgba(105, 148, 44, .36);
  background: #edf5e3;
  color: #5b7f25;
}

.empty-state {
  border-color: var(--line);
  background: #fff;
  color: #66736d;
}

.story-gallery-section {
  background: #f1f4ee;
}

.story-gallery-head p,
.story-gallery-credit,
.story-gallery-source {
  color: #68756e;
}

.story-gallery-card {
  border-color: rgba(35, 55, 50, .12);
  background: #dfe7df;
  box-shadow: 0 16px 40px rgba(43, 62, 55, .08);
}

.story-gallery-card::after {
  background: linear-gradient(180deg, transparent 62%, rgba(15, 25, 21, .68));
}

.gallery-lightbox {
  background: rgba(35, 48, 43, .72);
}

.gallery-lightbox-panel {
  border-color: rgba(255, 255, 255, .26);
  background: #f7f6f1;
  box-shadow: 0 36px 100px rgba(23, 35, 31, .28);
}

.gallery-lightbox-panel figcaption {
  color: #283632;
  background: #fff;
}

.gallery-lightbox-panel figcaption span {
  color: #6c7972;
}

.story-editorial {
  background: #fbfaf7;
}

.story-editorial-block > span {
  color: #709832;
}

.story-editorial-block h3 {
  color: #293733;
}

.story-editorial-block p {
  color: #68756f;
}

.region-index {
  background: #eef3ec;
}

.region-index-card:hover,
.other-regions-grid a:hover {
  border-color: rgba(105, 148, 44, .34);
  background: #f3f8ed;
}

.region-index-card em {
  color: #648b2a;
}

.region-introduction,
.other-regions {
  border-color: var(--line);
  background: #faf9f5;
}

.other-regions-grid strong {
  color: #5f6c66;
}

/* Standalone 404 page */
body > main.card {
  border-color: rgba(35, 55, 50, .14);
  background:
    radial-gradient(circle at 86% 10%, rgba(146, 203, 47, .15), transparent 34%),
    rgba(255, 255, 255, .92);
  box-shadow: 0 28px 80px rgba(37, 55, 48, .14);
}

body > main.card .eyebrow {
  color: #668f22;
}

body > main.card h1 {
  color: #23312f;
  font-family: var(--font-sans);
  font-weight: 400;
}

body > main.card p {
  color: #68736f;
}

body > main.card a {
  background: linear-gradient(145deg, #a6dc43, #82ae2d);
  color: #17211f;
  box-shadow: 0 14px 30px rgba(95, 135, 34, .18);
}

/* Mobile refinements */
@media (max-width: 1080px) {
  .hero {
    background: linear-gradient(155deg, #fbfaf7 0%, #eef4ef 100%);
  }
}

@media (max-width: 760px) {
  .site-header,
  .story-page .site-header,
  .places-page .site-header {
    background: rgba(250, 249, 245, .94);
  }

  .hero::before {
    background: linear-gradient(180deg, rgba(250, 249, 245, .99) 0%, rgba(250, 249, 245, .91) 54%, rgba(238, 244, 239, .74) 100%);
  }

  .hero h1 {
    line-height: .91;
  }

  .discovery-console,
  .hero-search-results,
  .atlas-shell,
  .daily-frame,
  .alternative-stage,
  .story-map-shell,
  .story-fact-card,
  .places-toolbar {
    box-shadow: 0 16px 42px rgba(37, 55, 48, .11);
  }

  .globe-stage {
    opacity: .94;
  }

  .floating-place {
    background: rgba(255, 255, 255, .94);
  }

  .map-viewport.is-map-fullscreen {
    background: #edf4ee;
  }

  .story-hero-media::after {
    background:
      linear-gradient(180deg, rgba(248, 247, 242, .52), rgba(248, 247, 242, .28) 34%, rgba(248, 247, 242, .82) 100%),
      linear-gradient(90deg, rgba(248, 247, 242, .94), rgba(248, 247, 242, .66) 72%, rgba(248, 247, 242, .40));
  }

  .story-hero h1 {
    line-height: .92;
  }

  .story-hero-lead {
    color: #46544f;
  }
}

@media (prefers-contrast: more) {
  :root {
    --text: #101916;
    --muted: #4f5b56;
    --line: rgba(22, 39, 33, .23);
    --line-strong: rgba(22, 39, 33, .36);
  }
}


/* BEGIN REDISCOVER UI REFINEMENT v1.5.2 */
/* Uniform sans-serif typography across the entire public interface. */
body,
body * {
  font-family: var(--font-sans) !important;
}

.hero h1,
.story-hero h1,
.places-hero h1,
.region-hero h1 {
  font-weight: 720;
  letter-spacing: -.052em;
}

.section-heading h2,
.near-heading h2,
.daily-content h2,
.newsletter-inner h2,
.story-intro h2,
.story-map-copy h2,
.story-signals-head h2,
.related-heading h2,
.story-gallery-head h2,
.story-editorial-heading h2,
.region-index-heading h2,
.region-introduction-grid h2 {
  font-weight: 700;
  letter-spacing: -.038em;
}

.manifesto-grid blockquote {
  font-weight: 650;
  letter-spacing: -.035em;
}

.hero h1 em {
  font-family: inherit !important;
  font-weight: 690;
}

/* Primary actions use white text on a deeper green, never black on bright green. */
.search-submit,
.primary-button,
.story-action.primary,
.newsletter-form button,
body > main.card a {
  border-color: transparent;
  background: linear-gradient(145deg, #4b7d65, var(--action));
  color: var(--action-text) !important;
  box-shadow: 0 14px 30px rgba(47, 91, 72, .20);
}

.search-submit:hover,
.primary-button:hover,
.story-action.primary:hover,
.newsletter-form button:hover,
body > main.card a:hover {
  background: linear-gradient(145deg, #3b6753, var(--action-hover));
  color: var(--action-text) !important;
}

.primary-button::before {
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .26), transparent);
}

.alt-quiet:hover .alt-card-action,
.alt-quiet:focus-visible .alt-card-action,
.alternative-open:hover {
  border-color: var(--action);
  background: var(--action);
  color: var(--action-text) !important;
}

.alternative-open:hover span:last-child {
  color: var(--action-text) !important;
}

/* Marker center remains fixed when a marker becomes active or the adjacent panel changes size. */
.map-marker,
.map-marker:hover,
.map-marker.is-active {
  transform: translate(-50%, -50%) scale(var(--marker-inverse));
}

.map-marker::after {
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.map-marker:hover::after,
.map-marker.is-active::after {
  transform: translate(-50%, -50%) scale(1.28);
  background: #78a92d;
  box-shadow: 0 0 0 5px rgba(120, 169, 45, .13), 0 0 15px rgba(87, 130, 37, .34);
}

.atlas-shell,
.map-viewport {
  overflow-anchor: none;
}

/* The map keeps a stable viewport while the place panel changes content. */
@media (min-width: 1081px) {
  .map-viewport {
    height: 660px;
    min-height: 660px;
    align-self: start;
  }
}

@media (min-width: 761px) and (max-width: 1080px) {
  .map-viewport {
    height: 570px;
    min-height: 570px;
    align-self: start;
  }
}

@media (max-width: 760px) {
  .map-viewport {
    height: min(72vh, 620px);
    min-height: min(72vh, 620px);
  }
}

.map-viewport.is-map-fullscreen {
  width: 100vw;
  height: 100dvh;
  min-height: 100dvh;
  align-self: auto;
}
/* END REDISCOVER UI REFINEMENT v1.5.2 */

/* BEGIN REDISCOVER TYPOGRAPHY, CONTRAST AND LEGAL UI v1.5.4 */
/* Smaller labels should guide the eye without looking like headings. */
.eyebrow,
.hero .eyebrow {
  font-weight: 400;
  letter-spacing: .105em;
}

.story-kicker,
.story-breadcrumbs,
.panel-location,
.story-card-location,
.field-stack > span,
.search-select > span,
.location-console label > span,
.region-picker-label,
.story-fact-head,
.story-facts-list dt,
.story-signal-card > span,
.story-editorial-block > span,
.region-index-card > span,
.other-regions-grid span,
.newsletter-number,
.footer-links,
.desktop-nav,
.mobile-menu a,
.places-filter,
.story-card-arrow,
.distance-badge,
.location-console button,
.hero-search-result-meta,
.floating-kicker,
.globe-status {
  font-weight: 500;
}

.story-kicker,
.story-fact-head,
.story-facts-list dt,
.story-card-location,
.panel-location {
  letter-spacing: .105em;
}

.hero h1,
.story-hero h1,
.places-hero h1,
.region-hero h1 {
  font-weight: 640;
}

.section-heading h2,
.near-heading h2,
.daily-content h2,
.newsletter-inner h2,
.story-intro h2,
.story-map-copy h2,
.story-signals-head h2,
.related-heading h2,
.story-gallery-head h2,
.story-editorial-heading h2,
.region-index-heading h2,
.region-introduction-grid h2 {
  font-weight: 600;
}

.manifesto-grid blockquote,
.hero h1 em {
  font-weight: 560;
}

/* The value column in At a glance must read as body information, not as headings. */
.story-facts-list dd,
.story-facts-list dd a,
.story-tag-cloud span,
.story-signal-card h3,
.story-editorial-block h3,
.region-index-card strong,
.other-regions-grid strong,
.alt-metrics strong,
.floating-place strong,
.answer-reveal strong,
.answer-reveal .daily-result-title {
  font-weight: 500;
}

.story-action,
.story-save,
.story-share,
.primary-button,
.search-submit,
.newsletter-form button,
.hero-search-more,
.alternative-next,
.alternative-open {
  font-weight: 600;
}


/* Text placed on photography must remain readable in the light theme. */
.near-card::after {
  background: linear-gradient(180deg, rgba(7, 15, 12, .05), rgba(7, 15, 12, .28) 40%, rgba(5, 12, 9, .96));
}

.near-card-content,
.near-card-content .panel-location,
.near-card h3,
.near-card p {
  color: #ffffff !important;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .64);
}

.near-card-content .panel-location {
  opacity: .96;
}

.near-card h3 {
  font-weight: 600;
}

.near-card p {
  color: rgba(255, 255, 255, .92) !important;
}

.story-card::after {
  background: linear-gradient(180deg, rgba(7, 15, 12, .04), rgba(7, 15, 12, .24) 42%, rgba(5, 12, 9, .95));
}

.story-card-location,
.story-card h3,
.story-card p,
.story-card-arrow {
  color: #ffffff !important;
  text-shadow: 0 2px 16px rgba(0, 0, 0, .58);
}

.story-card h3 {
  font-weight: 600;
}

.story-card p {
  color: rgba(255, 255, 255, .9) !important;
}

/* Essential browser-storage notice. No optional analytics or advertising storage is active. */
.cookie-notice {
  position: fixed;
  z-index: 2400;
  right: 22px;
  bottom: 22px;
  width: min(640px, calc(100% - 44px));
  padding: 20px;
  transform: translateY(20px);
  border: 1px solid rgba(35, 55, 50, .16);
  border-radius: 20px;
  background: rgba(255, 255, 255, .97);
  color: #273531;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 24px 70px rgba(37, 55, 48, .20);
  transition: opacity .2s ease, transform .2s ease;
  backdrop-filter: blur(20px) saturate(120%);
}

.cookie-notice.is-visible {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.cookie-notice-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
}

.cookie-notice-copy strong {
  display: block;
  margin-bottom: 6px;
  color: #23312e;
  font-size: .94rem;
  font-weight: 580;
}

.cookie-notice-copy p {
  margin: 0;
  color: #68756f;
  font-size: .82rem;
  line-height: 1.55;
}

.cookie-notice-copy a {
  color: #3f6f5a;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cookie-notice-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}

.cookie-notice-button {
  min-height: 44px;
  padding: 0 18px;
  border: 0;
  border-radius: 999px;
  background: #3f6f5a;
  color: #fff;
  font: inherit;
  font-size: .78rem;
  font-weight: 600;
  cursor: pointer;
}

.cookie-notice-button:hover,
.cookie-notice-button:focus-visible {
  background: #315847;
}

.footer-bottom a,
.footer-bottom button {
  color: inherit;
  text-decoration: none;
}

.footer-bottom button {
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  cursor: pointer;
}

.footer-bottom a:hover,
.footer-bottom a:focus-visible,
.footer-bottom button:hover,
.footer-bottom button:focus-visible {
  color: #ffffff;
}

.footer-legal-links {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  align-items: center;
  justify-content: center;
}

@media (max-width: 680px) {
  .cookie-notice {
    right: 12px;
    bottom: 12px;
    width: calc(100% - 24px);
    padding: 17px;
    border-radius: 17px;
  }

  .cookie-notice-inner {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .cookie-notice-actions,
  .cookie-notice-button {
    width: 100%;
  }
}
/* END REDISCOVER TYPOGRAPHY, CONTRAST AND LEGAL UI v1.5.4 */

/* BEGIN REDISCOVER MAP MARKER INTERACTION v1.5.11 */
/* Larger invisible hit target; the visible dot remains compact. */
.map-marker,
.map-marker:hover,
.map-marker.is-active {
  width: 34px;
  height: 34px;
  touch-action: manipulation;
}

.map-marker::before {
  inset: 10px;
}

.map-marker .marker-label {
  left: calc(50% + 19px);
  pointer-events: auto;
  cursor: pointer;
}

.map-marker:focus-visible {
  outline: 2px solid #5f8f37;
  outline-offset: 3px;
}

/* When the user is zoomed in, selection feedback stays inside the map. */
.map-viewport.is-zoomed .map-selection-link:not([hidden]),
.map-viewport.is-map-fullscreen .map-selection-link:not([hidden]) {
  display: flex;
}

@media (max-width: 760px) {
  .map-marker,
  .map-marker:hover,
  .map-marker.is-active {
    width: 38px;
    height: 38px;
  }

  .map-marker::before {
    inset: 12px;
  }

  .map-marker .marker-label {
    left: calc(50% + 21px);
  }
}
/* END REDISCOVER MAP MARKER INTERACTION v1.5.11 */
