@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500&family=Inter:wght@300;400;500;600&display=swap");



html {
  scroll-padding-top: 84px;
}

body.menu-open {
  overflow: hidden;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 4px;
}

img {
  display: block;
}

.menu-toggle {
  background: transparent;
  border: 0;
  display: none;
  padding: 0.6rem 0;
}

.menu-toggle span {
  background: var(--cream);
  display: block;
  height: 1px;
  transition: transform 0.25s ease;
  width: 25px;
}

.menu-toggle span + span {
  margin-top: 7px;
}

.menu-toggle[aria-expanded="true"] span:first-child {
  transform: translateY(4px) rotate(45deg);
}

.menu-toggle[aria-expanded="true"] span:last-child {
  transform: translateY(-4px) rotate(-45deg);
}

.seasonal-tab,
.zone-tab {
  -webkit-tap-highlight-color: transparent;
}

.founders-image {
  object-position: center;
}

.form-status {
  color: var(--sage);
  font-size: 0.8rem;
  grid-column: 1 / -1;
  min-height: 1.5rem;
}

.partner-mark {
  align-items: center;
  border: 1px solid rgba(232, 228, 220, 0.35);
  border-radius: 50%;
  color: var(--gold);
  display: inline-flex;
  flex: 0 0 35px;
  font-family: "Cormorant Garamond", serif;
  font-size: 0.8rem;
  height: 35px;
  justify-content: center;
  letter-spacing: 0.08em;
}

.conservation-note {
  background: var(--sand);
  border-top: 1px solid rgba(26, 24, 20, 0.09);
  padding: 2.75rem 4rem;
}

.conservation-note-inner {
  align-items: center;
  display: flex;
  gap: 1.5rem;
  margin: 0 auto;
  max-width: 960px;
}

.conservation-note img {
  flex: 0 0 72px;
  height: 72px;
  object-fit: contain;
  opacity: 0.72;
  width: 72px;
}

.conservation-note span {
  color: rgba(26, 24, 20, 0.52);
  display: block;
  font-size: 0.57rem;
  font-weight: 600;
  letter-spacing: 0.17em;
  margin-bottom: 0.45rem;
  text-transform: uppercase;
}

.conservation-note p {
  color: rgba(26, 24, 20, 0.62);
  font-size: 0.82rem;
  line-height: 1.7;
  margin: 0;
}

.conservation-note a {
  border-bottom: 1px solid var(--gold);
  color: rgba(26, 24, 20, 0.68);
  display: inline-flex;
  font-size: 0.58rem;
  font-weight: 600;
  gap: 0.4rem;
  letter-spacing: 0.14em;
  margin-top: 0.75rem;
  padding-bottom: 0.25rem;
  text-decoration: none;
  text-transform: uppercase;
}

/* Section 03 — Sri Lanka latitude map */
.map-plot {
  background:
    radial-gradient(circle at 50% 42%, rgba(184, 168, 138, 0.16), transparent 34%),
    linear-gradient(180deg, rgba(229, 224, 213, 0.38), rgba(240, 235, 224, 0));
  border-bottom: 1px solid rgba(26, 24, 20, 0.12);
  border-top: 1px solid rgba(26, 24, 20, 0.12);
  height: 680px;
  margin: 4.5rem 0 0;
  overflow: hidden;
  position: relative;
}

.sri-lanka-silhouette {
  filter: sepia(0.18);
  height: 79%;
  left: 50%;
  opacity: 0.2;
  position: absolute;
  top: 3%;
  transform: translateX(-50%);
  width: auto;
  z-index: 1;
}

.map-lat-line {
  border-top: 1px solid rgba(26, 24, 20, 0.13);
  left: 0;
  position: absolute;
  right: 0;
  z-index: 2;
}

.map-lat-line::after {
  background: rgba(26, 24, 20, 0.3);
  content: "";
  height: 5px;
  left: 52px;
  position: absolute;
  top: -3px;
  width: 1px;
}

.map-lat-line > span {
  color: rgba(26, 24, 20, 0.5);
  font-size: 0.62rem;
  font-weight: 600;
  left: 0;
  letter-spacing: 0.13em;
  position: absolute;
  top: -1.05rem;
}

.map-lat-line.lat-10 { top: 0; }
.map-lat-line.lat-09 { top: 20%; }
.map-lat-line.lat-08 { top: 40%; }
.map-lat-line.lat-07 { top: 60%; }
.map-lat-line.lat-06 { top: 80%; }
.map-lat-line.lat-05 { top: calc(100% - 1px); }

.map-north {
  align-items: center;
  border: 1px solid rgba(26, 24, 20, 0.22);
  border-radius: 50%;
  color: var(--charcoal);
  display: flex;
  font-family: "Cormorant Garamond", serif;
  font-size: 0.8rem;
  height: 32px;
  justify-content: center;
  letter-spacing: 0.05em;
  position: absolute;
  right: 0;
  top: 1.5rem;
  width: 32px;
  z-index: 4;
}

.map-north::after {
  background: rgba(26, 24, 20, 0.34);
  content: "";
  height: 18px;
  left: 50%;
  position: absolute;
  top: 31px;
  width: 1px;
}

.map-marker {
  background: var(--charcoal);
  border: 3px solid var(--parchment);
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(26, 24, 20, 0.38);
  height: 12px;
  position: absolute;
  width: 12px;
  z-index: 4;
}

.map-marker::after {
  border: 1px solid rgba(184, 168, 138, 0.75);
  border-radius: 50%;
  content: "";
  height: 24px;
  inset: -9px;
  position: absolute;
  width: 24px;
}

.map-marker-label {
  background: rgba(240, 235, 224, 0.94);
  color: var(--charcoal);
  font-size: 0.62rem;
  font-weight: 600;
  left: 25px;
  letter-spacing: 0.15em;
  padding: 0.35rem 0.5rem;
  position: absolute;
  text-transform: uppercase;
  top: 50%;
  transform: translateY(-50%);
  white-space: nowrap;
}

.map-marker-label small {
  color: rgba(26, 24, 20, 0.47);
  display: block;
  font-size: 0.48rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  margin-top: 0.08rem;
}

.marker-label-left .map-marker-label {
  left: auto;
  right: 25px;
  text-align: right;
}

.marker-jaffna { left: 39%; top: 8%; }
.marker-wilpattu { left: 39%; top: 31%; }
.marker-horton { left: 51%; top: 64%; }
.marker-yala { left: 62%; top: 72.5%; }
.marker-galle { left: 42%; top: 79%; }

.map-ocean-note {
  bottom: 5%;
  color: var(--sage);
  left: 50%;
  position: absolute;
  text-align: center;
  transform: translateX(-50%);
  z-index: 3;
}

.map-ocean-note > span {
  display: block;
  font-family: "Cormorant Garamond", serif;
  font-size: 1.35rem;
  font-style: italic;
}

.map-ocean-note small {
  color: rgba(26, 24, 20, 0.45);
  display: block;
  font-size: 0.5rem;
  letter-spacing: 0.14em;
  margin-top: 0.15rem;
  text-transform: uppercase;
}

.map-plot figcaption {
  bottom: 0.45rem;
  color: rgba(26, 24, 20, 0.35);
  font-size: 0.45rem;
  letter-spacing: 0.04em;
  position: absolute;
  right: 0;
  z-index: 4;
}

.map-plot figcaption a {
  color: inherit;
}

.map-section .map-body-text {
  margin-top: 2.5rem;
  max-width: 620px;
}

@media (max-width: 1024px) {
  .nav {
    display: grid;
    grid-template-columns: 1fr auto;
  }

  .menu-toggle {
    display: block;
    position: relative;
    z-index: 1002;
  }

  .nav-links {
    align-items: center;
    background: rgba(28, 34, 30, 0.985);
    display: flex;
    flex-direction: column;
    gap: 1.35rem;
    inset: 0;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    transform: translateY(-10px);
    transition: opacity 0.25s ease, transform 0.25s ease;
    visibility: hidden;
    z-index: 1001;
  }

  .nav-links.open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    visibility: visible;
  }

  .nav-links a {
    color: var(--cream);
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(1.8rem, 7vw, 3rem);
    font-weight: 400;
    letter-spacing: 0.04em;
    text-transform: none;
  }

  .nav-coords {
    display: none;
  }

  .conservation-note {
    padding: 2.5rem 2rem;
  }

  .map-plot {
    height: 620px;
  }

  .sri-lanka-silhouette {
    opacity: 0.18;
  }
}

