:root {
  --c-bg:#FAF8F5; --c-bg-cream:#F0EBE4; --c-surface:#FFFFFF;
  --c-primary:#3C2415; --c-primary-h:#4C3020; --c-primary-a:#2C1A10;
  --c-accent:#A07850; --c-accent-light:#C8A880;
  --c-text:#2C2C2C; --c-text-light:#6B6B6B; --c-text-muted:#9A9A9A;
  --c-border:#E8E0D4;
  --c-dark:#140E08; --c-dark-surf:#2A1F18;
  --c-dark-text:#EAE0D4; --c-dark-muted:#988870;
  --s-4:4px; --s-8:8px; --s-12:12px; --s-16:16px; --s-20:20px; --s-24:24px;
  --s-32:32px; --s-40:40px; --s-48:48px; --s-64:64px; --s-80:80px; --s-96:96px; --s-128:128px;
  --f-display:'Cormorant Garamond',Georgia,serif;
  --f-body:'Inter',-apple-system,sans-serif;
  --fs-sm:.875rem; --fs-base:1rem; --fs-lg:1.25rem; --fs-xl:1.5rem;
  --fs-2xl:2rem; --fs-3xl:2.75rem; --fs-4xl:3.5rem; --fs-5xl:4.5rem;
  --r-sm:4px; --r-md:8px; --r-lg:16px; --r-full:9999px;
  --t-fast:150ms ease; --t-base:250ms ease; --t-slow:400ms cubic-bezier(.4,0,.2,1);
  --shadow-sm:0 1px 3px rgba(28,20,16,.06); --shadow-md:0 4px 12px rgba(28,20,16,.08);
  --container:1120px; --header-h:72px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}
body{font-family:var(--f-body);font-size:var(--fs-base);line-height:1.6;color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.nav-open{overflow:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;border:none;background:none;cursor:pointer;color:inherit}
:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}
.container{max-width:var(--container);margin:0 auto;padding:0 var(--s-24)}
h1,h2,h3{font-family:var(--f-display);font-weight:600;line-height:1.15;color:var(--c-text)}

/* HEADER */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--header-h);transition:background var(--t-base),box-shadow var(--t-base)}
.site-header.scrolled{background:rgba(251,247,240,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-sm)}
.header-inner{display:flex;align-items:center;height:var(--header-h);gap:var(--s-32)}
.logo{display:flex;flex-direction:column;line-height:1.1;flex-shrink:0}
.logo-main{font-family:var(--f-display);font-size:var(--fs-xl);font-weight:700;color:var(--c-primary);letter-spacing:-.02em}
.logo-sub{font-family:var(--f-display);font-size:var(--fs-sm);color:var(--c-text-light);letter-spacing:.08em;text-transform:uppercase}
.logo-sub em{font-style:normal;color:var(--c-accent);font-weight:600}
.main-nav{display:flex;align-items:center;gap:var(--s-32);margin-left:auto}
.main-nav a{font-size:var(--fs-sm);font-weight:500;color:var(--c-text-light);letter-spacing:.02em;padding:var(--s-8) 0;position:relative;transition:color var(--t-fast)}
.main-nav a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--c-accent);transition:width var(--t-base)}
.main-nav a:hover{color:var(--c-primary)} .main-nav a:hover::after{width:100%}
.header-cta{display:flex;align-items:center;gap:var(--s-8);font-size:var(--fs-sm);font-weight:600;color:var(--c-primary);padding:var(--s-8) var(--s-16);border:1.5px solid var(--c-primary);border-radius:var(--r-full);transition:background var(--t-fast),color var(--t-fast);white-space:nowrap;min-height:44px}
.header-cta:hover{background:var(--c-primary);color:var(--c-surface)}
.header-cta:active{background:var(--c-primary-a);color:var(--c-surface)}
.menu-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:var(--s-8)}
.menu-toggle span{display:block;width:24px;height:2px;background:var(--c-text);border-radius:1px;transition:transform var(--t-base),opacity var(--t-fast)}
.menu-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle.open span:nth-child(2){opacity:0}
.menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* HERO */
.hero{position:relative;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--c-dark);overflow:hidden}
.hero-pattern{position:absolute;inset:0;opacity:.07;background-image:
  radial-gradient(circle at 20% 50%,rgba(201,169,110,.3) 0%,transparent 50%),
  radial-gradient(circle at 80% 20%,rgba(201,169,110,.2) 0%,transparent 40%),
  radial-gradient(circle at 60% 80%,var(--c-primary) .15,transparent 45%),
  repeating-conic-gradient(from 0deg at 50% 50%,transparent 0deg,rgba(201,169,110,.08) 30deg,transparent 60deg)}
