.home-content{padding-top:18px}
.cfl-hero{position:relative;isolation:isolate;display:grid;grid-template-areas:"hero";overflow:hidden;background:#fff;border-radius:0}
.hero-stage{position:relative;isolation:isolate;grid-area:hero;width:100%;height:auto;aspect-ratio:var(--hero-aspect,3/2);overflow:hidden}
.hero-art{position:absolute;inset:0;z-index:0;display:block}
.hero-art img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.hero-products{position:absolute;z-index:1;inset:4% 8% 34%;display:flex;align-items:flex-end;justify-content:center;gap:clamp(0px,1vw,14px)}
.hero-product{display:flex;align-items:flex-end;justify-content:center;min-width:0;max-width:300px;flex:1;height:100%}
.hero-product img{display:block;max-width:100%;width:100%;height:100%;object-fit:contain;object-position:center bottom}
.hero-product-composition{position:absolute;z-index:1;inset:4% 4% 34%;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}
.hero-product-composition img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom}
.hero-product-composition.is-original-banner img{object-position:center bottom}
.hero-heading-lead{display:block;font-size:.43em;line-height:1.45;letter-spacing:.015em;margin-bottom:2px}
@media(max-width:700px){body.cfl-heading-pirata .cfl-hero.is-home .hero-heading-lead{font-family:inherit}}
.cfl-campaign-halloween .cfl-hero.is-home h1{font-size:clamp(3.5rem,5.6vw,4.75rem);letter-spacing:0;text-transform:uppercase}
.cfl-hero-copy{position:relative;z-index:2;grid-area:hero;align-self:end;justify-self:center;width:76%;max-width:600px;margin:0;padding:12px 12px 24px;text-align:center}
.cfl-hero .eyebrow{max-width:700px;margin:0 auto 13px;font-size:10px;letter-spacing:.13em;line-height:1.7}
.cfl-hero h1{max-width:880px;margin:0 auto 18px;font-size:clamp(3rem,5vw,4.5rem);line-height:1.02;letter-spacing:-.04em;text-wrap:balance}
.hero-description{max-width:620px;margin:0 auto;color:var(--muted,#746d79);font-size:14px;line-height:1.8}
.hero-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 24px;margin:18px 0 8px}
.hero-actions>.button{min-height:48px;padding:13px 24px;border-radius:999px;font-size:12px;gap:14px}
.hero-actions>.text-link{min-height:44px;font-size:12px}
.hero-note{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;color:var(--muted,#746d79);font-size:10px;line-height:1.6}
.hero-note .cfl-icon{width:15px;height:15px;flex:none}
.cfl-hero.is-theme h1{font-size:clamp(2.8rem,4.4vw,3.8rem)}
.group-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:12px 0 64px}
.group-tile{--tile-wash:var(--lavender,#f1ebf7);position:relative;isolation:isolate;display:grid;grid-template-rows:170px auto;justify-items:center;align-content:start;gap:4px;min-width:0;min-height:280px;padding:15px 18px 24px;background:transparent;border:0;border-radius:13px;color:var(--ink,#302939);text-align:center;text-decoration:none}
.group-tile.tint-peach{--tile-wash:var(--peach,#f9ecdf)}
.group-tile.tint-lavender{--tile-wash:var(--lavender,#f1ebf7)}
.group-tile.tint-sage{--tile-wash:var(--sage,#edf2e8)}
.group-tile.tint-sand{--tile-wash:var(--sand,#f4efe5)}
.group-tile:before{content:"";position:absolute;inset:7px 0 0;z-index:-1;border-radius:43% 35% 38% 29% / 11% 17% 12% 16%;background:radial-gradient(ellipse at 48% 44%,var(--tile-wash) 0 60%,transparent 76%);pointer-events:none}
.group-tile:after{content:"";position:absolute;inset:21px 12px 8px;z-index:-1;border-radius:28% 35% 24% 32% / 7% 11% 14% 11%;background:var(--tile-wash);opacity:.58;pointer-events:none}
.group-tile-art{display:grid;place-items:center;align-self:center;width:100%;height:170px;min-width:0}
.group-tile-art img{display:block;width:100%;height:100%;max-width:218px;object-fit:contain;mix-blend-mode:multiply}
.group-tile-art>.cfl-icon{width:78px;height:78px;stroke-width:1;color:var(--purple,#684681)}
.group-tile-copy{display:grid;gap:4px;min-width:0;position:relative;z-index:1}
.group-tile-copy strong{font:500 clamp(1.3rem,2vw,1.65rem)/1.1 Georgia,serif;letter-spacing:-.025em;overflow-wrap:anywhere;text-wrap:balance}
.cfl-campaign-halloween .group-tile-copy strong{font-size:1.7rem;letter-spacing:0}
.group-tile-copy>span{font-size:11px;line-height:1.6;color:var(--muted,#746d79)}
.group-tile-arrow{display:grid;place-items:center;width:34px;height:34px;margin-top:7px;border:1px solid var(--campaign-strong-line,#c6b5d1);border-radius:50%;color:var(--purple,#684681);background:#ffffffb3}
.group-tile-arrow .cfl-icon{width:17px;height:17px}
.group-tile:focus-visible{outline:3px solid var(--purple,#684681);outline-offset:4px}
@media(prefers-reduced-motion:no-preference){.group-tile{transition:transform .18s ease}.group-tile:hover{transform:translateY(-3px)}}
@media(min-width:1001px){.cfl-hero.is-integrated .cfl-hero-copy{width:min(600px,55%);padding:0 12px clamp(12px,1.3vw,24px)}.cfl-hero.is-integrated .eyebrow{display:none}.cfl-hero.is-integrated h1{font-size:clamp(2.5rem,3.4vw,3.25rem);line-height:1.03;margin-bottom:10px}.cfl-campaign-halloween .cfl-hero.is-home.is-integrated h1{font-size:clamp(3rem,4.7vw,4rem)}.cfl-hero.is-integrated .hero-heading-lead{font-size:clamp(22px,2.05vw,28px);line-height:1.2;margin-bottom:2px}.cfl-hero.is-integrated .hero-description{font-size:12px;line-height:1.6}.cfl-hero.is-integrated .hero-actions{gap:8px 22px;margin:12px 0 0}.cfl-hero.is-integrated .hero-actions>.button{min-height:44px;padding:10px 20px;font-size:11px}.cfl-hero.is-integrated .hero-actions>.text-link{min-height:44px;font-size:11px}}
@media(min-width:1001px){.cfl-campaign-valentines-day .cfl-hero.is-integrated .cfl-hero-copy{width:min(440px,42%)}}
@media(max-width:1000px){.cfl-hero{display:block}.hero-products{inset-inline:4%}.hero-product-composition{inset:8% 4% 0}.cfl-hero-copy{width:100%;margin-inline:auto;padding:6px 18px 24px}.cfl-hero h1{font-size:3.4rem}.hero-description{font-size:13px}.hero-actions{gap:8px 18px}.hero-actions>.button{padding:12px 19px;font-size:11px}.hero-actions>.text-link{font-size:11px}.group-grid{gap:10px}.group-tile{grid-template-rows:140px auto;min-height:250px;padding:12px 11px 19px}.group-tile-art{height:140px}.group-tile-copy strong{font-size:1.35rem}.group-tile-copy>span{font-size:10px}.cfl-hero.is-theme h1{font-size:3rem}}
@media(max-width:700px){.home-content{padding-top:9px}.hero-products{inset:8% 1% 0;gap:0}.hero-product{max-width:200px}.hero-product-composition{inset:8% 0 0}.cfl-hero-copy{padding:6px 12px 22px}.cfl-hero .eyebrow{font-size:9px;margin-bottom:11px;line-height:1.7}.cfl-hero h1,.cfl-hero.is-theme h1{max-width:520px;margin-bottom:14px;font-size:clamp(2.3rem,8.6vw,3.25rem);line-height:1.04}.cfl-campaign-halloween .cfl-hero.is-home h1{font-size:clamp(3rem,14.4vw,3.5rem)}.hero-description{max-width:440px;font-size:12px;line-height:1.8}.hero-actions{margin:20px 0 0;gap:8px 18px}.hero-actions>.button{min-height:46px;padding:12px 18px;font-size:11px}.hero-actions>.text-link{min-height:44px;font-size:11px}.hero-note{display:none}.group-grid{grid-template-columns:1fr;gap:10px;margin:6px 0 42px}.group-tile{display:grid;grid-template-columns:112px minmax(0,1fr) 34px;grid-template-rows:auto;align-items:center;justify-items:start;gap:14px;min-height:126px;padding:8px 20px 8px 10px;text-align:left}.group-tile:before{inset:0;border-radius:10% 6% 8% 5% / 22% 18% 25% 17%;background:radial-gradient(ellipse at 45% 52%,var(--tile-wash) 0 67%,transparent 83%)}.group-tile:after{inset:10px 4px 7px;border-radius:7% 4% 5% 6% / 24% 17% 21% 16%;opacity:.53}.group-tile-art{width:112px;height:110px}.group-tile-art img{max-width:none}.group-tile-art>.cfl-icon{width:54px;height:54px}.group-tile-copy{gap:5px}.group-tile-copy strong{font-size:1.4rem;line-height:1.1}.group-tile-copy>span{font-size:11px;line-height:1.5}.group-tile-arrow{width:32px;height:32px;margin:0}.group-tile-arrow .cfl-icon{width:16px;height:16px}}
@media(max-width:380px){.group-tile{grid-template-columns:91px minmax(0,1fr) 29px;gap:10px;padding-right:14px;min-height:112px}.group-tile-art{width:91px;height:98px}.group-tile-copy strong{font-size:1.23rem}.group-tile-arrow{width:29px;height:29px}}
@media(max-width:700px){.hero-stage{aspect-ratio:var(--hero-mobile-aspect,var(--hero-aspect,3/2))}}
/* Reuse the white copy space in the built-in art; never crop or pull custom banners. */
@media(max-width:700px){.cfl-hero.has-mobile-copy-space .cfl-hero-copy{margin-top:clamp(-56px,-9vw,-28px)}.cfl-hero.has-mobile-copy-space .eyebrow{display:none}.cfl-hero.has-mobile-copy-space .eyebrow+h1{margin-top:26px}.cfl-campaign-halloween .cfl-hero.has-mobile-copy-space .cfl-hero-copy{margin-top:clamp(-56px,-12vw,-36px)}.cfl-campaign-valentines-day .cfl-hero.has-mobile-copy-space .cfl-hero-copy{margin-top:clamp(-28px,-4vw,-12px)}}
/* Keep paired original product photos inside the unpainted mobile copy space. */
@media(max-width:700px){.cfl-hero.has-original-product-photos .hero-products{inset-inline:24%}}

/* Curated photo pairs share the watercolor stage; original catalogue files stay intact. */
.cfl-hero.has-catalog-scene .hero-products{inset:6% 10% 30%;z-index:auto;justify-content:space-between;gap:0;pointer-events:none}
.cfl-hero.has-catalog-scene .hero-product{position:relative;flex:0 0 32%;max-width:390px;height:100%}
.cfl-hero.has-catalog-scene .hero-product:before{display:none}
.cfl-hero.has-catalog-scene .hero-product img{position:relative;width:100%;height:100%;object-fit:contain;object-position:center bottom;mix-blend-mode:normal}
.cfl-hero.has-catalog-scene .eyebrow{display:none}
@media(min-width:1001px){.cfl-hero.has-catalog-scene .cfl-hero-copy{width:min(600px,55%);padding:0 12px clamp(12px,1.3vw,24px)}.cfl-hero.has-catalog-scene h1{font-size:clamp(2.5rem,3.4vw,3.25rem);line-height:1.03;margin-bottom:10px}.cfl-hero.has-catalog-scene .hero-description{font-size:12px;line-height:1.6}.cfl-hero.has-catalog-scene .hero-actions{gap:8px 22px;margin:12px 0 0}.cfl-hero.has-catalog-scene .hero-actions>.button{min-height:44px;padding:10px 20px;font-size:11px}.cfl-hero.has-catalog-scene .hero-actions>.text-link{min-height:44px;font-size:11px}}
@media(max-width:700px){.cfl-hero.has-catalog-scene .hero-products{inset:3% 7% 4%}.cfl-hero.has-catalog-scene .hero-product{flex-basis:45%;max-width:none}.cfl-hero.has-catalog-scene .cfl-hero-copy{margin-top:0}}

.cfl-hero.has-catalog-scene .hero-product.is-cutout img{-webkit-mask-image:var(--hero-photo-mask);mask-image:var(--hero-photo-mask);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center bottom;mask-position:center bottom;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}

/* Give the homepage question more presence beneath the Halloween artwork. */
.cfl-campaign-halloween .cfl-hero.is-home.has-halloween-heading h1{font-size:clamp(3.5rem,5.8vw,4.75rem)}
.cfl-hero.is-home.has-halloween-heading .hero-heading-lead{font-size:.68em;line-height:1.15;letter-spacing:0;margin-bottom:4px}
@media(min-width:1001px){.cfl-hero.is-home.has-halloween-heading .cfl-hero-copy{width:min(700px,64%);max-width:700px;padding-bottom:clamp(20px,2.2vw,36px)}}
@media(max-width:700px){.cfl-campaign-halloween .cfl-hero.is-home.has-halloween-heading h1{font-size:clamp(2.8rem,13vw,3.5rem)}.cfl-hero.is-home.has-halloween-heading .hero-heading-lead{font-size:.7em}}
