@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&display=swap');
:root{--blue:#252A36;--orange:#9B5B25;--sand:#D1CCBD;--paper:#E7E1D6;--line:rgba(37,42,54,.22);--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',sans-serif;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--sand);color:var(--blue);font-family:var(--sans);font-weight:400}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit;color:inherit}.page{overflow:hidden}.wrap{width:min(1380px,calc(100% - 72px));margin:auto}
/* navigation */
.site-header{position:absolute;inset:0 0 auto;z-index:20;padding:28px 36px;color:var(--sand)}.nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}.nav-meta{font-size:10px;letter-spacing:.18em;text-transform:uppercase;line-height:1.5;opacity:.8}.nav-meta span{display:block}.nav-logo{width:54px;height:auto}.nav-links{display:flex;justify-content:flex-end;align-items:center;gap:24px;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.nav-links a{position:relative}.nav-links a::after{content:'';position:absolute;left:0;bottom:-5px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1);transform-origin:left}.langs{display:flex;gap:8px;margin-left:8px;padding-left:16px;border-left:1px solid rgba(209,204,189,.35)}.langs a{opacity:.5}.langs a.active,.langs a:hover{opacity:1}
/* home hero */
.hero{min-height:100svh;position:relative;background:#111;display:flex;align-items:flex-end;color:var(--sand)}.hero-image{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.18) 65%,rgba(0,0,0,.35)),url('../img/hero-desktop.jpg');background-size:cover;background-position:center}.hero-image::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.62),transparent 45%)}.hero-content{position:relative;z-index:2;width:min(1380px,calc(100% - 72px));margin:0 auto;padding:150px 0 74px;display:grid;grid-template-columns:1.05fr .95fr;align-items:end;gap:50px}.hero-kicker{font-size:10px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:24px;color:var(--orange)}.hero-title{font-family:var(--serif);font-weight:400;max-width:920px}.hero-title em{font-style:italic;color:var(--sand)}.hero-side{justify-self:end;max-width:330px;padding-bottom:7px}.hero-side p{font-size:14px;line-height:1.65;color:rgba(209,204,189,.82)}.hero-side .line{width:52px;height:1px;background:var(--orange);margin-bottom:18px}.hero-scroll{margin-top:38px;display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:.18em;text-transform:uppercase;opacity:.75}.hero-scroll i{display:block;width:42px;height:1px;background:var(--sand)}
/* editorial intro */
.statement{padding:150px 0 130px;background:var(--sand)}.statement-grid{display:grid;grid-template-columns:180px 1fr;gap:70px}.eyebrow{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);padding-top:10px}.statement h2{font-family:var(--serif);font-weight:400;max-width:1000px}.statement h2 em{font-style:italic}.statement-note{margin-top:42px;margin-left:27%;max-width:480px;font-size:14px;line-height:1.75;opacity:.78}
/* image composition */
.editorial{background:var(--paper);padding:0;overflow:hidden}
.image-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.photo{overflow:hidden;position:relative;height:clamp(560px,72vh,820px)}
.photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s var(--ease)}
.photo:hover img{transform:scale(1.025)}
.photo-caption{display:none}
.photo-caption span:last-child{color:var(--orange)}
/* experience */
.experience{background:var(--blue);color:var(--sand);padding:150px 0}.experience-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.experience-title{font-family:var(--serif);font-weight:400}.experience-title em{font-style:italic;color:var(--orange)}.experience-copy{max-width:560px;font-size:14px;line-height:1.8;color:rgba(209,204,189,.78)}.details{margin-top:55px;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(209,204,189,.24)}.detail{padding:18px 18px 0 0;font-size:12px;line-height:1.7}.detail+ .detail{border-left:1px solid rgba(209,204,189,.24);padding-left:18px}.detail-label{display:block;font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);margin-bottom:8px}.detail a:hover{text-decoration:underline;text-underline-offset:4px}
/* menu invitation */
.menu-invite{background:var(--orange);color:var(--sand);padding:115px 0}.menu-invite-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}.menu-invite h2{font-family:var(--serif);font-weight:400}.menu-invite h2 em{font-style:italic}.menu-invite p{max-width:390px;font-size:13px;line-height:1.7;margin-bottom:12px}.text-link{position:relative;display:inline-flex;align-items:center;gap:14px;font-size:10px;letter-spacing:.17em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:8px}.text-link::after{content:'';display:block;width:18px;height:1px;background:currentColor;flex:0 0 18px;transition:transform .3s var(--ease)}.text-link::before{content:'';display:block;width:6px;height:6px;border-top:1px solid currentColor;border-right:1px solid currentColor;position:static;transform:rotate(45deg);margin-left:-10px;flex:0 0 6px;transform-origin:center}.text-link:hover::after{transform:translateX(3px)}.text-link:hover::before{transform:translate(3px) rotate(45deg)}
/* footer */
.footer{background:var(--blue);color:var(--sand);padding:34px 0}.footer-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:30px}.footer small{font-size:8px;letter-spacing:.14em;text-transform:uppercase;opacity:.55}.footer-social{display:flex;justify-content:flex-end;gap:20px;font-size:9px;letter-spacing:.15em;text-transform:uppercase}.footer-social a:hover{color:var(--orange)}
/* subpages */
.subpage{background:var(--sand);min-height:100svh}.sub-header{position:relative;background:var(--blue);color:var(--sand);padding:28px 36px}.sub-header .nav{width:100%;margin:auto}.sub-hero{background:var(--blue);color:var(--sand);padding:85px 0 90px}.sub-kicker{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin-bottom:20px}.sub-title{font-family:var(--serif);font-weight:400}.sub-intro{display:flex;justify-content:space-between;gap:40px;margin-top:35px}.sub-intro p{max-width:390px;font-size:13px;line-height:1.7;color:rgba(209,204,189,.7)}
.menu-list{padding:70px 0 130px}.menu-row{display:grid;grid-template-columns:90px 1fr auto;gap:30px;align-items:center;padding:32px 0;border-top:1px solid var(--line);transition:padding .45s var(--ease)}.menu-row:last-child{border-bottom:1px solid var(--line)}.menu-row:hover{padding-left:12px;padding-right:12px}.menu-num{font-size:9px;letter-spacing:.15em;color:var(--orange)}.menu-name{font-family:var(--serif);font-size:clamp(42px,5.5vw,82px);font-weight:400;line-height:.9;letter-spacing:-.05em}.menu-open{font-size:9px;letter-spacing:.18em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;position:relative;width:18px;height:18px}.menu-open::after{content:'';display:block;width:10px;height:10px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:translate(-1px,1px)}.allergen{margin-top:50px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;opacity:.55;display:inline-flex;align-items:center;gap:8px}
.reserve-page{background:var(--paper);min-height:100svh}.reserve-body{padding:95px 0 130px}.reserve-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;align-items:start}.reserve-title{font-family:var(--serif);font-weight:400}.reserve-title em{font-style:italic;color:var(--orange)}.reserve-copy{margin-top:35px;max-width:320px;font-size:13px;line-height:1.75;opacity:.7}.widget-shell{min-height:560px;border:1px solid var(--line);background:rgba(209,204,189,.22);padding:28px;display:flex;align-items:center;justify-content:center}.widget-note{text-align:center;max-width:430px}.widget-note .widget-mark{font-family:var(--serif);font-size:48px;font-style:italic;margin-bottom:18px}.widget-note p{font-size:12px;line-height:1.7;opacity:.62}.widget-note code{display:block;margin-top:18px;font-size:9px;line-height:1.5;padding:12px;background:rgba(37,42,54,.07);text-align:left;white-space:pre-wrap}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.visible{opacity:1;transform:none}
@media(max-width:850px){.wrap{width:calc(100% - 36px)}.site-header{padding:20px 18px}.nav{grid-template-columns:auto 1fr}.nav-meta{display:none}.nav-logo{width:46px;justify-self:start}.nav-links{display:flex;justify-content:flex-end;gap:12px;font-size:8px}.nav-links a::after{bottom:-3px}.hero-image{background-image:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.18)),url('../img/hero-mobile.jpg');background-position:center}.hero-content{width:calc(100% - 36px);padding:125px 0 48px;display:block}.hero-title{max-width:650px}.hero-side{margin-top:42px;max-width:300px}.hero-scroll{margin-top:28px}.statement{padding:90px 0 85px}.statement-grid{grid-template-columns:1fr;gap:28px}.statement-note{margin:35px 0 0;max-width:330px}.editorial{padding:0}
.image-grid{display:flex;gap:0;width:max-content;margin-left:0;margin-right:0;padding-right:0}
.photo{flex:0 0 84vw;height:72vh;min-height:520px;max-height:760px}
.photo-large,.photo-small{height:auto;margin:0}.experience{padding:90px 0}.experience-grid{grid-template-columns:1fr;gap:55px}.experience-copy{max-width:480px}.menu-invite{padding:85px 0}.menu-invite-grid{grid-template-columns:1fr;gap:45px}.footer-grid{grid-template-columns:1fr auto;align-items:center}.footer-social{grid-column:1/-1;justify-content:flex-start}.sub-header .nav{width:calc(100% - 36px)}.sub-hero{padding:70px 0 70px}.sub-intro{display:block}.sub-intro p{margin-top:25px}.menu-list{padding:35px 0 85px}.menu-row{grid-template-columns:48px 1fr auto;gap:12px;padding:24px 0}.menu-name{font-size:clamp(39px,12vw,65px)}.menu-open{font-size:8px}.reserve-body{padding:60px 0 85px}.reserve-layout{grid-template-columns:1fr;gap:55px}.widget-shell{min-height:480px;padding:18px}.langs{gap:6px;padding-left:9px;margin-left:0}.mobile-hide{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.photo img,.menu-row{transition:none}}

