@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap');
:root{--cream:#f9f5ed;--soft:#f1e9dd;--orange:#fa6c13;--dark:#283f40;--text:#394344;--teal:#87b8b9;--white:#fffdf9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:var(--cream);font-family:'DM Sans',sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}p{margin:.6rem 0 1.5rem}.container{max-width:1240px;margin:auto;padding:0 5%}.announcement{padding:9px 18px;text-align:center;font-size:11px;letter-spacing:.16em;color:var(--white);background:var(--dark)}header{background:rgba(249,245,237,.96);position:sticky;top:0;z-index:50;border-bottom:1px solid #ded5c9;backdrop-filter:blur(14px)}.nav{display:flex;align-items:center;justify-content:space-between;gap:26px;min-height:88px}.brand img{width:125px;height:43px;object-fit:contain;object-position:left}.navlinks{display:flex;align-items:center;gap:28px}.navlinks a{font-size:12px;letter-spacing:.04em;font-weight:700}.navlinks a:not(.btn):hover{color:var(--orange)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 23px;border:1px solid var(--orange);border-radius:2px;background:var(--orange);color:white;font-size:12px;letter-spacing:.11em;text-transform:uppercase;font-weight:700;cursor:pointer;transition:.2s}.btn:hover{background:var(--dark);border-color:var(--dark)}.btn.outline{background:transparent;color:var(--dark);border-color:var(--dark)}.btn.outline:hover{background:var(--dark);color:white}.mobile-toggle{display:none;background:none;border:0;font-size:26px;cursor:pointer;color:var(--dark)}.eyebrow{color:var(--orange);font-weight:700;text-transform:uppercase;letter-spacing:.22em;font-size:11px;margin-bottom:18px}.eyebrow.light{color:#ffd0ac}h1,h2,h3,h4{font-family:'DM Serif Display',Georgia,serif;font-weight:400;line-height:1.08;color:var(--dark)}h1{font-size:clamp(48px,6.8vw,105px);letter-spacing:-.035em;margin:0 0 25px}h2{font-size:clamp(40px,5vw,73px);letter-spacing:-.025em;margin:0 0 22px}h3{font-size:clamp(27px,2.7vw,42px);margin:0 0 16px}.lead{font-size:clamp(17px,1.55vw,21px);max-width:640px}.hero{display:grid;grid-template-columns:47% 53%;min-height:690px}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:95px max(36px,8vw) 100px max(35px,calc((100vw - 1240px)/2));background:var(--cream)}.hero-copy .btnrow{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.hero-photo{position:relative;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 55%}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,rgba(0,0,0,.14))}.side-note{position:absolute;bottom:26px;left:35px;font-size:10px;color:#fff;z-index:1;letter-spacing:.2em;text-transform:uppercase}.section{padding:112px 0}.section.small{padding:75px 0}.center{text-align:center}.center p{margin-left:auto;margin-right:auto}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%}.split img{height:560px;width:100%;object-fit:cover}.intro{background:var(--dark);color:#fff}.intro h2{color:#fff}.intro p{max-width:670px}.big-number{font-family:Georgia,serif;font-size:120px;line-height:1;color:#ff8a40}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:27px;margin-top:54px}.service{background:var(--white)}.service img{height:380px;width:100%;object-fit:cover}.service .inside{padding:36px 32px 39px}.link-more{font-size:12px;font-weight:700;color:var(--orange);text-transform:uppercase;letter-spacing:.11em}.link-more:hover{text-decoration:underline}.gallery{display:grid;grid-template-columns:1.35fr .85fr .85fr;gap:12px}.gallery img{width:100%;height:400px;object-fit:cover}.gallery img:nth-child(2){height:400px}.pill{font-size:10px;letter-spacing:.17em;text-transform:uppercase;font-weight:700;color:var(--orange)}.feature-band{background:var(--soft);padding:70px 0}.brand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px}.brand-card{background:var(--white);padding:35px;min-height:300px;display:flex;flex-direction:column;align-items:flex-start;border:1px solid #eee1d1}.brand-image{height:100px;width:100%;display:flex;align-items:center;justify-content:center;margin:0 0 18px}.brand-image img{max-height:85px;max-width:190px;object-fit:contain}.brand-card p{font-size:14px;margin:.2rem 0 1rem}.brand-card h3{font-size:24px;margin-bottom:8px}.coming{display:inline-block;font-size:9px;letter-spacing:.17em;color:var(--orange);font-weight:700;text-transform:uppercase}.cta{background:var(--orange);text-align:center;color:#fff;padding:100px 15px}.cta h2{color:#fff}.cta .btn{background:var(--dark);border-color:var(--dark)}footer{background:#223536;color:#f1eee5;padding:60px 0 25px}.footgrid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:50px}footer img{width:126px;filter:brightness(0) invert(1)}footer h4{color:white;font-family:'DM Sans',sans-serif;font-size:12px;letter-spacing:.16em;text-transform:uppercase}footer a{display:block;font-size:13px;margin:8px 0}.copyright{border-top:1px solid #536161;padding-top:25px;margin-top:55px;font-size:11px;color:#bfc8c5;display:flex;justify-content:space-between;gap:15px}.page-hero{padding:105px 0 95px;background:var(--soft)}.page-hero p{max-width:740px}.page-hero h1{font-size:clamp(52px,7vw,93px)}.cards-4{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:45px}.info-card{padding:37px;background:var(--white);border:1px solid #e7d9c8}.info-card h3{font-size:33px}.info-card .mini{font-size:12px;color:var(--orange);letter-spacing:.14em;font-weight:700;text-transform:uppercase}.info-card ul{padding-left:20px;font-size:15px}.info-card li{margin:8px 0}.tag{background:#e1eeeb;border-radius:99px;padding:6px 11px;font-size:11px;font-weight:700;color:var(--dark)}.packages{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:35px 0}.package{padding:27px;background:var(--white);border:1px solid #e8dccd}.package h3{font-size:30px}.package strong{color:var(--orange)}.price-note{font-size:13px;color:#63706c}.about-photo{height:650px!important;object-position:center top}.stats{display:flex;gap:35px;flex-wrap:wrap}.stats strong{display:block;color:var(--orange);font-size:36px;font-family:Georgia,serif}.formwrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}.form-panel{background:var(--white);padding:38px;border:1px solid #e6d8c9}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}.field label{font-size:12px;color:var(--dark);font-weight:700}.field input,.field select,.field textarea{width:100%;font:inherit;font-size:14px;padding:13px 14px;border:1px solid #d8cdc0;background:#fff;color:#283f40;border-radius:0}.field textarea{min-height:140px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--teal);outline-offset:1px}.fine{font-size:12px;color:#6c7977}.quote{font-family:'DM Serif Display',serif;font-size:clamp(27px,3vw,42px);color:var(--dark);line-height:1.25}.notice{border-left:3px solid var(--orange);background:#ffefdf;padding:14px 18px;font-size:13px;margin-top:20px} .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.step-number{font-family:Georgia,serif;color:var(--orange);font-size:40px}.mini-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mini-gallery img{height:300px;width:100%;object-fit:cover} @media(max-width:1000px){.navlinks{gap:12px}.navlinks a{font-size:10px}.hero{min-height:580px}.hero-copy{padding:70px 8%}.section{padding:80px 0}.service img{height:300px}.gallery img{height:310px!important}}@media(max-width:760px){.mobile-toggle{display:block}.nav{min-height:72px}.brand img{width:105px}.navlinks{display:none;position:absolute;top:72px;left:0;right:0;background:var(--cream);padding:24px;flex-direction:column;align-items:stretch;border-bottom:1px solid #ddd;gap:17px}.navlinks.open{display:flex}.navlinks a{font-size:13px}.navlinks .btn{width:100%}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:76px 6% 65px}.hero-photo{height:390px}.split,.formwrap{grid-template-columns:1fr;gap:32px}.split img,.about-photo{height:420px!important}.service-grid,.cards-4,.brand-grid,.packages,.steps{grid-template-columns:1fr}.service img{height:300px}.gallery{grid-template-columns:1fr 1fr}.gallery img{height:220px!important}.gallery img:first-child{grid-column:1/-1;height:270px!important}.section{padding:65px 0}.feature-band{padding:60px 0}.brand-card{min-height:auto}.footgrid{grid-template-columns:1fr;gap:20px}.copyright{flex-direction:column}.page-hero{padding:80px 0 65px}.form-panel{padding:24px}.form-grid{grid-template-columns:1fr}.mini-gallery{grid-template-columns:1fr 1fr}.mini-gallery img{height:180px}}
/* Additional photo-led website sections */
.page-cover{margin-top:38px}.page-cover img{display:block;width:100%;max-height:520px;object-fit:cover;object-position:center}.photo-section{background:var(--cream)}.soft-photo-section{background:var(--soft)}.photo-split img{width:100%;height:460px;object-fit:cover}.package{overflow:hidden}.package-photo{width:calc(100% + 54px);max-width:none;margin:-27px -27px 24px;height:220px;object-fit:cover}.photo-duo{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:35px}.photo-duo figure{margin:0}.photo-duo img{width:100%;height:380px;object-fit:cover}.photo-duo figcaption{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;margin-top:12px;color:var(--dark)}.photo-wide{margin-top:25px}.photo-wide img{width:100%;height:370px;object-fit:cover}.home-gallery{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:14px;margin-top:35px}.home-gallery img{width:100%;height:340px;object-fit:cover}@media(max-width:760px){.page-cover img{max-height:300px}.photo-split img{height:310px}.photo-duo{grid-template-columns:1fr}.photo-duo img,.photo-wide img{height:270px}.home-gallery{grid-template-columns:1fr 1fr}.home-gallery img{height:210px}.home-gallery img:first-child{grid-column:1/-1;height:270px}.package-photo{height:210px}}

.charter-photo-single{margin-top:30px}.charter-photo-single img{width:100%;height:430px;object-fit:cover;border-radius:0;display:block}

/* October site additions */
.charter-offerings{margin:50px 0 20px}.charter-offerings h3{margin-bottom:25px}.charter-offerings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.charter-offerings-grid article{padding:24px;background:var(--white);border:1px solid #e8dccd}.charter-offerings-grid h4{font-size:23px;margin:0 0 12px}.charter-offerings-grid p{font-size:14px;margin:0}.class-schedule{max-width:900px;margin:35px auto 0;padding:35px;border:1px solid #e7d9c8;background:var(--white)}.class-schedule-inner{max-width:650px;margin:auto;text-align:center}.class-schedule h3{font-size:36px}.class-schedule .btn{margin-top:12px}
@media(max-width:760px){.charter-offerings-grid{grid-template-columns:1fr}.class-schedule{padding:26px 17px}}

/* October 15 refinements: corporate wellness and private-catering hero */
.wellness-lunch-learns{background:#87b8b9;color:#243e3e;padding:96px 0 106px;text-align:center}
.wellness-inner{max-width:970px}
.wellness-lunch-learns .eyebrow{color:#d8570c}
.wellness-lunch-learns h2{color:#243e3e}
.wellness-lunch-learns .lead{margin:0 auto 30px;max-width:760px}
.wellness-label{font-size:12px;font-weight:700;letter-spacing:.19em;text-transform:uppercase;color:#b54a08;margin:35px auto 20px}
.wellness-topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:0 0 25px}
.wellness-topics>div{border:1px solid rgba(36,62,62,.32);padding:25px 15px;background:rgba(255,253,249,.16);color:#243e3e;font-family:'DM Serif Display',Georgia,serif;font-size:clamp(21px,2.5vw,29px);line-height:1.2;display:flex;align-items:center;justify-content:center;min-height:110px}
.wellness-more{margin:22px auto 30px;font-size:16px}
.wellness-btn{background:#fa6c13;color:white}
.private-centered-hero{text-align:center;min-height:66vh;display:flex;align-items:center;justify-content:center}
.private-centered-hero>.container{width:100%}
.private-centered-hero .lead{margin-left:auto;margin-right:auto}
.private-centered-hero .scroll-cue{display:flex;flex-direction:column;align-items:center;gap:7px;max-width:max-content;margin:40px auto 0;color:#b94b06;font-weight:700;font-size:11px;letter-spacing:.18em;text-decoration:none}
.private-centered-hero .scroll-arrow{font-size:35px;font-weight:400;line-height:1;transition:transform .2s}
.private-centered-hero .scroll-cue:hover .scroll-arrow{transform:translateY(6px)}
#private-experiences{scroll-margin-top:95px}
@media(max-width:760px){.wellness-topics{grid-template-columns:1fr}.wellness-lunch-learns{padding:65px 0}.private-centered-hero{min-height:70vh}}

/* November refinements */
.home-page .hero{min-height:620px;align-items:stretch}.home-page .hero-copy{justify-content:flex-start;padding-top:48px;padding-bottom:55px}.home-page .hero-copy h1{font-size:clamp(48px,6.2vw,90px)}
.corporate-page main>.section:nth-of-type(2){padding-bottom:35px}.corporate-page .photo-section{padding-top:35px;padding-bottom:70px}
.wellness-lunch-learns{background:#f1e9dd;text-align:left;border-top:6px solid var(--orange)}.wellness-inner{max-width:1240px}.wellness-lunch-learns .lead{margin:0 0 30px}.wellness-label{margin:30px 0 20px}.learn-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.learn-cards article{background:var(--white);padding:30px 25px;display:flex;flex-direction:column;border-top:4px solid var(--orange)}.learn-cards .mini{font-size:10px;color:#a54108;letter-spacing:.12em;font-weight:700}.learn-cards h3{font-size:30px;margin-top:20px}.learn-cards ul{padding-left:18px;margin-top:0;font-size:15px}.learn-cards .activity{margin-top:auto;background:#ffefdf;padding:17px;font-size:14px}.activity strong{color:#a54108}.charter-simple{max-width:760px;margin-top:30px}
.classes-hero{position:relative;isolation:isolate;overflow:hidden;padding:90px 0}.classes-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.65) brightness(1.12);z-index:-2}.classes-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(249,245,237,.95),rgba(249,245,237,.83) 48%,rgba(249,245,237,.22));z-index:-1}.classes-hero h1{max-width:800px}.classes-hero .lead{max-width:570px}
.dec-calendar{background:var(--white);border:1px solid #dfd3c3;padding:30px;margin-top:32px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.weekday{font-size:12px;text-align:center;font-weight:700;padding:8px}.calendar-day{min-height:76px;padding:10px;background:var(--cream);display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between}.calendar-day small{font-size:11px}.calendar-day.empty{background:transparent}.has-class{background:#ffe2ca;border-bottom:3px solid var(--orange);font-weight:700}.has-class:hover,.has-class:focus-visible{background:var(--dark);color:white}.class-list{display:grid;gap:16px;margin-top:30px}.class-entry{scroll-margin-top:110px;display:grid;grid-template-columns:100px 1fr auto;gap:28px;align-items:center;padding:27px;background:var(--white);border:1px solid #dfd3c3}.class-date{display:flex;flex-direction:column;text-align:center;color:#a54108;font-size:12px}.class-date strong{font-family:Georgia,serif;font-size:46px;line-height:1.15}.class-entry h3{font-size:29px}.class-entry .eyebrow{margin-bottom:8px}.class-entry p{margin-bottom:0}.menu-placeholder{font-size:14px}.class-entry:target{outline:2px solid var(--orange)}
@media(max-width:760px){.home-page .hero-copy{padding:38px 6% 45px}.home-page .hero{min-height:0}.learn-cards{grid-template-columns:1fr}.classes-hero{padding:60px 0}.classes-hero:after{background:rgba(249,245,237,.85)}.dec-calendar{padding:15px}.calendar-grid{gap:3px}.calendar-day{padding:6px;min-height:58px}.calendar-day small{font-size:9px}.class-entry{grid-template-columns:65px 1fr;gap:15px;padding:20px}.class-entry .btn{grid-column:2;justify-self:start}.weekday{font-size:10px}.class-entry h3{font-size:25px}}

/* Corporate photo hero */
.corporate-hero{position:relative;isolation:isolate;overflow:hidden;min-height:560px;display:flex;align-items:center;padding:75px 0}.corporate-hero>.container{width:100%}.corporate-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.corporate-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(249,245,237,.97),rgba(249,245,237,.88) 45%,rgba(249,245,237,.18));z-index:-1}.corporate-hero h1{max-width:850px}.corporate-hero .lead{max-width:620px}
@media(max-width:760px){.corporate-hero{min-height:500px;padding:60px 0}.corporate-hero:after{background:rgba(249,245,237,.87)}.corporate-backdrop{object-position:65% center}}

/* Private catering terrace hero */
.private-centered-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--cream)}.private-hero-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%;z-index:-2}.private-centered-hero:after{content:'';position:absolute;inset:0;background:rgba(249,245,237,.68);z-index:-1}.private-centered-hero .scroll-cue{color:#963d06}
@media(max-width:760px){.private-hero-backdrop{object-position:center}.private-centered-hero:after{background:rgba(249,245,237,.77)}}

#private-experiences .packages{margin-top:0}.private-custom-note{text-align:center;max-width:800px;margin:48px auto 0}.private-custom-note h2{font-size:clamp(34px,4vw,54px)}.private-custom-note .lead{margin-left:auto;margin-right:auto;margin-bottom:0}

/* Compact transition from dining to celebrations */
#private-experiences{padding-bottom:36px}#private-experiences .packages{margin-bottom:0}.private-custom-note{max-width:none;margin:24px 0 0;padding:17px 22px;border-left:3px solid var(--orange);text-align:left;background:#ffefdf}.private-custom-note p{font-size:16px;margin:0}.private-custom-note strong{color:var(--dark)}.private-celebrations{padding-top:42px;background:var(--cream)}
@media(max-width:760px){#private-experiences{padding-bottom:24px}.private-celebrations{padding-top:28px}.private-custom-note{padding:15px 18px}.private-custom-note p{font-size:15px}}

/* November menu and programme updates */
.starting-price{font-weight:700;color:var(--dark);font-size:17px;margin:12px 0 18px}.addon-bubble{display:inline-block;background:#ffe0bd;color:#823300;border:1px solid #f7ab69;border-radius:24px;padding:9px 15px;font-size:13px;font-weight:700;margin:12px 0 0}.home-page .section{padding-top:76px;padding-bottom:76px}.home-page .feature-band{padding:55px 0}.class-menu{font-size:15px}.class-menu ul{padding-left:20px;margin:6px 0 14px}.class-menu p{margin:0}.calendar-day small{overflow-wrap:anywhere}.navlinks{gap:18px}.navlinks a{font-size:11px}.navlinks .btn{padding:13px 17px}.happenings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:30px 0}.happening-card{background:var(--white);border:1px solid #e7d9c8}.happening-card>img{width:100%;height:auto;object-fit:contain}.happening-copy{padding:25px}.happenings-hero{padding:70px 0}.happenings-section{padding:65px 0}
@media(max-width:1100px) and (min-width:761px){.nav{gap:14px}.navlinks{gap:9px}.navlinks a{font-size:10px}.navlinks .btn{padding:12px 10px}.brand img{width:100px}}
@media(max-width:760px){.home-page .section{padding:50px 0}.navlinks a{font-size:13px}.happenings-grid{grid-template-columns:1fr}.calendar-day small{font-size:9px;line-height:1.2}.addon-bubble{font-size:12px}}

.about-hero .private-hero-backdrop{object-position:center 37%;filter:brightness(1.13)}
.about-hero:after{background:linear-gradient(rgba(249,245,237,.76),rgba(249,245,237,.57) 54%,rgba(249,245,237,.84))}
#meet-the-chefs{scroll-margin-top:100px}
.class-list[hidden]{display:none}
@media(max-width:480px){
  .about-hero .private-hero-backdrop{object-position:center}
  .dec-calendar{padding:10px}
  .calendar-day{padding:3px}
  .calendar-day small{font-size:8px}
  .weekday{padding-inline:0}
}

.happenings-hero{position:relative;isolation:isolate;overflow:hidden;background:#211a16;color:#fff}
.happenings-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 43%;z-index:-2}
.happenings-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(24,18,16,.88),rgba(24,18,16,.72) 45%,rgba(24,18,16,.22))}
.happenings-hero h1,.happenings-hero .lead{color:#fff}
.happenings-hero .eyebrow,.happenings-hero h1 em{color:#ffba87}
@media(max-width:760px){
  .happenings-backdrop{object-position:60% 43%}
  .happenings-hero::after{background:rgba(24,18,16,.68)}
}

.package.has-menu{cursor:pointer}
.menu-trigger{margin-top:12px}
.private-menu{box-sizing:border-box;width:min(880px,calc(100% - 24px));max-height:88vh;overflow:auto;border:1px solid #dfd3c3;background:var(--cream);color:var(--dark);padding:clamp(16px,4vw,40px)}
.private-menu::backdrop{background:rgba(20,29,31,.7)}
.private-menu form{display:flex;justify-content:flex-end;margin-bottom:12px}
.private-menu-grid{display:grid;gap:24px;margin:24px 0}
.private-menu-grid section{min-width:0}
.private-menu-grid ul{padding-left:22px;margin-top:8px}
.private-menu-grid li{margin-bottom:5px}
.private-menu-group > h3{border-bottom:1px solid #dfd3c3;padding-bottom:8px;text-transform:uppercase}
.private-menu-group h4{margin:16px 0 0;font-size:1.08rem}
