/* Curated photography and the authentic logo, with restrained framing. */
.brand{width:172px;max-width:100%;flex-shrink:0}
.brand-logo{width:172px;height:auto;max-width:100%;object-fit:contain}
.brand .brand-area{font-size:10px;letter-spacing:.19em;margin-top:1px;line-height:1.4}
.site-header{height:152px;padding-top:13px;padding-bottom:13px;background:#fff}
.gateway-header{min-height:170px;padding-top:12px;padding-bottom:12px;background:#fff}
.gateway-header .brand,.gateway-header .brand-logo{width:210px}
.gateway{min-height:calc(100svh - 222px)}
/* Keep the original artwork. Its white matte blends away against the dark
   footer, with a light wordmark and a warm gold treatment. */
.footer{isolation:isolate}
.footer .brand{width:172px;background:transparent;padding:0;align-items:flex-start}
.footer .brand-logo{width:172px;filter:invert(1) hue-rotate(180deg) saturate(.65) brightness(2.2);mix-blend-mode:screen}
.door-bakery>img{object-position:50% 35%}
.door-cafe>img{object-position:58% 50%}
.door-bakery .door-shade,.door-cafe .door-shade{background:linear-gradient(180deg,rgba(21,16,10,.04) 15%,rgba(21,16,10,.3) 46%,rgba(21,16,10,.91) 100%)}
.cafe-hero .hero-photo img{object-position:54% 50%}
.bakery-hero .hero-photo img{object-position:54% 50%}
.photo-figure{min-width:0}
.photo-figure>img{width:100%;height:100%;object-fit:cover}
.photo-figure>figcaption{font-size:12px;line-height:1.5;letter-spacing:.035em;color:var(--muted);padding-top:12px}
.cafe-intro .editorial-list{align-self:center}
.cafe-menu-feature{row-gap:44px}
.cafe-dishes{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.cafe-dish>img{aspect-ratio:4/3;height:auto;object-fit:cover}
.cafe-dish>figcaption{font-family:var(--serif);font-size:25px;line-height:1.25;letter-spacing:0;color:var(--paper);padding-top:18px}
.courtyard-section{padding:82px 8%;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:7%;align-items:center;background:#eee8dc}
.courtyard-photo{min-width:0}
.courtyard-photo>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.courtyard-photo>figcaption{font-size:12px;line-height:1.5;letter-spacing:.035em;color:var(--muted);padding-top:13px}
.courtyard-copy .eyebrow{color:var(--muted);margin-bottom:24px}
.courtyard-copy h2{font-size:clamp(3rem,5vw,5.6rem)}
.courtyard-copy>p{margin-top:24px;color:var(--muted);max-width:43ch}
.courtyard-copy .button-row{margin-top:32px}
.visit-full-photo{grid-column:1/-1;margin-bottom:10px}
.visit-full-photo>img{aspect-ratio:2.1;height:auto;object-position:50% 50%}
.visit-section{row-gap:42px}
.range-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;border-top:0}
.range-grid article,.range-grid article+article{padding:0;border-left:0}
.product-photo{aspect-ratio:4/3;overflow:hidden;margin-bottom:28px;background:#e6ded0}
.product-photo>img{width:100%;height:100%;object-fit:cover;object-position:center}
.range-grid h3{margin:20px 0 16px}
.range-grid .item-number{display:block;padding-top:0}
.cake-enquiry{margin-top:48px;padding-top:28px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:28px}
.cake-enquiry p{font-size:15px;color:var(--muted);max-width:58ch}
.cake-enquiry .text-link{flex-shrink:0}
.craft-image>img{object-position:52% 50%}
.menu-heading{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}
.menu-heading-copy>p{color:var(--muted);margin-top:20px}
.menu-heading-photo{align-self:stretch;max-height:525px;min-height:400px;overflow:hidden}
.menu-heading-photo>img{width:100%;height:100%;object-fit:cover;object-position:50% 48%}
.cafe-phone-cta{font-size:16px;letter-spacing:.025em;white-space:nowrap}
.hero-phone{font-size:18px;font-weight:600;letter-spacing:.02em}
.contact-label{font-size:12px;letter-spacing:.12em;color:var(--muted);margin-top:8px}
.contact-links .contact-phone{font-family:var(--serif);font-size:clamp(2.2rem,4vw,3.4rem);line-height:1.2;letter-spacing:.015em;color:var(--ink);margin-bottom:8px}
.store-entry{display:grid;grid-template-columns:36px minmax(0,1fr) minmax(250px,1fr);gap:24px;padding:34px 0;border-bottom:1px solid var(--line);align-items:start}
.store-entry h3{font-size:31px}
.store-entry address{font-size:16px;margin:12px 0 0}
.store-location-note{font-size:14px;color:var(--muted);margin-top:7px}
.store-details{display:flex;flex-direction:column;align-items:flex-start;gap:15px}
.store-phone{font-size:18px;font-weight:500;letter-spacing:.02em;border-bottom:1px solid var(--gold)}
.store-hours{width:100%;margin:0;font-size:14px;color:var(--muted)}
.store-hours>div{display:flex;justify-content:space-between;gap:20px;margin:5px 0}
.store-hours dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.store-details .text-link{font-size:14px;margin-top:2px}
@media(max-width:1150px){
 .site-header{height:141px}.brand,.brand-logo{width:155px}.brand .brand-area{font-size:9px}
 .range-grid{gap:32px}
 .menu-heading{gap:6%}.menu-heading-photo{min-height:370px}
}
@media(max-width:800px){
 .site-header{height:128px;padding:10px 6%}.brand,.brand-logo{width:145px}
 .brand .brand-area{font-size:9px;letter-spacing:.17em}
 .mobile-menu nav{top:128px;background:#fff}
 .cafe-page .header-actions,.menu-page .header-actions{display:flex;position:absolute;right:6%;top:12px}
 .cafe-page .mobile-menu,.menu-page .mobile-menu{align-self:flex-end;margin-bottom:10px}
 .cafe-phone-cta{font-size:16px;padding:8px 13px}
 .store-entry{grid-template-columns:24px minmax(0,1fr);gap:18px 14px;padding:28px 0}
 .store-entry h3{font-size:28px}
 .store-details{grid-column:2;gap:12px;max-width:420px}
 .gateway-header{min-height:139px;padding:10px 6%}.gateway-header .brand,.gateway-header .brand-logo{width:180px}
 .gateway{min-height:auto}.gateway-door{min-height:435px}
 .door-bakery>img{object-position:50% 36%}.door-cafe>img{object-position:53% 52%}
 .door-bakery .door-shade,.door-cafe .door-shade{background:linear-gradient(90deg,rgba(21,16,10,.5),rgba(21,16,10,.02)),linear-gradient(0deg,rgba(21,16,10,.85),rgba(21,16,10,.02) 85%)}
 .footer .brand,.footer .brand-logo{width:155px}
 .photo-figure>figcaption{font-size:12px;padding-top:10px}
 .visit-full-photo{margin-bottom:0}.visit-full-photo>img{aspect-ratio:1.55}
 .visit-section{row-gap:30px}
 .cafe-menu-feature{row-gap:34px}.cafe-dishes{grid-template-columns:1fr;gap:32px}
 .cafe-dish>figcaption{font-size:23px;padding-top:14px}
 .courtyard-section{padding:58px 7%;grid-template-columns:1fr;gap:36px}
 .courtyard-photo>figcaption{padding-top:10px}
 .courtyard-copy h2{font-size:clamp(2.8rem,12vw,4.4rem)}
 .range-grid{grid-template-columns:1fr;gap:40px}
 .range-grid article,.range-grid article+article{padding:0;border-bottom:0}
 .product-photo{aspect-ratio:4/3;margin-bottom:24px}
 .range-grid h3 br{display:none}
 .cake-enquiry{margin-top:36px;flex-direction:column;align-items:flex-start;gap:14px}
 .menu-heading{grid-template-columns:1fr;gap:32px}.menu-heading-photo{min-height:0;height:auto;max-height:410px;aspect-ratio:1.3}
 .menu-heading-photo>img{aspect-ratio:1.3;object-position:50% 46%}
}
@media(max-width:380px){.cafe-page .site-header .brand,.menu-page .site-header .brand{width:128px}.cafe-phone-cta{font-size:14px}.store-hours>div{flex-wrap:wrap;gap:3px 12px}}