.hero::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:120px;background:linear-gradient(to top,var(--c-bg),transparent);z-index:3}
.hero::before{content:'';position:absolute;inset:0;background:
  radial-gradient(ellipse at 30% 20%,var(--c-primary) .08,transparent 50%),
  radial-gradient(ellipse at 70% 60%,rgba(201,169,110,.12) 0%,transparent 50%),
  radial-gradient(ellipse at 50% 40%,rgba(107,45,45,.25) 0%,transparent 60%),
  linear-gradient(180deg,rgba(28,20,16,.2) 0%,rgba(28,20,16,.85) 100%);z-index:1}
.hero-content{position:relative;z-index:2;text-align:center;padding:var(--s-96) var(--s-24) var(--s-64)}
.hero-year{font-family:var(--f-display);font-size:clamp(6rem,18vw,14rem);font-weight:700;color:rgba(201,169,110,.08);line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-55%);pointer-events:none;user-select:none}
.hero-badge{display:inline-block;font-family:var(--f-body);font-size:var(--fs-sm);font-weight:600;letter-spacing:.25em;color:var(--c-accent);border:1px solid rgba(201,169,110,.4);padding:var(--s-8) var(--s-24);border-radius:var(--r-full);margin-bottom:var(--s-32);backdrop-filter:blur(4px);background:rgba(201,169,110,.06)}
.hero h1{font-family:var(--f-display);font-size:clamp(2.5rem,7vw,var(--fs-5xl));font-weight:700;color:var(--c-dark-text);letter-spacing:-.02em;margin-bottom:var(--s-24)}
.hero h1 span{display:block;font-weight:400;font-style:italic;color:var(--c-accent-light);font-size:.65em}
.hero-tagline{font-family:var(--f-body);font-size:clamp(var(--fs-base),2.5vw,var(--fs-lg));color:var(--c-dark-muted);max-width:480px;margin:0 auto var(--s-40);line-height:1.6}
.hero-actions{display:flex;gap:var(--s-16);justify-content:center;flex-wrap:wrap}
.hero-scroll{position:absolute;bottom:var(--s-32);left:50%;transform:translateX(-50%);z-index:2;color:var(--c-dark-muted);animation:float 2.5s ease-in-out infinite;padding:var(--s-12);min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}
@keyframes float{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-8);font-family:var(--f-body);font-size:var(--fs-sm);font-weight:600;letter-spacing:.04em;padding:var(--s-16) var(--s-32);border-radius:var(--r-full);min-height:48px;transition:background var(--t-fast),color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast);white-space:nowrap}
.btn:active{transform:scale(.97)}
.btn--primary{background:linear-gradient(135deg,var(--c-accent),var(--c-accent-light));color:var(--c-dark);box-shadow:0 2px 8px rgba(201,169,110,.2)}
.btn--primary:hover{background:linear-gradient(135deg,var(--c-accent-light),var(--c-accent));box-shadow:0 6px 20px rgba(201,169,110,.35)}
.btn--primary:active{background:var(--c-accent);box-shadow:0 2px 6px rgba(201,169,110,.2)}
.btn--outline{border:1.5px solid rgba(201,169,110,.5);color:var(--c-accent-light)}
.btn--outline:hover{background:rgba(201,169,110,.1);border-color:var(--c-accent)}

/* SECTIONS */
.section{padding:var(--s-96) 0}
.section--cream{background:var(--c-bg-cream)}
.section--dark{background:var(--c-dark);color:var(--c-dark-text);position:relative;overflow:hidden}
.section--dark::before{content:'';position:absolute;inset:0;opacity:.04;background-image:
  radial-gradient(circle at 15% 30%,var(--c-accent) 1px,transparent 1px),
  radial-gradient(circle at 85% 70%,var(--c-accent) 1px,transparent 1px);background-size:60px 60px}
