@layer reset, tokens, layout, components, utilities;

@layer reset {
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
  body { min-height: 100vh; display: flex; flex-direction: column; }
  img, video { max-width: 100%; height: auto; display: block; }
  ul, ol { list-style: none; }
  a { text-decoration: none; color: inherit; }
  button { cursor: pointer; border: none; background: none; font: inherit; }
  input, select, textarea { font: inherit; }
  address { font-style: normal; }
  main { flex: 1; }
}

@layer tokens {
  :root {
    --color-forest: #1A3C2E;
    --color-forest-deep: #0F2419;
    --color-forest-mid: #2A5440;
    --color-forest-light: #3D7A5C;
    --color-amber: #E8A020;
    --color-amber-deep: #C47A10;
    --color-amber-light: #F4BC55;
    --color-amber-pale: #FDF3DC;
    --color-cream: #F8F5EE;
    --color-cream-dark: #EDE8DF;
    --color-text-dark: #1A2C1F;
    --color-text-mid: #3A5040;
    --color-text-light: #F5F2EA;
    --color-text-muted: #7A9080;
    --color-white: #FFFFFF;
    --color-glass: rgba(255,255,255,0.08);
    --color-glass-border: rgba(255,255,255,0.15);
    --shadow-sm: 0 1px 3px rgba(15,36,25,0.12), 0 1px 2px rgba(15,36,25,0.08);
    --shadow-md: 0 4px 12px rgba(15,36,25,0.12), 0 2px 6px rgba(15,36,25,0.08), 0 0 0 1px rgba(15,36,25,0.04);
    --shadow-lg: 0 8px 24px rgba(15,36,25,0.16), 0 4px 12px rgba(15,36,25,0.10), 0 0 0 1px rgba(15,36,25,0.04);
    --shadow-xl: 0 16px 48px rgba(15,36,25,0.20), 0 8px 24px rgba(15,36,25,0.12), 0 0 0 1px rgba(15,36,25,0.06);
    --shadow-amber: 0 4px 16px rgba(232,160,32,0.30), 0 2px 8px rgba(232,160,32,0.15);
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 16px;
    --radius-xl: 24px;
    --radius-full: 9999px;
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 20px;
    --space-6: 24px;
    --space-8: 32px;
    --space-10: 40px;
    --space-12: 48px;
    --space-16: 64px;
    --space-20: 80px;
    --space-24: 96px;
    --space-32: 128px;
    --nav-height: 72px;
    --transition-fast: 0.15s ease;
    --transition-base: 0.25s ease;
    --transition-slow: 0.4s ease;
  }
}

@layer layout {
  body {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.65;
    color: var(--color-text-dark);
    background-color: var(--color-cream);
    overflow-x: hidden;
  }

  .section-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--space-6);
  }

  .navigation-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--space-6);
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: var(--nav-height);
  }

  .footer-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-16) var(--space-6) var(--space-8);
  }

  .legal-container {
    max-width: 860px;
    margin: 0 auto;
    padding: 0 var(--space-6);
  }
}

