/*
Theme Name: La Locanda del Borgo
Theme URI: https://lalocandadelborgo.com
Description: Luxury Tuscan village retreat theme - 100% Brand Compliant
Version: 2.0.0
*/

/* ============================================ */
/* REAL BAUER BODONI - H1 TITLES                */
/* ============================================ */

@font-face {
    font-family: 'Bauer Bodoni';
    src: url('assets/fonts/Bauer_Bodoni/Bauer%20Bodoni%20Roman.woff2') format('woff2'),
         url('assets/fonts/Bauer_Bodoni/Bauer%20Bodoni%20Roman.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Bauer Bodoni';
    src: url('assets/fonts/Bauer_Bodoni/Bauer%20Bodoni%20Italic.woff2') format('woff2'),
         url('assets/fonts/Bauer_Bodoni/Bauer%20Bodoni%20Italic.otf') format('opentype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Bauer Bodoni';
    src: url('assets/fonts/Bauer_Bodoni/Bauer%20Bodoni%20Bold.woff2') format('woff2'),
         url('assets/fonts/Bauer_Bodoni/Bauer%20Bodoni%20Bold.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* ============================================ */
/* REAL HYPATIA - BODY & SECTION TITLES         */
/* ============================================ */

@font-face {
    font-family: 'Hypatia';
    src: url('assets/fonts/HYPATIA/HypatiaSansPro-Light.otf') format('opentype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Hypatia';
    src: url('assets/fonts/HYPATIA/HypatiaSansPro-Regular.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Hypatia';
    src: url('assets/fonts/HYPATIA/HypatiaSansPro-Semibold.otf') format('opentype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Hypatia';
    src: url('assets/fonts/HYPATIA/HypatiaSansPro-Bold.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* ============================================ */
/* DESIGN TOKENS - BRAND COLORS                 */
/* ============================================ */
:root {
  --cream:       #ebe6e1;
  --dark-green:  #27391f;
  --deep-green:  #1a2714;
  --mid-green:   #1f2e17;
  --light-green: #b8c196;
  --medium-green:#5a794f;
  --dark-grey:   #333333;
  --body-dark:   #2c2a28;
  --text-mid:    #5a5a56;
  --text-light:  #7a7670;
  --text-muted:  #9b8e7e;
  --border:      #ddd8d2;
  --accent:      #b8c196;
}

/* ============================================ */
/* RESET & BASE                                */
/* ============================================ */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Hypatia', 'Georgia', serif !important;
  font-weight: 300 !important;
  background: var(--cream);
  color: var(--body-dark);
  overflow-x: hidden;
}
img { display: block; max-width: 100%; }
a { text-decoration: none; }

/* ============================================ */
/* ANIMATIONS                                  */
/* ============================================ */
@keyframes fadeUp  { from { opacity:0; transform:translateY(50px); } to { opacity:1; transform:translateY(0); } }
@keyframes fadeIn  { from { opacity:0; } to { opacity:1; } }
@keyframes scrollPulse { 0%{width:20px;opacity:.3} 50%{width:48px;opacity:1} 100%{width:20px;opacity:.3} }

/* ============================================ */
/* SCROLL REVEAL                               */
/* ============================================ */
.reveal       { opacity:0; transform:translateY(40px);  transition: opacity .8s cubic-bezier(.25,.46,.45,.94), transform .8s cubic-bezier(.25,.46,.45,.94); }
.reveal-left  { opacity:0; transform:translateX(-35px); transition: opacity .8s cubic-bezier(.25,.46,.45,.94), transform .8s cubic-bezier(.25,.46,.45,.94); }
.reveal-right { opacity:0; transform:translateX(35px);  transition: opacity .8s cubic-bezier(.25,.46,.45,.94), transform .8s cubic-bezier(.25,.46,.45,.94); }
.reveal.visible, .reveal-left.visible, .reveal-right.visible { opacity:1; transform:translate(0); }
.delay-1{transition-delay:.08s} .delay-2{transition-delay:.16s} .delay-3{transition-delay:.24s} .delay-4{transition-delay:.32s}

/* ============================================ */
/* NAVIGATION                                  */
/* ============================================ */
nav#site-nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding:0 56px; height:72px;
  display:flex; align-items:center; justify-content:space-between;
  background: rgba(235,230,225,.96); backdrop-filter:blur(12px);
}
nav#site-nav.scrolled { background:rgba(235,230,225,.96); backdrop-filter:blur(12px); }
nav#site-nav .site-logo-wrap { display:flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:50%; background:#ffffff; box-shadow:0 1px 6px rgba(0,0,0,.18); }
nav#site-nav .site-logo-wrap img { height:38px; width:38px; object-fit:contain; display:block; filter:brightness(0); opacity:.85; }
.nav-logo { 
  font-family: 'Bauer Bodoni', 'Times New Roman', serif !important; 
  font-size:17px; 
  letter-spacing:.18em; 
  color:var(--cream); 
  text-transform:uppercase; 
  transition:color .4s; 
  font-weight: 400 !important;
}
nav#site-nav.scrolled .nav-logo { color:var(--dark-green); }
.nav-links { display:flex; gap:28px; align-items:center; }
.nav-links a { 
  font-family: 'Hypatia', 'Georgia', serif !important; 
  font-size:11px !important;
  font-weight:600 !important;
  letter-spacing:.18em; 
  text-transform:uppercase; 
  color:rgba(235,230,225,.85); 
  transition:color .3s; 
  position:relative; 
}
nav#site-nav.scrolled .nav-links a { color:#4a4a48; }
.nav-links a:not(.nav-book)::after { content:''; position:absolute; bottom:-4px; left:0; width:0; height:.5px; background:var(--dark-green); transition:width .3s ease; }
.nav-links a:not(.nav-book):hover::after { width:100%; }
.nav-links a:hover { color:var(--dark-green); }
.nav-book { 
  background:var(--dark-green)!important; 
  color:var(--cream)!important; 
  padding:12px 30px !important;
  font-size:14px !important;
  font-weight:700 !important;
  letter-spacing:.16em; 
  transition:background .3s,transform .2s!important; 
}
.nav-book:hover { background:var(--deep-green)!important; transform:translateY(-1px); }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:8px; z-index:999; position:relative; }
.hamburger span { display:block; width:24px; height:1.5px; background:var(--cream); transition:all .4s cubic-bezier(.25,.46,.45,.94); flex-shrink:0; }
nav#site-nav.scrolled .hamburger span { background:var(--dark-green); }
.hamburger.open span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.hamburger.open span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }

/* ============================================ */
/* MOBILE MENU                                 */
/* ============================================ */
.mobile-menu { position:fixed; inset:0; background:var(--mid-green); z-index:1050; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:24px; opacity:0; pointer-events:none; transition:opacity .4s ease; }
.mobile-menu.open { opacity:1; pointer-events:all; }
.m-close { position:absolute; top:24px; right:24px; background:none; border:none; color:var(--cream); font-size:40px; line-height:1; cursor:pointer; opacity:0; transition:opacity .3s ease .2s; padding:12px; z-index:1060; pointer-events:none; }
.mobile-menu.open .m-close { opacity:1; pointer-events:all; }
.m-close:hover { opacity:0.7; }
.mobile-menu a { 
  font-family: 'Bauer Bodoni', 'Times New Roman', serif !important; 
  font-size:34px !important;
  font-weight:400 !important;
  color:rgba(235,230,225,.75); 
  letter-spacing:.04em; 
  transition:color .3s,transform .2s; 
  transform:translateY(20px); 
  opacity:0; 
}
.mobile-menu.open a { opacity:1; transform:translateY(0); }
.mobile-menu.open a:nth-child(1){transition-delay:.05s} .mobile-menu.open a:nth-child(2){transition-delay:.1s}
.mobile-menu.open a:nth-child(3){transition-delay:.15s} .mobile-menu.open a:nth-child(4){transition-delay:.2s}
.mobile-menu.open a:nth-child(5){transition-delay:.25s} .mobile-menu.open a:nth-child(6){transition-delay:.3s}
.mobile-menu.open a:nth-child(7){transition-delay:.35s}
.mobile-menu a:hover { color:var(--cream); }
.mobile-menu .m-book { margin-top:16px; background:var(--cream); color:var(--mid-green)!important; padding:14px 44px; font-family:'Hypatia','Georgia',serif; font-size:10px; letter-spacing:.2em; text-transform:uppercase; }

/* ============================================ */
/* HERO SECTION - H1 (Bauer Bodoni ALL CAPS)    */
/* ============================================ */
.hero { height:100vh; position:relative; display:flex; align-items:center; overflow:hidden; }
.hero-bg { position:absolute; inset:0; background:url('https://la-locanda-del-borgo.com/wp-content/uploads/2026/06/locanda_Hero-1-scaled.jpg') center/cover no-repeat; }
.hero-bg.loaded { transform:none; }
.hero-bg-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-logo-center { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:2; }
.hero-logo-center img { width:240px; height:240px; object-fit:contain; filter:drop-shadow(0 2px 12px rgba(0,0,0,.35)); }

/* New centered text section — text that used to live on top of the hero */
.hero-intro-text { padding:100px 56px; text-align:center; background:var(--cream, #f4f1ec); }
.hero-intro-text .big-title { margin:0 auto 16px; }
.hero-intro-text .h2-sub { color:var(--dark-green); }
.hero-intro-text .body-txt { font-family:'Hypatia','Georgia',serif; font-weight:300; font-size:16px; color:#5a5650; line-height:1.8; }

/* Along the Way — static destination cards, no map/animations */
.atw-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:24px; }
.atw-card { border:.5px solid rgba(0,0,0,.08); }
.atw-img { height:200px; overflow:hidden; }
.atw-img img { width:100%; height:100%; object-fit:cover; display:block; }
.atw-info { padding:16px 18px; }
.atw-name { font-family:'Bauer Bodoni','Times New Roman',serif; font-size:18px; margin-bottom:4px; }
.atw-time { font-family:'Hypatia','Georgia',serif; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:#8a8378; margin-bottom:10px; }
.atw-desc { font-family:'Hypatia','Georgia',serif; font-weight:300; font-size:13px; line-height:1.7; color:#5a5650; }
.hero-overlay { display:none; }
.hero-content { position:relative; z-index:2; padding:0 56px; }
.h-eyebrow { font-family: 'Hypatia', 'Georgia', serif !important; font-weight:600 !important; font-size:10px; letter-spacing:.32em; text-transform:uppercase; color:var(--accent); margin-bottom:24px; opacity:0; animation:fadeUp .7s .3s forwards; }

.h-title { 
  font-family: 'Bauer Bodoni', 'Times New Roman', serif !important; 
  font-size:74px; 
  color:var(--cream); 
  line-height:1.04; 
  margin-bottom:28px; 
  opacity:0; 
  animation:fadeUp .8s .5s forwards; 
  text-transform: uppercase !important; 
  font-weight: 400 !important; 
}

/* H2 — Bodoni Regular Italic, standalone subheading per brand book */
.h2-sub {
  font-family: 'Bauer Bodoni', 'Times New Roman', serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: 28px;
  color: var(--dark-green);
  line-height: 1.3;
  margin-bottom: 20px;
  text-transform: none !important;
  letter-spacing: .01em;
}
.h-title + .h2-sub,
.big-title + .h2-sub {
  margin-top: -8px;
}
/* Hero h2-sub is cream coloured */
.hero .h2-sub { color: rgba(235,230,225,.82); }

.h-sub { 
  font-family: 'Hypatia', 'Georgia', serif !important; 
  font-weight: 300 !important; 
  font-size:16px; 
  color:rgba(235,230,225,.78); 
  line-height:1.8; 
  max-width:520px; 
  margin-bottom:40px; 
  opacity:0; 
  animation:fadeUp .7s .7s forwards; 
}

.h-actions { display:flex; gap:16px; opacity:0; animation:fadeUp .7s .9s forwards; }
.btn-primary { display:inline-block; background:var(--cream); color:var(--dark-green); padding:14px 40px; font-family: 'Hypatia', 'Georgia', serif !important; font-size:10px; letter-spacing:.22em; text-transform:uppercase; font-weight:600; transition:background .3s,transform .2s; }
.btn-primary:hover { background:#fff; transform:translateY(-2px); }
.btn-outline-w { display:inline-block; border:.5px solid rgba(235,230,225,.55); color:var(--cream); padding:14px 34px; font-family: 'Hypatia', 'Georgia', serif !important; font-size:10px; letter-spacing:.22em; text-transform:uppercase; transition:all .3s; }
.btn-outline-w:hover { border-color:var(--cream); background:rgba(235,230,225,.08); transform:translateY(-1px); }
.h-scroll { position:absolute; bottom:70px; left:56px; z-index:2; display:flex; align-items:center; gap:12px; opacity:0; animation:fadeIn .8s 1.2s forwards; cursor:pointer; }
.scroll-line { height:.5px; background:var(--accent); animation:scrollPulse 2.4s infinite; }
.scroll-txt { font-family: 'Hypatia', 'Georgia', serif !important; font-weight:600 !important; font-size:9px; letter-spacing:.22em; text-transform:uppercase; color:rgba(184,193,150,.7); }
.h-badge { position:absolute; bottom:36px; right:56px; z-index:2; text-align:right; opacity:0; animation:fadeIn .8s 1s forwards; }
.h-badge-num { font-family: 'Bauer Bodoni', 'Times New Roman', serif !important; font-size:12px; letter-spacing:.12em; color:rgba(235,230,225,.6); font-weight: 400 !important; }

/* ============================================ */
/* SHARED TYPOGRAPHY                           */
/* ============================================ */
.eyebrow { font-family: 'Hypatia', 'Georgia', serif !important; font-weight:600 !important; font-size:10px; letter-spacing:.28em; text-transform:uppercase; color:var(--text-muted); margin-bottom:16px; }

.big-title { 
  font-family: 'Bauer Bodoni', 'Times New Roman', serif !important; 
  font-size:48px; 
  color:var(--dark-green); 
  line-height:1.12; 
  margin-bottom:20px; 
  text-transform: uppercase !important; 
  font-weight: 400 !important; 
}

.section-title,
.sp-text .eyebrow,
.eyebrow.eyebrow-section {
  font-family: 'Hypatia', 'Georgia', serif !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .15em;
}

.divider { width:0; height:.5px; background:#c8c2bb; margin:20px 0; transition:width .9s cubic-bezier(.25,.46,.45,.94); }
.divider.visible { width:48px; }
.body-txt { font-family: 'Hypatia', 'Georgia', serif !important; font-weight: 300 !important; font-size:14px; color:var(--text-mid); line-height:1.9; margin-bottom:20px; }
.btn-dark { display:inline-block; width:fit-content; background:var(--dark-green); color:var(--cream); padding:13px 32px; font-family: 'Hypatia', 'Georgia', serif !important; font-size:10px; letter-spacing:.2em; text-transform:uppercase; font-weight:600; margin-top:24px; transition:background .3s,transform .2s; }
.btn-dark:hover { background:var(--deep-green); transform:translateY(-2px); }
.section-intro { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:48px; }
.link-sm { font-family: 'Hypatia', 'Georgia', serif !important; font-weight:600 !important; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--body-dark); border-bottom:.5px solid var(--body-dark); padding-bottom:2px; transition:color .2s,border-color .2s; }
.link-sm:hover { color:var(--dark-green); border-bottom-color:var(--dark-green); }

/* ============================================ */
/* ABOUT / STORY                               */
/* ============================================ */
.story { background:var(--cream); display:grid; grid-template-columns:1fr 1fr; }
.story-text { padding:72px 64px; display:flex; flex-direction:column; justify-content:center; }
.pillars { display:flex; flex-direction:column; margin-top:8px; }
.pillar { display:flex; gap:22px; padding:22px 0; border-bottom:.5px solid var(--border); }
.pillar:last-child { border-bottom:none; }
.p-num { font-family: 'Bauer Bodoni', 'Times New Roman', serif !important; font-size:30px; color:#cfc6bc; flex-shrink:0; width:36px; line-height:1; font-weight: 400 !important; }
.p-title { 
  font-family: 'Hypatia', 'Georgia', serif !important; 
  font-weight: 600 !important; 
  font-size:14px; 
  color:var(--body-dark); 
  margin-bottom:5px; 
  text-transform: uppercase; 
  letter-spacing:.1em; 
}
.p-desc { font-family: 'Hypatia', 'Georgia', serif !important; font-weight: 300 !important; font-size:13px; color:var(--text-light); line-height:1.7; }
.story-img { position:relative; overflow:hidden; min-height:580px; }
.story-img img { width:100%; height:100%; object-fit:cover; transition:transform 7s ease; }
.about-slider { position:relative; width:100%; height:100%; }
.about-slider .slide { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity 1.2s ease, transform 7s ease; }
.about-slider .slide.active { opacity:1; z-index:1; }
.about-slider:hover .slide.active { transform:scale(1.03); }
.about-slider-dots { position:absolute; bottom:20px; left:50%; transform:translateX(-50%); z-index:2; display:flex; gap:8px; }
.about-slider-dots .dot { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.5); cursor:pointer; transition:background .3s, transform .3s; }
.about-slider-dots .dot.active { background:#ffffff; transform:scale(1.25); }
.story-img:hover img { transform:scale(1.03); }

/* ============================================ */
/* VENUES                                      */
/* ============================================ */
.venues-wrap { background:var(--cream); padding:56px; }
.venues-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; }
.venue { position:relative; height:520px; overflow:hidden; cursor:pointer; }
.venue img { width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.9,.4,1),filter .5s; }
.venue:hover img { transform:scale(1.06); filter:brightness(.78); }
.v-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(15,22,10,.92) 0%,rgba(15,22,10,.1) 55%,transparent 100%); }
.v-content { position:absolute; bottom:0; left:0; right:0; padding:32px 26px; transform:translateY(6px); transition:transform .5s ease; }
.venue:hover .v-content { transform:translateY(0); }
.v-tag { font-family: 'Hypatia', 'Georgia', serif !important; font-weight:600 !important; font-size:8px; letter-spacing:.24em; text-transform:uppercase; color:rgba(184,193,150,.9); margin-bottom:8px; }
.v-name { 
  font-family: 'Bauer Bodoni', 'Times New Roman', serif !important; 
  font-size:28px; 
  color:var(--cream); 
  margin-bottom:10px; 
  text-transform: uppercase !important; 
  font-weight: 400 !important; 
}
.v-desc { font-family: 'Hypatia', 'Georgia', serif !important; font-weight: 300 !important; font-size:12px; color:rgba(235,230,225,.7); line-height:1.7; margin-bottom:16px; max-height:0; overflow:hidden; transition:max-height .5s ease; }
.venue:hover .v-desc { max-height:85px; }
.v-cta { 
  font-family: 'Hypatia', 'Georgia', serif !important; 
  font-size:9px; 
  letter-spacing:.22em; 
  text-transform:uppercase; 
  color:var(--cream); 
  display:inline-block; 
  opacity:0; 
  transition:opacity .4s .1s; 
}
.venue:hover .v-cta { opacity:1; }
.v-cta a {
    border-bottom: none !important;
    text-decoration: none !important;
    color: var(--cream) !important;
}

/* ============================================ */
/* SECTION PAGES                               */
/* ============================================ */
.section-page { background:var(--cream); padding:56px; }
.sp-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
/* On desktop: image-left variant pushes image to column 1 visually */
.sp-grid--img-left .sp-text { order:2; }
.sp-grid--img-left .sp-img  { order:1; }
.sp-img { position:relative; overflow:hidden; height:520px; }
.sp-img img { width:100%; height:100%; object-fit:cover; transition:transform 7s ease; }
.sp-img:hover img { transform:scale(1.03); }
.sp-text { display:flex; flex-direction:column; justify-content:center; }

.sp-text .eyebrow {
  font-family: 'Hypatia', 'Georgia', serif !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .2em;
}

/* ============================================ */
/* ACTIVITIES                                  */
/* ============================================ */
.act-wrap { background:var(--dark-green); padding:56px; }
.act-wrap .eyebrow { 
  color:var(--accent); 
  font-family: 'Hypatia', 'Georgia', serif !important;
  font-weight: 600 !important;
}
.act-wrap .big-title { color:var(--cream); }
.act-wrap .link-sm { color:rgba(235,230,225,.7); border-bottom-color:rgba(235,230,225,.4); }
.act-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:48px; }
.act-c { position:relative; height:380px; overflow:hidden; cursor:pointer; opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease; }
.act-c.act-visible { opacity:1; transform:translateY(0); }
.act-c img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.9,.4,1),filter .5s; }
.act-c:hover img { transform:scale(1.06); filter:brightness(.7); }
.a-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(15,22,10,.88) 0%,rgba(15,22,10,.08) 60%,transparent 100%); }
.a-content { position:absolute; bottom:0; left:0; right:0; padding:28px 24px; }
.a-bar { width:24px; height:.5px; background:var(--accent); margin-bottom:14px; transition:width .4s ease; }
.act-c:hover .a-bar { width:48px; }
.a-name { 
  font-family: 'Bauer Bodoni', 'Times New Roman', serif !important; 
  font-size:26px; 
  color:var(--cream); 
  margin-bottom:8px; 
  text-transform: uppercase !important; 
  font-weight: 400 !important; 
}
.a-desc { font-family: 'Hypatia', 'Georgia', serif !important; font-weight: 300 !important; font-size:12px; color:rgba(235,230,225,.7); line-height:1.7; max-height:0; overflow:hidden; transition:max-height .5s ease; }
.act-c:hover .a-desc { max-height:65px; }
.a-pill { display:inline-block; margin-top:12px; font-family: 'Hypatia', 'Georgia', serif !important; font-weight:600 !important; font-size:8px; letter-spacing:.22em; text-transform:uppercase; color:rgba(184,193,150,.9); border:.5px solid rgba(184,193,150,.4); padding:5px 14px; opacity:0; transform:translateY(6px); transition:opacity .35s .1s,transform .35s .1s; }
.act-c:hover .a-pill { opacity:1; transform:translateY(0); }

/* ============================================ */
/* FOOTER                                      */
/* ============================================ */
footer { background:var(--dark-grey); padding:72px 56px 32px; }
.footer-grid { display:grid; grid-template-columns:1.8fr 1fr 1fr 1fr; gap:44px; margin-bottom:48px; }
.f-logo { margin-bottom:22px; }
.f-logo img { height:56px; width:auto; }
.f-tag { font-family: 'Hypatia', 'Georgia', serif !important; font-weight: 300 !important; font-size:13px; color:#ffffff; line-height:1.8; max-width:280px; }
.fc-t { font-family: 'Hypatia', 'Georgia', serif !important; font-weight:600 !important; font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:#ffffff; margin-bottom:16px; white-space:nowrap; }
.fc a { display:block; font-family: 'Hypatia', 'Georgia', serif !important; font-weight: 300 !important; font-size:13px; color:#ffffff; margin-bottom:10px; transition:opacity .25s; opacity:.85; white-space:nowrap; }
.fc a:hover { opacity:1; }
.fc p { font-family: 'Hypatia', 'Georgia', serif !important; font-weight: 300 !important; font-size:13px; color:#ffffff; line-height:1.8; white-space:nowrap; }
.f-bottom { border-top:.5px solid rgba(255,255,255,.15); padding-top:24px; display:flex; justify-content:space-between; align-items:center; }
.f-bottom p { font-family: 'Hypatia', 'Georgia', serif !important; font-weight:300 !important; font-size:12px; letter-spacing:.08em; color:#ffffff; }
.f-bottom a { color:#ffffff; }

/* ============================================ */
/* BACK TO TOP                                 */
/* ============================================ */
.back-top { position:fixed; bottom:32px; right:32px; width:44px; height:44px; background:var(--dark-green); border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; opacity:0; transform:translateY(12px); transition:opacity .4s,transform .4s; z-index:900; color:var(--cream); }
.back-top.visible { opacity:1; transform:translateY(0); }
.back-top:hover { background:var(--deep-green); }
.back-top::before { content:'↑'; font-size:18px; }

/* ============================================ */
/* LANGUAGE SWITCHER                           */
/* ============================================ */
.lang-switcher { display:flex; align-items:center; gap:6px; margin-left:20px; }
.lang-btn { background:none; border:none; cursor:pointer; font-family:'Hypatia','Georgia',serif; font-weight:600; font-size:9px; letter-spacing:.18em; text-transform:uppercase; color:rgba(235,230,225,.7); padding:4px 0; transition:color .3s; }
.lang-btn.active { color:var(--cream); border-bottom:.5px solid var(--accent); }
.lang-btn:hover { color:var(--cream); }
nav#site-nav.scrolled .lang-btn { color:var(--text-light); }
nav#site-nav.scrolled .lang-btn.active { color:var(--dark-green); border-bottom-color:var(--dark-green); }
nav#site-nav.scrolled .lang-btn:hover { color:var(--dark-green); }
.lang-sep { font-size:9px; color:rgba(235,230,225,.35); }
nav#site-nav.scrolled .lang-sep { color:rgba(0,0,0,.2); }
[data-lang] { display:none; }
[data-lang].lang-active { display:block; }

/* ============================================ */
/* INTERACTIVE MAP STYLES (from front-page.php) */
/* ============================================ */
.along-the-way-luxury {
    background: #ebe6e1;
    padding: 0;
    overflow: hidden;
}

.luxury-header {
    text-align: center;
    padding: 80px 24px 40px;
}

.luxury-title {
    font-family: 'Bauer Bodoni', 'Times New Roman', serif !important;
    font-size: 52px;
    color: #27391f;
    line-height: 1.1;
    text-transform: uppercase;
    margin-bottom: 24px;
    letter-spacing: 0.02em;
}

.luxury-intro {
    font-family: 'Hypatia', 'Georgia', serif !important;
    font-size: 18px;
    color: #6f6a63;
    font-weight: 300;
    line-height: 1.8;
    max-width: 720px;
    margin: 0 auto;
}

.luxury-map-wrapper {
    position: relative;
    margin: 20px 56px;
    box-shadow: 0 30px 50px rgba(0,0,0,0.1);
}

.map-glass-overlay {
    position: absolute;
    bottom: 20px;
    left: 20px;
    z-index: 1000;
    background: rgba(235,230,225,0.9);
    backdrop-filter: blur(10px);
    padding: 12px 24px;
    border: 0.5px solid rgba(39,57,31,0.1);
}

.map-instruction {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: 'Hypatia', 'Georgia', serif;
    font-size: 11px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #27391f;
}

.pulse-dot {
    width: 8px;
    height: 8px;
    background: #27391f;
    border-radius: 50%;
    animation: pulse-green 1.5s infinite;
}

@keyframes pulse-green {
    0% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(1.3); }
    100% { opacity: 1; transform: scale(1); }
}

.luxury-hotel-marker {
    position: relative;
}

.hotel-pulse {
    position: absolute;
    width: 44px;
    height: 44px;
    background: #27391f;
    border-radius: 50%;
    opacity: 0.2;
    animation: hotel-pulse 2s infinite;
}

.hotel-star {
    position: absolute;
    width: 28px;
    height: 28px;
    background: #27391f;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ebe6e1;
    font-size: 14px;
    top: 8px;
    left: 8px;
    border: 2px solid #ebe6e1;
    box-shadow: 0 4px 15px rgba(39,57,31,0.3);
}

@keyframes hotel-pulse {
    0% { transform: scale(1); opacity: 0.3; }
    50% { transform: scale(1.4); opacity: 0.1; }
    100% { transform: scale(1); opacity: 0.3; }
}

.luxury-city-marker {
    position: relative;
}

.city-marker-inner {
    width: 14px;
    height: 14px;
    background: #cbdba7;
    border-radius: 50%;
    border: 2.5px solid #27391f;
    box-shadow: 0 2px 8px rgba(39,57,31,0.25);
    transition: all 0.3s ease;
    margin: 5px;
}

.city-marker-inner:hover {
    transform: scale(1.3);
    background: #27391f;
}

.city-cards-section {
    padding: 40px 56px;
    animation: slideUp 0.6s ease;
}
.city-cards-section.is-open .active-city-card { animation: slideUp 0.5s ease; }

.luxury-city-marker { transition: transform .25s ease; }
.luxury-city-marker.marker-hover { transform: scale(1.25); }
.city-marker-inner { transition: transform .25s ease, background .25s ease; }

.thumbnail-card { opacity:0; transform:translateY(16px); transition: opacity .5s ease, transform .5s ease, box-shadow .3s ease; }
.thumbnail-card.in-view { opacity:1; transform:translateY(0); }

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

.active-city-card {
    background: #ffffff;
    border: 0.5px solid #ddd4cc;
    margin-bottom: 40px;
    position: relative;
    box-shadow: 0 20px 40px rgba(0,0,0,0.06);
}

.city-card-close {
    position: absolute;
    top: 16px;
    right: 20px;
    font-size: 28px;
    cursor: pointer;
    color: #9b8e7e;
    z-index: 10;
    transition: all 0.3s;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ebe6e1;
}

.city-card-close:hover {
    background: #27391f;
    color: #ebe6e1;
}

.city-card-grid {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
}

.city-card-image {
    position: relative;
    height: 360px;
    overflow: hidden;
}

.city-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 8s ease;
}

.city-card:hover .city-card-image img {
    transform: scale(1.05);
}

.city-image-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(39,57,31,0.4), transparent);
}

.city-travel-time {
    position: absolute;
    bottom: 20px;
    left: 20px;
    background: rgba(39,57,31,0.9);
    backdrop-filter: blur(8px);
    color: #ebe6e1;
    padding: 10px 20px;
    font-family: 'Hypatia', 'Georgia', serif;
    font-size: 12px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    border: 0.5px solid rgba(235,230,225,0.2);
}

.time-icon {
    margin-right: 8px;
}

.city-card-content {
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.city-card-header {
    position: relative;
    margin-bottom: 20px;
}

.city-card-content h2 {
    font-family: 'Bauer Bodoni', 'Times New Roman', serif !important;
    font-size: 42px;
    color: #27391f;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin: 0;
}

.city-highlight {
    width: 60px;
    height: 3px;
    background: #cbdba7;
    margin-top: 16px;
}

.city-card-content p {
    font-family: 'Hypatia', 'Georgia', serif !important;
    font-size: 17px;
    line-height: 1.8;
    color: #5a5a56;
    font-weight: 300;
    margin-bottom: 30px;
}

.city-card-actions {
    display: flex;
    gap: 16px;
}

.city-btn {
    padding: 14px 28px;
    font-family: 'Hypatia', 'Georgia', serif;
    font-size: 11px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 8px;
}

.city-btn.primary {
    background: #27391f;
    color: #ebe6e1;
}

.city-btn.primary:hover {
    background: #1a2714;
    transform: translateY(-2px);
}

.city-btn.secondary {
    background: transparent;
    color: #27391f;
    border: 0.5px solid #27391f;
}

.city-btn.secondary:hover {
    background: #27391f;
    color: #ebe6e1;
}

.cities-thumbnail-grid {
    margin-top: 20px;
}

.thumbnail-header {
    text-align: center;
    margin-bottom: 30px;
}

.thumbnail-header h3 {
    font-family: 'Bauer Bodoni', 'Times New Roman', serif !important;
    font-size: 28px;
    color: #27391f;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 8px;
}

.thumbnail-header p {
    font-family: 'Hypatia', 'Georgia', serif !important;
    font-size: 15px;
    color: #9b8e7e;
    font-style: italic;
}

.thumbnail-grid {
    display: grid;
    grid-template-columns: repeat(9, 1fr);
    gap: 8px;
}

.thumbnail-card {
    cursor: pointer;
    position: relative;
    transition: all 0.3s ease;
    border: 0.5px solid transparent;
}

.thumbnail-card:hover {
    transform: translateY(-6px);
}

.thumbnail-card.active {
    border: 0.5px solid #27391f;
}

.thumbnail-card.active .thumbnail-highlight {
    opacity: 1;
}

.thumbnail-image {
    position: relative;
    height: 100px;
    overflow: hidden;
}

.thumbnail-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.thumbnail-card:hover .thumbnail-image img {
    transform: scale(1.08);
}

.thumbnail-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(39,57,31,0.7), transparent);
    opacity: 0;
    transition: opacity 0.3s;
}

.thumbnail-card:hover .thumbnail-overlay {
    opacity: 1;
}

.thumbnail-icon {
    position: absolute;
    top: 8px;
    left: 8px;
    font-size: 16px;
    background: rgba(235,230,225,0.9);
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.thumbnail-info {
    padding: 10px 8px;
    background: #ffffff;
}

.thumbnail-info h4 {
    font-family: 'Bauer Bodoni', 'Times New Roman', serif !important;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #27391f;
    margin: 0 0 4px;
}

.thumbnail-time {
    font-family: 'Hypatia', 'Georgia', serif;
    font-size: 9px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #9b8e7e;
}

.thumbnail-highlight {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: #cbdba7;
    opacity: 0;
    transition: opacity 0.3s;
}

/* ============================================ */
/* RESPONSIVE                                  */
/* ============================================ */
@media(max-width:1200px) {
    .thumbnail-grid {
        grid-template-columns: repeat(5, 1fr);
    }
}

@media(max-width:1024px){
  nav#site-nav{padding:0 24px;}
  .nav-links{display:none;}
  .hamburger{display:flex;}
  .hero-content{padding:0 24px;}
  .h-title{font-size:44px;}
  .h2-sub{font-size:22px;}
  .story{grid-template-columns:1fr;}
  .story-img{min-height:320px;}
  .story-text{padding:48px 28px;}
  .venues-wrap,.section-page{padding:48px 24px;}
  .venues-grid{grid-template-columns:1fr 1fr;}
  .sp-grid{grid-template-columns:1fr;gap:42px;}
  .sp-img{height:350px;}
  /* Always text first, image second on mobile/tablet — for all variants */
  .sp-text{order:1 !important;}
  .sp-img{order:2 !important;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px;}
  footer{padding:48px 24px 32px;}
  .act-grid{grid-template-columns:1fr 1fr;}
  .luxury-map-wrapper { margin: 20px 24px; }
  .city-card-grid { grid-template-columns: 1fr; }
  .city-cards-section { padding: 30px 24px; }
  .thumbnail-grid { grid-template-columns: repeat(3, 1fr); }
  .luxury-title { font-size: 38px; }
}

/* ============================================ */
/* iPad Portrait (768px)                        */
/* ============================================ */
@media(max-width:768px){
  .venues-grid{grid-template-columns:1fr 1fr;}
  .act-grid{grid-template-columns:1fr 1fr;}
  .sp-grid{gap:28px;}
  .big-title{font-size:34px;}
  .section-page{padding:40px 20px;}
  .thumbnail-grid{grid-template-columns:repeat(2,1fr);}
}

/* ============================================ */
/* Touch devices - always show overlays visible */
/* ============================================ */
@media(hover:none){
  .act-c .a-bar{width:48px;}
  .act-c img{filter:brightness(.75);}
  .act-c .a-desc{max-height:65px;}
  .act-c .a-pill{opacity:1;transform:translateY(0);}
  .venue .v-content{transform:translateY(0);}
  .venue .v-desc{max-height:85px;}
  .venue .v-cta{opacity:1;}
  .venue img{filter:brightness(.82);}
}

/* ============================================ */
/* Small phones (560px)                         */
/* ============================================ */
@media(max-width:560px){
  .h-title{font-size:30px;}
  .h2-sub{font-size:18px;}
  .venues-grid,.act-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .h-actions{flex-direction:column;gap:12px;}
  .big-title{font-size:28px;}
  .thumbnail-grid{grid-template-columns:repeat(2,1fr);}
  .city-card-content{padding:24px;}
  .city-card-content h2{font-size:28px;}
  .city-card-actions{flex-direction:column;}
  .section-page{padding:36px 16px;}
  .story-text{padding:36px 20px;}
  .sp-img{height:260px;}
  .eyebrow{font-size:9px;}
}
/* ============================================ */
/* HERO — brighter text (no overlay)            */
/* ============================================ */
.h-title { text-shadow: 0 2px 24px rgba(0,0,0,0.5), 0 1px 6px rgba(0,0,0,0.35); color:#fff; }
.h-eyebrow { text-shadow: 0 1px 8px rgba(0,0,0,0.4); }
.h-sub { color:rgba(255,255,255,0.92); text-shadow:0 1px 8px rgba(0,0,0,0.4); }

/* ============================================ */
/* VENUE COMING SOON (4th card)                 */
/* ============================================ */
.venue--coming-soon { background:var(--dark-green); cursor:default; display:flex; align-items:center; justify-content:center; }
.venue--coming-soon img { display:none; }
.v-coming-soon-inner { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:40px 32px; height:100%; width:100%; }
.vcs-line { width:40px; height:0.5px; background:rgba(203,219,167,0.4); margin:0 auto 28px; }
.vcs-line:last-child { margin:28px auto 0; }
.vcs-eyebrow { font-size:9px; letter-spacing:0.28em; text-transform:uppercase; color:var(--accent); margin-bottom:16px; }
.vcs-title { font-family:'Bauer Bodoni','Times New Roman',serif; font-size:36px; color:var(--cream); line-height:1.1; margin-bottom:16px; font-weight:400; }
.vcs-desc { font-size:12px; color:rgba(235,230,225,0.55); line-height:1.8; font-weight:300; max-width:200px; }

/* ============================================ */
/* LOCANDA COMING SOON SECTION                  */
/* ============================================ */
.locanda-coming-soon-section { background:var(--cream); padding:80px 56px; }
.lcs-wrap { display:flex; justify-content:center; align-items:center; }
.lcs-inner { max-width:640px; width:100%; text-align:center; }
.lcs-top-line, .lcs-bottom-line { width:48px; height:0.5px; background:#c8c2bb; margin:0 auto 32px; }
.lcs-bottom-line { margin:32px auto 0; }
.lcs-title { font-family:'Bauer Bodoni','Times New Roman',serif; font-size:52px; color:var(--dark-green); line-height:1.08; margin-bottom:24px; font-weight:400; }
.lcs-title em { font-style:italic; }
.lcs-divider { width:48px; height:0.5px; background:#c8c2bb; margin:24px auto; }
.lcs-badge { display:inline-flex; align-items:center; gap:10px; background:rgba(39,57,31,0.07); border:0.5px solid rgba(39,57,31,0.18); padding:8px 20px; margin-bottom:28px; }
.lcs-badge-dot { width:6px; height:6px; border-radius:50%; background:var(--dark-green); animation:badgePulse 2s ease-in-out infinite; }
@keyframes badgePulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.5;transform:scale(0.8)} }
.lcs-badge-text { font-size:9px; letter-spacing:0.22em; text-transform:uppercase; color:var(--dark-green); }
.lcs-body { font-size:14px; color:var(--text-mid); line-height:1.9; font-weight:300; margin:0 auto 36px; max-width:500px; }
.lcs-notify-label { font-size:10px; letter-spacing:0.16em; text-transform:uppercase; color:var(--text-muted); margin-bottom:12px; }
.lcs-notify-row { display:flex; max-width:400px; margin:0 auto; }
.lcs-input { flex:1; border:0.5px solid #c8c2bb; background:transparent; padding:13px 18px; font-size:13px; color:var(--body-dark); outline:none; transition:border-color 0.3s; }
.lcs-input:focus { border-color:var(--dark-green); }
.lcs-input::placeholder { color:#b0a89f; }
.lcs-btn { background:var(--dark-green); color:var(--cream); border:none; padding:13px 28px; font-size:10px; letter-spacing:0.18em; text-transform:uppercase; cursor:pointer; transition:background 0.3s,transform 0.2s; white-space:nowrap; }
.lcs-btn:hover { background:var(--deep-green); transform:translateY(-1px); }
@media(max-width:900px){ .locanda-coming-soon-section{padding:56px 24px;} .lcs-title{font-size:38px;} }
@media(max-width:560px){ .lcs-notify-row{flex-direction:column;} .lcs-title{font-size:32px;} }

/* HERO — text shadow since no overlay */
.h-title { color:#fff; text-shadow:0 2px 24px rgba(0,0,0,0.5),0 1px 6px rgba(0,0,0,0.35); }
.h-eyebrow { text-shadow:0 1px 8px rgba(0,0,0,0.4); }
.h-sub { color:rgba(255,255,255,0.92); text-shadow:0 1px 8px rgba(0,0,0,0.4); }

/* VENUE COMING SOON */
.venue--coming-soon { background:var(--dark-green); cursor:default; display:flex; align-items:center; justify-content:center; }
.venue--coming-soon img { display:none; }
.v-coming-soon-inner { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:40px 32px; height:100%; width:100%; }
.vcs-line { width:40px; height:0.5px; background:rgba(203,219,167,0.4); margin:0 auto 28px; }
.vcs-line:last-child { margin:28px auto 0; }
.vcs-eyebrow { font-size:9px; letter-spacing:0.28em; text-transform:uppercase; color:var(--accent); margin-bottom:16px; }
.vcs-title { font-family:'Bauer Bodoni','Times New Roman',serif; font-size:36px; color:var(--cream); line-height:1.1; margin-bottom:16px; font-weight:400; }
.vcs-desc { font-size:12px; color:rgba(235,230,225,0.55); line-height:1.8; font-weight:300; max-width:200px; }

/* LOCANDA COMING SOON SECTION */
.locanda-coming-soon-section { background:var(--cream); padding:80px 56px; }
.lcs-wrap { display:flex; justify-content:center; align-items:center; }
.lcs-inner { max-width:640px; width:100%; text-align:center; }
.lcs-top-line,.lcs-bottom-line { width:48px; height:0.5px; background:#c8c2bb; margin:0 auto 32px; }
.lcs-bottom-line { margin:32px auto 0; }
.lcs-title { font-family:'Bauer Bodoni','Times New Roman',serif; font-size:52px; color:var(--dark-green); line-height:1.08; margin-bottom:24px; font-weight:400; }
.lcs-title em { font-style:italic; }
.lcs-divider { width:48px; height:0.5px; background:#c8c2bb; margin:24px auto; }
.lcs-badge { display:inline-flex; align-items:center; gap:10px; background:rgba(39,57,31,0.07); border:0.5px solid rgba(39,57,31,0.18); padding:8px 20px; margin-bottom:28px; }
.lcs-badge-dot { width:6px; height:6px; border-radius:50%; background:var(--dark-green); animation:badgePulse 2s ease-in-out infinite; }
@keyframes badgePulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.5;transform:scale(0.8)} }
.lcs-badge-text { font-size:9px; letter-spacing:0.22em; text-transform:uppercase; color:var(--dark-green); }
.lcs-body { font-size:14px; color:var(--text-mid); line-height:1.9; font-weight:300; margin:0 auto 36px; max-width:500px; }
.lcs-notify-label { font-size:10px; letter-spacing:0.16em; text-transform:uppercase; color:var(--text-muted); margin-bottom:12px; }
.lcs-notify-row { display:flex; max-width:400px; margin:0 auto; }
.lcs-input { flex:1; border:0.5px solid #c8c2bb; background:transparent; padding:13px 18px; font-size:13px; color:var(--body-dark); outline:none; transition:border-color 0.3s; }
.lcs-input:focus { border-color:var(--dark-green); }
.lcs-input::placeholder { color:#b0a89f; }
.lcs-btn { background:var(--dark-green); color:var(--cream); border:none; padding:13px 28px; font-size:10px; letter-spacing:0.18em; text-transform:uppercase; cursor:pointer; transition:background 0.3s,transform 0.2s; white-space:nowrap; }
.lcs-btn:hover { background:var(--deep-green); transform:translateY(-1px); }
@media(max-width:900px){ .locanda-coming-soon-section{padding:56px 24px;} .lcs-title{font-size:38px;} }
@media(max-width:560px){ .lcs-notify-row{flex-direction:column;} .lcs-title{font-size:32px;} }
/* HERO OVERLAY + TEXT FIX */
.hero { position: relative; }
.hero-bg::after {
  content: '';
  position: absolute;
  inset: 0;
 background: linear-gradient(to right, rgba(0,0,0,0.42) 0%, rgba(0,0,0,0.28) 50%, rgba(0,0,0,0.10) 100%);
  z-index: 1;
}
.hero-content {
  position: relative;
  z-index: 2;
}
.h2-sub {
  color: #5a5650;
}
.h-scroll, .scroll-txt, .h-badge-num {
  color: #ffffff !important;
  position: relative;
  z-index: 2;
}
.nav-links a { color: #27391f !important; }
.nav-logo { color: #27391f !important; }
nav#site-nav .lang-btn { color: #27391f !important; }
nav#site-nav .lang-sep { color: rgba(0,0,0,0.3) !important; }
.hamburger span { background: #27391f !important; }
/* NAV SCROLLED STATE (background stays constant, colors match) */
nav#site-nav.scrolled .nav-links a { color: #27391f !important; }
nav#site-nav.scrolled .nav-logo { color: #27391f !important; }
nav#site-nav.scrolled .lang-btn { color: #27391f !important; }
nav#site-nav.scrolled .lang-sep { color: rgba(0,0,0,0.3) !important; }
nav#site-nav.scrolled .hamburger span { background: #27391f !important; }