/* Small additions to the supplied Webflow design. Its original CSS remains intact. */
.section-4{background-color:#101010;background-image:url('../images/TEASER3-V6.gif');background-size:600px 338px;background-repeat:repeat;background-position:center;background-attachment:scroll;isolation:isolate}
.header-video-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;background:linear-gradient(180deg,rgba(0,0,0,.24),rgba(0,0,0,.48) 50%,rgba(0,0,0,.24))}
.section-4 .logo{top:50%;width:100%;transform:translateY(-50%);pointer-events:none}
.section-4 .logoimg{top:0;filter:invert(1) drop-shadow(0 2px 12px #000);width:300px;max-width:80vw}
.section-4 .link-block-14{position:absolute;left:50%;bottom:2%;transform:translateX(-50%);margin:0;width:32px;z-index:8}
.section-4 .image-2{width:100%}
.section-9{scroll-margin-top:20px;background-color:#090909;background-image:linear-gradient(rgba(0,0,0,.58),rgba(0,0,0,.68)),url('../images/TEASER3-V6-tile.png');background-size:cover,600px 338px;background-repeat:no-repeat,repeat;background-position:center,center}
.section-9 .heading-12,.section-9 .text-block-4{text-shadow:0 2px 10px rgba(0,0,0,.85)}
.happiness-album-feature{display:flex;flex-direction:column;align-items:center;gap:14px;width:min(76vw,312px);padding:16px;margin:0 auto 36px;background:#111;border:1px solid #282828;color:#fff;text-align:center;text-decoration:none;font-family:'helvetica neue light',sans-serif;font-size:.9rem;letter-spacing:.17rem}
.happiness-album-feature img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.happiness-album-feature span{border-bottom:1px solid #fff;padding-bottom:5px}
.happiness-album-feature:hover span{text-decoration:none;border-bottom-width:2px}
.happiness-album-feature:focus-visible{outline:2px solid #fff;outline-offset:5px}
.happiness-carousel-wrap{position:relative;width:100%;max-width:1320px;display:flex;align-items:center;gap:8px;margin:20px auto 10px;padding:0 clamp(14px,3vw,42px)}
.happiness-carousel{width:100%;display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:4px;scrollbar-width:thin;scrollbar-color:#bbb transparent;overscroll-behavior-inline:contain;padding:10px 4px 24px}
.happiness-product{flex:0 0 clamp(210px,24vw,290px);scroll-snap-align:start;padding:12px;text-align:center;background:#111;border:1px solid #282828;color:#fff;text-decoration:none;font-family:'helvetica neue light',sans-serif;min-width:0}
.happiness-product-image{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;background:rgba(255,255,255,.17)}
.happiness-product-image img{display:block;width:90%;height:90%;object-fit:contain;transition:transform .2s ease}
.happiness-product:hover img{transform:scale(1.04)}
.happiness-product-name{display:block;min-height:48px;margin:14px 5px 4px;font-size:1rem;line-height:1.4;letter-spacing:.03rem}
.happiness-product-view{display:inline-block;margin-bottom:8px;font-size:.8rem;letter-spacing:.12rem;border-bottom:1px solid #fff;padding-bottom:4px}
.happiness-arrow{flex:none;width:34px;height:42px;border:1px solid #fff;background:transparent;color:#fff;font-family:'helvetica neue light',sans-serif;font-size:30px;line-height:1;cursor:pointer}
.happiness-arrow:hover{background:#fff;color:#000}
.happiness-carousel:focus-visible,.happiness-arrow:focus-visible,.happiness-product:focus-visible{outline:2px solid #fff;outline-offset:3px}
.section-9 .link-2{display:inline-block;margin-top:22px;padding:11px 18px;border:1px solid #fff;background:rgba(0,0,0,.78)}
.section-9 .link-2:hover{background:#fff;color:#000;text-decoration:none}
.cookiepolicyoverlay{height:auto;min-height:180px}
.emailpopup[hidden]{display:none!important}
.emailpopup:not([hidden]){display:flex;justify-content:center;padding:20px;background:rgba(0,0,0,.82)}
.signup-panel{position:relative;width:min(100%,548px);max-height:calc(100svh - 32px);overflow-y:auto;padding:40px 23px 24px;background:#111;border:1px solid #575757;color:#fff;font-family:'helvetica neue light',sans-serif;text-align:center}
.emailpopup .closebutton{position:absolute;top:12px;right:14px;margin:0;padding:3px 10px;border:0;background:none;color:#fff;font-size:1.8rem;line-height:1}
.signup-kicker{display:block;font-size:.8rem;letter-spacing:.35rem;margin-bottom:22px}
.emailpopup .heading-10{margin:0 0 22px;font-size:1.7rem;line-height:1.2;letter-spacing:.12rem}
.signup-iframe{display:block;width:500px;max-width:100%;height:410px;margin:0 auto;border:0;background:#fff}
.signup-open{overflow:hidden}
@media(max-height:650px){.signup-panel{padding-top:28px;padding-bottom:16px}.signup-kicker{margin-bottom:10px}.emailpopup .heading-10{margin-bottom:12px;font-size:1.3rem}}
@media screen and (max-width:767px){
  .section-4{height:80svh;min-height:530px;background-position:center;background-size:600px 338px}
  .section-4 .logo{top:50%}
  .happiness-album-feature{width:min(72vw,262px);margin-bottom:26px}
  .happiness-carousel-wrap{padding:0 15px}
  .happiness-carousel{gap:12px}
  .happiness-product{flex-basis:min(72vw,280px)}
  .happiness-arrow{display:none}
  .section-9{padding-top:60px;padding-bottom:calc(45px + 10vh)}
  .cookiepolicyoverlay{max-height:75svh;overflow-y:auto}
}
@media screen and (max-width:479px){
  .body{background-image:none}
  .section-4{height:80svh;background-image:url('../images/TEASER3-V6.gif');background-size:600px 338px;background-repeat:repeat;background-attachment:scroll}
  .section-4 .logoimg{width:260px}
  .section-4 .link-block-14{bottom:3%}
}
@media(prefers-reduced-motion:reduce){.happiness-product-image img{transition:none}}

/* Latest videos follow the same black background and Helvetica styling. */
.latest-videos{background:#000;color:#fff;padding:76px clamp(20px,4vw,60px) 86px;font-family:'helvetica neue light',sans-serif}
.latest-videos-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;max-width:1200px;margin:0 auto 28px}
.latest-videos h2{font-family:inherit;font-size:2rem;line-height:1;font-weight:300;margin:0;letter-spacing:0;text-align:left}
.latest-videos-heading a{font-size:.9rem;letter-spacing:.12rem;text-decoration:none;color:#fff;white-space:nowrap}
.latest-videos-heading a:hover,.latest-video-card:hover .latest-video-title{text-decoration:underline;text-underline-offset:4px}
.latest-video-feature{position:relative;width:100%;max-width:1200px;aspect-ratio:16/9;margin:0 auto 28px;background:#111}
.latest-video-feature iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.latest-video-controls{display:flex;justify-content:flex-end;gap:8px;max-width:1200px;margin:0 auto 12px}
.latest-video-arrow{width:36px;height:38px;border:1px solid #fff;background:transparent;color:#fff;font:300 28px/1 'helvetica neue light',sans-serif;cursor:pointer}
.latest-video-arrow:hover{background:#fff;color:#000}
.latest-video-rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:2px;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#777 transparent;max-width:1200px;margin:auto;padding:0 2px 20px}
.latest-video-card{flex:0 0 clamp(230px,26vw,320px);min-width:0;scroll-snap-align:start;color:#fff;text-decoration:none}
.latest-video-thumb{position:relative;display:block;aspect-ratio:16/9;background:#282828;overflow:hidden}
.latest-video-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.latest-video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:54px;height:38px;border-radius:10px;background:rgba(0,0,0,.78);font:16px Arial,sans-serif}
.latest-video-card:hover .latest-video-play{background:#e62117}
.latest-video-title{display:block;font-size:1rem;line-height:1.4;letter-spacing:.02rem;margin-top:12px}
.latest-video-card:focus-visible,.latest-video-arrow:focus-visible,.latest-video-rail:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:767px){.latest-videos{padding:62px 16px calc(70px + 10vh)}.latest-videos-heading{align-items:flex-start;flex-direction:column;gap:14px}.latest-videos h2{font-size:1.7rem}.latest-video-controls{display:none}.latest-video-rail{gap:12px}.latest-video-card{flex-basis:min(76vw,300px)}}