@media (max-width: 640px) {
  .footer-main {
    align-items: flex-start;
  }

  .footer-brand-large {
    line-height: 1.1;
  }

  .conservation-note-inner {
    align-items: flex-start;
    gap: 1rem;
  }

  .conservation-note img {
    flex-basis: 56px;
    height: 56px;
    width: 56px;
  }

  .map-plot {
    height: 540px;
    margin-top: 3rem;
  }

  .sri-lanka-silhouette {
    height: 78%;
  }

  .map-marker-label {
    font-size: 0.52rem;
    left: 19px;
    letter-spacing: 0.1em;
    padding: 0.25rem 0.35rem;
  }

  .marker-label-left .map-marker-label {
    right: 19px;
  }

  .marker-horton { left: 53%; }
  .marker-yala { left: 64%; }

  .map-ocean-note {
    width: 78%;
  }

  .map-ocean-note small {
    font-size: 0.42rem;
  }

  .map-plot figcaption {
    display: none;
  }
}

/* Interactive field atlas */
.map-section {
  background: var(--parchment);
  overflow: hidden;
  padding: 8rem 4rem;
}

.map-section-inner {
  margin: 0 auto;
  max-width: 1320px;
}

.map-section .section-title {
  font-size: clamp(3rem, 5vw, 4.8rem);
  max-width: 760px;
}

.map-section .section-title em {
  color: var(--gold);
  display: block;
}

.atlas-heading-row {
  align-items: end;
  display: grid;
  gap: 4rem;
  grid-template-columns: minmax(0, 1.25fr) minmax(240px, 0.55fr);
}

.atlas-heading-row > p {
  color: rgba(26, 24, 20, 0.6);
  font-size: 0.92rem;
  line-height: 1.85;
  max-width: 360px;
  padding-bottom: 0.65rem;
}

.atlas-filters {
  border-bottom: 1px solid rgba(26, 24, 20, 0.14);
  display: flex;
  margin-top: 4rem;
  overflow-x: auto;
  scrollbar-width: none;
}

.atlas-filters::-webkit-scrollbar {
  display: none;
}

