@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800;900&display=swap');
:root{--accent:#be5269;--ink:#35151e;--paper:#fffaf9;--highlight:#fcf0b4;--butter:#fcf0b4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #be5269;outline-offset:6px}header{padding:22px 5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);gap:24px}.brand{font-family:'Outfit',Arial,sans-serif;font-weight:600;letter-spacing:-1.7px;font-size:36px;line-height:1;color:var(--ink)}.brand span{display:block;font-family:'DM Sans',Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:2.3px;margin-top:9px}nav{display:flex;align-items:center;gap:34px;font-weight:600}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 26px;border-radius:100px;background:var(--accent);color:#fff;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px);background:#a83f55}.button.dark{background:var(--ink);color:var(--paper)}.button.dark:hover{background:#542532}.button.small{min-height:46px;padding:10px 24px}.hero{display:grid;grid-template-columns:1.08fr 1fr;min-height:660px}.hero-copy{padding:80px 8% 55px 9.3%;background:var(--accent);color:#fff}.eyebrow{font-size:14px;font-weight:700;letter-spacing:2px;margin:0 0 22px}h1,h2,h3{font-family:'Outfit',Arial,sans-serif;line-height:1.02;letter-spacing:-2.5px;margin:0;font-weight:700}h1{font-size:clamp(64px,7.5vw,110px);font-weight:800}em{font-style:normal;color:var(--highlight)}.intro{font-size:20px;line-height:1.6;margin:30px 0}.actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.text-link{font-weight:700;text-decoration:underline;text-underline-offset:6px}.hero-meta{font-size:14px;margin-top:44px;line-height:1.8}.hero-photo{position:relative;min-height:560px;overflow:hidden}.hero-photo img{height:100%;width:100%;object-fit:cover;position:absolute}.roundel{position:absolute;right:24px;top:25px;background:var(--ink);color:var(--paper);border-radius:20px;height:auto;width:auto;padding:20px 24px;display:flex;align-items:center;justify-content:center;text-align:left;line-height:1.45;font-weight:600;font-size:12px;letter-spacing:1.4px;border:1px solid #35151e20}.photo-caption{position:absolute;bottom:25px;left:28px;color:white;font-weight:700;font-size:13px;letter-spacing:2px;text-shadow:0 1px 6px #000}.ticker{padding:24px 5%;display:flex;justify-content:space-between;align-items:center;gap:24px;background:var(--paper);border-bottom:1px solid #35151e25;font-family:Outfit,Arial,sans-serif;font-size:clamp(14px,1.5vw,19px);font-weight:500;letter-spacing:2px;overflow:hidden;white-space:nowrap}.ticker b{font-size:32px;color:var(--accent)}.section{padding:110px 7%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:40px}h2{font-size:clamp(40px,5vw,68px)}.section-heading>p{max-width:320px;font-size:18px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:30px}.card{border-radius:22px;overflow:hidden;background:var(--butter)}.card img{width:100%;height:390px;object-fit:cover;display:block}.card.treat{background:var(--butter)}.card.treat img{object-position:center 55%}.card-copy{padding:30px 34px 35px}.card-copy .eyebrow{font-size:12px;letter-spacing:1.8px}h3{font-size:32px;letter-spacing:-1px;margin-top:12px}.card-copy p{max-width:460px;margin:18px 0}.card-copy a{font-weight:700;text-decoration:underline;text-underline-offset:5px}.community{background:var(--ink);color:var(--paper);padding:80px 7%}.community .eyebrow{color:var(--highlight)}.community h2{color:var(--paper);font-size:clamp(44px,6vw,82px)}.community-bottom{display:flex;align-items:end;justify-content:space-between;gap:40px}.community-bottom p{max-width:660px;font-size:20px;margin-bottom:0}.community-note{font-size:16px;color:var(--highlight);text-align:right;white-space:nowrap}.visit{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;background:var(--butter)}.visit em{color:#a83f55}.address{font-size:22px;margin:30px 0}.visit-details{display:grid;gap:30px}.visit-details h3{font-size:25px;margin:0 0 14px}.visit-details a{display:block;width:fit-content}.visit-details dl{margin:0}.visit-details dl>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #35151e25}dd{margin:0;text-align:right}.pickup p{margin:0 0 10px}footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:45px 5%}footer>span{font-size:13px}footer>p{font-size:16px}@media(min-width:1550px){body{max-width:1800px;margin:auto}}@media(max-width:800px){header{padding:20px 5%}.brand{font-size:30px}.brand span{font-size:10px;letter-spacing:1.5px}nav{gap:16px}nav>a:not(.button){display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 7%}h1{font-size:clamp(60px,12vw,95px)}.hero-photo{min-height:450px;max-height:560px}.hero-photo img{object-position:center 58%}.hero-meta{margin-top:30px}.ticker{gap:18px;padding:17px 5%}.ticker span{font-size:13px;letter-spacing:1px}.ticker span:last-of-type,.ticker b:last-child{display:none}.ticker b{font-size:24px}.section{padding:60px 6%}.section-heading{display:block}.section-heading>p{margin-top:24px}.cards{grid-template-columns:1fr}.card img{height:370px}.card-copy{padding:28px}.community{padding:60px 6%}.community-bottom{display:block}.community-note{display:block;text-align:left;margin-top:30px}.visit{grid-template-columns:1fr;gap:45px}footer{flex-wrap:wrap;gap:24px}footer>p{width:100%;order:3;margin:0}footer>span{max-width:130px;text-align:right}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

.brand img{display:block;width:220px;height:auto;max-width:100%}.hero-photo{border-radius:28px}.hero-copy{border-radius:28px}.hero{gap:18px;background:var(--paper);margin:0 24px}footer .brand img{width:190px}footer a:hover{text-decoration:underline}@media(max-width:800px){.brand img{width:150px}header{gap:14px}nav{gap:14px}nav>a.menu-link{display:block;font-size:14px}.button.small{padding:10px 17px;font-size:14px}.hero{gap:14px}.hero{margin:0 14px}.hero-copy{border-radius:26px}.hero-photo{border-radius:26px}footer .brand img{width:170px}}@media(max-width:380px){.brand img{width:115px}nav{gap:10px}.button.small{padding:10px 13px}}

.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.gallery-grid figure{margin:0;min-width:0}.gallery-grid img{display:block;width:100%;height:360px;object-fit:cover;border-radius:22px;background:var(--butter)}.gallery-grid figcaption{padding:13px 2px;font-size:16px;font-weight:600}.gallery-grid figure:nth-child(4) img{object-position:center}@media(max-width:800px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.gallery-grid img{height:290px}}@media(max-width:480px){.gallery-grid{gap:14px}.gallery-grid img{height:220px}.gallery-grid figcaption{font-size:14px;line-height:1.4}}

.reviews{background:var(--butter)}.reviews .section-heading{align-items:center}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.review-card{margin:0;background:var(--paper);border-radius:24px;padding:32px;display:flex;flex-direction:column;border:1px solid #35151e12}.review-stars{color:#a83f55;font-size:23px;letter-spacing:4px;line-height:1.4;margin-bottom:24px}.review-label{font-size:14px;letter-spacing:2px;font-weight:700;color:#a83f55;margin:0 0 24px;line-height:32px}.review-card blockquote{margin:0 0 28px;font-family:'Outfit',Arial,sans-serif;font-size:23px;line-height:1.45;font-weight:500;letter-spacing:-.3px}.review-card figcaption{margin-top:auto;font-size:14px;color:#62424c}@media(max-width:1000px){.review-grid{grid-template-columns:1fr}.review-card{padding:28px}.review-card blockquote{font-size:22px}}@media(max-width:800px){.reviews .section-heading>a{display:inline-block;margin-top:24px}}

.review-card figcaption a{text-decoration:underline;text-underline-offset:4px;display:inline-block;margin-top:8px}.review-card figcaption strong{color:var(--ink);font-size:16px}

.review-card .review-label{margin-bottom:16px}.review-card .review-stars{margin-bottom:18px}.review-card blockquote{font-size:22px}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:800px){.review-grid{grid-template-columns:1fr}.review-card blockquote{font-size:21px}}

.ticker{background:var(--butter);border-bottom:0;border-radius:22px;margin:22px 24px 0;color:var(--ink)}.hero-copy .button.dark{background:var(--butter);color:var(--ink)}.hero-copy .button.dark:hover{background:#f9e688}.hero-copy em{color:var(--butter)}.hero-photo .roundel{background:var(--butter);color:var(--ink);border:0}.card.food{background:var(--paper);border:1px solid #35151e18}.card.treat{background:var(--butter)}.reviews{background:var(--butter)}.review-card{background:var(--paper)}.community{background:var(--accent);color:#fff}.community h2{color:#fff}.community .eyebrow,.community-note{color:var(--butter)}.visit{background:var(--paper)}.visit-details .pickup{background:var(--butter);border-radius:22px;padding:26px}.button.small{background:var(--ink);color:var(--butter)}.button.small:hover{background:#542532}@media(max-width:800px){.ticker{margin:16px 14px 0;border-radius:18px}.visit-details .pickup{padding:24px}}

.family-layout{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center;margin-top:36px}.family-layout>img{width:100%;height:380px;object-fit:cover;border-radius:24px}.family-layout .community-bottom{display:block}.community-note{display:block;text-align:left;margin-top:26px}.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.gallery-grid img{height:290px}.beans{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;background:var(--butter);align-items:center}.beans-image img{display:block;width:100%;height:auto;border-radius:28px}.beans h2{font-size:clamp(38px,4.3vw,60px)}.beans h2 em{color:#a83f55}.beans h3{font-size:26px;margin:26px 0 12px}.beans-notes{font-weight:700;font-size:20px;margin:0 0 16px}.bean-specs{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.bean-specs span{border:1px solid #35151e30;padding:6px 12px;border-radius:100px;font-size:14px}.purchase-options{display:grid;grid-template-columns:1fr 1fr;gap:16px}.purchase-options article{background:var(--paper);border-radius:20px;padding:24px;position:relative}.purchase-options h4{font-size:19px;margin:0 0 12px}.price{font-family:Outfit,Arial,sans-serif;font-weight:700;font-size:38px;line-height:1.1;margin:18px 0}.price span{font-family:'DM Sans',Arial,sans-serif;font-size:14px;font-weight:400;display:block;margin-top:8px}.purchase-options article>p:not(.price){font-size:14px}.purchase-options .button{width:100%;font-size:14px;padding:12px 16px}.button:disabled{background:#eadce0;color:#654c54;cursor:not-allowed;transform:none;opacity:1}.saving{display:block;font-size:12px;font-weight:700;color:#a83f55;letter-spacing:1px;margin-bottom:10px}.launch-note{font-size:14px;margin:22px 0 0}.extras-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.extras-grid article{padding:30px;border-radius:24px;background:var(--butter)}.extras-grid article:nth-child(2){background:#f6e8ed}.extras-grid h3{font-size:30px}.hero .intro strong{font-weight:700}.section-heading>p{font-size:18px}
@media(max-width:1000px){.beans{grid-template-columns:1fr;gap:35px}.beans-image{max-width:560px;margin:auto}.extras-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-copy{padding:55px 8%}.family-layout{grid-template-columns:1fr}.family-layout>img{height:330px}}
@media(max-width:800px){.hero-photo{min-height:340px}.hero h1{font-size:clamp(52px,12vw,80px)}.hero .intro{font-size:18px}.section{padding:60px 6%}.gallery-grid img{height:240px}.purchase-options{grid-template-columns:1fr}.beans h2{font-size:42px}.hero .actions{gap:20px}.family-layout{gap:22px}.extras-grid h3{font-size:28px}}

@media(max-width:800px){header{flex-wrap:wrap;gap:18px}header nav{width:100%;justify-content:space-between;gap:12px}nav>a.bean-nav{display:block;font-size:14px}header .brand img{width:180px}}

.treat-photos{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--butter)}.card .treat-photos img{height:390px;min-width:0;object-fit:cover;object-position:center}.gallery-grid img{height:auto;aspect-ratio:1;object-fit:cover}.gallery-intro p{font-size:18px;margin:0 0 12px}.gallery-intro .text-link{display:inline-block}.gallery-intro{max-width:320px}@media(max-width:800px){.gallery-intro{margin-top:24px}.card .treat-photos img{height:260px}}@media(max-width:420px){.card .treat-photos img{height:210px}}

.card .treat-photos img{height:auto;aspect-ratio:1;object-fit:cover}

.carousel{min-width:0}.carousel-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;padding-bottom:12px}.carousel-track figure{flex:0 0 calc((100% - 66px)/4);scroll-snap-align:start;margin:0;min-width:0}.carousel-track img{width:100%;display:block;aspect-ratio:1;height:auto;object-fit:cover;border-radius:22px}.carousel-track figcaption{padding:12px 2px;font-size:16px;font-weight:600}.carousel-controls{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap;margin-top:16px}.carousel-controls button{border:1px solid var(--ink);background:transparent;color:var(--ink);border-radius:100px;padding:10px 18px;font:600 14px 'DM Sans',Arial,sans-serif;min-height:44px;cursor:pointer}.carousel-controls button:hover{background:var(--ink);color:var(--butter)}.carousel-controls button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.carousel-controls button:disabled{opacity:.4;cursor:default}.carousel-controls span{font-size:14px;font-variant-numeric:tabular-nums}.treat-carousel .carousel-track{gap:0;padding-bottom:0;scrollbar-width:none}.treat-carousel .carousel-track figure{flex-basis:100%}.card .treat-carousel img{height:auto;aspect-ratio:4/3;object-fit:contain;background:var(--butter);border-radius:0}.treat-carousel figcaption{padding:12px 28px 0}.treat-carousel .carousel-controls{padding:0 24px;margin-top:12px;justify-content:flex-start}@media(max-width:1000px){.gallery .carousel-track figure{flex-basis:calc((100% - 22px)/2)}}@media(max-width:600px){.gallery .carousel-track figure{flex-basis:82%}.carousel-track{gap:16px}.carousel-controls{justify-content:flex-start}.card .treat-carousel img{aspect-ratio:1}.treat-carousel .carousel-controls{gap:8px}.carousel-controls button{padding:9px 14px}}

.hero-reel{background:var(--butter);min-height:660px;display:flex;align-items:center;justify-content:center}.hero-reel video{display:block;width:100%;height:660px;object-fit:contain;background:var(--butter)}@media(max-width:800px){.hero-reel{min-height:0;max-height:none}.hero-reel video{width:100%;height:auto;max-height:660px;aspect-ratio:9/16}}

.hero-reel{position:relative;isolation:isolate}.hero-reel video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:inherit}.card .treat-carousel img{object-fit:cover;object-position:center}.treat-carousel{overflow:hidden}.treat-carousel .carousel-track{border-radius:22px 22px 0 0;overflow-y:hidden}@media(max-width:800px){.hero-reel{min-height:0;aspect-ratio:9/16;max-height:660px}.hero-reel video{height:100%;max-height:none;aspect-ratio:auto}}

