/* =========================================================================
 * HMS — Festival pages (v1.9.9): the festival in the menu (Diwali), its
 * sections, tiles and size groups. Loaded only on those pages.
 * Hover never changes text colour or size; shadows stay small and soft.
 * ========================================================================= */

.hms-dw { background: #FBF5EC; color: #13204A; }
.hms-dw-h2 { margin: 0; line-height: 1; font-weight: 400; display: flex; flex-wrap: wrap; align-items: baseline; column-gap: .25em; }
.hms-dw-h2 .hms-fr { font-weight: 900; font-size: clamp(34px, 3.6vw, 52px); color: #13204A; }
.hms-dw-h2 .hms-sc { font-size: clamp(50px, 5.4vw, 78px); color: #8E0E4B; line-height: .9; }
.hms-dw-h2--sm .hms-fr { font-size: clamp(28px, 2.8vw, 40px); }
.hms-dw-h2--sm .hms-sc { font-size: clamp(42px, 4.4vw, 64px); }
.hms-dw-head { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--hms-g3) var(--hms-g4); flex-wrap: wrap; margin-bottom: var(--hms-head-gap); }
.hms-dw-head__note { margin: 0 0 8px; max-width: 440px; font-size: 16px; line-height: 1.55; color: #5A5670; }
.hms .hms-dw-head__link { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 10px; font-weight: 800; color: #13204A; text-decoration: none; }

@media (hover: hover) and (pointer: fine) { .hms .hms-dw-head__link:hover { color: #13204A; text-decoration: underline; text-underline-offset: 4px; } }

/* Buttons */
.hms .hms-dw-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 56px; padding: 0 28px; border-radius: 999px; font-size: 16px; font-weight: 800; text-decoration: none; white-space: nowrap; transition: transform .25s ease, box-shadow .25s ease; }
.hms .hms-dw-btn--gold { background: var(--hms-gold-grad); color: #13204A; }
@media (hover: hover) and (pointer: fine) { .hms .hms-dw-btn--gold:hover { background: var(--hms-gold-grad); color: #13204A; } }
.hms .hms-dw-btn--line { color: #FFF8EE; box-shadow: inset 0 0 0 1.5px rgba(255, 248, 238, .5); }
@media (hover: hover) and (pointer: fine) { .hms .hms-dw-btn--line:hover { color: #FFF8EE; box-shadow: inset 0 0 0 1.5px rgba(255, 248, 238, .5); } }
.hms .hms-dw-btn--wa { background: #25D366; color: #0B3B1E; }
@media (hover: hover) and (pointer: fine) { .hms .hms-dw-btn--wa:hover { background: #25D366; color: #0B3B1E; } }

@media (hover: hover) and (pointer: fine) { .hms .hms-dw-btn:hover { transform: translateY(-2px); } }

@media (hover: hover) and (pointer: fine) { .hms .hms-dw-btn--gold:hover, .hms .hms-dw-btn--wa:hover { box-shadow: 0 6px 14px rgba(0, 0, 0, .18); } }
.hms .hms-dw-btn:focus-visible { outline: 3px solid #FFC94A; outline-offset: 3px; }

/* ---- Hero (v1.10.0): warm, lamp-lit welcome --------------------------- */
.hms-dw-hero {
	position: relative; overflow: hidden; color: #FFF8EE;
	background: var(--hms-pat-light), radial-gradient(60% 90% at 78% 62%, #FFB33A 0%, #F07A12 20%, #B8174A 50%, #6E0B3A 76%, #3E0A2E 100%);
}
.hms-dw-hero__swag { position: absolute; left: 0; right: 0; top: -14px; z-index: 1; pointer-events: none; }
.hms-dw-hero__bokeh span { position: absolute; border-radius: 50%; background: radial-gradient(circle, rgba(255, 220, 140, .55), rgba(255, 220, 140, 0) 70%); animation: hmsTwinkle 4s ease-in-out infinite; pointer-events: none; }
.hms-dw-hero__grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: var(--hms-g5); align-items: center; padding-top: calc(var(--hms-head) + clamp(18px, 3vh, 34px)); padding-bottom: clamp(34px, 5vh, 55px); }
.hms-dw-hero .hms-crumbs { color: rgba(255, 248, 238, .8); margin-bottom: clamp(8px, 1.6vh, 16px); }

@media (hover: hover) and (pointer: fine) { .hms .hms-dw-hero .hms-crumbs a:hover, .hms .hms-dws-hero .hms-crumbs a:hover { color: inherit; } }
.hms-dw-hero__hi { margin: 0; font-size: clamp(28px, 2.7vw, 40px); line-height: 1.2; color: #FFD36B; }
.hms-dw-hero__eb { color: #FFD36B; margin-bottom: 10px; }
.hms .hms-dw-hero__title { margin: 6px 0 0; display: flex; flex-direction: column; font-weight: 400; line-height: .95; }
.hms-dw-hero__lead { font-weight: 900; font-size: clamp(44px, 5.3vw, 78px); color: #FFF8EE; }
.hms-dw-hero__name { font-size: clamp(96px, 10.2vw, 150px); line-height: .8; color: #FFC94A; margin: 8px 0 0 -4px; text-shadow: 0 0 30px rgba(255, 201, 74, .45); }
.hms-dw-hero__sub { margin: clamp(13px, 2.2vh, 22px) 0 0; max-width: 520px; font-size: clamp(16px, 1.3vw, 18px); line-height: 1.6; color: #FFE9D6; }
.hms-dw-hero__ctas { margin-top: clamp(16px, 2.6vh, 26px); display: flex; flex-wrap: wrap; gap: var(--hms-g3); }
.hms .hms-dw-btn--line { box-shadow: inset 0 0 0 1.5px rgba(255, 248, 238, .6); }
@media (hover: hover) and (pointer: fine) { .hms .hms-dw-btn--line:hover { box-shadow: inset 0 0 0 1.5px rgba(255, 248, 238, .6); } }

.hms-dw-pills { margin-top: clamp(16px, 2.6vh, 26px); display: flex; flex-wrap: wrap; gap: 10px; }
.hms-dw-pill { margin: 0; display: inline-flex; align-items: center; gap: 10px; padding: 8px 18px 8px 8px; border-radius: 999px; }
.hms-dw-pill--count { background: rgba(255, 248, 238, .14); border: 1px solid rgba(255, 211, 107, .45); }
.hms-dw-pill--order { background: #FFF8EE; color: #13204A; }
.hms-dw-pill__n { min-width: 44px; height: 44px; padding: 0 6px; box-sizing: border-box; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: #FFC94A; color: #5E0B2F; font-weight: 900; font-size: 22px; }
.hms-dw-pill__ico { flex: none; width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #E6F4EC; color: #1F6B3A; }
.hms-dw-pill__t { font-size: 14px; font-weight: 700; line-height: 1.3; }
.hms-dw-pill--count .hms-dw-pill__t { max-width: 150px; }
.hms-dw-pill--order strong { display: block; font-weight: 800; }
.hms-dw-pill__sub { display: block; font-weight: 600; color: #5A5670; }
.hms-dw-pill__sub.is-late { color: #A3122F; }

.hms-dw-hero__art { position: relative; height: clamp(380px, 56vh, 520px); min-width: 0; }
.hms-dw-art__glow { position: absolute; left: 50%; top: 52%; width: 110%; aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; background: radial-gradient(circle, rgba(255, 214, 120, .45), rgba(255, 214, 120, 0) 62%); }
.hms-dw-art__rangoli { position: absolute; left: 50%; top: 52%; width: min(470px, 92%); aspect-ratio: 1; transform: translate(-50%, -50%); }
.hms-dw-art__rangoli .hms-dw-svg { display: block; width: 100%; height: 100%; animation: hmsDwSpin 80s linear infinite; }
.hms-dw-art__diya { position: absolute; left: 50%; top: 52%; width: min(300px, 60%); aspect-ratio: 1; margin: calc(min(300px, 60%) / -2) 0 0 calc(min(300px, 60%) / -2); filter: drop-shadow(0 6px 10px rgba(60, 6, 20, .18)); }
.hms-dw-art__diya svg, .hms-dw-art__small svg, .hms-dw-art__gift svg, .hms-dw-art__bloom svg { display: block; width: 100%; height: 100%; }
.hms-dw-art__small { position: absolute; bottom: 6px; width: clamp(84px, 8vw, 118px); aspect-ratio: 1; }
.hms-dw-art__small--l { left: 3%; }
.hms-dw-art__small--r { right: 2%; }
.hms-dw-art__gift { position: absolute; left: 38%; bottom: 0; width: clamp(92px, 8.4vw, 120px); aspect-ratio: 1; transform: translateX(-50%); }
.hms-dw-art__bloom { position: absolute; right: 24%; bottom: 10px; width: clamp(60px, 5.6vw, 80px); aspect-ratio: 1; }
.hms-dw-art__lamp { position: absolute; right: 6%; top: -40px; width: clamp(60px, 6vw, 84px); filter: drop-shadow(0 10px 18px rgba(255, 180, 40, .3)); }
.hms-dw-art__lamp .hms-dw-svg { display: block; width: 100%; height: auto; }
.hms-dw-art__sticker { position: absolute; left: 0; top: 40px; padding: 10px 22px; border-radius: 18px; background: #C0186A; color: #FFF8EE; box-shadow: 0 8px 18px rgba(60, 6, 20, .3); transform: rotate(-6deg); }
.hms-dw-art__sticker .hms-sc { display: block; font-size: clamp(28px, 2.6vw, 38px); line-height: 1; }

/* ---- Sections grid ---------------------------------------------------- */
.hms-dw-secs { padding: var(--hms-g7) 0 0; }
.hms-dw-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--hms-gap); }
.hms-dw-card { position: relative; overflow: hidden; min-height: 380px; padding: var(--hms-g4); border-radius: 28px; display: flex; flex-direction: column; background: var(--bg); color: #FFF8EE; transition: transform .3s ease, box-shadow .3s ease; }
.hms-dw-card.is-light { color: #13204A; }

@media (hover: hover) and (pointer: fine) { .hms-dw-card:hover { transform: translateY(-4px); box-shadow: 0 8px 18px rgba(19, 32, 74, .14); } }
.hms-dw-card__pat { position: absolute; inset: 0; background-image: var(--hms-pat-light); opacity: .9; pointer-events: none; }
.hms-dw-card__art { position: relative; display: flex; align-items: center; justify-content: center; height: 160px; margin: 4px 0 var(--hms-g3); }
.hms-dw-card__art svg, .hms-dw-card__art img { width: 150px; height: 150px; object-fit: contain; filter: drop-shadow(0 10px 14px rgba(0, 0, 0, .18)); }
.hms-dw-card__art .hms-garland { width: auto; height: 150px; }
.hms-dw-card__art .hms-dw-figure, .hms-dw-card__art svg.hms-dw-figure { width: 130px; height: 160px; }
.hms-dw-card__art img { border-radius: 20px; }
.hms .hms-dw-card__name { position: relative; margin: 0; font-weight: 900; font-size: 25px; line-height: 1.1; color: inherit; }
.hms .hms-dw-card__name a { color: inherit; text-decoration: none; }
@media (hover: hover) and (pointer: fine) { .hms .hms-dw-card__name a:hover { color: inherit; text-decoration: none; } }
.hms-dw-card__name a::after { content: ""; position: absolute; inset: -400px -30px -200px; } /* the whole card opens the section */
.hms-dw-card__tiles { position: relative; z-index: 1; list-style: none; margin: 10px 0 16px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.hms .hms-dw-card__tiles a { display: inline-block; padding: 5px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; color: inherit; text-decoration: none; background: rgba(255, 255, 255, .16); }
@media (hover: hover) and (pointer: fine) { .hms .hms-dw-card__tiles a:hover { display: inline-block; padding: 5px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; color: inherit; text-decoration: none; background: rgba(255, 255, 255, .16); } }
.hms .hms-dw-card.is-light .hms-dw-card__tiles a { background: rgba(19, 32, 74, .1); }

@media (hover: hover) and (pointer: fine) { .hms .hms-dw-card__tiles a:hover { box-shadow: inset 0 0 0 1.5px currentColor; } }
.hms .hms-dw-card__go { position: relative; z-index: 1; margin-top: auto; align-self: flex-start; height: 44px; padding: 0 18px; border-radius: 999px; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 800; text-decoration: none; background: #FFF8EE; color: #13204A; }
@media (hover: hover) and (pointer: fine) { .hms .hms-dw-card__go:hover { position: relative; z-index: 1; margin-top: auto; align-self: flex-start; height: 44px; padding: 0 18px; border-radius: 999px; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 800; text-decoration: none; background: #FFF8EE; color: #13204A; } }
.hms .hms-dw-card.is-light .hms-dw-card__go { background: #13204A; color: #FFF8EE; }
.hms-dw-card:focus-within { outline: 3px solid #13204A; outline-offset: 3px; }

/* ---- Gifts by price --------------------------------------------------- */
.hms-dw-price { padding: var(--hms-g7) 0 0; }
.hms-dw-price__box { padding: var(--hms-g6); border-radius: 34px; background: #FFF1D9; }
.hms-dw-envs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--n, 5), minmax(0, 1fr)); gap: var(--hms-gap); }
.hms .hms-dw-env { height: 100%; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 26px 16px 21px; border-radius: 24px; background: #FFFFFF; color: #13204A; text-decoration: none; box-shadow: 0 1px 0 #EBD9B4; transition: transform .3s ease, box-shadow .3s ease; }
@media (hover: hover) and (pointer: fine) { .hms .hms-dw-env:hover { height: 100%; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 26px 16px 21px; border-radius: 24px; background: #FFFFFF; color: #13204A; text-decoration: none; box-shadow: 0 1px 0 #EBD9B4; transition: transform .3s ease, box-shadow .3s ease; } }

@media (hover: hover) and (pointer: fine) { .hms .hms-dw-env:hover { transform: translateY(-4px); box-shadow: 0 8px 18px rgba(19, 32, 74, .12); } }
.hms-dw-env__label { font-weight: 900; font-size: 24px; line-height: 1.15; }
.hms-dw-env__who { font-size: 13px; line-height: 1.4; color: #5A5670; }
.hms-dw-env__n { margin-top: auto; padding-top: 6px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #8E0E4B; }

/* ---- Calendar ------------------------------------------------------- */
.hms-dw-cal { padding: var(--hms-g7) 0 0; }
.hms-dw-days { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); gap: var(--hms-gap); }
.hms-dw-day { display: flex; flex-direction: column; gap: 10px; padding: 26px; border-radius: 28px; background: #FFFFFF; box-shadow: 0 1px 0 #EEE6F2; }
.hms-dw-day.is-main { box-shadow: inset 0 0 0 2px #FFC94A, 0 1px 0 #EEE6F2; }
.hms-dw-day__head { display: flex; align-items: center; gap: 13px; }
.hms-dw-day__diya { flex: none; width: 56px; height: 56px; }
.hms-dw-day__diya svg { width: 100%; height: 100%; }
.hms-dw-day__date { margin: 0; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #8E0E4B; }
.hms .hms-dw-day__name { color: #13204A; margin: 2px 0 0; font-weight: 900; font-size: 24px; line-height: 1.1; }
.hms-dw-day__text { margin: 0; font-size: 14px; line-height: 1.55; color: #3A3550; }
.hms-dw-day__links { display: flex; flex-wrap: wrap; gap: 6px; }
.hms .hms-dw-day__links a { padding: 7px 13px; border-radius: 999px; background: #FBF0F5; color: #8E0E4B; font-size: 13px; font-weight: 800; text-decoration: none; }
@media (hover: hover) and (pointer: fine) { .hms .hms-dw-day__links a:hover { padding: 7px 13px; border-radius: 999px; background: #FBF0F5; color: #8E0E4B; font-size: 13px; font-weight: 800; text-decoration: none; } }

@media (hover: hover) and (pointer: fine) { .hms .hms-dw-day__links a:hover { box-shadow: inset 0 0 0 1.5px #8E0E4B; } }
.hms-dw-day__by { margin: auto 0 0; padding-top: 13px; border-top: 1px dashed #E2D9EC; font-size: 13px; font-weight: 700; line-height: 1.45; color: #1F6B3A; }
.hms-dw-day__by.is-late { color: #A3122F; }

/* ---- Bestsellers + bulk ---------------------------------------------- */
.hms-dw-best { padding: var(--hms-g7) 0 0; }
.hms-dw-products { grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.hms-dw-bulk { padding: var(--hms-g7) 0 var(--hms-g7); }
.hms-dw-bulk__box { position: relative; overflow: hidden; display: flex; align-items: center; gap: var(--hms-g5); flex-wrap: wrap; padding: var(--hms-g5) var(--hms-g6); border-radius: 34px; color: #FFF8EE; background: var(--hms-pat-gold), linear-gradient(170deg, #1E2F6B 0%, #13204A 55%, #0B1433 100%); }
.hms-dw-bulk__aunty { flex: none; width: 140px; height: 160px; }
.hms-dw-bulk__aunty svg { width: 100%; height: 100%; }
.hms-dw-bulk__copy { flex: 1 1 380px; }
.hms .hms-dw-bulk__title { margin: 0; line-height: 1.05; font-weight: 400; }
.hms-dw-bulk__title .hms-fr { font-weight: 900; font-size: clamp(28px, 2.7vw, 38px); color: #FFF8EE; }
.hms-dw-bulk__title .hms-sc { font-size: clamp(44px, 4.2vw, 60px); color: #FFC94A; }
.hms-dw-bulk__copy p { margin: 10px 0 0; max-width: 560px; font-size: 16px; line-height: 1.6; color: #D9DCEB; }
.hms-dw-bulk__admin { flex: 1 1 260px; font-size: 13px; color: #D9DCEB; }

/* ---- Laptops ---------------------------------------------------------- */
@media (min-width: 1024px) and (max-width: 1279px) {
	.hms-dw-card { min-height: 340px; }
	.hms-dw-card__art { height: 130px; }
	.hms-dw-card__art svg, .hms-dw-card__art img { width: 120px; height: 120px; }
	.hms .hms-dw-card__name { font-size: 22px; }
	.hms-dw-env__label { font-size: 20px; }
}
/* Short laptop screens: keep the hero within the first screen. */
@media (min-width: 1024px) and (max-height: 760px) {
	.hms-dw-hero__grid { padding-top: calc(var(--hms-head) + 12px); padding-bottom: 26px; }
	.hms-dw-hero__hi { font-size: 26px; }
	.hms-dw-hero__lead { font-size: clamp(40px, 7vh, 60px); }
	.hms-dw-hero__name { font-size: clamp(80px, 14vh, 116px); }
	.hms-dw-hero__art { height: clamp(320px, 62vh, 440px); }
}

/* ---- Tablets ----------------------------------------------------------- */
@media (max-width: 1023px) {
	.hms-dw-hero__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: var(--hms-g4); padding-top: calc(var(--hms-head) + 18px); }
	.hms-dw-hero__art { height: clamp(300px, 44vw, 400px); }
	.hms-dw-art__sticker { top: 10px; padding: 8px 16px; }
	.hms-dw-art__lamp { top: -24px; }
	.hms-dw-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hms-dw-card { min-height: 0; }
	.hms-dw-envs { display: flex; flex-wrap: wrap; justify-content: center; }
	.hms-dw-envs li { flex: 0 0 calc((100% - 2 * var(--hms-gap)) / 3); }
	.hms-dw-days { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hms-dw-products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.hms-dw-products > li:nth-child(n/**/+7) { display: none; }
	.hms-dw-price__box { padding: var(--hms-g5); }
}
/* Tablets on their side: four section cards across. */
@media (min-width: 900px) and (max-width: 1023px) and (orientation: landscape) {
	.hms-dw-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.hms-dw-hero__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); }
}

/* ---- Phones ------------------------------------------------------------ */
@media (max-width: 599px) {
	.hms-dw-hero__grid { grid-template-columns: minmax(0, 1fr); padding-top: calc(var(--hms-head) + 14px); padding-bottom: var(--hms-g4); gap: 0; }
	.hms-dw-hero .hms-crumbs { display: none; }
	.hms-dw-hero__hi { font-size: 26px; }
	.hms-dw-hero__lead { font-size: 42px; }
	.hms-dw-hero__name { font-size: 90px; }
	.hms-dw-hero__sub { max-width: 60%; font-size: 15px; }
	.hms .hms-dw-btn { height: 52px; padding: 0 22px; font-size: 15px; }
	.hms-dw-hero__ctas .hms-dw-btn--line { display: none; }
	.hms-dw-pills { flex-direction: column; align-items: stretch; margin-top: 64px; }
	.hms-dw-pill { padding-right: 14px; }
	.hms-dw-pill--count .hms-dw-pill__t { max-width: none; }
	.hms-dw-hero__art { position: absolute; inset: 0 0 0 0; height: auto; z-index: -1; pointer-events: none; }
	.hms-dw-hero__copy { position: relative; z-index: 1; }
	.hms-dw-art__glow, .hms-dw-art__small, .hms-dw-art__gift, .hms-dw-art__bloom { display: none; }
	.hms-dw-art__rangoli { left: auto; right: -40px; top: 40px; width: 230px; transform: none; opacity: .55; }
	.hms-dw-art__diya { left: auto; top: auto; right: 4px; bottom: 150px; width: 128px; margin: 0; }
	.hms-dw-art__lamp { right: 18px; top: -18px; width: 44px; }
	.hms-dw-art__sticker { left: auto; right: 8px; top: auto; bottom: 282px; padding: 6px 12px; border-radius: 14px; }
	.hms-dw-art__sticker .hms-sc { font-size: 24px; }
	.hms-dw-secs, .hms-dw-price, .hms-dw-cal, .hms-dw-best { padding-top: var(--hms-g6); }
	.hms-dw-grid { gap: 10px; }
	.hms-dw-card { padding: 12px 14px 14px; border-radius: 22px; }
	.hms-dw-card__art { height: 84px; margin: 0 0 8px; justify-content: flex-start; }
	.hms-dw-card__art svg, .hms-dw-card__art img { width: 76px; height: 76px; }
	.hms-dw-card__art .hms-garland { height: 80px; }
	.hms-dw-card__art .hms-dw-figure, .hms-dw-card__art svg.hms-dw-figure { width: 66px; height: 80px; }
	.hms .hms-dw-card__name { font-size: 17px; }
	.hms-dw-card__tiles { display: none; }
	.hms .hms-dw-card__go { margin-top: 10px; height: 36px; padding: 0 12px; font-size: 12px; }
	.hms-dw-price__box { margin: 0 calc(-1 * var(--hms-gutter)); padding: var(--hms-g4); border-radius: 0; }
	.hms-dw-envs { display: flex; flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; scrollbar-width: none; gap: 10px; margin: 0 calc(-1 * var(--hms-g4)); padding: 0 var(--hms-g4) 4px; }
	.hms-dw-envs li { flex: 0 0 150px; width: 150px; }
	.hms .hms-dw-env { padding: 16px 10px; }
	.hms-dw-env__label { font-size: 19px; }
	.hms-dw-days { grid-template-columns: minmax(0, 1fr); }
	.hms-dw-day { padding: var(--hms-g4); }
	.hms-dw-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hms-dw-products > li:nth-child(n/**/+7) { display: block; }
	.hms-dw-bulk__box { padding: var(--hms-g4); gap: var(--hms-g3); }
	.hms-dw-bulk__aunty { width: 90px; height: 104px; }
	.hms .hms-dw-btn--wa { width: 100%; }

}

@media (prefers-reduced-motion: reduce) {
	.hms-dw-hero__bokeh span, .hms-dw-art__rangoli .hms-dw-svg { animation: none !important; }
	.hms-dw-card, .hms .hms-dw-env, .hms .hms-dw-btn { transition: none; }
}


/* =========================================================================
 * Section page (v1.10.0)
 * ========================================================================= */
.hms-dws { padding-bottom: var(--hms-g6); }
.hms-dws-hero { position: relative; overflow: hidden; color: #FFF8EE; background: var(--hms-pat-light), var(--hero); }
.hms-dws-hero__swag { position: absolute; left: 0; right: 0; top: -14px; z-index: 1; pointer-events: none; }
.hms-dws-hero__art { position: absolute; z-index: 1; right: max(40px, calc((100vw - 1320px) / 2 + 40px)); top: calc(var(--hms-head) + 6px); width: clamp(220px, 22vw, 320px); aspect-ratio: 1; display: flex; align-items: center; justify-content: center; pointer-events: none; }
.hms-dws-hero__art > svg, .hms-dws-hero__art > img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 6px 10px rgba(40, 4, 20, .16)); }
.hms-dws-hero__art > img { border-radius: 50%; }
.hms-dws-hero__art .hms-garland { width: auto; }
.hms-dws-hero__art.is-spin > svg { animation: hmsDwSpin 80s linear infinite; }
.hms-dws-hero__art.is-lamp { width: clamp(90px, 9vw, 130px); top: calc(var(--hms-head) - 20px); }
.hms-dws-hero__art.is-lamp > svg { height: auto; }
@keyframes hmsDwSpin { to { transform: rotate(360deg); } }
.hms-dws-hero__copy { position: relative; z-index: 2; padding-top: calc(var(--hms-head) + clamp(14px, 2.4vh, 26px)); padding-bottom: clamp(48px, 7vh, 64px); }
.hms-dws-hero__nav { display: flex; align-items: center; gap: 8px 13px; flex-wrap: wrap; }
.hms-dws-hero .hms-crumbs { margin: 0; color: rgba(255, 248, 238, .82); }
.hms .hms-dws-hero__title { margin: clamp(14px, 2.4vh, 26px) 0 0; font-weight: 400; display: flex; flex-wrap: wrap; align-items: baseline; column-gap: clamp(10px, 1.2vw, 18px); line-height: .95; max-width: min(780px, 62%); }
.hms-dws-hero__name { font-weight: 900; font-size: clamp(46px, 5.3vw, 76px); color: #FFF8EE; }
.hms-dws-hero__name.is-long { font-size: clamp(40px, 4.2vw, 62px); }
.hms-dws-hero__script { font-size: clamp(56px, 6.6vw, 100px); line-height: .85; color: #FFD36B; }
.hms-dws-hero__desc { margin: 14px 0 0; max-width: 560px; font-size: 17px; line-height: 1.6; color: #FFE4EF; }
.hms-dws-hero__count { margin: 18px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.hms-dws-hero__count span { padding: 7px 14px; border-radius: 999px; background: rgba(255, 248, 238, .16); font-size: 14px; font-weight: 800; }

/* Sections strip */
.hms-dws-strip { position: relative; z-index: 3; margin-top: -28px; }
.hms-dws-strip__list { list-style: none; margin: 0; padding: 14px; display: grid; grid-template-columns: repeat(var(--n, 8), minmax(0, 1fr)); gap: 8px; border-radius: 28px; background: #FFFFFF; box-shadow:  0 3px 10px rgba(19, 32, 74, .1); }
.hms .hms-dws-sec { position: relative; height: 100%; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 14px 6px 12px; border-radius: 20px; text-decoration: none; text-align: center; background: #FFFFFF; color: #13204A; box-shadow: inset 0 0 0 1.5px #F1EAF4; transition: transform .25s ease, box-shadow .25s ease; }
@media (hover: hover) and (pointer: fine) { .hms .hms-dws-sec:hover { position: relative; height: 100%; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 14px 6px 12px; border-radius: 20px; text-decoration: none; text-align: center; background: #FFFFFF; color: #13204A; box-shadow: inset 0 0 0 1.5px #F1EAF4; transition: transform .25s ease, box-shadow .25s ease; } }

@media (hover: hover) and (pointer: fine) { .hms .hms-dws-sec:not(.is-here):hover { transform: translateY(-3px); box-shadow: inset 0 0 0 1.5px #13204A; } }
.hms .hms-dws-sec.is-here { background: var(--bg); color: #FFF8EE; box-shadow: 0 6px 14px rgba(142, 14, 75, .22); }
@media (hover: hover) and (pointer: fine) { .hms .hms-dws-sec.is-here:hover { background: var(--bg); color: #FFF8EE; box-shadow: 0 6px 14px rgba(142, 14, 75, .22); } }
.hms .hms-dws-sec.is-here.is-light { color: #13204A; }
@media (hover: hover) and (pointer: fine) { .hms .hms-dws-sec.is-here.is-light:hover { color: #13204A; } }
.hms-dws-sec__here { position: absolute; top: -9px; left: 50%; transform: translateX(-50%); padding: 3px 9px; border-radius: 999px; background: #FFC94A; color: #13204A; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.hms-dws-sec__ico { width: 54px; height: 54px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #FFF4E3; overflow: hidden; }
.hms-dws-sec.is-here .hms-dws-sec__ico { background: rgba(255, 248, 238, .92); }
.hms-dws-sec__ico svg, .hms-dws-sec__ico img { width: 38px; height: 38px; object-fit: contain; }
.hms-dws-sec__ico img { border-radius: 50%; width: 100%; height: 100%; object-fit: cover; }
.hms-dws-sec__ico .hms-garland { width: auto; height: 40px; }
.hms-dws-sec__name { font-size: 13px; font-weight: 800; line-height: 1.2; }

/* Types: one sliding row */
.hms-dws-types { padding: var(--hms-g6) 0 0; }
.hms-dws-types__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 13px; flex-wrap: wrap; }
.hms-dws-types__ctrl { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.hms-dws-types__n { font-size: 14px; font-weight: 700; color: #5A5670; }
.hms .hms-dws-arrow, .hms .hms-dws-arrow:focus { width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #13204A; color: #FFF8EE; box-shadow: none; cursor: pointer; }
@media (hover: hover) and (pointer: fine) { .hms .hms-dws-arrow:hover { width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #13204A; color: #FFF8EE; box-shadow: none; cursor: pointer; } }
.hms .hms-dws-arrow:active { transform: translateY(1px); }
.hms .hms-dws-arrow:disabled { background: #FFFFFF; color: #C9C2D6; box-shadow: inset 0 0 0 1.5px #EEE6F2; cursor: default; }
@media (hover: hover) and (pointer: fine) { .hms .hms-dws-arrow:disabled:hover { background: #FFFFFF; color: #C9C2D6; box-shadow: inset 0 0 0 1.5px #EEE6F2; cursor: default; } }
.hms-dws-types.is-static .hms-dws-arrow { display: none; }
.hms-dws-types__viewport { max-width: 1320px; margin: var(--hms-g4) auto 0; padding: 0 var(--hms-gutter); box-sizing: border-box; overflow-x: auto; scroll-behavior: smooth; scroll-snap-type: x proximity; scroll-padding-inline: var(--hms-gutter); scrollbar-width: none; }
.hms-dws-types__viewport::-webkit-scrollbar { display: none; }
.hms-dws-types__track { list-style: none; margin: 0; padding: 6px 2px 12px; display: flex; gap: 16px; }
.hms-dws-types__track > li { flex: 0 0 176px; scroll-snap-align: start; }
.hms .hms-dws-type { height: 100%; box-sizing: border-box; display: flex; flex-direction: column; border-radius: 22px; overflow: hidden; background: #FFFFFF; color: #13204A; text-decoration: none; box-shadow: 0 1px 0 #EEE6F2; transition: transform .3s ease, box-shadow .3s ease; }
@media (hover: hover) and (pointer: fine) { .hms .hms-dws-type:hover { height: 100%; box-sizing: border-box; display: flex; flex-direction: column; border-radius: 22px; overflow: hidden; background: #FFFFFF; color: #13204A; text-decoration: none; box-shadow: 0 1px 0 #EEE6F2; transition: transform .3s ease, box-shadow .3s ease; } }

@media (hover: hover) and (pointer: fine) { .hms .hms-dws-type:hover { transform: translateY(-4px); box-shadow: 0 8px 18px rgba(19, 32, 74, .12); } }
.hms .hms-dws-type[aria-current="page"] { box-shadow: inset 0 0 0 2.5px #8E0E4B; }
@media (hover: hover) and (pointer: fine) { .hms .hms-dws-type[aria-current="page"]:hover { box-shadow: inset 0 0 0 2.5px #8E0E4B; } }
.hms-dws-type__media { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; background: #FFF1D9; overflow: hidden; }
.hms-dws-type__media img { width: 100%; height: 100%; object-fit: cover; }
.hms-dws-type__media > svg { width: 62%; height: 62%; }
.hms-dws-type__media .hms-garland { width: auto; height: 62%; }
.hms-dws-type.is-all .hms-dws-type__media { background: var(--hms-pat-light), var(--bg); }
.hms-dws-type__row { display: flex; justify-content: space-between; align-items: center; gap: 6px; padding: 10px 12px 12px; }
.hms-dws-type__name { font-weight: 900; font-size: 15px; line-height: 1.2; color: #13204A; }
.hms-dws-type__n { flex: none; min-width: 26px; height: 26px; padding: 0 7px; box-sizing: border-box; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: #FBF0F5; color: #8E0E4B; font-size: 12px; font-weight: 800; }

/* Sizes */
.hms-dws-sizes { padding: var(--hms-g4) 0 0; }
.hms-dws-sizes__box { padding: 18px 26px; border-radius: 24px; background: #FFFFFF; display: flex; align-items: center; gap: 13px 26px; flex-wrap: wrap; }
.hms-dws-sizes__head { flex: 0 1 300px; }
.hms .hms-dws-sizes__title { margin: 0; font-weight: 900; font-size: 20px; line-height: 1.2; color: #13204A; }
.hms-dws-sizes__head p { margin: 3px 0 0; font-size: 13px; line-height: 1.5; color: #5A5670; }
.hms-dws-sizes__list { list-style: none; margin: 0; padding: 0; flex: 1 1 400px; display: flex; flex-wrap: wrap; gap: 10px; }
.hms .hms-dws-size { display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 6px 16px 6px 12px; border-radius: 18px; box-sizing: border-box; color: #13204A; text-decoration: none; background: #FFFFFF; box-shadow: inset 0 0 0 1.5px #E2D9EC; }
@media (hover: hover) and (pointer: fine) { .hms .hms-dws-size:hover { display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 6px 16px 6px 12px; border-radius: 18px; box-sizing: border-box; color: #13204A; text-decoration: none; background: #FFFFFF; box-shadow: inset 0 0 0 1.5px #E2D9EC; } }

@media (hover: hover) and (pointer: fine) { .hms .hms-dws-size:hover { box-shadow: inset 0 0 0 1.5px #13204A; } }
.hms .hms-dws-size[aria-current="page"] { background: #FBF0F5; box-shadow: inset 0 0 0 2px #8E0E4B; }
@media (hover: hover) and (pointer: fine) { .hms .hms-dws-size[aria-current="page"]:hover { background: #FBF0F5; box-shadow: inset 0 0 0 2px #8E0E4B; } }
.hms-dws-size .hms-fr { font-weight: 900; font-size: 17px; }
.hms-dws-size small { font-size: 12px; font-weight: 800; color: #8E0E4B; }
.hms-dws-size__ring { flex: none; width: var(--s); height: var(--s); border-radius: 50%; background: radial-gradient(circle, #FFC94A 0 28%, #E0337E 29% 54%, #0F766E 55% 70%, #FFF4D6 71%); box-shadow: 0 0 0 2px #F59E0B; }

/* Products toolbar */
.hms-dws-products { padding: var(--hms-g5) 0 0; }
.hms-dws-bar { display: flex; align-items: center; gap: 12px 16px; padding: 8px 8px 8px 24px; border-radius: 999px; background: #FFFFFF; box-shadow: 0 1px 0 #EEE6F2; margin-bottom: var(--hms-g4); }
.hms-dws-bar > * { min-width: 0; }
.hms-dws-bar__count { flex: none; margin: 0; padding-right: 16px; border-right: 1px solid #EEE6F2; font-size: 14px; font-weight: 800; white-space: nowrap; }
.hms-dws-bar__price { list-style: none; margin: 0; padding: 0; flex: 1 1 auto; display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.hms-dws-bar__price::-webkit-scrollbar { display: none; }
.hms-dws-bar__price li { flex: none; }
.hms-dws-bar__right { flex: none; margin-left: auto; display: flex; align-items: center; gap: 8px; }
.hms .hms-dws-chip { display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 14px; border-radius: 999px; box-sizing: border-box; font-size: 13px; font-weight: 800; white-space: nowrap; text-decoration: none; background: #FFFFFF; color: #13204A; box-shadow: inset 0 0 0 1.5px #E2D9EC; }
@media (hover: hover) and (pointer: fine) { .hms .hms-dws-chip:hover { display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 14px; border-radius: 999px; box-sizing: border-box; font-size: 13px; font-weight: 800; white-space: nowrap; text-decoration: none; background: #FFFFFF; color: #13204A; box-shadow: inset 0 0 0 1.5px #E2D9EC; } }

@media (hover: hover) and (pointer: fine) { .hms .hms-dws-chip:hover { box-shadow: inset 0 0 0 1.5px #13204A; } }
.hms .hms-dws-chip[aria-current="true"], .hms .hms-dws-chip[aria-pressed="true"] { background: #13204A; color: #FFF8EE; box-shadow: none; }
@media (hover: hover) and (pointer: fine) { .hms .hms-dws-chip[aria-current="true"]:hover, .hms .hms-dws-chip[aria-pressed="true"]:hover { background: #13204A; color: #FFF8EE; box-shadow: none; } }
.hms-dws-sort { display: flex; align-items: center; gap: 8px; height: 44px; padding: 0 5px 0 16px; border-radius: 999px; background: #13204A; color: #FFF8EE; font-size: 14px; font-weight: 800; }
.hms-dws-sort label { color: inherit; }
.hms .hms-dws-sort select:not(#hms-g) { height: 34px; margin: 0; padding: 0 30px 0 12px; border: 0; border-radius: 999px; background-color: #FFF8EE; color: #13204A; font-family: inherit; font-size: 14px; font-weight: 700; box-shadow: none; }
.hms-dws-grid { margin-top: 0; }

/* Goes with */
.hms-dws-next { padding: var(--hms-g7) 0 0; }
.hms-dws-next__list { list-style: none; margin: var(--hms-g4) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--hms-gap); }
.hms .hms-dws-next__card { position: relative; overflow: hidden; height: 100%; box-sizing: border-box; display: flex; align-items: center; gap: 16px; padding: 18px 21px; border-radius: 28px; text-decoration: none; background: var(--hms-pat-light), var(--bg); color: #FFF8EE; transition: transform .3s ease, box-shadow .3s ease; }
@media (hover: hover) and (pointer: fine) { .hms .hms-dws-next__card:hover { position: relative; overflow: hidden; height: 100%; box-sizing: border-box; display: flex; align-items: center; gap: 16px; padding: 18px 21px; border-radius: 28px; text-decoration: none; background: var(--hms-pat-light), var(--bg); color: #FFF8EE; transition: transform .3s ease, box-shadow .3s ease; } }
.hms .hms-dws-next__card.is-light { color: #13204A; }
@media (hover: hover) and (pointer: fine) { .hms .hms-dws-next__card.is-light:hover { color: #13204A; } }

@media (hover: hover) and (pointer: fine) { .hms .hms-dws-next__card:hover { transform: translateY(-4px); box-shadow: 0 8px 18px rgba(19, 32, 74, .14); } }
.hms-dws-next__art { flex: none; width: 86px; height: 86px; display: flex; align-items: center; justify-content: center; }
.hms-dws-next__art svg, .hms-dws-next__art img { width: 100%; height: 100%; object-fit: contain; }
.hms-dws-next__art .hms-garland { width: auto; }
.hms-dws-next__copy { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.hms-dws-next__name { color: inherit; font-weight: 900; font-size: 21px; line-height: 1.15; }
.hms-dws-next__n { font-size: 13px; font-weight: 700; opacity: .85; }
.hms-dws-next__go { flex: none; width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: rgba(255, 248, 238, .2); }
.hms-dws-next__card.is-light .hms-dws-next__go { background: rgba(19, 32, 74, .1); }
.hms-dws .hms-chelp { margin-top: var(--hms-g7); }

@media (min-width: 1024px) and (max-width: 1279px) {
	.hms-dws-sec__name { font-size: 12px; }
	.hms-dws-sec__ico { width: 46px; height: 46px; }
}
@media (max-width: 1023px) {
	.hms .hms-dws-hero__title { max-width: 72%; }
	.hms-dws-hero__art { right: 20px; width: clamp(160px, 26vw, 240px); opacity: .85; }
	.hms-dws-strip__list { display: flex; overflow-x: auto; scrollbar-width: none; padding: 18px 12px 12px; }
	.hms-dws-strip__list::-webkit-scrollbar { display: none; }
	.hms-dws-strip__list > li { flex: 0 0 104px; }
	.hms-dws-sec__here { font-size: 9px; letter-spacing: .03em; padding: 2px 6px; }
	.hms-dws-types__ctrl .hms-dws-arrow { display: none; }
	.hms-dws-types__track > li { flex-basis: 150px; }
	.hms-dws-bar { flex-wrap: wrap; border-radius: 24px; padding: 10px; }
	.hms-dws-bar__count { order: 2; border: 0; padding: 0 0 0 6px; }
	.hms-dws-bar__price { order: 1; flex: 1 1 100%; }
	.hms-dws-bar__right { order: 3; }
	.hms-dws-next__list { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 599px) {
	.hms-dws-hero .hms-crumbs { font-size: 13px; }
	.hms-dws-hero__art { right: -44px; top: calc(var(--hms-head) + 10px); width: 190px; opacity: .8; }
	.hms .hms-dws-hero__title { max-width: 250px; flex-direction: column; }
	.hms-dws-hero__name, .hms-dws-hero__name.is-long { font-size: 40px; }
	.hms-dws-hero__script { font-size: 54px; }
	.hms-dws-hero__desc { font-size: 15px; }
	.hms-dws-hero__count span { font-size: 13px; padding: 5px 11px; }
	.hms-dws-strip { margin-top: -26px; }
	.hms-dws-strip__list { border-radius: 22px; }
	.hms-dws-strip__list > li { flex-basis: 84px; }
	.hms-dws-sec__here { font-size: 9px; letter-spacing: .03em; padding: 2px 6px; }
	.hms-dws-sec__ico { width: 44px; height: 44px; }
	.hms-dws-sec__ico svg { width: 30px; height: 30px; }
	.hms-dws-sec__name { font-size: 12px; }
	.hms-dws-types { padding-top: var(--hms-g5); }
	.hms-dws-types__track { gap: 10px; }
	.hms-dws-types__track > li { flex-basis: 112px; }
	.hms .hms-dws-type { border-radius: 16px; }
	.hms-dws-type__row { padding: 7px 8px 9px; flex-direction: column; align-items: flex-start; gap: 3px; }
	.hms-dws-type__name { font-size: 12px; }
	.hms-dws-sizes__box { padding: 13px; border-radius: 20px; }
	.hms-dws-sizes__list { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
	.hms-dws-sizes__list li { flex: none; }
	.hms .hms-dws-size { min-height: 46px; }
	.hms-dws-sort label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.hms-dws-sort { padding-left: 5px; }
	.hms-dws-next__art { width: 66px; height: 66px; }
	.hms-dws-next__name { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
	.hms-dws-hero__art.is-spin > svg { animation: none; }
	.hms-dws-types__viewport { scroll-behavior: auto; }
	.hms .hms-dws-sec, .hms .hms-dws-type, .hms .hms-dws-next__card { transition: none; }
}

/* v1.10.2 — Gifts by price: text cards (no envelope). "Gifts" on the first
 * line, the amount on the second, never split. */
.hms-dw-env__amt { white-space: nowrap; }
.hms-dw-env__line { display: block; }
.hms-dw-env__label { font-size: clamp(18px, 1.6vw, 24px); }
@media (max-width: 599px) { .hms-dw-env__label { font-size: 18px; } }

/* =========================================================================
 * v1.10.7 — the same hero as a homepage section (in place of the brands
 * section). It sits mid-page, so there is no room kept for the header.
 * ========================================================================= */
.hms-dw-hero.hms-dw-hero--home .hms-dw-hero__grid { padding-top: clamp(48px, 5.5vw, 80px); padding-bottom: clamp(48px, 5.5vw, 80px); }
.hms-dw-hero--home .hms-dw-hero__art { height: clamp(340px, 34vw, 480px); }
/* v1.10.8: no marigold garland on the homepage version. */
@media (max-width: 1023px) {
	.hms-dw-hero.hms-dw-hero--home .hms-dw-hero__grid { padding-top: 52px; padding-bottom: 52px; }
}
@media (max-width: 599px) {
	.hms-dw-hero.hms-dw-hero--home .hms-dw-hero__grid { padding-top: 44px; padding-bottom: 32px; }
	.hms-dw-hero--home .hms-dw-hero__art { height: auto; }
	.hms-dw-hero--home .hms-dw-art__lamp { top: 8px; }
	.hms-dw-hero--home .hms-dw-art__rangoli { top: 34px; }
}

/* =========================================================================
 * v1.10.16
 * ========================================================================= */
/* No background pattern behind any festival hero. */
.hms-dw-hero { background: radial-gradient(60% 90% at 78% 62%, #FFB33A 0%, #F07A12 20%, #B8174A 50%, #6E0B3A 76%, #3E0A2E 100%); }
.hms-dws-hero { background: var(--hero); }
/* The festival page's hero: as tall as the homepage hero (more room at the bottom). */
.hms-dw-hero:not(.hms-dw-hero--home) .hms-dw-hero__grid { padding-bottom: clamp(56px, 9vh, 110px); }
/* Rangoli wheel: only the wheel turns; its shadow stays still underneath. */
.hms-dw-art__rangoli .hms-dw-svg, .hms-dws-hero__art.is-spin > svg { animation: none !important; }
.hms-dw-art__rangoli .hms-dw-svg > g, .hms-dws-hero__art.is-spin > svg > g { transform-box: view-box; transform-origin: 0 0; animation: hmsDwWheel 80s linear infinite; }
@keyframes hmsDwWheel { from { transform: translate(60px, 58px) rotate(0deg); } to { transform: translate(60px, 58px) rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .hms-dw-art__rangoli .hms-dw-svg > g, .hms-dws-hero__art.is-spin > svg > g { animation: none; transform: translate(60px, 58px); } }
/* "All Diwali" at the start of the section strip. */
.hms-dws-sec--all .hms-dws-sec__ico svg { width: 70%; height: 70%; }

/* v1.10.20: when the sections or types fit on one row, they sit in the
 * middle; when there are more, the row scrolls from the left as before. */
@media (min-width: 701px) {
	.hms-dws-strip__list { grid-template-columns: repeat(var(--n, 8), minmax(0, 168px)); justify-content: center; }
}
.hms-dws-types__track > li:first-child { margin-left: auto; }
.hms-dws-types__track > li:last-child { margin-right: auto; }
@media (max-width: 700px) {
	.hms-dws-strip__list > li:first-child { margin-left: auto; }
	.hms-dws-strip__list > li:last-child { margin-right: auto; }
}

/* =========================================================================
 * v1.10.38 — festival hero at the top of the homepage (Customize → HMS
 * Theme → "Festival (Diwali) at the top of the homepage"). Room is kept for
 * the floating header, and the title uses the hero size (the biggest on
 * the page). The wedding hero moves down (.hms-hero2--mid, below).
 * ========================================================================= */
.hms-dw-hero.hms-dw-hero--top .hms-dw-hero__grid { padding-top: calc(var(--hms-head) + clamp(24px, 4vh, 56px)); padding-bottom: clamp(48px, 7vh, 96px); }
body.hms .hms-dw-hero--top .hms-dw-hero__lead { font-size: clamp(36px, min(5vw, 8vh), 76px); line-height: .98; }
body.hms .hms-dw-hero--top .hms-dw-hero__name { font-size: clamp(64px, min(8.4vw, 13vh), 128px); }
@media (max-width: 1023px) {
	.hms-dw-hero.hms-dw-hero--top .hms-dw-hero__grid { padding-top: calc(var(--hms-head) + 32px); padding-bottom: 52px; }
}
@media (max-width: 599px) {
	.hms-dw-hero.hms-dw-hero--top .hms-dw-hero__grid { padding-top: calc(var(--hms-head) + 22px); padding-bottom: 32px; }
	body.hms .hms-dw-hero--top .hms-dw-hero__lead { font-size: clamp(30px, 9vw, 40px); }
	body.hms .hms-dw-hero--top .hms-dw-hero__name { font-size: clamp(58px, 17vw, 76px); }
}
/* The wedding hero lower on the page: no room kept for the header. */
.hms-hero2.hms-hero2--mid { padding-top: clamp(64px, 9vh, 120px); }
@media (max-width: 599px) {
	.hms-hero2.hms-hero2--mid { padding-top: 112px; }
}
