@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f5f0e7;--ink:#552b2b;--accent:#802f37;--line:rgba(85,43,43,.24);--serif:'DM Serif Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}button,a{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #c18f27;outline-offset:5px}.concept-bar{background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;align-items:center;padding:10px 4%;font-size:11px;letter-spacing:.08em;text-transform:uppercase;gap:14px}.concept-bar span{opacity:.75}.concept-bar nav{display:flex;gap:20px}.concept-bar a[aria-current]{text-decoration:underline;text-underline-offset:5px}.site-header{height:102px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;border-bottom:1px solid var(--line);gap:24px}.wordmark{font-family:var(--serif);font-size:39px;line-height:.85;letter-spacing:-1.5px}.wordmark small{display:block;font:9px var(--sans);letter-spacing:3px;text-align:center;margin-top:12px;text-transform:uppercase}.nav{display:flex;align-items:center;gap:32px;font-size:13px}.nav a:not(.button):hover{text-decoration:underline;text-underline-offset:6px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:15px 24px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:2px;font-size:13px;font-weight:600;cursor:pointer;gap:22px;transition:background .2s,transform .2s}.button:hover{background:var(--accent);transform:translateY(-2px)}.button.outline{background:transparent;color:var(--ink)}.text-link{display:inline-block;border-bottom:1px solid currentColor;padding:7px 0;font-size:13px;font-weight:600}.eyebrow{font-size:10px;line-height:1.5;letter-spacing:2px;text-transform:uppercase;font-weight:600;margin:0 0 24px}.hero{display:grid;grid-template-columns:45% 55%;min-height:660px}.hero-copy{padding:80px 9% 70px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero h1{font-family:var(--serif);font-size:clamp(62px,6.8vw,112px);line-height:.96;letter-spacing:-3px;font-weight:400;margin:0 0 28px}.hero h1 em{font-weight:400}.hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.7;max-width:340px;margin:0 0 28px}.hero-photo{position:relative;min-height:620px;overflow:hidden}.hero-photo img{position:absolute;inset:0}.photo-caption{position:absolute;bottom:24px;left:26px;color:#fff;text-shadow:0 1px 12px #000;font-size:10px;text-transform:uppercase;letter-spacing:1.7px}.stamp{position:absolute;right:30px;bottom:34px;background:var(--paper);color:var(--ink);width:112px;height:112px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;transform:rotate(9deg);font-family:var(--serif);font-size:23px;line-height:1.05;box-shadow:0 2px 12px #0001}.ticker{padding:22px 4%;border-block:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:11px;letter-spacing:1.4px;text-transform:uppercase}.ticker b{font-size:20px;font-weight:400}.intro{padding:100px 8%;text-align:center;max-width:1150px;margin:auto}.intro h2{font:400 clamp(36px,4.2vw,62px)/1.1 var(--serif);letter-spacing:-1px;margin:0}.intro p{line-height:1.7;max-width:570px;margin:25px auto 0;font-size:15px}.day-section{padding:0 6% 110px}.section-top{display:flex;justify-content:space-between;align-items:end;margin:0 0 28px;gap:24px}.section-top h2{font:400 49px/1.04 var(--serif);margin:0;letter-spacing:-1px}.photo-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:26px}.photo-grid figure{margin:0}.photo-grid .image-wrap{height:430px;overflow:hidden}.photo-grid figure:nth-child(2){padding-top:75px}.photo-grid figure:nth-child(2) .image-wrap{height:355px}.photo-grid figcaption{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.photo-grid h3{font:400 27px var(--serif);margin:0 0 8px}.photo-grid p{font-size:13px;line-height:1.6;margin:0;max-width:340px}.mini-number{font:italic 27px var(--serif);opacity:.65}.occasion{display:grid;grid-template-columns:1fr 1fr;background:#e9dfd0;min-height:550px}.occasion-image{min-height:550px}.occasion-copy{padding:75px 13%;display:flex;align-items:flex-start;justify-content:center;flex-direction:column}.occasion h2{font:400 clamp(45px,4.5vw,70px)/1 var(--serif);letter-spacing:-1.5px;margin:0 0 25px}.occasion p:not(.eyebrow){font-size:15px;line-height:1.75;margin:0 0 25px}.evening{padding:95px 8%;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.evening img{height:370px}.evening h2{font:400 52px/1.02 var(--serif);margin:15px 0 25px}.evening p{font-size:15px;line-height:1.7;max-width:420px}.visit{background:var(--ink);color:var(--paper);padding:80px 6% 35px}.visit-top{display:flex;justify-content:space-between;align-items:start;gap:40px}.visit h2{font:400 clamp(48px,6vw,85px)/1 var(--serif);letter-spacing:-2px;margin:0 0 30px}.visit .button{background:var(--paper);color:var(--ink);border-color:var(--paper)}.visit-details{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-top:10px}.visit h3{font-size:10px;text-transform:uppercase;letter-spacing:2px;margin:0 0 20px}.visit p,.visit-details a{font-size:13px;line-height:1.8}.footer-line{border-top:1px solid #ffffff35;margin-top:60px;padding-top:24px;display:flex;justify-content:space-between;font-size:10px;line-height:1.6;gap:30px}.menu-toggle{display:none}.note{font-size:11px!important;opacity:.75}.mobile-nav{display:none}dialog{max-width:520px;width:calc(100% - 40px);border:0;padding:45px;background:var(--paper);color:var(--ink);box-shadow:0 20px 100px #0004}dialog::backdrop{background:#142018aa;backdrop-filter:blur(5px)}dialog h2{font:400 40px var(--serif);margin:20px 0}dialog p{line-height:1.6;font-size:15px}dialog .close{position:absolute;right:15px;top:10px;background:none;border:0;color:inherit;font-size:28px;cursor:pointer}dialog .button{margin-top:20px}.reveal{animation:rise .7s ease both}@keyframes rise{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
/* The Bean Thief: a sunnier, more playful neighbourhood rhythm. */
.bean{--paper:#f7f2df;--ink:#263c2c;--accent:#465a31;--line:#263c2c35;--sans:'Manrope',Arial,sans-serif;--serif:'DM Serif Display',Georgia,serif}.bean .wordmark{font:800 24px/.9 var(--sans);letter-spacing:-1.2px;text-transform:uppercase}.bean .wordmark small{font-size:8px;letter-spacing:2px;margin-top:9px}.bean .site-header{border-bottom:0}.bean .button{border-radius:100px}.bean .hero{min-height:650px;grid-template-columns:48% 52%;padding:0 4% 60px;background:var(--paper)}.bean .hero-copy{padding:35px 3% 35px 0}.bean .hero h1{font:800 clamp(60px,7.1vw,111px)/.93 var(--sans);letter-spacing:-6px;text-transform:uppercase}.bean .hero h1 em{font:italic 400 1.04em/.96 var(--serif);text-transform:none;letter-spacing:-4px}.bean .hero-photo{min-height:610px;overflow:visible;margin-left:20px;margin-right:15px}.bean .hero-photo>img{width:80%;height:85%;left:15%;top:3%;transform:rotate(4deg);border:10px solid #fffdf5;box-shadow:0 12px 30px #18281718}.bean .hero-photo .inset{position:absolute;width:44%;height:43%;left:-2%;top:52%;transform:rotate(-8deg);border:8px solid #fffdf5;box-shadow:0 8px 25px #18281722}.bean .hero-photo .inset img{width:100%;height:100%;position:static}.bean .stamp{background:#e9bf48;bottom:20px;right:0;border-radius:50%;font-family:var(--sans);font-size:16px;font-weight:800;line-height:1.2;transform:rotate(12deg);width:124px;height:124px}.bean .ticker{background:#edc75b;border:0;font-weight:800;padding-block:24px}.bean .intro{padding:100px 8% 70px}.bean .intro h2{font:800 clamp(38px,4.3vw,64px)/1.1 var(--sans);letter-spacing:-2.6px}.bean .intro h2 em{font:italic 400 1.18em var(--serif)}.bean .day-section{padding-top:15px}.bean .section-top h2{font:800 42px var(--sans);letter-spacing:-2px}.bean .photo-grid{grid-template-columns:1fr 1fr;gap:36px}.bean .photo-grid .image-wrap{height:380px;border-radius:180px 180px 0 0}.bean .photo-grid figure:nth-child(2){padding-top:60px}.bean .photo-grid figure:nth-child(2) .image-wrap{height:380px;border-radius:0}.bean .photo-grid h3{font:800 24px var(--sans);letter-spacing:-1px}.bean .occasion{background:#e8bd53}.bean .occasion h2{font:800 clamp(43px,4.5vw,67px)/1.04 var(--sans);letter-spacing:-3px}.bean .occasion-copy{padding-inline:11%}.bean .visit{margin-top:0}.bean .visit h2{font:800 clamp(45px,6vw,80px)/1.02 var(--sans);letter-spacing:-4px}.bean .community{padding:90px 8%;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.bean .community img{height:360px;object-fit:cover;border-radius:50% 50% 5px 5px}.bean .community h2{font:400 54px/1.05 var(--serif);margin:0 0 24px}.bean .community p{font-size:15px;line-height:1.8}.bean .visit .button{background:#edc75b;border-color:#edc75b}
@media(min-width:1600px){main{max-width:1800px;margin:auto}.hero-copy{padding-left:14%}.hero{min-height:750px}}
@media(max-width:900px){.nav{gap:18px}.nav a{font-size:12px}.hero{min-height:570px}.hero-copy{padding:55px 8%}.hero-photo{min-height:570px}.hero h1{font-size:69px}.hero-copy>p:not(.eyebrow){font-size:14px}.photo-grid .image-wrap{height:330px}.photo-grid figure:nth-child(2) .image-wrap{height:255px}.occasion-copy{padding:55px 10%}.occasion-image{min-height:480px}.visit-details{gap:30px}.bean .hero h1{font-size:70px;letter-spacing:-4px}.bean .hero-photo{min-height:530px}.bean .hero{min-height:570px}.bean .photo-grid .image-wrap,.bean .photo-grid figure:nth-child(2) .image-wrap{height:310px}}
@media(max-width:800px){html{scroll-padding-top:30px}.concept-bar{padding:11px 5%;font-size:9px}.concept-bar span{display:none}.concept-bar nav{width:100%;justify-content:space-between}.site-header{height:88px;padding-inline:6%}.wordmark{font-size:32px}.nav>a:not(.button){display:none}.nav{gap:12px}.nav .button{padding:12px 16px;min-height:43px;font-size:11px}.menu-toggle{display:block;border:0;background:none;color:var(--ink);font-size:22px;cursor:pointer}.mobile-nav.open{display:flex;flex-direction:column;gap:18px;padding:24px 6%;border-bottom:1px solid var(--line);font-size:15px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:48px 7% 42px}.hero h1{font-size:74px;letter-spacing:-2.7px;margin-bottom:23px}.eyebrow{font-size:9px;margin-bottom:20px}.hero-copy>p:not(.eyebrow){font-size:15px;max-width:360px}.hero-photo{min-height:410px}.stamp{height:95px;width:95px;font-size:20px;right:22px;bottom:25px}.ticker{padding:20px 6%;font-size:9px;gap:12px;flex-wrap:wrap;justify-content:center}.ticker b{font-size:14px}.ticker span:last-child{display:none}.intro{padding:65px 7%}.intro h2{font-size:39px}.intro p{font-size:14px}.day-section{padding:0 6% 65px}.section-top{align-items:start}.section-top h2{font-size:36px}.section-top .text-link{font-size:11px;white-space:nowrap}.photo-grid{grid-template-columns:1fr;gap:30px}.photo-grid .image-wrap{height:370px}.photo-grid figure:nth-child(2){padding:0}.photo-grid figure:nth-child(2) .image-wrap{height:320px}.occasion{display:flex;flex-direction:column}.occasion-image{min-height:0;height:340px}.occasion-copy{padding:50px 7% 55px}.occasion h2{font-size:52px}.evening{padding:60px 7%;display:flex;flex-direction:column;gap:35px;align-items:stretch}.evening img{height:300px}.evening h2{font-size:45px}.visit{padding:55px 7% 28px}.visit-top{display:block}.visit h2{font-size:58px}.visit-details{margin-top:45px;gap:26px}.visit-details p,.visit-details a{font-size:12px}.footer-line{margin-top:40px;font-size:9px}.bean .hero{display:flex;padding:0 6% 35px}.bean .hero-copy{padding:32px 0 20px}.bean .hero h1{font-size:clamp(54px,10vw,73px);letter-spacing:-3.5px}.bean .hero-photo{min-height:450px;margin:0 8px 0 5px}.bean .hero-photo>img{height:85%;width:79%}.bean .hero-photo .inset{height:44%;width:45%;top:50%}.bean .stamp{height:105px;width:105px;font-size:14px;bottom:12px;right:0}.bean .intro{padding:65px 7% 50px}.bean .intro h2{font-size:37px;letter-spacing:-1.6px}.bean .section-top h2{font-size:32px}.bean .photo-grid{grid-template-columns:1fr;gap:30px}.bean .photo-grid figure:nth-child(2){padding:0}.bean .photo-grid .image-wrap,.bean .photo-grid figure:nth-child(2) .image-wrap{height:360px}.bean .occasion-copy{padding:50px 7%}.bean .occasion h2{font-size:48px;letter-spacing:-2px}.bean .community{padding:60px 7%;display:flex;flex-direction:column;gap:35px}.bean .community img{height:330px}.bean .community h2{font-size:45px}.bean .visit h2{font-size:55px;letter-spacing:-3px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{animation:none}.button{transition:none}}
@media(max-width:800px){.hero h1{font-size:clamp(52px,15vw,74px)}.nav .button{white-space:nowrap;gap:12px}.wordmark small{font-size:7px;letter-spacing:2px}.site-header{gap:16px}.section-top{flex-direction:column;gap:18px}.bean .hero h1{font-size:clamp(54px,10vw,73px);letter-spacing:-3.5px}}
/* Expanded venue pages */
:root{--sky:#1b648d}.skip-link{position:fixed;left:15px;top:-70px;z-index:100;background:var(--paper);padding:15px}.skip-link:focus{top:15px}.nav [aria-current=page]{text-decoration:underline;text-underline-offset:7px}.site-header{position:relative;background:var(--paper);z-index:10}.page-hero{display:grid;grid-template-columns:1.1fr .9fr;min-height:480px;border-bottom:1px solid var(--line)}.page-hero>div{padding:70px 12%;display:flex;flex-direction:column;justify-content:center}.page-hero h1{font:400 clamp(62px,6.5vw,96px)/1 var(--serif);letter-spacing:-2px;margin:0 0 25px}.page-hero p:not(.eyebrow){line-height:1.75;max-width:480px;font-size:16px}.page-hero>img{height:480px}.bean .page-hero h1{font-family:var(--sans);font-weight:800;letter-spacing:-4px}.bean .page-hero h1 em{font-family:var(--serif);font-weight:400}.page-tabs{position:sticky;top:0;z-index:15;background:var(--paper);border-bottom:1px solid var(--line);padding:20px 6%;display:flex;gap:32px;flex-wrap:wrap;font-size:13px;font-weight:600}.page-tabs a{padding:5px 0}.page-tabs a:hover{color:var(--sky)}.menu-content{max-width:1180px;margin:auto;padding:45px 5% 70px}.menu-note{font-size:12px;line-height:1.7;opacity:.8;margin-bottom:60px}.menu-title{font:400 58px/1.05 var(--serif);margin:0 0 55px}.menu-group{margin-bottom:65px}.menu-group>h2{font:400 35px var(--serif);border-bottom:2px solid var(--ink);padding-bottom:16px;margin:0 0 25px}.bean .menu-group>h2{font-family:var(--sans);font-weight:800;font-size:29px;letter-spacing:-1px}.menu-list{display:grid;grid-template-columns:1fr 1fr;column-gap:60px}.menu-item{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding:22px 0}.menu-item h3{font-size:16px;line-height:1.3;margin:0 0 8px;font-weight:700}.menu-item p{font-size:13px;line-height:1.65;margin:0}.menu-item>strong{font-size:15px;white-space:nowrap;font-weight:500}.tags{font-size:10px;letter-spacing:1px;display:block;color:var(--sky);margin-bottom:7px}.bean .tags{color:var(--ink)}.dietary-note{background:#e8e9df;padding:30px 35px;font-size:13px;line-height:1.8;border-left:3px solid var(--sky)}.dietary-note h3{font:400 27px var(--serif);margin:0}.download-section,.package-section{padding:70px 8%;background:#e9dfd0}.download-section h2,.package-section>h2,.faq-section>h2,.simple-cta h2{font:400 53px/1.08 var(--serif);letter-spacing:-1px;margin:0 0 24px}.download-section p,.package-section>p{max-width:680px;line-height:1.8;font-size:15px}.download-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:28px}.bean .download-section,.bean .package-section{background:#edc75b}.bean .package-section>h2{font-family:var(--sans);font-weight:800;letter-spacing:-2px}.spaces{padding:0 7% 80px}.spaces article{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;margin-bottom:50px}.spaces article:nth-child(even) img{order:2}.spaces img{height:440px}.spaces h2{font:400 50px/1.08 var(--serif);margin:0 0 25px;letter-spacing:-1px}.spaces p{font-size:15px;line-height:1.75}.package-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin:40px 0 25px}.package-grid article{padding:25px 0;border-top:1px solid var(--line)}.package-price{font:400 52px var(--serif)}.package-price small{font:11px var(--sans);display:block;margin:6px 0 25px;text-transform:uppercase;letter-spacing:1px}.package-grid h3{font:400 25px var(--serif);margin:15px 0}.package-grid p{font-size:13px;line-height:1.75}.faq-section{padding:85px 12%;max-width:1300px;margin:auto}.faq-section details{border-bottom:1px solid var(--line);padding:23px 0}.faq-section summary{font-size:16px;font-weight:600;cursor:pointer;line-height:1.5}.faq-section details p{font-size:14px;line-height:1.8;max-width:760px}.occasion-tags{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.occasion-tags span{border:1px solid var(--ink);padding:12px 18px;border-radius:50px;font-size:12px}.enquiry-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:7%;padding:90px 7%;background:#f9f6ef}.form-intro h2{font:400 54px/1.1 var(--serif);letter-spacing:-1.5px;margin:0 0 25px}.form-intro p{font-size:14px;line-height:1.8}.info-note{font-size:13px;line-height:1.8;border-left:3px solid var(--sky);padding:12px 18px;background:#e5eef2;margin:25px 0}.bean .info-note{background:#ede9d3;border-color:var(--ink)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.enquiry-form label{font-size:12px;font-weight:600;display:block;line-height:1.5}.enquiry-form input:not([type=checkbox]),.enquiry-form select,.enquiry-form textarea{display:block;width:100%;min-width:0;margin-top:9px;background:transparent;border:1px solid var(--line);border-radius:3px;font:400 15px var(--sans);padding:13px;color:var(--ink);min-height:48px}.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{outline:2px solid var(--sky);outline-offset:2px}.enquiry-form .wide{grid-column:1/-1}.enquiry-form .consent{display:flex;align-items:start;gap:10px;font-size:11px;font-weight:400;margin:24px 0;line-height:1.7}.consent input{width:18px;height:18px;flex-shrink:0;accent-color:var(--ink)}.consent a{text-decoration:underline}.form-help,.preview-note{font-size:11px;line-height:1.7;max-width:520px}.preview-note{padding:13px 16px;border:1px dashed var(--line);margin-top:18px}.preview-note a{text-decoration:underline}.honeypot{display:none!important}.form-error{background:#f5e1df;color:#862f2f;padding:15px;font-size:13px}.booking-options,.visit-page{padding:80px 8%;display:grid;grid-template-columns:1fr 1fr;gap:9%}.booking-options h2,.visit-page h2{font:400 50px/1.08 var(--serif);letter-spacing:-1px;margin:0 0 25px}.booking-options p,.visit-page p{font-size:15px;line-height:1.8}.booking-primary{border-top:4px solid var(--sky);padding-top:30px}.booking-options>div:last-child{padding-top:34px}.hours{margin:25px 0;max-width:450px}.hours>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:16px 0;font-size:14px}.hours strong{font-weight:500;white-space:nowrap}.text-page{max-width:900px;margin:auto;padding:90px 6%}.text-page h1{font:400 65px/1.05 var(--serif);letter-spacing:-2px;margin:0 0 35px}.text-page h2{font:400 33px var(--serif);margin-top:40px}.text-page p{font-size:15px;line-height:1.9}.text-page p a{text-decoration:underline}.catering-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-block:35px}.catering-grid article{border-top:1px solid var(--line);padding-top:18px}.catering-grid h3{font:400 28px var(--serif)}.catering-grid p{font-size:14px;line-height:1.8}.simple-cta{padding:80px 8%;text-align:center}.simple-cta>div{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.mobile-actions{display:none}.visit-details>div{min-width:0}.visit-details a{overflow-wrap:anywhere}.bean .form-intro h2{font-family:var(--sans);font-weight:800;letter-spacing:-3px}.bean .page-tabs a:hover{color:var(--ink);text-decoration:underline}
@media(max-width:1000px){.package-grid{grid-template-columns:1fr 1fr}.form-intro h2{font-size:44px}.enquiry-section{gap:5%;padding-inline:5%}.page-hero h1{font-size:65px}.page-hero>div{padding:55px 10%}.menu-list{gap:0 35px}}
@media(max-width:800px){body{padding-bottom:67px}.mobile-actions{position:fixed;bottom:0;left:0;right:0;z-index:40;display:grid;grid-template-columns:.8fr 1.2fr;background:var(--paper);border-top:1px solid var(--line);padding:10px 4%;gap:10px;box-shadow:0 -4px 25px #0001}.mobile-actions .button{font-size:10px;gap:8px;padding:12px 10px;min-height:44px}.mobile-actions .button span{display:none}.page-hero{display:flex;flex-direction:column;min-height:0}.page-hero>div{padding:45px 7%}.page-hero h1{font-size:60px}.page-hero>img{height:300px}.page-hero p:not(.eyebrow){font-size:14px}.page-tabs{padding:15px 6%;gap:12px 22px;font-size:11px}.menu-content{padding:30px 7% 55px}.menu-note{margin-bottom:35px}.menu-title{font-size:43px;margin-bottom:35px}.menu-group>h2{font-size:30px}.menu-list{grid-template-columns:1fr}.menu-item{padding:19px 0}.menu-item h3{font-size:15px}.menu-item p{font-size:12px}.dietary-note{padding:24px;font-size:12px}.download-section,.package-section{padding:50px 7%}.download-section h2,.package-section>h2,.faq-section>h2,.simple-cta h2{font-size:39px}.download-row{align-items:stretch;flex-direction:column}.spaces{padding:0 7% 35px}.spaces article{display:flex;flex-direction:column;gap:30px;align-items:stretch}.spaces article:nth-child(even) img{order:0}.spaces img{height:330px}.spaces h2{font-size:40px}.package-grid{gap:15px}.package-grid h3{font-size:23px}.package-grid p{font-size:12px}.package-price{font-size:42px}.faq-section{padding:55px 7%}.faq-section summary{font-size:14px}.enquiry-section{display:flex;flex-direction:column;padding:55px 7%;gap:35px}.form-intro h2{font-size:43px}.form-grid{gap:19px 14px}.enquiry-form input:not([type=checkbox]),.enquiry-form select,.enquiry-form textarea{font-size:16px;padding:10px}.enquiry-form .button{width:100%}.booking-options,.visit-page{display:flex;flex-direction:column;padding:50px 7%;gap:40px}.booking-options h2,.visit-page h2{font-size:40px}.booking-options .button{width:100%;font-size:12px}.booking-options p,.visit-page p{font-size:14px}.text-page{padding:55px 7%}.text-page h1{font-size:46px}.text-page p{font-size:14px}.catering-grid{grid-template-columns:1fr;gap:15px}.simple-cta{padding:55px 7%}.bean .page-hero h1{letter-spacing:-3px}.page-tabs{scroll-margin-top:0}.package-section .button{font-size:12px}}
.hero-actions{margin-top:8px}.hero-actions .button{align-self:flex-start}.page-hero>div{align-items:flex-start}@media(min-width:801px){.page-hero{min-height:560px}.page-hero>img{height:560px}}

/* Keep all three badge lines comfortably inside the circle. */
body:not(.bean) .stamp{display:block;align-content:center;width:124px;height:124px;padding:12px;font-size:19px;line-height:1.08;white-space:nowrap}
@media(max-width:700px){body:not(.bean) .stamp{width:108px;height:108px;padding:10px;font-size:17px}}
@media(max-width:420px){.form-grid{grid-template-columns:1fr}.bean .wordmark{font-size:20px}.nav{gap:7px}.nav .button{padding:11px 12px}.site-header{gap:10px}.page-hero h1{font-size:52px}.bean .page-hero h1{font-size:48px;letter-spacing:-2px}.footer-line{flex-wrap:wrap;gap:12px}.hours>div{font-size:12px}.photo-caption{max-width:55%;line-height:1.5}}

/* Comfortable mobile controls and clearance for phone home indicators. */
@media(max-width:800px){
 body{padding-bottom:calc(67px + env(safe-area-inset-bottom,0px))}
 .mobile-actions{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
 .menu-toggle{min-width:44px;min-height:44px;flex-shrink:0;padding:0}
 .enquiry-form input[type=checkbox]{width:20px;height:20px;vertical-align:middle;accent-color:var(--ink)}
 .enquiry-form button[type=submit]{margin-top:16px}
}
@media(max-width:360px){body:not(.bean) .wordmark{font-size:27px}body:not(.bean) .wordmark small{font-size:6px;letter-spacing:1.5px}.site-header{padding-inline:5%;gap:6px}.nav{gap:3px}}