.section--dark h2,.section--dark h3{color:var(--c-dark-text)}
.section-header{text-align:center;margin-bottom:var(--s-64)}
.section-label{display:inline-flex;align-items:center;gap:var(--s-12);font-family:var(--f-body);font-size:var(--fs-sm);font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--c-accent);margin-bottom:var(--s-16)}
.section-label::before,.section-label::after{content:'';width:24px;height:1px;background:var(--c-accent);opacity:.5}
.section-header h2{font-size:clamp(var(--fs-2xl),5vw,var(--fs-3xl));letter-spacing:-.02em}

/* ABOUT */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-64);align-items:start}
.about-text p{margin-bottom:var(--s-20);color:var(--c-text-light);line-height:1.75}
.about-text{position:relative;padding-left:var(--s-32)}
.about-text::before{content:'';position:absolute;left:0;top:var(--s-8);bottom:var(--s-8);width:3px;background:linear-gradient(180deg,var(--c-accent),var(--c-primary));border-radius:2px}
.about-text p:first-child{font-size:var(--fs-lg);color:var(--c-text);line-height:1.7}
.about-stats{display:grid;gap:var(--s-24)}
.stat-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:var(--s-32);text-align:center;transition:box-shadow var(--t-base),transform var(--t-base);position:relative;overflow:hidden}
.stat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--c-primary),var(--c-accent))}
.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.stat-number{font-family:var(--f-display);font-size:var(--fs-3xl);font-weight:700;color:var(--c-primary);line-height:1;display:block;margin-bottom:var(--s-8);font-variant-numeric:tabular-nums}
.stat-number sup{font-size:.5em;color:var(--c-accent)}
.stat-label{font-size:var(--fs-sm);color:var(--c-text-light);font-weight:500;letter-spacing:.04em}

/* MENU */
.menu-tabs{display:flex;justify-content:center;gap:var(--s-8);margin-bottom:var(--s-48);flex-wrap:wrap}
.menu-tab{font-size:var(--fs-sm);font-weight:600;padding:var(--s-12) var(--s-24);border-radius:var(--r-full);border:1.5px solid var(--c-border);color:var(--c-text-light);min-height:44px;transition:all var(--t-fast)}
.menu-tab:hover{border-color:var(--c-primary);color:var(--c-primary)}
.menu-tab:active{transform:scale(.97)}
.menu-tab.active{background:linear-gradient(135deg,var(--c-primary),var(--c-primary-h));border-color:var(--c-primary);color:var(--c-surface);box-shadow:0 2px 8px rgba(0,0,0,.15)}
.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--s-24)}
.menu-item{display:flex;gap:var(--s-16);padding:var(--s-24);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);transition:box-shadow var(--t-base),transform var(--t-base),border-color var(--t-base);animation:menuFadeIn var(--t-slow) both;border-left:3px solid transparent}
.menu-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-left-color:var(--c-accent)}
@keyframes menuFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.menu-item-icon{flex-shrink:0;width:48px;height:48px;color:var(--c-accent)}
.menu-item-body{flex:1;min-width:0}
.menu-item-header{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-16);margin-bottom:var(--s-4)}
.menu-item-header h3{font-family:var(--f-display);font-size:var(--fs-xl);font-weight:600}
.menu-price{font-family:var(--f-body);font-size:var(--fs-base);font-weight:600;color:var(--c-primary);white-space:nowrap;font-variant-numeric:tabular-nums}
.menu-item p{font-size:var(--fs-sm);color:var(--c-text-light);line-height:1.5}

