@font-face{font-family:LuneSerif;src:url(images/fonts/abyssinica.ttf) format("truetype");font-display:swap}
@font-face{font-family:Inter;src:url(images/fonts/inter-400.ttf) format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url(images/fonts/inter-500.ttf) format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url(images/fonts/inter-600.ttf) format("truetype");font-weight:600;font-display:swap}

:root{
  color-scheme:dark;
  --bg:#321317;--header:#251013;--wine:#602832;--rose:#966b6b;--card:#3b191f;
  --cream:#faefe5;--paper:#fff8f1;--ink:#3c181f;--gold:#e5be93;--muted:#d9b7af;
  --line:#75474b;--paper-line:#ddc6bd;--serif:LuneSerif,Georgia,serif;
  --container:1152px;--gap:24px;--gradient:linear-gradient(105deg,#602832,#966b6b);
}
*{box-sizing:border-box}
html{min-width:300px;scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--cream);font:14px/1.55 Inter,Arial,sans-serif}
body[data-page="home"]{background:#351618}
body[data-page="shop"]{background:linear-gradient(150deg,#2f0d10 30%,#3b1c1f 100%)}
body[data-page="custom-cakes"]{background:linear-gradient(145deg,#210c10,#47161c)}
main{min-height:calc(100vh - 190px)}
main:focus{outline:0}
h1,h2,h3,p,dl,dd{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12}
h1{font-size:clamp(39px,4.4vw,58px)}
h2{font-size:clamp(28px,3vw,38px)}
h3{font-size:22px}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:default}
img{max-width:100%;display:block}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.cream :focus-visible{outline-color:#8b4354}
.container{width:min(var(--container),calc(100% - 2 * clamp(20px,5vw,64px)));margin-inline:auto}
.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link:focus{position:fixed;z-index:20;top:12px;left:12px;padding:10px;background:var(--cream);color:var(--ink)}
.icon{flex:none;display:inline-block;vertical-align:middle}
.button,.add-to-cart{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:45px;
  padding:9px 20px;border:1px solid transparent;border-radius:8px;background:var(--gradient);
  color:var(--cream);font-weight:500;font-size:13px;line-height:1.25;white-space:nowrap;
  transition:transform .22s ease,box-shadow .25s ease,filter .25s ease;
}
.button:hover,.add-to-cart:hover{transform:translateY(-2px);box-shadow:0 8px 19px #1b050944;filter:brightness(1.12)}
.button:active,.add-to-cart:active{transform:translateY(0)}
.button .icon,.text-link .icon{width:auto;max-width:22px;height:auto}
.button-light{background:linear-gradient(110deg,#f9ece1,#d8b0aa);color:var(--ink)}
.button-light .icon,.signature .add-to-cart .icon{filter:brightness(.2) sepia(.4)}
.button-outline{background:transparent;border-color:var(--line)}
.full-button{width:100%}
.text-link{display:inline-flex;align-items:center;gap:8px;padding:0;background:none;border:0;color:var(--cream);font:inherit}
.text-link:hover{color:var(--gold)}
.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:7px}
.cream{color-scheme:light;background:var(--cream);color:var(--ink)}
.glass{border:1px solid var(--line);border-radius:18px;background:linear-gradient(155deg,#faefe515 2%,#faefe526 52%,#421d24 100%);box-shadow:0 18px 38px #18060a29,inset 0 1px #fff2;backdrop-filter:blur(10px)}

#site-header{position:relative;z-index:5;background:var(--header);border-bottom:1px solid #75474b8c}
body[data-page="shop"] #site-header{background:linear-gradient(110deg,#2c0e11 55%,#8c6465)}
#site-header.header-over-hero{position:absolute;inset:0 0 auto;background:none;border:0}
#site-header.header-minimal{background:none;border:0}
.store-header{height:94px;display:grid;grid-template-columns:145px 1fr 145px;align-items:center;position:relative}
.store-header.compact{display:flex;justify-content:space-between;border-bottom:1px solid #75474b77}
body[data-page="custom-cakes"] .store-header.compact{border:0}
.logo{display:inline-flex;width:max-content;align-items:center}
.logo img{object-fit:contain}
.header-over-hero .logo img{opacity:0}
.header-over-hero .store-header{grid-template-columns:145px 1fr 145px}
.store-header nav,.footer-inner nav{display:flex;justify-content:center;align-items:center;gap:clamp(17px,3.2vw,43px);white-space:nowrap}
.store-header nav a,.footer-inner nav a{font-size:14px;color:#f5e4d9;position:relative;transition:color .2s ease}
.store-header nav a:hover,.footer-inner nav a:hover,.store-header nav a[aria-current]{color:var(--gold)}
.header-over-hero nav a[aria-current]::after{content:"";height:1px;position:absolute;left:0;right:0;bottom:-4px;background:var(--gold)}
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}
.icon-button{position:relative;width:34px;height:36px;display:inline-grid;place-items:center;background:none;color:inherit;border:0;border-radius:6px;font-size:22px}
.icon-button:hover{background:#fff1}
.icon-button>.icon{max-width:21px;max-height:20px}
.header-actions .icon-button:nth-child(2)>.icon{max-width:17px}
.search-symbol{position:relative;width:16px;height:16px}
.search-symbol img{position:absolute;top:1px;left:1px}
.search-symbol img:nth-child(2){top:10px;left:10px}
#cart-count{position:absolute;right:-4px;top:0;background:var(--gold);color:var(--ink);border-radius:99px;min-width:17px;height:17px;font-size:10px;text-align:center;line-height:17px;padding:0 3px}
.menu-button{display:none}
.site-footer{border-top:1px solid #75474b90;background:var(--header)}
body[data-page="home"] .site-footer{background:linear-gradient(110deg,#2c0e11 55%,#8c6465)}
.footer-inner{display:grid;grid-template-columns:145px 1fr 145px;align-items:center;min-height:110px;gap:14px}
.footer-inner nav a{font-size:13px}
.socials{display:flex;justify-content:flex-end;align-items:center;gap:16px}
.socials span{display:grid;place-items:center;min-width:20px}

.hero{position:relative;overflow:hidden;height:clamp(400px,45vw,700px);background:#281010;margin:8px 8px 0}
.hero-art{position:absolute;width:100%;max-width:none;height:auto;top:0;left:0;animation:hero-in 1.2s cubic-bezier(.2,.8,.2,1) both;transform-origin:center top}
.hero-mobile-copy{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.hero-button{position:absolute;z-index:2;left:11.6%;top:clamp(273px,31.7vw,500px);min-width:clamp(166px,16.7vw,250px);min-height:clamp(41px,3.7vw,57px);justify-content:space-between;padding-inline:22px;background:linear-gradient(110deg,#311012,#452124);border-color:#9a63654d;font-family:var(--serif);font-size:15px;animation:soft-in .75s .24s both}
.home-content{position:relative;margin-top:clamp(-110px,-8.8vw,-65px);background:linear-gradient(180deg,transparent 110px,#391719 370px,#38191a)}
.hero-waves{position:absolute;top:0;left:0;right:0;height:clamp(210px,33vw,470px);overflow:hidden;pointer-events:none}
.hero-waves img{position:absolute;top:0;left:-4%;width:108%;max-width:none;height:auto}
.collection{position:relative;z-index:1;padding-top:clamp(48px,4.5vw,72px)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:21px}
.section-heading>.text-link{font-family:var(--serif);white-space:nowrap;padding-bottom:4px}
.cake-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
.cake-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid #89585c61;background:var(--card);border-radius:14px;transition:box-shadow .35s ease,border-color .35s ease}
.cake-card:hover{border-color:#b47c7594;box-shadow:0 14px 28px #16080a54}
.cake-image{position:relative;overflow:hidden;aspect-ratio:1.36;background:#422025}
.cake-image>img,.occasion-tile>img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.75,.3,1)}
.cake-card:hover .cake-image>img,.occasion-tile:hover>img{transform:scale(1.055)}
.favorite{position:absolute;z-index:1;right:11px;top:11px;display:grid;place-items:center;width:34px;height:34px;border:1px solid #f8e9da20;border-radius:50%;background:#34181ceb;color:var(--cream);transition:background .2s ease,transform .2s ease}
.favorite .icon{max-width:16px;max-height:16px}
.favorite:hover,.favorite[aria-pressed="true"]{background:#985865;transform:scale(1.05)}
.cake-info{padding:14px 15px 13px;display:flex;flex:1;flex-direction:column}
.cake-info h3{font-size:clamp(17px,1.65vw,22px)}
.cake-info p{margin:11px 0 14px;color:var(--muted);font-size:12px;line-height:1.45}
.cake-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto}
.cake-bottom strong{font:19px/1.2 var(--serif);color:var(--gold);white-space:nowrap}
.add-to-cart{min-height:34px;padding:6px 9px;font-family:var(--serif);font-size:13px;gap:7px;border-radius:4px;border-color:#ad8280a0}
.add-to-cart .icon{width:14px;height:auto}
.signature .cake-info h3{text-align:center}
.signature .cake-info p{font-family:var(--serif);font-size:13px}
.signature .add-to-cart{background:#e5be93;color:var(--ink);border-color:transparent}
.home-story{margin-top:46px}
.split-panel{display:grid;grid-template-columns:52% 48%;overflow:hidden;border-radius:16px;background:var(--cream)}
.split-panel>img{width:100%;height:100%;min-height:300px;object-fit:cover;object-position:center}
.split-copy{padding:clamp(28px,4vw,51px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.split-copy h2{font-size:clamp(35px,4vw,52px);line-height:1.08}
.split-copy p{margin:15px 0 23px;max-width:360px}
.home-story .split-copy p{font-family:var(--serif);font-size:17px}
.home-story .button{min-width:194px;justify-content:space-between;background:linear-gradient(115deg,#2e0d10,#442024);box-shadow:0 5px 10px #27070950;font-family:var(--serif)}
.occasion-section{padding-block:37px 43px}
.occasion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.occasion-tile{position:relative;overflow:hidden;border-radius:14px;aspect-ratio:1.57;background:#482022}
.occasion-tile::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#26090cdb);pointer-events:none}
.occasion-tile span{display:flex;align-items:center;gap:10px;position:absolute;left:22px;bottom:16px;z-index:1;font:clamp(19px,2.2vw,29px)/1.1 var(--serif)}
.occasion-tile span .icon{transition:transform .25s ease}
.occasion-tile:hover span .icon{transform:translateX(5px)}

.page-content{padding-block:31px 49px}
.page-heading{margin-bottom:29px}
.page-heading p{color:var(--muted);margin-top:8px}
.shop-banner{position:relative;isolation:isolate;overflow:hidden;border-radius:16px;min-height:264px;display:grid;align-items:center;background:linear-gradient(105deg,#966c6d,#321314 55%);padding:30px 38px}
.shop-banner>div{z-index:1;width:min(51%,470px)}
.shop-banner h1{font-size:clamp(36px,4.2vw,55px);line-height:1.03}
.shop-banner p:not(.eyebrow){color:#efd3c9;margin-top:18px}
.shop-banner .shop-banner-image{position:absolute;z-index:-2;inset:0 0 0 auto;width:57%;height:100%;object-fit:cover}
.shop-banner::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#34131300 43%,#321314 49%,#32131400 64%)}
.shop-products{padding-top:37px}
.shop-products .cake-grid{row-gap:29px}
.shop-products .cake-info h3{min-height:2.24em}
.shop-products .cake-info p{margin-top:6px}
.item-count,.filter-note{color:var(--muted);font-size:13px}
.filter-note{margin-bottom:16px}
.filter-note button{margin-left:12px;text-decoration:underline}
.occasion-banner{background:linear-gradient(105deg,#55232b,#815d5e 60%,#693a40);border-radius:15px;padding:24px 31px}
.occasion-banner h1{font-size:clamp(38px,4.1vw,54px)}
.occasion-banner p{margin-top:11px}
.occasion-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-block:22px 30px}
.occasion-tabs a{padding:8px 19px;border:1px solid var(--line);border-radius:99px;text-align:center;min-width:130px;font-size:13px;transition:background .24s,color .24s}
.occasion-tabs a:hover{background:#6b343c}
.occasion-tabs a[aria-current]{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.occasion-product .cake-image{aspect-ratio:1.32}
.occasion-product .cake-info{padding:19px 21px 22px}
.occasion-product .cake-info h3{font-size:clamp(20px,2vw,27px)}
.occasion-product .cake-info p{margin-bottom:0}
.wide-callout{display:flex;align-items:center;justify-content:space-between;gap:23px;margin-top:30px;padding:19px 25px;border:1px solid var(--line);border-radius:14px}
.wide-callout h2{font-size:clamp(24px,2.5vw,34px)}
.wide-callout p{margin-top:6px;color:var(--muted);max-width:700px}
.callout-actions{display:grid;gap:12px;min-width:202px}
.about-page .split-panel{grid-template-columns:1fr 1fr}
.about-page .split-panel>img{min-height:465px}
.about-page .split-copy{background:#f3e5d8}
.about-page .split-copy h2{font-size:24px;margin-top:16px}
.about-page .split-copy p{color:#745155;max-width:unset;line-height:1.65;margin-bottom:0}
.about-page .split-copy .button{margin-top:28px}
.about-page .wide-callout{padding-block:24px}
.contact-layout,.checkout-layout,.custom-layout{display:grid;align-items:start;gap:28px}
.contact-layout{grid-template-columns:.72fr 1.28fr}
.checkout-layout{grid-template-columns:1.43fr 1fr}
.custom-layout{grid-template-columns:1fr 1.06fr;padding-top:18px}
.contact-guide{padding:22px;align-self:stretch;background:linear-gradient(160deg,#341012,#755658)}
.contact-guide h2,.form-panel h2,.order-summary h2,.custom-summary h2{font-size:clamp(25px,2.5vw,34px)}
.contact-guide h3{margin:21px 0 7px;font:500 14px/1.45 Inter,Arial,sans-serif;color:var(--gold)}
.contact-guide p{line-height:1.55;font-size:13px}
.contact-guide img{width:100%;height:auto;aspect-ratio:1.65;object-fit:cover;border-radius:9px;margin-top:18px}
.form-panel{padding:clamp(21px,2.5vw,33px);border-radius:20px}
.form-panel h2{margin-bottom:18px}
.form-panel p{color:#765355}
.form-panel .full-button{margin-top:20px;min-height:51px}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}
.field{display:grid;gap:6px;min-width:0;color:var(--ink);font-size:13px;font-weight:500}
.field-wide{grid-column:1/-1}
.field>span{display:flex;align-items:baseline;justify-content:space-between;gap:5px}
.field small,.form-note{color:#745256;font-weight:400;font-size:11px}
.field input,.field textarea,.field select{
  display:block;width:100%;border:1px solid var(--paper-line);border-radius:9px;background:#fff8f0b3;
  color:var(--ink);padding:10px 13px;min-height:45px;font-size:13px;font-weight:400;
}
.field textarea{min-height:135px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:#805b5e;opacity:1}
.field input:disabled{opacity:.78}
.form-note{margin-top:8px}
.form-status:not(:empty){margin-top:9px;color:#69333e;font-size:13px}
hr{border:0;border-top:1px solid #7950527b;margin:17px 0}
.cream hr{border-color:var(--paper-line);margin:20px 0}
fieldset{padding:0;margin:0;border:0;min-width:0}
legend{margin-bottom:8px;font-size:14px;font-weight:500}
.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.choice{position:relative;display:flex;align-items:flex-start;gap:7px;cursor:pointer;padding:11px 9px;min-height:66px;border:1px solid var(--paper-line);background:#fff9f1ad;border-radius:9px;transition:background .2s,border-color .2s}
.choice:has(:checked){background:#f0dad3;border-color:#6c2838}
.choice input{accent-color:#692836;margin:3px 0 0;flex:none}
.choice strong,.choice small{display:block;font-size:12px;line-height:1.25;font-weight:500}
.choice small{font-size:11px;color:#755256;margin-top:6px;font-weight:400}
.payment-options{grid-template-columns:repeat(2,minmax(0,1fr))}
.payment-options .choice{min-height:58px}
.card-demo{margin-top:16px;grid-template-columns:2fr 1fr 1fr}
.order-summary{padding:clamp(17px,2.4vw,29px);background:linear-gradient(176deg,#3e1c22,#66484a 56%,#35161b)}
.summary-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.summary-heading span{color:var(--gold);font-size:12px;white-space:nowrap}
.order-items{display:grid;gap:15px}
.order-item{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:10px;align-items:center}
.order-item h3{font-size:18px;margin-bottom:7px}
.order-item>img{width:100%;aspect-ratio:1.15;object-fit:cover;border-radius:9px}
.single-item .order-item{display:block}
.single-item .order-item img{aspect-ratio:1.65;margin-bottom:16px}
.single-item .order-item h3{font-size:26px}
.order-controls,.quantity{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.quantity{border:1px solid #efc1ba60;gap:1px;border-radius:6px;overflow:hidden}
.quantity button{color:var(--cream);border:0;background:transparent;width:29px;height:28px}
.quantity button:hover{background:#fff2}
.quantity output{width:24px;text-align:center;font-size:12px}
.remove-item{background:none;border:0;color:var(--muted);font-size:12px;text-decoration:underline}
.totals{border-top:1px solid #350c15a0;margin-top:20px;padding-top:12px}
.totals>div,.custom-summary dl>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0}
.totals .grand-total{align-items:center;margin-top:12px;padding-top:14px;border-top:1px solid #350c15a0;font-size:19px}
.grand-total dd{font:36px var(--serif);color:var(--gold)}
.custom-image{width:100%;aspect-ratio:1.16;object-fit:cover;border-radius:17px}
.custom-summary{margin-top:20px;padding:22px 24px}
.custom-summary dl{margin-top:11px}
.custom-summary dl>div+div{border-top:1px solid #ad777970}
.custom-summary dt{color:var(--muted);min-width:95px}
.custom-summary dd{text-align:right;overflow-wrap:anywhere}
.custom-form h1{font-size:clamp(36px,4vw,54px);margin-bottom:6px}
.custom-form fieldset,.custom-form>.field{margin-top:22px}
.char-count{text-align:right;font-size:11px;color:#765355;margin-top:5px}
.estimate{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--paper-line);margin-top:15px;padding-top:15px}
.estimate strong,.estimate small{display:block}
.estimate small{color:#765355;font-size:11px}
.estimate b{font:31px var(--serif)}
.confirmation{display:grid;place-items:center;min-height:calc(100vh - 95px);padding-block:40px}
.confirmation-card,.empty{text-align:center;padding:clamp(24px,5vw,57px)}
.confirmation-card{width:min(625px,100%);border-color:#9d4d5d}
.confirmation-card h1{max-width:430px;margin:auto}
.confirmation-card p,.empty p{margin:14px 0 23px;color:var(--muted)}
.success-mark{display:grid;place-items:center;width:69px;height:69px;margin:0 auto 25px;border:4px solid #edc6bc70;border-top-color:var(--cream);border-radius:50%;background:var(--wine);font-size:25px;animation:seal-in .6s cubic-bezier(.2,.9,.3,1.3) both}
.search-dialog{width:min(455px,calc(100% - 34px));border:0;border-radius:17px;padding:24px;box-shadow:0 20px 60px #09000384}
.search-dialog::backdrop{background:#19060bc5;backdrop-filter:blur(4px)}
.search-dialog .full-button{margin-top:15px}
#toast{position:fixed;z-index:20;bottom:18px;left:50%;max-width:calc(100% - 30px);transform:translate(-50%,10px);background:#faefe5;color:var(--ink);padding:9px 15px;border-radius:7px;opacity:0;pointer-events:none;transition:opacity .23s,transform .23s}
#toast.visible{opacity:1;transform:translate(-50%,0)}
.reveal-in{animation:soft-in .63s cubic-bezier(.2,.75,.3,1) both}
.cake-grid .reveal-in:nth-child(4n+2),.occasion-grid .reveal-in:nth-child(3n+2){animation-delay:55ms}
.cake-grid .reveal-in:nth-child(4n+3),.occasion-grid .reveal-in:nth-child(3n+3){animation-delay:110ms}
.cake-grid .reveal-in:nth-child(4n){animation-delay:165ms}
@keyframes soft-in{from{opacity:.16;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-in{from{opacity:.48;transform:scale(1.016)}to{opacity:1;transform:scale(1)}}
@keyframes seal-in{from{opacity:.4;transform:scale(.76)}to{opacity:1;transform:scale(1)}}

@media(max-width:950px){
  .store-header,.header-over-hero .store-header,.footer-inner{grid-template-columns:110px 1fr 105px}
  .store-header nav,.footer-inner nav{gap:18px}
  .cake-grid{gap:16px}
  .cake-info{padding-inline:11px}
  .cake-bottom{flex-wrap:wrap}
  .occasion-grid{gap:17px}
  .choice-grid{gap:7px}
  .choice{padding-inline:7px}
}
@media(max-width:730px){
  .store-header,.header-over-hero .store-header{height:69px;grid-template-columns:1fr auto auto;gap:7px}
  .store-header .logo img{width:75px;height:43px}
  .menu-button{display:inline-grid;order:2}
  .store-header nav{display:none;position:absolute;top:calc(100% - 2px);right:0;width:min(245px,100%);padding:13px;flex-direction:column;align-items:stretch;gap:1px;background:#321419;border:1px solid var(--line);border-radius:10px}
  .store-header nav.nav-open{display:flex}
  .store-header nav a{padding:9px}
  .header-over-hero nav a[aria-current]::after{display:none}
  .header-over-hero .logo img{opacity:1}
  .header-over-hero .store-header{background:linear-gradient(90deg,#2a1214b0,#2a121420)}
  .header-actions .icon-button{width:30px}
  .hero{margin:0;height:clamp(396px,75vw,490px)}
  .hero-art{width:100%;height:100%;object-fit:cover;object-position:right center;opacity:.78;animation:none}
  .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#241011 0%,#241011ef 31%,#24101160 72%,#2410111a),linear-gradient(180deg,#2510119c,transparent 28%);pointer-events:none}
  .hero-mobile-copy{height:auto;width:min(83%,365px);overflow:visible;clip-path:none;z-index:1;left:6%;top:119px}
  .hero-mobile-copy h1{font-size:clamp(35px,8vw,53px);color:#fae0b9;margin-block:7px}
  .hero-mobile-copy p:first-child{font-family:var(--serif);color:var(--gold);font-style:italic}
  .hero-mobile-copy p:last-child{max-width:210px;color:#f5daca;font-size:12px}
  .hero-button{top:auto;bottom:54px;left:6%;min-height:42px}
  .home-content{margin-top:-43px}
  .collection{padding-top:56px}
  .cake-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cake-info h3{font-size:19px}
  .shop-products .cake-info h3{min-height:0}
  .shop-banner{min-height:225px;padding:23px}
  .shop-banner h1{font-size:36px}
  .shop-banner>div{width:66%}
  .shop-banner .shop-banner-image{width:66%}
  .shop-banner::after{background:linear-gradient(90deg,#401a1ede 0%,#401a1eb0 45%,transparent 90%)}
  .shop-banner p:not(.eyebrow){font-size:12px;margin-top:10px}
  .desktop-break{display:none}
  .split-panel,.about-page .split-panel{grid-template-columns:1fr}
  .split-panel>img,.about-page .split-panel>img{height:auto;min-height:0;aspect-ratio:1.6}
  .occasion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .occasion-tile span{left:12px;bottom:12px}
  .contact-layout,.checkout-layout,.custom-layout{grid-template-columns:1fr;gap:18px}
  .checkout-layout .order-summary{grid-row:1}
  .contact-layout .form-panel{grid-row:1}
  .custom-layout .custom-form{grid-row:1}
  .custom-image{aspect-ratio:1.4}
  .footer-inner{grid-template-columns:1fr auto;padding-block:13px}
  .footer-inner nav{grid-column:1/-1;grid-row:2;flex-wrap:wrap;justify-content:flex-start;gap:12px 18px}
  .footer-inner .socials{grid-column:2;grid-row:1}
}
@media(max-width:420px){
  .container{width:calc(100% - 32px)}
  .hero-mobile-copy{top:102px}
  .cake-grid,.occasion-grid{gap:11px}
  .cake-info h3{font-size:16px}
  .cake-info p{font-size:11px;margin-block:7px 10px}
  .cake-bottom strong{font-size:17px}
  .add-to-cart{font-size:12px;padding-inline:7px}
  .section-heading{gap:8px}
  .section-heading>.text-link{font-size:12px}
  .occasion-tabs{gap:5px}
  .occasion-tabs a{min-width:0;padding:7px 10px}
  .occasion-product .cake-info{padding:11px}
  .occasion-product .cake-info h3{font-size:19px}
  .wide-callout{align-items:flex-start;flex-direction:column}
  .field-grid:not(.card-demo){grid-template-columns:1fr}
  .payment-options .choice{min-height:64px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}

/* Blend the exported Figma artwork into the surrounding page surfaces. */
.hero-waves{mask-image:linear-gradient(#000 0%,#000 48%,transparent 100%)}
.hero-button .icon{transform:rotate(180deg)}
.shop-banner .shop-banner-image{mask-image:linear-gradient(90deg,transparent,#000 26%)}
.shop-banner::after{display:none}
@media(min-width:731px){
  .header-over-hero .logo{margin-left:clamp(18px,5vw,76px);width:clamp(90px,12vw,145px);height:69px}
  .hero::after{content:"";position:absolute;inset:0;background:#240b0d22;pointer-events:none}
}
@media(max-width:730px){
  .shop-banner .shop-banner-image{mask-image:linear-gradient(90deg,transparent,#000 70%)}
}
