@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&family=Oswald:wght@500;600&display=swap');
:root{--ink:#11100e;--cream:#f1eee7;--paper:#faf8f3;--gold:#c79a43;--rust:#713523;--line:rgba(17,16,14,.17)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px;overflow-x:hidden}a{color:inherit;text-decoration:none}.concept{min-height:34px;padding:7px 4vw;display:flex;justify-content:space-between;gap:20px;background:var(--gold);font:500 .72rem DM Mono,monospace;letter-spacing:.08em;text-transform:uppercase}.concept a{text-decoration:underline;text-underline-offset:3px}.header{height:86px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;background:rgba(17,16,14,.97);color:#fff;position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:12px;font:600 1.55rem Oswald,sans-serif;letter-spacing:.11em}.brand img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:1px solid rgba(255,255,255,.32)}.brand small{display:block;color:var(--gold);font:500 .58rem DM Mono,monospace;letter-spacing:.14em;margin-top:2px}.header nav{display:flex;align-items:center;gap:30px}.header nav>a{font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;transition:.25s}.header nav>a:not(.nav-book):hover,.header nav>a.active{color:var(--gold)}.nav-book{padding:13px 18px;border:1px solid var(--gold);color:var(--gold)}.nav-book:hover{background:var(--gold);color:var(--ink);transform:translateY(-2px)}.menu{display:none;color:#fff;background:none;border:1px solid #777;padding:10px 14px;text-transform:uppercase;letter-spacing:.08em}.hero{min-height:calc(100vh - 120px);position:relative;color:#fff;background-image:url('assets/fellas-interior.jpg');background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;isolation:isolate;overflow:hidden;perspective:1200px}.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,10,8,.9) 0%,rgba(12,10,8,.58) 46%,rgba(12,10,8,.2) 75%),linear-gradient(0deg,rgba(12,10,8,.65),transparent 55%)}.hero-wash:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.11) 48%,transparent 65%);transform:translateX(-120%);animation:glint 11s ease-in-out infinite}.hero-copy{position:absolute;left:7vw;top:48%;width:min(680px,82vw);z-index:2;transform:translate3d(var(--dx,0),calc(-50% + var(--dy,0)),0);will-change:transform}.eyebrow{font:500 .72rem DM Mono,monospace;letter-spacing:.19em;text-transform:uppercase;color:var(--gold)}h1,h2,h3,p{margin-top:0}.hero h1,.page-hero h1{font:600 clamp(4.3rem,10vw,9rem)/.84 Oswald,sans-serif;letter-spacing:-.035em;text-transform:uppercase;margin:20px 0 28px}.hero h1 em{color:var(--gold);font-style:normal}.lead{max-width:600px;font-size:clamp(1rem,1.5vw,1.22rem);line-height:1.7;color:#e6e0d6}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.button{display:inline-flex;min-height:50px;padding:0 22px;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border:1px solid;transition:transform .25s,box-shadow .25s,background .25s}.button:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.24)}.gold{background:var(--gold);border-color:var(--gold);color:var(--ink)}.gold:hover{background:#dbb15e}.ghost{border-color:rgba(255,255,255,.62);color:#fff}.ghost:hover{background:#fff;color:var(--ink)}.ink{background:var(--ink);border-color:var(--ink);color:#fff}.rating{position:absolute;right:6vw;bottom:9%;z-index:2;width:210px;padding:24px;background:rgba(17,16,14,.72);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(12px);transform:translate3d(var(--rx,0),var(--ry,0),0);box-shadow:0 20px 50px rgba(0,0,0,.3)}.rating span{font:500 .65rem DM Mono,monospace;letter-spacing:.16em;color:var(--gold)}.rating strong{display:block;font:600 4rem Oswald,sans-serif;line-height:1;margin:9px 0}.rating p{font-size:.75rem;line-height:1.5;color:#d8d2c9;margin:0}.scroll-cue{position:absolute;left:7vw;bottom:5%;z-index:2;font:500 .65rem DM Mono,monospace;text-transform:uppercase;letter-spacing:.13em}.scroll-cue span{color:var(--gold);margin-left:8px}.intro{padding:110px 7vw;display:grid;grid-template-columns:.7fr 2fr;gap:8vw}.dark{color:var(--rust)}.intro h2,.booking h2,.details h2{font:600 clamp(2.8rem,5vw,5.3rem)/.95 Oswald,sans-serif;text-transform:uppercase;margin-bottom:24px}.intro>div p,.booking>div>p,.details>p{max-width:720px;font-size:1.08rem;line-height:1.8;color:#555049}.featured{display:grid;grid-template-columns:repeat(3,1fr);padding:0 4vw 110px;gap:18px;perspective:900px}.service-card{min-height:380px;padding:40px 34px;background:var(--cream);display:flex;flex-direction:column;border-top:4px solid var(--ink);transition:transform .35s,box-shadow .35s}.service-card:hover{transform:translate3d(0,-10px,20px) rotateX(2deg);box-shadow:0 25px 55px rgba(30,23,17,.17)}.service-card>span{font:500 .68rem DM Mono,monospace;color:var(--rust)}.service-card h3{font:600 2.3rem/1 Oswald,sans-serif;text-transform:uppercase;margin:70px 0 18px}.service-card p{color:#625d56;line-height:1.65}.service-card b{margin-top:auto;font:500 .76rem DM Mono,monospace}.service-card a{margin-top:25px;font-size:.75rem;font-weight:700;text-transform:uppercase}.featured-card{background:var(--rust);color:#fff;border-top-color:var(--gold)}.featured-card p{color:#e0cec5}.featured-card>span,.featured-card a{color:var(--gold)}.quote-band{padding:100px 7vw;background:var(--gold);text-align:center}.quote-band p{font:600 clamp(3rem,7vw,7.5rem)/.95 Oswald,sans-serif;text-transform:uppercase;margin-bottom:22px}.quote-band span{font:500 .7rem DM Mono,monospace;letter-spacing:.15em;text-transform:uppercase}.booking{padding:110px 7vw;display:grid;grid-template-columns:1.7fr 1fr;gap:8vw;align-items:end}.booking-actions{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.booking-actions>a:not(.button){font-weight:700;border-bottom:1px solid}.compact{background:var(--cream);margin-top:70px}.page-hero{padding:100px 7vw 90px;background:var(--rust);color:#fff}.page-hero h1{margin-bottom:20px}.page-hero>p:last-child{font-size:1.1rem;color:#ead9cf}.menu-list{padding:70px 7vw}.menu-list article{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:34px 0;border-bottom:1px solid var(--line);transition:transform .25s,background .25s,padding .25s}.menu-list article:hover{transform:translateX(8px);background:var(--cream);padding-left:22px;padding-right:22px}.menu-list article>div{display:grid;grid-template-columns:40px 1fr;column-gap:20px}.menu-list article span{grid-row:1/3;font:500 .68rem DM Mono,monospace;color:var(--rust);padding-top:7px}.menu-list h2{font:600 clamp(1.7rem,3vw,2.8rem) Oswald,sans-serif;text-transform:uppercase;margin-bottom:5px}.menu-list p{grid-column:2;color:#68625b;margin:0}.menu-list b{white-space:nowrap;font:500 .75rem DM Mono,monospace}.menu-list i{font-style:normal;font-size:1rem;color:var(--rust);margin-left:20px}.visit-hero{background:var(--ink)}.visit-grid{display:grid;grid-template-columns:1.25fr 1fr;padding:80px 7vw;gap:18px}.visit-photo{grid-row:span 2;min-height:620px;overflow:hidden}.visit-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.visit-photo:hover img{transform:scale(1.04)}.details{padding:48px;background:var(--cream)}.details a:not(.button){font-weight:700;border-bottom:1px solid}.details.accent{background:var(--rust);color:#fff}.details.accent>p{color:#ecd8ce}.details.accent .eyebrow{color:var(--gold)}footer{padding:55px 5vw;background:var(--ink);color:#fff;display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:50px;border-top:1px solid #333}footer b{font:500 .66rem DM Mono,monospace;color:var(--gold);letter-spacing:.15em;text-transform:uppercase}footer p{font-size:.82rem;line-height:1.8;color:#c7c2ba;margin-top:14px}.footer-brand{font:600 2.3rem Oswald,sans-serif;letter-spacing:.07em}.footer-brand span{display:block;color:var(--gold)}.reveal{opacity:0;filter:blur(5px);transform:translateY(34px);transition:opacity .75s ease var(--delay,0ms),filter .75s ease var(--delay,0ms),transform .85s cubic-bezier(.18,.78,.22,1) var(--delay,0ms)}.reveal.visible{opacity:1;filter:none;transform:none}@keyframes glint{0%,65%,100%{transform:translateX(-120%)}82%{transform:translateX(120%)}}
@media(max-width:800px){.header{height:72px}.brand img{width:42px;height:42px}.header nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--ink);padding:28px 5vw;flex-direction:column;align-items:stretch}.header nav.open{display:flex}.menu{display:block}.nav-book{text-align:center}.hero{min-height:760px;background-attachment:scroll}.hero-copy{left:6vw;top:44%;width:88vw}.hero h1{font-size:clamp(4rem,19vw,6rem)}.rating{right:6vw;bottom:8%;width:190px}.scroll-cue{display:none}.intro{grid-template-columns:1fr;padding:80px 6vw}.featured{grid-template-columns:1fr;padding:0 6vw 80px}.service-card{min-height:320px}.service-card h3{margin-top:50px}.booking{grid-template-columns:1fr;padding:80px 6vw}.visit-grid{grid-template-columns:1fr;padding:50px 6vw}.visit-photo{grid-row:auto;min-height:420px}.menu-list{padding:45px 6vw}.menu-list article{align-items:flex-end}.menu-list article>div{display:block}.menu-list article span{display:block;margin-bottom:12px}.menu-list p{display:none}.menu-list i{display:block;margin:6px 0 0}.page-hero{padding:75px 6vw}.page-hero h1{font-size:clamp(4rem,18vw,7rem)}footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:480px){.concept{font-size:.6rem}.concept a{display:none}.brand{font-size:1.2rem}.brand small{font-size:.5rem}.hero h1{font-size:3.7rem}.rating{bottom:6%}.actions{flex-direction:column;align-items:stretch}.quote-band{padding:75px 6vw}.quote-band p{font-size:3rem}footer{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-wash:after{animation:none}.depth-layer,.reveal{transform:none!important;transition:none}.reveal{opacity:1;filter:none}}
