:root{--forest:#172219;--forest-soft:#213025;--ember:#c9552c;--ember-dark:#a63d20;--sage:#8f9a7e;--cream:#f1eadc;--paper:#f7f2e8;--ink:#18201a;--muted:#6c6d62;--line:#18201a2e;--serif:"Gilda Display", Georgia, serif;--sans:"DM Sans", system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0}body.modal-open{overflow:hidden}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}img{max-width:100%;display:block}.skip-link{z-index:1000;background:var(--cream);color:var(--ink);padding:.7rem 1rem;position:fixed;top:0;left:1rem;transform:translateY(-120%)}.skip-link:focus{transform:none}.nav{z-index:20;color:#fff;border-bottom:1px solid #ffffff38;justify-content:space-between;align-items:center;height:92px;padding:0 4vw;display:flex;position:absolute;inset:0 0 auto}.wordmark{color:#fff;font-family:var(--serif);letter-spacing:.02em;background:0 0;border:0;align-items:baseline;gap:.42rem;font-size:1.45rem;display:flex}.wordmark i{color:#dda786;font-size:.95rem;font-weight:400}.nav-links{align-items:center;gap:2.2rem;height:100%;display:flex}.nav-links button{color:inherit;text-transform:uppercase;letter-spacing:.14em;background:0 0;border:0;padding:.65rem 0;font-size:.68rem}.nav-links button:not(.nav-reserve):after{content:"";background:var(--cream);transform-origin:0;height:1px;margin-top:.25rem;transition:transform .25s;display:block;transform:scaleX(0)}.nav-links button:hover:after,.nav-links button:focus-visible:after{transform:scaleX(1)}.nav-links .nav-reserve{border:1px solid #ffffff9e;padding:.75rem 1.1rem;transition:all .25s}.nav-links .nav-reserve:hover{background:var(--cream);color:var(--forest)}.menu-toggle{display:none}.hero{background:var(--forest);color:#fff;height:100svh;min-height:760px;position:relative;overflow:hidden}.hero>img{object-fit:cover;object-position:center;width:100%;height:100%;animation:1.6s ease-out both heroIn}@keyframes heroIn{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}.hero-wash{background:linear-gradient(90deg,#0c160fe0 0%,#0c160f8c 42%,#0c160f1f 72%),linear-gradient(#0000 55%,#050b0780);position:absolute;inset:0}.image-fallback.failed:before{content:"";opacity:.82;background:radial-gradient(circle at 72% 60%,#c9552c61,#0000 25%),radial-gradient(circle at 76% 46%,#314534 0 2%,#0000 2.2%),repeating-radial-gradient(at 70% 58%,#2b3b2e 0 3%,#172219 4% 8%);position:absolute;inset:0}.hero-copy{z-index:2;width:min(680px,70vw);position:absolute;top:51%;left:8vw;transform:translateY(-46%)}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--ember-dark);align-items:center;gap:.8rem;margin:0 0 1.4rem;font-size:.68rem;font-weight:600;display:flex}.eyebrow span{background:currentColor;width:34px;height:1px}.eyebrow.light{color:#e1b39e}h1,h2,h3,blockquote{font-family:var(--serif);margin:0;font-weight:400}h1{letter-spacing:-.035em;font-size:clamp(4rem,7.2vw,7.7rem);line-height:.88}h1 em,h2 em{color:#d77954;font-weight:400}.hero-intro{font-family:var(--serif);color:#ffffffd1;max-width:510px;margin:1.8rem 0 2rem;font-size:clamp(1.15rem,1.45vw,1.5rem);line-height:1.5}.button{text-transform:uppercase;letter-spacing:.15em;border:1px solid;justify-content:space-between;align-items:center;gap:2.5rem;min-height:48px;padding:0 1.25rem;font-size:.68rem;font-weight:600;transition:background .25s,color .25s,border .25s,transform .25s;display:inline-flex}.button svg,.location a svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:19px}.button:hover{transform:translateY(-2px)}.button-light{background:var(--cream);color:var(--forest);border-color:var(--cream)}.button-light:hover{color:#fff;background:0 0}.button-ember{background:var(--ember);color:#fff;border-color:var(--ember)}.button-ember:hover{background:var(--ember-dark);border-color:var(--ember-dark)}.button-dark{background:var(--forest);color:#fff;border-color:var(--forest)}.hero-side{z-index:2;text-align:right;text-transform:uppercase;letter-spacing:.14em;color:#ffffffb8;font-size:.63rem;line-height:1.9;display:grid;position:absolute;bottom:4.5rem;right:4vw}.hero-side span:first-child{color:#fff}.scroll-cue{z-index:2;color:#fff;transform-origin:0 100%;text-transform:uppercase;letter-spacing:.18em;background:0 0;border:0;align-items:center;gap:.8rem;font-size:.58rem;display:flex;position:absolute;bottom:3.3rem;left:3.8vw;transform:rotate(-90deg)translateY(-100%)}.scroll-cue svg{fill:none;stroke:currentColor;width:22px;transform:rotate(90deg)}.section{padding-left:max(6vw,3rem);padding-right:max(6vw,3rem)}.story{grid-template-columns:1fr minmax(360px,.85fr);align-items:center;gap:9vw;min-height:870px;padding-top:8rem;padding-bottom:8rem;display:grid;position:relative}.story-copy{padding-left:5vw}h2{letter-spacing:-.035em;font-size:clamp(3.1rem,5vw,5.8rem);line-height:.95}.story-copy .lead{font-family:var(--serif);max-width:560px;margin:2.2rem 0 1.4rem;font-size:1.42rem;line-height:1.45}.story-copy>p:not(.eyebrow):not(.lead){color:var(--muted);max-width:570px;font-size:.94rem;line-height:1.8}.signature{color:var(--ember-dark);font-family:var(--serif);gap:.15rem;margin-top:2rem;font-size:1.3rem;font-style:italic;display:grid}.signature small{color:var(--muted);font-family:var(--sans);text-transform:uppercase;letter-spacing:.14em;font-size:.62rem;font-style:normal}.story-image{background:var(--forest-soft);height:660px;margin:0;position:relative;overflow:hidden}.story-image img{object-fit:cover;width:100%;height:100%}.story-image figcaption{background:var(--paper);text-transform:uppercase;letter-spacing:.12em;padding:1rem 1.25rem;font-size:.6rem;position:absolute;bottom:0;left:0}.story-image figcaption span{color:var(--ember);margin-right:1rem}.story-note{background:var(--ember);color:#fff;z-index:2;width:180px;padding:1.5rem;position:absolute;top:7rem;right:calc(max(6vw,3rem) - 2rem)}.story-note .leaf-mark{width:34px}.story-note p{font-family:var(--serif);margin:.7rem 0 0;font-size:1rem;line-height:1.35}.leaf-mark{fill:none;stroke:currentColor;stroke-width:1.5px;width:48px}.menu-section{background:var(--forest);color:var(--cream);padding-top:8rem;padding-bottom:7rem}.menu-heading{justify-content:space-between;align-items:flex-end;gap:3rem;padding-bottom:4rem;display:flex}.menu-heading>p{color:#aeb5aa;width:340px;font-size:.9rem;line-height:1.75}.menu-list{border-top:1px solid #ffffff2e}.menu-item{border-bottom:1px solid #ffffff2e;grid-template-columns:76px 150px 1fr 110px 60px;align-items:center;gap:1.2rem;min-height:128px;transition:background .3s;display:grid;position:relative}.menu-item:hover{background:#ffffff09}.menu-art{background:#334438;width:60px;height:76px;position:relative;overflow:hidden}.menu-art:before,.menu-art:after{content:"";position:absolute;inset:0}.menu-art.carrot:before{background:linear-gradient(115deg,#0000 20%,#cc6d32 21% 31%,#0000 32% 39%,#dd8c40 40% 52%,#0000 53%),#344538;transform:rotate(-8deg)}.menu-art.trout:before{background:radial-gradient(#c6a689 0 28%,#0000 29%),linear-gradient(145deg,#3c5143,#172219)}.menu-art.lamb:before{background:radial-gradient(circle at 45% 48%,#9c3d23 0 22%,#593020 23% 40%,#0000 41%),#d1b99a}.menu-art.cake:before{background:linear-gradient(135deg,#0000 30%,#d4aa62 31% 65%,#0000 66%),#765944}.menu-art span{z-index:2;letter-spacing:.12em;color:#fff;font-size:.5rem;position:absolute;bottom:4px;right:5px}.menu-course{text-transform:uppercase;letter-spacing:.12em;color:#aeb5aa;font-size:.59rem}.menu-name h3{font-size:1.45rem}.menu-name p{color:#aeb5aa;margin:.4rem 0 0;font-size:.78rem}.menu-cues{gap:.5rem;display:flex}abbr{text-decoration:none}.menu-cues abbr,.menu-key abbr{color:#b6c0b5;letter-spacing:.06em;border:1px solid #718073;padding:.27rem .33rem;font-size:.51rem}.menu-price{font-family:var(--serif);text-align:right;font-size:1.1rem}.menu-key{text-transform:uppercase;letter-spacing:.1em;color:#849086;gap:1.5rem;padding:1.3rem 0;font-size:.53rem;display:flex}.menu-key span:last-child{margin-left:auto}.quote-section{background:var(--ember);color:#fff;text-align:center;place-content:center;min-height:480px;padding:5rem 2rem;display:grid;position:relative;overflow:hidden}.quote-section .leaf-mark{color:#f0bc9d;margin:0 auto 1.6rem}.quote-section blockquote{font-size:clamp(2.6rem,5vw,5.2rem);line-height:1.05;position:relative}.quote-section>p{text-transform:uppercase;letter-spacing:.2em;color:#efc0ab;margin-top:1.7rem;font-size:.6rem}.embers i{opacity:.5;background:#f3c9a8;border-radius:50%;width:4px;height:4px;animation:6s ease-in infinite float;position:absolute}.embers i:first-child{bottom:15%;left:10%}.embers i:nth-child(2){animation-delay:2s;bottom:5%;left:22%}.embers i:nth-child(3){animation-delay:1s;bottom:20%;right:15%}.embers i:nth-child(4){animation-delay:3.5s;bottom:2%;right:30%}@keyframes float{to{opacity:0;transform:translateY(-420px)}}.visit{grid-template-columns:1.05fr .65fr .65fr;gap:6vw 4vw;padding-top:8rem;padding-bottom:8rem;display:grid}.visit-heading{grid-row:span 1}.hours h3,.location h3{text-transform:uppercase;letter-spacing:.16em;font-family:var(--sans);border-bottom:1px solid var(--line);padding-bottom:1rem;font-size:.68rem}.hours dl{margin:.7rem 0 0}.hours dl div{justify-content:space-between;gap:.6rem;padding:.55rem 0;font-size:.76rem;display:flex}.hours dt,.hours dd{margin:0}.hours dd{font-family:var(--serif)}.hours .muted{color:#a09d93}.location address{font-family:var(--serif);margin:1.15rem 0 1rem;font-size:1.15rem;font-style:normal;line-height:1.5}.location a{color:var(--ember-dark);text-transform:uppercase;letter-spacing:.14em;border-bottom:1px solid var(--ember);align-items:center;gap:.6rem;padding-bottom:.25rem;font-size:.58rem;text-decoration:none;display:inline-flex}.map-card{background-color:#ded7c9;background-image:radial-gradient(#bdb6a9 1px,#0000 1px);background-size:12px 12px;grid-column:1/-1;height:340px;margin-top:2rem;position:relative;overflow:hidden}.map-card svg{width:100%;height:100%}.road{fill:none;stroke:#f5efe3;stroke-width:24px}.river{fill:none;stroke:#97aaa2;stroke-width:18px;opacity:.8}.map-card circle{fill:var(--ember)}.pin{fill:var(--ember);transform-origin:273px 158px;filter:drop-shadow(0 5px 6px #331e1040);transform:translateY(-78px)scale(.82)}.map-card strong{font-family:var(--serif);color:var(--forest);font-size:1.1rem;line-height:.9;position:absolute;top:33%;left:57%}.map-label{color:#777970;letter-spacing:.15em;text-transform:uppercase;font-size:.55rem;position:absolute}.label-one{top:27%;left:10%}.label-two{bottom:22%;right:11%}.reserve-banner{color:#fff;background:linear-gradient(110deg,#101d13f2,#101d13cc),url(/images/ember-table.png) 50% 62%/cover;justify-content:space-between;align-items:center;gap:3rem;min-height:280px;padding:4rem max(8vw,3rem);display:flex}.reserve-banner h2{font-size:clamp(2.8rem,4vw,4.5rem)}footer{color:#a8b0a7;background:#111a13;grid-template-columns:1fr auto 1fr;align-items:center;padding:3rem max(6vw,3rem);font-size:.63rem;display:grid}.footer-mark{color:#fff;font-family:var(--serif);align-items:center;gap:.8rem;font-size:1.25rem;display:flex}.footer-mark .leaf-mark{width:30px;color:var(--ember)}.footer-mark i{color:var(--ember)}footer>p{font-family:var(--serif);font-size:.95rem}.footer-links{justify-content:flex-end;gap:1.3rem;display:flex}.footer-links a{text-decoration:none}[data-reveal]{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(22px)}[data-reveal].is-visible{opacity:1;transform:none}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080d09c2;place-items:center;padding:1.5rem;animation:.2s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.modal{background:var(--paper);width:min(680px,100%);max-height:calc(100svh - 3rem);padding:3rem;position:relative;overflow-y:auto;box-shadow:0 30px 80px #0006}.modal-close{border:1px solid var(--line);width:38px;height:38px;color:var(--ink);background:0 0;border-radius:50%;font-size:1.5rem;line-height:1;position:absolute;top:1.2rem;right:1.3rem}.modal h2{font-size:clamp(2.5rem,5vw,4rem)}.modal-heading>p:last-child{color:var(--muted);font-size:.8rem}.modal form{gap:1.2rem;margin-top:2rem;display:grid}.modal label,.modal legend{text-transform:uppercase;letter-spacing:.13em;font-size:.62rem;font-weight:600}.modal label{gap:.5rem;display:grid}.field-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.modal input,.modal select{width:100%;height:48px;color:var(--ink);text-transform:none;letter-spacing:normal;background:#fffdf8;border:1px solid #c6c0b4;border-radius:0;padding:0 .8rem}.modal input:focus,.modal select:focus{outline:2px solid var(--ember);outline-offset:1px}.modal input[aria-invalid=true]{border-color:#a52f1d}.modal fieldset{border:0;margin:0;padding:0}.modal legend{margin-bottom:.6rem}.time-grid{grid-template-columns:repeat(3,1fr);gap:.55rem;display:grid}.time-grid button{background:0 0;border:1px solid #c6c0b4;padding:.7rem .4rem;font-size:.72rem}.time-grid button:hover,.time-grid button.selected{background:var(--forest);color:#fff;border-color:var(--forest)}.error{color:#9c2d1a;letter-spacing:normal;text-transform:none;font-size:.65rem;font-weight:400}.optional{color:#959187;margin-left:.4rem;font-weight:400}.submit-reservation{width:100%;margin-top:.2rem}.confirmation{text-align:center;padding:2rem 1rem 1rem}.confirmation-mark{background:var(--forest);width:72px;height:72px;color:var(--cream);border-radius:50%;place-items:center;margin:0 auto 1.6rem;display:grid}.confirmation .eyebrow{display:block}.confirmation h2{margin-bottom:1rem}.confirmation>p:not(.eyebrow){max-width:460px;color:var(--muted);margin:0 auto;line-height:1.6}.confirmation-details{border-block:1px solid var(--line);text-transform:uppercase;letter-spacing:.1em;justify-content:center;gap:1.5rem;margin:2rem 0;padding:1rem;font-size:.65rem;display:flex}@media (width<=900px){.nav{height:76px;padding:0 1.4rem}.menu-toggle{background:0 0;border:0;place-content:center;gap:6px;width:38px;height:38px;display:grid}.menu-toggle span{background:#fff;width:21px;height:1px;display:block}.nav-links{background:var(--forest);flex-direction:column;align-items:stretch;gap:1.4rem;width:100%;height:auto;padding:2rem;display:none;position:absolute;top:76px;left:0}.nav-links.open{display:flex}.nav-links button{text-align:left;font-size:.75rem}.nav-links .nav-reserve{text-align:center}.hero{min-height:680px}.hero-copy{width:calc(100% - 3rem);top:50%;left:1.5rem}.hero-side,.scroll-cue{display:none}h1{font-size:clamp(3.65rem,15vw,5.5rem)}.section{padding-left:1.5rem;padding-right:1.5rem}.story{grid-template-columns:1fr;gap:3rem;padding-top:6rem;padding-bottom:6rem}.story-copy{padding-left:0}.story-image{height:min(650px,125vw)}.story-note{top:auto;bottom:4rem;right:.5rem}.menu-heading{flex-direction:column;align-items:flex-start}.menu-heading>p{width:auto}.menu-item{grid-template-columns:64px 1fr auto;gap:.7rem 1rem;padding:1rem 0}.menu-art{grid-row:1/span 2}.menu-course,.menu-name{grid-column:2}.menu-cues{grid-area:1/3}.menu-price{grid-area:2/3}.menu-key{flex-wrap:wrap}.menu-key span:last-child{width:100%;margin:.4rem 0 0}.visit{grid-template-columns:1fr 1fr}.visit-heading{grid-column:1/-1}.reserve-banner{flex-direction:column;align-items:flex-start}footer{text-align:center;grid-template-columns:1fr;gap:1.5rem}.footer-mark,.footer-links{justify-content:center}.footer-links{flex-wrap:wrap}}@media (width<=560px){.hero-wash{background:linear-gradient(#0a120c40 18%,#0a120ce6)}.hero>img{object-position:67% center}.hero-copy{top:auto;bottom:4.2rem;transform:none}.hero-intro{font-size:1.05rem}.button{width:100%}.story-note{width:155px}.menu-section{padding-top:5rem;padding-bottom:4rem}.menu-item{grid-template-columns:54px 1fr auto}.menu-art{width:48px;height:64px}.menu-name h3{font-size:1.18rem}.menu-name p{line-height:1.5}.visit{grid-template-columns:1fr;padding-top:6rem;padding-bottom:5rem}.visit-heading{grid-column:auto}.map-card{height:270px}.reserve-banner{padding:4rem 1.5rem}.modal-backdrop{align-items:end;padding:0}.modal{max-height:94svh;padding:2.5rem 1.25rem 1.5rem}.field-grid{grid-template-columns:1fr}.time-grid{grid-template-columns:repeat(2,1fr)}.confirmation{padding:2rem 0 1rem}.confirmation-details{flex-direction:column;gap:.6rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-reveal]{opacity:1;transform:none}}
