:root {
    --forest: #1a2e1c;
    --moss: #2d4a2e;
    --mist: #f5f0e8;
    --gold: #c9a84c;
    --gold-light: #e8d5a3;
    --cream: #faf7f2;
    --bark: #7a6250;
    --border: rgba(26,46,28,0.12);
    --white: #ffffff;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html { scroll-behavior: smooth; }

body {
    font-family: 'DM Sans', sans-serif;
    background: var(--cream);
    color: var(--forest);
    min-height: 100vh;
}

h1, h2, h3, h4 {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 400;
}


 footer { background: #0d1a0e; color: rgba(255,255,255,0.7); padding: 60px; }
        .footer-bottom { text-align: center; font-size: 13px; color: rgba(255,255,255,0.3); padding-top: 32px; border-top: 1px solid rgba(255,255,255,0.08); max-width: 1200px; margin: 0 auto; }
        .footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 60px; max-width: 1200px; margin: 0 auto 60px; }
        .footer-logo { font-family: 'Cormorant Garamond', serif; font-size: 2rem; color: white; letter-spacing: 3px; margin-bottom: 20px; display: block; }
        .footer-logo span { color: var(--gold); }
        .footer-about { font-size: 14px; line-height: 1.8; margin-bottom: 28px; }
        .footer-social { display: flex; gap: 12px; }
        .footer-social a { width: 38px; height: 38px; border: 1px solid rgba(255,255,255,0.15); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.6); font-size: 14px; transition: all 0.3s; text-decoration: none; }
        .footer-social a:hover { border-color: var(--gold); color: var(--gold); }
        .footer-col h5 { color: white; font-family: 'DM Sans', sans-serif; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 24px; font-weight: 500; }
        .footer-col ul { list-style: none; }
        .footer-col ul li { margin-bottom: 12px; }
        .footer-col ul li a { color: rgba(255,255,255,0.6); text-decoration: none; font-size: 14px; transition: color 0.2s; }
        .footer-col ul li a:hover { color: var(--gold); }


        /* ── PAGE LOADER ── */
    #pageLoader {
    position: fixed; inset: 0;
    background: #0a140b;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    z-index: 99999;
    transition: opacity 0.7s ease, visibility 0.7s ease;
    }
    #pageLoader.loaded { opacity: 0; visibility: hidden; pointer-events: none; }

    .loader-emblem { position: relative; width: 110px; height: 110px; margin-bottom: 36px; }
    .loader-ring { position: absolute; inset: 0; border-radius: 50%; border: 1.5px solid rgba(201,168,76,0.15); }
    .loader-ring-spin { position: absolute; inset: 0; border-radius: 50%; border: 1.5px solid transparent; border-top-color: #c9a84c; border-right-color: rgba(201,168,76,0.4); animation: loaderSpin 2s cubic-bezier(0.4,0,0.2,1) infinite; }
    .loader-ring-spin-rev { position: absolute; inset: 12px; border-radius: 50%; border: 1px solid transparent; border-bottom-color: rgba(201,168,76,0.5); border-left-color: rgba(201,168,76,0.2); animation: loaderSpin 3s cubic-bezier(0.4,0,0.2,1) infinite reverse; }
    .loader-inner-ring { position: absolute; inset: 22px; border-radius: 50%; background: rgba(201,168,76,0.04); border: 1px solid rgba(201,168,76,0.1); display: flex; align-items: center; justify-content: center; }
    .loader-monogram { font-family: 'Cormorant Garamond', serif; font-size: 26px; font-weight: 300; color: #c9a84c; letter-spacing: 2px; animation: loaderPulse 2s ease-in-out infinite; }
    .loader-divider-row { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; }
    .loader-divider-line { width: 40px; height: 1px; background: linear-gradient(90deg, transparent, rgba(201,168,76,0.5)); }
    .loader-divider-line.right { background: linear-gradient(270deg, transparent, rgba(201,168,76,0.5)); }
    .loader-divider-dot { width: 4px; height: 4px; border-radius: 50%; background: rgba(201,168,76,0.6); }
    .loader-wordmark { font-family: 'Cormorant Garamond', serif; font-size: 22px; font-weight: 300; letter-spacing: 8px; color: #f0e8d0; text-transform: uppercase; margin-bottom: 4px; }
    .loader-wordmark span { color: #c9a84c; }
    .loader-tagline { font-family: 'DM Sans', sans-serif; font-size: 10px; letter-spacing: 3px; text-transform: uppercase; color: rgba(201,168,76,0.55); }
    .loader-bar-wrap { margin-top: 44px; width: 160px; height: 1px; background: rgba(201,168,76,0.12); position: relative; overflow: hidden; }
    .loader-bar-fill { position: absolute; left: 0; top: 0; height: 100%; width: 0%; background: linear-gradient(90deg, rgba(201,168,76,0.4), #c9a84c, rgba(201,168,76,0.4)); transition: width 0.4s ease; }
    .loader-bar-shimmer { position: absolute; inset: 0; background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.3) 50%, transparent 100%); animation: shimmer 1.8s ease-in-out infinite; }

    @keyframes loaderSpin { to { transform: rotate(360deg); } }
    @keyframes loaderPulse { 0%,100% { opacity: 0.7; transform: scale(1); } 50% { opacity: 1; transform: scale(1.04); } }
    @keyframes shimmer { from { transform: translateX(-100%); } to { transform: translateX(200%); } }
