		@media (max-width: 620px) {
			.home .hero { display: grid; grid-template-columns: minmax(0, 1fr); justify-items: center; min-height: 0; margin-top: 16px; padding: 24px 0 28px; background: #fbf7eb; text-align: center; }
			.home .hero-copy { display: contents; }
			.home .hero-copy .eyebrow { grid-row: 1; margin: 0 16px 10px; color: #705844; font-size: 10px; }
			.home .hero-copy h1 { grid-row: 2; max-width: none; margin: 0 12px 16px; color: #705844; font-size: clamp(20px, 6.4vw, 38px); line-height: 1.2; white-space: nowrap; }
			.home .hero-image { position: relative; grid-row: 3; width: 100%; min-width: 0; min-height: 0; padding: 0; background: #fbf7eb; }
			.home .hero-image::after { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(251,247,235,0) 55%, rgba(251,247,235,0.65) 82%, #fbf7eb 100%); content: ""; pointer-events: none; }
			.home .hero-image img { display: block; width: 100%; height: auto; border: 0; object-fit: contain; }
			.home .hero-description { grid-row: 4; width: calc(100% - 40px); max-width: 420px; margin: 0 auto 18px; color: #42372f; font-size: 13px; font-weight: 400; line-height: 1.75; }
			.home .hero-copy .button { grid-row: 5; min-width: 0; min-height: 44px; max-width: calc(100% - 40px); padding: 12px 22px; font-size: 10px; }
		}

		.mock-flag { display: inline-block; margin-bottom: 8px; padding: 3px 9px; color: #fff; background: #98745e; font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; }

		/* Stripe: two identical long halves so it loops with no gap */
		.ticker-track { min-width: max-content; }

		/* What are you celebrating? — same title style as today, blush label bars */
		.occ-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
		.occ-grid.secondary { margin-top: 16px; }
		.occ-card { position: relative; display: block; aspect-ratio: 0.9 / 1; overflow: hidden; background: #eee3d8; text-decoration: none; }
		.occ-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 400ms ease; }
		.occ-card:hover img { transform: scale(1.035); }
		.occ-card .bar { position: absolute; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 10px; color: var(--brown); background: var(--blush); font-size: 12px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; }
		.occ-card.is-empty { background: repeating-linear-gradient(135deg, #fbf1e9, #fbf1e9 14px, #f6e6dc 14px, #f6e6dc 28px); }
		.occ-card.is-empty img { display: none; }
		.occ-card .soon { font-size: 8px; opacity: 0.7; }
		.all-occ[hidden] { display: none; }
		.view-all { display: flex; justify-content: center; margin-top: 30px; }
		.text-link { color: var(--brown); font-size: 11px; font-weight: 500; letter-spacing: 0.1em; text-underline-offset: 6px; text-transform: uppercase; cursor: pointer; background: none; border: 0; text-decoration: underline; }

		/* Product card extras */
		.format-label { display: inline-block; margin: 0 0 8px; padding: 4px 10px; color: var(--brown); border: 1px solid var(--line); border-radius: 16px; font-size: 9px; font-weight: 500; letter-spacing: 0.06em; }
		.tags { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 8px; }
		.tags .format-label { margin: 0; }
		.product-buy p { flex-wrap: wrap; white-space: normal; }
		.product-buy { padding-top: 0; border-top: 0; }
		.product-buy a { font-size: 14px; }
		.product-card h3 { min-height: 0; margin-bottom: 2px; line-height: 1.35; }
		.product-card h3 { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; }
		.sale-line { display: block; margin-top: 4px; color: #98745e; font-size: 10px; font-weight: 500; font-variant-numeric: tabular-nums; }
		.empty-tab { grid-column: 1 / -1; display: grid; place-items: center; min-height: 200px; color: var(--soft-brown); background: repeating-linear-gradient(135deg, #fbf1e9, #fbf1e9 14px, #f6e6dc 14px, #f6e6dc 28px); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; text-align: center; padding: 20px; }

		/* Featured: smaller banner */
		.featured-wrap { width: min(1440px, calc(100% - 80px)); margin: 0 auto 70px; }
		.featured { display: grid; grid-template-columns: 1fr 1.2fr; align-items: stretch; background: #fbf1e9; }
		.featured .copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 30px 44px; }
		.featured h2 { margin: 4px 0 10px; color: #594230; font-family: var(--display); font-size: 36px; font-weight: 500; line-height: 1; }
		.featured h2 em { color: var(--soft-brown); }
		.featured p.txt { max-width: 400px; margin: 0 0 18px; color: #51443a; font-size: 12px; font-weight: 300; line-height: 1.8; }
		.featured .pics { display: grid; grid-template-columns: repeat(3, 1fr); height: 230px; }
		.featured .pics img { width: 100%; height: 100%; object-fit: cover; }

		/* Shop by format */
		.format { width: min(1440px, calc(100% - 80px)); margin: 0 auto 42px; }
		.format .section-title { margin-bottom: 10px; color: #594230; font-family: var(--display); font-size: 40px; font-weight: 500; line-height: 1; text-align: center; }
		.format .section-intro { margin: 0 auto 34px; color: #51443a; font-size: 13px; font-weight: 300; text-align: center; }
		.format-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
		.format-panel { display: flex; min-height: 240px; background: #fbf1e9; }
		.format-panel .copy { display: flex; flex-direction: column; justify-content: center; padding: 34px; }
		.format-panel h3 { margin-bottom: 8px; color: var(--brown); font-family: var(--display); font-size: 26px; font-weight: 500; line-height: 1.15; }
		.format-panel p { margin-bottom: 16px; color: #51443a; font-size: 13px; font-weight: 300; line-height: 1.8; }
		.format-note { margin: 26px auto 0; color: #51443a; font-size: 13px; font-weight: 300; text-align: center; }
		.format-note .format-label { margin: 0 6px; }
		.format-label.physical { background: #f3e1d9; }

		/* Thin down email signup banner */
		.freebies { width: min(1440px, calc(100% - 80px)); grid-template-columns: minmax(0, 478px) minmax(0, 478px); justify-content: center; min-height: 0; margin: 28px auto; padding: 28px; gap: 28px; }
		.freebies-image { width: 85%; justify-self: center; aspect-ratio: 1.7 / 1; padding: 0; }
		.freebies-image img { object-position: center 30%; }
		.freebies-copy { width: 100%; min-width: 0; }
		.ticker-track { animation-duration: 80s; }
		.freebies-copy h2 { font-size: 26px; margin-bottom: 10px; }
		.freebies-copy > p:not(.eyebrow) { margin-bottom: 18px; font-size: 14px; line-height: 1.6; }
		.freebies-form input[type="email"] { min-height: 52px; }
		.freebies-form button.primary { min-height: 52px; }

		@media (max-width: 900px) {
			.occ-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
			.featured-wrap { width: calc(100% - 32px); }
			.featured { grid-template-columns: 1fr; }
			.featured .copy { padding: 26px 22px; }
			.featured .pics { height: 160px; }
			.format { width: calc(100% - 32px); }
			.format .section-title { font-size: 34px; }
			.format-grid { grid-template-columns: 1fr; }
			.format-panel { min-height: 0; }
			.format-panel .copy { padding: 28px 24px; }
			.freebies { width: calc(100% - 32px); min-height: 0; padding: 22px 16px 24px; }
			.freebies { grid-template-columns: 1fr; }
			.freebies-copy { grid-column: 1; }
			.freebies-image { width: 100%; max-width: 360px; padding: 0; }
		}
	