/* HERITAGE */
.heritage-content{text-align:center;max-width:720px;margin:0 auto}
.heritage-icon{color:var(--c-accent);margin:0 auto var(--s-32)}
.heritage-content blockquote{position:relative;padding:0 var(--s-48)}
.heritage-content blockquote::before{content:'\u201c';position:absolute;top:-20px;left:0;font-family:var(--f-display);font-size:6rem;color:var(--c-accent);opacity:.25;line-height:1}
.heritage-content blockquote p{font-family:var(--f-display);font-size:clamp(var(--fs-xl),3.5vw,var(--fs-2xl));font-style:italic;line-height:1.5;color:var(--c-dark-text);margin-bottom:var(--s-24)}
.heritage-content cite{font-style:normal;font-size:var(--fs-sm);color:var(--c-dark-muted);letter-spacing:.1em;text-transform:uppercase}
.heritage-values{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-32);margin-top:var(--s-64);padding-top:var(--s-48);border-top:1px solid rgba(201,169,110,.15)}
.heritage-value h3{font-family:var(--f-display);font-size:var(--fs-xl);font-weight:600;color:var(--c-accent-light);margin-bottom:var(--s-8)}
.heritage-value p{font-size:var(--fs-sm);color:var(--c-dark-muted);line-height:1.6}

/* LOCATION */
.location-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--s-48);align-items:start}
.location-map{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--c-border);aspect-ratio:4/3;box-shadow:var(--shadow-md)}
.location-map iframe{width:100%;height:100%;border:0}
.location-info{display:flex;flex-direction:column;gap:var(--s-24)}
.location-detail{display:flex;gap:var(--s-16);align-items:flex-start}
.location-detail svg{flex-shrink:0;color:var(--c-accent);margin-top:2px}
.location-detail strong{display:block;font-size:var(--fs-sm);font-weight:600;color:var(--c-text);margin-bottom:var(--s-4);letter-spacing:.02em}
.location-detail p{font-size:var(--fs-sm);color:var(--c-text-light);line-height:1.6}
.location-detail a{color:var(--c-primary);transition:color var(--t-fast)}
.location-detail a:hover{color:var(--c-primary-h)}
.location-cta{margin-top:var(--s-16);align-self:flex-start}

/* FOOTER */
.site-footer{background:var(--c-dark);color:var(--c-dark-muted);padding-top:var(--s-64)}
.footer-inner{display:grid;grid-template-columns:1fr auto auto;gap:var(--s-48);align-items:start;padding-bottom:var(--s-48);border-bottom:1px solid rgba(201,169,110,.1)}
.footer-brand .logo-main,.footer-brand .logo-sub{color:var(--c-dark-text)}
.footer-brand .logo-sub{color:var(--c-dark-muted)}
.footer-tagline{margin-top:var(--s-12);font-size:var(--fs-sm);max-width:280px;line-height:1.6}
.footer-nav{display:flex;flex-direction:column;gap:var(--s-12)}
.footer-nav a{font-size:var(--fs-sm);color:var(--c-dark-muted);transition:color var(--t-fast);padding:var(--s-4) 0}
.footer-nav a:hover{color:var(--c-accent)}
.footer-contact{text-align:right}
.footer-contact a{display:block;font-size:var(--fs-base);font-weight:600;color:var(--c-dark-text);margin-bottom:var(--s-8);transition:color var(--t-fast)}
.footer-contact a:hover{color:var(--c-accent)}
.footer-contact p{font-size:var(--fs-sm);line-height:1.5}
.footer-bottom{padding:var(--s-24) 0}
.footer-bottom p{font-size:var(--fs-sm);text-align:center;color:var(--c-dark-muted);opacity:.6}

/* MOBILE CTA */
.mobile-cta{display:none}

/* REVEAL */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1)}
.reveal.revealed{opacity:1;transform:translateY(0)}

/* ============ HERO VARIANTS ============ */

/* LEFT-ALIGNED */
.hero--left .hero-content{text-align:left;max-width:640px;margin-left:0}
.hero--left h1{text-align:left}
.hero--left .hero-tagline{margin-left:0}
.hero--left .hero-actions{justify-content:flex-start}
.hero--left .hero-year{left:auto;right:5%;transform:translateY(-55%);opacity:.6}
.hero--left .hero-badge{margin-left:0}

