
:root{--bg:#050505;--panel:#090909;--line:#282828;--text:#f4f1ea;--muted:#c9c3ba;--copper:#d9672b;--max:1886px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#000;color:var(--text);font-family:Inter,Arial,sans-serif;letter-spacing:.02em}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.wrap{max-width:var(--max);margin:0 auto;background:#050505}.site-header{position:sticky;top:0;z-index:30;display:flex;align-items:flex-start;justify-content:space-between;padding:34px 52px;background:rgba(0,0,0,.74);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08)}.brand{font-family:Georgia,serif;font-size:44px;letter-spacing:.38em;line-height:1;color:#fff}.brand span{display:block;font-family:Inter,Arial,sans-serif;font-size:24px;letter-spacing:.25em;margin-top:6px}.nav{display:flex;gap:42px;align-items:center;text-transform:uppercase;font-weight:700;font-size:16px;letter-spacing:.12em}.nav a:hover,.footer a:hover{color:var(--copper)}.hero{height:760px;display:grid;grid-template-columns:48% 52%;border-bottom:1px solid var(--line);background:#000}.hero-image{position:relative;overflow:hidden}.hero-image img{object-position:center}.hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:80px}.logo-main{font-family:Georgia,serif;font-size:74px;letter-spacing:.45em;margin:0 0 14px}.jp{font-size:38px;letter-spacing:.22em;margin:0 0 14px}.dot{color:var(--copper);font-size:20px;line-height:1}.lead{font-size:20px;line-height:1.55;color:#fff;margin:24px 0 34px}.btn{display:inline-block;border:2px solid var(--copper);padding:19px 64px;text-transform:uppercase;font-weight:800;letter-spacing:.22em;font-size:15px;color:#fff}.btn:hover{background:var(--copper);color:#000}.split{display:grid;grid-template-columns:47.5% 52.5%;min-height:430px;border-bottom:1px solid var(--line)}.split .photo{min-height:430px;overflow:hidden}.text-panel{padding:58px 78px;display:flex;flex-direction:column;justify-content:center;background:#070707}.eyebrow{color:var(--copper);text-transform:uppercase;font-weight:800;font-size:16px;letter-spacing:.18em;margin-bottom:22px}.title{font-family:Georgia,serif;font-size:46px;line-height:1.08;margin:0 0 24px;font-weight:400}.rule{width:48px;height:2px;background:var(--copper);margin:0 0 26px}.copy{font-size:17px;line-height:1.55;color:var(--muted);margin:0 0 24px}.small-title{font-size:15px;text-transform:uppercase;font-weight:800;letter-spacing:.18em;margin:10px 0 4px}.cta{color:var(--copper);font-size:16px;font-weight:800;text-transform:uppercase;letter-spacing:.16em}.cellar-gather{display:grid;grid-template-columns:25% 25% 25% 25%;border-bottom:1px solid var(--line);min-height:420px}.cellar-gather .photo{min-height:420px}.cellar-gather .wide{grid-column:span 1}.space{display:grid;grid-template-columns:22% repeat(4,19.5%);min-height:430px;border-bottom:1px solid var(--line)}.space .text-panel{padding:52px 48px}.space-card{position:relative;min-height:430px;border-left:1px solid var(--line);overflow:hidden}.space-card::after,.feature-card::after,.reservation::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.05),rgba(0,0,0,.64))}.space-card h3{position:absolute;z-index:2;left:34px;bottom:34px;margin:0;text-transform:uppercase;font-size:22px;letter-spacing:.12em}.features{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);min-height:520px}.feature-card{position:relative;min-height:520px;border-left:1px solid var(--line);overflow:hidden;padding:44px 44px;display:flex;flex-direction:column;justify-content:space-between}.feature-card:first-child{border-left:0}.feature-card h3,.feature-card p,.feature-card a{position:relative;z-index:2}.feature-card h3{font-family:Georgia,serif;font-size:30px;text-transform:uppercase;letter-spacing:.06em;margin:0}.feature-card p{font-size:18px;line-height:1.55;color:#fff;margin-top:auto;margin-bottom:34px}.reservation{position:relative;min-height:470px;display:grid;grid-template-columns:35% 65%;border-bottom:1px solid var(--line);overflow:hidden}.reservation .res-left,.reservation .res-right{position:relative}.reservation .res-text{position:absolute;z-index:3;left:37%;top:50%;transform:translateY(-50%);max-width:440px}.reservation .res-text .title{font-size:54px}.footer{display:grid;grid-template-columns:1.2fr 1.4fr 1.5fr 1.6fr 1fr;gap:50px;padding:36px 52px 46px;border-top:1px solid var(--line);background:#050505;color:#ddd}.footer h4{margin:0 0 12px;color:var(--copper);text-transform:uppercase;letter-spacing:.12em}.footer p{margin:0;font-size:15px;line-height:1.45;color:#ddd}.footer-brand{font-family:Georgia,serif;font-size:32px;letter-spacing:.35em;margin-bottom:10px}.social{font-size:28px;margin-top:18px;letter-spacing:.4em}.page-hero{min-height:520px;display:grid;place-items:center;text-align:center;padding:120px 30px;border-bottom:1px solid var(--line);background:#080808}.page-hero h1{font-family:Georgia,serif;font-size:78px;font-weight:400;margin:0 0 24px}.page-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.page-grid section{background:#070707;padding:80px}.image-full{height:540px;border-bottom:1px solid var(--line)}@media(max-width:900px){.site-header{position:relative;display:block;padding:24px}.brand{font-size:30px}.nav{margin-top:22px;gap:16px;flex-wrap:wrap;font-size:12px}.hero,.split,.cellar-gather,.space,.features,.reservation,.footer,.page-grid{display:block}.hero{height:auto}.hero-image{height:560px}.hero-copy,.text-panel,.page-grid section{padding:48px 28px}.logo-main{font-size:42px}.title{font-size:36px}.space-card,.feature-card,.image-full{height:430px}.reservation .res-left,.reservation .res-right{height:390px}.reservation .res-text{position:relative;left:auto;top:auto;transform:none;padding:44px 28px;background:#050505}.footer{padding:34px 24px}.footer>div{margin-bottom:25px}}


/* Fixes: prevent card titles from clipping and keep all images editable/replacable */
.space-card h3{white-space:nowrap;font-size:clamp(15px,1.08vw,22px);left:28px;right:12px;letter-spacing:.10em;}
.feature-card h3{white-space:nowrap;font-size:clamp(22px,1.55vw,30px);line-height:1.1;}
.feature-card{min-width:0;}
.features{grid-template-columns:repeat(4,minmax(0,1fr));}
.feature-card img,.space-card img,.photo img,.hero-image img,.reservation img{image-rendering:auto;backface-visibility:hidden;transform:translateZ(0);}
@media(max-width:1200px){.space-card h3{font-size:14px;left:18px}.feature-card{padding:34px 28px}.feature-card h3{font-size:20px}}


/* Updated feature-card photos: titles and copy are HTML only, images contain no embedded headings. */
.feature-card img{object-position:center top;}
.feature-card::after{background:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,.08) 48%,rgba(0,0,0,.78) 100%);}