/* refined menu direction */
.menu-hero{padding-bottom:110px}
.menu-hero .sub-title{max-width:1050px}
.menu-intro{margin-top:42px;max-width:470px;color:rgba(209,204,189,.68);font-size:12px;line-height:1.8}
.menu-stack{border-top:1px solid var(--line)}
.menu-list-refined{padding-top:72px}
.menu-card{display:grid;grid-template-columns:70px minmax(0,1fr) 120px;gap:28px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line);transition:padding .5s var(--ease),background .5s var(--ease)}
.menu-card:hover{padding-left:18px;padding-right:18px;background:rgba(37,42,54,.035)}
.menu-card-index{font-size:9px;letter-spacing:.18em;color:var(--orange)}
.menu-card-title{font-family:var(--serif);font-size:clamp(27px,3.4vw,54px);line-height:.98;letter-spacing:-.045em;font-weight:400}
.menu-card-title i{font-family:var(--sans);font-size:.42em;font-style:normal;opacity:.38;margin:0 .15em;vertical-align:.12em}
.menu-card .menu-open{justify-content:flex-end;white-space:nowrap;opacity:.65;transition:opacity .3s}
.menu-card:hover .menu-open{opacity:1}
.menu-open b{font-size:16px;font-weight:400}
.allergen{display:inline-block;margin-top:34px}
@media(max-width:850px){
  .editorial{
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
  }
  .editorial::-webkit-scrollbar{display:none}
  .image-grid{
    display:flex;
    flex-wrap:nowrap;
    width:max-content;
    min-width:100%;
    gap:0;
    margin:0;
    padding:0;
  }
  .photo{
    flex:0 0 84vw;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
}

@media(max-width:850px){
 .menu-hero{padding-bottom:75px}
 .menu-intro{margin-top:30px}
 .menu-list-refined{padding-top:45px}
 .menu-card{
   grid-template-columns:1fr auto;
   grid-template-areas:"index open" "title title";
   column-gap:14px;
   row-gap:8px;
   padding:24px 0;
 }
 .menu-card-index{grid-area:index}
 .menu-card .menu-open{grid-area:open}
 .menu-card-title{grid-area:title}
 .menu-card:hover{padding-left:8px;padding-right:8px}
}


/* menu typography refinement */
.menu-card-title{
  font-family:var(--sans);
  font-size:clamp(16px,1.65vw,25px);
  font-weight:500;
  letter-spacing:.045em;
  line-height:1.18;
  text-transform:uppercase;
}
.menu-card-title i{
  font-family:var(--sans);
  font-size:.9em;
  opacity:.28;
  margin:0 .25em;
  vertical-align:baseline;
}
@media(max-width:850px){
  .menu-card-title{font-size:16px;line-height:1.3;letter-spacing:.035em}
}

/* subpage header spacing refinement */
.subpage .site-header,
.reserve-page .site-header{
  position:relative;
  background:var(--blue);
  color:var(--sand);
}
.subpage .sub-hero{
  padding-top:58px;
  padding-bottom:86px;
}
.reserve-page .reserve-body{
  padding-top:78px;
}
@media(max-width:850px){
  .subpage .site-header,
  .reserve-page .site-header{padding:18px 18px;}
  .subpage .sub-hero{padding-top:48px;padding-bottom:58px;}
  .reserve-page .reserve-body{padding-top:52px;}
}

/* Equal section indicators and statement sizing */
.section-indicator { font-size: inherit !important; line-height: inherit !important; font-weight: inherit !important; letter-spacing: inherit !important; }

/* Final section indicator refinement */
.section-indicator {
  font-family: var(--sans);
  font-size: 9px !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase;
  color: var(--orange) !important;
}
.menu-invite .section-indicator {
  color: var(--sand) !important;
}

.allergen::after{content:"";display:inline-block;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:translate(-2px,1px)}
.allergen::before{content:"";position:relative;width:9px;height:1px;background:currentColor;transform:translate(8px,4px) rotate(-45deg);margin-left:-8px}


/* Unified serif heading size — all serif headings share one size on desktop and one on mobile */
.hero-title,
.statement h2,
.experience-title,
.menu-invite h2,
.sub-title,
.reserve-title {
  font-size: clamp(64px, 5.5vw, 90px);
  line-height: .92;
  letter-spacing: -.055em;
}
@media (max-width: 850px) {
  .hero-title,
  .statement h2,
  .experience-title,
  .menu-invite h2,
  .sub-title,
  .reserve-title {
    font-size: clamp(42px, 11vw, 60px);
    line-height: .96;
    letter-spacing: -.045em;
  }
}

/* Final arrow treatment — CSS only, never rendered as an emoji */
.menu-open{font-size:0 !important;letter-spacing:0 !important;display:flex !important;align-items:center !important;justify-content:flex-end !important;width:28px !important;height:16px !important;position:relative !important;color:inherit !important}
.menu-open::before{content:'' !important;position:absolute !important;left:0 !important;top:7px !important;width:19px !important;height:1px !important;background:currentColor !important;transform:none !important;margin:0 !important}
.menu-open::after{content:'' !important;position:absolute !important;right:0 !important;top:4px !important;width:7px !important;height:7px !important;border-top:1px solid currentColor !important;border-right:1px solid currentColor !important;transform:rotate(45deg) !important;margin:0 !important}
.allergen{position:relative !important;padding-right:22px !important}
.allergen::before{content:'' !important;position:absolute !important;right:0 !important;top:50% !important;width:15px !important;height:1px !important;background:currentColor !important;transform:translateY(-50%) !important;margin:0 !important}
.allergen::after{content:'' !important;position:absolute !important;right:0 !important;top:50% !important;width:6px !important;height:6px !important;border-top:1px solid currentColor !important;border-right:1px solid currentColor !important;transform:translateY(-50%) rotate(45deg) !important}

/* Literal text arrows: no CSS-drawn arrows */
.text-link::before,
.text-link::after,
.menu-open::before,
.menu-open::after {
  content: none !important;
  display: none !important;
}
.text-link {
  gap: 8px !important;
}
.menu-open {
  font-size: 16px !important;
  width: auto !important;
  height: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}