.atlas-filters button {
  align-items: center;
  background: transparent;
  border: 0;
  border-bottom: 2px solid transparent;
  color: rgba(26, 24, 20, 0.52);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.62rem;
  font-weight: 600;
  gap: 0.7rem;
  letter-spacing: 0.14em;
  margin-bottom: -1px;
  padding: 1.1rem 1.15rem;
  text-transform: uppercase;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.atlas-filters button:first-child {
  padding-left: 0;
}

.atlas-filters button span {
  color: rgba(26, 24, 20, 0.35);
  font-size: 0.5rem;
}

.atlas-filters button:hover,
.atlas-filters button.active {
  border-bottom-color: var(--gold);
  color: var(--charcoal);
}

.atlas-shell {
  background: var(--olivewood);
  border: 1px solid rgba(26, 24, 20, 0.18);
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(330px, 0.78fr);
  margin-top: 2.4rem;
  min-height: 760px;
}

.atlas-map-column {
  border-right: 1px solid rgba(232, 228, 220, 0.12);
  min-width: 0;
  padding: 1.25rem;
}

.atlas-map-kicker {
  color: rgba(232, 228, 220, 0.58);
  display: flex;
  font-size: 0.54rem;
  font-weight: 600;
  justify-content: space-between;
  letter-spacing: 0.16em;
  padding: 0.25rem 0.2rem 1rem;
  text-transform: uppercase;
}

.atlas-map-stage {
  aspect-ratio: 1000 / 1168.5;
  background: #171c19;
  border: 1px solid rgba(232, 228, 220, 0.1);
  overflow: hidden;
  position: relative;
  width: 100%;
}

.atlas-map-stage::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='180' viewBox='0 0 360 180'%3E%3Cpath d='M0 88 Q45 65 90 88 T180 88 T270 88 T360 88' stroke='%23e8e4dc' stroke-width='.35' fill='none' opacity='.08'/%3E%3Cpath d='M0 112 Q45 89 90 112 T180 112 T270 112 T360 112' stroke='%23e8e4dc' stroke-width='.35' fill='none' opacity='.05'/%3E%3C/svg%3E");
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.atlas-map-svg {
  display: block;
  height: auto;
  overflow: visible;
  width: 100%;
}

.atlas-island {
  filter: grayscale(1) sepia(0.18) saturate(0.7) brightness(1.1);
  opacity: 0.58;
}

.atlas-latitude line {
  stroke: rgba(232, 228, 220, 0.13);
  stroke-dasharray: 4 8;
  stroke-width: 1;
}

.atlas-latitude text {
  fill: rgba(232, 228, 220, 0.42);
  font-family: "Inter", sans-serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-anchor: middle;
}

.atlas-marker {
  cursor: pointer;
  opacity: 1;
  outline: none;
  transition: opacity 0.22s ease;
}

.atlas-marker.dimmed {
  opacity: 0.13;
}

.atlas-marker-hit {
  fill: rgba(255, 255, 255, 0.001);
}

.atlas-marker-ring {
  fill: rgba(28, 34, 30, 0.78);
  stroke: var(--marker-accent);
  stroke-width: 3;
  transition: r 0.2s ease, stroke-width 0.2s ease;
}

.atlas-marker-dot {
  fill: var(--marker-accent);
  stroke: #f0ebe0;
  stroke-width: 2;
  transition: r 0.2s ease;
}

.atlas-marker.selected .atlas-marker-ring {
  fill: rgba(184, 168, 138, 0.18);
  stroke: #d6c39f;
  stroke-width: 4;
}

.atlas-marker.selected .atlas-marker-dot {
  fill: #d6c39f;
}

.atlas-marker-index {
  fill: rgba(232, 228, 220, 0.58);
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.12em;
  opacity: 0;
  text-anchor: middle;
  transition: opacity 0.18s ease;
}

.atlas-marker-label {
  opacity: 0;
  pointer-events: none;
  transform-box: fill-box;
  transform-origin: left center;
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.atlas-marker-label rect {
  fill: rgba(240, 235, 224, 0.96);
  stroke: rgba(184, 168, 138, 0.48);
}

.atlas-marker-label text {
  fill: #1a1814;
  font-family: "Inter", sans-serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.atlas-marker:hover .atlas-marker-label,
.atlas-marker:focus .atlas-marker-label,
.atlas-marker.selected .atlas-marker-label,
.atlas-marker.zone-label-visible .atlas-marker-label,
.atlas-marker:hover .atlas-marker-index,
.atlas-marker:focus .atlas-marker-index,
.atlas-marker.selected .atlas-marker-index,
.atlas-marker.zone-label-visible .atlas-marker-index {
  opacity: 1;
}

.atlas-marker:focus .atlas-marker-ring {
  stroke: #f0ebe0;
  stroke-width: 5;
}

.atlas-mobile-select {
  display: none;
}

.atlas-detail {
  background:
    linear-gradient(180deg, rgba(34, 42, 37, 0.97), rgba(22, 27, 24, 0.99));
  color: var(--cream);
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.atlas-detail-image {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  position: relative;
}

.atlas-detail-image::after {
  background: linear-gradient(180deg, transparent 52%, rgba(22, 27, 24, 0.76));
  content: "";
  inset: 0;
  position: absolute;
}

.atlas-detail-image img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.atlas-detail-image-credit {
  bottom: 0.55rem;
  color: rgba(240, 235, 224, 0.82);
  font-size: 0.38rem;
  font-weight: 600;
  left: 0.75rem;
  letter-spacing: 0.1em;
  position: absolute;
  text-transform: uppercase;
  z-index: 1;
}

.atlas-detail-image-credit.is-right {
  left: auto;
  right: 1rem;
  text-align: right;
}

.atlas-detail-placeholder {
  align-content: center;
  aspect-ratio: 16 / 8;
  background:
    linear-gradient(90deg, transparent 49.8%, rgba(232, 228, 220, 0.1) 50%, transparent 50.2%),
    linear-gradient(transparent 49.8%, rgba(232, 228, 220, 0.1) 50%, transparent 50.2%);
  color: rgba(232, 228, 220, 0.5);
  display: grid;
  font-family: "Cormorant Garamond", serif;
  font-size: 1.45rem;
  font-style: italic;
  gap: 0.25rem;
  justify-content: center;
  text-align: center;
}

.atlas-detail-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: clamp(2rem, 4vw, 3.4rem);
}

.atlas-detail-meta {
  color: var(--gold);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.57rem;
  font-weight: 600;
  gap: 0.65rem 1.2rem;
  justify-content: space-between;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.atlas-detail h3 {
  color: var(--cream);
  font-size: clamp(2.35rem, 4vw, 3.7rem);
  margin: 1.2rem 0 1.4rem;
}

.atlas-detail-description {
  color: rgba(232, 228, 220, 0.72);
  font-size: 0.91rem;
  line-height: 1.85;
}

.atlas-detail-description strong,
.atlas-detail-description em {
  color: var(--cream);
}

.atlas-detail-action {
  align-items: center;
  align-self: flex-start;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--gold);
  color: var(--cream);
  display: inline-flex;
  font-size: 0.63rem;
  font-weight: 600;
  gap: 1rem;
  letter-spacing: 0.15em;
  margin-top: auto;
  padding: 2.2rem 0 0.45rem;
  text-transform: uppercase;
}

.atlas-detail-action span {
  color: var(--gold);
  font-size: 0.9rem;
}

.atlas-footnote {
  color: rgba(26, 24, 20, 0.46);
  display: flex;
  font-size: 0.52rem;
  gap: 2rem;
  justify-content: space-between;
  letter-spacing: 0.07em;
  line-height: 1.65;
  margin-top: 1rem;
  text-transform: uppercase;
}

.atlas-footnote p {
  max-width: 540px;
}

.atlas-footnote a {
  color: inherit;
}

@media (max-width: 980px) {
  .atlas-heading-row {
    align-items: start;
    gap: 1.5rem;
    grid-template-columns: 1fr;
  }

  .atlas-heading-row > p {
    max-width: 520px;
  }

  .atlas-shell {
    grid-template-columns: 1fr;
  }

  .atlas-map-column {
    border-bottom: 1px solid rgba(232, 228, 220, 0.12);
    border-right: 0;
  }

  .atlas-detail {
    display: grid;
    grid-template-columns: minmax(240px, 0.8fr) minmax(0, 1.2fr);
  }

  .atlas-detail-copy {
    min-height: 430px;
  }
}

@media (max-width: 640px) {
  .map-section {
    padding: 5rem 1.15rem;
  }

  .map-section .section-title {
    font-size: clamp(2.75rem, 13vw, 4rem);
  }

  .atlas-filters {
    margin-left: -1.15rem;
    margin-right: -1.15rem;
    margin-top: 2.75rem;
    padding-left: 1.15rem;
  }

  .atlas-filters button:first-child {
    padding-left: 0.5rem;
  }

  .atlas-shell {
    margin-left: -1.15rem;
    margin-right: -1.15rem;
    margin-top: 1.25rem;
    min-height: 0;
  }

  .atlas-map-column {
    padding: 0.85rem;
  }

  .atlas-map-kicker {
    font-size: 0.48rem;
  }

  .atlas-marker-label,
  .atlas-marker-index {
    display: none;
  }

  .atlas-marker.zone-label-visible .atlas-marker-label {
    display: inline;
  }

  .atlas-mobile-select {
    color: rgba(232, 228, 220, 0.55);
    display: grid;
    font-size: 0.52rem;
    font-weight: 600;
    gap: 0.5rem;
    letter-spacing: 0.14em;
    margin-top: 1rem;
    text-transform: uppercase;
  }

  .atlas-mobile-select select {
    appearance: none;
    background: #202722;
    border: 1px solid rgba(232, 228, 220, 0.18);
    border-radius: 0;
    color: var(--cream);
    min-height: 48px;
    padding: 0.75rem 2.8rem 0.75rem 0.9rem;
    width: 100%;
  }

  .atlas-detail {
    display: flex;
  }

  .atlas-detail-image {
    aspect-ratio: 16 / 9;
  }

  .atlas-detail-copy {
    min-height: 0;
    padding: 2rem 1.25rem 2.4rem;
  }

  .atlas-detail-meta {
    display: grid;
    justify-content: start;
  }

  .atlas-detail h3 {
    font-size: 2.7rem;
  }

  .atlas-detail-action {
    margin-top: 0.5rem;
  }

  .atlas-footnote {
    display: grid;
    gap: 0.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

:root {
            --parchment: #F0EBE0;
            --sand: #E5E0D5;
            --olive: #C4B9A8;
            --sage: #6B7260;
            --bark: #3A3F35;
            --olivewood: #1C221E;
            --gold: #B8A88A;
            --cream: #E8E4DC;
            --cream-muted: rgba(232,228,220,0.6);
            --charcoal: #1A1814;
            --border-light: rgba(26,24,20,0.12);
            --border-dark: rgba(232,228,220,0.12);
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }
        html { scroll-behavior: smooth; }

        body {
            font-family: 'Inter', sans-serif;
            background: var(--parchment);
            color: var(--charcoal);
            line-height: 1.7;
            font-weight: 400;
            overflow-x: hidden;
        }

        h1, h2, h3, h4, h5, h6 {
            font-family: 'Cormorant Garamond', serif;
            font-weight: 400;
            line-height: 1.15;
            color: var(--charcoal);
        }

        /* Topographical pattern for dark sections */
        .topo-bg {
            position: relative;
        }
        .topo-bg::before {
            content: '';
            position: absolute;
            inset: 0;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='200' viewBox='0 0 400 200'%3E%3Cpath d='M0 100 Q50 80 100 100 T200 100 T300 100 T400 100' stroke='%23ffffff' stroke-width='0.3' fill='none' opacity='0.06'/%3E%3Cpath d='M0 120 Q50 100 100 120 T200 120 T300 120 T400 120' stroke='%23ffffff' stroke-width='0.3' fill='none' opacity='0.04'/%3E%3Cpath d='M0 80 Q50 60 100 80 T200 80 T300 80 T400 80' stroke='%23ffffff' stroke-width='0.3' fill='none' opacity='0.04'/%3E%3Cpath d='M0 140 Q50 120 100 140 T200 140 T300 140 T400 140' stroke='%23ffffff' stroke-width='0.3' fill='none' opacity='0.03'/%3E%3C/svg%3E");
            background-size: 400px 200px;
            pointer-events: none;
            z-index: 0;
        }

        /* Navigation */
        .nav {
            position: fixed;
            top: 0; left: 0; right: 0;
            z-index: 1000;
            padding: 1.5rem 4rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
            background: transparent;
            transition: all 0.5s ease;
        }

        .nav.scrolled {
            background: rgba(28,34,30,0.95);
            backdrop-filter: blur(12px);
            padding: 1rem 4rem;
        }

        .nav-logo {
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.1rem;
            font-weight: 500;
            letter-spacing: 0.2em;
            color: var(--cream);
            text-decoration: none;
            text-transform: uppercase;
        }

        .nav-logo span {
            color: var(--gold);
            font-weight: 400;
        }

        .nav-coords {
            font-size: 0.65rem;
            font-weight: 500;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: var(--cream-muted);
        }

        .nav-links {
            display: flex;
            gap: 2.5rem;
            list-style: none;
        }

        .nav-links a {
            text-decoration: none;
            color: var(--cream-muted);
            font-size: 0.7rem;
            font-weight: 500;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            transition: color 0.3s ease;
        }

        .nav-links a:hover { color: var(--cream); }

        /* Section Labels */
        .section-label {
            font-size: 0.65rem;
            font-weight: 500;
            letter-spacing: 0.25em;
            text-transform: uppercase;
            color: var(--gold);
            margin-bottom: 2rem;
            display: flex;
            align-items: center;
            gap: 1rem;
        }

        .section-label::before {
            content: '';
            display: inline-block;
            width: 40px;
            height: 1px;
            background: var(--gold);
            opacity: 0.5;
        }

        .section-label.dark::before {
            background: var(--gold);
        }

        .section-title {
            font-size: 3.5rem;
            font-weight: 400;
            margin-bottom: 1.5rem;
            color: var(--charcoal);
            line-height: 1.1;
        }

        .section-title em {
            font-style: italic;
            color: var(--gold);
            font-weight: 400;
        }

        .section-title.dark {
            color: var(--cream);
        }

        .section-subtitle {
            font-size: 1rem;
            color: rgba(26,24,20,0.65);
            max-width: 550px;
            line-height: 1.8;
            font-weight: 400;
        }

        .section-subtitle.dark {
            color: var(--cream-muted);
        }

        /* Hero */
        .hero {
            position: relative;
            height: 100vh;
            min-height: 800px;
            display: flex;
            align-items: flex-end;
            overflow: hidden;
            background: linear-gradient(180deg, rgba(60,55,45,0.3) 0%, rgba(40,35,28,0.6) 100%);
        }

        .hero-image {
            position: absolute;
            top: 78px;
            right: 0;
            bottom: 0;
            left: 0;
            background: url('/images/waypoint-hero-leopard-evening.webp') left 2%/cover no-repeat;
            filter: sepia(0.04) saturate(0.92) contrast(1.06) brightness(0.86);
            z-index: -2;
        }

        .hero-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(
                180deg,
                rgba(18,22,19,0.12) 0%,
                rgba(18,22,19,0.12) 42%,
                rgba(18,22,19,0.72) 100%
            ), linear-gradient(
                90deg,
                rgba(18,22,19,0.88) 0%,
                rgba(18,22,19,0.68) 34%,
                rgba(18,22,19,0.22) 52%,
                transparent 66%
            );
            z-index: -1;
        }

        .hero-latitude-lines {
            position: absolute;
            top: 30%; right: 3rem;
            bottom: 20%;
            width: 80px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            z-index: 5;
        }

        .hero-lat-item {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 0.8rem;
        }

        .hero-lat-line {
            width: 60px;
            height: 1px;
            background: rgba(232,228,220,0.25);
        }

        .hero-lat-label {
            font-size: 0.6rem;
            letter-spacing: 0.15em;
            color: rgba(232,228,220,0.5);
            font-family: 'Inter', sans-serif;
            font-weight: 500;
            width: 30px;
            text-align: right;
        }

        .hero-content {
            position: relative;
            z-index: 10;
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 4rem 5rem;
            width: 100%;
        }

        .hero .hero-photo-credit {
            bottom: 1rem;
            left: auto;
            right: 1.25rem;
            top: auto;
            z-index: 12;
        }

        .hero-tagline {
            font-size: 0.7rem;
            font-weight: 500;
            letter-spacing: 0.35em;
            text-transform: uppercase;
            color: var(--gold);
            margin-bottom: 2rem;
            display: flex;
            align-items: center;
            gap: 1rem;
        }

        .hero-tagline::before {
            content: '';
            display: inline-block;
            width: 50px;
            height: 1px;
            background: var(--gold);
            opacity: 0.6;
        }

        .hero-title {
            font-size: 5.5rem;
            font-weight: 400;
            line-height: 1.05;
            margin-bottom: 1.5rem;
            color: var(--cream);
            max-width: min(560px, 46vw);
        }

        .hero-title em {
            font-style: italic;
            font-weight: 400;
            color: var(--gold);
        }

        .hero-subtitle {
            font-size: 1rem;
            color: rgba(232,228,220,0.75);
            margin-bottom: 4rem;
            font-weight: 400;
            max-width: min(440px, 42vw);
            line-height: 1.8;
        }

        .hero-stats {
            display: flex;
            gap: 4rem;
            padding-top: 2rem;
            border-top: 1px solid rgba(232,228,220,0.15);
            max-width: min(560px, 46vw);
        }

        .stat-item {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
        }

        .stat-label {
            font-size: 0.6rem;
            font-weight: 600;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: var(--gold);
        }

        .stat-value {
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.1rem;
            font-weight: 500;
            color: var(--cream);
            letter-spacing: 0.05em;
        }

        /* Sections General */
        .section {
            padding: 8rem 4rem;
            max-width: 1200px;
            margin: 0 auto;
        }

        .section-wide {
            max-width: 1400px;
        }

        .section-dark {
            background: var(--olivewood);
            color: var(--cream);
        }

        .section-light {
            background: var(--parchment);
        }

        /* Who We Are */
        .who-we-are {
            background: var(--parchment);
            padding: 8rem 4rem;
        }

        .who-we-are-inner {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 6rem;
            align-items: start;
        }

        .who-we-are .section-title {
            font-size: 3.5rem;
            line-height: 1.1;
        }

        .who-we-are .section-title em {
            color: var(--gold);
            font-style: italic;
        }

        .who-we-are-body {
            font-size: 1rem;
            color: rgba(26,24,20,0.7);
            line-height: 1.9;
        }

        .who-we-are-body p + p {
            margin-top: 1.5rem;
        }

        .who-stats {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 2rem;
            margin-top: 4rem;
            padding-top: 3rem;
            border-top: 1px solid var(--border-light);
        }

        .who-stat-value {
            font-family: 'Cormorant Garamond', serif;
            font-size: 2.5rem;
            font-weight: 400;
            color: var(--charcoal);
            line-height: 1;
            margin-bottom: 0.8rem;
        }

        .who-stat-label {
            font-size: 0.6rem;
            font-weight: 600;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: rgba(26,24,20,0.5);
            line-height: 1.6;
        }

        /* The Meaning Behind the Name */
        .name-section {
            background: var(--olivewood);
            padding: 8rem 4rem;
            position: relative;
        }

        .name-section-inner {
            max-width: 1200px;
            margin: 0 auto;
            position: relative;
            z-index: 1;
        }

        .name-section .section-title {
            color: var(--cream);
            font-size: 3.5rem;
            margin-bottom: 4rem;
        }

        .name-section .section-title em {
            color: var(--gold);
        }

        .name-cards {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 0;
            border-top: 1px solid var(--border-dark);
        }

        .name-card {
            padding: 3rem 3rem 3rem 0;
            border-right: 1px solid var(--border-dark);
            position: relative;
        }

        .name-card:last-child {
            border-right: none;
            padding-left: 3rem;
            padding-right: 0;
        }

        .name-card::before {
            content: '';
            position: absolute;
            top: -5px;
            left: 0;
            width: 10px;
            height: 10px;
            border: 1px solid var(--gold);
            border-radius: 50%;
            background: var(--olivewood);
        }

        .name-card:last-child::before {
            left: 3rem;
        }

        .name-card h3 {
            font-size: 3rem;
            font-weight: 400;
            margin-bottom: 0.8rem;
            color: var(--gold);
            letter-spacing: 0.05em;
        }

        .name-card .card-label {
            font-size: 0.65rem;
            font-weight: 600;
            letter-spacing: 0.25em;
            text-transform: uppercase;
            color: var(--cream-muted);
            margin-bottom: 1.5rem;
        }

        .name-card p {
            font-size: 0.95rem;
            color: var(--cream-muted);
            line-height: 1.9;
            font-weight: 400;
        }

        /* Our Field of Travel — Latitude Ruler */
        .map-section {
            background: var(--parchment);
            padding: 8rem 4rem;
        }

        .map-section-inner {
            max-width: 1200px;
            margin: 0 auto;
        }

        .map-section .section-title {
            font-size: 3.5rem;
            max-width: 600px;
        }

        .map-section .section-title em {
            color: var(--gold);
        }

        .latitude-ruler {
            margin: 4rem 0;
            position: relative;
            padding-left: 60px;
        }

        .lat-ruler-line {
            position: relative;
            height: 80px;
            border-bottom: 1px solid rgba(26,24,20,0.12);
            display: flex;
            align-items: center;
        }

        .lat-ruler-label {
            position: absolute;
            left: -60px;
            font-size: 0.65rem;
            font-weight: 500;
            letter-spacing: 0.1em;
            color: rgba(26,24,20,0.4);
            font-family: 'Inter', sans-serif;
            width: 50px;
            text-align: right;
        }

        .lat-ruler-dot {
            position: absolute;
            width: 12px;
            height: 12px;
            background: var(--charcoal);
            border-radius: 50%;
            top: 50%;
            transform: translateY(-50%);
            box-shadow: 0 0 0 3px var(--parchment);
        }

        .lat-ruler-dot::after {
            content: attr(data-name);
            position: absolute;
            left: 24px;
            top: 50%;
            transform: translateY(-50%);
            font-size: 0.65rem;
            font-weight: 500;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            color: var(--charcoal);
            white-space: nowrap;
            font-family: 'Inter', sans-serif;
        }

        .lat-ruler-dot::before {
            content: attr(data-coord);
            position: absolute;
            left: 24px;
            top: 50%;
            transform: translateY(-50%);
            font-size: 0.65rem;
            font-weight: 500;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            color: rgba(26,24,20,0.5);
            white-space: nowrap;
            font-family: 'Inter', sans-serif;
            margin-left: attr(data-name-width);
        }

        /* Custom positioning for dots */
        .lat-dot-jaffna { left: 12%; }
        .lat-dot-wilpattu { left: 38%; }
        .lat-dot-horton { left: 58%; }
        .lat-dot-yala { left: 75%; }
        .lat-dot-galle { left: 88%; }

        .map-body-text {
            max-width: 500px;
            font-size: 0.95rem;
            color: rgba(26,24,20,0.6);
            line-height: 1.9;
            margin-top: 3rem;
        }

        /* Seasonal Rhythms */
        .seasonal-section {
            background: var(--olivewood);
            padding: 8rem 4rem;
            position: relative;
        }

        .seasonal-section-inner {
            max-width: 1200px;
            margin: 0 auto;
            position: relative;
            z-index: 1;
        }

        .seasonal-section .section-title {
            color: var(--cream);
            font-size: 3.5rem;
        }

        .seasonal-section .section-subtitle {
            color: var(--cream-muted);
        }

        .seasonal-tabs {
            display: flex;
            gap: 0;
            margin-top: 4rem;
            border-bottom: 1px solid var(--border-dark);
        }

        .seasonal-tab {
            flex: 1;
            padding: 1.2rem 1.5rem;
            background: none;
            border: none;
            cursor: pointer;
            text-align: center;
            transition: all 0.3s ease;
            position: relative;
            font-family: 'Inter', sans-serif;
            font-size: 0.7rem;
            font-weight: 500;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: var(--cream-muted);
            white-space: nowrap;
        }

        .seasonal-tab:hover { color: var(--cream); }
        .seasonal-tab.active { color: var(--cream); }
        .seasonal-tab.active::after {
            content: '';
            position: absolute;
            bottom: -1px; left: 0; right: 0;
            height: 1px;
            background: var(--gold);
        }

        .seasonal-panel {
            display: none;
            padding: 3rem 0 0;
            animation: fadeIn 0.6s ease;
        }

        .seasonal-panel.active { display: block; }

        .seasonal-visual {
            height: clamp(330px, 38vw, 470px);
            margin-bottom: 3rem;
            overflow: hidden;
            position: relative;
        }

        .seasonal-visual::after {
            background:
                linear-gradient(90deg, rgba(16, 23, 19, 0.76) 0%, rgba(16, 23, 19, 0.24) 52%, transparent 78%),
                linear-gradient(0deg, rgba(16, 23, 19, 0.7) 0%, transparent 58%);
            content: '';
            inset: 0;
            pointer-events: none;
            position: absolute;
        }

        .seasonal-hero {
            width: 100%;
            height: 100%;
            object-fit: cover;
            filter: sepia(0.15) saturate(0.8) brightness(0.9);
        }

        .seasonal-visual-overlay {
            bottom: 2.5rem;
            left: 2.75rem;
            max-width: 620px;
            position: absolute;
            right: 2.75rem;
            z-index: 1;
        }

        .seasonal-visual-overlay > span {
            color: var(--gold);
            display: block;
            font-size: 0.62rem;
            font-weight: 600;
            letter-spacing: 0.2em;
            margin-bottom: 0.75rem;
            text-transform: uppercase;
        }

        .seasonal-visual-overlay h3 {
            font-family: 'Cormorant Garamond', serif;
            font-size: clamp(2rem, 4vw, 3.25rem);
            font-weight: 400;
            line-height: 1.03;
            margin: 0;
            color: var(--cream);
        }

        .seasonal-visual-seasons .seasonal-hero {
            filter: grayscale(1) contrast(1.08) brightness(0.72);
            object-position: center center;
        }

        .seasonal-visual-seasons::after {
            background:
                linear-gradient(90deg, rgba(16, 23, 19, 0.78) 0%, rgba(16, 23, 19, 0.28) 56%, transparent 84%),
                linear-gradient(0deg, rgba(16, 23, 19, 0.62) 0%, transparent 62%);
        }

        .seasonal-visual-flyway::after {
            background:
                linear-gradient(270deg, rgba(16, 23, 19, 0.86) 0%, rgba(16, 23, 19, 0.38) 42%, transparent 76%),
                linear-gradient(0deg, rgba(16, 23, 19, 0.48) 0%, transparent 52%);
        }

        .seasonal-visual-flyway {
            height: clamp(470px, 53vw, 640px);
        }

        .seasonal-visual-flyway .seasonal-hero {
            filter: grayscale(0.18) contrast(1.02) brightness(0.96);
            object-position: center center;
        }

        .seasonal-visual-flyway .seasonal-visual-overlay {
            left: auto;
            max-width: 510px;
            text-align: right;
        }

        .seasonal-visual-whales .seasonal-hero {
            filter: saturate(0.72) contrast(1.02) brightness(0.78);
            object-position: center 54%;
        }

        .seasonal-visual-whales::after {
            background:
                linear-gradient(90deg, rgba(16, 23, 19, 0.82) 0%, rgba(16, 23, 19, 0.28) 50%, transparent 80%),
                linear-gradient(0deg, rgba(16, 23, 19, 0.66) 0%, transparent 58%);
        }

        .seasonal-panel p {
            color: var(--cream-muted);
            line-height: 1.9;
            margin-bottom: 1.2rem;
            font-size: 0.95rem;
        }

        .seasonal-panel strong {
            color: var(--cream);
            font-weight: 600;
        }

        .planning-note {
            margin-top: 4rem;
            padding: 2.5rem 0;
            border-top: 1px solid var(--border-dark);
        }

        .planning-note h4 {
            font-family: 'Inter', sans-serif;
            font-size: 0.65rem;
            font-weight: 600;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: var(--gold);
            margin-bottom: 1rem;
        }

        .planning-note p {
            color: var(--cream-muted);
            line-height: 1.9;
            font-size: 0.95rem;
        }

        /* Wildlife Experience Zones */
        .zones-section {
            background: var(--parchment);
            padding: 8rem 4rem;
        }

        .zones-section-inner {
            max-width: 1200px;
            margin: 0 auto;
        }

        .zones-section .section-title {
            font-size: 3.5rem;
        }

        .zone-tabs {
            background: rgba(229,224,213,0.7);
            border: 1px solid var(--border-light);
            display: grid;
            grid-template-columns: repeat(5, minmax(0, 1fr));
            margin-top: 4rem;
            overflow: hidden;
        }

        .zone-tab {
            align-items: flex-start;
            background: transparent;
            border: 0;
            border-right: 1px solid var(--border-light);
            cursor: pointer;
            display: flex;
            flex-direction: column;
            gap: 0.65rem;
            justify-content: space-between;
            min-height: 112px;
            padding: 1.35rem 1.2rem 1.25rem;
            position: relative;
            text-align: left;
            transition: background 0.35s ease, color 0.35s ease;
            font-family: 'Inter', sans-serif;
            font-weight: 500;
            color: rgba(26,24,20,0.45);
            white-space: normal;
        }

        .zone-tab:last-child { border-right: 0; }
        .zone-tab:hover { background: rgba(240,235,224,0.82); color: var(--charcoal); }
        .zone-tab.active { background: var(--parchment); color: var(--charcoal); }
        .zone-tab.active::after {
            content: '';
            position: absolute;
            bottom: 0;
            height: 3px;
            left: 1.2rem;
            right: 1.2rem;
            background: var(--gold);
        }

        .zone-index {
            color: var(--gold);
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.15rem;
            font-weight: 500;
            letter-spacing: 0.08em;
            line-height: 1;
        }

        .zone-tab-label {
            font-size: 0.62rem;
            font-weight: 600;
            letter-spacing: 0.12em;
            line-height: 1.5;
            text-transform: uppercase;
        }

        .zone-panel {
            display: none;
            padding: 3rem 0 0;
            animation: fadeIn 0.6s ease;
        }

        .zone-panel.active { display: block; }

        .zone-visual {
            height: clamp(360px, 40vw, 500px);
            margin-bottom: 3rem;
            overflow: hidden;
            position: relative;
        }

        .zone-visual::after {
            background:
                linear-gradient(0deg, rgba(17, 22, 18, 0.78) 0%, rgba(17, 22, 18, 0.18) 52%, transparent 76%),
                linear-gradient(90deg, rgba(17, 22, 18, 0.34) 0%, transparent 68%);
            content: '';
            inset: 0;
            pointer-events: none;
            position: absolute;
        }

        .zone-hero {
            width: 100%;
            height: 100%;
            object-fit: cover;
            filter: sepia(0.08) saturate(0.82) brightness(0.91);
            transition: transform 0.8s ease;
        }

        .zone-visual-overlay {
            bottom: 2.5rem;
            left: 2.75rem;
            position: absolute;
            right: 2.75rem;
            z-index: 1;
        }

        .zone-visual-overlay h3 {
            font-family: 'Cormorant Garamond', serif;
            font-size: clamp(2.35rem, 4.5vw, 3.75rem);
            font-weight: 400;
            line-height: 1.02;
            margin: 0 0 0.65rem;
            color: var(--cream);
        }

        .zone-visual-overlay .zone-meta {
            font-size: 0.75rem;
            color: rgba(243, 239, 230, 0.74);
            letter-spacing: 0.12em;
            margin: 0;
            text-transform: uppercase;
            font-weight: 500;
        }

        .zone-visual-dry::after {
            background:
                linear-gradient(270deg, rgba(17, 22, 18, 0.86) 0%, rgba(17, 22, 18, 0.32) 48%, transparent 76%),
                linear-gradient(0deg, rgba(17, 22, 18, 0.62) 0%, transparent 58%);
        }

        .zone-visual-dry .zone-hero {
            filter: grayscale(0.18) contrast(1.03) brightness(0.88);
            object-position: center 66%;
        }

        .zone-visual-dry {
            height: clamp(450px, 52vw, 620px);
        }

        .zone-visual-dry .zone-visual-overlay {
            left: auto;
            max-width: 570px;
            text-align: right;
        }

        .zone-visual-scrub::after {
            background:
                linear-gradient(90deg, rgba(17, 22, 18, 0.82) 0%, rgba(17, 22, 18, 0.25) 48%, transparent 74%),
                linear-gradient(0deg, rgba(17, 22, 18, 0.7) 0%, transparent 54%);
        }

        .zone-visual-scrub .zone-hero {
            filter: grayscale(0.12) contrast(1.04) brightness(0.82);
            object-position: center center;
        }

        .zone-visual-scrub .zone-visual-overlay {
            left: 2.75rem;
            max-width: 570px;
            text-align: left;
        }

        .zone-visual-montane .zone-hero {
            filter: saturate(0.72) contrast(0.95) brightness(0.88);
            object-position: center 54%;
        }

        .zone-visual-wetland .zone-hero {
            filter: sepia(0.06) saturate(0.76) brightness(0.86);
            object-position: center 38%;
        }

        .photo-watermark,
        .gallery-credit {
            background: none;
            bottom: 0.7rem;
            color: rgba(243, 239, 230, 0.9);
            font-size: 0.42rem;
            font-weight: 500;
            letter-spacing: 0.1em;
            padding: 0;
            position: absolute;
            right: 0.75rem;
            text-shadow: 0 1px 2px rgba(17, 22, 18, 0.7);
            text-transform: uppercase;
            top: auto;
            z-index: 2;
        }

        .park-cards {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
            gap: 2rem;
        }

        .park-card {
            background: var(--sand);
            padding: 2.5rem;
        }

        .park-card h4 {
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.5rem;
            font-weight: 400;
            margin-bottom: 1rem;
            color: var(--charcoal);
        }

        .park-card p {
            font-size: 0.9rem;
            color: rgba(26,24,20,0.65);
            line-height: 1.9;
        }

        .park-card-heading {
            align-items: flex-start;
            display: flex;
            gap: 1.5rem;
            justify-content: space-between;
        }

        .park-card-heading h4 {
            max-width: 260px;
        }

        .park-partner-logo {
            border-radius: 50%;
            flex: 0 0 58px;
            height: 58px;
            object-fit: contain;
            opacity: 0.82;
            width: 58px;
        }

        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(15px); }
            to { opacity: 1; transform: translateY(0); }
        }

        /* Behind the Coordinates */
        .founders-section {
            background: var(--parchment);
            padding: 8rem 4rem;
        }

        .founders-section-inner {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            gap: 4rem;
        }

        .founders-shared-image {
            margin: 0;
        }

        .founders-shared-image img {
            aspect-ratio: 1536 / 692;
            display: block;
            filter: contrast(1.02);
            object-fit: cover;
            object-position: center;
            width: 100%;
        }

        .founders-shared-image figcaption {
            border-top: 1px solid var(--border-light);
            color: rgba(26,24,20,0.58);
            font-size: 0.62rem;
            font-weight: 600;
            letter-spacing: 0.14em;
            margin-top: 0.8rem;
            padding-top: 0.8rem;
            text-transform: uppercase;
        }

        .founders-content {
            align-items: start;
            display: grid;
            gap: 5rem;
            grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
        }

        .founders-content h2 {
            font-size: 3rem;
            font-weight: 400;
            margin-bottom: 0;
            color: var(--charcoal);
            line-height: 1.15;
        }

        .founders-content p {
            color: rgba(26,24,20,0.65);
            line-height: 1.9;
            font-size: 0.96rem;
            margin-bottom: 1.3rem;
        }

        .founders-content p:last-child {
            margin-bottom: 0;
        }

        /* Philosophy */
        .philosophy-section {
            background: var(--olivewood);
            padding: 8rem 4rem;
            text-align: center;
            position: relative;
        }

        .philosophy-section-inner {
            max-width: 700px;
            margin: 0 auto;
            position: relative;
            z-index: 1;
        }

        .philosophy-section h2 {
            font-size: 3rem;
            margin-bottom: 2rem;
            color: var(--cream);
            line-height: 1.15;
        }

        .philosophy-section .body-text {
            font-size: 1.2rem;
            color: var(--cream-muted);
            line-height: 1.9;
            font-style: italic;
            font-family: 'Cormorant Garamond', serif;
            font-weight: 400;
        }

        /* Experience */
        .experience-section {
            background: var(--parchment);
            padding: 8rem 4rem;
        }

        .experience-section-inner {
            max-width: 900px;
            margin: 0 auto;
        }

        .experience-list {
            margin-top: 4rem;
        }

        .experience-item {
            display: grid;
            grid-template-columns: 50px 1fr;
            gap: 2.5rem;
            padding: 2.5rem 0;
            border-bottom: 1px solid var(--border-light);
            align-items: start;
        }

        .experience-item:last-child {
            border-bottom: none;
        }

        .exp-number {
            font-family: 'Cormorant Garamond', serif;
            font-size: 0.85rem;
            font-weight: 500;
            color: rgba(26,24,20,0.35);
            letter-spacing: 0.05em;
            padding-top: 0.4rem;
        }

        .exp-content h3 {
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.6rem;
            font-weight: 400;
            margin-bottom: 0.8rem;
            color: var(--charcoal);
        }

        .exp-content p {
            font-size: 0.95rem;
            color: rgba(26,24,20,0.6);
            line-height: 1.9;
        }

        /* Gallery */
        .gallery-section {
            background: var(--olivewood);
            padding: 8rem 4rem;
            position: relative;
        }

        .gallery-section-inner {
            max-width: 1400px;
            margin: 0 auto;
            position: relative;
            z-index: 1;
        }

        .gallery-section .section-title {
            color: var(--cream);
        }

        .gallery-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 0.5rem;
            margin-top: 4rem;
        }

        .gallery-item {
            position: relative;
            overflow: hidden;
            aspect-ratio: 4/3;
            cursor: pointer;
        }

        .gallery-item img {
            width: 100%; height: 100%;
            object-fit: cover;
            transition: transform 0.8s ease;
            -webkit-user-drag: none;
            user-select: none;
            pointer-events: none;
            filter: sepia(0.1) saturate(0.85);
        }

        .gallery-item:hover img { transform: scale(1.05); }

        .gallery-caption {
            position: absolute;
            bottom: 0; left: 0; right: 0;
            padding: 2rem 1.5rem 1.5rem;
            background: linear-gradient(transparent, rgba(28,34,30,0.85));
            color: var(--cream);
            font-size: 0.75rem;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            font-weight: 500;
            transform: translateY(100%);
            transition: transform 0.4s ease;
        }

        .gallery-item:hover .gallery-caption { transform: translateY(0); }

        .gallery-credit.is-left {
            left: 1rem;
            right: auto;
        }

        @media (hover: none) {
            .gallery-caption { transform: translateY(0); }
        }

        /* Journal */
        .journal-section {
            background: var(--parchment);
            padding: 8rem 4rem;
        }

        .journal-section-inner {
            max-width: 1200px;
            margin: 0 auto;
        }

        .journal-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 2rem;
            margin-top: 4rem;
        }

        .journal-card {
            background: var(--sand);
            overflow: hidden;
        }

        .journal-card img {
            width: 100%;
            height: 240px;
            object-fit: cover;
            filter: sepia(0.1) saturate(0.85);
        }

        .journal-card-content {
            padding: 2rem;
        }

        .journal-card .date {
            font-size: 0.65rem;
            color: rgba(26,24,20,0.45);
            letter-spacing: 0.15em;
            text-transform: uppercase;
            font-weight: 500;
            margin-bottom: 0.8rem;
        }

        .journal-card h4 {
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.4rem;
            font-weight: 400;
            margin-bottom: 0.8rem;
            color: var(--charcoal);
        }

        .journal-card p {
            font-size: 0.9rem;
            color: rgba(26,24,20,0.6);
            line-height: 1.8;
        }

        /* Testimonials */
        .testimonials-section {
            background: var(--olivewood);
            padding: 8rem 4rem;
            position: relative;
        }

        .testimonials-section-inner {
            max-width: 1200px;
            margin: 0 auto;
            position: relative;
            z-index: 1;
        }

        .testimonials-section .section-title {
            color: var(--cream);
        }

        .testimonials-intro {
            color: var(--cream-muted);
        }

        .testimonials-carousel {
            margin-top: 4rem;
        }

        .testimonials-track {
            cursor: grab;
            display: grid;
            gap: 1.25rem;
            grid-auto-columns: calc((100% - 2.5rem) / 3);
            grid-auto-flow: column;
            overflow-x: auto;
            overscroll-behavior-inline: contain;
            padding-bottom: 0.5rem;
            scroll-behavior: smooth;
            scroll-snap-type: inline mandatory;
            scrollbar-width: none;
            touch-action: pan-y pinch-zoom;
        }

        .testimonials-track::-webkit-scrollbar { display: none; }
        .testimonials-track.is-dragging {
            cursor: grabbing;
            scroll-behavior: auto;
            scroll-snap-type: none;
            user-select: none;
        }

        .testimonial-card {
            border: 1px solid var(--border-dark);
            display: flex;
            flex-direction: column;
            min-height: 570px;
            overflow: hidden;
            position: relative;
            scroll-snap-align: start;
            scroll-snap-stop: always;
        }

        .testimonial-card-content {
            display: flex;
            flex: 1;
            flex-direction: column;
            padding: 2.25rem;
        }

        .testimonial-card-with-media .testimonial-card-content {
            padding-top: 2rem;
        }

        .testimonial-media {
            display: grid;
            gap: 0.45rem;
            grid-template-columns: minmax(0, 1.55fr) minmax(92px, 0.75fr);
            grid-template-rows: 150px auto;
            padding: 0.45rem 0.45rem 0;
        }

        .testimonial-photo {
            margin: 0;
            overflow: hidden;
        }

        .testimonial-photo img {
            filter: sepia(0.08) saturate(0.86);
            height: 100%;
            object-fit: cover;
            transition: transform 0.8s ease;
            width: 100%;
        }

        .testimonial-photo-landscape img { object-position: center 55%; }
        .testimonial-photo-detail img { object-position: center 42%; }
        .testimonial-card-with-media:hover .testimonial-photo img { transform: scale(1.025); }

        .testimonial-photo-credit {
            color: rgba(232,228,220,0.45);
            font-size: 0.5rem;
            grid-column: 1 / -1;
            letter-spacing: 0.1em;
            padding: 0.1rem 0.1rem 0;
            text-transform: uppercase;
        }

        .testimonial-experience {
            color: var(--gold);
            display: block;
            font-size: 0.6rem;
            font-weight: 600;
            letter-spacing: 0.16em;
            margin-bottom: 1.15rem;
            text-transform: uppercase;
        }

        .testimonial-card h3 {
            color: var(--cream);
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.55rem;
            font-weight: 400;
            line-height: 1.18;
            margin: 0 0 1.25rem;
        }

        .testimonial-quote { margin: 0; }
        .testimonial-quote p {
            color: var(--cream-muted);
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.08rem;
            font-style: italic;
            line-height: 1.62;
            margin-bottom: 1rem;
        }

        .testimonial-quote p:last-child { margin-bottom: 0; }
        .testimonial-quote strong {
            color: var(--cream);
            font-style: normal;
            font-weight: 600;
        }

        .testimonial-details {
            border-top: 1px solid var(--border-dark);
            margin: 1.25rem 0 0;
        }

        .testimonial-details summary {
            align-items: center;
            color: var(--cream);
            cursor: pointer;
            display: flex;
            font-family: 'Inter', sans-serif;
            font-size: 0.58rem;
            font-style: normal;
            font-weight: 600;
            justify-content: space-between;
            letter-spacing: 0.16em;
            list-style: none;
            padding: 1rem 0;
            text-transform: uppercase;
        }

        .testimonial-details summary::-webkit-details-marker { display: none; }
        .testimonial-details summary:focus-visible {
            outline: 2px solid var(--gold);
            outline-offset: 4px;
        }

        .details-label-open { display: none; }
        .testimonial-details[open] .details-label-closed { display: none; }
        .testimonial-details[open] .details-label-open { display: inline; }

        .details-icon {
            color: var(--gold);
            font-size: 1rem;
            font-weight: 400;
            transition: transform 0.25s ease;
        }

        .testimonial-details[open] .details-icon { transform: rotate(45deg); }
        .testimonial-details-body { padding: 0.2rem 0 0.35rem; }

        .testimonial-author {
            align-items: baseline;
            display: flex;
            flex-wrap: wrap;
            gap: 0.45rem 0.8rem;
            margin-top: auto;
            padding-top: 2rem;
        }

        .testimonial-card .author {
            color: var(--cream);
            font-size: 0.68rem;
            font-weight: 600;
            letter-spacing: 0.12em;
            text-transform: uppercase;
        }

        .testimonial-card .author-location {
            color: var(--cream-muted);
            font-size: 0.64rem;
            letter-spacing: 0.09em;
            text-transform: uppercase;
        }

        .testimonial-card .author-location::before {
            content: '·';
            margin-right: 0.8rem;
        }

        .testimonial-controls {
            align-items: center;
            display: grid;
            gap: 2rem;
            grid-template-columns: auto 1fr auto;
            margin-top: 2rem;
        }

        .testimonial-controls > p {
            color: rgba(232,228,220,0.48);
            font-size: 0.58rem;
            letter-spacing: 0.14em;
            margin: 0;
            text-align: center;
            text-transform: uppercase;
        }

        .testimonial-count {
            align-items: center;
            color: var(--cream-muted);
            display: flex;
            font-size: 0.6rem;
            gap: 0.8rem;
            letter-spacing: 0.12em;
        }

        .testimonial-progress {
            background: rgba(232,228,220,0.16);
            display: block;
            height: 1px;
            overflow: hidden;
            width: clamp(90px, 12vw, 150px);
        }

        .testimonial-progress > span {
            background: var(--gold);
            display: block;
            height: 100%;
            transform: scaleX(0.2);
            transform-origin: left center;
            transition: transform 0.25s ease;
            width: 100%;
        }

        .testimonial-arrows { display: flex; gap: 0.6rem; }
        .testimonial-arrow {
            align-items: center;
            background: transparent;
            border: 1px solid var(--border-dark);
            color: var(--cream);
            cursor: pointer;
            display: inline-flex;
            font-size: 1rem;
            height: 42px;
            justify-content: center;
            transition: border-color 0.25s ease, color 0.25s ease, opacity 0.25s ease;
            width: 42px;
        }

        .testimonial-arrow:hover:not(:disabled),
        .testimonial-arrow:focus-visible {
            border-color: var(--gold);
            color: var(--gold);
        }

        .testimonial-arrow:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
        .testimonial-arrow:disabled { cursor: default; opacity: 0.28; }

        /* Inquiry */
        .inquiry-section {
            background: var(--parchment);
            padding: 8rem 4rem;
        }

        .inquiry-section-inner {
            max-width: 700px;
            margin: 0 auto;
            text-align: center;
        }

        .inquiry-form {
            margin-top: 4rem;
            text-align: left;
        }

        .form-group {
            margin-bottom: 2rem;
        }

        .form-group label {
            display: block;
            font-size: 0.65rem;
            font-weight: 600;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            color: rgba(26,24,20,0.5);
            margin-bottom: 0.6rem;
        }

        .form-group input,
        .form-group select,
        .form-group textarea {
            width: 100%;
            padding: 1rem 0;
            background: transparent;
            border: none;
            border-bottom: 1px solid var(--border-light);
            font-family: 'Inter', sans-serif;
            font-size: 1rem;
            color: var(--charcoal);
            transition: border-color 0.3s ease;
            border-radius: 0;
        }

        .form-group input:focus,
        .form-group select:focus,
        .form-group textarea:focus {
            outline: none;
            border-color: var(--charcoal);
        }

        .form-group textarea { min-height: 120px; resize: vertical; }

        .submit-btn {
            display: inline-block;
            padding: 1.2rem 4rem;
            background: var(--olivewood);
            color: var(--cream);
            border: none;
            font-family: 'Inter', sans-serif;
            font-size: 0.7rem;
            font-weight: 600;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            cursor: pointer;
            transition: all 0.3s ease;
            margin-top: 1rem;
        }

        .submit-btn:hover {
            background: var(--bark);
        }

        /* Footer */
        .footer {
            background: var(--olivewood);
            color: var(--cream);
            padding: 0;
            position: relative;
        }

        .footer-main {
            padding: 6rem 4rem;
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            position: relative;
            z-index: 1;
        }

        .footer-brand-large {
            font-family: 'Cormorant Garamond', serif;
            font-size: 3.5rem;
            font-weight: 400;
            color: var(--cream);
            line-height: 1;
            margin-bottom: 2rem;
        }

        .footer-brand-large span {
            color: var(--gold);
        }

        .footer-cta {
            display: inline-block;
            padding: 1.2rem 3rem;
            background: var(--gold);
            color: var(--olivewood);
            font-family: 'Inter', sans-serif;
            font-size: 0.7rem;
            font-weight: 600;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            text-decoration: none;
            transition: all 0.3s ease;
            border: none;
            cursor: pointer;
        }

        .footer-cta:hover {
            background: var(--cream);
        }

        .footer-coords {
            text-align: right;
        }

        .footer-coords p {
            font-size: 0.7rem;
            font-weight: 500;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            color: var(--cream-muted);
            line-height: 2.2;
        }

        .footer-bottom {
            border-top: 1px solid var(--border-dark);
            padding: 2rem 4rem;
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: center;
            position: relative;
            z-index: 1;
        }

        .footer-bottom p {
            font-size: 0.65rem;
            font-weight: 500;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            color: var(--cream-muted);
        }

        /* Responsive */
        @media (max-width: 1024px) {
            .who-we-are-inner,
            .founders-content {
                grid-template-columns: 1fr;
                gap: 3rem;
            }
            .name-cards { grid-template-columns: 1fr; }
            .name-card { border-right: none; border-bottom: 1px solid var(--border-dark); padding: 3rem 0; }
            .name-card:last-child { padding-left: 0; padding-bottom: 0; border-bottom: none; }
            .name-card::before { left: 0 !important; }
            .journal-grid,
            .testimonials-grid { grid-template-columns: 1fr; }
            .testimonial-side { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
            .testimonials-track { grid-auto-columns: calc((100% - 1.25rem) / 2); }
            .gallery-grid { grid-template-columns: repeat(2, 1fr); }
            .footer-main { flex-direction: column; gap: 3rem; }
            .footer-coords { text-align: left; }
            .hero-title { font-size: 3.5rem; }
            .section-title { font-size: 2.5rem; }
            .nav { padding: 1rem 2rem; }
            .nav-links { display: none; }
        }

        @media (max-width: 768px) {
            .section, .who-we-are, .name-section, .map-section, .seasonal-section, .zones-section, .founders-section, .philosophy-section, .experience-section, .gallery-section, .journal-section, .testimonials-section, .inquiry-section { padding: 5rem 1.5rem; }
            .hero {
                background: var(--olivewood);
                display: block;
                height: auto;
                min-height: 0;
                padding-top: max(55svh, 390px);
            }
            .hero-image {
                top: 64px;
                bottom: auto;
                height: calc(max(55svh, 390px) - 64px);
                min-height: 0;
                z-index: 0;
                background-position: 58% top;
            }
            .hero-overlay {
                top: 64px;
                bottom: auto;
                height: calc(max(55svh, 390px) - 64px);
                min-height: 0;
                z-index: 1;
                background:
                    linear-gradient(180deg, rgba(17,22,18,0.2) 0%, transparent 55%, rgba(28,34,30,0.44) 100%),
                    linear-gradient(90deg, rgba(17,22,18,0.42) 0%, transparent 38%);
            }
            .hero-content {
                background: var(--olivewood);
                padding: 2.25rem 1.5rem 3rem;
            }
            .hero .hero-photo-credit {
                bottom: auto;
                left: auto;
                right: 0.75rem;
                top: calc(max(55svh, 390px) - 2rem);
            }
            .hero-tagline { margin-bottom: 1.2rem; }
            .hero-title { font-size: 2.5rem; max-width: none; }
            .hero-subtitle { margin-bottom: 2rem; }
            .hero-subtitle,
            .hero-stats { max-width: none; }
            .hero-stats { flex-direction: row; gap: 1.5rem; justify-content: space-between; }
            .section-title { font-size: 2rem; }
            .who-stats { grid-template-columns: 1fr; }
            .experience-item { grid-template-columns: 1fr; gap: 0.5rem; }
            .exp-number { padding-top: 0; }
            .zone-tabs {
                background: transparent;
                border: 0;
                display: flex;
                gap: 0.75rem;
                margin-right: -1.5rem;
                overflow-x: auto;
                padding-bottom: 0.75rem;
                padding-right: 1.5rem;
                scroll-snap-type: x mandatory;
                scrollbar-width: none;
            }
            .zone-tabs::-webkit-scrollbar { display: none; }
            .zone-tab {
                background: rgba(229,224,213,0.72);
                border: 1px solid var(--border-light);
                flex: 0 0 min(74vw, 270px);
                min-height: 104px;
                scroll-snap-align: start;
            }
            .zone-tab:last-child { border-right: 1px solid var(--border-light); }
            .zone-tab.active { border-color: rgba(184,168,138,0.62); }
            .seasonal-tabs {
                border: 0;
                display: flex;
                gap: 0.75rem;
                margin-right: -1.5rem;
                overflow-x: auto;
                padding-bottom: 0.75rem;
                padding-right: 1.5rem;
                scroll-padding-inline: 1.5rem;
                scroll-snap-type: x mandatory;
                scrollbar-width: none;
                touch-action: pan-x;
            }
            .seasonal-tabs::-webkit-scrollbar { display: none; }
            .seasonal-tab {
                background: rgba(232,228,220,0.045);
                border: 1px solid var(--border-dark);
                flex: 0 0 min(78vw, 300px);
                line-height: 1.45;
                min-height: 92px;
                padding: 1.15rem 1.25rem;
                scroll-snap-align: center;
                white-space: normal;
            }
            .seasonal-tab.active {
                background: rgba(184,168,138,0.09);
                border-color: rgba(184,168,138,0.62);
            }
            .seasonal-tab.active::after { display: none; }
            .gallery-grid { grid-template-columns: 1fr; }
            .footer-bottom { flex-direction: column; gap: 1rem; text-align: center; }
            .hero-latitude-lines { display: none; }
            .founders-section-inner { gap: 3rem; }
            .founders-shared-image {
                margin-left: -1.5rem;
                margin-right: -1.5rem;
            }
            .founders-shared-image figcaption {
                margin-left: 1.5rem;
                margin-right: 1.5rem;
            }
            .testimonials-carousel { margin-top: 3rem; }
            .testimonials-track {
                grid-auto-columns: min(84vw, 350px);
                margin-right: -1.5rem;
                padding-right: 1.5rem;
            }
            .testimonial-card { min-height: 520px; }
            .testimonial-card-content { padding: 1.85rem; }
            .testimonial-media { grid-template-rows: 140px auto; }
            .testimonial-controls { gap: 1rem; grid-template-columns: 1fr auto; }
            .testimonial-controls > p { display: none; }
            .seasonal-visual,
            .zone-visual { height: 360px; }
            .seasonal-visual-overlay,
            .zone-visual-overlay {
                bottom: 1.5rem;
                left: 1.5rem;
                right: 1.5rem;
            }
            .seasonal-visual-flyway::after,
            .zone-visual-scrub::after {
                background: linear-gradient(0deg, rgba(16, 23, 19, 0.88) 0%, rgba(16, 23, 19, 0.26) 58%, transparent 82%);
            }
            .seasonal-visual-flyway .seasonal-visual-overlay,
            .zone-visual-scrub .zone-visual-overlay {
                left: 1.5rem;
                max-width: none;
                text-align: left;
            }
            .zone-visual-dry .zone-visual-overlay {
                left: 1.5rem;
                max-width: none;
                text-align: right;
            }
            .zone-visual-dry { height: 420px; }
            .zone-visual-dry .zone-hero { object-position: 22% center; }
            .seasonal-visual-flyway .seasonal-hero { object-position: 42% center; }
            .seasonal-visual-flyway { height: 360px; }
            .zone-visual-scrub .zone-hero { object-position: 55% center; }
        }