/* SPLIT */
.hero--split{display:grid;grid-template-columns:1fr 1fr}
.hero--split .hero-pattern{grid-column:1/-1;grid-row:1}
.hero--split::before{grid-column:1/-1;grid-row:1}
.hero--split::after{grid-column:1/-1}
.hero--split .hero-content{grid-row:1;grid-column:1;text-align:left;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-left:var(--s-64)}
.hero--split .hero-content h1{text-align:left}
.hero--split .hero-content .hero-tagline{margin-left:0}
.hero--split .hero-content .hero-actions{justify-content:flex-start}
.hero--split .hero-deco{grid-row:1;grid-column:2;z-index:2;display:flex;align-items:center;justify-content:center}
.hero--split .hero-deco-circle{width:clamp(200px,20vw,320px);height:clamp(200px,20vw,320px);border-radius:50%;border:1px solid rgba(201,169,110,.2);display:flex;align-items:center;justify-content:center;position:relative}
.hero--split .hero-deco-circle::before{content:'';width:70%;height:70%;border-radius:50%;border:1px solid rgba(201,169,110,.15)}
.hero--split .hero-deco-circle::after{content:'';position:absolute;width:50%;height:50%;border-radius:50%;background:radial-gradient(circle,rgba(201,169,110,.08),transparent)}
.hero--split .hero-year{position:static;transform:none;font-size:clamp(3rem,8vw,6rem);color:rgba(201,169,110,.15);margin-bottom:var(--s-16)}
.hero--split .hero-scroll{grid-column:1/-1}

/* MINIMAL */
.hero--minimal{min-height:75dvh}
.hero--minimal .hero-year{display:none}
.hero--minimal .hero-badge{font-size:.7rem;letter-spacing:.3em}
.hero--minimal h1{font-size:clamp(2rem,5vw,var(--fs-4xl));font-weight:400;letter-spacing:.02em}
.hero--minimal h1 span{font-size:.75em;font-weight:400}
.hero--minimal .hero-pattern{opacity:.03}

/* DRAMATIC */
.hero--dramatic h1{font-size:clamp(3rem,10vw,7rem);letter-spacing:-.03em;line-height:1.05}
.hero--dramatic h1 span{font-size:.5em;letter-spacing:.1em;font-style:normal;font-weight:600;text-transform:uppercase}
.hero--dramatic .hero-tagline{font-size:clamp(var(--fs-lg),3vw,var(--fs-xl));max-width:560px}
.hero--dramatic .hero-year{font-size:clamp(8rem,25vw,18rem);opacity:.5}
.hero--dramatic .hero-badge{border-width:2px;padding:var(--s-12) var(--s-32);font-size:var(--fs-sm)}

/* ============ MENU VARIANTS ============ */

/* LIST STYLE */
.menu--list .menu-grid{display:flex;flex-direction:column;gap:0}
.menu--list .menu-item{border-radius:0;border-left:none;border-bottom:none;padding:var(--s-20) var(--s-24)}
.menu--list .menu-item:first-child{border-radius:var(--r-lg) var(--r-lg) 0 0}
.menu--list .menu-item:last-child{border-radius:0 0 var(--r-lg) var(--r-lg);border-bottom:1px solid var(--c-border)}
.menu--list .menu-item:hover{border-left:none;background:var(--c-bg-cream);transform:none;box-shadow:none}
.menu--list .menu-item-icon{display:none}
.menu--list .menu-item-header h3{font-size:var(--fs-lg)}
.menu--list .menu-price{font-size:var(--fs-lg);font-weight:700}

/* COMPACT STYLE */
.menu--compact .menu-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s-12)}
.menu--compact .menu-item{padding:var(--s-16);flex-direction:column;text-align:center;border-left:none;border-top:3px solid transparent}
.menu--compact .menu-item:hover{border-left:none;border-top-color:var(--c-accent)}
.menu--compact .menu-item-icon{margin:0 auto var(--s-8)}
.menu--compact .menu-item-header{flex-direction:column;gap:var(--s-4);align-items:center}
.menu--compact .menu-price{font-size:var(--fs-lg)}

/* ============ ABOUT VARIANTS ============ */

/* about text padding reset for split hero pages (left-aligned feel) */
.page--left .about-text,.page--split .about-text{padding-left:0}
.page--left .about-text::before,.page--split .about-text::before{display:none}
.page--left .about-grid{gap:var(--s-48)}
.page--split .about-grid{grid-template-columns:1fr;gap:var(--s-48)}
.page--split .about-stats{grid-template-columns:repeat(3,1fr)}

