.meal-section{padding:70px 0 78px}
.meal-section>h2{font-size:clamp(36px,4.3vw,62px);max-width:760px;margin-bottom:35px}
.meal-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}
.meal-choice{display:flex;flex-direction:column;align-items:flex-start;border-top:2px solid var(--wine);padding-top:23px;min-width:0}
.meal-choice-heading{display:flex;justify-content:space-between;align-items:baseline;gap:14px;width:100%}
.meal-choice h3{font-family:var(--serif);font-size:32px;letter-spacing:-.04em;line-height:1.1}
.meal-choice-price{font-size:21px;font-weight:800;white-space:nowrap}
.meal-choice p{font-size:16px;line-height:1.6;margin-top:18px;max-width:360px}
.meal-choice .text-link{font-size:15px;margin-top:auto;padding-top:23px}
.meal-choice:hover .text-link{color:var(--red)}
.craving .craving-price{display:flex;align-items:baseline;justify-content:space-between;gap:15px;font-size:20px;font-weight:800;line-height:1.4;margin-top:15px}
.craving .craving-price span{font-size:16px;font-weight:500}
.craving .craving-description{font-size:15px;margin-top:9px}
.dining-story{min-height:690px}
.dining-visual{padding:50px 7% 155px}
.dining-visual .chef-photo{height:auto;min-height:0;aspect-ratio:4/3;object-position:center;border-radius:120px 120px 0 0}
.dining-visual .room-photo{width:70%;height:220px;bottom:38px;right:4%;object-position:center}
.dining-words{padding:70px 10%}
.dining-words h2{font-size:clamp(45px,5vw,69px)}
.dining-words .dining-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 25px;margin-top:30px}
.dining-actions .button{margin-top:0}
.dining-actions .text-link{font-size:15px}
.noodle-story{padding-block:55px;grid-template-columns:1.2fr .8fr}
.noodle-copy h2{font-size:clamp(48px,6vw,80px)}
.noodle-image{max-width:410px;justify-self:end;width:100%}
.gather-inner{grid-template-columns:.9fr 1.1fr;gap:8%;align-items:start}
.gather-inner .gather-copy h2{font-size:clamp(48px,5.6vw,78px)}
.gather-copy>p{margin-top:25px}
.gather-phone{display:inline-flex;align-items:center;gap:16px;font-size:18px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:5px;margin-top:25px}
.group-enquiry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 22px;min-width:0;color:var(--wine);background:var(--paper);padding:32px}
.group-enquiry label{display:flex;flex-direction:column;gap:7px;font-size:15px;font-weight:700;min-width:0}
.group-enquiry input,.group-enquiry textarea{width:100%;min-width:0;border:1px solid #641e2b70;border-radius:0;background:transparent;color:var(--wine);font:400 16px/1.4 var(--sans);padding:12px;min-height:48px}
.group-enquiry textarea{resize:vertical;min-height:100px}
.group-enquiry .group-field-wide,.group-enquiry .group-submit{grid-column:1/-1}
.group-enquiry .button{margin-top:0;background:var(--wine);border-color:var(--wine);color:var(--paper);justify-self:start}
.group-enquiry .button:hover{background:var(--red);border-color:var(--red)}
.group-enquiry input:focus-visible,.group-enquiry textarea:focus-visible{outline:2px solid var(--wine);outline-offset:3px}
.visit-information .visit-booking{font-size:16px;margin-top:16px}
.visit-booking a{border-bottom:1px solid currentColor;font-weight:700}
@media(max-width:1000px){.meal-choices{gap:25px}.meal-choice-heading{display:block}.meal-choice-price{display:block;margin-top:10px}.meal-choice h3{font-size:30px}.gather-inner{gap:5%}.group-enquiry{padding:25px;gap:17px}.dining-visual .room-photo{height:190px}.dining-story{min-height:620px}}
@media(max-width:800px){.meal-section{padding-block:55px}.meal-section>h2{font-size:46px}.meal-choice h3{font-size:28px}.meal-choice p{font-size:15px}.meal-choice-price{font-size:20px}.gather-inner{grid-template-columns:1fr;gap:35px}.gather-inner .gather-copy h2{font-size:58px;max-width:560px}.gather-copy>p{max-width:540px}.group-enquiry{padding:30px;gap:20px 25px}.dining-words{padding:50px 8%}.dining-words h2{font-size:44px}.dining-visual{padding-inline:6%}.dining-visual .room-photo{width:80%;height:170px;bottom:42px}.dining-story{min-height:580px}.noodle-copy h2{font-size:52px}.noodle-story{gap:7%}}
@media(max-width:600px){.meal-section{padding-block:42px 46px}.meal-section>h2{font-size:39px;margin-bottom:28px}.meal-choices{display:block}.meal-choice{padding-block:22px 26px}.meal-choice:last-child{padding-bottom:0}.meal-choice-heading{display:flex}.meal-choice h3{font-size:31px}.meal-choice-price{display:inline;font-size:20px;margin-top:0}.meal-choice p{font-size:16px;margin-top:12px;max-width:100%}.meal-choice .text-link{padding-top:15px}.craving h3{font-size:37px}.craving .craving-price{margin-top:12px}.dining-visual{min-height:450px;padding:32px 6% 140px}.dining-visual .chef-photo{height:auto;aspect-ratio:4/3;border-radius:110px 110px 0 0}.dining-visual .room-photo{height:170px;width:70%;bottom:28px;right:5%}.dining-words{padding:45px 6% 50px}.dining-words h2{font-size:48px}.dining-words .dining-actions{margin-top:25px}.dining-actions .text-link{font-size:15px}.noodle-story{flex-direction:row;display:grid;grid-template-columns:1fr;gap:27px;padding:42px 6% 47px}.noodle-copy h2{font-size:52px}.noodle-copy p{margin-top:20px}.noodle-image{max-width:270px;justify-self:center}.gather-section{padding-block:50px}.gather-inner .gather-copy h2{font-size:48px}.gather-inner>div{margin-top:0}.gather-copy>p{margin-top:22px}.gather-phone{font-size:17px;margin-top:20px}.group-enquiry{padding:24px 20px;gap:17px 15px;margin-top:30px}.group-enquiry label{font-size:14px}.group-enquiry input,.group-enquiry textarea{padding:11px 9px}.group-enquiry label[for="group-name"],.group-enquiry label[for="group-email"],.group-enquiry label[for="group-phone"]{grid-column:1/-1}.group-enquiry .button{width:100%;gap:20px}.visit-information .visit-booking{font-size:16px}}
@media(max-width:350px){.meal-choice h3{font-size:28px}.meal-choice-price{font-size:18px}.meal-section>h2{font-size:35px}.dining-words h2{font-size:43px}.group-enquiry{grid-template-columns:1fr}.group-enquiry label{grid-column:1/-1}.gather-inner .gather-copy h2{font-size:43px}}
