@import url('https://fonts.googleapis.com/css2?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{--ink:#292923;--muted:#717167;--red:#8c201c;--gold:#b08a45;--line:#e8e6de;--paper:#f8f7f3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:5px}button:disabled{cursor:default}::selection{background:#eee1b9}header{height:100px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;background:#ffffffed;position:sticky;top:0;z-index:20;backdrop-filter:blur(15px)}.brand{display:flex;align-items:center;gap:12px}.brand img{width:64px;height:64px;object-fit:contain}.brand-name{font-family:'Playfair Display',Georgia,serif;font-size:25px;font-weight:600}.brand-name small{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:4px;margin-top:4px}nav{display:flex;align-items:center;gap:32px;font-size:12px;font-weight:500}nav a:not(.button){padding:10px 0;position:relative}nav a[aria-current=page]:after{content:'';position:absolute;bottom:1px;left:0;width:100%;height:1px;background:var(--red)}.button{display:inline-flex;align-items:center;justify-content:center;gap:34px;background:var(--red);color:white;padding:18px 25px;border:1px solid var(--red);font-size:12px;font-weight:600;letter-spacing:.4px;transition:background .25s,transform .25s}.button:hover{background:#6e1714;transform:translateY(-2px)}.button.light{background:transparent;color:var(--ink);border-color:#c7c6bd}.button.light:hover{background:var(--paper)}.arrow{font-size:18px;font-weight:400}.menu-toggle{display:none}.eyebrow{font-size:10px;letter-spacing:3px;font-weight:600;text-transform:uppercase;display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';height:1px;width:30px;background:var(--gold)}.hero{min-height:700px;max-width:1600px;margin:auto;padding:80px 7% 60px;display:grid;grid-template-columns:1.2fr 1fr;gap:4%;align-items:center;overflow:hidden}.hero h1{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:clamp(60px,6.7vw,106px);line-height:1.02;letter-spacing:-4px;margin:30px 0}.hero h1 em{font-weight:500;color:var(--red)}.hero-copy>p{font-size:15px;color:var(--muted);line-height:1.9;max-width:370px;margin:27px 0 32px}.actions{display:flex;gap:12px;flex-wrap:wrap}.hero-note{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:1.5px;color:var(--muted);margin-top:34px}.hero-note i{width:5px;height:5px;background:var(--gold);border-radius:50%}.brand-art{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center}.brand-art:before,.brand-art:after{content:'';position:absolute;border:1px solid #e3d7bd;border-radius:50%;inset:5%;}.brand-art:after{inset:0;border:1px dashed #dfd6c2;animation:orbit 90s linear infinite}.brand-art img{width:78%;mix-blend-mode:multiply;animation:float 7s ease-in-out infinite}.art-label{position:absolute;bottom:0;background:#fff;padding:10px 20px;font-size:10px;letter-spacing:3px;color:var(--red)}.orbit-dot{position:absolute;inset:0;animation:orbit 20s linear infinite}.orbit-dot:before{content:'✳';position:absolute;top:11%;left:12%;background:white;padding:5px;color:var(--gold);font-size:30px}.ribbon{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:25px 0;white-space:nowrap}.ribbon-track{display:flex;width:max-content;animation:marquee 35s linear infinite}.ribbon span{font-family:'Playfair Display',Georgia,serif;font-size:25px;margin:0 35px}.ribbon b{font-size:20px;color:var(--gold);font-weight:400}.section{padding:95px 7%;max-width:1600px;margin:auto}.intro{display:grid;grid-template-columns:1fr 1.4fr;gap:12%}.section h2,.visit h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(36px,4vw,59px);font-weight:500;letter-spacing:-1.8px;line-height:1.15;margin:25px 0}.intro-text{font-size:16px;line-height:1.9;color:var(--muted);padding-top:40px}.text-link{display:inline-flex;gap:35px;border-bottom:1px solid var(--ink);padding:14px 0;font-size:12px;color:var(--ink);font-weight:600}.cuisines{margin-top:70px;border-top:1px solid var(--line)}.cuisine{display:grid;grid-template-columns:70px 1fr 1fr 32px;gap:20px;padding:30px 0;border-bottom:1px solid var(--line);align-items:center;transition:padding .3s,background .3s}.cuisine:hover{padding-left:15px;background:var(--paper)}.cuisine .number{font-size:11px;color:var(--gold)}.cuisine h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:29px;margin:0}.cuisine p{font-size:13px;color:var(--muted);line-height:1.6}.gallery-callout{padding:65px 7%;border-block:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--paper)}.gallery-callout h2{font:500 clamp(32px,4vw,56px)/1.2 'Playfair Display',Georgia,serif;margin:12px 0}.gallery-callout p{font-size:14px;color:var(--muted)}.visit{display:grid;grid-template-columns:1fr 1.1fr;gap:10%;padding:95px 7%;max-width:1600px;margin:auto}.visit-details{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-top:12px}.visit-details h3{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--gold);margin:15px 0}.visit-details p,.visit-details a{font-size:13px;line-height:1.9}.visit-details a:hover{text-decoration:underline}.visit-details .contact{grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px}footer{padding:35px 5.5%;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:10px;color:var(--muted)}.footer-name{font:500 23px 'Playfair Display',Georgia,serif;color:var(--ink)}.footer-links{display:flex;gap:25px}.gallery-heading{padding:75px 7% 40px;max-width:1600px;margin:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.gallery-heading h1{font:500 clamp(55px,6vw,90px)/1.08 'Playfair Display',Georgia,serif;letter-spacing:-3px;margin:24px 0 0}.gallery-heading h1 em{color:var(--red);font-weight:500}.gallery-heading p{font-size:14px;line-height:1.8;color:var(--muted);max-width:290px}.gallery-controls{padding:20px 7%;display:flex;align-items:center;justify-content:space-between;gap:15px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filter{border:1px solid var(--line);background:white;padding:12px 22px;color:var(--muted);font-size:12px;border-radius:30px}.filter[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.count{font-size:11px;color:var(--muted);white-space:nowrap}.gallery-grid{padding:15px 7% 80px;max-width:1600px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:35px 24px}.dish{margin:0;animation:appear .5s both}.dish[hidden]{display:none}.dish button{display:block;width:100%;border:0;background:var(--paper);padding:20px;overflow:hidden;aspect-ratio:1.08}.dish img{width:100%;height:100%;object-fit:contain;transition:transform .6s}.dish button:hover img{transform:scale(1.06)}.dish.photo button{padding:0}.dish.photo img{object-fit:cover}.dish figcaption{padding:18px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.dish h2{font:500 20px 'Playfair Display',Georgia,serif;margin:0}.dish figcaption span{font-size:9px;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted)}.gallery-bottom{text-align:center;padding:65px 20px;background:var(--paper)}.gallery-bottom h2{font:500 42px 'Playfair Display',Georgia,serif;margin:0 0 20px}.gallery-bottom p{font-size:13px;color:var(--muted);margin-bottom:25px}.lightbox{border:1px solid var(--line);padding:0;max-width:min(900px,92vw);width:900px;background:white;max-height:90vh}.lightbox::backdrop{background:#1b1b18c9;backdrop-filter:blur(5px)}.lightbox img{display:block;width:100%;height:65vh;object-fit:contain;background:var(--paper)}.lightbox-caption{padding:20px 25px;display:flex;justify-content:space-between;align-items:center;gap:20px}.lightbox-caption h2{font:500 26px 'Playfair Display',Georgia,serif;margin:0}.close-dialog{position:absolute;right:12px;top:12px;border:1px solid var(--line);width:42px;height:42px;background:white;border-radius:50%;font-size:25px}.motion-control{border:0;background:transparent;font-size:10px;color:var(--muted);text-decoration:underline}.paused *{animation-play-state:paused!important}.skip{position:fixed;top:-100px;left:20px;background:var(--ink);color:white;padding:12px;z-index:100}.skip:focus{top:10px}@keyframes float{50%{transform:translateY(-12px)}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes appear{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@media(min-width:1600px){.hero{min-height:800px}}@media(max-width:900px){header{height:85px;padding:0 5%}nav{gap:20px}.hero{padding:65px 6%;min-height:600px;gap:2%}.hero h1{font-size:65px}.hero-copy>p{font-size:14px}.brand-art{width:100%}.section,.visit{padding:65px 6%}.intro{gap:7%}.gallery-grid{padding-inline:6%;grid-template-columns:repeat(2,1fr)}.visit{gap:6%}.visit-details{gap:15px}.gallery-heading{padding:60px 6% 30px}.gallery-controls{padding-inline:6%}}@media(max-width:600px){header{height:78px}.brand img{height:48px;width:48px}.brand-name{font-size:21px}.brand-name small{font-size:8px;letter-spacing:3px}.menu-toggle{display:block;background:white;border:1px solid var(--line);padding:10px 14px;font-size:12px}nav{display:none;position:absolute;top:78px;left:0;width:100%;background:white;border-bottom:1px solid var(--line);padding:20px 6%;flex-direction:column;align-items:stretch;gap:12px}nav.open{display:flex}.hero{grid-template-columns:1fr;padding:50px 6% 40px;gap:35px}.hero h1{font-size:68px;letter-spacing:-3px;line-height:1.04;margin:22px 0}.hero-copy>p{margin:22px 0}.hero-note{margin-top:25px}.brand-art{width:80%;max-width:340px;margin:auto}.ribbon{padding:19px 0}.ribbon span{font-size:21px;margin-inline:22px}.intro,.visit{grid-template-columns:1fr;gap:20px}.intro-text{padding:0}.section h2{font-size:42px}.cuisines{margin-top:35px}.cuisine{grid-template-columns:28px 1fr 20px;gap:12px;padding:24px 0}.cuisine h3{font-size:27px}.cuisine p{grid-column:2;margin:0}.cuisine>.arrow{grid-column:3;grid-row:1/3}.gallery-callout{padding:45px 6%;display:block}.gallery-callout .button{margin-top:20px}.visit h2{margin-bottom:10px}.visit-details{gap:15px 24px}footer{padding:30px 6%;flex-wrap:wrap;gap:20px}.footer-links{gap:20px}.gallery-heading{display:block;padding-top:45px}.gallery-heading h1{font-size:58px}.gallery-heading p{max-width:100%;margin-top:22px}.gallery-controls{align-items:flex-start}.filter{padding:10px 15px;font-size:11px}.count{display:none}.gallery-grid{gap:27px 14px;padding-top:14px}.dish button{padding:8px;aspect-ratio:.9}.dish figcaption{display:block;padding:13px 0}.dish h2{font-size:18px;line-height:1.25}.dish figcaption span{display:block;margin-top:8px;font-size:8px}.gallery-bottom h2{font-size:34px}.lightbox img{height:52vh}.lightbox-caption{display:block}.lightbox-caption .button{margin-top:20px}.eyebrow{font-size:9px;letter-spacing:2px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.brand-art img{height:auto}
/* Catering promotion and social links */
nav .nav-catering{color:var(--red);font-weight:700}.catering-banner{display:flex;justify-content:center;align-items:center;gap:20px;background:var(--red);color:#fff;padding:14px 5%;font-size:12px;line-height:1.5}.catering-banner strong{letter-spacing:2px;font-size:11px}.banner-cta{border-bottom:1px solid #ffffff80;font-weight:600;margin-left:20px}.catering-banner:hover{background:#6e1714}.catering-section{padding:85px 7%;max-width:1600px;margin:auto;display:grid;grid-template-columns:1.25fr 1fr;gap:10%;border-top:1px solid var(--line)}.catering-intro h2{font:500 clamp(42px,4.5vw,70px)/1.12 'Playfair Display',Georgia,serif;letter-spacing:-2px;margin:25px 0}.catering-intro h2 em{color:var(--red);font-weight:500}.catering-intro p,.catering-details p{color:var(--muted);font-size:14px;line-height:1.9;max-width:450px}.occasion-list{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:25px;font-size:11px}.occasion-list span{border-bottom:1px solid #d7c5a0;padding-bottom:8px}.catering-details{align-self:center;border:1px solid #d9c8aa;padding:40px;position:relative}.catering-tag{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--red);background:#fff;position:absolute;top:-7px;left:28px;padding:0 12px}.catering-details h3{font:500 39px/1.15 'Playfair Display',Georgia,serif;margin:0 0 22px}.catering-details .button{margin-top:16px;width:100%;gap:15px;justify-content:space-between}.catering-phone{display:block;font-size:13px;margin-top:20px;text-decoration:underline;text-underline-offset:4px}.catering-email{display:block;font-size:12px;color:var(--muted);margin-top:10px}.social-section{padding:65px 7%;border-top:1px solid var(--line);display:grid;grid-template-columns:1.2fr 1fr;gap:7%;align-items:center}.social-section h2{font:500 clamp(30px,3vw,44px)/1.2 'Playfair Display',Georgia,serif;margin:20px 0 15px}.social-section p{font-size:13px;color:var(--muted);line-height:1.8}.social-buttons{display:grid;gap:12px}.social-buttons a{display:grid;grid-template-columns:1fr auto;gap:6px 20px;border-bottom:1px solid var(--line);padding:18px 0}.social-buttons a:hover{color:var(--red);border-color:var(--red)}.social-buttons span{font-size:17px;font-weight:500}.social-buttons small{grid-column:1;font-size:12px;color:var(--muted)}.social-buttons b{grid-column:2;grid-row:1/3;align-self:center;font-size:25px;font-weight:400}.gallery-catering{padding:50px 7%;display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:1px solid var(--line)}.gallery-catering h2{font:500 34px/1.2 'Playfair Display',Georgia,serif;margin:18px 0}.gallery-catering p{font-size:14px;line-height:1.8;color:var(--muted)}footer{flex-wrap:wrap}.footer-links{flex-wrap:wrap;align-items:center;gap:20px}
@media(min-width:601px) and (max-width:1000px){nav{gap:15px}.brand-name{font-size:22px}header{padding-inline:4%}.catering-section{gap:6%;padding-inline:6%}.catering-details{padding:30px}}
@media(min-width:601px) and (max-width:760px){nav .button{padding:14px}.brand img{width:45px;height:45px}.brand-name small{letter-spacing:2px}nav{gap:12px}}
@media(max-width:600px){.catering-banner{gap:5px 12px;flex-wrap:wrap;padding:12px 5%;font-size:11px}.catering-banner strong{font-size:10px}.banner-cta{margin-left:0}.catering-section{grid-template-columns:1fr;padding:55px 6%;gap:40px}.catering-intro h2{font-size:46px;letter-spacing:-1.5px}.catering-details{padding:30px 24px}.catering-details h3{font-size:34px}.social-section{padding:45px 6%;grid-template-columns:1fr;gap:15px}.gallery-catering{padding:40px 6%;display:block}.gallery-catering h2{font-size:32px}.gallery-catering .button{margin-top:10px}.hero .actions .button{gap:18px}.footer-links{line-height:1.8}}
.catering-page-hero{padding:38px 7% 85px;max-width:1600px;margin:auto}.breadcrumbs{display:flex;gap:13px;font-size:11px;color:var(--muted);margin-bottom:55px}.breadcrumbs a{text-decoration:underline}.catering-page-hero h1{font:500 clamp(40px,5vw,76px)/1.16 'Playfair Display',Georgia,serif;letter-spacing:-2px;margin:28px 0}.catering-page-hero h1 em{color:var(--red);font-weight:500}.catering-page-hero>p{max-width:650px;font-size:16px;line-height:1.9;color:var(--muted);margin:25px 0 30px}.catering-occasions{border-top:1px solid var(--line)}.occasion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:50px}.occasion-grid article>span{color:var(--gold);font-size:11px}.occasion-grid h3,.catering-how h3{font:500 25px 'Playfair Display',Georgia,serif}.occasion-grid p,.catering-how p,.catering-faq p{font-size:14px;line-height:1.9;color:var(--muted)}.catering-how{display:grid;grid-template-columns:1fr 1fr;gap:10%}.catering-how ol{padding-left:25px}.catering-how li{padding-left:12px;border-bottom:1px solid var(--line);padding-bottom:12px}.catering-faq{border-top:1px solid var(--line);padding-top:65px}.catering-faq details{border-bottom:1px solid var(--line);padding:23px 0}.catering-faq summary{font-size:16px;cursor:pointer;line-height:1.7}.catering-faq p{max-width:800px}.catering-faq a{text-decoration:underline}.catering-faq summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}@media(max-width:600px){.catering-page-hero{padding:25px 6% 50px}.breadcrumbs{margin-bottom:35px}.catering-page-hero h1{font-size:43px;letter-spacing:-1px}.occasion-grid,.catering-how{grid-template-columns:1fr;gap:22px}.occasion-grid{margin-top:30px}.catering-page-hero>p{font-size:14px}.catering-page-hero .actions{display:grid}.catering-faq summary{font-size:15px}}
