:root{--green:#13231c;--green2:#1e3529;--gold:#d5bb86;--cream:#f4f0e6;--ink:#171b18;--muted:#667069;--line:rgba(19,35,28,.16);--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.6}a{text-decoration:none;color:inherit}.header{height:78px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:var(--cream);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;line-height:1}.brand span{font-size:14px;letter-spacing:.16em;font-weight:700}.brand small{font-size:8px;letter-spacing:.18em;color:#8b7651;margin-top:6px}.header nav{display:flex;gap:25px;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.reserve{background:var(--green);color:white;padding:12px 18px;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.menu{display:none;background:none;border:0;font-size:25px}
.hero{height:calc(100vh - 78px);min-height:650px;position:relative;overflow:hidden;color:#fff}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,13,9,.72),rgba(4,13,9,.18) 65%,rgba(4,13,9,.1)),linear-gradient(0deg,rgba(0,0,0,.45),transparent 45%)}.hero-content{position:absolute;z-index:2;left:8vw;top:50%;transform:translateY(-50%);max-width:720px}.kicker,.eyebrow{font-size:9px;letter-spacing:.2em;text-transform:uppercase}.kicker{color:var(--gold);margin-bottom:20px}.hero h1{font-size:clamp(58px,8vw,116px);line-height:.86;letter-spacing:-.055em;font-weight:500;margin:0 0 30px}.hero h1 i,h2 i{font-family:var(--serif);font-weight:400}.hero-content p{font-size:18px;max-width:570px;color:#e8ece7}.actions{display:flex;gap:12px;margin-top:30px}.btn{display:inline-block;padding:15px 22px;border:1px solid transparent;font-size:10px;text-transform:uppercase;letter-spacing:.14em;cursor:pointer}.gold{background:var(--gold);color:var(--ink)}.glass{border-color:rgba(255,255,255,.5);color:white}.hero-mark{position:absolute;z-index:3;right:5vw;bottom:28px;text-align:right;font-size:9px;letter-spacing:.16em;line-height:1.7}.hero-mark b{color:var(--gold);font-weight:400}
.story{padding:120px 8vw;display:grid;grid-template-columns:1fr 2fr;gap:9vw}.eyebrow{color:#8b7651}.story h2,.place-section h2,.food h2,.gallery h2,.booking h2,.contact h2{font-size:clamp(48px,6vw,88px);line-height:.93;letter-spacing:-.05em;font-weight:500;margin:0 0 30px}.story-copy p,.place-section p,.food p{font-size:18px;max-width:720px}.dark{background:var(--green);color:#f5f1e7;padding:110px 8vw}.dark .eyebrow{color:var(--gold)}.dark-head{display:flex;align-items:end;justify-content:space-between;gap:30px}.dark-head span{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#aeb8b0}.fish-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:45px}.fish-cards article{height:460px;position:relative;overflow:hidden;background:#20352a}.fish-cards img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.fish-cards article:hover img{transform:scale(1.04)}.fish-cards article:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.8))}.fish-cards b,.fish-cards span{position:absolute;z-index:2;left:25px}.fish-cards b{bottom:42px;font-size:18px;letter-spacing:.12em}.fish-cards span{bottom:20px;font-size:9px;letter-spacing:.13em;color:var(--gold)}.quote{text-align:center;color:var(--gold);font-family:var(--serif);font-size:25px;margin-top:55px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.stats div{padding:40px 35px;border-right:1px solid var(--line)}.stats div:last-child{border:0}.stats strong{display:block;font-size:25px;margin-bottom:25px}.stats b{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.1em}.stats span{display:block;color:var(--muted);font-size:12px;margin-top:8px}.place-section,.food{padding:120px 8vw;display:grid;grid-template-columns:1.1fr .9fr;gap:9vw;align-items:center}.image-frame{height:600px;overflow:hidden}.image-frame img,.food-photo img{width:100%;height:100%;object-fit:cover}.note{font-size:13px!important;color:var(--muted)}.food{background:#e7e0d3}.food-photo{height:550px;overflow:hidden}.gallery{padding:110px 5vw}.gallery-title{display:flex;align-items:end;justify-content:space-between;gap:30px}.gallery-title span{font-size:11px;color:var(--muted);letter-spacing:.08em}.grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:240px;gap:10px;margin-top:45px}.grid a{overflow:hidden;background:#ddd}.grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.grid a:hover img{transform:scale(1.05)}.grid .wide{grid-column:span 2;grid-row:span 2}.booking{padding-top:105px;padding-bottom:105px}.booking-layout{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.booking p{max-width:520px;color:#b8c0b9}.booking form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking label{font-size:9px;color:var(--gold);text-transform:uppercase;letter-spacing:.14em}.booking input,.booking select{display:block;width:100%;margin-top:7px;padding:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);color:#fff;font:inherit}.booking select option{color:#111}.booking button{grid-column:1/-1;border:0}.contact{padding:110px 8vw}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:55px}.contact-grid div{padding:28px 0;border-bottom:1px solid var(--line)}.contact-grid small{display:block;font-size:9px;letter-spacing:.15em;color:#8b7651;margin-bottom:10px}.contact-grid b{font-weight:500}footer{padding:30px 8vw;background:var(--ink);color:#d9d5ca;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.1em}
@media(max-width:850px){.header{height:70px}.header nav,.reserve{display:none}.menu{display:block}.hero{height:calc(100svh - 70px);min-height:620px}.hero-content{left:7vw;right:7vw}.hero h1{font-size:58px}.hero-content p{font-size:16px}.hero-mark{display:none}.actions{flex-direction:column;align-items:flex-start}.story,.place-section,.food,.booking-layout{grid-template-columns:1fr;gap:45px;padding:80px 7vw}.dark{padding:80px 7vw}.fish-cards{grid-template-columns:1fr}.fish-cards article{height:400px}.stats{grid-template-columns:1fr 1fr}.stats div{border-bottom:1px solid var(--line)}.image-frame,.food-photo{height:420px}.gallery{padding:80px 5vw}.gallery-title{display:block}.grid{grid-template-columns:1fr 1fr;grid-auto-rows:190px}.grid .wide{grid-column:span 2}.contact{padding:80px 7vw}.contact-grid{grid-template-columns:1fr}.footer{display:block}}
.header nav.show{display:flex}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:100;display:flex;align-items:center;justify-content:center;padding:5vw}.lightbox img{max-width:95vw;max-height:90vh;object-fit:contain}.lightbox button{position:absolute;right:25px;top:15px;background:none;border:0;color:#fff;font-size:40px}
.contact-grid a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:.2s}
.contact-grid a:hover{color:#8b7651;border-bottom-color:#8b7651}
.social-contact b{font-size:14px}
@media(max-width:850px){.social-contact{padding-top:24px}}
.rules{padding-top:100px;padding-bottom:90px}.rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw;margin-top:50px}.rules-column h3{font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:0 0 22px}.rules-column ol{margin:0;padding-left:22px;color:#e4e8e3}.rules-column li{margin:0 0 14px;padding-left:8px;font-size:14px}.rules-subtitle{margin-top:38px!important}.hours{display:grid;gap:8px;font-size:13px;color:#d8ddd7}.hours b{color:#fff;letter-spacing:.08em}.price{font-size:38px;color:var(--gold);font-weight:700}.price small{display:block;font-size:11px;color:#b8c0b9;font-weight:400;letter-spacing:.1em}.rules-staff{margin-top:45px;padding:22px 25px;border:1px solid rgba(213,187,134,.35);color:#cbd1cb;font-size:13px}.rules-staff b{color:#fff}.rules-download{margin-top:28px}@media(max-width:850px){.rules-grid{grid-template-columns:1fr;gap:55px}.rules-column li{font-size:13px}.rules{padding-top:80px;padding-bottom:75px}footer a{color:inherit}}
