:root{--ink:#171512;--black:#0d0c0b;--paper:#e8deca;--red:#d63a2b;--yellow:#efc943;--cream:#f5ecd9;--muted:#a99f8b;--line:#4b453a}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--cream);font-family:"Courier Prime",monospace;font-size:18px;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
.topbar{height:86px;padding:12px 4vw;display:flex;align-items:center;justify-content:space-between;background:rgba(13,12,11,.97);border-bottom:1px solid #3a352d;position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}
.wordmark{text-decoration:none;display:flex;flex-direction:column;font-family:"Archivo Black",sans-serif;line-height:.82;letter-spacing:-.05em;transform:rotate(-1deg)}
.wordmark span{font-size:16px;letter-spacing:.12em;color:var(--yellow)}
.wordmark strong{font-size:34px}
nav{display:flex;align-items:center;gap:18px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}
nav a{text-decoration:none;border-bottom:2px solid transparent;padding:8px 0}
nav a:hover,nav a:focus-visible{border-color:var(--yellow)}
.nav-cta{background:var(--red);padding:12px 16px;transform:rotate(1deg)}
.menu-toggle{display:none;background:none;border:1px solid var(--cream);color:var(--cream);font:700 15px "Courier Prime";padding:10px}
.hero{min-height:calc(100vh - 86px);position:relative;display:flex;align-items:center;padding:8vw 7vw;overflow:hidden}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.25) contrast(1.2) brightness(.55)}
.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,11,9,.97) 0%,rgba(12,11,9,.72) 52%,rgba(12,11,9,.12) 100%),linear-gradient(0deg,rgba(10,9,7,.9),transparent 45%)}
.hero-copy{position:relative;z-index:2;max-width:820px}
.eyebrow,.section-number{font-size:14px;letter-spacing:.18em;font-weight:700;color:var(--red);margin:0 0 20px}
h1,h2{font-family:"Archivo Black",sans-serif;line-height:.88;letter-spacing:-.065em;margin:0}
h1{font-size:clamp(4rem,8.4vw,9rem)}
h1 span{color:var(--red);text-decoration:line-through;text-decoration-thickness:.06em}
.hero-line{font-family:"Permanent Marker",cursive;font-size:clamp(2rem,3.5vw,3.8rem);color:var(--yellow);margin:15px 0 8px;transform:rotate(-2deg)}
.lead{max-width:660px;font-size:20px;line-height:1.5;margin:18px 0 30px}
.hero-actions,.booking-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.button{display:inline-block;background:var(--yellow);color:var(--ink);font-family:"Archivo Black",sans-serif;text-decoration:none;padding:16px 22px;box-shadow:7px 7px 0 var(--red);transform:rotate(-1deg);transition:.18s}
.button:hover,.button:focus-visible{transform:rotate(0) translate(-2px,-2px);box-shadow:10px 10px 0 var(--red)}
.text-link,.phone-link{font-weight:700;text-decoration-thickness:2px;text-underline-offset:5px}
.hero-note{position:absolute;z-index:2;right:4vw;bottom:5vw;width:270px;background:rgba(232,222,202,.94);color:var(--ink);padding:22px;transform:rotate(2deg);box-shadow:8px 10px 0 rgba(0,0,0,.5)}
.hero-note span,.card-top{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--red)}
.hero-note p{font-family:"Permanent Marker";line-height:1.35;margin-bottom:0}
.paper{background:var(--paper);color:var(--ink)}
.portrait-section{padding:105px 8vw 120px;display:grid;grid-template-columns:minmax(300px,.82fr) 1.18fr;gap:8vw;align-items:center}
.portrait-wrap{position:relative;max-width:600px;transform:rotate(-1.5deg)}
.portrait-wrap:before{content:"";position:absolute;inset:-15px 15px 15px -15px;border:3px solid var(--red)}
.portrait-wrap img{position:relative;width:100%;aspect-ratio:1/1;object-fit:cover;filter:contrast(1.04);box-shadow:18px 22px 35px rgba(38,26,12,.28)}
.portrait-caption{position:absolute;right:-25px;bottom:25px;background:var(--yellow);padding:12px 16px;font-weight:700;font-size:14px;line-height:1.2;transform:rotate(3deg);box-shadow:5px 5px 0 var(--red)}
.portrait-caption span{font-size:11px;letter-spacing:.1em}
.portrait-copy h2,.private-copy h2,.services h2,.story h2,.notes h2,.booking h2{font-size:clamp(3.4rem,6.4vw,7.5rem)}
.portrait-copy>p:not(.scribble){font-size:19px;line-height:1.65;max-width:720px}
.scribble{font-family:"Permanent Marker",cursive;font-size:25px;color:var(--red);transform:rotate(-3deg);margin:0 0 15px}
.signature-mark{width:min(390px,92%);height:auto;margin-top:24px;transform:rotate(-2deg);mix-blend-mode:multiply}
.private-dining{display:grid;grid-template-columns:.92fr 1.08fr;min-height:860px}
.private-copy{padding:100px 6vw 100px 7vw;display:flex;flex-direction:column;justify-content:center}
.private-copy>p:not(.scribble){line-height:1.65;max-width:650px}
.private-copy .button{width:max-content;margin-top:24px}
.section-number.light{color:var(--yellow)}
.yellow{color:var(--yellow)}
.experience-photo{position:relative;margin:0;min-height:760px;overflow:hidden}
.experience-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(.65) contrast(1.25)}
.experience-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,21,18,.52),transparent 35%)}
.experience-photo figcaption{position:absolute;z-index:2;left:28px;bottom:28px;background:var(--yellow);color:var(--ink);padding:11px 13px;font-size:12px;font-weight:700;transform:rotate(-2deg)}
.experience-photo figcaption span{font-size:10px;letter-spacing:.08em}
.memory{padding:110px 9vw;text-align:center;position:relative}
.memory-rule{width:90px;border-top:7px solid var(--red);margin:0 auto 28px;transform:rotate(-3deg)}
.memory blockquote{font-family:"Archivo Black",sans-serif;font-size:clamp(2.6rem,5.2vw,6rem);line-height:.95;letter-spacing:-.05em;max-width:1180px;margin:0 auto 35px}
.memory>p:not(.eyebrow):not(.memory-line){max-width:800px;margin:0 auto;font-size:20px;line-height:1.6}
.memory-line{font-family:"Permanent Marker",cursive;color:var(--red);font-size:clamp(1.6rem,2.6vw,2.8rem);margin:35px auto 0;transform:rotate(-1deg)}
.services{padding:105px 7vw 120px}
.services-head{display:grid;grid-template-columns:1.2fr .8fr;gap:7vw;align-items:end;margin-bottom:70px}
.services-head>p{font-size:19px;line-height:1.6;max-width:560px}
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:#514b40;border:2px solid #514b40}
.service-grid article{background:var(--ink);padding:38px 32px;min-height:330px}
.service-grid span{font:700 15px "Courier Prime";color:var(--red)}
.service-grid h3{font:32px/1 "Archivo Black";margin:30px 0 20px;color:var(--yellow)}
.service-grid p{line-height:1.55;color:#d9d0bd}
.farm-table{display:grid;grid-template-columns:1.2fr .8fr;min-height:720px;background:#17140f;color:var(--cream)}
.farm-table-photo{position:relative;margin:0;overflow:hidden;min-height:620px}
.farm-table-photo img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.86) contrast(1.06)}
.farm-table-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 62%,rgba(23,20,15,.75));pointer-events:none}
.farm-table-photo figcaption{position:absolute;z-index:2;left:25px;bottom:22px;background:var(--yellow);color:var(--ink);padding:9px 13px;font:700 13px "Courier Prime",monospace;letter-spacing:.08em;transform:rotate(-1deg)}
.farm-table-copy{padding:95px 7vw 95px 6vw;align-self:center}
.farm-table-copy h2{font-size:clamp(3rem,5.4vw,6.4rem);margin:24px 0 30px}
.farm-table-copy>p:not(.scribble){font-size:18px;line-height:1.65;color:#ddd4c3;max-width:620px}
.food-journal{background:var(--paper);color:var(--ink);padding:105px 7vw 125px;overflow:hidden}
.food-journal-head{display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:end;margin-bottom:62px}
.food-journal-head h2{font-size:clamp(3.8rem,7vw,8rem)}
.food-journal-head>p{font-size:20px;line-height:1.6;max-width:580px;margin:0 0 10px}
.food-grid{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:minmax(320px,38vw) minmax(260px,29vw);gap:22px;max-width:1500px;margin:0 auto}
.food-shot{position:relative;margin:0;overflow:hidden;background:#1b1814;box-shadow:12px 15px 28px rgba(48,31,17,.22)}
.food-shot img{width:100%;height:100%;object-fit:cover;filter:saturate(.88) contrast(1.08)}
.food-shot:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,8,6,.76),transparent 45%);pointer-events:none}
.food-shot figcaption{position:absolute;z-index:2;left:22px;right:22px;bottom:19px;color:var(--cream);display:flex;justify-content:space-between;align-items:end;gap:18px;text-shadow:0 2px 8px rgba(0,0,0,.7)}
.food-shot figcaption strong{font:clamp(1.5rem,2.5vw,2.7rem)/.95 "Archivo Black",sans-serif;letter-spacing:-.04em}
.food-shot figcaption span{font-family:"Permanent Marker",cursive;color:var(--yellow);font-size:17px;max-width:300px;text-align:right;transform:rotate(-1deg)}
.sauce-shot{grid-row:1/3;transform:rotate(-.4deg)}
.sauce-shot img{object-position:58% center}
.parm-shot{transform:rotate(.7deg)}
.table-shot{transform:rotate(-.5deg)}
.story{padding:105px 7vw 130px;display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:center}
.ingredient-photo{margin:0;background:#fff;padding:13px 13px 60px;box-shadow:10px 15px 25px rgba(50,38,20,.25);transform:rotate(-2deg)}
.ingredient-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.72) contrast(1.08)}
.ingredient-photo figcaption{font-family:"Permanent Marker",cursive;font-size:20px;padding:15px 8px 0}
.ingredient-photo figcaption span{font-size:15px;color:var(--red)}
.story-copy>p{line-height:1.65;font-size:19px}
.marker{font-family:"Permanent Marker",cursive;font-size:25px!important;line-height:1.35!important;border-top:3px solid var(--red);padding-top:20px;transform:rotate(-1deg);color:var(--red)}
.quote-square{width:min(100%,390px);min-height:360px;aspect-ratio:1/1;padding:34px;display:flex;flex-direction:column;justify-content:center;position:relative;box-shadow:10px 14px 24px rgba(24,18,10,.28)}
.quote-square:before{content:"";position:absolute;top:-12px;left:50%;width:86px;height:28px;background:rgba(226,208,168,.78);transform:translateX(-50%) rotate(-3deg)}
.quote-square blockquote{font:clamp(1.15rem,1.7vw,1.55rem)/1.28 "Archivo Black",sans-serif;letter-spacing:-.035em;margin:0}
.quote-square .quote-continuation{margin-top:9px}
.quote-square cite{font:700 13px/1.35 "Courier Prime",monospace;letter-spacing:.08em;text-transform:uppercase;margin-top:24px}
.quote-marco{background:var(--ink);color:var(--cream);border:6px solid var(--yellow);margin:42px 0 24px auto;transform:rotate(1.2deg)}
.quote-marco cite{color:var(--yellow)}
.quote-keller{background:var(--yellow);color:var(--ink);margin:-18px 4vw 72px auto;transform:rotate(-1.4deg)}
.quote-keller cite{color:#8f2118}
.quote-bourdain{background:var(--red);color:var(--cream);margin:0 0 48px auto;transform:rotate(1.5deg)}
.quote-bourdain blockquote:first-child:before{content:"“"}
.quote-bourdain .quote-continuation:after{content:"”"}
.quote-bourdain cite{color:var(--yellow)}
.notes{padding:100px 7vw 130px}
.notes-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:60px}
.notes-head p{max-width:420px;font-size:19px;line-height:1.5}
.note-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;align-items:stretch}
.note-card{padding:34px;min-height:350px;box-shadow:9px 12px 20px rgba(0,0,0,.22);position:relative}
.note-card:before{content:"";position:absolute;top:-13px;left:38%;width:80px;height:30px;background:rgba(220,202,164,.68);transform:rotate(-3deg)}
.note-card h3{font:clamp(2rem,3vw,3.2rem)/1 "Archivo Black";margin:32px 0 22px}
.note-card p{line-height:1.5}
.cream-card{background:var(--cream);color:var(--ink);transform:rotate(-1.5deg)}
.red-card{background:var(--red);color:var(--cream);transform:rotate(1deg)}
.red-card .card-top{color:var(--yellow)}
.dark-card{background:#080807;color:var(--cream);border:6px solid var(--yellow);transform:rotate(-.5deg)}
.hand{font-family:"Permanent Marker",cursive;color:var(--red);font-size:21px}
.faq{padding:110px 7vw 125px;display:grid;grid-template-columns:.78fr 1.22fr;gap:8vw;align-items:start}
.faq-intro{position:sticky;top:125px}
.faq h2{font-size:clamp(3.4rem,6.4vw,7.2rem)}
.faq-intro>p:last-child{font-size:19px;line-height:1.6;max-width:520px}
.faq-list{border-top:3px solid var(--ink)}
.faq-list details{border-bottom:2px solid rgba(23,21,18,.35);padding:0}
.faq-list summary{list-style:none;cursor:pointer;font:clamp(1.25rem,2vw,1.75rem)/1.15 "Archivo Black",sans-serif;padding:27px 52px 27px 0;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:8px;top:19px;font:38px/1 "Courier Prime",monospace;color:var(--red)}
.faq-list details[open] summary:after{content:"–"}
.faq-list details p{margin:0;padding:0 52px 27px 0;line-height:1.6;font-size:17px}
.wedding-moment{min-height:800px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#12100d}
.wedding-moment>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.9) contrast(1.06)}
.wedding-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,9,7,.88) 0%,rgba(10,9,7,.5) 40%,rgba(10,9,7,.06) 72%),linear-gradient(0deg,rgba(10,9,7,.8),transparent 52%)}
.wedding-copy{position:relative;z-index:2;width:min(720px,86%);margin:0 0 7vw 7vw}
.wedding-copy h2{font:clamp(3.6rem,7vw,7.8rem)/.88 "Archivo Black",sans-serif;letter-spacing:-.065em;margin:0;text-shadow:0 3px 24px rgba(0,0,0,.55)}
.wedding-copy>p:last-child{font-size:19px;line-height:1.55;max-width:610px;margin:28px 0 0}
.wedding-label{position:absolute;z-index:2;right:3vw;bottom:3vw;background:var(--cream);color:var(--ink);padding:12px 15px;font-size:12px;font-weight:700;letter-spacing:.06em;transform:rotate(1deg);box-shadow:6px 7px 0 var(--red)}
.gathering{min-height:780px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#12100d}
.gathering>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:saturate(.88) contrast(1.08)}
.gathering-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,9,7,.88) 0%,rgba(10,9,7,.5) 44%,rgba(10,9,7,.08) 75%),linear-gradient(0deg,rgba(10,9,7,.82),transparent 48%)}
.gathering-copy{position:relative;z-index:2;width:min(760px,86%);margin:0 0 7vw 7vw}
.gathering-copy h2{font:clamp(3.6rem,7vw,7.8rem)/.88 "Archivo Black",sans-serif;letter-spacing:-.065em;margin:0;text-shadow:0 3px 24px rgba(0,0,0,.55)}
.gathering-copy>p:last-child{font-size:19px;line-height:1.55;max-width:650px;margin:28px 0 0}
.gathering-label{position:absolute;z-index:2;right:3vw;bottom:3vw;background:var(--yellow);color:var(--ink);padding:12px 15px;font-size:12px;font-weight:700;letter-spacing:.06em;transform:rotate(-1.5deg);box-shadow:6px 7px 0 var(--red)}
.yacht-moment{display:grid;grid-template-columns:1.16fr .84fr;min-height:720px;background:var(--ink)}
.yacht-photo{position:relative;min-height:720px;overflow:hidden}
.yacht-photo img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.9) contrast(1.06)}
.yacht-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 66%,rgba(23,21,18,.62))}
.yacht-stamp{position:absolute;z-index:2;left:28px;bottom:28px;background:var(--cream);color:var(--ink);padding:12px 15px;font-size:12px;font-weight:700;letter-spacing:.08em;transform:rotate(1.5deg);box-shadow:6px 7px 0 var(--red)}
.yacht-copy{padding:85px 6vw 85px 5vw;display:flex;flex-direction:column;justify-content:center}
.yacht-copy h2{font:clamp(3.2rem,5.6vw,6.5rem)/.88 "Archivo Black",sans-serif;letter-spacing:-.065em;margin:0}
.yacht-copy>p:last-child{font-size:18px;line-height:1.6;max-width:560px;margin:28px 0 0;color:#ddd2bf}
.supper-club{padding:110px 7vw 125px;display:grid;grid-template-columns:1fr minmax(380px,.78fr);gap:8vw;align-items:center;background:#090908;color:var(--cream);position:relative;overflow:hidden;border-top:1px solid #393328}
.supper-club:before{content:"PRIVATE • MEMBERS ONLY • PRIVATE • MEMBERS ONLY •";position:absolute;top:44%;left:-4%;white-space:nowrap;font:clamp(4rem,9vw,9rem)/1 "Archivo Black",sans-serif;color:rgba(239,201,67,.035);transform:rotate(-8deg);pointer-events:none}
.club-copy,.membership-card{position:relative;z-index:2}
.club-kicker{display:inline-block;border:2px solid var(--red);padding:9px 12px;margin-bottom:25px;font-size:12px;font-weight:700;letter-spacing:.12em;transform:rotate(-1deg)}
.club-copy h2{font-size:clamp(4.2rem,8vw,9rem)}
.club-line{font-family:"Permanent Marker",cursive;color:var(--yellow);font-size:clamp(1.7rem,3vw,3rem);margin:20px 0;transform:rotate(-1deg)}
.club-copy>p:not(.club-line){font-size:18px;line-height:1.65;max-width:700px;color:#d9d0bd}
.club-facts{display:flex;flex-wrap:wrap;gap:9px;margin-top:32px}
.club-facts span{border:1px solid #5b5448;padding:8px 10px;font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--yellow)}
.membership-card{background:var(--paper);color:var(--ink);padding:36px 34px 30px;box-shadow:12px 14px 0 var(--red);transform:rotate(.5deg)}
.membership-card:before,.membership-card:after{content:"";position:absolute;top:68px;width:28px;height:28px;background:#090908;border-radius:50%}
.membership-card:before{left:-14px}.membership-card:after{right:-14px}
.ticket-top{display:flex;justify-content:space-between;gap:20px;padding-bottom:21px;border-bottom:2px dashed rgba(23,21,18,.42);font-size:11px;font-weight:700;letter-spacing:.1em}
.ticket-top strong{color:var(--red)}
.membership-card h3{font:clamp(2.8rem,5vw,5rem)/.86 "Archivo Black",sans-serif;letter-spacing:-.06em;margin:30px 0 18px}
.membership-card>p{line-height:1.5;margin:0 0 28px}
#club-form{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
.club-field{display:grid;gap:7px}
.club-field label{font-size:12px;font-weight:700;letter-spacing:.08em;margin-top:8px}
#club-form input:not([type="checkbox"]){width:100%;min-width:0;background:#fffaf0;border:2px solid var(--ink);border-radius:0;color:var(--ink);font:16px "Courier Prime",monospace;padding:12px;outline:none}
#club-form input:focus{box-shadow:4px 4px 0 var(--yellow)}
.club-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.club-consent{grid-column:1/-1;display:flex;gap:11px;align-items:flex-start;margin:14px 0 5px;font-size:12px;line-height:1.4}
.club-consent input{width:18px;height:18px;flex:0 0 auto;accent-color:var(--red)}
.club-submit{grid-column:1/-1;border:0;background:var(--ink);color:var(--cream);font:18px "Archivo Black",sans-serif;padding:16px 18px;cursor:pointer;box-shadow:6px 6px 0 var(--red)}
.club-submit:hover,.club-submit:focus-visible{background:var(--red)}
.club-status{grid-column:1/-1;min-height:1.4em;margin:8px 0 0;font-size:13px;font-weight:700;color:var(--red)}
.club-privacy{grid-column:1/-1;margin:0;font-size:11px;line-height:1.4;color:#645e54}
.ticket-bottom{margin-top:20px;padding-top:18px;border-top:2px dashed rgba(23,21,18,.42);text-align:center;font-size:11px;font-weight:700;letter-spacing:.12em}
.booking{text-align:center;padding:130px 6vw;background:var(--red);position:relative;overflow:hidden}
.booking:before{content:"CHEF JOHN GIZZE • CHEF JOHN GIZZE •";position:absolute;font:90px "Archivo Black";color:rgba(0,0,0,.09);white-space:nowrap;transform:rotate(-9deg);top:10%;left:-5%}
.booking>*{position:relative}
.booking h2{font-size:clamp(4rem,8vw,9rem)}
.booking>p:not(.scribble){max-width:680px;margin:30px auto;font-size:21px;line-height:1.5}
.booking-actions{justify-content:center}
.dark-button{background:var(--ink);color:var(--cream);box-shadow:7px 7px 0 var(--yellow)}
.phone-link{font:24px "Archivo Black"}
.booking-note{margin:38px auto 0;font-size:14px;line-height:1.6;font-weight:700;letter-spacing:.08em}
footer{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:60px 5vw;background:var(--black);border-top:1px solid #3a352d}
.footer-mark{width:max-content}.footer-mark strong{font-size:48px}
footer>p{font-family:"Permanent Marker",cursive;color:var(--yellow);font-size:20px;line-height:1.3}
.credits{grid-column:1/-1;border-top:1px solid #302d27;padding-top:18px;color:#8f887b;font-size:12px;line-height:1.6}
.credits a{color:#aaa294}
@media(max-width:1020px){nav{gap:15px}.portrait-section,.story{gap:5vw}.services-head,.food-journal-head{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:auto}.farm-table{grid-template-columns:1fr;min-height:auto}.farm-table-photo{min-height:58vw}.farm-table-photo:after{background:linear-gradient(0deg,rgba(23,20,15,.62),transparent 50%)}.farm-table-copy{padding:75px 7vw 90px}.note-grid{grid-template-columns:1fr 1fr}.note-card:last-child{grid-column:1/-1}.food-grid{grid-template-columns:1fr 1fr;grid-template-rows:minmax(450px,62vw) minmax(300px,42vw)}.sauce-shot{grid-column:1/-1;grid-row:auto}.parm-shot,.table-shot{grid-row:auto}.faq{grid-template-columns:1fr}.faq-intro{position:static}.supper-club{grid-template-columns:1fr;gap:65px}.membership-card{width:min(100%,650px);margin:0 auto}}
@media(max-width:800px){
  .menu-toggle{display:block}nav{display:none;position:absolute;top:86px;left:0;right:0;background:#12110f;padding:22px;flex-direction:column;align-items:stretch}nav.open{display:flex}
  .hero{padding:80px 6vw 240px}.hero-wash{background:linear-gradient(90deg,rgba(12,11,9,.94),rgba(12,11,9,.5))}.hero-note{left:7vw;right:auto;bottom:45px}
  .portrait-section,.private-dining,.story{grid-template-columns:1fr}.portrait-section{padding:80px 7vw 100px}.portrait-wrap{width:82%;margin:0 auto}.portrait-copy{padding-top:25px}
  .private-copy{padding:85px 7vw}.experience-photo{min-height:600px;order:-1}
  .memory{padding:85px 7vw}.services{padding:85px 7vw 100px}.food-journal{padding:85px 7vw 100px}.story{padding:85px 7vw 100px}.ingredient-photo{width:88%;margin:0 auto}.notes-head{align-items:start;flex-direction:column}
  .wedding-moment,.gathering{min-height:720px}.wedding-shade,.gathering-shade{background:linear-gradient(0deg,rgba(10,9,7,.9) 0%,rgba(10,9,7,.58) 52%,rgba(10,9,7,.08) 78%)}.wedding-copy,.gathering-copy{margin:0 7vw 110px}.wedding-label,.gathering-label{left:7vw;right:auto;bottom:35px}
  .yacht-moment{grid-template-columns:1fr}.yacht-photo{min-height:500px}.yacht-photo:after{background:linear-gradient(0deg,rgba(23,21,18,.5),transparent 45%)}.yacht-copy{padding:75px 7vw 90px}
}
@media(max-width:560px){
  body{font-size:16px}.topbar{height:76px}.wordmark strong{font-size:28px}nav{top:76px}
  .hero{min-height:810px;padding-top:55px}.hero-photo{object-position:57% center}.hero-copy{align-self:flex-start;margin-top:30px}.lead{font-size:17px}.hero-note{width:84%}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:24px}.portrait-wrap{width:92%}.portrait-caption{right:-12px;bottom:15px}
  .portrait-copy h2,.private-copy h2,.services h2,.story h2,.notes h2{font-size:clamp(3rem,16vw,5rem)}
  .signature-mark{width:min(340px,96%);margin-top:20px}
  .experience-photo{min-height:460px}.experience-photo img{object-position:58% center}.service-grid article{padding:32px 25px}.note-grid{grid-template-columns:1fr;gap:42px}.note-card:last-child{grid-column:auto}
  .food-grid{grid-template-columns:1fr;grid-template-rows:none;gap:32px}.food-shot{min-height:390px}.sauce-shot,.parm-shot,.table-shot{grid-column:auto}.food-shot figcaption{align-items:flex-start;flex-direction:column;gap:8px}.food-shot figcaption span{text-align:left}.table-shot img{object-position:55% center}
  .quote-square{width:94%;min-height:330px;aspect-ratio:auto;padding:28px;margin-left:auto;margin-right:auto}.quote-square blockquote{font-size:1.2rem}
  .wedding-moment,.gathering{min-height:0;display:block;padding-bottom:105px}.wedding-moment>img,.gathering>img{position:relative;height:auto;object-fit:contain}.wedding-shade,.gathering-shade{display:none}.wedding-copy,.gathering-copy{width:auto;margin:0;padding:48px 7vw 25px}.wedding-copy h2,.gathering-copy h2{font-size:clamp(3.2rem,15vw,5rem)}.wedding-copy>p:last-child,.gathering-copy>p:last-child{font-size:16px}.wedding-label,.gathering-label{max-width:82%;line-height:1.4;bottom:35px}
  .yacht-photo{min-height:0}.yacht-photo img{height:auto;object-fit:contain}.yacht-photo:after{display:none}.yacht-stamp{left:7vw;bottom:18px}.yacht-copy{padding:62px 7vw 80px}.yacht-copy h2{font-size:clamp(3rem,14vw,5rem)}.yacht-copy>p:last-child{font-size:16px}
  .supper-club{padding:85px 7vw 105px}.club-copy h2{font-size:clamp(4rem,20vw,6rem)}.membership-card{padding:30px 22px 26px;transform:none;box-shadow:8px 9px 0 var(--red)}#club-form{grid-template-columns:1fr}.ticket-top{gap:10px;flex-direction:column}
  .booking{padding:100px 5vw}.booking h2{font-size:clamp(3.5rem,18vw,6rem)}.booking-actions{flex-direction:column}footer{grid-template-columns:1fr}.credits{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