.hero{min-height:0;align-items:stretch}.hero-reel{min-height:0;aspect-ratio:auto;height:var(--hero-tile-height,660px);max-height:none}.hero-reel video{height:100%;max-height:none;object-fit:cover}.flavours .cards{align-items:stretch}.flavours .card{display:flex;flex-direction:column}.flavours .card-copy{flex:1}.flavours .card>.carousel{flex:none;overflow:hidden}.flavours .card>.carousel .carousel-track{gap:0;padding:0;scrollbar-width:none;overflow-y:hidden;border-radius:22px 22px 0 0}.flavours .card>.carousel .carousel-track::-webkit-scrollbar{display:none}.flavours .card>.carousel figure{flex:0 0 100%;margin:0}.flavours .card>.carousel img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center;border-radius:0}.treat-carousel figcaption{display:none}@media(max-width:800px){.hero-reel{min-height:0;height:var(--hero-tile-height,540px);aspect-ratio:auto;max-height:none}.hero-reel video{height:100%;aspect-ratio:auto}.flavours .card>.carousel img{aspect-ratio:4/3}}

.hero-copy{align-self:start}

.reviews .review-grid{display:flex;gap:24px;align-items:stretch;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:16px}.reviews .review-grid .review-card{flex:0 0 calc((100% - 24px)/2);scroll-snap-align:start;white-space:normal}.reviews .review-grid figcaption{padding:0;font-weight:400}.review-carousel .carousel-track:focus-visible{outline:3px solid var(--accent);outline-offset:5px}@media(max-width:800px){.reviews .review-grid .review-card{flex-basis:90%}.reviews .review-grid{gap:16px}}

