:root{--cream:#f4eddf;--paper:#fffaf0;--ink:#1d2820;--berry:#8e1f3d;--berry-dark:#5c1327;--yolk:#f0b528;--leaf:#9fc54c;--line:rgba(29,40,32,.18);--serif:"DM Serif Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden}
body{margin:0;max-width:100%;overflow-x:hidden;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5}
@supports(overflow:clip){html,body{overflow-x:clip}}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
.skip-link{position:fixed;left:1rem;top:-4rem;z-index:100;background:var(--paper);padding:.75rem 1rem}.skip-link:focus{top:1rem}
.site-header{height:92px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 3.5vw;background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:20}
.brand{width:112px}.brand img{width:100%;height:auto}
.site-nav{display:flex;align-items:center;gap:2.1rem;font-size:.79rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.site-nav a:not(.nav-cta){position:relative}.site-nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:currentColor;transition:right .25s}.site-nav a:hover:after{right:0}
.nav-cta{background:var(--berry);color:#fff;padding:.85rem 1.1rem}
.menu-toggle{display:none;border:0;background:none;text-transform:uppercase;font-size:.8rem;font-weight:700;letter-spacing:.1em}
.hero{height:calc(100svh - 92px);min-height:620px;position:relative;overflow:hidden;background:#263226;color:#fff}
.hero-media{position:absolute;inset:0;background:url("images/ynb-hr.jpg") center 48%/cover no-repeat;transform:scale(1.03)}
.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,28,20,.82) 0%,rgba(17,28,20,.42) 52%,rgba(17,28,20,.08) 100%),linear-gradient(0deg,rgba(17,28,20,.3),transparent 50%)}
.hero-copy{position:absolute;left:7vw;top:50%;transform:translateY(-48%);width:min(720px,72vw)}
.eyebrow{margin:0 0 1.3rem;text-transform:uppercase;font-weight:700;font-size:.74rem;letter-spacing:.2em}
.eyebrow:before{content:"";display:inline-block;width:36px;height:1px;background:currentColor;vertical-align:middle;margin-right:12px}
.hero h1,.story h2,.favorites h2,.visit h2{font-family:var(--serif);font-weight:400;line-height:.9;letter-spacing:-.04em;margin:0}
.hero h1{font-size:clamp(4.6rem,9.2vw,9rem)}
.hero h1 em,.story h2 em,.favorites h2 em,.visit h2 em{font-weight:400}
.hero h1 em{color:#ffd15c}
.hero-subtitle{font-size:clamp(1rem,1.4vw,1.25rem);max-width:590px;margin:2rem 0 2.4rem;color:rgba(255,255,255,.82)}
.hero-actions{display:flex;align-items:center;gap:2rem}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:3rem;padding:1rem 1.25rem;min-width:215px;text-transform:uppercase;font-size:.73rem;font-weight:700;letter-spacing:.12em;transition:transform .2s,background .2s}
.button:hover{transform:translateY(-3px)}
.button-primary{background:var(--berry);color:#fff}.button-light{background:var(--paper);color:var(--ink)}.button-dark{background:var(--ink);color:#fff}
.text-link{display:inline-flex;gap:2rem;border-bottom:1px solid currentColor;padding:.45rem 0;font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.text-link.dark{color:var(--berry)}
.hero-note{position:absolute;right:3.5vw;bottom:3rem;writing-mode:vertical-rl;font-size:.67rem;letter-spacing:.24em;font-weight:700}
.marquee{overflow:hidden;background:var(--yolk);border-block:1px solid var(--ink);padding:1rem 0}
.marquee-track{display:flex;width:max-content;align-items:center;gap:2rem;animation:marquee 26s linear infinite;font-family:var(--serif);font-size:1.4rem}.marquee-track i{font-style:normal;font-size:.7rem}
@keyframes marquee{to{transform:translateX(-50%)}}
.story{position:relative;z-index:2;min-height:970px;padding:9rem 6vw 8rem;display:grid;grid-template-columns:1.25fr .7fr;grid-template-rows:auto 1fr;gap:4rem;background:var(--paper);overflow-x:clip;overflow-y:visible}
.story:before{content:"";position:absolute;width:430px;height:430px;border:1px solid var(--line);border-radius:50%;right:-150px;top:-170px;clip-path:inset(170px 150px 0 0)}
.story-heading h2{font-size:clamp(4rem,7vw,7rem)}.story-heading h2 em{color:var(--berry)}
.berry{color:var(--berry)}.gold{color:var(--yolk)}
.story-body{padding-top:2.6rem;max-width:350px}.story-body p{font-size:1.08rem;line-height:1.75;margin:0 0 2.5rem}
.story-photo{position:absolute;z-index:2;left:29vw;bottom:-4rem;width:39vw;height:430px;margin:0;overflow:hidden;border:12px solid var(--cream);transform:rotate(-2deg)}
.story-photo img,.story-photo-small img{width:100%;height:100%;object-fit:cover}
.story-photo-small{position:absolute;z-index:3;right:6vw;bottom:6rem;width:20vw;height:290px;margin:0;border:12px solid var(--cream);transform:rotate(4deg)}
.favorites{z-index:1;background:var(--berry-dark);color:#fff;padding:8rem 6vw;position:relative}
.favorites-intro{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:5rem}.favorites-intro h2{font-size:clamp(4rem,7.4vw,7.5rem)}.favorites-intro h2 em{color:var(--yolk)}.favorites-intro>p{max-width:420px;color:rgba(255,255,255,.7);font-size:1.05rem;line-height:1.7}
.dish-stage{display:grid;grid-template-columns:1.1fr .9fr;gap:6vw;align-items:start;margin-bottom:3rem}
.dish-photo-wrap{position:sticky;top:2rem;height:66vh;min-height:520px}.dish-photo{width:100%;height:100%;object-fit:cover}.dish-stamp{position:absolute;right:-38px;top:42px;width:100px;height:100px;border-radius:50%;background:var(--yolk);color:var(--ink);display:grid;place-content:center;text-align:center;text-transform:uppercase;font-size:.64rem;font-weight:700;letter-spacing:.12em;transform:rotate(9deg)}
.dish-list{list-style:none;margin:0;padding:0}.dish-list li{min-height:220px;padding:2rem 0;border-top:1px solid rgba(255,255,255,.28);display:grid;grid-template-columns:60px 1fr;align-content:center;color:rgba(255,255,255,.48);transition:color .25s}.dish-list li:last-child{border-bottom:1px solid rgba(255,255,255,.28)}.dish-list li:hover,.dish-list li.is-active{color:#fff}.dish-list li>span{font-size:.7rem;letter-spacing:.15em}.dish-list h3{font-family:var(--serif);font-weight:400;font-size:clamp(2.1rem,3.8vw,4rem);line-height:1;margin:0 0 .8rem}.dish-list p{margin:0;color:inherit}
.quote{background:var(--yolk);padding:8rem 12vw;text-align:center}.quote-mark{font-family:var(--serif);font-size:7rem;line-height:.5;margin:0 0 2rem;color:var(--berry)}.quote blockquote{font-family:var(--serif);font-size:clamp(2.4rem,4.5vw,5rem);line-height:1.05;margin:0 auto;max-width:1100px}.quote-source{margin:2.5rem 0 0;text-transform:uppercase;font-size:.66rem;letter-spacing:.2em;font-weight:700}
.faq{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;padding:8rem 6vw;background:var(--cream)}
.faq h2{font-family:var(--serif);font-size:clamp(4rem,6vw,6.5rem);font-weight:400;line-height:.88;letter-spacing:-.035em;margin:0}.faq h2 em{color:var(--berry);font-weight:400}
.faq-list{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.65rem 0;font-family:var(--serif);font-size:clamp(1.7rem,2.4vw,2.5rem);line-height:1}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-family:var(--sans);font-size:1.5rem;font-weight:300;transition:transform .2s}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{max-width:650px;margin:0;padding:0 3rem 1.75rem 0;color:rgba(29,40,32,.72);line-height:1.75}
.visit{display:grid;grid-template-columns:1fr 1fr;min-height:760px;background:var(--paper)}.visit-map{min-height:600px;filter:saturate(.35) contrast(1.05)}.visit-map iframe{border:0;width:100%;height:100%}.visit-copy{padding:8rem 7vw}.visit h2{font-size:clamp(4rem,6vw,6.5rem)}.visit h2 em{color:var(--berry)}
.visit-facts{margin:4rem 0;display:grid;grid-template-columns:1fr 1fr;gap:2rem;border-top:1px solid var(--line);padding-top:2rem}.visit-facts div:last-child{grid-column:1/-1;border-top:1px solid var(--line);padding-top:2rem}.visit-facts span{display:block;color:var(--berry);text-transform:uppercase;font-size:.66rem;letter-spacing:.18em;font-weight:700;margin-bottom:.75rem}.visit-facts p{margin:0}.visit-facts a{display:block}
.site-footer{background:var(--leaf);color:var(--ink);padding:4.5rem 5vw 2.5rem}.footer-logo{display:flex;justify-content:center;border-bottom:1px solid rgba(29,40,32,.3);padding-bottom:3rem}.footer-logo img{width:180px;height:auto}.footer-meta{padding-top:2rem;display:grid;grid-template-columns:1fr minmax(0,2fr) 1fr;gap:2rem;font-size:.7rem;letter-spacing:.09em;text-transform:uppercase}.footer-meta nav{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem 1.5rem}.footer-meta>p:last-child{text-align:right}
@media (max-width:900px){
  .site-header{height:76px;padding:0 1.25rem;grid-template-columns:1fr auto}.brand{width:90px}.menu-toggle{display:flex;gap:1rem}.site-nav{position:absolute;top:76px;left:0;right:0;background:var(--paper);display:none;flex-direction:column;align-items:stretch;padding:1.5rem;border-bottom:1px solid var(--line)}.site-nav.is-open{display:flex}
  .hero{height:calc(100svh - 76px)}.hero-copy{left:1.25rem;width:calc(100% - 2.5rem)}.hero h1{font-size:clamp(4rem,17vw,6rem)}.hero-note{display:none}.hero-actions{align-items:flex-start;flex-direction:column;gap:1.2rem}
  .story{padding:6rem 1.25rem 27rem;display:block;min-height:1000px}.story-heading h2{font-size:14vw}.story-body{margin-top:2.5rem}.story-photo{left:1.25rem;bottom:4rem;width:72vw;height:350px}.story-photo-small{right:1.25rem;bottom:1.5rem;width:42vw;height:220px}
  .favorites{padding:6rem 1.25rem}.favorites-intro{display:block}.favorites-intro>p{margin-top:2rem}.dish-stage{grid-template-columns:1fr}.dish-photo-wrap{position:relative;height:50vh;min-height:400px}.dish-stamp{right:-8px}.dish-list li{min-height:170px}.dish-list h3{font-size:2.35rem}
  .quote{padding:6rem 1.25rem}.faq{grid-template-columns:1fr;padding:6rem 1.25rem}.faq h2{font-size:16vw}.visit{grid-template-columns:1fr}.visit-map{min-height:420px}.visit-copy{padding:6rem 1.25rem}.visit h2{font-size:16vw}.footer-meta{grid-template-columns:1fr}.footer-meta nav{justify-content:flex-start}.footer-meta>p:last-child{text-align:left}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee-track{animation:none}}
