:root{--river:#173f3b;--river-deep:#0c2c2a;--cream:#f3efe6;--paper:#fbf8f1;--ink:#20302d;--gold:#c99a57;--line:rgba(32,48,45,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}button,a{font:inherit}a{color:inherit}.announcement{height:34px;background:#dcb777;color:#17312e;display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.announcement button{border:0;border-bottom:1px solid currentColor;background:none;padding:0;cursor:pointer;text-transform:uppercase;font-size:10px;letter-spacing:.09em}.site-header{position:absolute;top:34px;z-index:5;width:100%;height:92px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 4.5vw;color:#fff;border-bottom:1px solid rgba(255,255,255,.25)}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;width:max-content}.brand b,.brand small{display:block}.brand b{font-family:Italiana,serif;font-weight:400;font-size:28px;line-height:.9}.brand small{text-transform:uppercase;letter-spacing:.19em;font-size:8px;margin-top:5px}.brand-mark{display:flex;align-items:flex-end;gap:3px;height:28px}.brand-mark i{display:block;width:2px;background:currentColor;border-radius:5px}.brand-mark i:nth-child(1){height:18px;transform:rotate(-18deg)}.brand-mark i:nth-child(2){height:28px}.brand-mark i:nth-child(3){height:18px;transform:rotate(18deg)}nav{display:flex;gap:34px}nav a{text-decoration:none;font-size:12px;letter-spacing:.08em}nav a:hover{opacity:.7}.button{border:0;padding:15px 20px;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;text-decoration:none;text-transform:uppercase;font-size:10px;letter-spacing:.13em;cursor:pointer;transition:.25s}.button span{font-size:16px}.button-light{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.6)}.button-light:hover,.button-cream{background:var(--cream);color:var(--river-deep)}.button-cream:hover{background:#fff}.button-dark{background:var(--river-deep);color:#fff}.header-book{justify-self:end}.menu-toggle{display:none}.hero{height:calc(100vh - 34px);min-height:690px;position:relative;background:url('assets/restaurant-interior-hero.jpg') center/cover no-repeat;color:#fff}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,27,26,.78) 0%,rgba(9,36,33,.26) 54%,rgba(0,0,0,.05)),linear-gradient(0deg,rgba(4,20,19,.5),transparent 45%)}.hero-content{position:absolute;left:7vw;top:52%;transform:translateY(-43%);max-width:730px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:10px;font-weight:600;margin:0 0 24px}.eyebrow:before{content:"";display:inline-block;width:34px;height:1px;background:currentColor;vertical-align:middle;margin-right:12px}.eyebrow.light{color:#f2e6cf}h1,h2,h3{font-family:Italiana,serif;font-weight:400;margin:0}h1{font-size:clamp(52px,6.2vw,94px);line-height:.97;letter-spacing:-.02em}h1 em,h2 em{font-weight:400;color:#e0bc7a}h1 em{font-size:.82em}.hero-copy{font-size:16px;line-height:1.7;max-width:460px;margin:28px 0 30px;color:rgba(255,255,255,.86)}.hero-actions{display:flex;align-items:center;gap:32px}.text-link{display:inline-flex;gap:25px;text-transform:uppercase;letter-spacing:.14em;font-size:10px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:7px}.text-link.light{color:#fff}.hero-meta{position:absolute;bottom:28px;left:4.5vw;right:4.5vw;display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:.13em;font-size:9px}.hero-meta b{color:#f4cf8b}.section-pad{padding:120px 7vw}.intro{display:grid;grid-template-columns:.7fr 2fr 1fr;gap:8vw;align-items:center}.side-note{align-self:start;display:flex;gap:35px;color:#58706b}.side-note span{font-size:10px}.side-note p{font-family:Italiana,serif;font-size:18px;line-height:1.4;margin:0}.intro-copy h2,.section-heading h2,.visit h2{font-size:clamp(42px,5vw,70px);line-height:1.03;color:var(--river-deep)}.intro-copy>p:not(.eyebrow){max-width:600px;line-height:1.9;color:#65736f;margin:28px 0}.quote-card{border-left:1px solid var(--gold);padding:12px 0 12px 28px}.quote-card blockquote{font-family:Italiana,serif;font-size:25px;line-height:1.4;margin:0 0 25px}.stars{color:var(--gold);letter-spacing:3px;font-size:10px}.quote-card p{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#71817c}.day-section{background:#ebe5d9}.section-heading{display:grid;grid-template-columns:1.8fr 1fr;gap:14vw;align-items:end}.section-heading>p{line-height:1.8;color:#697772;margin:0}.menu-tabs{margin:70px 0 0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.menu-tabs button{background:none;border:0;border-right:1px solid var(--line);padding:24px;text-align:left;font-family:Italiana,serif;font-size:23px;color:#71807c;cursor:pointer;transition:.2s}.menu-tabs button:last-child{border:0}.menu-tabs button span{font-family:"DM Sans";display:block;text-transform:uppercase;font-size:8px;letter-spacing:.14em;margin-bottom:8px}.menu-tabs button[aria-selected="true"]{background:var(--river);color:#fff}.menu-panel{display:grid;grid-template-columns:1.07fr .93fr;min-height:580px;background:var(--paper)}.menu-image-wrap{position:relative;overflow:hidden}.menu-image-wrap img{width:100%;height:100%;object-fit:cover}.image-tag{position:absolute;bottom:20px;left:20px;background:rgba(249,245,235,.92);padding:9px 12px;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.menu-content{padding:65px 7vw 50px}.menu-content h3{font-size:52px;line-height:1.05;color:var(--river-deep)}.menu-desc{font-size:13px;line-height:1.8;color:#6e7b77;margin:20px 0 32px}.dish-list{margin-bottom:32px}.dish{padding:14px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:8px}.dish b{font-family:Italiana,serif;font-size:17px;font-weight:400}.dish span{font-size:12px}.dish small{grid-column:1/2;color:#788580;font-size:10px}.menu-note{text-align:right;color:#7d8884;font-size:9px;margin:15px 0 0}.river-break{height:280px;background:var(--river-deep);color:#d5b06f;display:flex;flex-direction:column;justify-content:center;align-items:center}.river-line{width:min(800px,80vw);display:flex;align-items:center;gap:20px;text-transform:uppercase;letter-spacing:.22em;font-size:9px}.river-line i{height:1px;background:rgba(213,176,111,.4);flex:1}.river-break p{font-family:Italiana,serif;font-size:70px;margin:15px 0 0}.gatherings{min-height:680px;background:linear-gradient(90deg,rgba(7,33,31,.97),rgba(7,33,31,.64)),url('assets/riverside-hero.jpg') center 48%/cover;color:#fff;display:grid;grid-template-columns:1.5fr 1fr;gap:14vw;align-items:center}.gathering-copy h2{font-size:clamp(50px,6vw,82px);line-height:1}.gathering-copy p:not(.eyebrow){max-width:520px;color:rgba(255,255,255,.75);line-height:1.9;margin:28px 0}.gathering-card{align-self:end;margin-bottom:20px;border-top:1px solid rgba(255,255,255,.45);padding-top:24px}.gathering-card span{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#ddbb7d}.gathering-card b{display:block;font-family:Italiana,serif;font-size:30px;font-weight:400;margin:14px 0}.gathering-card p{color:rgba(255,255,255,.65);line-height:1.7;font-size:12px}.visit-title{display:grid;grid-template-columns:1fr 2fr;align-items:start}.visit-title h2{grid-column:2}.visit-title p{grid-column:1}.visit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5vw;margin-top:75px;padding-top:35px;border-top:1px solid var(--line)}.label{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#75847f}.visit-grid p{font-family:Italiana,serif;font-size:21px;line-height:1.55;margin:18px 0}.visit-grid p a{text-decoration:none}.visit-grid b{font-weight:400;color:#65756f}.visit-grid small{color:#87928e}.socials{display:flex;gap:22px;margin-top:30px}.socials a{text-transform:uppercase;font-size:9px;letter-spacing:.12em}footer{background:#092927;color:#fff;padding:50px 5vw;display:flex;align-items:center;justify-content:space-between;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.footer-brand{color:#e9d6ad;text-transform:none}.footer-brand b{font-size:22px}.mobile-book{display:none}.modal{position:fixed;inset:0;z-index:20;display:grid;place-items:center;opacity:0;pointer-events:none;transition:.25s}.modal.open{opacity:1;pointer-events:auto}.modal-backdrop{position:absolute;inset:0;background:rgba(4,24,23,.76);border:0}.booking-card{position:relative;z-index:1;background:var(--paper);width:min(590px,92vw);padding:55px}.booking-card h2{font-size:50px;color:var(--river-deep)}.modal-close{position:absolute;right:22px;top:16px;border:0;background:none;font-size:30px;color:#52625e;cursor:pointer}.booking-card form{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:35px}.booking-card label{font-size:9px;letter-spacing:.12em;text-transform:uppercase}.booking-card input,.booking-card select{width:100%;margin-top:8px;padding:13px 10px;border:1px solid var(--line);background:white;color:var(--ink)}.booking-card .button{grid-column:1/-1;margin-top:8px}.booking-small{text-align:center;font-size:10px;color:#71807c;margin:18px 0 0}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:800px){.announcement span{display:none}.site-header{height:72px;top:34px;padding:0 20px;grid-template-columns:1fr auto}.brand b{font-size:23px}.site-header nav,.header-book{display:none}.menu-toggle{display:flex;flex-direction:column;gap:6px;border:0;background:none;padding:10px}.menu-toggle span{display:block;width:24px;height:1px;background:#fff}.site-header.nav-open{background:var(--river-deep);height:auto;padding-bottom:25px;grid-template-rows:65px auto}.site-header.nav-open nav{display:flex;grid-column:1/-1;flex-direction:column;gap:0;width:100%}.site-header.nav-open nav a{padding:14px 0;border-top:1px solid rgba(255,255,255,.15)}.hero{height:820px;min-height:0;background-position:60% center}.hero-content{left:24px;right:24px;top:50%;transform:translateY(-35%)}h1{font-size:52px}.hero-copy{font-size:14px}.hero-actions{align-items:flex-start;flex-direction:column;gap:24px}.hero-meta{left:24px;right:24px}.weather{display:none}.section-pad{padding:80px 24px}.intro{grid-template-columns:1fr;gap:50px}.side-note{display:none}.intro-copy h2,.section-heading h2,.visit h2{font-size:44px}.section-heading{grid-template-columns:1fr;gap:30px}.menu-tabs{grid-template-columns:1fr 1fr;margin-top:45px}.menu-tabs button{border-bottom:1px solid var(--line);font-size:19px;padding:17px}.menu-panel{grid-template-columns:1fr}.menu-image-wrap{height:360px}.menu-content{padding:45px 24px}.menu-content h3{font-size:42px}.menu-note{text-align:left}.river-break{height:220px}.river-break p{font-size:52px}.river-line{width:88vw;gap:10px}.gatherings{grid-template-columns:1fr;gap:60px;min-height:760px}.gathering-copy h2{font-size:55px}.visit-title{display:block}.visit-grid{grid-template-columns:1fr;gap:36px}.visit-grid>div{border-bottom:1px solid var(--line);padding-bottom:30px}footer{padding-bottom:95px;align-items:flex-start;gap:30px;flex-direction:column}.mobile-book{display:flex;position:fixed;z-index:10;bottom:12px;left:12px;right:12px;width:calc(100% - 24px);background:#ddb875;color:var(--river-deep);border:0;padding:17px 20px;justify-content:space-between;text-transform:uppercase;letter-spacing:.15em;font-size:10px;box-shadow:0 10px 35px rgba(0,0,0,.3)}.booking-card{padding:45px 25px}.booking-card h2{font-size:40px}.booking-card form{grid-template-columns:1fr}.booking-card .button{grid-column:auto}}
/* Food carousel */
.food-slider{position:absolute;inset:0;overflow:hidden;background:var(--river-deep);touch-action:pan-y;cursor:grab}.food-slider:active{cursor:grabbing}.food-slide{position:absolute;inset:0;margin:0;opacity:0;transform:translateX(7%);transition:opacity .6s ease,transform .75s cubic-bezier(.22,.61,.36,1);pointer-events:none}.food-slide.is-active{opacity:1;transform:translateX(0);pointer-events:auto;z-index:1}.food-slide.was-active{opacity:0;transform:translateX(-7%)}.food-slide img{display:block;width:100%;height:100%;object-fit:cover}.food-slide figcaption{position:absolute;left:24px;bottom:80px;z-index:2;background:rgba(9,41,39,.88);color:#fff;padding:10px 13px;font-family:Italiana,serif;font-size:16px;letter-spacing:.02em;backdrop-filter:blur(8px)}.slider-controls{position:absolute;left:20px;right:20px;bottom:20px;z-index:4;display:flex;align-items:center;gap:13px}.slider-arrow{width:40px;height:40px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(9,41,39,.72);color:#fff;display:grid;place-items:center;cursor:pointer;transition:.2s}.slider-arrow:hover{background:var(--cream);color:var(--river-deep)}.slider-dots{display:flex;align-items:center;gap:7px}.slider-dot{width:6px;height:6px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer;transition:.25s}.slider-dot.is-active{width:22px;border-radius:4px;background:#fff}.slider-count{margin-left:auto;color:#fff;font-size:9px;letter-spacing:.12em;text-shadow:0 1px 8px rgba(0,0,0,.5)}.slider-count b{font-size:13px;font-weight:500}.menu-image-wrap .image-tag{top:20px;bottom:auto;z-index:4}.menu-image-wrap:focus-within{outline:2px solid var(--gold);outline-offset:-2px}
@media(max-width:800px){.food-slide figcaption{left:16px;bottom:68px;font-size:14px}.slider-controls{left:14px;right:14px;bottom:14px}.slider-arrow{width:36px;height:36px}.menu-image-wrap .image-tag{top:14px;left:14px}}
@media(prefers-reduced-motion:reduce){.food-slide{transition:none}}