@font-face{font-family:Cormorant;src:url('assets/cormorant-medium.woff') format('woff');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Cormorant;src:url('assets/cormorant-italic.woff') format('woff');font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:'DM Sans';src:url('assets/dm-sans-regular.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:'DM Sans';src:url('assets/dm-sans-medium.woff') format('woff');font-weight:500 700;font-display:swap}
:root{--red:#bd2026;--dark-red:#971a21;--white:#fff;--blush:#fff3f1;--ink:#352b2a;--muted:#716360;--line:#ead9d5;--serif:Cormorant,Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1.5rem}body{margin:0;background:white;color:var(--ink);font:400 1rem/1.75 var(--sans);-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #bd2026;outline-offset:5px;border-radius:3px}img{display:block;width:100%;height:100%;object-fit:contain}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500}h1,h2{font-family:var(--serif);color:var(--red);line-height:1.04;letter-spacing:-.035em}h2{font-size:clamp(2.8rem,4.8vw,4.5rem)}em{font-weight:500}ul{padding:0;margin:0;list-style:none}address{font-style:normal}[hidden]{display:none!important}.wrap{width:min(1240px,calc(100% - 100px));margin-inline:auto}.icon{width:20px;height:20px;flex-shrink:0;display:inline-block}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;left:1rem;top:-6rem;z-index:30;padding:.75rem 1.5rem;background:var(--red);color:white}.skip-link:focus{top:1rem}.eyebrow{font-size:.75rem;line-height:1.5;font-weight:500;letter-spacing:.15em;color:var(--red)}.small-rule{display:inline-block;width:32px;height:1px;background:var(--red);flex-shrink:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:51px;padding:14px 22px;border:1px solid transparent;border-radius:3px;font-size:.875rem;font-weight:500;line-height:1.45;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--red);color:white}.button-primary:hover{background:var(--dark-red)}.text-link{display:inline-flex;align-items:center;gap:11px;font-size:.875rem;line-height:1.5;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#d5a5a4;padding:10px 0;color:var(--red)}.text-link .icon{width:18px;height:18px}.text-link:hover{text-decoration-color:var(--red)}
.announcement{background:var(--red);color:white;text-align:center;font-size:.75rem;letter-spacing:.055em;padding:7px 20px}.announcement span{margin-left:6px}.site-header{display:flex;align-items:center;gap:30px;padding:7px 0;border-bottom:1px solid var(--line)}.brand{display:block;width:190px;height:96px;flex-shrink:0}.brand-logo{object-fit:contain}.main-nav{display:flex;align-items:center;justify-content:center;gap:28px;margin-left:auto;margin-right:12px}.main-nav a{font-size:.875rem;position:relative;padding:12px 0;white-space:nowrap}.main-nav a::after{content:'';position:absolute;left:0;right:0;bottom:5px;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .2s}.main-nav a:hover::after,.main-nav a[aria-current=page]::after{transform:scaleX(1)}.main-nav a[aria-current=page]{color:var(--red)}.header-order{min-height:45px;padding:12px 18px;white-space:nowrap}.header-order .icon{width:17px;height:17px}
.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px;padding-block:64px 78px}.hero-copy{min-width:0}.hero-copy>.eyebrow{display:flex;align-items:center;gap:13px;margin-bottom:24px}.hero h1{font-size:clamp(4rem,6.9vw,6.4rem);line-height:.98;letter-spacing:-.04em}.hero-title-rest{display:block;margin-top:20px;font-size:.52em;letter-spacing:-.01em;line-height:1.14}.hero-intro{max-width:445px;color:var(--muted);line-height:1.8;margin-top:27px}.hero-actions{display:flex;align-items:center;gap:18px;margin-top:30px;flex-wrap:wrap}.hero-location{display:flex;align-items:flex-start;gap:8px;margin-top:27px;font-size:.8125rem;color:var(--muted);max-width:390px}.hero-location .icon{width:17px;height:17px;margin-top:2px}.hero-visual{min-width:0;position:relative}.hero-photo{border:1px solid var(--line);background:#f2eeee;box-shadow:12px 12px 0 var(--blush);overflow:hidden}.hero-photo img{height:auto}.hero-visual figcaption{display:grid;grid-template-columns:1fr auto;padding:21px 0 0;gap:4px 15px}.hero-visual figcaption>span{font-size:.75rem;letter-spacing:.12em;color:var(--muted)}.hero-visual figcaption strong{font:500 1.8rem/1.15 var(--serif);color:var(--red);grid-column:1}.hero-visual figcaption a{grid-column:2;grid-row:1/3;display:flex;align-items:center;justify-content:center;border:1px solid var(--red);color:var(--red);border-radius:50%;width:43px;height:43px;align-self:center}.hero-visual figcaption a:hover{background:var(--red);color:white}.favourites-ribbon{background:var(--blush);border-block:1px solid var(--line)}.favourites-ribbon .wrap{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:25px}.favourites-ribbon p{font:500 2.35rem/1.1 var(--serif);color:var(--red);letter-spacing:-.025em}.favourites-ribbon a{display:flex;align-items:center;gap:14px;color:var(--red);font-size:.875rem;line-height:1.6}.favourites-ribbon a:hover{text-decoration:underline;text-underline-offset:5px}
.section-space{padding-block:88px}.menu-heading{display:flex;justify-content:space-between;align-items:end;gap:55px;margin-bottom:43px}.menu-heading .eyebrow{margin-bottom:20px}.menu-heading>p{max-width:330px;color:var(--muted);margin-bottom:6px}.menu-categories{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.menu-category{border:1px solid var(--line);background:white;border-radius:4px;overflow:hidden}.menu-category summary{display:flex;align-items:center;gap:15px;list-style:none;cursor:pointer;padding:24px}.menu-category summary::-webkit-details-marker{display:none}.menu-category summary:hover{background:#fff8f7}.menu-category[open] summary{background:var(--blush);border-bottom:1px solid var(--line)}.menu-category summary h3{font:500 1.875rem/1.1 var(--serif);color:var(--red);flex:1}.category-index{font-size:.75rem;color:#94685f}.category-count{font-size:.75rem;white-space:nowrap;color:var(--muted)}.toggle-mark{width:16px;height:16px;position:relative;margin-left:5px;flex-shrink:0}.toggle-mark:before,.toggle-mark:after{content:'';position:absolute;left:2px;right:2px;top:7px;height:1px;background:var(--red)}.toggle-mark:after{transform:rotate(90deg)}.menu-category[open] .toggle-mark:after{transform:rotate(0)}.menu-items{padding:10px 24px 21px}.menu-items li{padding-block:11px;border-bottom:1px solid #f0e4e0;font-size:1rem;line-height:1.5;break-inside:avoid}.menu-items li:last-child{border-bottom:0}.menu-items li>span{font-weight:500;color:#453231}.menu-items li p{font-size:.875rem;line-height:1.65;margin-top:6px;color:var(--muted)}.menu-category:first-child .menu-items{display:grid;grid-template-columns:1fr 1fr;column-gap:22px}.menu-category:first-child .menu-items li:nth-last-child(2){border-bottom:0}.menu-note{font-size:.875rem;color:var(--muted);border-top:1px solid var(--line);margin-top:31px;padding-top:24px}.menu-note a{color:var(--red);text-decoration:underline;text-underline-offset:4px}
.story-section{background:var(--red);color:white}.story-inner{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-block:78px 58px}.story-title .eyebrow{color:#ffe7e2;margin-bottom:27px}.story-title h2{font-size:clamp(3rem,5vw,4.65rem);line-height:1.04;color:white}.story-title h2 em{color:#ffd8d0}.story-signature{font:500 italic 1.75rem/1.2 var(--serif);color:#ffe8df;margin-top:31px}.story-copy{padding-top:36px;color:#fff2ed}.story-copy .story-lead{font:500 1.85rem/1.22 var(--serif);color:white;margin-bottom:21px;max-width:400px}.story-copy>p+p{margin-top:19px;line-height:1.85}.story-detail{display:flex;align-items:center;gap:15px;font-size:.875rem;color:#ffe3dc;margin-top:30px}.story-detail .small-rule{background:#ffcdc1}.story-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid #ffffff4d;padding-block:26px 30px}.story-bottom>span:first-child{font-size:.75rem;letter-spacing:.14em;display:flex;align-items:baseline;gap:10px}.story-bottom strong{font:500 3rem/1 var(--serif);letter-spacing:-.03em}.story-bottom p{font-size:.875rem;text-align:center;color:#ffe3dc}.story-location{font-size:.75rem;letter-spacing:.12em;line-height:1.8;text-align:right}
.visit-section{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.visit-heading .eyebrow{margin-bottom:22px}.visit-heading>p:last-child{color:var(--muted);margin-top:26px;line-height:1.8}.visit-details{padding-top:5px}.visit-item{display:flex;align-items:flex-start;gap:20px;padding-bottom:27px}.visit-item+.visit-item{padding-top:26px;border-top:1px solid var(--line)}.detail-icon{width:22px;height:22px;color:var(--red);margin-top:3px}.visit-item>div{flex:1;min-width:0}.visit-item h3{font-size:1rem;font-weight:500;margin-bottom:12px;color:var(--red)}.visit-item address{color:var(--muted)}.hours{margin:0;color:var(--muted);font-size:1rem}.hours>div{display:flex;justify-content:space-between;gap:6px 20px;flex-wrap:wrap}.hours dd{margin:0;white-space:nowrap}.hours>div+div{margin-top:9px}.hours>div:last-child dd{color:var(--red)}.order-notes{display:grid;grid-template-columns:1fr 1fr;padding:20px 22px;border:1px solid var(--line);background:var(--blush);border-radius:3px;gap:20px}.order-notes>div+div{border-left:1px solid #e5c9c4;padding-left:22px}.order-notes strong{display:block;font-weight:500;font-size:.875rem;color:var(--red)}.order-notes span{display:block;font-size:.875rem;color:var(--muted);margin-top:3px}.order-banner{display:flex;align-items:center;justify-content:space-between;gap:36px;background:var(--blush);border:1px solid var(--line);border-radius:4px;margin-bottom:78px;padding:34px 42px}.order-banner .eyebrow{font-size:.75rem;letter-spacing:.1em;color:var(--muted);margin-bottom:10px}.order-banner h2{font-size:2.65rem;line-height:1.1}.order-banner .button{flex-shrink:0}
.site-footer{background:var(--dark-red);color:white}.footer-top{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:65px;padding-block:54px 47px}.footer-logo{display:block;width:197px;height:103px;background:white;border-radius:3px;padding:1px 8px}.footer-brand p{margin-top:20px;font-size:.875rem;line-height:1.8;color:#ffdbd4}.footer-label{font-size:.75rem;letter-spacing:.12em;font-weight:500;color:#ffd6cd;margin-bottom:19px}.footer-contact address{font-size:1rem;line-height:1.8}.phone-link{display:inline-block;margin-top:15px;font-size:1rem;border-bottom:1px solid #e5a7a3;line-height:1.8}.phone-link:hover{color:#ffd6cd}.footer-hours{font-size:.8125rem;line-height:1.8;margin-top:19px;color:#ffdbd4}.footer-social>a{display:flex;gap:15px;align-items:center;padding:13px 0;border-top:1px solid #ffffff38;font-size:.875rem}.footer-social>a:first-of-type{padding-top:0;border-top:0}.footer-social a small{display:block;font-size:.75rem;color:#ffcec6;margin-top:2px}.footer-social>a>.icon:last-child{width:17px;height:17px;margin-left:auto;opacity:.8}.footer-social>a:hover{color:#ffd6cd}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff38;padding-block:21px}.footer-bottom p{font-size:.75rem;color:#f4c8c1}
.favourites-intro{padding-block:26px 45px;text-align:center}.breadcrumb{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:.8125rem;width:fit-content;padding:9px 0;margin-bottom:29px}.breadcrumb:hover{color:var(--red)}.breadcrumb span{color:#cab2ae}.favourites-intro .eyebrow{margin-bottom:18px}.favourites-intro h1{font-size:clamp(4.5rem,7.5vw,6.5rem);line-height:1.1}.favourites-intro>p:last-child{margin-top:19px;color:var(--muted)}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:22px;border-block:1px solid var(--line);padding-block:19px;margin-bottom:34px}.filter-group{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.filter-button{padding:10px 17px;border:1px solid var(--line);border-radius:3px;background:white;color:var(--muted);font-size:.875rem;line-height:1.5;min-height:44px;transition:background .2s,color .2s,border-color .2s}.filter-button:hover{border-color:var(--red);color:var(--red)}.filter-button[aria-pressed=true]{background:var(--red);border-color:var(--red);color:white}.cake-count{font-size:.8125rem;color:var(--muted);white-space:nowrap}.cake-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:39px 29px}.cake-card{min-width:0}.cake-open{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left;border-radius:4px}.cake-photo{display:block;aspect-ratio:1/1.09;background:#f7f4f1;border:1px solid var(--line);overflow:hidden;border-radius:4px;transition:box-shadow .2s}.cake-photo img{object-fit:contain;object-position:center}.cake-open:hover .cake-photo{box-shadow:0 0 0 3px #bd202625}.cake-meta{display:block;padding-top:21px}.cake-category{display:block;font-size:.75rem;line-height:1.5;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}.cake-title{display:block;font:500 1.95rem/1.15 var(--serif);color:var(--red);letter-spacing:-.02em;margin-top:8px}.cake-cta{display:flex;align-items:center;justify-content:space-between;font-size:.8125rem;color:var(--muted);border-top:1px solid var(--line);margin-top:15px;padding-top:12px}.cake-cta .icon{width:18px;height:18px;color:var(--red);transition:transform .2s}.cake-open:hover .cake-cta .icon{transform:translateX(4px)}.gallery-footnote{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-top:25px;margin-top:40px;border-top:1px solid var(--line)}.gallery-footnote p{font-size:.875rem;color:var(--muted);max-width:510px}.favourites-banner{margin-top:62px}.favourites-banner h2{font-size:2.8rem}
#cake-dialog{width:min(940px,calc(100% - 48px));max-width:none;max-height:calc(100dvh - 48px);padding:0;border:0;border-radius:6px;overflow-y:auto;color:var(--ink);box-shadow:0 24px 90px #2a080740}#cake-dialog::backdrop{background:#301413b3;backdrop-filter:blur(3px)}#cake-dialog[open]{display:block}.dialog-close{position:absolute;top:15px;right:15px;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:white;color:var(--red);font-size:1.8rem;line-height:1;z-index:1;display:grid;place-items:center}.dialog-close:hover{background:var(--blush)}.dialog-layout{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.dialog-image{background:#f3eeeb;display:flex;align-items:center;justify-content:center;min-width:0}.dialog-image img{height:auto;max-height:calc(100dvh - 48px)}.dialog-copy{padding:74px 38px 42px;align-self:center}.dialog-copy h2{font-size:3.3rem;margin-top:17px;line-height:1.02}.dialog-copy>p:not(.eyebrow){font-size:1rem;color:var(--muted);margin-top:22px;line-height:1.75}.dialog-copy .dialog-availability{border-left:2px solid var(--red);padding:12px 15px;background:var(--blush);font-size:.875rem!important}.dialog-copy .button{margin-top:25px;width:100%;padding-inline:15px}.dialog-copy .dialog-note{font-size:.8125rem!important;text-align:center;margin-top:14px!important}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.site-header{gap:22px}.brand{width:165px;height:88px}.main-nav{gap:22px;margin-right:0}.header-order{padding-inline:15px}.hero{gap:48px}.hero h1{font-size:5.1rem}.hero-actions{gap:10px 16px}.hero-actions .button{padding-inline:17px}.menu-category summary{padding:21px 18px;gap:12px}.menu-category summary h3{font-size:1.7rem}.menu-items{padding-inline:19px}.menu-category:first-child .menu-items{column-gap:17px}.story-inner,.visit-section{gap:60px}.order-banner{padding:30px}.order-banner h2{font-size:2.3rem}.footer-top{gap:38px}.cake-grid{gap:35px 23px}.cake-title{font-size:1.8rem}.dialog-copy{padding-inline:29px}.dialog-copy h2{font-size:3rem}}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}.site-header{display:grid;grid-template-columns:1fr auto;gap:0 25px;padding:5px 0 0}.brand{width:170px;height:86px}.header-order{grid-column:2;grid-row:1}.main-nav{grid-column:1/-1;grid-row:2;margin:0;gap:42px;border-top:1px solid var(--line);padding:4px 0}.hero{gap:34px;padding-block:50px 62px}.hero h1{font-size:4.4rem}.hero-copy>.eyebrow{letter-spacing:.07em}.hero-intro{margin-top:23px}.hero-title-rest{margin-top:17px}.hero-actions{margin-top:23px}.hero-location{margin-top:21px}.hero-visual figcaption>span{letter-spacing:.06em}.hero-visual figcaption strong{font-size:1.55rem}.favourites-ribbon p{font-size:2rem}.section-space{padding-block:65px}.menu-heading{gap:32px;margin-bottom:33px}.menu-heading>p{max-width:270px}.category-index{display:none}.menu-category summary h3{font-size:1.65rem}.menu-category:first-child .menu-items{display:block}.menu-category:first-child .menu-items li:nth-last-child(2){border-bottom:1px solid #f0e4e0}.story-inner{gap:40px;padding-block:63px 48px}.story-title h2{font-size:3.5rem}.story-copy{padding-top:23px}.story-copy .story-lead{font-size:1.7rem}.visit-section{gap:40px}.visit-item{gap:13px}.order-notes{padding:18px;gap:15px}.order-notes>div+div{padding-left:15px}.order-banner{margin-bottom:60px}.order-banner h2{font-size:2.15rem}.order-banner .button{padding-inline:17px}.footer-top{gap:29px}.footer-logo{width:170px;height:94px}.favourites-intro{padding-bottom:38px}.gallery-toolbar{align-items:flex-start}.filter-group{gap:8px}.filter-button{padding-inline:13px}.cake-count{padding-top:12px}.cake-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 23px}.cake-title{font-size:2rem}.gallery-footnote{align-items:flex-start}.gallery-footnote p{max-width:350px}.dialog-copy{padding:69px 24px 30px}.dialog-copy h2{font-size:2.8rem}}
@media(max-width:640px){.wrap{width:calc(100% - 36px)}.announcement{letter-spacing:.01em;padding-inline:12px}.announcement span{margin-left:3px}.site-header{column-gap:12px}.brand{width:158px;height:85px}.header-order{font-size:.8125rem;white-space:normal;min-height:45px;padding:10px 13px;gap:8px}.header-order .icon{width:16px;height:16px}.main-nav{gap:26px;flex-wrap:wrap;padding:6px 0}.main-nav a{font-size:.8125rem;padding-block:9px}.hero{grid-template-columns:1fr;gap:33px;padding-block:36px 40px}.hero h1{font-size:clamp(3.9rem,15.5vw,6rem);line-height:.98}.hero-copy>.eyebrow{letter-spacing:.08em;margin-bottom:20px}.hero-title-rest{font-size:.53em;margin-top:17px}.hero-intro{margin-top:22px;max-width:440px}.hero-actions{gap:7px 18px;margin-top:23px}.hero-actions .button{padding-inline:16px}.hero-location{margin-top:20px}.hero-visual{width:100%;max-width:500px;justify-self:center}.hero-photo{box-shadow:7px 7px 0 var(--blush)}.hero-visual figcaption{padding-top:18px}.hero-visual figcaption strong{font-size:1.9rem}.hero-visual figcaption a{width:44px;height:44px}.favourites-ribbon .wrap{display:block;padding-block:23px}.favourites-ribbon p{font-size:2.1rem}.favourites-ribbon a{margin-top:12px;width:fit-content}.section-space{padding-block:53px}.menu-heading{display:block;margin-bottom:29px}.menu-heading .eyebrow{margin-bottom:18px}h2{font-size:3.15rem}.menu-heading>p{max-width:380px;margin-top:23px}.menu-categories{grid-template-columns:1fr;gap:14px}.menu-category summary{padding:21px 18px;gap:12px}.menu-category summary h3{font-size:1.85rem}.category-index{display:inline}.menu-items{padding-inline:21px}.menu-items li{padding-block:10px}.menu-category:first-child .menu-items{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}.menu-category:first-child .menu-items li{font-size:1rem}.menu-category:first-child .menu-items li:nth-last-child(2){border-bottom:0}.menu-note{line-height:1.8;padding-top:21px;margin-top:26px}.story-inner{grid-template-columns:1fr;gap:31px;padding-block:52px 38px}.story-title .eyebrow{margin-bottom:22px}.story-title h2{font-size:3.55rem}.story-signature{font-size:1.625rem;margin-top:24px}.story-copy{padding:0}.story-copy .story-lead{font-size:1.9rem;margin-bottom:18px;max-width:340px}.story-copy>p+p{margin-top:17px;line-height:1.8}.story-detail{gap:12px;font-size:.875rem;margin-top:23px}.story-bottom{display:grid;grid-template-columns:1fr auto;gap:17px;padding-block:24px 27px}.story-bottom strong{font-size:2.7rem}.story-bottom p{grid-column:1/-1;grid-row:2;text-align:left;max-width:300px}.story-location{grid-column:2;grid-row:1;letter-spacing:.06em}.visit-section{grid-template-columns:1fr;gap:30px}.visit-heading .eyebrow{margin-bottom:20px}.visit-heading h2{font-size:3.4rem}.visit-heading>p:last-child{margin-top:20px}.visit-details{padding:0}.visit-item{gap:16px;padding-bottom:24px}.visit-item+.visit-item{padding-top:24px}.visit-item h3{margin-bottom:11px}.order-notes{padding:19px;gap:20px}.order-notes>div+div{padding-left:20px}.order-banner{display:block;padding:29px 24px;margin-bottom:52px}.order-banner h2{font-size:2.5rem;max-width:370px;line-height:1.1}.order-banner .eyebrow{letter-spacing:.04em}.order-banner .button{margin-top:22px}.footer-top{grid-template-columns:1fr;gap:31px;padding-block:40px 32px}.footer-brand{display:flex;gap:27px;align-items:center}.footer-logo{width:161px;height:90px;flex-shrink:0}.footer-brand p{font-size:.875rem;margin:0;line-height:1.75}.footer-contact{border-top:1px solid #ffffff38;padding-top:26px}.footer-label{margin-bottom:14px}.footer-hours{margin-top:14px}.footer-social>a{font-size:1rem}.footer-bottom{flex-direction:column;gap:6px;padding-block:22px}.favourites-intro{padding-block:17px 31px}.breadcrumb{margin-bottom:24px}.favourites-intro .eyebrow{letter-spacing:.09em}.favourites-intro h1{font-size:clamp(3.7rem,13.3vw,5.3rem);line-height:1.05}.favourites-intro>p:last-child{margin-top:17px}.gallery-toolbar{display:block;padding-block:17px;margin-bottom:27px}.filter-group{gap:8px}.filter-button{padding:10px 13px}.cake-count{padding-top:13px}.cake-grid{grid-template-columns:1fr;gap:33px}.cake-photo{aspect-ratio:1/1.08;max-height:610px}.cake-meta{padding-top:19px}.cake-title{font-size:2.15rem;margin-top:7px}.cake-category{letter-spacing:.1em}.cake-cta{font-size:.875rem;padding-top:12px;margin-top:14px}.gallery-footnote{display:block;margin-top:33px;padding-top:22px}.gallery-footnote p{max-width:none}.gallery-footnote .text-link{margin-top:9px}.favourites-banner{margin-top:36px}#cake-dialog{width:calc(100% - 28px);max-height:calc(100dvh - 28px);border-radius:5px}.dialog-layout{grid-template-columns:1fr}.dialog-image{padding:0;max-height:46dvh}.dialog-image img{max-height:46dvh;width:100%;height:100%}.dialog-close{top:10px;right:10px;width:41px;height:41px}.dialog-copy{padding:27px 24px}.dialog-copy h2{font-size:2.75rem;margin-top:13px}.dialog-copy>p:not(.eyebrow){margin-top:18px}.dialog-copy .button{font-size:.875rem;margin-top:22px}}
@media(max-width:380px){.wrap{width:calc(100% - 30px)}.brand{width:135px;height:77px}.header-order{padding:10px;max-width:158px}.main-nav{gap:19px}.hero h1{font-size:3.7rem}.hero-actions{gap:4px 14px}.hero-actions .button{padding-inline:14px}.menu-category summary{gap:9px;padding-inline:15px}.category-index{display:none}.menu-category summary h3{font-size:1.75rem}.menu-category:first-child .menu-items{display:block}.menu-category:first-child .menu-items li:nth-last-child(2){border-bottom:1px solid #f0e4e0}.footer-brand{gap:19px}.footer-logo{width:146px;height:85px}.footer-brand p{font-size:.8125rem}.order-notes{padding:16px;gap:16px}.order-notes>div+div{padding-left:16px}.filter-button{padding-inline:11px}.favourites-intro h1{font-size:3.65rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.menu-items li{padding:0}
.menu-item-link{display:block;min-height:44px;padding:11px 0;border-radius:3px}
.menu-item-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.menu-item-name{font-weight:500;color:#453231}
.menu-item-action{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:var(--blush);color:var(--red);transition:background .2s,color .2s}
.menu-item-action .icon{width:16px;height:16px}
.menu-item-link:hover .menu-item-name,.menu-item-link:focus-visible .menu-item-name{color:var(--red)}
.menu-item-link:hover .menu-item-action,.menu-item-link:focus-visible .menu-item-action{background:var(--red);color:white}
.story-house.wrap{width:min(1040px,calc(100% - 36px));margin-bottom:21px}
.story-house-photo{padding:6px;background:white;box-shadow:0 14px 45px #4d0b162f}
.story-house-photo img{display:block;width:100%;height:auto;aspect-ratio:2047/1158;object-fit:contain}
.story-house figcaption{display:flex;justify-content:space-between;gap:12px 26px;flex-wrap:wrap;padding:16px 2px 3px;color:#ffe3dc;font-size:.75rem;line-height:1.5;letter-spacing:.11em}
.story-house figcaption span:last-child{letter-spacing:.02em;text-transform:none}
@media(max-width:640px){.story-house-photo{padding:4px}.story-house figcaption{padding-top:12px}}
.directions-link{display:inline-flex;align-items:center;gap:10px;min-height:46px;margin-top:19px;padding:10px 15px;border:1px solid var(--red);border-radius:3px;color:var(--red);font-size:.875rem;font-weight:500;line-height:1.4;transition:background .2s,color .2s}
.directions-link .icon{width:18px;height:18px;flex:none}
.directions-link .directions-arrow{width:16px;height:16px;margin-left:3px}
.directions-link:hover{background:var(--red);color:white}
.directions-link:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.directions-section{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:25px;margin-bottom:74px;padding:28px 32px;background:var(--blush);border:1px solid var(--line);border-left:4px solid var(--red);border-radius:4px}
.directions-mark{display:grid;place-items:center;width:64px;height:64px;border:1px solid var(--line);border-radius:50%;background:white;color:var(--red)}
.directions-mark .icon{width:30px;height:30px}
.directions-copy .eyebrow{margin-bottom:6px}
.directions-copy h2{font:500 2.1rem/1.15 var(--serif);color:var(--red)}
.directions-copy address{margin-top:7px;color:var(--muted);font-style:normal;line-height:1.5}
.directions-section .directions-link{margin-top:0;white-space:nowrap}
@media(max-width:800px){.directions-section{grid-template-columns:56px minmax(0,1fr);gap:14px 20px}.directions-mark{width:56px;height:56px}.directions-section .directions-link{grid-column:2;justify-self:start}}
@media(max-width:480px){.directions-section{grid-template-columns:1fr;padding:24px 20px;margin-bottom:55px}.directions-mark{display:none}.directions-copy h2{font-size:1.85rem}.directions-section .directions-link{grid-column:1;width:100%;justify-content:center}}

/* Quiet motion and depth: the existing red-and-white design stays intact. */
.main-nav a::after{transition:transform .35s cubic-bezier(.22,1,.36,1)}
.button{transition:background-color .32s ease,transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s ease}
.button .icon,.text-link .icon,.directions-link .directions-arrow{transition:transform .32s cubic-bezier(.22,1,.36,1)}
.hero-photo{position:relative}
.hero-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 68%,rgba(41,17,15,.11))}
.hero-photo img{transition:transform .7s cubic-bezier(.22,1,.36,1)}
.section-space{padding-block:clamp(70px,7.4vw,102px)}
.menu-heading{margin-bottom:clamp(34px,4vw,50px)}
.menu-category{box-shadow:0 5px 18px rgba(66,28,23,.035);transition:box-shadow .38s ease,border-color .38s ease}
.menu-category summary,.menu-item-link,.menu-item-name,.menu-item-action{transition:background-color .3s ease,color .3s ease,transform .3s ease,padding .3s ease}
.toggle-mark::after{transition:transform .3s ease}
.story-inner{padding-block:clamp(72px,7vw,94px) clamp(56px,6vw,76px)}
.cake-grid{row-gap:44px}
.cake-open{transition:transform .4s cubic-bezier(.22,1,.36,1)}
.cake-photo{box-shadow:0 8px 24px rgba(66,28,23,.045);transition:box-shadow .4s ease,border-color .4s ease}
.cake-photo{aspect-ratio:1/1.05}
.cake-photo img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .65s cubic-bezier(.22,1,.36,1)}
.order-banner,.directions-section{box-shadow:0 12px 35px rgba(71,28,25,.045)}
.footer-top{padding-block:60px 52px}
.motion-ready .reveal{transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal:not(.is-revealed){opacity:0;transform:translateY(22px)}
.motion-ready .reveal.is-revealed{opacity:1;transform:translateY(0)}

@media(hover:hover){
  .button:hover{transform:translateY(-3px);box-shadow:0 9px 20px rgba(139,28,33,.18)}
  .button:hover .icon{transform:translateX(2px)}
  .button:active{transform:translateY(0);box-shadow:0 3px 8px rgba(139,28,33,.12)}
  .text-link:hover .icon,.favourites-ribbon a:hover .icon{transform:translateX(4px)}
  .hero-visual:hover .hero-photo img{transform:scale(1.025)}
  .menu-category:hover{border-color:#e2c8c3;box-shadow:0 14px 32px rgba(66,28,23,.08)}
  .menu-item-link:hover{background:#fff9f8;padding-inline:9px}
  .menu-item-link:hover .menu-item-action{transform:scale(1.06)}
  .cake-open:hover{transform:translateY(-4px)}
  .cake-open:hover .cake-photo{box-shadow:0 18px 38px rgba(66,28,23,.13);border-color:#e3cbc6}
  .cake-open:hover .cake-photo img{transform:scale(1.035)}
  .directions-link:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(139,28,33,.12)}
  .directions-link:hover .directions-arrow{transform:translateX(3px)}
}
.cake-open:focus-visible .cake-photo{box-shadow:0 0 0 3px rgba(189,32,38,.18)}
@media(prefers-reduced-motion:no-preference){
  .hero-copy>.eyebrow,.hero h1,.hero-intro,.hero-actions,.hero-location,.hero-visual{animation:heritage-enter .72s cubic-bezier(.22,1,.36,1) both}
  .hero h1{animation-delay:.09s}.hero-intro{animation-delay:.18s}.hero-actions{animation-delay:.27s}.hero-location{animation-delay:.34s}.hero-visual{animation-delay:.12s;animation-duration:.8s}
  @keyframes heritage-enter{from{opacity:0;transform:translateY(19px)}to{opacity:1;transform:translateY(0)}}
}
@media(max-width:640px){
  .section-space{padding-block:56px}
  .story-inner{padding-block:56px 42px}
  .cake-grid{row-gap:37px}
  .cake-photo{aspect-ratio:1/1.05}
  .footer-top{padding-block:43px 35px}
  .motion-ready .reveal:not(.is-revealed){transform:translateY(14px)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .motion-ready .reveal,.motion-ready .reveal:not(.is-revealed){opacity:1!important;transform:none!important}
}
