:root{--brown:#391f13;--brown-2:#4f2b1c;--linen:#ecede6;--white:#fff;--ink:#2c1b14;--muted:#756f69;--magenta:#ff00ca;--lime:#b9ff00;--border:rgba(57,31,19,.14);--shadow:0 18px 45px rgba(57,31,19,.12);--sans:'Montserrat',Arial,sans-serif;--display:'Barlow Condensed','Arial Narrow',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.shell{width:min(1180px,calc(100% - 42px));margin:auto}.narrow{width:min(900px,100%);margin:auto}.narrow-form{width:min(900px,calc(100% - 42px));margin:auto}.section{padding:108px 0}.section-tag,.eyebrow{display:inline-block;font-family:var(--display);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.88rem}.section-tag{color:var(--magenta)}h1,h2,h3{font-family:var(--display);line-height:.98;margin:0 0 .55em;letter-spacing:-.02em}h1{font-size:clamp(3.6rem,8vw,7rem);text-transform:uppercase}h2{font-size:clamp(2.8rem,5.7vw,5.2rem);text-transform:uppercase}h3{font-size:clamp(1.45rem,2.2vw,2rem)}p{margin:0 0 1.2em}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border:1px solid transparent;text-transform:uppercase;font-family:var(--display);font-weight:700;letter-spacing:.08em;transition:.2s ease;cursor:pointer}.btn-lime{background:var(--lime);color:var(--brown)}.btn-lime:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(185,255,0,.26)}.btn-brown{background:var(--brown);color:#fff}.btn-brown:hover{background:var(--magenta);color:#fff}.btn-outline-light{border-color:rgba(255,255,255,.7);color:#fff;background:rgba(255,255,255,.03)}.btn-outline-light:hover{background:#fff;color:var(--brown)}.text-link{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid var(--lime);padding-bottom:4px}.center{text-align:center}.topbar{background:var(--brown);color:#fff;font-size:.78rem;letter-spacing:.02em}.topbar-inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar-right{display:flex;align-items:center;gap:28px}.topbar-item{display:flex;align-items:center;gap:8px;opacity:.93}.topbar-hours strong{color:var(--lime);margin-right:6px}.site-header{position:sticky;top:0;z-index:50;background:rgba(236,237,230,.97);backdrop-filter:blur(10px);border-bottom:1px solid rgba(57,31,19,.08)}.nav-wrap{height:92px;display:flex;align-items:center;gap:34px}.brand{width:90px;display:flex;align-items:center}.brand img{width:100%;max-height:66px;object-fit:contain}.main-nav{margin-left:auto;display:flex;align-items:center;gap:27px;font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.09em;font-size:.93rem}.main-nav a{position:relative}.main-nav a:not(.nav-book):after{content:"";position:absolute;height:2px;left:0;right:100%;bottom:-8px;background:var(--magenta);transition:.2s}.main-nav a:hover:after,.main-nav a.active:after{right:0}.nav-book{background:var(--magenta);color:#fff;padding:12px 17px}.nav-book:hover{background:var(--brown)}.menu-toggle{display:none;margin-left:auto;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:28px;height:2px;background:var(--brown);margin:6px 0}.hero{min-height:min(760px,calc(100vh - 130px));display:grid;align-items:center;position:relative;background-image:var(--hero);background-size:cover;background-position:center;overflow:hidden;color:#fff}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(57,31,19,.92) 0%,rgba(57,31,19,.68) 38%,rgba(57,31,19,.05) 75%)}.hero-content{position:relative;z-index:2;padding:86px 0;max-width:720px;margin-left:max(calc((100vw - 1180px)/2),21px);margin-right:auto;width:min(700px,calc(100% - 42px))}.hero .eyebrow{color:var(--lime);margin-bottom:20px}.hero h1{font-size:clamp(4.2rem,8.3vw,8rem);max-width:780px}.hero p{font-size:1.09rem;max-width:650px;color:rgba(255,255,255,.86)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-mark{position:absolute;right:-30px;bottom:-100px;font-family:var(--display);font-size:24vw;line-height:1;font-weight:700;color:rgba(255,255,255,.05);pointer-events:none}.split-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.story{background:var(--linen);overflow:hidden}.story-copy h3{color:var(--magenta);font-size:1.45rem;font-family:var(--sans);font-weight:600;line-height:1.3}.story-copy .prose{color:#655e58}.story-copy .text-link{display:inline-block;margin-top:18px}.story-media{position:relative;min-height:630px}.story-media>img{position:absolute;width:72%;height:85%;right:0;top:0;object-fit:cover;box-shadow:var(--shadow)}.pattern-card{position:absolute;left:0;bottom:0;width:52%;height:55%;background:var(--lime) url('../img/pattern-lime.png') center/cover;mix-blend-mode:multiply}.photo-stamp{position:absolute;left:28%;top:46%;display:grid;place-items:center;text-align:center;width:110px;height:110px;border-radius:50%;background:var(--magenta);color:#fff;font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.06em;transform:rotate(-8deg);box-shadow:0 12px 30px rgba(255,0,202,.25)}.section-head{max-width:760px;margin-bottom:52px}.section-head>p{color:var(--muted);max-width:650px}.section-head.inline{display:flex;max-width:none;align-items:end;justify-content:space-between;gap:30px}.section-head.center{text-align:center;margin-left:auto;margin-right:auto}.menu-preview{background:#fff}.menu-list{display:grid;gap:8px;margin-bottom:42px}.menu-row{display:flex;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--border)}.menu-row img{width:76px;height:76px;border-radius:50%;object-fit:cover;flex:0 0 76px}.menu-row-main{flex:1;min-width:0}.menu-line{display:flex;align-items:baseline;gap:12px}.menu-line h3{font-size:1.45rem;text-transform:none;margin:0;letter-spacing:.01em}.menu-line>span{height:1px;border-bottom:1px dotted rgba(57,31,19,.35);flex:1;min-width:20px}.menu-line strong{font-family:var(--display);font-size:1.28rem;white-space:nowrap}.menu-row p{margin:.3em 0 0;color:#8a827c;font-size:.94rem}.menu-list.full .menu-row{padding:22px 0}.menu-list.full .menu-row img{width:92px;height:92px;flex-basis:92px}.menu-list small{display:block;color:var(--magenta);margin-top:5px}.reservation-band{min-height:720px;display:grid;grid-template-columns:1.1fr .9fr;background:var(--linen)}.reservation-photo{background:url('../img/seed/reservation.webp') center/cover no-repeat;min-height:580px}.reservation-card{padding:80px max(6vw,40px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:var(--linen);position:relative;overflow:hidden}.reservation-card:after{content:"";position:absolute;width:360px;height:360px;right:-130px;bottom:-130px;background:url('../img/pattern-magenta.png') center/cover;opacity:.11;border-radius:50%}.reservation-card .cloche{width:78px;color:var(--brown);margin-bottom:20px}.reservation-card p{max-width:520px;color:var(--muted)}.gallery-preview{background:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:130px;gap:14px}.gallery-tile{overflow:hidden;background:#ddd}.gallery-tile img{width:100%;height:100%;object-fit:cover;transition:.4s}.gallery-tile:hover img{transform:scale(1.04)}.tile-1{grid-column:1/6;grid-row:1/4}.tile-2{grid-column:6/9;grid-row:1/3}.tile-3{grid-column:9/13;grid-row:1/4}.tile-4{grid-column:6/9;grid-row:3/6}.tile-5{grid-column:1/6;grid-row:4/6}.tile-6{grid-column:9/13;grid-row:4/6}.hours-section{background:var(--brown);color:#fff}.hours-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start}.hours-copy p{color:rgba(255,255,255,.64)}.hours-address{display:flex;flex-direction:column;gap:7px;margin-top:32px;color:var(--lime)}.hours-table{border-top:1px solid rgba(255,255,255,.25)}.hour-row{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.14)}.hour-row strong{font-family:var(--display);font-size:1.15rem;text-transform:uppercase}.hour-row span{color:rgba(255,255,255,.82)}.hour-row em{color:var(--magenta);font-style:normal;margin:0 6px}.contact-cta{background:var(--magenta);color:#fff;padding:56px 0}.contact-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-cta-inner span{font-family:var(--display);text-transform:uppercase;letter-spacing:.1em}.contact-cta-inner h2{font-size:clamp(2.2rem,4vw,4rem);margin:.15em 0 0}.site-footer{background:#24130d;color:#fff;padding:70px 0 20px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:50px}.footer-grid h3{font-family:var(--display);font-size:1.15rem;text-transform:uppercase;color:var(--lime);letter-spacing:.08em}.footer-grid p{color:rgba(255,255,255,.65);font-size:.9rem;margin:.45em 0}.footer-grid a:hover{color:var(--magenta)}.footer-brand img{width:120px;filter:none}.footer-brand p{margin-top:15px}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:55px;padding-top:18px;display:flex;justify-content:space-between;color:rgba(255,255,255,.45);font-size:.76rem}.to-top{position:fixed;right:24px;bottom:24px;z-index:45;width:48px;height:48px;border:0;background:var(--lime);color:var(--brown);font-size:1.4rem;box-shadow:var(--shadow);cursor:pointer;opacity:0;pointer-events:none;transform:translateY(10px);transition:.2s}.to-top.show{opacity:1;pointer-events:auto;transform:translateY(0)}.page-hero{padding:105px 0 80px;color:#fff;background:var(--brown);position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;inset:0 0 0 55%;background:url('../img/pattern-magenta.png') center/cover;opacity:.16}.page-hero .shell{position:relative;z-index:1}.page-hero .eyebrow{color:var(--lime)}.page-hero h1{font-size:clamp(4rem,8vw,7rem)}.page-hero p{max-width:600px;color:rgba(255,255,255,.7)}.menu-page{background:var(--linen)}.menu-category{margin-bottom:90px}.category-head{border-left:10px solid var(--magenta);padding-left:24px;margin-bottom:24px}.category-head span{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}.category-head h2{font-size:clamp(2.5rem,5vw,4.5rem)}.gallery-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-page-grid a{position:relative;overflow:hidden;aspect-ratio:4/5;background:#eee}.gallery-page-grid a:nth-child(4n+1){aspect-ratio:1/1}.gallery-page-grid img{width:100%;height:100%;object-fit:cover;transition:.4s}.gallery-page-grid a:hover img{transform:scale(1.04)}.gallery-page-grid span{position:absolute;left:14px;bottom:14px;padding:7px 10px;background:var(--brown);color:#fff;font-family:var(--display);text-transform:uppercase;font-size:.82rem;letter-spacing:.08em}.contact-page{background:var(--linen)}.contact-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:start}.contact-details h2{font-size:4rem}.contact-details>p{color:var(--muted)}.contact-list{margin-top:30px;display:grid;gap:20px}.contact-list>div{display:flex;gap:16px}.contact-list>div>span{width:38px;height:38px;border:1px solid var(--magenta);color:var(--magenta);display:grid;place-items:center;border-radius:50%;flex:0 0 38px}.contact-list p{margin:0}.contact-list a{text-decoration:underline;text-underline-offset:3px}.map-wrap{height:520px;background:#ddd;box-shadow:var(--shadow)}.map-wrap iframe{width:100%;height:100%;border:0}.map-empty{height:100%;display:grid;place-items:center;padding:30px;text-align:center}.message-section{padding:100px 0;background:#fff}.contact-form{display:grid;gap:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{display:grid;gap:8px;font-size:.78rem;text-transform:uppercase;font-weight:700;letter-spacing:.06em}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--border);padding:15px;background:#fff;color:var(--ink);outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--magenta);box-shadow:0 0 0 3px rgba(255,0,202,.08)}.contact-form .btn{justify-self:center;margin-top:8px}.hp{position:absolute!important;left:-9999px!important}.form-alert{padding:14px 18px;margin:0 auto 24px;max-width:900px}.form-alert.success{background:#e8ffd1;color:#294009}.form-alert.danger{background:#ffe5f9;color:#74005d}.lightbox,.reservation-modal{position:fixed;z-index:100;inset:0;background:rgba(20,10,7,.92);display:grid;place-items:center;padding:30px}.lightbox[hidden],.reservation-modal[hidden]{display:none}.lightbox img{max-height:88vh;max-width:92vw;box-shadow:0 25px 80px rgba(0,0,0,.5)}.lightbox button,.reservation-modal-card>button{position:absolute;right:24px;top:18px;border:0;background:none;color:#fff;font-size:3rem;cursor:pointer}.reservation-modal-card{width:min(1050px,95vw);height:min(760px,90vh);background:#fff;position:relative;padding-top:50px}.reservation-modal-card>button{color:var(--brown);z-index:2}.reservation-modal-card iframe{width:100%;height:100%;border:0}.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.reveal.in{opacity:1;transform:none}
@media(max-width:980px){.main-nav{gap:16px;font-size:.84rem}.split-grid,.hours-grid,.contact-grid{gap:45px}.reservation-band{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/4}.story-media{min-height:520px}.gallery-grid{grid-auto-rows:105px}}
@media(max-width:780px){.shell{width:min(100% - 30px,1180px)}.section{padding:78px 0}.topbar-inner{min-height:44px}.topbar-right{margin-left:auto}.topbar-hours{display:none}.topbar-item:first-child{max-width:68%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-wrap{height:76px}.brand{width:72px}.menu-toggle{display:block}.main-nav{position:absolute;top:76px;left:0;right:0;background:var(--linen);display:none;flex-direction:column;align-items:stretch;gap:0;padding:18px 20px 24px;border-top:1px solid var(--border);box-shadow:0 15px 30px rgba(57,31,19,.1)}.main-nav.open{display:flex}.main-nav a{padding:12px 8px}.main-nav a:not(.nav-book):after{display:none}.nav-book{text-align:center;margin-top:6px}.hero{min-height:690px;background-position:62% center}.hero-shade{background:linear-gradient(90deg,rgba(57,31,19,.94),rgba(57,31,19,.77) 60%,rgba(57,31,19,.35))}.hero-content{margin-left:15px;width:calc(100% - 30px);padding:70px 0}.hero h1{font-size:clamp(4rem,16vw,6.3rem)}.split-grid,.hours-grid,.contact-grid{grid-template-columns:1fr}.story-media{min-height:500px}.story-media>img{width:78%}.pattern-card{width:50%}.reservation-band{grid-template-columns:1fr}.reservation-photo{min-height:420px}.reservation-card{padding:70px 30px}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:190px}.gallery-tile{grid-column:auto!important;grid-row:auto!important}.gallery-tile:first-child{grid-row:span 2}.section-head.inline{align-items:flex-start;flex-direction:column}.contact-cta-inner{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:auto}.gallery-page-grid{grid-template-columns:1fr 1fr}.map-wrap{height:430px}}
@media(max-width:520px){body{font-size:15px}.topbar{font-size:.7rem}.topbar-right .topbar-item{display:none}.topbar-item:first-child{max-width:100%}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%}.story-media{min-height:420px}.story-media>img{width:83%;height:86%}.photo-stamp{width:90px;height:90px;font-size:.72rem;left:16%;top:55%}.menu-row{align-items:flex-start}.menu-row img{width:58px;height:58px;flex-basis:58px}.menu-line{display:grid;grid-template-columns:1fr auto;gap:8px}.menu-line>span{display:none}.menu-line h3{font-size:1.25rem}.menu-line strong{font-size:1.1rem}.gallery-grid,.gallery-page-grid{grid-template-columns:1fr}.gallery-grid{grid-auto-rows:280px}.gallery-tile:first-child{grid-row:auto}.hours-grid{gap:50px}.hour-row{font-size:.92rem}.hour-row span{text-align:right}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px}.form-grid{grid-template-columns:1fr}.contact-details h2{font-size:3rem}.page-hero{padding:75px 0 60px}.page-hero h1{font-size:4rem}.reservation-modal{padding:10px}.reservation-modal-card{width:100%;height:95vh}.to-top{right:14px;bottom:14px}}
