:root {
    /* Colors */
    --color-primary: #4a5022;
    --color-on-primary: #ffffff;
    --color-primary-container: #d6dea5;
    --color-on-primary-container: #1a1e00;
    --color-secondary: #60624a;
    --color-on-secondary: #ffffff;
    --color-secondary-container: #e6e7c8;
    --color-on-secondary-container: #1d1e0b;
    --color-tertiary: #3c665e;
    --color-on-tertiary: #ffffff;
    --color-tertiary-container: #beece2;
    --color-on-tertiary-container: #00201a;
    --color-error: #ba1a1a;
    --color-on-error: #ffffff;
    --color-error-container: #ffdad6;
    --color-on-error-container: #410002;
    --color-background: #f8f7f2;
    --color-on-background: #2a2d13;
    --color-surface: #f8f7f2;
    --color-on-surface: #2a2d13;
    --color-surface-variant: #edebe0;
    --color-on-surface-variant: #4d5138;
    --color-outline: #7e8266;
    --color-outline-variant: #c6c8b6;
    --color-surface-dim: #dbd8c9;
    --color-surface-bright: #fbf9f4;
    --color-surface-container-lowest: #ffffff;
    --color-surface-container-low: #f5f3e7;
    --color-surface-container: #efede1;
    --color-surface-container-high: #e9e7db;
    --color-surface-container-highest: #e4e2d5;
    --color-inverse-surface: #2f311c;
    --color-inverse-on-surface: #f5f3e7;
    --color-inverse-primary: #bbc38b;
    --color-primary-fixed: #d6dea5;
    --color-on-primary-fixed: #101400;
    --color-primary-fixed-dim: #bbc38b;
    --color-on-primary-fixed-variant: #33390c;
    --color-secondary-fixed: #e6e7c8;
    --color-on-secondary-fixed: #1d1e0b;
    --color-secondary-fixed-dim: #c9caad;
    --color-on-secondary-fixed-variant: #484a34;
    --color-tertiary-fixed: #beece2;
    --color-on-tertiary-fixed: #00201a;
    --color-tertiary-fixed-dim: #a3d0c6;
    --color-on-tertiary-fixed-variant: #234d45;
    --color-surface-tint: #4a5022;

    /* Typography */
    --font-primary: 'Montserrat', sans-serif;
    --font-display: 'Playfair Display', serif;
}

.parallax-bg {
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.clip-diagonal {
    clip-path: polygon(0 0, 100% 0, 100% 85%, 0 100%);
}
.clip-diagonal-reverse {
    clip-path: polygon(0 15%, 100% 0, 100% 100%, 0 100%);
}

html {
    scroll-behavior: smooth;
}

/* Animaciones de Entrada (Scroll) */
.animate-on-scroll {
    opacity: 0;
    transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1); /* Suave ease-out */
}

.animate-on-scroll.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.fade-up {
    transform: translateY(50px);
}

.fade-in {
    transform: translateY(0);
    transition-duration: 1.2s;
}

/* Patrón de líneas geométricas para fondo oscuro */
.geo-lines {
    background-image: 
        linear-gradient(rgba(214, 222, 165, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(214, 222, 165, 0.04) 1px, transparent 1px);
    background-size: 120px 120px;
    background-position: center center;
}

/* Decoraciones y SVG Parallax */
.olympus-column {
    position: absolute;
    top: -5%;
    bottom: -5%;
    width: 250px;
    opacity: 0.04;
    pointer-events: none;
    z-index: 0;
    transition: transform 0.1s linear;
}
.column-left { left: -50px; }
.column-right { right: -50px; transform: scaleX(-1); }