.subpage-hero{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0 24px}.subpage-hero>div{background:var(--accent);color:white;padding:65px 9%;border-radius:28px}.subpage-hero h1{font-size:clamp(50px,6vw,88px)}.subpage-hero>img{width:100%;height:100%;min-height:480px;object-fit:cover;border-radius:28px}.subpage-hero .button{background:var(--butter);color:var(--ink)}.enquiry-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;background:var(--butter)}.enquiry-intro p{max-width:430px}.enquiry-form{background:var(--paper);padding:36px;border-radius:26px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid label{display:block;font-weight:600;font-size:16px}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;min-width:0;border:1px solid #35151e40;border-radius:12px;padding:13px;margin-top:8px;font:400 16px 'DM Sans',Arial,sans-serif;background:white;color:var(--ink)}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:2px solid var(--accent);outline-offset:2px}.form-wide{grid-column:1/-1}.consent{display:flex;gap:12px;margin:24px 0 14px;align-items:flex-start}.consent input{width:20px;height:20px;flex:none}.form-note{font-size:14px;line-height:1.6}.form-trap{display:none}.enquiry-thanks{background:var(--butter)}@media(max-width:800px){.subpage-hero{grid-template-columns:1fr;margin:0 14px}.subpage-hero>div{padding:45px 7%}.subpage-hero>img{min-height:0;height:320px}.enquiry-section{grid-template-columns:1fr;gap:30px}.enquiry-form{padding:24px}.form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}}

.flavours .card>.carousel img[src="food-acai.jpg"]{object-fit:contain;background:var(--butter)}

.flavours .card>.carousel img[src="food-acai-wide.jpg"]{object-fit:cover;object-position:center}

.flavours .card>.carousel img[src="coffee-wide.jpg"],.flavours .card>.carousel img[src="dole-whip-wide.jpg"]{transform:scale(1.21);transform-origin:center}

.flavours .carousel-track figure{overflow:hidden}

/* One purchase option at a time, subscription first. */
.beans-copy{min-width:0}.bean-pricing-carousel .purchase-options{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0}.bean-pricing-carousel .purchase-options::-webkit-scrollbar{display:none}.bean-pricing-carousel .purchase-options article{flex:0 0 100%;min-width:0;scroll-snap-align:start}.bean-pricing-carousel .purchase-options:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.bean-pricing-carousel .saving{font-size:15px;letter-spacing:1.2px}.bean-slide-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;font-size:13px}.bean-slide-dots{display:flex;gap:2px}.bean-slide-dots button{width:36px;height:36px;border:0;border-radius:50%;padding:0;cursor:pointer;background:transparent;display:grid;place-items:center}.bean-slide-dots button::after{content:"";width:9px;height:9px;border-radius:50%;background:#35151e40}.bean-slide-dots button[aria-pressed="true"]::after{background:var(--ink);width:20px;border-radius:10px}.bean-slide-dots button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