/* Typography update: all editable HTML text made slightly smaller */
html{font-size:92%;}
.site-nav a{font-size:.82rem;}
.logo-text{font-size:1.85rem;}
.logo-sub{font-size:1.15rem;}
.hero-title{font-size:clamp(3.1rem,6vw,6.4rem);}
.hero-subtitle{font-size:1.05rem;}
.eyebrow{font-size:.78rem;}
.section-title{font-size:clamp(2.05rem,3.2vw,3.75rem);}
.body-text{font-size:.95rem;}
.card-title{font-size:1.65rem;}
.card-copy{font-size:.95rem;}
.cta-link,.button{font-size:.82rem;}
.footer{font-size:.82rem;}
.footer h4{font-size:.78rem;}
.footer-logo{font-size:1.55rem;}





/* Corrected final SAISEI logo lockup.
   The logo block sits left, but the two logo lines are centered to each other. */
.site-header .logo,
.site-header .site-logo,
.site-header .brand-logo,
.site-header .header-logo {
    position: absolute !important;
    left: 40px !important;
    top: 28px !important;
    display: block !important;
    width: max-content !important;
    text-align: center !important;
    text-decoration: none !important;
}

.footer-logo {
    display: block !important;
    width: max-content !important;
    text-align: center !important;
}

.saisei-logo-lockup {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    align-items: center !important;
    width: max-content !important;
    text-align: center !important;
    line-height: 1 !important;
}

