:root{
  --ink:#2a1020;
  --plum:#2b0718;
  --plum-soft:#46102a;
  --ruby:#7b1539;
  --ruby-bright:#a8224c;
  --gold:#f3b943;
  --gold-pale:#ffe6a3;
  --cream:#fff8e9;
  --paper:#fffdf6;
  --rose:#f7e4df;
  --green:#17463d;
  --muted:#765a62;
  --line:#e8d5c7;
  --display:Georgia,"Times New Roman",serif;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --shadow:0 24px 70px rgba(54,9,29,.16);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.55 var(--sans);text-rendering:optimizeLegibility}
body.cart-open{overflow:hidden}
button,input,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit}
img{display:block;max-width:100%}
[hidden]{display:none!important}

.skip-link{position:fixed;z-index:1000;top:10px;left:10px;padding:12px 16px;background:var(--paper);color:var(--plum);transform:translateY(-150%);transition:transform .2s}
.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

.eyebrow{margin:0 0 14px;font:800 .72rem/1 var(--sans);letter-spacing:.17em;text-transform:uppercase}
.eyebrow-light{color:var(--gold-pale)}
.eyebrow-ruby{color:var(--ruby)}
.button{display:inline-flex;min-height:52px;align-items:center;justify-content:space-between;gap:28px;padding:0 20px;border:1px solid transparent;border-radius:4px;font:800 .78rem/1 var(--sans);letter-spacing:.025em;text-decoration:none;transition:transform .2s ease,background .2s ease,border-color .2s ease}
.button:hover{transform:translateY(-2px)}
.button b{font-size:1rem}
.button-gold{background:var(--gold);color:var(--plum)}
.button-gold:hover{background:#ffd066}
.button-glass{border-color:rgba(255,255,255,.46);background:rgba(255,255,255,.08);color:#fff;backdrop-filter:blur(10px)}
.button-glass:hover{background:rgba(255,255,255,.15)}
.button-ruby{background:var(--ruby);color:white}
.button-ruby:hover{background:var(--ruby-bright)}

.brand{display:inline-flex;align-items:center;gap:11px;color:var(--plum);font:700 1.16rem/1 var(--display);text-decoration:none}
.brand small{display:block;margin-top:3px;font:700 .62rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.brand-light{color:white}
.brand-mark{display:grid;width:39px;height:39px;border:1px solid currentColor;border-radius:50%;place-items:center;color:var(--gold);font:700 1.25rem/1 serif}

.welcome{position:relative;display:grid;min-height:100svh;overflow:hidden;align-items:center;padding:112px max(24px,calc((100vw - 1180px)/2)) 126px;background:var(--plum);color:white;isolation:isolate}
.welcome-picture{position:absolute;z-index:-4;inset:-3%;background:url("images/deepavali-entrance.webp") center 52%/cover no-repeat;animation:welcome-breathe 18s ease-in-out infinite alternate}
.welcome-shade{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(26,3,16,.86) 0%,rgba(36,5,22,.66) 35%,rgba(31,4,18,.24) 66%,rgba(31,4,18,.54) 100%),linear-gradient(0deg,rgba(24,2,14,.7),transparent 40%)}
.welcome:after{position:absolute;z-index:-1;inset:0;content:"";background:radial-gradient(circle at 23% 49%,rgba(240,107,51,.18),transparent 33%),radial-gradient(circle at 73% 72%,rgba(255,192,73,.16),transparent 24%);animation:lamp-glow 3.2s ease-in-out infinite alternate;pointer-events:none}
.festive-canvas{position:absolute;z-index:-1;inset:0;width:100%;height:100%;pointer-events:none}
.welcome-nav{position:absolute;z-index:3;top:0;left:50%;display:flex;width:min(100% - 48px,1180px);align-items:center;justify-content:space-between;padding:24px 0;transform:translateX(-50%)}
.sound-toggle{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:0 15px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(30,2,16,.25);color:white;font:750 .74rem/1 var(--sans);backdrop-filter:blur(10px)}
.sound-toggle.is-playing .sound-icon{animation:sound-pulse 1.1s ease-in-out infinite}
.welcome-content{position:relative;width:min(720px,70vw);padding-bottom:18px}
.tamil-wish{margin:0 0 12px;color:var(--gold);font:600 clamp(1rem,1.5vw,1.25rem)/1.4 var(--sans);letter-spacing:.04em}
.welcome h1{margin:0;font:400 clamp(3.6rem,7.5vw,7rem)/.88 var(--display);letter-spacing:-.055em;text-shadow:0 5px 35px rgba(25,0,13,.38)}
.welcome h1 em{color:var(--gold);font-weight:400}
.welcome-copy{max-width:540px;margin:26px 0 29px;color:#fff5dd;font:400 clamp(1rem,1.5vw,1.18rem)/1.6 var(--sans)}
.welcome-actions{display:flex;gap:12px;flex-wrap:wrap}
.scroll-cue{position:absolute;right:max(24px,calc((100vw - 1180px)/2));bottom:92px;display:flex;align-items:center;gap:13px;color:#fff2ce;font:700 .68rem/1 var(--sans);letter-spacing:.14em;text-decoration:none;text-transform:uppercase;writing-mode:vertical-rl}
.scroll-cue i{display:block;width:1px;height:46px;background:rgba(255,255,255,.35);overflow:hidden}
.scroll-cue i:after{display:block;width:1px;height:20px;background:var(--gold);content:"";animation:scroll-drop 1.8s ease-in-out infinite}
.welcome-ribbon{position:absolute;right:0;bottom:0;left:0;display:flex;min-height:52px;align-items:center;justify-content:center;gap:0;background:var(--gold);color:var(--plum);font:800 .72rem/1.2 var(--sans);letter-spacing:.06em;text-transform:uppercase}
.welcome-ribbon span{padding:0 25px;border-right:1px solid rgba(43,7,24,.27)}
.welcome-ribbon span:last-child{border:0}

.site-header{position:sticky;z-index:15;top:0;display:flex;min-height:76px;align-items:center;justify-content:space-between;padding:12px max(22px,calc((100vw - 1180px)/2));border-bottom:1px solid rgba(123,21,57,.12);background:rgba(255,248,233,.92);backdrop-filter:blur(16px)}
.site-header nav{display:flex;align-items:center;gap:25px}
.site-header nav>a{font:750 .76rem/1 var(--sans);text-decoration:none}
.site-header nav>a:hover{text-decoration:underline;text-underline-offset:5px}
.cart-trigger{display:flex;align-items:center;gap:9px;min-height:42px;padding:0 10px 0 16px;border:0;border-radius:999px;background:var(--plum);color:white;font:800 .75rem/1 var(--sans)}
.cart-trigger b{display:grid;min-width:24px;height:24px;padding:0 5px;border-radius:50%;place-items:center;background:var(--gold);color:var(--plum);font-size:.68rem}

.shop-section{max-width:1240px;margin:auto;padding:112px 30px 120px}
.section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end;margin-bottom:48px}
.section-heading h2,.gallery-copy h2,.details-title h2,.notice-heading h2{margin:0;font:400 clamp(3.2rem,6vw,6.4rem)/.9 var(--display);letter-spacing:-.05em}
.section-heading h2 em{color:var(--ruby);font-weight:400}
.section-intro{max-width:420px;justify-self:end}
.section-intro>p:first-child{margin:0 0 22px;font-size:1.05rem}
.deadline-pill{display:inline-flex;margin:0;padding:9px 12px;border:1px solid var(--ruby);border-radius:999px;color:var(--ruby);font:800 .72rem/1 var(--sans)}
.shop-toolbar{display:flex;gap:8px;margin:0 0 25px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.filter-button{padding:10px 15px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font:750 .74rem/1 var(--sans)}
.filter-button.is-active{border-color:var(--plum);background:var(--plum);color:white}

.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.product-card{position:relative;display:flex;min-width:0;overflow:hidden;flex-direction:column;border:1px solid var(--line);border-radius:6px;background:var(--paper);box-shadow:0 0 0 rgba(42,16,32,0);transition:transform .28s ease,box-shadow .28s ease}
.product-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.product-media{position:relative;aspect-ratio:1.18/1;overflow:hidden;background:var(--rose)}
.product-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.product-card:hover .product-media img{transform:scale(1.045)}
.product-category{position:absolute;top:13px;left:13px;padding:7px 10px;border-radius:999px;background:rgba(43,7,24,.78);color:white;font:800 .64rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(7px)}
.product-body{display:flex;min-height:154px;flex:1;flex-direction:column;padding:18px}
.product-topline{display:flex;align-items:start;justify-content:space-between;gap:14px}
.product-card h3{margin:0;font:400 1.55rem/1.05 var(--display)}
.product-price{flex:none;color:var(--ruby);font:850 .92rem/1 var(--sans)}
.product-note{margin:9px 0 18px;color:var(--muted);font-size:.84rem}
.add-button{display:flex;width:100%;min-height:44px;align-items:center;justify-content:space-between;margin-top:auto;padding:0 14px;border:1px solid var(--ink);border-radius:3px;background:transparent;color:var(--ink);font:800 .74rem/1 var(--sans);transition:background .18s,color .18s}
.add-button:hover{background:var(--plum);color:white}
.add-button.is-added{border-color:var(--ruby);background:var(--ruby);color:white}
.more-card{display:grid;grid-template-columns:.8fr 1.2fr;min-height:300px;overflow:hidden;margin-top:18px;border-radius:6px;background:var(--green);color:white}
.more-card>div:first-child{display:flex;padding:45px;flex-direction:column;justify-content:center}
.more-card h3{max-width:420px;margin:0;font:400 clamp(2rem,3.2vw,3.4rem)/1 var(--display)}
.more-card p:last-child{max-width:480px;margin:18px 0 0;color:#d8eee5}
.more-card-images{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px}
.more-card-images img{width:100%;height:100%;min-height:284px;object-fit:cover}

.gallery-section{display:grid;grid-template-columns:.72fr 1.28fr;gap:6vw;min-height:760px;padding:110px max(30px,calc((100vw - 1180px)/2));background:var(--plum);color:white}
.gallery-copy{align-self:center}
.gallery-copy h2{font-size:clamp(3.3rem,5.6vw,6rem)}
.gallery-copy>p:last-child{max-width:400px;margin:27px 0 0;color:#f3dce4;font-size:1.02rem}
.photo-mosaic{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;min-height:540px}
.photo-mosaic figure{position:relative;overflow:hidden;margin:0;border-radius:4px;background:var(--ruby)}
.photo-mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.photo-mosaic figure:hover img{transform:scale(1.04)}
.photo-mosaic .mosaic-tall{grid-row:span 2}
.photo-mosaic .mosaic-wide{display:none}

.collection-details{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;padding:115px max(30px,calc((100vw - 1180px)/2));background:#17463d;color:white}
.details-title{align-self:start;position:sticky;top:120px}
.details-title h2{font-size:clamp(3.1rem,5.2vw,5.6rem)}
.phone-link{display:inline-flex;flex-direction:column;margin-top:39px;color:var(--gold);text-decoration:none}
.phone-link span{color:#cbe2d8;font-size:.8rem}
.phone-link strong{margin-top:4px;font:400 1.55rem/1 var(--display)}
.details-list article{display:grid;grid-template-columns:70px 1fr;gap:25px;padding:36px 0;border-top:1px solid rgba(255,255,255,.22)}
.details-list article:last-child{border-bottom:1px solid rgba(255,255,255,.22)}
.details-number{color:var(--gold);font:800 .74rem/1 var(--sans)}
.details-list h3{margin:0 0 9px;font:400 2rem/1 var(--display)}
.details-list p{max-width:530px;margin:0;color:#d4e8df}

.food-notice{display:grid;grid-template-columns:.62fr 1.38fr;gap:7vw;padding:115px max(30px,calc((100vw - 1180px)/2));background:var(--rose)}
.notice-heading h2{font-size:clamp(3rem,5vw,5.4rem)}
.notice-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #d6bcb7;border-left:1px solid #d6bcb7}
.notice-card{min-height:245px;padding:28px;border-right:1px solid #d6bcb7;border-bottom:1px solid #d6bcb7}
.notice-card>span{display:block;color:var(--ruby);font:850 .7rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.notice-card p{margin:16px 0 0;color:#563b44;font-size:.9rem}
.notice-card a{display:inline-block;margin-top:14px;color:var(--ruby);font-size:.82rem;font-weight:800;text-underline-offset:3px}
.notice-card-accent{background:var(--gold)}
.notice-card-accent>span,.notice-card-accent p{color:var(--plum)}

.site-footer{display:flex;min-height:130px;align-items:center;justify-content:space-between;gap:24px;padding:25px max(30px,calc((100vw - 1180px)/2));background:var(--plum);color:white}
.site-footer p{margin:0;color:#dcbccc;font-size:.78rem}
.site-footer>a:last-child{color:var(--gold);font-size:.77rem;font-weight:800;text-decoration:none}

.mobile-cart-button{position:fixed;z-index:18;right:14px;bottom:14px;left:14px;display:none;min-height:58px;align-items:center;justify-content:space-between;padding:0 18px;border:0;border-radius:8px;background:var(--gold);box-shadow:0 12px 38px rgba(43,7,24,.35);color:var(--plum);font-size:.78rem;text-align:left}
.mobile-cart-button>span{display:flex;align-items:baseline;gap:3px}
.mobile-cart-button strong{font-size:.78rem}

.cart-scrim{position:fixed;z-index:40;inset:0;background:rgba(30,2,17,.65);backdrop-filter:blur(5px)}
.cart-panel{position:fixed;z-index:41;top:0;right:0;width:min(100%,580px);height:100dvh;padding:27px 26px 45px;background:var(--paper);box-shadow:-20px 0 65px rgba(35,2,19,.32);overflow-y:auto;overscroll-behavior:contain;transform:translateX(103%);transition:transform .36s cubic-bezier(.2,.8,.2,1)}
.cart-panel.is-open{transform:translateX(0)}
.cart-header{position:sticky;z-index:2;top:-27px;display:flex;align-items:start;justify-content:space-between;margin:-1px -2px 0;padding:23px 2px 19px;border-bottom:1px solid var(--line);background:rgba(255,253,246,.96);backdrop-filter:blur(9px)}
.cart-header h2{margin:0;font:400 clamp(2rem,5vw,2.65rem)/1 var(--display)}
.icon-button{width:42px;height:42px;padding:0;border:0;border-radius:50%;background:var(--rose);color:var(--plum);font:300 2rem/1 var(--sans)}
.cart-empty{padding:90px 20px;text-align:center}
.cart-empty>span{color:var(--gold);font-size:2.8rem}
.cart-empty h3{margin:15px 0 8px;font:400 1.9rem/1 var(--display)}
.cart-empty p{color:var(--muted)}
.cart-empty a{display:inline-block;margin-top:10px;color:var(--ruby);font-size:.78rem;font-weight:800;text-underline-offset:4px}
.cart-items{padding:9px 0}
.cart-line{display:grid;grid-template-columns:76px 1fr auto;gap:13px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.cart-line img{width:76px;height:76px;border-radius:5px;object-fit:cover}
.cart-line h4{margin:0 0 4px;font:400 1.15rem/1.05 var(--display)}
.cart-line p{margin:0;color:var(--muted);font-size:.72rem}
.qty-stepper{display:flex;align-items:center;gap:8px;margin-top:10px}
.qty-stepper button{display:grid;width:26px;height:26px;padding:0;border:1px solid #caaeb5;border-radius:50%;place-items:center;background:white;color:var(--plum)}
.qty-stepper span{min-width:18px;text-align:center;font-size:.75rem;font-weight:800}
.line-total{text-align:right;font-size:.78rem}
.remove-line{display:block;margin:8px 0 0;padding:0;border:0;background:transparent;color:var(--ruby);font-size:.68rem;text-decoration:underline}
.fulfilment-picker{margin:0;padding:23px 0;border:0;border-bottom:1px solid var(--line)}
.fulfilment-picker legend{margin-bottom:10px;color:var(--ruby);font:850 .7rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase}
.radio-card{display:flex;align-items:center;gap:10px;margin:8px 0;padding:13px;border:1px solid var(--line);border-radius:5px;font-size:.8rem}
.radio-card:has(input:checked){border-color:var(--ruby);background:#fff0ee}
.radio-card input{accent-color:var(--ruby)}
.radio-card span{display:grid;gap:2px;flex:1}
.radio-card small{color:var(--muted)}
.cart-summary{padding:19px 0;border-bottom:1px solid var(--line)}
.cart-summary p{display:flex;justify-content:space-between;margin:5px 0;font-size:.83rem}
.cart-summary .grand-total{margin-top:14px;font-size:1.25rem}
.cart-summary .grand-total b{color:var(--ruby)}
.checkout-heading{margin-top:25px}
.checkout-heading h3{margin:0;font:400 1.75rem/1 var(--display)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cart-panel form>label,.form-grid label{display:block;margin-top:15px;color:var(--ink);font-size:.76rem;font-weight:700}
.cart-panel form label>span{color:var(--muted);font-size:.7rem;font-weight:500}
.cart-panel input:not([type=checkbox]),.cart-panel textarea{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #ccb5ba;border-radius:4px;background:white;color:var(--ink);outline-color:var(--ruby);resize:vertical}
.website-field{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.checkout-notice{margin-top:20px;padding:16px;border-left:4px solid var(--gold);background:#fff3d0}
.checkout-notice strong{font-size:.8rem}
.checkout-notice p{margin:7px 0 0;color:#5f4650;font-size:.75rem}
.checkout-notice a{color:var(--ruby);font-weight:800}
.acknowledgement{display:flex!important;gap:9px;align-items:flex-start;font-size:.76rem!important;line-height:1.45!important}
.acknowledgement input{flex:none;margin:3px 0 0;accent-color:var(--ruby);width:17px;height:17px}
.checkout-button{width:100%;margin-top:19px}
.checkout-button[disabled]{cursor:wait;opacity:.65}
.payment-reminder{margin:10px 10px 0;color:var(--muted);font-size:.69rem;text-align:center}
.checkout-message{min-height:1.35em;margin:9px 0 0;color:#a4143f;font-size:.76rem;font-weight:700;text-align:center}

.confirmation-dialog{position:fixed;width:min(92vw,600px);max-height:92vh;padding:45px;border:0;border-radius:8px;background:var(--paper);box-shadow:0 30px 100px rgba(35,2,19,.48);color:var(--ink);overflow:auto;text-align:center}
.confirmation-dialog::backdrop{background:rgba(30,2,17,.78);backdrop-filter:blur(8px)}
.confirmation-close{position:absolute;top:16px;right:16px;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:var(--rose);font-size:1.5rem}
.confirmation-spark{margin-bottom:9px;color:var(--gold);font-size:3.4rem;animation:confirmation-spark 1.8s ease-in-out infinite}
.confirmation-dialog h2{margin:0;font:400 clamp(2.5rem,6vw,4rem)/.95 var(--display)}
.confirmation-dialog>p:not(.eyebrow):not(.confirmation-note){color:var(--muted)}
.order-reference{display:inline-block;margin:4px 0 19px;padding:10px 14px;border:1px dashed var(--ruby);color:var(--ruby);font-size:1rem;letter-spacing:.08em}
.confirmation-total{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.confirmation-total b{color:var(--ruby);font:400 1.8rem/1 var(--display)}
.payment-steps{margin:20px 0;text-align:left}
.payment-steps p{display:flex;gap:13px;align-items:center;margin:10px 0;color:#523941;font-size:.83rem}
.payment-steps b{display:grid;width:27px;height:27px;flex:none;border-radius:50%;place-items:center;background:var(--gold);color:var(--plum);font-size:.7rem}
.confirmation-note{margin:15px 0;color:var(--muted);font-size:.77rem}
.confirmation-dialog .button{width:100%}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-visible{opacity:1;transform:none}
.product-card.reveal:nth-child(3n+2){transition-delay:.07s}
.product-card.reveal:nth-child(3n+3){transition-delay:.14s}

@keyframes welcome-breathe{from{transform:scale(1.02)}to{transform:scale(1.08)}}
@keyframes lamp-glow{from{opacity:.7}to{opacity:1}}
@keyframes scroll-drop{0%{transform:translateY(-22px);opacity:0}35%{opacity:1}100%{transform:translateY(48px);opacity:0}}
@keyframes sound-pulse{50%{transform:scale(1.24);color:var(--gold)}}
@keyframes confirmation-spark{50%{transform:scale(1.18) rotate(12deg);opacity:.72}}

@media (max-width:980px){
  .site-header nav>a{display:none}
  .section-heading{grid-template-columns:1fr;gap:25px}
  .section-intro{justify-self:start}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery-section{grid-template-columns:1fr;min-height:0}
  .gallery-copy{max-width:680px}
  .photo-mosaic{min-height:580px}
  .collection-details{grid-template-columns:1fr;gap:60px}
  .details-title{position:static}
  .food-notice{grid-template-columns:1fr;gap:55px}
}

@media (max-width:680px){
  html{scroll-padding-top:71px}
  body{font-size:16px;padding-bottom:0}
  .welcome{min-height:100svh;padding:98px 20px 118px;align-items:end}
  .welcome-picture{background-position:51% center}
  .welcome-shade{background:linear-gradient(0deg,rgba(30,2,17,.92) 0%,rgba(32,3,18,.67) 54%,rgba(30,2,17,.38) 100%)}
  .welcome-nav{width:calc(100% - 40px);padding:17px 0}
  .welcome-nav .brand{font-size:1rem}
  .welcome-nav .brand small{font-size:.53rem}
  .brand-mark{width:34px;height:34px}
  .sound-toggle{min-height:38px;padding:0 12px}
  .sound-label{display:none}
  .welcome-content{width:100%;padding-bottom:0}
  .tamil-wish{font-size:.92rem}
  .welcome h1{font-size:clamp(3.2rem,16vw,5.2rem)}
  .welcome-copy{margin:20px 0 24px;font-size:.96rem;line-height:1.5}
  .welcome-actions{display:grid;grid-template-columns:1fr}
  .welcome-actions .button{width:100%}
  .scroll-cue{display:none}
  .welcome-ribbon{justify-content:flex-start;overflow-x:auto;white-space:nowrap}
  .welcome-ribbon span{padding:0 18px}
  .site-header{min-height:70px;padding:10px 18px}
  .site-header .brand{font-size:1rem}
  .site-header .brand small{font-size:.52rem}
  .site-header nav{gap:0}
  .cart-trigger{min-height:40px;padding-left:13px}
  .shop-section{padding:78px 18px 82px}
  .section-heading{margin-bottom:32px}
  .section-heading h2,.gallery-copy h2,.details-title h2,.notice-heading h2{font-size:clamp(2.85rem,13vw,4.25rem)}
  .shop-toolbar{overflow-x:auto}
  .filter-button{white-space:nowrap}
  .product-grid{grid-template-columns:1fr;gap:14px}
  .product-media{aspect-ratio:1.32/1}
  .product-body{min-height:145px}
  .product-card h3{font-size:1.52rem}
  .product-card.reveal:nth-child(n){transition-delay:0s}
  .more-card{grid-template-columns:1fr}
  .more-card>div:first-child{padding:34px 25px}
  .more-card-images{height:245px}
  .more-card-images img{min-height:229px}
  .gallery-section{gap:42px;padding:78px 18px}
  .photo-mosaic{min-height:460px;gap:8px}
  .collection-details{padding:78px 20px}
  .details-list article{grid-template-columns:45px 1fr;gap:12px;padding:28px 0}
  .details-list h3{font-size:1.65rem}
  .food-notice{padding:78px 18px}
  .notice-grid{grid-template-columns:1fr}
  .notice-card{min-height:0;padding:24px}
  .site-footer{display:grid;justify-items:start;padding:38px 20px 94px}
  .site-footer p{display:block}
  .mobile-cart-button.has-items{display:flex}
  .cart-panel{padding:20px 17px 38px}
  .cart-header{top:-20px;padding:19px 1px 16px}
  .cart-header h2{font-size:2rem}
  .cart-line{grid-template-columns:68px 1fr auto}
  .cart-line img{width:68px;height:68px}
  .form-grid{grid-template-columns:1fr;gap:0}
  .confirmation-dialog{padding:42px 22px 28px}
}

@media (max-width:390px){
  .welcome h1{font-size:3.15rem}
  .welcome-copy{font-size:.9rem}
  .site-header .brand small{display:none}
  .site-header .brand-mark{width:32px;height:32px}
  .product-media{aspect-ratio:1.15/1}
  .mobile-cart-button{font-size:.7rem}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}
