.fro-ed {
	--fro-ed-ink: #272321;
	--fro-ed-muted: #716b67;
	--fro-ed-line: #e5e1dd;
	--fro-ed-paper: #fff;
	--fro-ed-accent: #ef5b24;
	--fro-ed-radius: 12px;
	color: var(--fro-ed-ink);
	font-family: inherit;
	margin-block: clamp(2rem, 5vw, 4.5rem);
}
.fro-ed *,
.fro-ed *::before,
.fro-ed *::after { box-sizing: border-box; }
.fro-ed img { display: block; height: auto; max-width: 100%; }
.fro-ed a { color: inherit; text-decoration: none; }
.fro-ed a:focus-visible,
.fro-ed summary:focus-visible,
.fro-ed button:focus-visible,
.fro-ed [tabindex]:focus-visible { outline: 3px solid var(--fro-ed-accent); outline-offset: 3px; }
.fro-ed-heading { align-items: end; display: flex; flex-wrap: wrap; gap: .5rem 2rem; justify-content: space-between; margin: 0 0 1.5rem; }
.fro-ed-heading h2 { font-size: 2.5rem; line-height: 1.08; margin: 0; }
.fro-ed-eyebrow { color: var(--fro-ed-accent); font-size: .76rem; font-weight: 750; letter-spacing: .1em; margin: 0 0 .5rem; text-transform: uppercase; }
.fro-ed-intro { color: var(--fro-ed-muted); flex: 0 1 28rem; line-height: 1.65; margin: 0; }
.fro-ed-category-grid { display: grid; gap: 1rem; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.fro-ed-category-card { background: var(--fro-ed-paper); border: 2px solid #141414; border-radius: 8px; min-width: 0; overflow: hidden; transition: box-shadow .2s ease, transform .2s ease; }
.fro-ed-category-card:hover { box-shadow: 5px 5px 0 #141414; transform: translateY(-3px); }
.fro-ed-category-link { display: flex; flex-direction: column; height: 100%; }
.fro-ed-category-card.is-without-image { background: #f1f3f2; }
.fro-ed-category-card.is-without-image .fro-ed-category-link { justify-content: center; }
.fro-ed-category-card.is-without-image .fro-ed-category-copy { padding: 1.25rem; }
.fro-ed-category-card.is-without-image .fro-ed-category-title { font-size: 1.2rem; }
.fro-ed-category-image { aspect-ratio: 1 / .83; background: #fff; display: block; overflow: hidden; }
.fro-ed-category-image img { height: 100%; object-fit: contain; width: 100%; }
.fro-ed-category-image.is-image-product { padding: 14px; }
.fro-ed-category-image.is-image-cover img { object-fit: cover; }
.fro-ed-category-copy { background: #fff1e9; border-top: 2px solid #141414; display: grid; gap: .35rem; padding: 1rem; }
.fro-ed-category-title { font-size: 1rem; font-weight: 800; }
.fro-ed-category-description { color: var(--fro-ed-muted); font-size: .88rem; line-height: 1.5; }
.fro-ed-age-categories.is-compact { margin-block: 1.5rem; }
.fro-ed-age-categories.is-compact .fro-ed-category-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); }
.fro-ed-age-categories.is-compact .fro-ed-category-link { align-items: center; flex-direction: row; }
.fro-ed-age-categories.is-compact .fro-ed-category-image { aspect-ratio: 1; flex: 0 0 5rem; width: 5rem; }
.fro-ed-age-categories.is-compact .fro-ed-category-copy { align-content: center; align-self: stretch; border-top: 0; flex: 1; min-width: 0; padding: .75rem; }
.fro-ed-age-categories.is-compact .fro-ed-category-title { overflow-wrap: anywhere; }
.fro-ed-term-bar { overflow: hidden; }
.fro-ed-term-bar ul,
.fro-ed-term-list { align-items: stretch; display: flex; gap: .75rem; list-style: none; margin: 0; overflow-x: auto; padding: .4rem .4rem .75rem; scrollbar-width: thin; }
.fro-ed-term-item { flex: 0 0 auto; max-width: 100%; }
.fro-ed-term-item a { align-items: center; background: var(--fro-ed-paper); border: 1px solid var(--fro-ed-line); border-radius: 999px; display: flex; gap: .7rem; min-height: 3.5rem; padding: .4rem 1rem .4rem .45rem; transition: border-color .2s ease, background-color .2s ease; }
.fro-ed-term-item a:hover { background: #fff7f2; border-color: var(--fro-ed-accent); }
.fro-ed-term-item a:has(> span:only-child) { padding-inline: 1rem; }
.fro-ed-term-image { align-items: center; background: #f7f5f3; border-radius: 50%; display: inline-flex; height: 2.5rem; justify-content: center; overflow: hidden; width: 2.5rem; }
.fro-ed-term-image img { height: 100%; object-fit: contain; width: 100%; }
.fro-ed-term-item > a > span:last-child { font-size: .92rem; font-weight: 700; min-width: 0; overflow-wrap: anywhere; }
.fro-ed-promotions { margin-block: clamp(2rem, 5vw, 4.5rem); }
.fro-ed-promo-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fro-ed-promo { background: #f5f2ef; border-radius: var(--fro-ed-radius); display: flex; flex-direction: column; min-width: 0; overflow: hidden; }
.fro-ed-promo.is-event { background: #fff3e9; }
.fro-ed-promo.is-safety { background: #edf5f1; }
.fro-ed-promo-image { aspect-ratio: 16 / 8; background: #e9e5e1; overflow: hidden; }
.fro-ed-promo-image img { height: 100%; object-fit: cover; object-position: var(--fro-promo-position, center center); width: 100%; }
.fro-ed-promo-copy { align-content: start; display: grid; gap: .75rem; padding: clamp(1.25rem, 3vw, 2rem); }
.fro-ed-promo-copy h3 { font-size: 2rem; line-height: 1.12; margin: 0; }
.fro-ed-promo-copy > p { line-height: 1.65; margin: 0; }
.fro-ed-promo-details { color: var(--fro-ed-muted); font-size: .92rem; }
.fro-ed-button { align-items: center; background: var(--fro-ed-accent); border-radius: 999px; color: #fff !important; display: inline-flex; font-size: .95rem; font-weight: 750; justify-content: center; justify-self: start; min-height: 2.8rem; padding: .7rem 1.2rem; transition: filter .2s ease; }
.fro-ed-button:hover { filter: brightness(.92); }
.fro-ed-story-main { align-items: center; display: grid; gap: clamp(1.5rem, 5vw, 4rem); grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.fro-ed-story-main.is-without-image { grid-template-columns: minmax(0, 1fr); }
.fro-ed-story-image { aspect-ratio: 16 / 10; position: relative; }
.fro-ed-story-image > img { border-radius: 28px; height: 100%; object-fit: cover; width: 100%; }
.fro-ed-story-stamp { background: #f4511e; border: 3px solid #141414; border-radius: 20px; bottom: -1rem; color: #141414; left: .5rem; max-width: calc(100% - 1rem); padding: .8rem 1rem; position: absolute; transform: rotate(-3deg); }
.fro-ed-story-stamp strong { display: block; font-family: "Barlow Condensed", sans-serif; font-size: clamp(1.7rem, 3vw, 2.5rem); font-style: italic; font-weight: 900; line-height: 1; overflow-wrap: anywhere; }
.fro-ed-story-stamp span { display: block; font-size: .75rem; font-weight: 800; letter-spacing: .06em; overflow-wrap: anywhere; text-transform: uppercase; }
.fro-ed-story-copy .fro-ed-heading { align-items: start; display: block; }
.fro-ed-story-copy .fro-ed-intro { max-width: 38rem; }
.fro-ed-badge-list { display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; margin: 1.5rem 0; padding: 0; }
.fro-ed-badge { align-items: center; background: #f7f3ef; border: 1px solid var(--fro-ed-line); border-radius: 16px; display: flex; gap: .8rem; min-width: 0; padding: .75rem .875rem; }
.fro-ed-badge > img { flex: 0 0 2.75rem; height: 2.75rem; object-fit: contain; width: 2.75rem; }
.fro-ed-badge > span { display: grid; gap: .2rem; }
.fro-ed-badge strong { font-size: .95rem; }
.fro-ed-badge small { color: var(--fro-ed-muted); font-size: .8rem; line-height: 1.4; }
.fro-ed-ugc-grid { display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fro-ed-ugc-card { margin: 0; min-width: 0; }
.fro-ed-ugc-card > a,
.fro-ed-ugc-card > img { aspect-ratio: 1; border-radius: 14px; display: block; overflow: hidden; }
.fro-ed-ugc-card > img { width: 100%; height: auto; object-fit: cover; }
.fro-ed-ugc-card > a img { height: 100%; object-fit: cover; transition: transform .25s ease; width: 100%; }
.fro-ed-ugc-card img { object-position: var(--fro-ugc-position, center center); }
.fro-ed-ugc-card > a:hover img { transform: scale(1.04); }
.fro-ed-ugc-card figcaption { display: grid; gap: .2rem; padding: .65rem .1rem 0; }
.fro-ed-ugc-card figcaption > span { line-height: 1.4; }
.fro-ed-ugc-card figcaption small { color: var(--fro-ed-muted); }
.fro-ed-marquee { align-items: center; background: #272321; color: #fff; display: flex; gap: 1rem; margin-block: 1.5rem; overflow: hidden; padding: .8rem 1rem; }
.fro-ed-marquee-window { flex: 1 1 auto; min-width: 0; overflow: hidden; }
.fro-ed-marquee-window:focus-within { overflow: visible; }
.fro-ed-marquee-viewport { animation: none; display: flex; min-width: 200%; width: max-content; }
.fro-ed-marquee.is-moving .fro-ed-marquee-viewport { animation: fro-ed-marquee-scroll var(--fro-ed-marquee-duration, 35s) linear infinite; }
.fro-ed-marquee-track { align-items: center; display: flex; flex: 0 0 50%; }
.fro-ed-marquee-item { align-items: center; display: inline-flex; font-size: .95rem; font-weight: 650; gap: 2.5rem; padding-inline: 1.25rem; white-space: nowrap; }
.fro-ed-marquee-item::after { color: var(--fro-ed-accent); content: "•"; font-size: 1.4rem; }
.fro-ed-marquee-toggle { background: transparent; border: 1px solid rgb(255 255 255 / 55%); border-radius: 999px; color: inherit; cursor: pointer; flex: 0 0 auto; font: inherit; font-size: .78rem; padding: .45rem .75rem; }
.fro-ed-marquee[data-paused="true"] .fro-ed-marquee-viewport,
.fro-ed-marquee:hover .fro-ed-marquee-viewport,
.fro-ed-marquee-window:focus .fro-ed-marquee-viewport,
.fro-ed-marquee-window:focus-within .fro-ed-marquee-viewport { animation-play-state: paused; }
.fro-ed-marquee-window:focus-within .fro-ed-marquee-viewport { animation: none; display: block; min-width: 0; transform: none; width: 100%; }
.fro-ed-marquee-window:focus-within .fro-ed-marquee-track { flex-wrap: wrap; }
.fro-ed-marquee-window:focus-within .fro-ed-marquee-track[aria-hidden="true"] { display: none; }
.fro-ed-marquee-window:focus-within .fro-ed-marquee-item { max-width: 100%; overflow-wrap: anywhere; white-space: normal; }
@keyframes fro-ed-marquee-scroll { to { transform: translateX(-50%); } }
.fro-ed-faq-list { border-top: 1px solid var(--fro-ed-line); }
.fro-ed-faq-item { border-bottom: 1px solid var(--fro-ed-line); }
.fro-ed-faq-item summary { align-items: center; cursor: pointer; display: flex; font-size: 1.08rem; font-weight: 700; gap: 1rem; justify-content: space-between; list-style: none; padding: 1.2rem .1rem; }
.fro-ed-faq-item summary::-webkit-details-marker { display: none; }
.fro-ed-faq-item summary::after { color: var(--fro-ed-accent); content: "+"; flex: 0 0 auto; font-size: 1.5rem; line-height: 1; }
.fro-ed-faq-item[open] summary::after { content: "−"; }
.fro-ed-faq-answer { color: var(--fro-ed-muted); line-height: 1.7; max-width: 72ch; padding: 0 .1rem 1.2rem; }
.fro-ed-faq-answer > :first-child { margin-top: 0; }
.fro-ed-faq-answer > :last-child { margin-bottom: 0; }
@media (max-width: 900px) {
	.fro-ed-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.fro-ed-badge-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.fro-ed-ugc-card img { object-position: var(--fro-ugc-position-mobile, center center); }
	.fro-ed-promo-image img { object-position: var(--fro-promo-position-mobile, center center); }
	.fro-ed-category-grid { gap: .65rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fro-ed-category-copy { padding: .8rem; }
	.fro-ed-promo-grid,
	.fro-ed-story-main { grid-template-columns: minmax(0, 1fr); }
	.fro-ed-promo-image { aspect-ratio: 16 / 9; }
	.fro-ed-story-image { aspect-ratio: 4 / 3; }
	.fro-ed-badge-list { grid-template-columns: minmax(0, 1fr); }
	.fro-ed-ugc-grid { gap: .6rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fro-ed-heading { align-items: start; flex-direction: column; }
	.fro-ed-intro { flex-basis: auto; }
	.fro-ed-heading h2 { font-size: 1.9rem; }
	.fro-ed-promo-copy h3 { font-size: 1.55rem; }
}
@media (prefers-reduced-motion: reduce) {
	.fro-ed *, .fro-ed *::before, .fro-ed *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
	.fro-ed-marquee-viewport { animation: none; }
	.fro-ed-marquee-toggle { display: none; }
}

/* Visual treatment from the storefront design; content remains in Elementor. */
.fro-ed {
	--fro-ed-ink: #141414;
	--fro-ed-muted: #5a5650;
	--fro-ed-line: #e6ded6;
	--fro-ed-accent: #f15a22;
	--fro-ed-radius: 22px;
}
.fro-ed-heading h2,
.fro-ed-category-title,
.fro-ed-promo-copy h3 {
	font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
	font-style: italic;
	font-weight: 900;
	text-transform: uppercase;
}
.fro-ed-heading h2 { font-size: clamp(42px, 5.2vw, 74px); line-height: .9; }
.fro-ed-brands .fro-ed-heading h2 { text-wrap: balance; }
.fro-ed-heading-title { flex: 0 1 740px; min-width: 0; }
.fro-ed-category-card { border-radius: var(--fro-ed-radius); }
.fro-ed-category-image { aspect-ratio: 1; }
.fro-ed-category-title { font-size: clamp(24px, 2.4vw, 34px); line-height: 1; }
.fro-ed-category-grid.has-cta { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.fro-ed-category-cta { background: #141414; color: #fff; }
.fro-ed-category-cta .fro-ed-category-link { gap: 12px; padding: clamp(16px, 2vw, 24px); }
.fro-ed-category-cta-title { color: #f15a22; font-family: "Barlow Condensed", "Arial Narrow", sans-serif; font-size: clamp(30px, 3vw, 42px); font-style: italic; font-weight: 900; line-height: .95; text-transform: uppercase; }
.fro-ed-category-cta-description { color: #e4e0dc; font-size: 13px; font-weight: 700; line-height: 1.5; }
.fro-ed-category-cta-action { color: #fff; font-size: 13px; font-weight: 800; letter-spacing: .06em; margin-top: auto; text-transform: uppercase; }
.fro-ed-ugc-grid.has-mosaic { grid-template-columns: 2fr 1fr 1fr; grid-auto-rows: clamp(180px, 17vw, 280px); }
.fro-ed-ugc-grid.has-mosaic .fro-ed-ugc-card { position: relative; overflow: hidden; border-radius: var(--fro-ed-radius); }
.fro-ed-ugc-grid.has-mosaic .fro-ed-ugc-card:first-child { grid-row: span 2; }
.fro-ed-ugc-grid.has-mosaic .fro-ed-ugc-card > a,
.fro-ed-ugc-grid.has-mosaic .fro-ed-ugc-card > img { width: 100%; height: 100%; aspect-ratio: auto; border-radius: 0; }
.fro-ed-ugc-grid.has-mosaic .fro-ed-ugc-card > img { object-fit: cover; }
.fro-ed-ugc-grid.has-mosaic .fro-ed-ugc-card figcaption { position: absolute; inset: auto 14px 14px; padding: 7px 12px; border-radius: 14px; background: rgba(20, 20, 20, .83); color: #fff; font-size: 12px; width: fit-content; max-width: calc(100% - 28px); }
.fro-ed-ugc-grid.has-mosaic .fro-ed-ugc-card figcaption small { color: #e4e0dc; }
.fro-ed-promo-grid { grid-template-columns: 1.25fr 1fr; }
.fro-ed-promo-grid > .fro-ed-promo:only-child { grid-column: 1 / -1; }
.fro-ed-promo { background: #2e2f31; border-radius: 28px; color: #fff; position: relative; min-height: 440px; justify-content: end; }
.fro-ed-promo.is-event,
.fro-ed-promo.is-safety { background: #2e2f31; }
.fro-ed-promo-image { position: absolute; inset: 0; aspect-ratio: auto; }
.fro-ed-promo-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(20,20,20,.94), rgba(20,20,20,.4) 52%, rgba(20,20,20,.08)); }
.fro-ed-promo-copy { position: relative; z-index: 1; padding: clamp(24px, 3vw, 40px); }
.fro-ed-promo.is-split { display: grid; grid-template-rows: minmax(220px, 1fr) auto; }
.fro-ed-promo.is-split .fro-ed-promo-image { position: relative; min-height: 220px; }
.fro-ed-promo.is-split .fro-ed-promo-image::after { display: none; }
.fro-ed-promo.is-split .fro-ed-promo-copy { align-content: start; }
.fro-ed-promo-copy h3 { color: #fff; font-size: clamp(48px, 4.6vw, 64px); line-height: .95; }
.fro-ed-promo-details { color: #f2eeea; }
.fro-ed-promo .fro-ed-eyebrow { color: #ffb290; }
.fro-ed-promo .fro-ed-button { border: 2px solid #141414; color: #141414 !important; text-transform: uppercase; font-size: .8rem; font-weight: 800; }
.fro-ed-marquee { background: #f15a22; color: #141414; border-block: 3px solid #141414; }
.fro-ed-marquee-item { font-family: "Barlow Condensed", "Arial Narrow", sans-serif; font-size: 30px; font-style: italic; font-weight: 900; text-transform: uppercase; }
.fro-ed-marquee-item::after { color: #141414; }
.fro-ed-marquee-toggle { border-color: #141414; }
.fro-ed-faq > .fro-ed-heading,
.fro-ed-faq-list { margin-inline: auto; max-width: 960px; }
.fro-ed-faq-list { border: 0; }
.fro-ed-faq-item { background: #fff; border: 1px solid #e6ded6; border-radius: 16px; margin-bottom: 10px; }
.fro-ed-faq-item summary { padding: 16px 22px; min-height: 60px; }
.fro-ed-faq-answer { padding: 0 22px 20px; }
@media (max-width: 960px) {
	.fro-ed-promo-grid { grid-template-columns: minmax(0, 1fr); }
	.fro-ed-story-main { grid-template-columns: minmax(0, 1fr); }
	.fro-ed-ugc-grid.has-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: 260px; grid-auto-rows: 180px; }
	.fro-ed-ugc-grid.has-mosaic .fro-ed-ugc-card:first-child { grid-column: span 2; grid-row: span 1; }
}
@media (max-width: 1180px) {
	.fro-ed-category-grid.has-cta { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.fro-ed-heading h2 { font-size: 42px; }
	.fro-ed-story .fro-ed-heading h2 { font-size: clamp(32px, 9.5vw, 40px); }
	.fro-ed-heading-title { flex-basis: auto; }
	.fro-ed-category-grid.has-cta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fro-ed-category-title { font-size: 25px; }
	.fro-ed-promo { min-height: 320px; }
	.fro-ed-promo-copy h3 { font-size: 34px; }
	.fro-ed-ugc-grid.has-mosaic { grid-template-rows: none; grid-auto-rows: clamp(140px, 45vw, 240px); }
	.fro-ed-ugc-grid.has-mosaic .fro-ed-ugc-card:first-child { grid-column: span 2; grid-row: span 1; }
}
.fro-coupon{display:flex;align-items:center;gap:clamp(24px,5vw,64px);padding:clamp(24px,4vw,48px);border-radius:22px;background:#141414;color:#fff}.fro-coupon h2{margin:0;color:#f15a22;font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-size:clamp(40px,5vw,72px);font-style:italic;font-weight:900;line-height:1;text-transform:uppercase}.fro-coupon__content{min-width:0}.fro-coupon__code-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.fro-coupon__code{padding:12px;background:#fff;color:#141414;font-size:20px;overflow-wrap:anywhere}.fro-coupon__copy{border:0;border-radius:999px;padding:12px 22px;background:#f15a22;color:#141414;font-weight:800;cursor:pointer}.fro-coupon__copy:focus-visible{outline:3px solid #fff;outline-offset:3px}.fro-coupon__content p{margin:12px 0 0}.fro-coupon__status{display:block;margin-top:8px}.fro-coupon__status:empty{display:none}@media(max-width:600px){.fro-coupon{align-items:flex-start;flex-direction:column}}
