*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    :root {
      --cream: #F8F1E4; --parchment: #EFE3C8; --terracotta: #B5451B;
      --terracotta-light: #D4622D; --olive: #3D4A2E; --olive-dark: #2A3320;
      --gold: #C9A84C; --text-dark: #1E120A; --text-mid: #4A3728;
      --aegean: #182A46; --white: #FDFAF5;
    }
    html { scroll-behavior: smooth; }
    body { font-family: 'Lato','Helvetica Neue',sans-serif; background: var(--cream); color: var(--text-dark); overflow-x: hidden; }

    /* Greek font overrides */
    html[lang="el"] .sec-title, html[lang="el"] .mc-name, html[lang="el"] .about-title,
    html[lang="el"] .loc-title, html[lang="el"] .reviews-title { font-family: 'Noto Serif','Georgia',serif; letter-spacing: 0; }
    html[lang="el"] .sec-body, html[lang="el"] .hero-tagline, html[lang="el"] .strip-val,
    html[lang="el"] .sec-body, html[lang="el"] .menu-note, html[lang="el"] .rv-text,
    html[lang="el"] .loc-val, html[lang="el"] .mc-desc, html[lang="el"] .av-quote,
    html[lang="el"] .about_body { font-family: 'Noto Serif','Georgia',serif; }

    /* ─── NAV ─── */
    #nav {
      position:fixed; top:0; width:100%; z-index:1000;
      padding:1.2rem 3rem;
      display:flex; justify-content:space-between; align-items:center;
      background:linear-gradient(to bottom,rgba(0,0,0,0.52) 0%,transparent 100%);
      transition:background 0.4s,box-shadow 0.4s,padding 0.4s;
    }
    #nav.scrolled {
      background:var(--olive-dark);
      box-shadow:0 2px 24px rgba(0,0,0,0.4);
      padding:0.85rem 3rem;
    }
    .nav-brand { font-family:'Cinzel',serif; color:var(--white); font-size:1rem; letter-spacing:0.22em; text-decoration:none; text-transform:uppercase; flex-shrink:0; display:flex; align-items:center; gap:0.65rem; }
    .nav-right { display:flex; align-items:center; gap:1.2rem; }
    .nav-links { display:flex; gap:1.6rem; align-items:center; }
    .nav-links a { color:rgba(255,255,255,0.78); text-decoration:none; font-size:0.7rem; letter-spacing:0.14em; text-transform:uppercase; white-space:nowrap; transition:color 0.2s; }
    .nav-links a:hover { color:var(--gold); }
    .nav-cta { background:var(--terracotta) !important; color:var(--white) !important; padding:0.42rem 1rem !important; border-radius:2px; transition:background 0.2s !important; }
    .nav-cta:hover { background:var(--terracotta-light) !important; }

    /* ─── HAMBURGER ─── */
    .hamburger {
      display:none; flex-direction:column; justify-content:center; gap:5px;
      background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.22);
      border-radius:3px; cursor:pointer; padding:8px 9px; width:38px; height:38px; flex-shrink:0;
    }
    .hamburger span {
      display:block; width:18px; height:1.5px;
      background:rgba(255,255,255,0.9); border-radius:2px;
      transition:transform 0.3s,opacity 0.3s; transform-origin:center;
    }
    .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 {
      display:none; /* completely off on desktop */
      position:fixed; inset:0; background:var(--olive-dark); z-index:999;
      flex-direction:column; align-items:center; justify-content:center;
      gap:2rem; padding:2rem;
    }
    .mobile-menu > a {
      font-family:'Cinzel',serif; font-size:1.35rem; letter-spacing:0.2em;
      color:rgba(255,255,255,0.82); text-decoration:none;
      text-transform:uppercase; transition:color 0.2s;
    }
    .mobile-menu > a:hover { color:var(--gold); }
    .mobile-cta {
      background:var(--terracotta) !important; color:var(--white) !important;
      padding:0.75rem 2rem; border-radius:2px; font-size:0.95rem !important;
    }
    .mobile-cta:hover { background:var(--terracotta-light) !important; }
    .mobile-divider { width:40px; height:1px; background:rgba(255,255,255,0.12); }
    .mobile-langs { display:flex; gap:0.6rem; flex-wrap:wrap; justify-content:center; }
    .mobile-langs button {
      background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.16);
      border-radius:3px; color:rgba(255,255,255,0.65);
      padding:0.38rem 0.65rem; font-family:'Lato',sans-serif;
      font-size:0.72rem; cursor:pointer; letter-spacing:0.08em;
      transition:background 0.15s,color 0.15s,border-color 0.15s;
    }
    .mobile-langs button:hover, .mobile-langs button.active {
      background:rgba(201,168,76,0.15); color:var(--gold);
      border-color:rgba(201,168,76,0.38);
    }

    /* Language Switcher */
    .lang-switcher { position:relative; }
    .lang-toggle {
      display:flex; align-items:center; gap:0.45rem;
      background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.25);
      border-radius:3px; padding:0.38rem 0.75rem;
      color:rgba(255,255,255,0.88); cursor:pointer;
      font-family:'Lato',sans-serif; font-size:0.72rem; letter-spacing:0.1em;
      transition:background 0.2s; white-space:nowrap;
    }
    .lang-toggle:hover { background:rgba(255,255,255,0.18); }
    .lang-toggle .arrow { font-size:0.55rem; opacity:0.7; transition:transform 0.2s; }
    .lang-toggle.open .arrow { transform:rotate(180deg); }
    .lang-menu {
      position:absolute; top:calc(100% + 0.5rem); right:0;
      background:var(--olive-dark); border:1px solid rgba(255,255,255,0.12);
      border-radius:3px; overflow:hidden; min-width:150px;
      box-shadow:0 8px 28px rgba(0,0,0,0.45); z-index:200;
      opacity:0; transform:translateY(-6px); pointer-events:none;
      transition:opacity 0.18s, transform 0.18s;
    }
    .lang-menu.open { opacity:1; transform:translateY(0); pointer-events:all; }
    .lang-menu button {
      display:flex; align-items:center; gap:0.7rem; width:100%;
      padding:0.65rem 1rem; background:none; border:none; border-bottom:1px solid rgba(255,255,255,0.06);
      color:rgba(255,255,255,0.68); font-family:'Lato',sans-serif;
      font-size:0.78rem; cursor:pointer; text-align:left; transition:background 0.15s,color 0.15s;
    }
    .lang-menu button:last-child { border-bottom:none; }
    .lang-menu button:hover { background:rgba(255,255,255,0.08); color:var(--white); }
    .lang-menu button.active { color:var(--gold); background:rgba(201,168,76,0.1); }

    /* ─── HERO ─── */
    .hero { position:relative; min-height:100vh; display:flex; align-items:center; justify-content:center; background:linear-gradient(150deg,#141f0d 0%,#243018 30%,#3a4929 60%,#1c2714 100%); overflow:hidden; }
    .hero::after { content:''; position:absolute; width:70vmax; height:70vmax; border-radius:50%; background:radial-gradient(circle,rgba(181,69,27,0.13) 0%,transparent 68%); top:50%; left:50%; transform:translate(-50%,-50%); pointer-events:none; }
    .hero-pattern { position:absolute; inset:0; background-image:radial-gradient(circle at 20% 80%,rgba(201,168,76,0.06) 0%,transparent 40%),radial-gradient(circle at 80% 20%,rgba(61,74,46,0.4) 0%,transparent 40%); pointer-events:none; }
    .hero-frame { position:absolute; inset:2.5rem; border:1px solid rgba(201,168,76,0.12); pointer-events:none; }
    .hero-frame::before,.hero-frame::after { content:'✦'; position:absolute; color:rgba(201,168,76,0.3); font-size:0.7rem; }
    .hero-frame::before { top:-0.5rem; left:1.5rem; } .hero-frame::after { bottom:-0.5rem; right:1.5rem; }
    .hero-content { position:relative; z-index:2; text-align:center; padding:2rem; max-width:860px; }
    .hero-est { font-family:'Cinzel',serif; font-size:0.7rem; letter-spacing:0.45em; color:var(--gold); text-transform:uppercase; margin-bottom:2rem; opacity:0; animation:fadeUp 0.9s 0.62s forwards; }
    .hero-logo-icon { margin-bottom:1.2rem; opacity:0; animation:fadeUp 0.9s 0.08s forwards; }
    .hero-eyebrow { display:inline-block; font-size:0.65rem; font-weight:700; letter-spacing:0.38em; text-transform:uppercase; color:var(--gold); margin-bottom:1.8rem; opacity:0; animation:fadeDown 0.9s 0.2s forwards; }
    .hero-title { font-family:'Cinzel',serif; font-size:clamp(3.5rem,10vw,8rem); font-weight:700; color:var(--white); line-height:1; letter-spacing:0.08em; margin-bottom:0.4rem; opacity:0; animation:fadeUp 0.9s 0.4s forwards; }
    .hero-greek { font-family:'Cormorant Garamond',serif; font-size:clamp(1rem,3vw,1.7rem); font-style:italic; color:rgba(255,255,255,0.5); letter-spacing:0.12em; margin-bottom:2.5rem; opacity:0; animation:fadeUp 0.9s 0.55s forwards; }
    .hero-rule { width:80px; height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); margin:0 auto 2rem; opacity:0; animation:fadeUp 0.9s 0.65s forwards; }
    .hero-tagline { font-family:'Cormorant Garamond',serif; font-size:clamp(1.1rem,2.5vw,1.45rem); font-weight:300; color:rgba(255,255,255,0.72); line-height:1.75; max-width:560px; margin:0 auto 2rem; opacity:0; animation:fadeUp 0.9s 0.75s forwards; }
    .rating-pill { display:inline-flex; align-items:center; gap:0.8rem; background:rgba(255,255,255,0.07); border:1px solid rgba(201,168,76,0.3); border-radius:50px; padding:0.6rem 1.6rem; margin-bottom:2.5rem; opacity:0; animation:fadeUp 0.9s 0.85s forwards; }
    .pill-stars { color:var(--gold); font-size:1rem; letter-spacing:0.04em; }
    .pill-sep { color:rgba(255,255,255,0.2); }
    .pill-text { color:rgba(255,255,255,0.78); font-size:0.8rem; letter-spacing:0.1em; }
    .hero-ctas { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; opacity:0; animation:fadeUp 0.9s 0.95s forwards; }
    .btn-primary { display:inline-flex; align-items:center; gap:0.6rem; background:var(--terracotta); color:var(--white); text-decoration:none; padding:1rem 2.2rem; border-radius:2px; font-size:0.78rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; transition:background 0.2s,transform 0.2s,box-shadow 0.2s; }
    .btn-primary:hover { background:var(--terracotta-light); transform:translateY(-2px); box-shadow:0 8px 24px rgba(181,69,27,0.35); }
    .btn-ghost { display:inline-flex; align-items:center; gap:0.6rem; background:transparent; color:var(--white); text-decoration:none; padding:1rem 2.2rem; border-radius:2px; border:1px solid rgba(255,255,255,0.38); font-size:0.78rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; transition:background 0.2s,border-color 0.2s,transform 0.2s; }
    .btn-ghost:hover { background:rgba(255,255,255,0.09); border-color:rgba(255,255,255,0.7); transform:translateY(-2px); }
    .scroll-cue { position:absolute; bottom:2.5rem; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:0.5rem; color:rgba(255,255,255,0.3); font-size:0.6rem; letter-spacing:0.25em; text-transform:uppercase; z-index:2; animation:bobble 2.5s ease-in-out infinite; }
    @keyframes bobble { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(7px)} }
    @keyframes fadeUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
    @keyframes fadeDown { from{opacity:0;transform:translateY(-12px)} to{opacity:1;transform:translateY(0)} }

    /* ─── STRIP ─── */
    .strip { background:var(--terracotta); padding:2.2rem 2rem; }
    .strip-inner { max-width:1100px; margin:0 auto; display:flex; justify-content:space-around; align-items:center; flex-wrap:wrap; gap:1.5rem; }
    .strip-item { display:flex; align-items:center; gap:0.9rem; color:var(--white); }
    .strip-icon { font-size:1.4rem; opacity:0.85; }
    .strip-label { font-size:0.62rem; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; opacity:0.65; margin-bottom:0.2rem; }
    .strip-val { font-family:'Cormorant Garamond',serif; font-size:1.1rem; font-weight:600; }

    /* ─── SHARED ─── */
    section { padding:7rem 2rem; }
    .wrap { max-width:1100px; margin:0 auto; }
    .sec-label { font-size:0.62rem; font-weight:700; letter-spacing:0.38em; text-transform:uppercase; color:var(--terracotta); margin-bottom:0.75rem; }
    .sec-label.gold { color:rgba(201,168,76,0.85); }
    .sec-title { font-family:'Cinzel',serif; font-size:clamp(1.7rem,4vw,2.7rem); font-weight:600; color:var(--olive-dark); line-height:1.2; margin-bottom:1rem; }
    .sec-title.light { color:var(--white); }
    .sec-body { font-family:'Cormorant Garamond',serif; font-size:1.18rem; line-height:1.82; color:var(--text-mid); max-width:620px; }
    .sec-body.light { color:rgba(255,255,255,0.72); }

    /* ─── ABOUT ─── */
    .about { background:var(--white); }
    .about-grid { display:grid; grid-template-columns:1fr 1fr; gap:5.5rem; align-items:center; }
    .stats-row { display:flex; gap:1.2rem; flex-wrap:wrap; margin-top:2.5rem; }
    .stat { background:var(--parchment); padding:1.2rem 1.5rem; border-radius:3px; border-top:3px solid var(--terracotta); }
    .stat-num { font-family:'Cinzel',serif; font-size:1.6rem; color:var(--terracotta); }
    .stat-lbl { font-size:0.7rem; color:var(--text-mid); letter-spacing:0.07em; margin-top:0.2rem; }
    .badges { display:flex; gap:0.6rem; flex-wrap:wrap; margin-top:1.8rem; }
    .badge { display:inline-flex; align-items:center; gap:0.4rem; background:rgba(61,74,46,0.08); border:1px solid rgba(61,74,46,0.18); border-radius:50px; padding:0.4rem 1.1rem; color:var(--olive); font-size:0.75rem; letter-spacing:0.06em; }
    .about-visual-box { background:var(--olive-dark); border-radius:4px; aspect-ratio:4/5; position:relative; overflow:hidden; }
    .about-visual-inner { position:absolute; inset:0; background:linear-gradient(160deg,rgba(42,51,32,0.92),rgba(20,32,14,0.98)); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:3rem; }
    .av-num { font-family:'Cinzel',serif; font-size:5.5rem; font-weight:700; color:var(--gold); line-height:1; }
    .av-label { font-family:'Cormorant Garamond',serif; font-size:0.85rem; letter-spacing:0.2em; text-transform:uppercase; color:rgba(255,255,255,0.5); margin-top:0.5rem; margin-bottom:2rem; }
    .av-rule { width:40px; height:1px; background:rgba(201,168,76,0.35); margin:0 auto 2rem; }
    .av-quote { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.05rem; color:rgba(255,255,255,0.55); line-height:1.75; }
    .about-accent { position:absolute; bottom:-1.5rem; right:-1.5rem; width:48%; height:48%; background:var(--terracotta); border-radius:4px; z-index:-1; }

    /* ─── MENU ─── */
    .menu-sec { background:var(--olive-dark); position:relative; }
    .menu-sec::before { content:''; position:absolute; inset:0; pointer-events:none; z-index:0; background-image:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 20.5V18h-1v2.5L17.5 22H16v1h1.5L19 24.5V27h1v-2.5L21.5 23H23v-1h-1.5L20 20.5z' fill='%23ffffff' fill-opacity='0.025'/%3E%3C/svg%3E"); }
    .menu-head { text-align:center; margin-bottom:2.5rem; }
    .menu-tabs { display:flex; gap:0.5rem; flex-wrap:wrap; justify-content:center; margin-bottom:3rem; position:relative; z-index:1; }
    .menu-tab { background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.14); color:rgba(255,255,255,0.58); padding:0.62rem 1.3rem; border-radius:2px; font-family:'Lato',sans-serif; font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; font-weight:700; cursor:pointer; transition:all 0.2s; }
    .menu-tab:hover { background:rgba(255,255,255,0.1); color:rgba(255,255,255,0.9); }
    .menu-tab.active { background:var(--terracotta); border-color:var(--terracotta); color:var(--white); }
    .menu-panel { display:none; position:relative; z-index:1; }
    .menu-panel.active { display:block; animation:fadeUp 0.35s ease both; }
    .menu-items { max-width:700px; margin:0 auto; position:relative; z-index:1; }
    .menu-item { display:flex; align-items:baseline; gap:0.75rem; padding:0.88rem 0; border-bottom:1px solid rgba(255,255,255,0.07); }
    .menu-item:last-child { border-bottom:none; }
    .mi-name { font-family:'Cormorant Garamond',serif; font-size:1.06rem; color:rgba(255,255,255,0.86); flex-shrink:0; max-width:58%; line-height:1.35; }
    .mi-greek { display:block; font-size:0.87rem; color:rgba(255,255,255,0.4); margin-top:0.12rem; }
    .mi-dots { flex:1; border-bottom:1px dotted rgba(255,255,255,0.14); margin-bottom:4px; min-width:16px; }
    .mi-price { font-family:'Cinzel',serif; font-size:0.9rem; color:var(--gold); white-space:nowrap; flex-shrink:0; }
    .menu-cat-title { font-family:'Cinzel',serif; font-size:0.68rem; letter-spacing:0.22em; text-transform:uppercase; color:rgba(201,168,76,0.7); margin:2.5rem 0 0.8rem; padding-bottom:0.55rem; border-bottom:1px solid rgba(201,168,76,0.18); }
    .menu-cat-title:first-child { margin-top:0; }
    .menu-specials { text-align:center; margin-top:2.5rem; font-family:'Cormorant Garamond',serif; font-style:italic; color:rgba(255,255,255,0.38); font-size:1rem; }
    .menu-note { text-align:center; font-family:'Cormorant Garamond',serif; font-style:italic; font-size:0.9rem; color:rgba(255,255,255,0.28); margin-top:3rem; }

    /* ─── REVIEWS ─── */
    .reviews-sec { background:var(--parchment); }
    .reviews-head { text-align:center; margin-bottom:4rem; }
    .big-rating-row { display:flex; align-items:center; justify-content:center; gap:1.2rem; margin-bottom:1rem; }
    .big-num { font-family:'Cinzel',serif; font-size:4.5rem; font-weight:700; color:var(--terracotta); line-height:1; }
    .big-stars { color:var(--gold); font-size:1.3rem; margin-bottom:0.2rem; }
    .big-count { font-size:0.7rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--text-mid); opacity:0.7; }
    .reviews-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1.5rem; }
    .rv-card { background:var(--white); border-radius:3px; padding:2.2rem; box-shadow:0 4px 24px rgba(0,0,0,0.06); position:relative; }
    .rv-card::before { content:'\201C'; font-family:'Cormorant Garamond',serif; font-size:6rem; color:var(--terracotta); opacity:0.12; position:absolute; top:0.2rem; left:1.2rem; line-height:1; pointer-events:none; }
    .rv-stars { color:var(--gold); margin-bottom:1.1rem; letter-spacing:0.06em; }
    .rv-text { font-family:'Cormorant Garamond',serif; font-size:1.1rem; line-height:1.75; color:var(--text-mid); margin-bottom:1.4rem; }
    .rv-name { font-size:0.72rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--olive); }
    .rv-meta { font-size:0.72rem; color:rgba(74,55,40,0.45); margin-top:0.25rem; }
    .rv-origin { font-size:0.65rem; color:rgba(74,55,40,0.35); margin-top:0.4rem; font-style:italic; }

    /* ─── LOCATION ─── */
    .loc-sec { background:var(--aegean); }
    .loc-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
    .loc-item { display:flex; gap:1.2rem; align-items:flex-start; margin-bottom:2.2rem; }
    .loc-icon { font-size:1.2rem; margin-top:0.2rem; flex-shrink:0; }
    .loc-lbl { font-size:0.62rem; font-weight:700; letter-spacing:0.28em; text-transform:uppercase; color:var(--gold); margin-bottom:0.35rem; }
    .loc-val { font-family:'Cormorant Garamond',serif; font-size:1.15rem; color:rgba(255,255,255,0.82); line-height:1.55; }
    .loc-val a { color:var(--gold); text-decoration:none; }
    .loc-val a:hover { text-decoration:underline; }
    .loc-ctas { display:flex; gap:1rem; flex-wrap:wrap; margin-top:2.5rem; }
    .map-tile { background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.1); border-radius:4px; aspect-ratio:1; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:2.5rem; gap:1.5rem; }
    .map-tile-icon { font-size:3.5rem; }
    .map-tile-code { font-family:'Cinzel',serif; font-size:0.85rem; letter-spacing:0.18em; color:var(--gold); margin-bottom:0.3rem; }
    .map-tile-addr { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1rem; color:rgba(255,255,255,0.5); line-height:1.6; }

    /* ─── FOOTER ─── */
    footer { background:var(--olive-dark); padding:3.5rem 2rem; text-align:center; }
    .footer-logo { font-family:'Cinzel',serif; color:var(--white); font-size:1.1rem; letter-spacing:0.16em; margin-bottom:0.4rem; }
    .footer-sub { font-family:'Cormorant Garamond',serif; font-style:italic; color:rgba(255,255,255,0.35); font-size:1rem; margin-bottom:1.8rem; }
    .footer-nav { display:flex; justify-content:center; gap:2rem; flex-wrap:wrap; margin-bottom:2rem; }
    .footer-nav a { color:rgba(255,255,255,0.45); text-decoration:none; font-size:0.7rem; letter-spacing:0.12em; text-transform:uppercase; transition:color 0.2s; }
    .footer-nav a:hover { color:var(--gold); }
    .footer-copy { font-size:0.72rem; color:rgba(255,255,255,0.22); letter-spacing:0.04em; line-height:1.8; }

    /* ─── FLOAT CTA ─── */
    .float-cta { display:none; position:fixed; bottom:1.5rem; right:1.5rem; z-index:999; }
    .float-cta a { display:inline-flex; align-items:center; gap:0.6rem; background:var(--terracotta); color:var(--white); text-decoration:none; padding:0.9rem 1.5rem; border-radius:50px; font-size:0.82rem; font-weight:700; letter-spacing:0.1em; box-shadow:0 6px 24px rgba(181,69,27,0.5); transition:transform 0.2s,box-shadow 0.2s; }
    .float-cta a:hover { transform:scale(1.05); box-shadow:0 10px 32px rgba(181,69,27,0.6); }

    /* ─── ANIMATIONS ─── */
    .fade-up { opacity:0; transform:translateY(28px); transition:opacity 0.75s ease,transform 0.75s ease; }
    .fade-up.visible { opacity:1; transform:translateY(0); }

    /* ─── GALLERY ─── */
    .gallery-sec { background: var(--parchment); }
    .gallery-grid { display:grid; grid-template-columns:1fr 500px; gap:5rem; align-items:center; }
    .gallery-text .sec-body { margin-bottom:2.5rem; }
    .fb-embed-box {
      border-radius:8px; overflow:hidden;
      box-shadow:0 12px 50px rgba(0,0,0,0.12);
      border:1px solid rgba(0,0,0,0.06);
      background:var(--white);
    }
    .gallery-actions { display:flex; gap:1rem; flex-wrap:wrap; }
    .btn-ghost-dark {
      display:inline-flex; align-items:center; gap:0.6rem;
      background:transparent; color:var(--text-dark);
      text-decoration:none; padding:1rem 2.2rem; border-radius:2px;
      border:1px solid rgba(0,0,0,0.28); font-size:0.78rem; font-weight:700;
      letter-spacing:0.14em; text-transform:uppercase;
      transition:background 0.2s,border-color 0.2s,transform 0.2s;
    }
    .btn-ghost-dark:hover { background:rgba(0,0,0,0.05); border-color:rgba(0,0,0,0.5); transform:translateY(-2px); }
    @media (max-width:1000px) {
      .gallery-grid { grid-template-columns:1fr; gap:3rem; }
      .gallery-actions { justify-content:center; }
      .gallery-text { text-align:center; }
    }

    /* ─── RESPONSIVE ─── */
    @media (max-width:1100px) {
      #nav { padding:1.2rem 2rem; }
      #nav.scrolled { padding:0.85rem 2rem; }
      .nav-links { gap:1.2rem; }
    }
    @media (max-width:900px) {
      #nav { padding:1rem 1.5rem; }
      #nav.scrolled { padding:0.8rem 1.5rem; }
      .nav-links { display:none; }
      .hamburger { display:flex; }
      .float-cta { display:block; }
      .mobile-menu { display:flex; opacity:0; transform:translateY(-16px); pointer-events:none; transition:opacity 0.3s ease,transform 0.3s ease; }
      .mobile-menu.open { opacity:1; transform:translateY(0); pointer-events:all; }
      .about-grid { grid-template-columns:1fr; gap:3rem; }
      .about-accent { display:none; }
      .loc-grid { grid-template-columns:1fr; gap:3rem; }
      section { padding:5rem 1.5rem; }
      .strip-inner { justify-content:center; }
    }
    @media (max-width:480px) {
      .hero-ctas { flex-direction:column; align-items:center; }
      .btn-primary,.btn-ghost { width:100%; justify-content:center; max-width:280px; }
      .stats-row { justify-content:center; }
      .reviews-grid { grid-template-columns:1fr; }
      .rating-pill { flex-wrap:wrap; justify-content:center; }
    }