.m3-page,.c3-page{background:var(--paper);color:var(--ink);font-family:var(--sans)}
.m3-page h1,.m3-page h2,.c3-page h1,.c3-page h2{font-family:var(--sans);font-weight:500;letter-spacing:-.035em;margin:0}
.m3-page h1,.c3-page h1{font-family:var(--serif);font-weight:400;font-style:normal;font-size:60px;line-height:1.1;letter-spacing:-.02em}
.m3-page h2,.c3-page h2{font-size:34px;line-height:1.2}
.m3-page p,.c3-page p{font-size:18px;line-height:1.65;color:var(--muted)}
.m3-page img{display:block;width:100%;height:100%;object-fit:cover}
.m3-page section[id],.c3-page section[id]{scroll-margin-top:110px}
.m3-intro{max-width:1280px;margin:0 auto;padding:64px 6vw 58px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:8vw;align-items:center}
.m3-intro-copy p{margin:25px 0 28px}
.m3-intro-photo{position:relative;min-height:0;overflow:hidden;padding:14px;background:var(--pink);aspect-ratio:1.3;max-width:510px;width:100%;justify-self:end}
.m3-intro-photo img{position:absolute;inset:14px;width:calc(100% - 28px);height:calc(100% - 28px);object-position:50% 42%}
.m3-menu-wrap{max-width:1280px;padding:0 6vw 75px;margin:0 auto}
.m3-navigation{display:flex;flex-wrap:wrap;align-items:center;gap:12px 34px;min-height:70px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.m3-navigation a{display:inline-flex;align-items:center;min-height:44px;font-size:17px;text-decoration:none;text-underline-offset:6px}
.m3-navigation a:hover{text-decoration:underline}
.m3-menu-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:9vw;padding-top:59px}
.m3-menu-group{margin-bottom:52px}
.m3-menu-group:last-child{margin-bottom:0}
.m3-menu-group h2{margin-bottom:25px}
.m3-dish-list{list-style:none;padding:0;margin:0}
.m3-dish-list li{font-size:20px;line-height:1.45;padding:18px 0;border-bottom:1px solid var(--line)}
.m3-dish-list li:first-child{border-top:1px solid var(--line)}
.m3-photo-stack{display:flex;flex-direction:column;gap:48px;padding-top:7px}
.m3-breakfast-photo{aspect-ratio:1.05;overflow:hidden}
.m3-breakfast-photo img{object-position:60% 50%}
.m3-coffee-photo{width:83%;aspect-ratio:1;align-self:flex-end;overflow:hidden}
.m3-catering{display:flex;align-items:center;justify-content:space-between;gap:36px;padding:52px max(6vw,calc((100vw - 1126px)/2));background:#F5E7E8}
.m3-catering h2{font-size:32px}
.m3-catering p{margin:15px 0 0}
.m3-catering .button{flex:none}

.c3-intro{max-width:1280px;margin:0 auto;padding:70px 6vw 58px}
.c3-intro p{margin:24px 0 28px;max-width:660px}
.c3-enquiry{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:8vw;max-width:1280px;margin:0 auto;padding:57px 6vw 86px;position:relative}
.c3-enquiry::before{content:"";position:absolute;top:0;left:6vw;right:6vw;height:1px;background:var(--line)}
.c3-enquiry-copy h2{font-size:34px}
.c3-enquiry-copy p{margin:23px 0 29px;max-width:330px}
.c3-contact{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.c3-contact a{font-size:17px;line-height:1.5;text-underline-offset:5px;overflow-wrap:anywhere}
.c3-form{min-width:0}
.c3-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:25px 24px}
.c3-field{display:flex;flex-direction:column;min-width:0}
.c3-field label{font-size:16px;line-height:1.5;margin-bottom:9px}
.c3-field input,.c3-field select,.c3-field textarea{width:100%;min-width:0;max-width:100%;min-height:52px;padding:12px 13px;border:1px solid #BDB2AC;border-radius:2px;background:#FFFDFC;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;color-scheme:light}
.c3-field input:focus,.c3-field select:focus,.c3-field textarea:focus{outline:2px solid var(--wine);outline-offset:3px;border-color:var(--wine)}
.c3-field select{padding-right:28px}
.c3-field textarea{min-height:133px;resize:vertical}
.c3-field textarea::placeholder{color:var(--muted);opacity:1}
.c3-full-width{grid-column:1/-1}
.c3-form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px 28px;margin-top:3px}
.c3-form-actions .text-link{font-size:16px;min-height:44px}

@media(min-width:1600px){.m3-intro,.m3-menu-wrap,.c3-intro,.c3-enquiry{padding-left:72px;padding-right:72px}.c3-enquiry::before{left:72px;right:72px}}
@media(max-width:1100px){
  .m3-page h1,.c3-page h1{font-size:60px}
  .m3-intro{gap:6vw}
  .m3-menu-layout{gap:6vw;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
  .m3-photo-stack{gap:38px}
  .m3-catering{padding-left:6vw;padding-right:6vw}
  .m3-catering h2{max-width:390px}
  .c3-enquiry{gap:6vw;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
  .c3-form-grid{gap:24px 20px}
}
@media(max-width:760px){
  .m3-page h1,.c3-page h1{font-size:42px;line-height:1.12}
  .m3-page h2,.c3-page h2{font-size:32px;line-height:1.2}
  .m3-page p,.c3-page p{font-size:17px;line-height:1.65}
  .m3-page section[id],.c3-page section[id]{scroll-margin-top:90px}
  .m3-intro{display:flex;flex-direction:column;align-items:stretch;gap:34px;padding:41px 6vw 35px}
  .m3-intro-copy p{margin:20px 0 22px}
  .m3-intro-photo{max-width:none;padding:8px;aspect-ratio:1.3}
  .m3-intro-photo img{inset:8px;width:calc(100% - 16px);height:calc(100% - 16px)}
  .m3-menu-wrap{padding:0 6vw 45px}
  .m3-navigation{gap:3px 25px;padding:12px 0;min-height:67px}
  .m3-navigation a{font-size:16px;min-height:44px}
  .m3-menu-layout{display:flex;flex-direction:column;gap:36px;padding-top:37px}
  .m3-menu-group{margin-bottom:39px}
  .m3-menu-group h2{margin-bottom:21px}
  .m3-dish-list li{font-size:18px;padding:17px 0}
  .m3-photo-stack{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:15px;padding:0}
  .m3-breakfast-photo{aspect-ratio:.9}
  .m3-coffee-photo{width:100%;aspect-ratio:.9;margin-top:30px}
  .m3-catering{display:block;padding:37px 6vw 42px}
  .m3-catering h2{font-size:32px;max-width:390px}
  .m3-catering p{margin:17px 0 24px}
  .c3-intro{padding:42px 6vw 37px}
  .c3-intro p{margin:21px 0 24px}
  .c3-intro p br{display:none}
  .c3-enquiry{display:block;padding:38px 6vw 54px}
  .c3-enquiry-copy p{margin:20px 0 23px;max-width:480px}
  .c3-contact{gap:11px}
  .c3-contact a{font-size:16px}
  .c3-form{margin-top:35px}
  .c3-form-grid{gap:23px 18px}
  .c3-field textarea{min-height:128px}
  .c3-form-actions{gap:19px 24px;margin-top:2px}
}
@media(max-width:420px){
  .m3-page h1,.c3-page h1{font-size:42px}
  .m3-page h2,.c3-page h2{font-size:32px}
  .m3-navigation{gap:0 24px}
  .c3-form-grid{grid-template-columns:minmax(0,1fr)}
  .c3-form-actions{align-items:flex-start;flex-direction:column;gap:15px}
}
@media(max-width:340px){.m3-page h1,.c3-page h1{font-size:40px}.m3-navigation{gap:0 20px}.m3-navigation a{font-size:16px}}
