/* Preview only. All layout rules are contained by .ezg-home; canonical ESS appearance is retained with homepage-only alignment. */
.ezg-home{--eh-cream:#f0ede6;--eh-soft:#bec6d3;--eh-pink:#f9a8d4;max-width:min(var(--ess-page-max-width,1720px),1440px);margin:0 auto 56px;color:var(--ess-ink);font:inherit}
.ezg-home *{box-sizing:border-box}
.ezg-home :where(h1):not(:where(.ess-product-card *)),.ezg-home :where(h2):not(:where(.ess-product-card *)),.ezg-home :where(h3):not(:where(.ess-product-card *)),.ezg-home :where(p):not(:where(.ess-product-card *)),.ezg-home :where(figure):not(:where(.ess-product-card *)),.ezg-home :where(ul):not(:where(.ess-product-card *)),.ezg-home :where(ol):not(:where(.ess-product-card *)){margin:0}
.ezg-home :where(h1):not(:where(.ess-product-card *)),.ezg-home :where(h2):not(:where(.ess-product-card *)),.ezg-home :where(h3):not(:where(.ess-product-card *)){color:var(--ess-ink)}
.ezg-home :where(h1):not(:where(.ess-product-card *)){font-size:clamp(2.4rem,5.2vw,4.8rem);font-weight:750;line-height:1.06;letter-spacing:-.045em;max-width:740px}
.ezg-home :where(h2):not(:where(.ess-product-card *)){font-size:clamp(1.85rem,3.4vw,3.05rem);font-weight:700;line-height:1.1;letter-spacing:-.035em}
.ezg-home :where(h3):not(:where(.ess-product-card *)){font-size:1.15rem;line-height:1.25;font-weight:700}
.ezg-home :where(p):not(:where(.ess-product-card *)){line-height:1.65;color:var(--eh-soft)}
.ezg-home .eh-eyebrow{font-size:.71rem;letter-spacing:.13em;text-transform:uppercase;font-weight:750;color:var(--eh-pink);margin-bottom:16px}
.ezg-home :where(img):not(:where(.ess-product-card *)){display:block;max-width:100%;width:100%;height:100%;object-fit:cover}
.ezg-home :where(a):not(:where(.ess-product-card *)){color:inherit;text-decoration:none}
.ezg-home :where(a):not(:where(.ess-product-card *)):focus-visible{outline:3px solid #f9a8d4;outline-offset:5px}
.ezg-home .eh-hero{display:grid;grid-template-columns:1.08fr 1fr;gap:56px;align-items:center;padding:48px 0 44px}
.ezg-home .eh-lead{font-size:1.1rem;max-width:490px;margin-top:24px;line-height:1.65}
.ezg-home .eh-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.ezg-home .eh-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:48px;padding:13px 20px;border-radius:12px;font-size:.9rem;font-weight:700;line-height:1.3;text-align:center}
.ezg-home .eh-button-primary{background:var(--ess-accent);color:#170b13}
.ezg-home .eh-button-primary:hover{background:#f472b6}
.ezg-home .eh-button-secondary{border:1px solid #586173;background:transparent;color:var(--ess-ink)}
.ezg-home .eh-button-secondary:hover{background:var(--ess-card)}
.ezg-home .eh-trust{display:flex;flex-wrap:wrap;gap:10px 18px;list-style:none;padding:0;margin-top:28px;font-size:.72rem;color:var(--eh-soft)}
.ezg-home .eh-trust li{display:flex;align-items:center;gap:6px}
.ezg-home .eh-trust li:before{content:'✓';color:var(--eh-pink);font-weight:750}
.ezg-home .eh-hero-visual{overflow:hidden;border-radius:24px;background:var(--ess-card);border:1px solid var(--ess-line)}
.ezg-home .eh-hero-visual img{aspect-ratio:1.14}
.ezg-home .eh-hero-visual figcaption{padding:16px 20px;font-size:.78rem;color:var(--eh-soft)}
.ezg-home .eh-section{margin-top:56px}
.ezg-home .eh-section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}
.ezg-home .eh-section-heading>p{font-size:.9rem;max-width:280px}
.ezg-home .eh-occasions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ezg-home .eh-occasion{overflow:hidden;border:1px solid var(--ess-line);border-radius:18px;background:var(--ess-card)}
.ezg-home .eh-occasion:hover{border-color:#677386}
.ezg-home .eh-occasion-image{aspect-ratio:1.7;overflow:hidden}
.ezg-home .eh-occasion-copy{padding:18px}
.ezg-home .eh-occasion h3{display:flex;justify-content:space-between;gap:8px;font-size:1rem}
.ezg-home .eh-occasion p{font-size:.8rem;line-height:1.5;margin-top:8px}
.ezg-home .eh-feature{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:24px;border:1px solid var(--ess-line);background:var(--ess-card)}
.ezg-home .eh-feature-image img{aspect-ratio:1.65;object-fit:contain}
.ezg-home .eh-feature-copy{padding:clamp(28px,4vw,60px);align-self:center}
.ezg-home .eh-feature-copy>p:not(.eh-eyebrow){margin-top:20px;max-width:420px}
.ezg-home .eh-feature-copy .eh-button{margin-top:26px}
.ezg-home .eh-product-note{font-size:.75rem}
.ezg-home .eh-product-note .woocommerce-Price-amount{color:var(--eh-pink);font-weight:750}
.ezg-home .eh-group{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:40px;background:#141b2e;border-radius:24px;border:1px solid #2c3445;align-items:center}
.ezg-home .eh-group-copy>p:not(.eh-eyebrow){margin-top:22px;max-width:440px}
.ezg-home .eh-group-copy .eh-group-uses{font-size:.8rem;color:var(--eh-pink);line-height:1.85}
.ezg-home .eh-group-copy .eh-button{margin-top:26px}
.ezg-home .eh-group-image{overflow:hidden;border-radius:16px}
.ezg-home .eh-group-image img{aspect-ratio:1.7}
.ezg-home .eh-text-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:var(--eh-pink);font-weight:650;font-size:.85rem}
.ezg-home .eh-text-link:hover{text-decoration:underline;text-underline-offset:5px}
.ezg-home .eh-products{scroll-margin-top:140px}
.ezg-home .eh-products .ess-product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ezg-home .eh-steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.ezg-home .eh-steps li{padding:20px;border-top:1px solid #394156}
.ezg-home .eh-step-number{display:block;color:var(--eh-pink);font-size:1.85rem;letter-spacing:-.04em;margin-bottom:20px}
.ezg-home .eh-steps h3{margin-bottom:12px}
.ezg-home .eh-steps p{font-size:.9rem;max-width:280px}
.ezg-home .eh-real-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ezg-home .eh-real-gallery figure{overflow:hidden;border-radius:20px;background:var(--ess-card);border:1px solid var(--ess-line)}
.ezg-home .eh-real-gallery img{height:auto;aspect-ratio:1.5;object-fit:contain}
.ezg-home .eh-real-gallery figcaption{padding:18px 22px;color:var(--eh-soft);font-size:.84rem}
.ezg-home .eh-reviews{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;padding:30px 0;border-top:1px solid var(--ess-line);border-bottom:1px solid var(--ess-line)}
.ezg-home .eh-reviews>div>p:not(.eh-eyebrow){margin-top:20px;max-width:300px;font-size:.85rem}
.ezg-home .eh-review{padding:30px;border-radius:18px;background:var(--ess-card);border:1px solid var(--ess-line)}
.ezg-home .eh-review blockquote{margin:18px 0 22px;border:0;padding:0}
.ezg-home .eh-review blockquote p{font-size:1.45rem;line-height:1.4;letter-spacing:-.015em;color:var(--ess-ink)}
.ezg-home .eh-review figcaption{font-size:.83rem;font-weight:650;color:var(--ess-ink)}
.ezg-home .eh-review figcaption span{display:block;color:var(--eh-soft);font-size:.72rem;font-weight:400;margin-top:4px}
.ezg-home .eh-review .eh-text-link{margin-top:10px}
.ezg-home .eh-review-placeholder{padding:25px;border:1px dashed #667386;border-radius:16px}
.ezg-home .eh-intent{text-align:center}
.ezg-home .eh-intent h2{font-size:clamp(1.5rem,3vw,2.3rem)}
.ezg-home .eh-intent-links{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:26px}
.ezg-home .eh-intent-links a{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;padding:12px 20px;border:1px solid #4f596d;border-radius:999px;font-size:.85rem}
.ezg-home .eh-intent-links a:hover{background:var(--ess-card);border-color:var(--eh-pink)}
@media(max-width:1024px){.ezg-home .eh-hero{gap:30px}.ezg-home .eh-actions{flex-direction:column;align-items:start}.ezg-home .eh-occasions{grid-template-columns:repeat(2,minmax(0,1fr))}.ezg-home .eh-group{gap:30px;padding:28px}.ezg-home .eh-reviews{gap:30px}.ezg-home .eh-products .ess-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.ezg-home{margin-bottom:40px}.ezg-home .eh-hero{grid-template-columns:1fr;gap:28px;padding:24px 0 0}.ezg-home :where(h1):not(:where(.ess-product-card *)){font-size:clamp(2.38rem,8.8vw,3.45rem);max-width:530px}.ezg-home .eh-desktop-break{display:none}.ezg-home .eh-lead{font-size:1rem;line-height:1.6;margin-top:18px}.ezg-home .eh-actions{gap:10px;margin-top:24px;align-items:stretch}.ezg-home .eh-button{min-height:48px;font-size:.86rem;padding:13px 16px}.ezg-home .eh-trust{font-size:.68rem;gap:9px 14px;margin-top:20px}.ezg-home .eh-hero-visual{border-radius:18px}.ezg-home .eh-hero-visual img{aspect-ratio:1.4}.ezg-home .eh-hero-visual figcaption{padding:12px 16px;font-size:.7rem}.ezg-home .eh-section{margin-top:40px}.ezg-home .eh-section-heading{display:block;margin-bottom:22px}.ezg-home .eh-section-heading>p,.ezg-home .eh-section-heading>.eh-text-link{margin-top:16px}.ezg-home .eh-eyebrow{font-size:.65rem;margin-bottom:12px}.ezg-home :where(h2):not(:where(.ess-product-card *)){font-size:1.95rem}.ezg-home .eh-occasions{gap:12px}.ezg-home .eh-occasion{border-radius:14px}.ezg-home .eh-occasion-copy{padding:12px;min-height:96px}.ezg-home .eh-occasion h3{font-size:.92rem;align-items:start}.ezg-home .eh-occasion p{font-size:.75rem}.ezg-home .eh-feature{grid-template-columns:1fr;border-radius:18px}.ezg-home .eh-feature-image img{aspect-ratio:1.8}.ezg-home .eh-feature-copy{padding:26px}.ezg-home .eh-feature-copy>p:not(.eh-eyebrow){font-size:.9rem}.ezg-home .eh-feature-copy .eh-product-note{font-size:.72rem}.ezg-home .eh-group{grid-template-columns:1fr;padding:26px;gap:28px;border-radius:18px}.ezg-home .eh-group-copy>p:not(.eh-eyebrow){font-size:.9rem}.ezg-home .eh-group-copy .eh-group-uses{font-size:.76rem}.ezg-home .eh-products .ess-product-grid{gap:12px}.ezg-home .eh-steps{grid-template-columns:1fr;gap:0}.ezg-home .eh-steps li{padding:18px 0;display:grid;grid-template-columns:48px 1fr;gap:8px 18px}.ezg-home .eh-step-number{grid-row:1/3;font-size:1.5rem;margin:0}.ezg-home .eh-steps h3{font-size:1.08rem;margin:0}.ezg-home .eh-steps p{grid-column:2;font-size:.85rem;max-width:none}.ezg-home .eh-real-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ezg-home .eh-real-gallery img{aspect-ratio:1;object-fit:contain}.ezg-home .eh-real-gallery figcaption{font-size:.75rem;padding:10px 8px;line-height:1.4}.ezg-home .eh-reviews{grid-template-columns:1fr;gap:28px;padding:32px 0}.ezg-home .eh-review{padding:24px}.ezg-home .eh-review blockquote p{font-size:1.25rem}.ezg-home .eh-intent{text-align:left}.ezg-home .eh-intent-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ezg-home .eh-intent-links a{font-size:.8rem;padding:12px 15px;gap:8px}}
@media(prefers-reduced-motion:reduce){.ezg-home *{scroll-behavior:auto!important}}

/* Existing canonical rating styles, scoped to their new review context; source renderer unchanged. */
.ezg-home .eh-review .ess-card-rating {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	width: max-content;
	max-width: 100%;
	color: var(--ess-muted);
	font-size: 0.78rem;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
}

.ezg-home .eh-review .ess-card-rating__stars {
	position: relative;
	display: inline-block;
	flex: 0 0 75px;
	width: 75px;
	height: 15px;
	overflow: hidden;
}

.ezg-home .eh-review .ess-card-rating__stars svg {
	display: block;
	width: 75px !important;
	max-width: none;
	height: 15px !important;
}

.ezg-home .eh-review .ess-card-rating__base {
	fill: rgba(255, 188, 0, 0.18);
	stroke: #ffbc00;
	stroke-width: 0.8;
}

.ezg-home .eh-review .ess-card-rating__fill {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: var(--ess-card-rating-fill);
	height: 15px;
	overflow: hidden;
	color: #ffbc00;
}

.ezg-home .eh-review .ess-card-rating__fill svg {
	fill: currentColor;
}

.ezg-home .eh-review .ess-product-rating-count {
	flex: 0 0 auto;
}


.ezg-home .eh-review .ess-card-rating{min-height:44px}

.ezg-home .eh-button,.ezg-home .eh-occasion,.ezg-home .eh-intent-links a{text-decoration:none}
.ezg-home .eh-trust{font-size:.75rem}
.ezg-home .eh-hero-visual figcaption{font-size:.75rem}

/* Phase 3: homepage-only alignment, intrinsic heights; canonical renderer and appearance retained. */
.ezg-home .eh-products .ess-product-card{display:flex;flex-direction:column}
.ezg-home .eh-products .ess-product-image{flex:none}
.ezg-home .eh-products .ess-product-meta{display:flex;flex-direction:column;flex:1}
.ezg-home .eh-products .ess-product-meta h2{flex:1}
.ezg-home .eh-products .ess-product-bottom{margin-top:auto}
.ezg-home .eh-group-copy .eh-group-question{margin-top:16px}
.ezg-home .eh-group-copy .eh-group-question+p{margin-top:12px}
@media(max-width:767px){.ezg-home .eh-group h2{font-size:1.85rem}.ezg-home .eh-occasion-image{aspect-ratio:1.55}}

.ezg-home .eh-occasion-image img{object-fit:contain}
@media(max-width:767px){.ezg-home .eh-section{margin-top:32px}}

/* Phase 5: typography confined to desktop promotional panels. */
@media(min-width:1024px) and (max-width:1199px){
 .ezg-home :is(.eh-feature-copy,.eh-group-copy) .eh-eyebrow{font-size:.7668rem;line-height:1.55}
 .ezg-home :is(.eh-feature,.eh-group) h2{font-size:clamp(2.035rem,3.74vw,3.355rem);line-height:1.05}
 .ezg-home .eh-feature-copy>p:not(.eh-eyebrow):not(.eh-product-note),.ezg-home .eh-group-copy>p:not(.eh-eyebrow):not(.eh-group-uses){font-size:1.08rem;line-height:1.55;max-width:510px}
 .ezg-home :is(.eh-feature-copy,.eh-group-copy) .eh-button{font-size:.94rem}
 .ezg-home .eh-feature-copy .eh-product-note{font-size:.7875rem;line-height:1.57142857}
 .ezg-home .eh-group-copy .eh-group-uses{font-size:.85rem;line-height:1.74117647;max-width:510px}
 .ezg-home .eh-feature-copy{padding-inline:calc(clamp(28px,4vw,60px) - 8px);padding-block:calc(clamp(28px,4vw,60px) - clamp(.10175rem,.187vw,.16775rem) - .52px)}
}
@media(min-width:1200px){
 .ezg-home :is(.eh-feature-copy,.eh-group-copy) .eh-eyebrow{font-size:.84rem;line-height:1.45}
 .ezg-home :is(.eh-feature,.eh-group) h2{font-size:clamp(2.22rem,4.08vw,3.66rem);line-height:1.05}
 .ezg-home .eh-feature-copy>p:not(.eh-eyebrow):not(.eh-product-note),.ezg-home .eh-group-copy>p:not(.eh-eyebrow):not(.eh-group-uses){font-size:1.15rem;line-height:1.45;max-width:510px}
 .ezg-home :is(.eh-feature-copy,.eh-group-copy) .eh-button{font-size:.99rem}
 .ezg-home .eh-feature-copy .eh-product-note{font-size:.84375rem;line-height:1.46666667}
 .ezg-home .eh-group-copy .eh-group-uses{font-size:.9rem;line-height:1.65;max-width:510px}
 .ezg-home .eh-feature-copy{padding-block:calc(clamp(28px,4vw,60px) - clamp(.296rem,.544vw,.488rem) - .652px)}
}
/* Homepage-only raised edges; existing card radii and focus styles retained. */
.ezg-home :is(.eh-occasion,.eh-feature,.eh-group,.eh-products .ess-product-card,.eh-review){border-color:rgba(255,255,255,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 10px 30px rgba(0,0,0,.26),0 2px 8px rgba(0,0,0,.16)}
@media(hover:hover) and (pointer:fine){
 .ezg-home :is(.eh-occasion,.eh-feature,.eh-group,.eh-products .ess-product-card,.eh-review){transition:transform 200ms ease,box-shadow 200ms ease,border-color 200ms ease}
 .ezg-home :is(.eh-occasion,.eh-feature,.eh-group,.eh-products .ess-product-card,.eh-review):hover{transform:translateY(-3px);border-color:rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 14px 34px rgba(0,0,0,.31),0 4px 10px rgba(0,0,0,.2)}
}
@media(hover:none),(pointer:coarse){
 .ezg-home .eh-products .ess-product-card:hover{transform:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 10px 30px rgba(0,0,0,.26),0 2px 8px rgba(0,0,0,.16)}
}
@media(prefers-reduced-motion:reduce){
 .ezg-home :is(.eh-occasion,.eh-feature,.eh-group,.eh-products .ess-product-card,.eh-review){transition:none!important}
 .ezg-home :is(.eh-occasion,.eh-feature,.eh-group,.eh-products .ess-product-card,.eh-review):hover{transform:none!important}
}


/* Hide only decorative arrows appended to homepage CTA labels. */
.ezg-home .eh-button>span[aria-hidden="true"],
.ezg-home .eh-text-link>span[aria-hidden="true"],
.ezg-home .eh-occasion h3>span[aria-hidden="true"],
.ezg-home .eh-intent-links a>span[aria-hidden="true"]{display:none}

/* Mobile homepage image fill: keep complete shirt renders in proportional frames. */
@media(max-width:767px){
  .ezg-home .eh-occasion-image{aspect-ratio:1.1}
  .ezg-home .eh-occasions .eh-occasion:nth-child(3) .eh-occasion-image img{object-fit:cover;object-position:center}
  .ezg-home .eh-feature-image img{aspect-ratio:1.05;object-fit:contain}
}