@layer components {

  
  .cookie-consent-bar {
    background-color: var(--color-forest-deep);
    color: var(--color-text-light);
    overflow: hidden;
    max-height: fit-content;
    transition: max-height 0.4s ease, padding 0.4s ease, opacity 0.3s ease;
  }
  .cookie-consent-bar.dismissed {
    max-height: 0;
    opacity: 0;
  }
  .cookie-consent-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--space-3) var(--space-6);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    flex-wrap: wrap;
  }
  .cookie-consent-text {
    font-size: 13px;
    line-height: 1.5;
    flex: 1;
    min-width: 200px;
  }
  .cookie-consent-text a {
    color: var(--color-amber-light);
    text-decoration: underline;
    transition: color var(--transition-fast);
  }
  .cookie-consent-text a:hover { color: var(--color-amber); }
  .cookie-consent-actions {
    display: flex;
    gap: var(--space-2);
    flex-shrink: 0;
  }
  .cookie-btn {
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-full);
    font-size: 12px;
    font-weight: 600;
    transition: all var(--transition-base);
    min-height: 32px;
  }
  .cookie-btn-accept {
    background: var(--color-amber);
    color: var(--color-forest-deep);
  }
  .cookie-btn-accept:hover {
    background: var(--color-amber-light);
    transform: translateY(-1px);
    box-shadow: var(--shadow-amber);
  }
  .cookie-btn-reject {
    background: transparent;
    color: var(--color-text-light);
    border: 1px solid rgba(255,255,255,0.3);
  }
  .cookie-btn-reject:hover {
    background: rgba(255,255,255,0.1);
    border-color: rgba(255,255,255,0.5);
  }

  
  .main-navigation {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(26,60,46,0.95);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255,255,255,0.08);
    transition: background var(--transition-base), color var(--transition-base), border-color var(--transition-base);
  }
  .main-navigation.nav-light {
    background: rgba(248,245,238,0.95);
    border-bottom-color: rgba(26,60,46,0.1);
  }

  .brand-logo {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    transition: opacity var(--transition-fast);
  }
  .brand-logo:hover { opacity: 0.85; }
  .logo-image { width: 36px; height: 36px; }
  .brand-name {
    font-family: 'Unbounded', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: var(--color-text-light);
    transition: color var(--transition-base);
    letter-spacing: -0.3px;
  }
  .main-navigation.nav-light .brand-name { color: var(--color-forest); }

  .desktop-navigation { display: none; }
  @media (min-width: 900px) {
    .desktop-navigation { display: block; }
  }

  .nav-link-list {
    display: flex;
    align-items: center;
    gap: var(--space-1);
  }
  .nav-link {
    display: inline-flex;
    align-items: center;
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-full);
    font-size: 14px;
    font-weight: 500;
    color: rgba(245,242,234,0.8);
    transition: all var(--transition-base);
    position: relative;
  }
  .nav-link:hover, .nav-link.active {
    color: var(--color-text-light);
    background: rgba(255,255,255,0.1);
  }
  .main-navigation.nav-light .nav-link { color: var(--color-text-mid); }
  .main-navigation.nav-light .nav-link:hover,
  .main-navigation.nav-light .nav-link.active {
    color: var(--color-forest);
    background: rgba(26,60,46,0.08);
  }

  .nav-cta-link {
    background: var(--color-amber) !important;
    color: var(--color-forest-deep) !important;
    font-weight: 600;
    position: relative;
    padding-right: var(--space-5);
  }
  .nav-cta-link:hover {
    background: var(--color-amber-light) !important;
    box-shadow: var(--shadow-amber);
    transform: translateY(-1px);
  }

  .nav-pulse-dot {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 7px;
    height: 7px;
    background: var(--color-forest);
    border-radius: 50%;
    animation: pulse-dot 2s infinite;
  }
  @keyframes pulse-dot {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.4); opacity: 0.7; }
  }

  .mobile-menu-toggle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    padding: var(--space-2);
    border-radius: var(--radius-sm);
    transition: background var(--transition-fast);
  }
  .mobile-menu-toggle:hover { background: rgba(255,255,255,0.1); }
  @media (min-width: 900px) { .mobile-menu-toggle { display: none; } }
  .hamburger-line {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--color-text-light);
    border-radius: 2px;
    transition: all var(--transition-base);
    transform-origin: center;
  }
  .main-navigation.nav-light .hamburger-line { background: var(--color-forest); }
  .mobile-menu-toggle[aria-expanded="true"] .hamburger-line:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }
  .mobile-menu-toggle[aria-expanded="true"] .hamburger-line:nth-child(2) {
    opacity: 0; transform: scaleX(0);
  }
  .mobile-menu-toggle[aria-expanded="true"] .hamburger-line:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  .mobile-menu-panel {
    max-height: 0;
    overflow: hidden;
    background: var(--color-forest-deep);
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .mobile-menu-panel.open { max-height: 400px; }
  .mobile-nav-list {
    display: flex;
    flex-direction: column;
    padding: var(--space-4) var(--space-6) var(--space-6);
    gap: var(--space-1);
  }
  .mobile-nav-link {
    display: block;
    padding: var(--space-3) var(--space-4);
    border-radius: var(--radius-md);
    font-size: 15px;
    font-weight: 500;
    color: rgba(245,242,234,0.85);
    transition: all var(--transition-base);
  }
  .mobile-nav-link:hover, .mobile-nav-link.active {
    color: var(--color-text-light);
    background: rgba(255,255,255,0.08);
  }
  .mobile-nav-cta {
    background: var(--color-amber) !important;
    color: var(--color-forest-deep) !important;
    font-weight: 600;
    margin-top: var(--space-2);
    text-align: center;
  }
  .mobile-nav-cta:hover {
    background: var(--color-amber-light) !important;
  }

  
  .hero-section {
    min-height: calc(100vh - var(--nav-height));
    background: linear-gradient(135deg, var(--color-forest-deep) 0%, var(--color-forest) 50%, var(--color-forest-mid) 100%);
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    position: relative;
    overflow: hidden;
    padding: var(--space-20) 0 var(--space-16);
  }
  @media (min-width: 900px) {
    .hero-section {
      grid-template-columns: 1fr 1fr;
      padding: var(--space-24) var(--space-16);
      min-height: calc(100vh - var(--nav-height));
    }
  }

  .hero-geometric-pattern {
    position: absolute;
    inset: 0;
    background-image:
      radial-gradient(circle at 20% 80%, rgba(232,160,32,0.08) 0%, transparent 50%),
      radial-gradient(circle at 80% 20%, rgba(61,122,92,0.15) 0%, transparent 50%),
      repeating-linear-gradient(45deg, transparent, transparent 40px, rgba(255,255,255,0.015) 40px, rgba(255,255,255,0.015) 41px),
      repeating-linear-gradient(-45deg, transparent, transparent 40px, rgba(255,255,255,0.015) 40px, rgba(255,255,255,0.015) 41px);
    pointer-events: none;
  }

  .hero-content-wrapper {
    position: relative;
    z-index: 2;
    padding: var(--space-6) var(--space-6);
    animation: hero-entrance 0.8s ease forwards;
  }
  @media (min-width: 900px) {
    .hero-content-wrapper { padding: var(--space-8) var(--space-16) var(--space-8) var(--space-8); }
  }

  @keyframes hero-entrance {
    from { opacity: 0; transform: translateY(32px); }
    to { opacity: 1; transform: translateY(0); }
  }

  .hero-label {
    display: inline-block;
    padding: var(--space-2) var(--space-4);
    background: rgba(232,160,32,0.15);
    border: 1px solid rgba(232,160,32,0.3);
    border-radius: var(--radius-full);
    font-size: 12px;
    font-weight: 600;
    color: var(--color-amber-light);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: var(--space-6);
  }

  .hero-headline {
    font-family: 'Unbounded', sans-serif;
    font-size: clamp(2rem, 5vw, 3.8rem);
    font-weight: 700;
    line-height: 1.1;
    color: var(--color-text-light);
    margin-bottom: var(--space-6);
    letter-spacing: -1px;
  }
  .hero-highlight {
    color: var(--color-amber);
    position: relative;
  }

  .hero-description {
    font-size: clamp(15px, 1.8vw, 18px);
    color: rgba(245,242,234,0.75);
    line-height: 1.7;
    max-width: 500px;
    margin-bottom: var(--space-10);
  }

  .hero-action-group {
    display: flex;
    gap: var(--space-4);
    flex-wrap: wrap;
  }

  .hero-primary-button {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-4) var(--space-8);
    background: var(--color-amber);
    color: var(--color-forest-deep);
    border-radius: var(--radius-full);
    font-weight: 600;
    font-size: 15px;
    transition: all var(--transition-base);
    box-shadow: var(--shadow-amber);
    min-height: 48px;
  }
  .hero-primary-button:hover {
    background: var(--color-amber-light);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(232,160,32,0.4), 0 4px 12px rgba(232,160,32,0.2);
  }

  .hero-secondary-button {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-4) var(--space-8);
    background: transparent;
    color: var(--color-text-light);
    border-radius: var(--radius-full);
    font-weight: 500;
    font-size: 15px;
    border: 1.5px solid rgba(255,255,255,0.3);
    transition: all var(--transition-base);
    min-height: 48px;
  }
  .hero-secondary-button:hover {
    background: rgba(255,255,255,0.08);
    border-color: rgba(255,255,255,0.6);
    transform: translateY(-2px);
  }

  .hero-image-panel {
    position: relative;
    z-index: 2;
    padding: var(--space-6);
    animation: hero-entrance 0.8s ease 0.2s both;
    display: none;
  }
  @media (min-width: 900px) { .hero-image-panel { display: block; } }

  .hero-image-frame {
    border-radius: var(--radius-xl);
    overflow: hidden;
    position: relative;
    box-shadow: var(--shadow-xl);
  }
  .hero-featured-image {
    width: 100%;
    height: 500px;
    object-fit: cover;
    transition: transform 0.6s ease;
  }
  .hero-image-frame:hover .hero-featured-image { transform: scale(1.03); }
  .hero-image-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(232,160,32,0.2) 0%, rgba(26,60,46,0.4) 100%);
    mix-blend-mode: multiply;
  }

  .hero-scroll-indicator {
    position: absolute;
    bottom: var(--space-8);
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-2);
    color: rgba(245,242,234,0.5);
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    animation: bounce-indicator 2s infinite;
  }
  @keyframes bounce-indicator {
    0%, 100% { transform: translateX(-50%) translateY(0); }
    50% { transform: translateX(-50%) translateY(6px); }
  }

  
  .intro-overlap-section {
    background: var(--color-cream);
    padding: var(--space-16) var(--space-6);
    position: relative;
    margin-top: -48px;
    z-index: 3;
  }
  .overlap-card-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-6);
    max-width: 1200px;
    margin: 0 auto;
  }
  @media (min-width: 640px) { .overlap-card-grid { grid-template-columns: 1fr 1fr; } }
  @media (min-width: 1000px) { .overlap-card-grid { grid-template-columns: repeat(4, 1fr); } }

  .overlap-feature-card {
    background: var(--color-white);
    border-radius: var(--radius-lg);
    padding: var(--space-8) var(--space-6);
    box-shadow: var(--shadow-lg);
    border: 1px solid rgba(26,60,46,0.06);
    transition: all var(--transition-slow);
    transition-delay: var(--delay, 0s);
  }
  .overlap-feature-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-xl);
  }
  .feature-card-icon {
    width: 52px;
    height: 52px;
    background: linear-gradient(135deg, var(--color-forest), var(--color-forest-mid));
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--space-5);
    color: var(--color-amber);
    font-size: 20px;
    box-shadow: var(--shadow-md);
  }
  .feature-card-title {
    font-family: 'Unbounded', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--color-text-dark);
    margin-bottom: var(--space-3);
    line-height: 1.3;
  }
  .feature-card-text {
    font-size: 14px;
    color: var(--color-text-mid);
    line-height: 1.65;
  }

  
  .section-header-block {
    margin-bottom: var(--space-12);
  }
  .section-header-block.centered-header { text-align: center; }

  .section-eyebrow {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-amber);
    margin-bottom: var(--space-3);
  }
  .light-eyebrow { color: var(--color-amber-light); }

  .section-main-heading {
    font-family: 'Unbounded', sans-serif;
    font-size: clamp(1.6rem, 3.5vw, 2.8rem);
    font-weight: 700;
    line-height: 1.15;
    color: var(--color-text-dark);
    letter-spacing: -0.5px;
    margin-bottom: var(--space-5);
  }
  .light-heading { color: var(--color-text-light); }

  .heading-accent { color: var(--color-amber); }
  .heading-accent-light { color: var(--color-amber-light); }

  .section-intro-text {
    font-size: 16px;
    color: var(--color-text-mid);
    line-height: 1.75;
    max-width: 640px;
  }
  .light-text { color: rgba(245,242,234,0.75); }
  .centered-header .section-intro-text { margin: 0 auto; }

  
  .locations-section {
    background: linear-gradient(160deg, var(--color-forest) 0%, var(--color-forest-deep) 100%);
    padding: var(--space-24) 0;
  }
  .locations-section .section-main-heading { color: var(--color-text-light); }
  .locations-section .section-intro-text { color: rgba(245,242,234,0.7); }
  .locations-section .section-eyebrow { color: var(--color-amber-light); }

  .locations-card-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-6);
    margin-bottom: var(--space-10);
  }
  @media (min-width: 680px) { .locations-card-grid { grid-template-columns: 1fr 1fr; } }
  @media (min-width: 1000px) { .locations-card-grid { grid-template-columns: repeat(3, 1fr); } }

  .location-showcase-card {
    background: var(--color-glass);
    border: 1px solid var(--color-glass-border);
    border-radius: var(--radius-xl);
    overflow: hidden;
    backdrop-filter: blur(8px);
    transition: all var(--transition-slow);
    transition-delay: var(--delay, 0s);
  }
  .location-showcase-card:hover {
    transform: translateY(-8px);
    background: rgba(255,255,255,0.12);
    box-shadow: var(--shadow-xl);
  }

  .location-image-wrapper {
    position: relative;
    overflow: hidden;
    height: 200px;
  }
  .location-card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
    filter: saturate(0.9);
  }
  .location-showcase-card:hover .location-card-image { transform: scale(1.06); }
  .location-image-duotone {
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, rgba(232,160,32,0.25) 0%, rgba(26,60,46,0.6) 100%);
    mix-blend-mode: multiply;
    transition: opacity var(--transition-base);
  }

  .location-card-body { padding: var(--space-6); }
  .location-region-tag {
    display: inline-block;
    padding: var(--space-1) var(--space-3);
    background: rgba(232,160,32,0.15);
    border: 1px solid rgba(232,160,32,0.3);
    border-radius: var(--radius-full);
    font-size: 11px;
    font-weight: 600;
    color: var(--color-amber-light);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: var(--space-3);
  }
  .location-card-title {
    font-family: 'Unbounded', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--color-text-light);
    margin-bottom: var(--space-3);
  }
  .location-card-description {
    font-size: 14px;
    color: rgba(245,242,234,0.7);
    line-height: 1.65;
    margin-bottom: var(--space-4);
  }
  .location-detail-row {
    display: flex;
    gap: var(--space-4);
    font-size: 12px;
    color: rgba(245,242,234,0.55);
  }
  .location-detail-row i { color: var(--color-amber); margin-right: 4px; }

  .locations-cta-row { text-align: center; }
  .section-link-button {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-4) var(--space-8);
    background: transparent;
    color: var(--color-amber-light);
    border: 1.5px solid rgba(232,160,32,0.4);
    border-radius: var(--radius-full);
    font-weight: 600;
    font-size: 14px;
    transition: all var(--transition-base);
    min-height: 48px;
  }
  .section-link-button:hover {
    background: rgba(232,160,32,0.1);
    border-color: var(--color-amber);
    color: var(--color-amber);
  }

  
  .equipment-section {
    background: var(--color-cream);
    padding: var(--space-24) 0;
  }
  .equipment-content-split {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-12);
    align-items: start;
  }
  @media (min-width: 900px) {
    .equipment-content-split { grid-template-columns: 1fr 1fr; }
  }

  .equipment-intro-paragraph {
    font-size: 16px;
    color: var(--color-text-mid);
    line-height: 1.75;
    margin-bottom: var(--space-8);
  }
  .equipment-item-list { display: flex; flex-direction: column; gap: var(--space-5); }
  .equipment-item {
    display: flex;
    gap: var(--space-5);
    align-items: flex-start;
    transition-delay: var(--delay, 0s);
  }
  .equipment-item-number {
    font-family: 'Unbounded', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: var(--color-amber);
    background: rgba(232,160,32,0.1);
    border: 1px solid rgba(232,160,32,0.25);
    border-radius: var(--radius-sm);
    padding: var(--space-2) var(--space-3);
    flex-shrink: 0;
    min-width: 40px;
    text-align: center;
    margin-top: 2px;
  }
  .equipment-item-title {
    font-family: 'Unbounded', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--color-text-dark);
    margin-bottom: var(--space-2);
  }
  .equipment-item-text {
    font-size: 14px;
    color: var(--color-text-mid);
    line-height: 1.65;
  }

  .equipment-image-stack {
    position: relative;
    padding-top: var(--space-6);
  }
  .equipment-main-image {
    width: 100%;
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-xl);
    object-fit: cover;
    height: 400px;
  }
  .equipment-accent-card {
    position: absolute;
    bottom: -var(--space-6);
    left: var(--space-8);
    right: var(--space-8);
    background: var(--color-forest);
    color: var(--color-text-light);
    border-radius: var(--radius-lg);
    padding: var(--space-5) var(--space-6);
    box-shadow: var(--shadow-lg);
    display: flex;
    align-items: flex-start;
    gap: var(--space-4);
    font-size: 13px;
    line-height: 1.5;
    transition-delay: var(--delay, 0s);
  }
  .equipment-accent-card i {
    color: var(--color-amber);
    font-size: 18px;
    flex-shrink: 0;
    margin-top: 2px;
  }

  
  .ethics-overlap-section {
    position: relative;
    padding: var(--space-24) var(--space-6);
    overflow: hidden;
    background: var(--color-forest-deep);
    margin-top: -48px;
    z-index: 2;
  }
  .ethics-background-image {
    position: absolute;
    inset: 0;
    z-index: 0;
  }
  .ethics-bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.3;
    filter: saturate(0.5);
  }
  .ethics-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, rgba(15,36,25,0.85) 0%, rgba(26,60,46,0.7) 100%);
  }
  .ethics-content-block {
    position: relative;
    z-index: 2;
    max-width: 1200px;
    margin: 0 auto;
  }
  .ethics-heading {
    font-family: 'Unbounded', sans-serif;
    font-size: clamp(1.6rem, 3.5vw, 2.8rem);
    font-weight: 700;
    color: var(--color-text-light);
    margin-bottom: var(--space-12);
    letter-spacing: -0.5px;
  }
  .ethics-principles-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }
  @media (min-width: 640px) { .ethics-principles-grid { grid-template-columns: 1fr 1fr; } }
  @media (min-width: 1000px) { .ethics-principles-grid { grid-template-columns: repeat(4, 1fr); } }

  .ethics-principle-item {
    background: var(--color-glass);
    border: 1px solid var(--color-glass-border);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    backdrop-filter: blur(8px);
    transition: all var(--transition-slow);
    transition-delay: var(--delay, 0s);
  }
  .ethics-principle-item:hover {
    background: rgba(255,255,255,0.1);
    transform: translateY(-4px);
  }
  .ethics-principle-item > i {
    font-size: 24px;
    color: var(--color-amber);
    margin-bottom: var(--space-4);
    display: block;
  }
  .ethics-principle-item h4 {
    font-family: 'Unbounded', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--color-text-light);
    margin-bottom: var(--space-3);
    line-height: 1.4;
  }
  .ethics-principle-item p {
    font-size: 14px;
    color: rgba(245,242,234,0.65);
    line-height: 1.65;
  }

  
  .species-showcase-section {
    background: var(--color-cream);
    padding: var(--space-24) 0;
  }
  .species-card-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }
  @media (min-width: 680px) { .species-card-grid { grid-template-columns: 1fr 1fr; } }
  @media (min-width: 1000px) { .species-card-grid { grid-template-columns: repeat(3, 1fr); } }

  .species-profile-card {
    background: var(--color-white);
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: var(--shadow-md);
    border: 1px solid rgba(26,60,46,0.06);
    transition: all var(--transition-slow);
    transition-delay: var(--delay, 0s);
  }
  .species-profile-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-xl);
  }
  .species-image-frame {
    height: 220px;
    overflow: hidden;
    position: relative;
  }
  .species-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
    filter: saturate(0.95);
  }
  .species-profile-card:hover .species-photo { transform: scale(1.05); }

  .species-card-info { padding: var(--space-6); }
  .species-common-name {
    font-family: 'Unbounded', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--color-text-dark);
    margin-bottom: var(--space-1);
  }
  .species-latin-name {
    display: block;
    font-size: 13px;
    color: var(--color-text-muted);
    margin-bottom: var(--space-4);
  }
  .species-description {
    font-size: 14px;
    color: var(--color-text-mid);
    line-height: 1.65;
    margin-bottom: var(--space-4);
  }
  .species-identification-tags {
    display: flex;
    gap: var(--space-2);
    flex-wrap: wrap;
  }
  .id-tag {
    padding: var(--space-1) var(--space-3);
    background: rgba(26,60,46,0.08);
    border-radius: var(--radius-full);
    font-size: 12px;
    font-weight: 500;
    color: var(--color-forest);
  }

  
  .voice-recognition-section {
    background: linear-gradient(160deg, var(--color-forest-deep) 0%, var(--color-forest) 100%);
    padding: var(--space-24) 0;
  }
  .voice-content-split {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-12);
    align-items: center;
  }
  @media (min-width: 900px) {
    .voice-content-split { grid-template-columns: 1fr 1fr; }
  }
  .voice-image-frame {
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: var(--shadow-xl);
    transition-delay: var(--delay, 0s);
  }
  .voice-section-image {
    width: 100%;
    height: 420px;
    object-fit: cover;
    filter: saturate(0.85);
    transition: transform 0.6s ease;
  }
  .voice-image-frame:hover .voice-section-image { transform: scale(1.03); }

  .voice-description-text {
    font-size: 16px;
    color: rgba(245,242,234,0.75);
    line-height: 1.75;
    margin-bottom: var(--space-5);
  }
  .voice-technique-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    margin-bottom: var(--space-8);
  }
  .voice-technique-item {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    font-size: 14px;
    color: rgba(245,242,234,0.8);
  }
  .voice-technique-item i {
    color: var(--color-amber);
    margin-top: 2px;
    flex-shrink: 0;
  }
  .voice-cta-button {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-4) var(--space-8);
    background: var(--color-amber);
    color: var(--color-forest-deep);
    border-radius: var(--radius-full);
    font-weight: 600;
    font-size: 15px;
    transition: all var(--transition-base);
    box-shadow: var(--shadow-amber);
    min-height: 48px;
  }
  .voice-cta-button:hover {
    background: var(--color-amber-light);
    transform: translateY(-2px);
  }

  
  .about-portal-section {
    background: var(--color-cream-dark);
    padding: var(--space-24) 0;
  }
  .about-portal-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-12);
    align-items: center;
  }
  @media (min-width: 900px) {
    .about-portal-grid { grid-template-columns: 1fr 1fr; }
  }
  .about-paragraph {
    font-size: 16px;
    color: var(--color-text-mid);
    line-height: 1.75;
    margin-bottom: var(--space-5);
  }
  .about-link-button {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-4) var(--space-6);
    color: var(--color-forest);
    font-weight: 600;
    font-size: 14px;
    border-bottom: 2px solid var(--color-amber);
    transition: all var(--transition-base);
    padding-bottom: var(--space-2);
  }
  .about-link-button:hover {
    color: var(--color-amber-deep);
    gap: var(--space-4);
  }
  .about-portal-image-block {
    position: relative;
    transition-delay: var(--delay, 0s);
  }
  .about-section-image {
    width: 100%;
    height: 420px;
    object-fit: cover;
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-xl);
  }
  .about-image-badge {
    position: absolute;
    bottom: -var(--space-4);
    left: var(--space-8);
    background: var(--color-amber);
    color: var(--color-forest-deep);
    padding: var(--space-3) var(--space-5);
    border-radius: var(--radius-full);
    font-size: 13px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: var(--space-2);
    box-shadow: var(--shadow-amber);
  }

  
  .seasonal-section {
    background: linear-gradient(135deg, var(--color-forest-deep) 0%, var(--color-forest-mid) 100%);
    padding: var(--space-24) 0;
  }
  .seasonal-section .section-main-heading { color: var(--color-text-light); }
  .seasonal-section .section-eyebrow { color: var(--color-amber-light); }

  .seasonal-card-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }
  @media (min-width: 640px) { .seasonal-card-row { grid-template-columns: 1fr 1fr; } }
  @media (min-width: 1000px) { .seasonal-card-row { grid-template-columns: repeat(4, 1fr); } }

  .seasonal-period-card {
    background: var(--color-glass);
    border: 1px solid var(--color-glass-border);
    border-radius: var(--radius-xl);
    overflow: hidden;
    backdrop-filter: blur(8px);
    transition: all var(--transition-slow);
    transition-delay: var(--delay, 0s);
  }
  .seasonal-period-card:hover {
    transform: translateY(-6px);
    background: rgba(255,255,255,0.1);
    box-shadow: var(--shadow-lg);
  }
  .seasonal-card-header {
    padding: var(--space-6);
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
  }
  .spring-header { background: rgba(61,122,92,0.3); }
  .summer-header { background: rgba(232,160,32,0.2); }
  .autumn-header { background: rgba(196,122,16,0.25); }
  .winter-header { background: rgba(100,140,180,0.2); }

  .seasonal-card-header i {
    font-size: 24px;
    color: var(--color-amber);
    margin-bottom: var(--space-2);
  }
  .seasonal-card-header h3 {
    font-family: 'Unbounded', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--color-text-light);
  }
  .season-months {
    font-size: 12px;
    color: rgba(245,242,234,0.6);
  }
  .seasonal-highlight-list {
    padding: var(--space-5) var(--space-6);
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
  }
  .seasonal-highlight-list li {
    font-size: 13px;
    color: rgba(245,242,234,0.75);
    display: flex;
    align-items: center;
    gap: var(--space-2);
  }
  .seasonal-highlight-list li::before {
    content: '';
    width: 5px;
    height: 5px;
    background: var(--color-amber);
    border-radius: 50%;
    flex-shrink: 0;
  }

  
  .contact-teaser-section {
    background: var(--color-cream);
    padding: var(--space-20) 0;
  }
  .contact-teaser-inner {
    background: var(--color-white);
    border-radius: var(--radius-xl);
    padding: var(--space-12) var(--space-10);
    box-shadow: var(--shadow-lg);
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
    border: 1px solid rgba(26,60,46,0.08);
  }
  @media (min-width: 900px) {
    .contact-teaser-inner {
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
    }
  }
  .contact-teaser-heading {
    font-family: 'Unbounded', sans-serif;
    font-size: clamp(1.2rem, 2.5vw, 1.8rem);
    font-weight: 700;
    color: var(--color-text-dark);
    margin-bottom: var(--space-3);
  }
  .contact-teaser-subtext {
    font-size: 15px;
    color: var(--color-text-mid);
    line-height: 1.65;
    max-width: 500px;
  }
  .contact-teaser-actions {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    flex-shrink: 0;
  }
  .contact-teaser-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-4) var(--space-8);
    background: var(--color-forest);
    color: var(--color-text-light);
    border-radius: var(--radius-full);
    font-weight: 600;
    font-size: 15px;
    transition: all var(--transition-base);
    min-height: 48px;
    box-shadow: var(--shadow-md);
  }
  .contact-teaser-button:hover {
    background: var(--color-forest-mid);
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
  }
  .contact-teaser-info {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
  }
  .contact-inline-link {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: 14px;
    color: var(--color-text-mid);
    transition: color var(--transition-fast);
  }
  .contact-inline-link i { color: var(--color-amber); }
  .contact-inline-link:hover { color: var(--color-forest); }

  
  .page-footer {
    background: var(--color-forest-deep);
    color: var(--color-text-light);
    margin-top: auto;
  }
  .footer-cards-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-6);
    margin-bottom: var(--space-10);
  }
  @media (min-width: 640px) { .footer-cards-row { grid-template-columns: 1fr 1fr; } }
  @media (min-width: 1000px) { .footer-cards-row { grid-template-columns: 2fr 1fr 1fr 1.5fr; } }

  .footer-info-card,
  .footer-nav-card,
  .footer-legal-card,
  .footer-contact-card {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
  }
  .footer-brand-block {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
  }
  .footer-logo { width: 32px; height: 32px; }
  .footer-brand-name {
    font-family: 'Unbounded', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: var(--color-text-light);
  }
  .footer-about-text {
    font-size: 13px;
    color: rgba(245,242,234,0.6);
    line-height: 1.65;
  }
  .footer-card-heading {
    font-family: 'Unbounded', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-amber);
    margin-bottom: var(--space-5);
  }
  .footer-nav-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
  }
  .footer-nav-link {
    font-size: 14px;
    color: rgba(245,242,234,0.65);
    transition: color var(--transition-fast);
    display: flex;
    align-items: center;
    gap: var(--space-2);
  }
  .footer-nav-link:hover { color: var(--color-amber-light); }
  .footer-address-block {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    font-size: 13px;
    color: rgba(245,242,234,0.6);
  }
  .footer-address-block i {
    color: var(--color-amber);
    width: 16px;
    flex-shrink: 0;
    margin-right: var(--space-2);
  }
  .footer-contact-link {
    color: rgba(245,242,234,0.65);
    transition: color var(--transition-fast);
  }
  .footer-contact-link:hover { color: var(--color-amber-light); }

  .footer-bottom-bar {
    border-top: 1px solid rgba(255,255,255,0.08);
    padding-top: var(--space-6);
    padding-bottom: var(--space-6);
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    align-items: center;
    text-align: center;
  }
  @media (min-width: 680px) {
    .footer-bottom-bar {
      flex-direction: row;
      justify-content: space-between;
    }
  }
  .footer-copyright, .footer-disclaimer {
    font-size: 12px;
    color: rgba(245,242,234,0.4);
  }

  
  .inner-page-hero, .legal-page-hero {
    background: linear-gradient(135deg, var(--color-forest-deep) 0%, var(--color-forest) 100%);
    padding: var(--space-20) var(--space-6) var(--space-16);
    position: relative;
    overflow: hidden;
  }
  .inner-hero-content {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
    animation: hero-entrance 0.6s ease forwards;
  }
  .inner-hero-headline {
    font-family: 'Unbounded', sans-serif;
    font-size: clamp(1.8rem, 4vw, 3.2rem);
    font-weight: 700;
    color: var(--color-text-light);
    line-height: 1.15;
    letter-spacing: -0.5px;
    margin-bottom: var(--space-4);
  }
  .inner-hero-description {
    font-size: clamp(15px, 1.8vw, 18px);
    color: rgba(245,242,234,0.75);
    line-height: 1.65;
    max-width: 580px;
  }
  .legal-last-updated {
    font-size: 13px;
    color: rgba(245,242,234,0.5);
    margin-top: var(--space-2);
  }

  
  .audience-profiles-section {
    background: var(--color-cream);
    padding: var(--space-24) 0;
  }
  .audience-profiles-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }
  @media (min-width: 640px) { .audience-profiles-grid { grid-template-columns: 1fr 1fr; } }
  @media (min-width: 1000px) { .audience-profiles-grid { grid-template-columns: repeat(4, 1fr); } }

  .audience-profile-card {
    background: var(--color-white);
    border-radius: var(--radius-xl);
    padding: var(--space-8) var(--space-6);
    box-shadow: var(--shadow-md);
    border: 1px solid rgba(26,60,46,0.06);
    transition: all var(--transition-slow);
    transition-delay: var(--delay, 0s);
  }
  .audience-profile-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-xl);
  }
  .profile-card-icon-wrap {
    width: 56px;
    height: 56px;
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    margin-bottom: var(--space-5);
    box-shadow: var(--shadow-sm);
  }
  .green-icon { background: var(--color-forest); color: var(--color-amber); }
  .amber-icon { background: var(--color-amber); color: var(--color-forest-deep); }
  .profile-card-title {
    font-family: 'Unbounded', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--color-text-dark);
    margin-bottom: var(--space-3);
  }
  .profile-card-text {
    font-size: 14px;
    color: var(--color-text-mid);
    line-height: 1.65;
    margin-bottom: var(--space-5);
  }
  .profile-card-tags {
    display: flex;
    gap: var(--space-2);
    flex-wrap: wrap;
  }
  .profile-tag {
    padding: var(--space-1) var(--space-3);
    background: rgba(232,160,32,0.1);
    border: 1px solid rgba(232,160,32,0.2);
    border-radius: var(--radius-full);
    font-size: 11px;
    font-weight: 600;
    color: var(--color-amber-deep);
  }

  
  .mission-section {
    background: linear-gradient(160deg, var(--color-forest) 0%, var(--color-forest-deep) 100%);
    padding: var(--space-24) 0;
  }
  .mission-split-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-12);
    align-items: center;
  }
  @media (min-width: 900px) {
    .mission-split-layout { grid-template-columns: 1fr 1fr; }
  }
  .mission-paragraph {
    font-size: 16px;
    color: rgba(245,242,234,0.75);
    line-height: 1.75;
    margin-bottom: var(--space-5);
  }
  .mission-section-image {
    width: 100%;
    height: 420px;
    object-fit: cover;
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-xl);
    filter: saturate(0.85);
  }

  
  .values-section {
    background: var(--color-cream-dark);
    padding: var(--space-24) 0;
  }
  .values-card-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }
  @media (min-width: 640px) { .values-card-grid { grid-template-columns: 1fr 1fr; } }
  @media (min-width: 1000px) { .values-card-grid { grid-template-columns: repeat(4, 1fr); } }

  .value-principle-card {
    background: var(--color-white);
    border-radius: var(--radius-lg);
    padding: var(--space-8) var(--space-6);
    box-shadow: var(--shadow-sm);
    border: 1px solid rgba(26,60,46,0.06);
    text-align: center;
    transition: all var(--transition-slow);
    transition-delay: var(--delay, 0s);
  }
  .value-principle-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
  }
  .value-principle-card > i {
    font-size: 28px;
    color: var(--color-forest);
    margin-bottom: var(--space-4);
    display: block;
  }
  .value-principle-card h4 {
    font-family: 'Unbounded', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--color-text-dark);
    margin-bottom: var(--space-3);
  }
  .value-principle-card p {
    font-size: 14px;
    color: var(--color-text-mid);
    line-height: 1.65;
  }

  
  .calendar-overview-section {
    background: var(--color-cream);
    padding: var(--space-24) 0;
  }
  .calendar-month-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }
  @media (min-width: 480px) { .calendar-month-grid { grid-template-columns: 1fr 1fr; } }
  @media (min-width: 768px) { .calendar-month-grid { grid-template-columns: repeat(3, 1fr); } }
  @media (min-width: 1100px) { .calendar-month-grid { grid-template-columns: repeat(4, 1fr); } }

  .calendar-month-card {
    background: var(--color-white);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    border: 1px solid rgba(26,60,46,0.07);
    transition: all var(--transition-slow);
    transition-delay: var(--delay, 0s);
  }
  .calendar-month-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
  }
  .month-card-header {
    padding: var(--space-4) var(--space-5);
    background: linear-gradient(135deg, var(--color-forest) 0%, var(--color-forest-mid) 100%);
    display: flex;
    align-items: center;
    gap: var(--space-3);
  }
  .spring-month { background: linear-gradient(135deg, #2A6040 0%, #3D8A60 100%); }
  .summer-month { background: linear-gradient(135deg, #5A7020 0%, #7A9830 100%); }
  .autumn-month { background: linear-gradient(135deg, #7A4010 0%, #A05820 100%); }
  .winter-month { background: linear-gradient(135deg, #1A3C6E 0%, #2A5A9E 100%); }

  .month-number {
    font-family: 'Unbounded', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: var(--color-amber);
  }
  .month-name {
    font-family: 'Unbounded', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--color-text-light);
  }
  .month-highlights { padding: var(--space-4) var(--space-5); }
  .month-description {
    font-size: 13px;
    color: var(--color-text-mid);
    line-height: 1.6;
    margin-bottom: var(--space-3);
  }
  .month-species-tags {
    display: flex;
    gap: var(--space-2);
    flex-wrap: wrap;
  }
  .month-tag {
    padding: 2px var(--space-2);
    background: rgba(26,60,46,0.07);
    border-radius: var(--radius-sm);
    font-size: 11px;
    color: var(--color-forest);
    font-weight: 500;
  }

  
  .destination-section {
    background: linear-gradient(160deg, var(--color-forest) 0%, var(--color-forest-deep) 100%);
    padding: var(--space-24) 0;
  }
  .destination-section .section-main-heading { color: var(--color-text-light); }
  .destination-section .section-eyebrow { color: var(--color-amber-light); }

  .destination-cards-grid {
    display: grid;
    grid-template-columns
: 1fr;
    gap: var(--space-6);
  }
  @media (min-width: 680px) { .destination-cards-grid { grid-template-columns: 1fr 1fr; } }

  .destination-detail-card {
    background: var(--color-glass);
    border: 1px solid var(--color-glass-border);
    border-radius: var(--radius-xl);
    padding: var(--space-8) var(--space-6);
    backdrop-filter: blur(8px);
    transition: all var(--transition-slow);
    transition-delay: var(--delay, 0s);
  }
  .destination-detail-card:hover {
    background: rgba(255,255,255,0.1);
    transform: translateY(-6px);
    box-shadow: var(--shadow-lg);
  }
  .destination-card-top {
    margin-bottom: var(--space-4);
  }
  .destination-region-badge {
    display: inline-block;
    padding: var(--space-1) var(--space-3);
    background: rgba(232,160,32,0.15);
    border: 1px solid rgba(232,160,32,0.3);
    border-radius: var(--radius-full);
    font-size: 11px;
    font-weight: 600;
    color: var(--color-amber-light);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: var(--space-3);
    display: block;
    width: fit-content;
  }
  .destination-detail-card h3 {
    font-family: 'Unbounded', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--color-text-light);
  }
  .destination-detail-card p {
    font-size: 14px;
    color: rgba(245,242,234,0.7);
    line-height: 1.65;
    margin-bottom: var(--space-5);
  }
  .destination-info-row {
    display: flex;
    gap: var(--space-3);
    flex-wrap: wrap;
  }
  .info-chip {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    background: rgba(255,255,255,0.07);
    border-radius: var(--radius-full);
    font-size: 12px;
    color: rgba(245,242,234,0.65);
  }
  .info-chip i { color: var(--color-amber); }

  
  .community-intro-section {
    background: var(--color-cream);
    padding: var(--space-24) 0;
  }
  .community-intro-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-12);
    align-items: center;
  }
  @media (min-width: 900px) {
    .community-intro-grid { grid-template-columns: 1fr 1fr; }
  }
  .community-paragraph {
    font-size: 16px;
    color: var(--color-text-mid);
    line-height: 1.75;
    margin-bottom: var(--space-5);
  }
  .community-featured-image {
    width: 100%;
    height: 380px;
    object-fit: cover;
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-xl);
  }

  
  .participant-voices-section {
    background: linear-gradient(160deg, var(--color-forest-deep) 0%, var(--color-forest) 100%);
    padding: var(--space-24) 0;
  }
  .participant-stories-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }
  @media (min-width: 680px) { .participant-stories-grid { grid-template-columns: 1fr 1fr; } }
  @media (min-width: 1000px) { .participant-stories-grid { grid-template-columns: repeat(3, 1fr); } }

  .participant-story-card {
    background: var(--color-glass);
    border: 1px solid var(--color-glass-border);
    border-radius: var(--radius-xl);
    padding: var(--space-6);
    backdrop-filter: blur(8px);
    transition: all var(--transition-slow);
    transition-delay: var(--delay, 0s);
  }
  .participant-story-card:hover {
    background: rgba(255,255,255,0.1);
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
  }
  .story-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-3);
    margin-bottom: var(--space-5);
    flex-wrap: wrap;
  }
  .story-author-name {
    display: block;
    font-family: 'Unbounded', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--color-text-light);
    margin-bottom: var(--space-1);
  }
  .story-author-context {
    display: block;
    font-size: 12px;
    color: rgba(245,242,234,0.5);
  }
  .story-location-tag {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    font-size: 11px;
    color: var(--color-amber-light);
    background: rgba(232,160,32,0.12);
    border: 1px solid rgba(232,160,32,0.2);
    padding: var(--space-1) var(--space-3);
    border-radius: var(--radius-full);
    white-space: nowrap;
  }
  .story-card-content {
    margin-bottom: var(--space-5);
  }
  .story-card-content p {
    font-size: 14px;
    color: rgba(245,242,234,0.75);
    line-height: 1.7;
    font-style: italic;
  }
  .story-card-topic {
    display: flex;
    gap: var(--space-2);
    flex-wrap: wrap;
  }
  .story-topic-chip {
    padding: var(--space-1) var(--space-3);
    background: rgba(61,122,92,0.3);
    border: 1px solid rgba(61,122,92,0.4);
    border-radius: var(--radius-full);
    font-size: 11px;
    font-weight: 600;
    color: rgba(245,242,234,0.7);
  }

  
  .share-experience-section {
    background: var(--color-cream-dark);
    padding: var(--space-24) 0;
  }
  .share-experience-inner {
    text-align: center;
    max-width: 600px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-6);
  }
  .share-experience-icon {
    font-size: 48px;
    color: var(--color-forest);
    opacity: 0.4;
  }
  .share-experience-text {
    font-size: 16px;
    color: var(--color-text-mid);
    line-height: 1.75;
  }

  
  .contact-main-section {
    background: var(--color-cream);
    padding: var(--space-24) 0;
  }
  .contact-page-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-12);
    margin-bottom: var(--space-16);
  }
  @media (min-width: 900px) {
    .contact-page-grid { grid-template-columns: 1.4fr 1fr; }
  }

  .contact-form-heading {
    font-family: 'Unbounded', sans-serif;
    font-size: 20px;
    font-weight: 600;
    color: var(--color-text-dark);
    margin-bottom: var(--space-8);
  }

  .inquiry-form {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
  }
  .form-field-group {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
  }
  .form-field-label {
    font-size: 14px;
    font-weight: 600;
    color: var(--color-text-dark);
    letter-spacing: 0.01em;
  }
  .required-marker { color: var(--color-amber-deep); }
  .form-text-input,
  .form-select-input,
  .form-textarea-input {
    width: 100%;
    padding: var(--space-4) var(--space-5);
    background: var(--color-white);
    border: 1.5px solid rgba(26,60,46,0.15);
    border-radius: var(--radius-md);
    font-size: 15px;
    color: var(--color-text-dark);
    transition: all var(--transition-base);
    min-height: 48px;
    box-shadow: var(--shadow-sm);
  }
  .form-text-input:focus,
  .form-select-input:focus,
  .form-textarea-input:focus {
    outline: none;
    border-color: var(--color-forest);
    box-shadow: 0 0 0 3px rgba(26,60,46,0.1), var(--shadow-sm);
  }
  .form-text-input::placeholder,
  .form-textarea-input::placeholder {
    color: rgba(58,80,64,0.4);
  }
  .form-textarea-input { resize: vertical; min-height: 140px; }
  .form-select-input { cursor: pointer; }

  .form-privacy-row { margin-top: var(--space-2); }
  .form-privacy-label {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    cursor: pointer;
  }
  .form-privacy-checkbox { display: none; }
  .privacy-checkbox-custom {
    width: 20px;
    height: 20px;
    min-width: 20px;
    border: 2px solid rgba(26,60,46,0.25);
    border-radius: var(--radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--transition-base);
    margin-top: 2px;
    background: var(--color-white);
  }
  .form-privacy-checkbox:checked + .privacy-checkbox-custom {
    background: var(--color-forest);
    border-color: var(--color-forest);
  }
  .form-privacy-checkbox:checked + .privacy-checkbox-custom::after {
    content: '';
    width: 5px;
    height: 9px;
    border: 2px solid var(--color-amber);
    border-top: none;
    border-left: none;
    transform: rotate(45deg) translateY(-1px);
  }
  .privacy-label-text {
    font-size: 13px;
    color: var(--color-text-mid);
    line-height: 1.6;
  }
  .privacy-link {
    color: var(--color-forest);
    text-decoration: underline;
    transition: color var(--transition-fast);
  }
  .privacy-link:hover { color: var(--color-amber-deep); }

  .form-error-message {
    font-size: 13px;
    color: #C0392B;
    background: rgba(192,57,43,0.08);
    border: 1px solid rgba(192,57,43,0.2);
    border-radius: var(--radius-sm);
    padding: var(--space-3) var(--space-4);
    display: none;
  }
  .form-error-message.visible { display: block; }

  .form-submit-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    padding: var(--space-4) var(--space-10);
    background: var(--color-forest);
    color: var(--color-text-light);
    border-radius: var(--radius-full);
    font-size: 15px;
    font-weight: 600;
    transition: all var(--transition-base);
    min-height: 52px;
    box-shadow: var(--shadow-md);
    align-self: flex-start;
  }
  .form-submit-button:hover {
    background: var(--color-forest-mid);
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
  }

  .contact-info-block,
  .building-access-block {
    background: var(--color-white);
    border-radius: var(--radius-xl);
    padding: var(--space-8) var(--space-6);
    box-shadow: var(--shadow-md);
    border: 1px solid rgba(26,60,46,0.07);
    margin-bottom: var(--space-6);
    transition-delay: var(--delay, 0s);
  }
  .contact-info-heading {
    font-family: 'Unbounded', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: var(--color-text-dark);
    margin-bottom: var(--space-6);
  }
  .contact-detail-item {
    display: flex;
    align-items: flex-start;
    gap: var(--space-4);
    padding: var(--space-4) 0;
    border-bottom: 1px solid rgba(26,60,46,0.06);
  }
  .contact-detail-item:last-child { border-bottom: none; }
  .contact-detail-icon {
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, var(--color-forest), var(--color-forest-mid));
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-amber);
    font-size: 16px;
    flex-shrink: 0;
    box-shadow: var(--shadow-sm);
  }
  .contact-detail-text {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
  }
  .contact-detail-text strong {
    font-size: 12px;
    font-weight: 600;
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
  }
  .contact-detail-text span,
  .contact-detail-text a {
    font-size: 15px;
    color: var(--color-text-dark);
    line-height: 1.4;
    transition: color var(--transition-fast);
  }
  .contact-detail-text a:hover { color: var(--color-forest-mid); }

  .building-access-text {
    font-size: 14px;
    color: var(--color-text-mid);
    line-height: 1.7;
    margin-bottom: var(--space-4);
  }
  .building-access-details {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    margin-top: var(--space-5);
    padding-top: var(--space-5);
    border-top: 1px solid rgba(26,60,46,0.07);
  }
  .access-detail-row {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    font-size: 13px;
    color: var(--color-text-mid);
  }
  .access-detail-row i {
    color: var(--color-amber-deep);
    width: 16px;
    flex-shrink: 0;
  }

  .map-section-block {
    margin-top: var(--space-4);
  }
  .map-section-heading {
    font-family: 'Unbounded', sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: var(--color-text-dark);
    margin-bottom: var(--space-6);
  }
  .map-iframe-wrapper {
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-lg);
    border: 1px solid rgba(26,60,46,0.1);
  }

  
  .thanks-main { display: flex; flex-direction: column; }
  .thanks-hero-section {
    background: linear-gradient(135deg, var(--color-forest-deep) 0%, var(--color-forest) 50%, var(--color-forest-mid) 100%);
    padding: var(--space-24) var(--space-6);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 50vh;
    position: relative;
    overflow: hidden;
  }
  .thanks-hero-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
      radial-gradient(circle at 30% 70%, rgba(232,160,32,0.1) 0%, transparent 50%),
      radial-gradient(circle at 70% 30%, rgba(61,122,92,0.15) 0%, transparent 50%);
    pointer-events: none;
  }
  .thanks-hero-content {
    position: relative;
    z-index: 2;
    max-width: 600px;
    animation: hero-entrance 0.8s ease forwards;
  }
  .thanks-icon-circle {
    width: 80px;
    height: 80px;
    background: var(--color-amber);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto var(--space-8);
    font-size: 32px;
    color: var(--color-forest-deep);
    box-shadow: var(--shadow-amber);
    animation: hero-entrance 0.8s ease 0.2s both;
  }
  .thanks-headline {
    font-family: 'Unbounded', sans-serif;
    font-size: clamp(1.6rem, 4vw, 2.8rem);
    font-weight: 700;
    color: var(--color-text-light);
    margin-bottom: var(--space-5);
    letter-spacing: -0.5px;
  }
  .thanks-subtext {
    font-size: 17px;
    color: rgba(245,242,234,0.75);
    line-height: 1.7;
  }

  .thanks-next-steps-section {
    background: var(--color-cream);
    padding: var(--space-20) 0;
  }
  .thanks-next-steps-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-6);
    margin-bottom: var(--space-12);
  }
  @media (min-width: 680px) { .thanks-next-steps-grid { grid-template-columns: repeat(3, 1fr); } }

  .thanks-step-card {
    background: var(--color-white);
    border-radius: var(--radius-xl);
    padding: var(--space-8) var(--space-6);
    box-shadow: var(--shadow-md);
    border: 1px solid rgba(26,60,46,0.07);
    transition: all var(--transition-slow);
  }
  .thanks-step-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-xl);
  }
  .thanks-step-number {
    font-family: 'Unbounded', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: var(--color-amber);
    background: rgba(232,160,32,0.1);
    border: 1px solid rgba(232,160,32,0.2);
    border-radius: var(--radius-sm);
    padding: var(--space-2) var(--space-3);
    display: inline-block;
    margin-bottom: var(--space-4);
  }
  .thanks-step-card h3 {
    font-family: 'Unbounded', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--color-text-dark);
    margin-bottom: var(--space-3);
  }
  .thanks-step-card p {
    font-size: 14px;
    color: var(--color-text-mid);
    line-height: 1.65;
    margin-bottom: var(--space-5);
  }
  .thanks-step-link {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    font-size: 13px;
    font-weight: 600;
    color: var(--color-forest);
    border-bottom: 1.5px solid var(--color-amber);
    padding-bottom: 2px;
    transition: all var(--transition-base);
  }
  .thanks-step-link:hover { color: var(--color-amber-deep); }
  .thanks-home-link-row {
    text-align: center;
  }

  
  .legal-content-section {
    background: var(--color-cream);
    padding: var(--space-16) 0 var(--space-24);
  }

  
  .legal-timeline {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .legal-timeline-entry {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: var(--space-8);
    padding-bottom: var(--space-10);
  }
  @media (max-width: 600px) {
    .legal-timeline-entry { grid-template-columns: 1fr; }
    .timeline-marker { display: flex; align-items: center; gap: var(--space-3); }
    .timeline-line { display: none; }
  }
  .timeline-marker {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 4px;
  }
  .timeline-date {
    font-family: 'Unbounded', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: var(--color-amber);
    background: rgba(232,160,32,0.1);
    border: 1px solid rgba(232,160,32,0.25);
    border-radius: var(--radius-sm);
    padding: var(--space-2) var(--space-3);
    white-space: nowrap;
    text-align: center;
  }
  .timeline-line {
    width: 2px;
    flex: 1;
    background: linear-gradient(to bottom, rgba(232,160,32,0.3), rgba(232,160,32,0.05));
    margin-top: var(--space-3);
    min-height: 40px;
  }
  .timeline-content-block h2 {
    font-family: 'Unbounded', sans-serif;
    font-size: 17px;
    font-weight: 600;
    color: var(--color-text-dark);
    margin-bottom: var(--space-4);
    line-height: 1.3;
  }
  .timeline-content-block p {
    font-size: 15px;
    color: var(--color-text-mid);
    line-height: 1.75;
    margin-bottom: var(--space-4);
  }
  .timeline-content-block p:last-child { margin-bottom: 0; }

  
  .terms-accordion-layout {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
  }
  .terms-section-block {
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: var(--space-8);
    background: var(--color-white);
    border-radius: var(--radius-lg);
    padding: var(--space-8);
    box-shadow: var(--shadow-sm);
    border: 1px solid rgba(26,60,46,0.07);
    transition: all var(--transition-slow);
    transition-delay: var(--delay, 0s);
  }
  .terms-section-block:hover {
    box-shadow: var(--shadow-md);
    transform: translateX(4px);
  }
  @media (max-width: 600px) {
    .terms-section-block { grid-template-columns: 1fr; }
  }
  .terms-section-letter {
    font-family: 'Unbounded', sans-serif;
    font-size: 32px;
    font-weight: 700;
    color: var(--color-forest);
    opacity: 0.15;
    line-height: 1;
    padding-top: 4px;
  }
  .terms-section-body h2 {
    font-family: 'Unbounded', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--color-text-dark);
    margin-bottom: var(--space-4);
  }
  .terms-section-body p {
    font-size: 15px;
    color: var(--color-text-mid);
    line-height: 1.75;
    margin-bottom: var(--space-4);
  }
  .terms-section-body p:last-child { margin-bottom: 0; }

  
  .cookies-compact-layout {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
  }
  .cookies-intro-block {
    background: var(--color-forest);
    color: var(--color-text-light);
    border-radius: var(--radius-lg);
    padding: var(--space-6) var(--space-8);
    font-size: 15px;
    line-height: 1.7;
  }
  .cookies-category-block {
    background: var(--color-white);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    border: 1px solid rgba(26,60,46,0.07);
    transition: all var(--transition-slow);
    transition-delay: var(--delay, 0s);
  }
  .cookies-category-block:hover { box-shadow: var(--shadow-md); }
  .cookies-category-header {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-5) var(--space-6);
    border-bottom: 1px solid rgba(26,60,46,0.07);
  }
  .necessary-header { background: rgba(26,60,46,0.05); }
  .analytics-header { background: rgba(232,160,32,0.06); }
  .functional-header { background: rgba(61,122,92,0.06); }
  .management-header { background: rgba(100,140,180,0.06); }
  .contact-header { background: rgba(232,160,32,0.04); }
  .cookies-category-header i {
    font-size: 18px;
    color: var(--color-forest);
    flex-shrink: 0;
  }
  .cookies-category-header h2 {
    font-family: 'Unbounded', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--color-text-dark);
    flex: 1;
  }
  .cookies-always-tag {
    padding: var(--space-1) var(--space-3);
    background: rgba(26,60,46,0.1);
    border-radius: var(--radius-full);
    font-size: 11px;
    font-weight: 600;
    color: var(--color-forest);
    white-space: nowrap;
  }
  .cookies-consent-tag {
    padding: var(--space-1) var(--space-3);
    background: rgba(232,160,32,0.12);
    border-radius: var(--radius-full);
    font-size: 11px;
    font-weight: 600;
    color: var(--color-amber-deep);
    white-space: nowrap;
  }
  .cookies-category-block > p {
    padding: var(--space-5) var(--space-6);
    font-size: 14px;
    color: var(--color-text-mid);
    line-height: 1.7;
  }
  .cookies-detail-table {
    margin: 0 var(--space-6) var(--space-5);
    border: 1px solid rgba(26,60,46,0.08);
    border-radius: var(--radius-md);
    overflow: hidden;
  }
  .cookies-table-row {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    font-size: 13px;
    color: var(--color-text-mid);
    border-bottom: 1px solid rgba(26,60,46,0.06);
  }
  .cookies-table-row:last-child { border-bottom: none; }
  .cookies-table-row.header-row {
    background: rgba(26,60,46,0.04);
    font-weight: 600;
    font-size: 12px;
    color: var(--color-text-dark);
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }
  .cookies-table-row code {
    font-family: monospace;
    font-size: 12px;
    background: rgba(26,60,46,0.06);
    padding: 1px 5px;
    border-radius: 3px;
    color: var(--color-forest);
  }

  
  .animate-on-scroll {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.6s ease, transform 0.6s ease;
    transition-delay: var(--delay, 0s);
  }
  .animate-on-scroll.visible {
    opacity: 1;
    transform: translateY(0);
  }

}

@layer utilities {
  .visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
  }
}