@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--cream:#f5f2e9;--green:#243e32;--orange:#cb5a35;--line:#d7d9cb;--serif:'Playfair Display',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--green);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:5px}header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);gap:22px}.brand{display:flex;align-items:center;gap:12px}.brand img{border-radius:50%;object-fit:cover}.brand>span{font-family:var(--serif);font-size:30px;font-weight:600}.brand small{font:9px 'DM Sans',sans-serif;letter-spacing:2px;display:block;margin-top:1px}nav{display:flex;gap:32px;font-size:13px}nav a:hover,.text-link:hover{color:var(--orange)}.button{border:0;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:19px 25px;background:var(--green);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#385a44;transform:translateY(-2px)}.button.small{padding:14px 20px}.button span{font-size:20px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:660px}.hero-copy{padding:62px 9% 25px 10%;display:flex;flex-direction:column}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;line-height:1.7}.dot{display:inline-block;width:7px;height:7px;background:var(--orange);border-radius:50%;margin-right:7px}h1{font-family:var(--serif);font-size:clamp(60px,6.2vw,98px);font-weight:500;line-height:1.06;letter-spacing:-3px;margin:30px 0 25px}em{font-weight:500;color:var(--orange)}.intro{font-size:15px;line-height:1.8;color:#526257;margin:0 0 30px}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.text-link{font-size:13px;border-bottom:1px solid;padding-bottom:6px;display:inline-block;width:fit-content}.hero-foot{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.6px;border-top:1px solid var(--line);padding-top:20px;margin-top:auto;padding-bottom:3px}.hero-visual{position:relative;min-height:660px;overflow:hidden;background:#8e7153}.hero-visual>img{width:100%;height:100%;position:absolute;object-fit:cover}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0008,transparent 50%);pointer-events:none}.image-note{position:absolute;bottom:45px;left:42px;z-index:1;color:#fff;font-family:var(--serif);font-size:32px;line-height:1.3}.image-note em{color:#fff}.round-stamp{position:absolute;z-index:1;right:28px;top:30px;width:110px;height:110px;background:#f1cf69;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:11px;letter-spacing:2px;line-height:1.7;transform:rotate(12deg)}.round-stamp span{font-size:25px}.ticker{background:var(--green);color:var(--cream);display:flex;justify-content:space-around;gap:25px;padding:24px 3%;font-size:11px;letter-spacing:2px;overflow:hidden;white-space:nowrap}.ticker b{font-size:22px;color:#e1b762;line-height:12px}.section{padding:90px 6%}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:42px;gap:25px}h2{font-family:var(--serif);font-size:clamp(38px,4.2vw,62px);line-height:1.14;letter-spacing:-1.5px;font-weight:500;margin:16px 0 0}.section-heading>p{font-size:13px;line-height:1.9;color:#627065}.food-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:27px}.photo{height:340px;overflow:hidden;position:relative;background:#dbd5c9}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.food-card:hover .photo img{transform:scale(1.045)}.photo>span{position:absolute;bottom:16px;left:14px;background:var(--cream);padding:8px 12px;font-size:8px;letter-spacing:1.2px}.food-caption{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:18px 0 12px}.food-caption h3{font-family:var(--serif);font-size:25px;font-weight:500;margin:0}.food-caption span{font-size:10px;color:var(--orange)}.food-card>p{font-size:12px;line-height:1.8;color:#637063;max-width:290px}.photo-credit{font-size:10px;color:#667065;margin-top:28px}.about{display:grid;grid-template-columns:1fr 1fr;background:#e9ebdf}.about-image{min-height:590px}.about-image img{width:100%;height:100%;max-height:700px;object-fit:cover}.about-copy{padding:65px 12%}.about-copy h2{font-size:50px;margin-bottom:28px}.about-copy>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#586557}.about-copy .text-link{margin-top:25px}.reservation{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:var(--green);color:var(--cream)}.reservation h2{font-size:66px}.reservation h2 em{color:#e7b56e}.reservation-copy>p:not(.eyebrow){max-width:370px;font-size:14px;line-height:1.9;color:#d5dacd;margin:27px 0}.reservation-note{display:flex;gap:15px;max-width:390px;border-top:1px solid #ffffff30;padding-top:16px}.reservation-note>span{font-size:27px;color:#e7b56e}.reservation-note p{font-size:12px;line-height:1.8;color:#d5dacd}.reservation-note strong{color:#fff}.phone{font-family:var(--serif);font-size:32px;display:block;margin-top:20px}form{background:var(--cream);color:var(--green);padding:36px}form h3{font-family:var(--serif);font-size:28px;margin:0 0 7px;font-weight:500}.form-intro{font-size:12px;color:#667065;margin-bottom:26px}label{display:block;font-size:11px;font-weight:600;margin:16px 0 8px}label span{font-weight:400;color:#707568}input,select,textarea{width:100%;padding:13px 12px;border:1px solid #ced3c5;background:transparent;color:var(--green);border-radius:0;font-size:13px;min-width:0}input:focus,textarea:focus,select:focus{outline:2px solid #8b9b79;outline-offset:1px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row>div{min-width:0}form .button{width:100%;background:var(--orange);margin-top:15px}form .button:hover{background:#b34a2b}.form-help,.privacy-note{font-size:10px;line-height:1.65;color:#68715f}.privacy-note{text-align:center;margin:14px 0 0}#booking-status{font-size:12px;line-height:1.6;margin:12px 0 0}#booking-status a{text-decoration:underline}.contact-grid{display:grid;grid-template-columns:1fr 1.7fr;gap:60px}.contact-info>div{margin-bottom:28px}.contact-info p{font-size:15px;line-height:1.8;margin-top:8px}.social{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:10px;font-size:11px}.social span{color:var(--orange)}.map{min-height:380px;background:#e5e8dd;border:1px solid #d2d7c8}.map-placeholder{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:25px}.map-placeholder>span{font-size:34px}.map h3{font-family:var(--serif);font-size:28px;font-weight:500;margin:12px 0}.map p{font-size:12px}.map small{font-size:9px;margin-top:20px;color:#5d695b}.map iframe{width:100%;height:100%;min-height:380px;border:0}footer{background:#e8e8dc;padding:45px 6%;display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px;align-items:center}.footer-logo{font-family:var(--serif);font-size:47px}.footer-logo span{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:4px}footer p{font-size:13px;line-height:1.8}footer>div{display:flex;gap:18px;font-size:11px;justify-content:end}footer button{border:0;background:none;padding:0;font-size:11px;color:inherit;cursor:pointer}footer>small{grid-column:1/-1;border-top:1px solid #cdd3c4;padding-top:20px;font-size:9px;color:#687565}.mobile-book{display:none}dialog{max-width:560px;width:90%;border:0;background:var(--cream);padding:36px;color:var(--green)}dialog::backdrop{background:#10291ed0}dialog h2{font-size:35px}dialog p{font-size:14px;line-height:1.8}.dialog-close{float:right;border:0;background:none;font-size:30px;color:var(--green);cursor:pointer}@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero-copy{padding-top:90px}.hero{min-height:800px}.hero-visual{min-height:800px}}@media(max-width:1000px){nav{gap:16px}.hero-copy{padding:40px 7% 22px}h1{font-size:66px}.hero-visual,.hero{min-height:630px}.hero-foot{font-size:7px}.actions{gap:18px}.photo{height:270px}.about-copy{padding:45px 9%}.about-copy h2{font-size:40px}.reservation{gap:6%}.reservation h2{font-size:55px}form{padding:25px}.contact-grid{gap:30px}footer>div{flex-wrap:wrap}}@media(max-width:700px){html{scroll-padding-top:20px}header{height:80px;padding:0 5%}.brand img{width:43px;height:43px}.brand>span{font-size:24px}.brand small{font-size:7px}nav{display:none}.button.small{padding:12px;font-size:11px;gap:12px}.hero{grid-template-columns:1fr}.hero-copy{padding:30px 6% 25px}.hero h1{font-size:68px;margin:22px 0}.intro{font-size:14px}.hero-foot{margin-top:32px;font-size:7px}.hero-visual{min-height:440px}.image-note{left:25px;bottom:30px;font-size:30px}.round-stamp{width:90px;height:90px;font-size:9px}.ticker{justify-content:flex-start;padding:20px 5%;font-size:9px;gap:23px}.section{padding:60px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:24px}.section-heading>.text-link{margin-top:24px}h2{font-size:40px}.food-grid{grid-template-columns:1fr;gap:30px}.photo{height:360px}.food-caption h3{font-size:28px}.food-card>p{max-width:100%}.about{grid-template-columns:1fr}.about-image{min-height:0;height:360px}.about-copy{padding:45px 6%}.about-copy h2{font-size:43px}.reservation{grid-template-columns:1fr;gap:35px}.reservation h2{font-size:53px}.reservation-copy>p{max-width:100%}form{padding:25px 20px}.contact-grid{grid-template-columns:1fr;gap:25px}.map{min-height:330px}.map iframe{min-height:330px}footer{grid-template-columns:1fr 1fr;padding:38px 6% 95px}footer>div{justify-content:start;grid-column:1/-1}.mobile-book{display:flex;position:fixed;bottom:14px;left:6%;right:6%;z-index:5;justify-content:center;background:var(--orange);box-shadow:0 5px 25px #14251c40;padding:16px}.eyebrow{font-size:9px;letter-spacing:1.7px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Handwritten accents and food galleries */
header{height:112px}.brand{gap:15px}.brand img{width:76px;height:76px}.brand>span{font-size:34px}.brand small{font-size:10px}
h1 em,h2 em,.image-note em{font-family:'Caveat',cursive;font-style:normal;font-weight:600;letter-spacing:-1px;line-height:1.05}h1 em{font-size:1.16em}h2 em{font-size:1.12em}.image-note em{font-size:1.35em}.about-copy h2 em{display:inline-block;margin-top:6px}
.gallery{isolation:isolate}.gallery .gallery-slide{position:absolute;inset:0;opacity:0;transition:opacity .65s ease,transform .6s;pointer-events:none}.gallery .gallery-slide.is-active{opacity:1}.gallery>.gallery-label{top:16px;bottom:auto;z-index:2}.gallery:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#15251bd9);z-index:1;pointer-events:none}.gallery-controls{position:absolute;bottom:14px;left:16px;right:16px;display:flex;align-items:center;gap:12px;z-index:3;color:white}.gallery-controls button{width:34px;height:34px;display:grid;place-items:center;border:1px solid #ffffff70;border-radius:50%;background:#17332248;color:white;font-size:17px;cursor:pointer}.gallery-controls button:hover{background:var(--cream);color:var(--green)}.gallery-count{font-size:10px;letter-spacing:2px}.gallery-controls .gallery-pause{margin-left:auto;font-size:12px}.about-image{overflow:hidden}.about-image img{object-position:center;display:block}
@media(max-width:700px){header{height:94px}.brand{gap:9px}.brand img{width:60px;height:60px}.brand>span{font-size:26px}.brand small{font-size:7px}.button.small{padding:12px 10px;gap:8px}h1 em{font-size:1.1em}.about-copy h2 em{font-size:1.15em}.gallery-controls button{width:40px;height:40px}.gallery-label{max-width:calc(100% - 28px)}}
@media(prefers-reduced-motion:reduce){.gallery .gallery-slide{transition:none}}
.instagram-icon{display:inline-block;vertical-align:middle;margin-right:7px;flex-shrink:0}.social{justify-content:flex-start}.social .instagram-icon{margin-right:0}.social span{margin-left:auto}footer .instagram-icon{width:18px;height:18px}