/* TABLET */
@media(max-width:1023px){
  .about-grid{grid-template-columns:1fr;gap:var(--s-48)}
  .about-stats{grid-template-columns:repeat(3,1fr)}
  .heritage-values{gap:var(--s-24)}
  .location-grid{grid-template-columns:1fr;gap:var(--s-32)}
  .footer-inner{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .footer-contact{text-align:left}
}

/* MOBILE */
@media(max-width:767px){
  :root{--header-h:64px}
  .container{padding:0 var(--s-20)}
  .header-cta{display:none}
  .menu-toggle{display:flex;margin-left:auto}
  .main-nav{position:fixed;inset:0;background:rgba(251,247,240,.98);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);flex-direction:column;justify-content:center;gap:var(--s-24);padding:var(--s-64);transform:translateX(100%);transition:transform var(--t-slow);margin-left:0}
  .main-nav.open{transform:translateX(0)}
  .main-nav a{font-family:var(--f-display);font-size:var(--fs-2xl);color:var(--c-text);padding:var(--s-12) 0}
  .hero-content{padding:var(--s-80) var(--s-20) var(--s-64)}
  .hero-badge{padding:var(--s-8) var(--s-16);font-size:.75rem}
  .hero--split{grid-template-columns:1fr}
  .hero--split .hero-deco{display:none}
  .hero--split .hero-content{padding-left:var(--s-20);text-align:center;align-items:center}
  .hero--split .hero-content h1{text-align:center}
  .hero--split .hero-content .hero-actions{justify-content:center}
  .hero--left .hero-content{text-align:center;max-width:none}
  .hero--left h1{text-align:center}
  .hero--left .hero-actions{justify-content:center}
  .hero--left .hero-year{display:none}
  .hero--dramatic h1{font-size:clamp(2.5rem,8vw,5rem)}
  .hero-actions{flex-direction:column;align-items:center}
  .hero-actions .btn{width:100%;max-width:280px}
  .section{padding:var(--s-64) 0}
  .section-header{margin-bottom:var(--s-40)}
  .about-text{padding-left:var(--s-20)}
  .about-stats{grid-template-columns:1fr}
  .menu-tabs{gap:var(--s-4)} .menu-tab{padding:var(--s-12) var(--s-16);font-size:.8rem}
  .menu-grid{grid-template-columns:1fr}
  .heritage-values{grid-template-columns:1fr;gap:var(--s-24)}
  .location-map{aspect-ratio:16/10}
  .footer-inner{grid-template-columns:1fr;gap:var(--s-32)}
  .footer-nav{flex-direction:row;flex-wrap:wrap;gap:var(--s-16)}
  .mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:90;background:var(--c-surface);border-top:1px solid var(--c-border);padding:var(--s-12) var(--s-20);padding-bottom:calc(var(--s-12) + env(safe-area-inset-bottom));gap:var(--s-12);transform:translateY(100%);transition:transform var(--t-base)}
  .mobile-cta.visible{transform:translateY(0)}
  .mobile-cta-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--s-8);font-size:var(--fs-sm);font-weight:600;padding:var(--s-12) var(--s-16);border-radius:var(--r-md);min-height:48px;background:var(--c-primary);color:var(--c-surface);transition:background var(--t-fast)}
  .mobile-cta-btn:hover{background:var(--c-primary-h)}
  .mobile-cta-btn:active{background:var(--c-primary-a)}
  .mobile-cta-btn--secondary{background:var(--c-bg-cream);color:var(--c-text);border:1px solid var(--c-border)}
  .mobile-cta-btn--secondary:hover{background:var(--c-border)}
  .site-footer{padding-bottom:80px}
}
@media(max-width:392px){
  .container{padding:0 var(--s-16)}
  .hero h1{font-size:2rem}
  .stat-card{padding:var(--s-24)}
  .menu-item{padding:var(--s-16)}
  .menu-item-icon{width:40px;height:40px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none}
  .hero-scroll{animation:none}
}
@media(min-width:1441px){:root{--container:1200px}}