.saisei-logo-en {
    display: block !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-weight: 600 !important;
    font-size: clamp(2.15rem, 4.4vw, 4.2rem) !important;
    letter-spacing: 0.42em !important;
    padding-left: 0.42em !important; /* balances final letter-spacing so visual centre is true */
    color: #f4f2ed !important;
    line-height: 0.9 !important;
    white-space: nowrap !important;
    text-align: center !important;
}

.saisei-logo-jp {
    display: block !important;
    font-family: "Noto Sans CJK JP", "Noto Serif CJK JP", Georgia, serif !important;
    font-weight: 400 !important;
    font-size: clamp(1.15rem, 2.4vw, 2.3rem) !important;
    letter-spacing: 0.18em !important;
    padding-left: 0.18em !important;
    color: #f4f2ed !important;
    margin-top: 0.38em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-align: center !important;
}

/* Footer logo slightly smaller, still centered */
.footer-logo .saisei-logo-en {
    font-size: clamp(1.75rem, 3.2vw, 3.3rem) !important;
}
.footer-logo .saisei-logo-jp {
    font-size: clamp(1rem, 1.9vw, 1.9rem) !important;
}

/* Remove old logo text styling from nested spans if present */
.logo-stack,
.logo-stack .jp {
    all: unset;
}


/* REAL FINAL FIX — header/footer SAISEI logo lockup */
.site-header .brand,
.brand.saisei-lockup,
.saisei-lockup {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: fit-content !important;
    max-width: fit-content !important;
    gap: 0 !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

.site-header .brand.saisei-lockup {
    margin-left: 0 !important;
}

.saisei-lockup .saisei-en {
    display: block !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-weight: 600 !important;
    font-size: clamp(2.7rem, 5.4vw, 5.8rem) !important;
    letter-spacing: 0.43em !important;
    padding-left: 0.43em !important;
    color: #f4f2ed !important;
    line-height: 0.82 !important;
    white-space: nowrap !important;
    text-align: center !important;
}

.saisei-lockup .saisei-jp {
    display: block !important;
    font-family: "Noto Sans CJK JP", "Noto Serif CJK JP", Arial, sans-serif !important;
    font-weight: 400 !important;
    font-size: clamp(1.45rem, 2.8vw, 3rem) !important;
    letter-spacing: 0.18em !important;
    padding-left: 0.18em !important;
    color: #f4f2ed !important;
    margin-top: 0.38em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-align: center !important;
}

/* footer logo is smaller but same centered lockup */
.footer .saisei-lockup .saisei-en,
.site-footer .saisei-lockup .saisei-en,
.foot-brand.saisei-lockup .saisei-en,
.footer-logo.saisei-lockup .saisei-en {
    font-size: clamp(2rem, 3.5vw, 3.6rem) !important;
}
.footer .saisei-lockup .saisei-jp,
.site-footer .saisei-lockup .saisei-jp,
.foot-brand.saisei-lockup .saisei-jp,
.footer-logo.saisei-lockup .saisei-jp {
    font-size: clamp(1.15rem, 2vw, 2rem) !important;
}


/* FINAL SAVED UPDATE: smaller SAISEI logo + smaller menu text */
.site-header .brand.saisei-lockup,
.brand.saisei-lockup,
.foot-brand.saisei-lockup,
.hero-side-logo.saisei-lockup {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: fit-content !important;
    max-width: fit-content !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

/* 50% smaller header logo */
.site-header .brand.saisei-lockup .saisei-en {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(1.35rem, 2.7vw, 2.9rem) !important;
    letter-spacing: 0.43em !important;
    padding-left: 0.43em !important;
    line-height: .9 !important;
    color: #f4f2ed !important;
    white-space: nowrap !important;
}
.site-header .brand.saisei-lockup .saisei-jp {
    font-size: clamp(.75rem, 1.4vw, 1.5rem) !important;
    letter-spacing: .18em !important;
    padding-left: .18em !important;
    margin-top: .35em !important;
    color: #f4f2ed !important;
    white-space: nowrap !important;
    text-align: center !important;
}

/* Menu items smaller by about 3pt */
.nav a,
.site-header nav a,
.site-nav a {
    font-size: 11px !important;
    letter-spacing: .18em !important;
}

/* Logo in middle/right next to female hero image */
.hero-side-logo {
    margin: 0 auto 28px auto !important;
}
.hero-side-logo .saisei-en {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(1.65rem, 3vw, 3.2rem) !important;
    letter-spacing: .43em !important;
    padding-left: .43em !important;
    color: #f4f2ed !important;
}
.hero-side-logo .saisei-jp {
    font-size: clamp(.9rem, 1.6vw, 1.65rem) !important;
    letter-spacing: .18em !important;
    padding-left: .18em !important;
    margin-top: .35em !important;
    color: #f4f2ed !important;
}

/* Footer logo smaller and centered */
.foot-brand.saisei-lockup .saisei-en,
.footer-logo.saisei-lockup .saisei-en {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(1.35rem, 2.7vw, 2.9rem) !important;
    letter-spacing: .43em !important;
    padding-left: .43em !important;
    color: #f4f2ed !important;
}
.foot-brand.saisei-lockup .saisei-jp,
.footer-logo.saisei-lockup .saisei-jp {
    font-size: clamp(.75rem, 1.4vw, 1.5rem) !important;
    letter-spacing: .18em !important;
    padding-left: .18em !important;
    margin-top: .35em !important;
    color: #f4f2ed !important;
    text-align: center !important;
}

.hero-side-logo.single-logo .saisei-en{
 font-size: clamp(1.2rem,2.2vw,2.4rem)!important;
}
.hero-side-logo.single-logo .saisei-jp{
 font-size: clamp(.7rem,1.2vw,1.2rem)!important;
}


/* Ensure only the single hero SAISEI logo displays */
.hero-copy > .hero-side-logo ~ .hero-side-logo{display:none!important;}
.hero-copy .logo-main,
.hero-copy > .jp{display:none!important;}

.hero-side-logo.single-logo{
    margin:0 auto 24px auto!important;
    display:inline-flex!important;
    flex-direction:column!important;
    align-items:center!important;
    text-align:center!important;
}
.hero-side-logo.single-logo .saisei-en{
    font-size:clamp(1.15rem,2vw,2.2rem)!important;
}
.hero-side-logo.single-logo .saisei-jp{
    font-size:clamp(.65rem,1.1vw,1.1rem)!important;
}


/* Cross-browser web font setup */
:root{
  --font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --font-nav: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  font-family:var(--font-body);
}

body{
  font-family:var(--font-body)!important;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

h1,h2,h3,
.logo-main,
.section-title,
.card-title,
.hero-title,
.saisei-en,
.brand .saisei-en,
.foot-brand .saisei-en,
.footer-logo .saisei-en{
  font-family:var(--font-display)!important;
}

nav a,
.nav a,
.site-nav a,
.button,
.cta,
.cta-link,
.eyebrow,
.footer h4,
.menu-link{
  font-family:var(--font-nav)!important;
  font-weight:500!important;
}

p,
li,
.body-text,
.card-copy,
.footer,
.footer p,
.footer li{
  font-family:var(--font-body)!important;
}

.saisei-jp,
.jp{
  font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho","YuMincho","MS Mincho",serif!important;
}

/* Phone readability */
@media (max-width:700px){
  body{font-weight:300;}
  .nav a, nav a{font-size:10px!important; letter-spacing:.12em!important;}
  p,.body-text,.card-copy{font-size:15px!important; line-height:1.65!important;}
}


/* Smart thin typography preview — smaller, lighter, more refined */
body{
  font-weight:300!important;
}

.site-header .brand.saisei-lockup .saisei-en{
  font-size:clamp(1.15rem,2.2vw,2.35rem)!important;
  font-weight:400!important;
}
.site-header .brand.saisei-lockup .saisei-jp{
  font-size:clamp(.62rem,1.1vw,1.15rem)!important;
  font-weight:300!important;
}

.nav a,
.site-header nav a,
.site-nav a{
  font-size:9.5px!important;
  font-weight:400!important;
  letter-spacing:.2em!important;
}

.hero-side-logo.single-logo .saisei-en,
.hero-side-logo .saisei-en{
  font-size:clamp(1.35rem,2.55vw,2.75rem)!important;
  font-weight:400!important;
}
.hero-side-logo.single-logo .saisei-jp,
.hero-side-logo .saisei-jp{
  font-size:clamp(.76rem,1.35vw,1.35rem)!important;
  font-weight:300!important;
}

.hero-copy .lead,
.hero-subtitle,
.lead{
  font-family:var(--font-nav)!important;
  font-size:10.5px!important;
  font-weight:300!important;
  letter-spacing:.32em!important;
  line-height:1.9!important;
  text-transform:uppercase!important;
}

.eyebrow{
  font-size:10.5px!important;
  font-weight:400!important;
  letter-spacing:.22em!important;
}

.section-title,
h1,h2,h3{
  font-weight:400!important;
}

.section-title{
  font-size:clamp(2rem,3.2vw,3.95rem)!important;
  line-height:1.08!important;
}

.body-text,
p,
.card-copy{
  font-size:15.5px!important;
  font-weight:300!important;
  line-height:1.65!important;
}

.card-title{
  font-size:clamp(1.35rem,2.1vw,2.25rem)!important;
  font-weight:400!important;
}

.button,
.cta,
.cta-link,
.menu-link{
  font-size:10.5px!important;
  font-weight:400!important;
  letter-spacing:.2em!important;
}

.footer,
.site-footer,
.footer p,
.site-footer p{
  font-size:14.5px!important;
  font-weight:300!important;
}

.footer h4,
.site-footer h4{
  font-size:10.5px!important;
  font-weight:400!important;
  letter-spacing:.2em!important;
}

.foot-brand.saisei-lockup .saisei-en,
.footer-logo.saisei-lockup .saisei-en{
  font-size:clamp(1.2rem,2.3vw,2.4rem)!important;
  font-weight:400!important;
}
.foot-brand.saisei-lockup .saisei-jp,
.footer-logo.saisei-lockup .saisei-jp{
  font-size:clamp(.68rem,1.2vw,1.2rem)!important;
  font-weight:300!important;
}


/* SAISEI accent colour update */
:root{
  --copper:#9f1d20 !important;
  --accent:#9f1d20 !important;
  --brand:#9f1d20 !important;
}

.eyebrow,
.cta,
.cta-link,
.button,
.button-outline,
.site-footer h4,
.footer h4,
.dot,
a:hover,
nav a:hover{
  color:#9f1d20 !important;
}

.button,
.cta-button{
  border-color:#9f1d20 !important;
}

.button:hover,
.cta-button:hover{
  background:#9f1d20 !important;
}



/* Footer contact details only */
.footer a,
.site-footer a{
  color:#f4f2ed!important;
  text-decoration:none!important;
}
.footer a:hover,
.site-footer a:hover,
.footer-directions{
  color:#9f1d20!important;
}
.footer-directions{
  display:inline-block!important;
  margin-top:10px!important;
  font-family:var(--font-nav)!important;
  font-size:10.5px!important;
  font-weight:400!important;
  letter-spacing:.2em!important;
}

/* Final footer Google Maps/contact links */
.footer a,
.site-footer a{
  color:#f4f2ed!important;
  text-decoration:none!important;
}
.footer a:hover,
.site-footer a:hover,
.footer-directions{
  color:#9f1d20!important;
}
.footer-directions{
  display:inline-block!important;
  margin-top:10px!important;
  font-family:var(--font-nav)!important;
  font-size:10.5px!important;
  font-weight:400!important;
  letter-spacing:.2em!important;
}

/* VISIBLE footer phone/directions final fix */
.footer a{color:#f4f2ed;text-decoration:none;}
.footer a:hover,.footer-directions{color:#9f1d20!important;}
.footer-directions{
  display:inline-block;
  margin-top:10px;
  font-family:var(--font-nav, Montserrat, Arial, sans-serif);
  font-size:10.5px;
  font-weight:400;
  letter-spacing:.2em;
  text-transform:uppercase;
}


/* Latest update: Philosophy text left, Chef image right, no play overlay */
#philosophy,
.philosophy,
.philosophy-section,
section[id*="philosophy"],
section[class*="philosophy"]{
  direction:ltr!important;
}

/* Put copy/text first */
#philosophy .copy,
#philosophy .text,
#philosophy .content,
.philosophy .copy,
.philosophy .text,
.philosophy .content,
.philosophy-section .copy,
.philosophy-section .text,
.philosophy-section .content,
section[id*="philosophy"] .copy,
section[id*="philosophy"] .text,
section[id*="philosophy"] .content,
section[class*="philosophy"] .copy,
section[class*="philosophy"] .text,
section[class*="philosophy"] .content{
  order:1!important;
}

/* Put chef image/media second */
#philosophy .image,
#philosophy .photo,
#philosophy .media,
.philosophy .image,
.philosophy .photo,
.philosophy .media,
.philosophy-section .image,
.philosophy-section .photo,
.philosophy-section .media,
section[id*="philosophy"] .image,
section[id*="philosophy"] .photo,
section[id*="philosophy"] .media,
section[class*="philosophy"] .image,
section[class*="philosophy"] .photo,
section[class*="philosophy"] .media{
  order:2!important;
}

/* Remove play/video overlays */
.play,
.play-button,
.video-play,
.video-button,
.play-icon,
.video-icon,
[class*="play"],
[class*="video-play"]{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}


/* Final template update: Directions link burgundy */
.footer-directions{
    color:#9f1d20 !important;
}
.footer-directions:hover{
    opacity:.8;
}

/* Dining subpage menu */
.subpage-hero{
  min-height:42vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:140px 24px 80px;
  background:#050505;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.subpage-hero h1{
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(2.4rem,5vw,5.5rem);
  font-weight:400;
  line-height:1;
  margin:12px 0 18px;
  color:#f4f2ed;
}
.menu-experience{
  font-family:var(--font-nav, Montserrat, Arial, sans-serif);
  font-size:11px!important;
  font-weight:300!important;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:#f4f2ed;
}
.dining-menu-page{
  background:#050505;
  padding:clamp(48px,7vw,110px) clamp(24px,6vw,92px);
}
.menu-intro{
  max-width:760px;
  margin:0 auto 56px;
  text-align:center;
}
.menu-intro h2{
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(2rem,3.4vw,4rem);
  font-weight:400;
  margin:10px 0 12px;
}
.menu-intro p{
  font-size:15px!important;
  font-weight:300!important;
  letter-spacing:.02em;
}
.menu-grid{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:42px 72px;
}
.menu-section-block{
  border-top:1px solid rgba(159,29,32,.8);
  padding-top:22px;
}
.menu-section-block h2{
  font-family:var(--font-nav, Montserrat, Arial, sans-serif);
  font-size:11px!important;
  font-weight:400!important;
  letter-spacing:.24em;
  color:#9f1d20;
  text-transform:uppercase;
  margin:0 0 22px;
}
.menu-row{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:8px 0;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.menu-item-copy{
  font-size:14.5px;
  line-height:1.45;
  color:#f4f2ed;
}
.menu-item-name{
  font-family:var(--font-nav, Montserrat, Arial, sans-serif);
  font-size:12px;
  font-weight:500;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.menu-item-desc{
  font-family:var(--font-body, Inter, Arial, sans-serif);
  font-weight:300;
  color:rgba(244,242,237,.76);
}
.menu-price{
  font-family:var(--font-nav, Montserrat, Arial, sans-serif);
  font-size:12px;
  color:#f4f2ed;
  white-space:nowrap;
}
@media(max-width:850px){
  .menu-grid{grid-template-columns:1fr;gap:38px;}
  .subpage-hero{padding-top:120px;}
}

/* Subpage menu styling final */
.subpage-hero{
  min-height:42vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:140px 24px 80px;
  background:#050505;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.subpage-hero h1{
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(2.4rem,5vw,5.5rem);
  font-weight:400;
  line-height:1;
  margin:12px 0 18px;
  color:#f4f2ed;
}
.menu-experience,.menu-service{
  font-family:var(--font-nav, Montserrat, Arial, sans-serif);
  font-size:10.5px!important;
  font-weight:300!important;
  letter-spacing:.28em;
  text-transform:uppercase;
  line-height:1.9;
  color:#f4f2ed;
}
.menu-service{color:rgba(244,242,237,.72); margin-top:12px;}
.dining-menu-page{
  background:#050505;
  padding:clamp(48px,7vw,110px) clamp(24px,6vw,92px);
}
.menu-intro{
  max-width:760px;
  margin:0 auto 56px;
  text-align:center;
}
.menu-intro h2{
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(2rem,3.4vw,4rem);
  font-weight:400;
  margin:10px 0 12px;
}
.menu-intro p{
  font-size:15px!important;
  font-weight:300!important;
  letter-spacing:.02em;
}
.menu-grid{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:42px 72px;
}
.menu-section-wide{grid-column:1 / -1; max-width:850px; margin:0 auto; width:100%;}
.menu-section-block{
  border-top:1px solid rgba(159,29,32,.8);
  padding-top:22px;
}
.menu-section-block h2{
  font-family:var(--font-nav, Montserrat, Arial, sans-serif);
  font-size:11px!important;
  font-weight:400!important;
  letter-spacing:.24em;
  color:#9f1d20;
  text-transform:uppercase;
  margin:0 0 22px;
}
.menu-row{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:8px 0;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.menu-item-copy{
  font-size:14.5px;
  line-height:1.45;
  color:#f4f2ed;
}
.menu-item-name{
  font-family:var(--font-nav, Montserrat, Arial, sans-serif);
  font-size:12px;
  font-weight:500;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.menu-item-desc{
  font-family:var(--font-body, Inter, Arial, sans-serif);
  font-weight:300;
  color:rgba(244,242,237,.76);
}
.menu-price{
  font-family:var(--font-nav, Montserrat, Arial, sans-serif);
  font-size:12px;
  color:#f4f2ed;
  white-space:nowrap;
}
.wine-head{
  display:flex;
  justify-content:space-between;
  font-family:var(--font-nav, Montserrat, Arial, sans-serif);
  font-size:10px;
  letter-spacing:.18em;
  color:rgba(244,242,237,.48);
  text-transform:uppercase;
  margin-bottom:8px;
}
.menu-quote{
  text-align:center;
  margin:70px auto 0;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.5rem,2.8vw,3rem);
  color:#f4f2ed;
  line-height:1.4;
}
.menu-quote span,.menu-quote em{
  display:block;
  font-family:var(--font-nav, Montserrat, Arial, sans-serif);
  font-size:10px;
  font-style:normal;
  letter-spacing:.22em;
  color:#9f1d20;
  text-transform:uppercase;
}
.play,.play-button,.video-play,.video-button,.play-icon,.video-icon,[class*="play"],[class*="video-play"]{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
@media(max-width:850px){
  .menu-grid{grid-template-columns:1fr;gap:38px;}
  .subpage-hero{padding-top:120px;}
}

/* Final Gallery Page */
.gallery-hero{
  min-height:48vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:150px 24px 90px;
  background:#050505;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.gallery-hero-inner{max-width:840px;}
.gallery-hero h1{
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(2.7rem,5.4vw,6rem);
  font-weight:400;
  line-height:1;
  margin:14px 0 24px;
  color:#f4f2ed;
}
.gallery-hero p:not(.eyebrow){
  max-width:680px;
  margin:0 auto;
  font-size:15px!important;
  font-weight:300!important;
  line-height:1.8;
  color:rgba(244,242,237,.74);
}
.gallery-page{
  background:#050505;
  padding:46px clamp(18px,4vw,68px) 90px;
}
.gallery-filter{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:center;
  margin:0 auto 42px;
}
.gallery-filter button{
  background:transparent;
  border:1px solid rgba(255,255,255,.16);
  color:rgba(244,242,237,.72);
  padding:10px 16px;
  font-family:var(--font-nav, Montserrat, Arial, sans-serif);
  font-size:10px;
  font-weight:400;
  letter-spacing:.2em;
  text-transform:uppercase;
  cursor:pointer;
}
.gallery-filter button.active,
.gallery-filter button:hover{
  color:#9f1d20;
  border-color:#9f1d20;
}
.gallery-grid{
  columns:4 260px;
  column-gap:18px;
  max-width:1480px;
  margin:0 auto;
}
.gallery-card{
  break-inside:avoid;
  margin:0 0 18px;
  position:relative;
  overflow:hidden;
  background:#0a0a0a;
  border:1px solid rgba(255,255,255,.07);
}
.gallery-card img{
  display:block;
  width:100%;
  height:auto;
  transition:transform .6s ease, opacity .6s ease;
}
.gallery-card:hover img{
  transform:scale(1.025);
  opacity:.86;
}
.gallery-card figcaption{
  padding:14px 15px 16px;
  font-size:13px;
  line-height:1.45;
  color:rgba(244,242,237,.72);
}
.gallery-card figcaption span{
  display:block;
  margin-bottom:5px;
  font-family:var(--font-nav, Montserrat, Arial, sans-serif);
  font-size:9px;
  letter-spacing:.22em;
  color:#9f1d20;
  text-transform:uppercase;
}
@media(max-width:900px){
  .gallery-grid{columns:2 160px; column-gap:12px;}
  .gallery-card{margin-bottom:12px;}
  .gallery-page{padding-left:14px; padding-right:14px;}
}

/* Fixed The Space gallery link and Our Story placement */
#philosophy.philosophy-swap .text-panel{order:1!important;}
#philosophy.philosophy-swap .photo{order:2!important;}
#philosophy .story-link{
  display:inline-block!important;
  margin:8px 0 34px!important;
  color:#9f1d20!important;
}
.gallery-card figcaption{display:none!important;}

/* Our Story page final content */
.story-hero{
  min-height:42vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:140px 24px 80px;
  background:#050505;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.story-hero h1{
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(2.8rem,5.8vw,6.2rem);
  font-weight:400;
  letter-spacing:.18em;
  padding-left:.18em;
  margin:12px 0 16px;
  color:#f4f2ed;
}
.story-hero p:not(.eyebrow){
  font-family:var(--font-nav, Montserrat, Arial, sans-serif);
  font-size:10.5px!important;
  font-weight:300!important;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:rgba(244,242,237,.72);
}
.story-page{
  background:#050505;
  padding:clamp(54px,8vw,120px) clamp(24px,7vw,110px);
}
.story-content{
  max-width:880px;
  margin:0 auto;
}
.story-content h2{
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(2rem,3.5vw,4rem);
  font-weight:400;
  line-height:1.1;
  margin:0 0 38px;
  color:#f4f2ed;
}
.story-content p{
  font-size:16px!important;
  font-weight:300!important;
  line-height:1.85!important;
  color:rgba(244,242,237,.78);
  margin:0 0 24px;
}
.story-ending{
  margin-top:38px!important;
  color:#f4f2ed!important;
}
#philosophy .story-link{
  display:inline-block!important;
  margin:8px 0 34px!important;
  color:#9f1d20!important;
}


/* Actual page background hero images */
.dining-page main > section:first-child{
  background-image:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),url("assets/dining-bg.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}

.breakfast-page main > section:first-child{
  background-image:linear-gradient(rgba(0,0,0,.50),rgba(0,0,0,.50)),url("assets/breakfast-bg.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}

.cocktails-page main > section:first-child{
  background-image:linear-gradient(rgba(0,0,0,.52),rgba(0,0,0,.52)),url("assets/cocktails-bg.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}

.wine-page main > section:first-child{
  background-image:linear-gradient(rgba(0,0,0,.52),rgba(0,0,0,.52)),url("assets/wine-bg.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}

.the-space-page main > section:first-child{
  background-image:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),url("assets/space-bg.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}

.reservations-page main > section:first-child{
  background-image:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),url("assets/reservations-bg.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}

/* Final fixes: Space background, Chef size, Wines link */
#space.space,
section.space#space{
  background-image:linear-gradient(rgba(0,0,0,.48),rgba(0,0,0,.48)),url("assets/space-bg.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}

.the-space-page main > section:first-child{
  background-image:linear-gradient(rgba(0,0,0,.48),rgba(0,0,0,.48)),url("assets/space-bg.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}

#philosophy .photo{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

#philosophy .photo img,
#philosophy img[data-editable-image="chef-cheyne"],
img[src*="chef-cheyne"]{
  width:60% !important;
  max-width:60% !important;
  height:auto !important;
  margin:0 auto !important;
  display:block !important;
  object-fit:contain !important;
}

.feature-card a.cta[href="wine.html"],
.wine-menu-link{
  display:inline-block !important;
  visibility:visible !important;
  opacity:1 !important;
  margin-top:18px !important;
  color:#9f1d20 !important;
  text-decoration:none !important;
  z-index:20 !important;
  position:relative !important;
}


/* Force Gallery hero background image */
.gallery-hero{
  background-image:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.55)),url("assets/gallery-hero-bg.png") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}
