/* Udupi Home brand system: royal blue, deep purple and light aqua. */
:root{
  --royal-maroon:#173c8f;
  --royal-maroon-dark:#28105f;
  --royal-maroon-light:#4d2a9b;
  --royal-gold:#58cde8;
  --royal-gold-light:#a8eef5;
  --royal-cream:#edfaff;
  --royal-paper:#f8fdff;
  --royal-ink:#172860;
}

body{background:var(--royal-cream);color:var(--royal-ink)}
::selection{background:var(--royal-gold);color:var(--royal-maroon-dark)}
button:focus-visible,a:focus-visible{outline-color:var(--royal-gold)}

.announcement{
  background:linear-gradient(90deg,var(--royal-maroon-dark),var(--royal-maroon) 55%,#9c2f18);
  color:#fff8e8;
  border-bottom:1px solid #d99528;
}
.announcement span{color:var(--royal-gold-light)}

header{
  background:#fff8ea;
  border-bottom:2px solid #e4aa3d;
  padding-top:10px;
  padding-bottom:10px;
}
.royal-brand{display:flex;align-items:center;line-height:1}
.brand-logo-image{display:block;width:112px;height:88px;object-fit:contain}
nav a{color:var(--royal-maroon);font-weight:700}
nav a:hover{color:#b4471b}
.bag{
  background:var(--royal-gold-light);
  border:2px solid var(--royal-maroon);
  color:var(--royal-maroon-dark);
  box-shadow:0 4px 0 #ad6c1d38;
}
.bag b{background:var(--royal-maroon);color:#fff8e8}

.hero{
  background:
    radial-gradient(circle at 86% 18%,#f4a73066 0,transparent 32%),
    radial-gradient(circle at 8% 95%,#d36d243d 0,transparent 31%),
    linear-gradient(115deg,#4d0d09,#74180f 55%,#a43c18);
  border-bottom:4px solid var(--royal-gold);
}
.hero:before{
  background-image:radial-gradient(#f6b544 1.5px,transparent 1.5px);
  background-size:25px 25px;
  opacity:.2;
}
.hero:after{color:#f2ad3214}
.hero .eyebrow{color:var(--royal-gold-light)}
.hero h1{color:#fff7e5;text-shadow:2px 3px #34080555}
.hero h1 em{color:var(--royal-gold-light)}
.herocopy>p:not(.eyebrow){color:#ffe8ca}
.hero .primary{
  background:linear-gradient(110deg,#ffc34e,#e99424);
  color:var(--royal-maroon-dark);
  box-shadow:5px 6px 0 #3e0a0766;
}
.herofoot{color:#ffe4b6}
.herofoot svg{color:var(--royal-gold-light)}
.photohero>img{border-color:var(--royal-gold-light);box-shadow:10px 16px 0 #3f0c0955}
.photoseal{background:#fff2d3;border-color:var(--royal-gold);color:var(--royal-maroon)}
.festoon span{color:#f5b43c;text-shadow:0 5px 0 #9b3717}
.festoon span:nth-child(3n){color:#e77e27}
.festivalstrip{
  background:linear-gradient(90deg,#ef9b27,#ffc64e,#ef9b27);
  border-color:#ffd56c;
  color:var(--royal-maroon-dark);
}
.preview{background:#fff0d0;color:#794019;border-bottom-color:#e0b35d}

.sectionhead h2,.step h3,.sweet h4,.collectiongrid h3,.how h3{color:var(--royal-maroon)}
.sectionhead .eyebrow,.eyebrow{color:#a7411d}
.builder .sectionhead{border-bottom-color:#d8a44d}
.step>span{background:var(--royal-maroon);box-shadow:0 0 0 4px #f7d9aa}
.step:nth-of-type(3)>span{background:#c45b20}
.sizes button,.packs button,.sweet{background:var(--royal-paper);border-color:#e6bd79}
.sizes button:hover,.packs button:hover{border-color:#bd6d2b}
.sizes b,.packs b{color:var(--royal-maroon)}
.selected{
  border-color:var(--royal-maroon)!important;
  background:#fff0d4!important;
  box-shadow:0 0 0 2px #fff8,inset 0 0 0 1px var(--royal-maroon),0 4px 0 #8b2a1422!important;
}
.packpic{background:var(--royal-gold);box-shadow:4px 5px #b56619}
.p1{background:var(--royal-maroon-light);box-shadow:4px 5px #5f110d}
.p2{background:#5a1d15;box-shadow:4px 5px #32100c}
.sweet{box-shadow:0 6px 0 #c9872830}
.sweetphoto>span{color:var(--royal-maroon);background:#fff7e7ef}
.counter{color:var(--royal-maroon)}
.counter button{background:var(--royal-maroon);color:#fff8e7}
.counter button:disabled{background:#d7b99a;color:#6c4936}

.summary{
  background:linear-gradient(155deg,#64120d,#8b2416);
  color:#fff5df;
  border-color:var(--royal-gold);
  border-top-color:var(--royal-gold-light);
  box-shadow:8px 9px 0 #7b3d1824;
}
.summary .eyebrow{color:var(--royal-gold-light)}
.summary h3{color:#fff8e9}
.summary .miniBox{background:#7f1c13;border-color:var(--royal-gold)}
.summary .miniBox>div{background:#ffe7ae;border-color:#d28b2b}
.summary .miniBox>div{position:relative;overflow:hidden}
.mini-sweet-photo{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  padding:3px;
  filter:saturate(1.04) contrast(1.02);
  transform:scale(1.08);
}
.summary .fillrow{color:#fff0d0}
.summary .fillrow span{color:#e6bda3}
.summary .fillrow small{color:var(--royal-gold-light)}
.summary progress{accent-color:var(--royal-gold);background:#a45331}
.summary .summarylines b{color:#fff}
.summary .total{border-color:#c56b40}
.summary .total b{color:var(--royal-gold-light)}
.summary .primary{background:var(--royal-gold-light);color:var(--royal-maroon-dark);box-shadow:0 5px 0 #3b0907}
.summary .muted{color:#e6c6b1}

.collection{
  background:
    radial-gradient(circle at 5% 10%,#bc612b33,transparent 25%),
    linear-gradient(160deg,#64110c,#821d13);
}
.collection .sectionhead h2{color:#fff7e2}
.collection .eyebrow{color:var(--royal-gold-light)}
.collection .sectionhead>p{color:#efc9ae}
.collectiongrid article{background:#fffaf0;border-color:#e8ad43;box-shadow:7px 9px 0 #3f0a0755}
.collectiongrid h3{color:var(--royal-maroon)}
.collectiongrid p{color:#805447}
.collectiongrid button{background:#fff0cf;color:var(--royal-maroon);border-color:#e4bd72}

.shopcategories{background:#fff5e4}
.category{border-color:#e2a948;box-shadow:0 5px 0 #8d401a22}
.category-0{background:#ffc85c}
.category-1{background:#ffe7b0;border-color:#e8bd6f}
.category-2{background:#f3c978;border-color:#d69b36}
.category-3{background:#f8ddae;border-color:#dca852}
.category>span,.category h3,.category b{color:var(--royal-maroon)}
.category p{color:#7c4a37}

.corporate{
  background:
    radial-gradient(circle at 90% 25%,#e5952a33,transparent 45%),
    linear-gradient(115deg,#4d0d09,#7b1910);
  border-color:var(--royal-gold);
}
.corporate:after{color:#f5b13b15}
.corporate .eyebrow{color:var(--royal-gold-light)}
.corporate h2{color:#fff7df}
.corporate>div>p:not(.eyebrow){color:#efd4bd}
.corporate .primary{background:var(--royal-gold-light);color:var(--royal-maroon-dark)}
.corporate small{color:#ddb79e}
.corpboxes>div{background:var(--royal-maroon-light);border-color:var(--royal-gold-light);color:#ffe7aa}
.corpboxes>div+div{background:linear-gradient(145deg,#f0ad3c,#c87122);color:var(--royal-maroon-dark)}

.how>div{background:#f8d88f}
.how>div:nth-child(2){background:#ffe8c0}
.how>div:nth-child(3){background:#efc47c}
.how svg{color:var(--royal-maroon);background:#fff6df}
.how p{color:#754636}

.whatsapp-contact{background:#fff0d0;border-color:#d8a44d}
.whatsapp-contact h2{color:var(--royal-maroon)}
.whatsapp-contact p:not(.eyebrow){color:#80564a}
.contact-actions{display:flex;flex-direction:column;gap:10px;min-width:285px}
.contact-link{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 18px;border:1px solid #d8a44d;border-radius:30px;background:#fff9e9;color:var(--royal-maroon);font-size:12px;font-weight:700}
.contact-link:hover{background:#ffe4aa;transform:translateY(-1px)}

footer{background:var(--royal-maroon-dark);border-top-color:var(--royal-gold);color:#fff7e6}
footer .footerbrand{color:#fff}
footer .brand-logo-image{width:90px;height:72px}
footer p,footer small{color:#e8c5a8}

.drawer{background:linear-gradient(160deg,#fffaf0,#fff0d5);border-left-color:var(--royal-gold)}
.drawer h2,.drawer h3{color:var(--royal-maroon)}
.drawer .eyebrow{color:#a8421d}
.drawer .total b{color:var(--royal-maroon)}
.fulfil .selected{background:#ffe5b6!important}
.toast{background:var(--royal-maroon);border-color:var(--royal-gold-light)}

@media(max-width:900px){
  .brand-logo-image{width:96px;height:76px}
}
@media(max-width:650px){
  header{padding:8px 16px}
  header .brand-logo-image{width:82px;height:64px}
  .bag{padding:8px 10px}
  .announcement{font-size:9px}
  .hero h1{font-size:52px}
  footer .brand-logo-image{width:96px;height:76px;margin:auto}
  .contact-actions{width:100%;min-width:0}
}

/* Udupi Home visual identity overrides. */
.announcement{background:linear-gradient(90deg,#28105f,#183f91 58%,#4d2a9b);color:#f3fdff;border-bottom-color:#63d3e8}
.announcement span{color:#bff5f8}
header{background:#f7fdff;border-bottom-color:#72d7e7}
.brand-logo-image{background:#fff;border:1px solid #a6dce7;padding:5px;box-shadow:0 5px 18px #173c8f1c}
.brand-wordmark{color:#28105f}
.brand-wordmark small{color:#24549e}
nav a{color:#183f91}
nav a:hover{color:#5b2b9e}
.bag{background:#a9eef4;border-color:#28105f;color:#28105f;box-shadow:0 4px 0 #173c8f2c}
.bag b{background:#28105f;color:#fff}
.hero{background:radial-gradient(circle at 86% 18%,#6fdced4d 0,transparent 32%),radial-gradient(circle at 8% 95%,#7256d43d 0,transparent 31%),linear-gradient(115deg,#221052,#173d8e 56%,#4d2a9b);border-bottom-color:#63d4e8}
.hero:before{background-image:radial-gradient(#8ceaf2 1.5px,transparent 1.5px)}
.hero h1,.hero .eyebrow{color:#f4feff}
.hero h1 em,.herofoot svg{color:#a9f0f4}
.herocopy>p:not(.eyebrow),.herofoot{color:#dff9ff}
.hero .primary{background:linear-gradient(110deg,#b8f4f6,#61d3e8);color:#28105f;box-shadow:7px 8px 0 #14083f66}
.festoon span{color:#7fe6ef;text-shadow:0 5px 0 #28105f}
.festoon span:nth-child(3n){color:#b18ae7}
.photoseal{background:#ecfcff;border-color:#63d4e8;color:#28105f}
.festivalstrip{background:linear-gradient(90deg,#6bd7ea,#b8f2f5,#7a62d5);border-color:#c9f7f8;color:#28105f}
.preview{background:#dcf7fb;color:#28467d;border-bottom-color:#78d7e7}
.shopcategories{background:#edfaff}
.category-0{background:#8fe5ef}.category-1{background:#c6f2f6;border-color:#72d5e5}.category-2{background:#a7c7f0;border-color:#769bd8}.category-3{background:#d7cbf2;border-color:#9f86d3}
.collection{background:radial-gradient(circle at 5% 10%,#63d7e733,transparent 25%),linear-gradient(160deg,#28105f,#173f91)}
.collectiongrid article{background:#f8fdff;border-color:#77d7e6;box-shadow:7px 9px 0 #160a4d55}
.collectiongrid p,.category p{color:#455584}
.collectiongrid button{background:#e2f8fb;color:#28105f;border-color:#78d8e7}
.summary{background:linear-gradient(155deg,#24105a,#173f91);border-color:#63d5e8;border-top-color:#a8eef5;box-shadow:8px 9px 0 #25105f24}
.summary .miniBox{background:#173d89;border-color:#8ce6ef}
.summary .miniBox>div{background:#e9fbff;border-color:#65cadf}
.summary .primary{background:#a8eef5;color:#28105f;box-shadow:0 5px 0 #14083f}
.packaging-showcase{background:linear-gradient(120deg,#24105a,#173f91);border-color:#63d4e8;box-shadow:8px 9px 0 #28105f2d}
.packaging-copy .primary{background:#a8eef5;color:#28105f}
.whatsapp-contact{background:linear-gradient(135deg,#e8fbff,#eee9ff);border-color:#76d4e5}
.whatsapp-contact h2{color:#28105f}
.whatsapp-contact p:not(.eyebrow){color:#43547f}
.udupi-contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px;align-items:center}
.contact-heading{display:flex;flex-direction:column;align-items:flex-start}
.branch-whatsapp{margin-top:20px}
.branch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.branch-card{display:flex;gap:13px;align-items:flex-start;padding:17px;border:2px solid #8cdde9;border-radius:18px;background:#f9feff;color:#1d3475;box-shadow:0 5px 0 #3a2a8b16;transition:.2s ease}
.branch-card:hover{transform:translateY(-2px);border-color:#6847b4;box-shadow:0 8px 18px #29116018}
.branch-card>span:last-child{display:flex;flex-direction:column;gap:5px}
.branch-card strong{font-size:16px;color:#28105f}
.branch-card small{font-size:13px;color:#53618a}
.branch-card b{display:flex;align-items:center;gap:6px;margin-top:5px;color:#173f91;font-size:14px}
.branch-pin{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:50%;background:#c5f3f6;color:#28105f}
footer{background:#20104f;border-top-color:#63d4e8;color:#f3fdff}
footer p,footer small{color:#d7f5fb}
.drawer{background:linear-gradient(160deg,#f9feff,#e5f8ff);border-left-color:#63d4e8}
.toast{background:#28105f;border-color:#a8eef5}

@media(max-width:900px){.udupi-contact{grid-template-columns:1fr}.branch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.branch-grid{grid-template-columns:1fr}.contact-heading{align-items:stretch}.branch-whatsapp{justify-content:center;text-align:center}.brand-wordmark strong{font-size:19px}.brand-wordmark small{font-size:8px;letter-spacing:1.4px}}

/* Festival-scale typography and visual hierarchy. */
body{font-size:16px;font-weight:500}
.announcement{padding:13px 18px;font-size:14px;font-weight:700;letter-spacing:.7px}
header{padding:10px 4%;gap:24px}
.royal-brand{gap:15px;flex-shrink:0}
.brand-logo-image{width:138px;height:108px;border-radius:12px}
.brand-wordmark{display:flex;flex-direction:column;gap:7px;color:var(--royal-maroon);white-space:nowrap}
.brand-wordmark strong{font:700 25px/1 'Playfair Display',Georgia,serif;letter-spacing:.7px}
.brand-wordmark small{font:800 10px/1.1 'DM Sans',sans-serif;letter-spacing:2.4px;color:#9e5525;margin:0}
nav{gap:34px;font-size:15px}
.bag{padding:12px 16px;border-radius:28px;font-size:15px;font-weight:800}
.bag b{font-size:13px;padding:5px 8px}

.hero{position:relative}
.herocopy{position:relative;padding-right:150px}
.hero .eyebrow{font-size:13px;letter-spacing:2.2px;font-weight:900}
.hero h1{font-size:76px;font-weight:700}
.herocopy>p:not(.eyebrow){font-size:18px;line-height:1.7;max-width:470px;font-weight:600}
.hero .primary{font-size:19px;font-weight:900;padding:21px 32px;gap:32px;box-shadow:7px 8px 0 #3e0a0766}
.herofoot{font-size:14px;font-weight:800;gap:24px;flex-wrap:wrap;line-height:1.35}
.hero-mascot{position:absolute;width:190px;height:auto;right:-18px;bottom:2px;z-index:4;filter:drop-shadow(0 12px 12px #2b050630);pointer-events:none}
.photoseal{width:168px;height:168px;left:8px;bottom:42px;padding:18px;text-align:center;line-height:1.08;transform:rotate(-5deg)}
.photoseal strong{display:block;font:600 21px/1.05 Georgia,serif}
.photoseal em{display:block;font-size:27px;line-height:1.03;margin-top:5px}
.photoseal span{font-size:8px;line-height:1.3;margin-top:11px;font-weight:900;letter-spacing:.9px}
.imagecaption{font-size:11px;font-weight:700}
.festivalstrip{padding:21px 24px;font-size:15px;font-weight:900;letter-spacing:1.6px}
.preview{padding:14px 22px;font-size:13px;font-weight:700}

.section{padding-top:78px;padding-bottom:78px}
.eyebrow{font-size:13px;font-weight:900;letter-spacing:2.1px}
.sectionhead{margin-bottom:42px}
.sectionhead h2{font-size:51px;font-weight:650;line-height:1.12}
.sectionhead>p{font-size:16px;font-weight:700}

/* Image-led celebration routes. */
.shopcategories h2{font-size:46px}
.category{padding:0;overflow:hidden;text-align:left;display:flex;flex-direction:column;min-height:360px;border-width:3px}
.category>img{display:block;width:100%;height:205px;object-fit:cover;background:#fff4df;border-bottom:3px solid #e2a948}
.category-1>img,.category-2>img,.category-3>img{object-fit:contain;padding:8px}
.category-copy{padding:20px 21px 22px;display:flex;flex-direction:column;align-items:flex-start;flex:1;width:100%}
.category h3{font-size:27px;font-weight:700;line-height:1.15}
.category p{font-size:15px;font-weight:650;line-height:1.5;margin-top:9px}
.category b{font-size:15px;font-weight:900;margin-top:auto;padding-top:17px;justify-content:flex-start}

.collectiongrid h3{font-size:29px;font-weight:700;line-height:1.15;margin-top:4px}
.collectiongrid p{font-size:16px;font-weight:650;line-height:1.45}
.collectiongrid button{font-size:17px;font-weight:900;padding:16px 20px}
.collectiongrid button span{font-size:18px;font-weight:900}

/* Builder controls are sized for quick festive shopping. */
.step{gap:17px;margin-bottom:22px}
.step>span{width:42px;height:42px;font-size:14px;font-weight:900}
.step h3{font-size:31px;font-weight:700}
.step>small{font-size:14px;font-weight:700}
.sizes,.packs{gap:16px;margin-bottom:38px}
.sizes button,.packs button{border-width:2px}
.sizes button{padding:24px 18px}
.sizes b{font-size:32px;font-weight:700}
.sizes small{font-size:14px;font-weight:700;margin-top:9px}
.packs button{padding:10px 10px 18px;overflow:hidden}
.packpic{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transform:none;box-shadow:none;margin:0 0 16px;border-radius:9px;border:1px solid #e1b46c;background:#fff6e6}
.packs b{font-size:20px;font-weight:800;padding:0 7px}
.packs small{font-size:14px;font-weight:650;line-height:1.45;min-height:42px;margin:7px 7px 0;color:#704a3c}
.packs strong{font-size:15px;font-weight:900;margin:10px 7px 0;color:#b84d1d}
.sweet h4{font-size:26px;font-weight:750}
.sweet p{font-size:15px;font-weight:600;line-height:1.5}
.sweet details{font-size:13px;font-weight:600;line-height:1.5}
.sweetphoto>span{font-size:14px;font-weight:900;padding:7px 11px}
.sweetbottom>small{font-size:15px;font-weight:900}
.counter{font-size:17px}
.counter button{width:34px;height:34px}
.summary h3{font-size:31px;font-weight:700}
.summary .fillrow,.summarylines,.summary .muted{font-size:14px;font-weight:650}
.summary .total{font-size:18px;font-weight:800}
.summary .total b{font-size:30px;font-weight:900}
.summary .primary{font-size:17px;font-weight:900;padding:17px}
.whatsapp-button{font-size:15px;font-weight:900;padding:16px 21px}

/* Packaging showcase replaces the generic corporate panel. */
.packaging-showcase{max-width:1320px;display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:center;margin-top:50px;margin-bottom:35px;padding:58px;background:linear-gradient(120deg,#4d0d09,#811c11);border:3px solid var(--royal-gold);border-radius:24px;box-shadow:8px 9px 0 #8a4c232d;color:#fff6df;overflow:hidden;position:relative}
.packaging-showcase:after{content:'✺';position:absolute;right:-100px;top:-125px;font-size:390px;color:#f4ae2412;pointer-events:none}
.packaging-copy{position:relative;z-index:2}
.packaging-copy .eyebrow{color:var(--royal-gold-light)}
.packaging-copy h2{font-size:48px;line-height:1.12;font-weight:700;color:#fff7df}
.packaging-copy>p:not(.eyebrow){font-size:17px;font-weight:650;line-height:1.65;color:#f2d7bd;margin:23px 0}
.packaging-copy .primary{background:var(--royal-gold-light);color:var(--royal-maroon-dark);font-size:18px;font-weight:900;padding:19px 25px;border-radius:36px}
.packaging-copy small{display:block;font-size:13px;font-weight:700;line-height:1.5;color:#e6bea0;margin-top:18px}
.package-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;position:relative;z-index:2}
.package-gallery figure{margin:0;background:#fff5dd;border:2px solid #f0b64b;border-radius:15px;overflow:hidden;box-shadow:7px 9px 0 #31070566;transform:rotate(-1.5deg)}
.package-gallery figure:nth-child(2){transform:translateY(-16px) rotate(1deg)}
.package-gallery figure:nth-child(3){transform:rotate(2deg)}
.package-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.package-gallery figcaption{padding:14px 13px 16px;color:var(--royal-maroon);display:flex;flex-direction:column;gap:5px}
.package-gallery strong{font:700 22px/1.1 'Playfair Display',Georgia,serif}
.package-gallery span{font-size:12px;font-weight:750;line-height:1.35;color:#7b4e3f}

.whatsapp-contact{padding-top:52px;padding-bottom:52px;gap:42px}
.whatsapp-contact .eyebrow{font-size:14px}
.whatsapp-contact h2{font-size:43px;font-weight:700;line-height:1.15}
.whatsapp-contact p:not(.eyebrow){font-size:17px;font-weight:650;line-height:1.65}
.contact-actions{min-width:390px;gap:13px}
.contact-link{padding:16px 21px;font-size:15px;font-weight:900}
.how h3{font-size:27px;font-weight:700}
.how p{font-size:15px;font-weight:650;line-height:1.5}
footer p{font-size:17px;font-weight:700;line-height:1.6}
footer small{font-size:13px;font-weight:650}

@media(max-width:1100px){
  .brand-logo-image{width:115px;height:90px}
  .brand-wordmark strong{font-size:21px}
  .brand-wordmark small{font-size:8px}
  nav{gap:18px;font-size:13px}
  .herocopy{padding-right:105px}
  .hero h1{font-size:60px}
  .hero-mascot{width:145px;right:-24px}
  .category h3{font-size:22px}
  .category p,.category b{font-size:13px}
  .packaging-showcase{grid-template-columns:1fr;padding:45px}
  .package-gallery{margin-top:12px}
}

@media(max-width:760px){
  .announcement{font-size:11px;padding:10px 12px}
  .announcement span{display:block;margin:4px 0 0}
  header{padding:9px 14px;gap:8px}
  header .brand-logo-image{width:82px;height:65px}
  .brand-wordmark{gap:4px}
  .brand-wordmark strong{font-size:17px;letter-spacing:.2px}
  .brand-wordmark small{font-size:7px;letter-spacing:1.2px}
  nav{display:none}
  .bag{font-size:14px;padding:9px 11px;gap:6px}
  .herocopy{padding:58px 22px 142px}
  .hero .eyebrow{font-size:11px;line-height:1.5}
  .hero h1{font-size:53px;line-height:1.03}
  .herocopy>p:not(.eyebrow){font-size:17px;line-height:1.6;margin:22px 0}
  .hero .primary{font-size:18px;padding:18px 25px;width:100%;gap:22px}
  .herofoot{font-size:13px;gap:13px 18px;margin-top:25px}
  .hero-mascot{width:132px;right:8px;bottom:4px}
  .photoseal{left:18px;bottom:25px;width:130px;height:130px;padding:13px}
  .photoseal strong{font-size:18px}
  .photoseal em{font-size:21px}
  .photoseal span{font-size:6px;margin-top:8px}
  .festivalstrip{font-size:12px;padding:17px 18px;overflow-x:auto;justify-content:flex-start;gap:28px}
  .festivalstrip span:nth-child(n){display:inline-block}
  .preview{font-size:12px;line-height:1.5;align-items:flex-start}
  .section{padding:54px 20px}
  .sectionhead{align-items:flex-start;gap:15px;margin-bottom:30px}
  .sectionhead h2,.shopcategories h2{font-size:38px}
  .sectionhead>p{font-size:14px}
  .eyebrow{font-size:11px;line-height:1.45}
  .categoryrow{grid-template-columns:1fr;gap:20px}
  .category{min-height:0}
  .category>img{height:220px}
  .category h3{font-size:27px}
  .category p,.category b{font-size:15px}
  .collectiongrid h3{font-size:27px}
  .collectiongrid p{font-size:16px}
  .collectiongrid button,.collectiongrid button span{font-size:17px}
  .step{align-items:flex-start}
  .step>span{width:39px;height:39px;flex:0 0 39px}
  .step h3{font-size:26px;line-height:1.25}
  .step>small{font-size:13px}
  .sizes{gap:9px}
  .sizes button{padding:20px 8px}
  .sizes b{font-size:26px}
  .sizes small{font-size:12px;line-height:1.35}
  .packs{display:grid;grid-template-columns:1fr;gap:18px}
  .packs button{display:grid;grid-template-columns:145px 1fr;text-align:left;column-gap:16px;align-items:center;padding:10px}
  .packpic{grid-row:1/4;width:145px;margin:0}
  .packs b{font-size:22px;padding:0}
  .packs small{font-size:14px;min-height:0;margin:0}
  .packs strong{font-size:16px;margin:0}
  .sweet h4{font-size:24px}
  .sweet p{font-size:14px}
  .sweetphoto>span{font-size:13px}
  .summary h3{font-size:29px}
  .packaging-showcase{margin:30px 14px;padding:36px 20px;border-radius:20px;gap:26px}
  .packaging-copy h2{font-size:38px}
  .packaging-copy>p:not(.eyebrow){font-size:16px}
  .packaging-copy .primary{width:100%;font-size:17px}
  .package-gallery{grid-template-columns:1fr;gap:18px}
  .package-gallery figure,.package-gallery figure:nth-child(2),.package-gallery figure:nth-child(3){transform:none}
  .package-gallery strong{font-size:24px}
  .package-gallery span{font-size:14px}
  .whatsapp-contact{margin-left:16px;margin-right:16px;padding:42px 0}
  .whatsapp-contact h2{font-size:36px}
  .whatsapp-contact p:not(.eyebrow){font-size:16px}
  .contact-actions{min-width:0;width:100%}
  .contact-link,.whatsapp-contact .whatsapp-button{font-size:14px;padding:15px 13px;width:100%}
  .how h3{font-size:25px}
  .how p{font-size:15px}
}

@media(max-width:430px){
  header .brand-logo-image{width:70px;height:56px}
  .brand-wordmark strong{font-size:15px}
  .brand-wordmark small{font-size:6px}
  .bag{font-size:0;padding:9px 10px}
  .bag b{font-size:12px}
  .hero h1{font-size:46px}
  .herocopy{padding-bottom:132px}
  .hero-mascot{width:118px}
  .sizes b{font-size:23px}
  .sizes small{font-size:10px}
  .packs button{grid-template-columns:112px 1fr;column-gap:12px}
  .packpic{width:112px}
}
