/* Supplied Osmo panel geometry, composed with Rigoro's typography and palette.
   Every chapter is an ordinary readable block until GSAP enhances the section. */
.benefits-horizontal{position:relative;padding:0;background:var(--paper);color:var(--ink);isolation:isolate}
.benefits-horizontal .horizontal__panel{width:100%;flex:none}
.benefits-horizontal .horizontal__panel-inner{height:100%;padding:12px}
.benefits-horizontal .horizontal__panel:first-child .horizontal__panel-inner{padding:0}
.benefit-frame{position:relative;min-height:680px;min-height:min(780px,90svh);overflow:hidden;border-radius:18px;background:var(--ink);color:var(--paper);display:flex;align-items:flex-end;padding:clamp(30px,5vw,88px)}
.benefit-frame__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 35%}
.benefit-frame__image[data-image-status=final]{object-position:65% 30%}
.benefit-frame__image[data-image-status=final][data-image-slot=benefit-01]{object-position:61% 0%}
.benefit-frame__image[data-image-status=final][data-image-slot=benefit-02]{object-position:60% 10%}
.benefit-frame__image[data-image-status=final][data-image-slot=benefit-03]{object-position:61% 0%}
.benefit-frame__image[data-image-status=final][data-image-slot=benefit-04]{object-position:59% 0%}
.benefit-frame::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0c1115b8 0%,#0c111570 14%,#0c111500 34%),linear-gradient(0deg,#0c1115eb 0%,#0c11157a 35%,#0c111500 75%),linear-gradient(90deg,#0c111561,transparent 65%);pointer-events:none}
.benefit-frame__content{position:relative;z-index:1;max-width:630px}
.benefits-horizontal .benefit-frame h3{font:500 clamp(38px,4.6vw,76px)/1.04 var(--display);letter-spacing:-.035em;max-width:13ch;margin:0 0 23px;text-wrap:balance}
.benefits-horizontal .benefit-frame__content p{font:400 clamp(15px,1.25vw,19px)/1.6 var(--body);color:var(--paper);max-width:48ch;margin:0}
.benefit-frame--intro{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-radius:0;background:var(--paper);color:var(--ink);padding-block:75px;min-height:max(660px,100svh)}
.benefit-frame--intro::after{display:none}
.benefit-intro__media{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:#b6b6b6}
.benefit-intro__poster,.benefit-intro__film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:brightness(1.19)}
.benefit-intro__film{opacity:0}
.benefit-intro__film.is-ready{opacity:1}
.benefits-horizontal .benefit-intro__title{position:relative;z-index:1;font:400 clamp(68px,8.2vw,96px)/1.04 var(--display);letter-spacing:-.04em;max-width:100%;margin:0 0 30px;color:var(--ink)}
.benefit-intro__line{display:block}
.benefit-intro__line--emphasis{font-weight:600}
.benefits-horizontal .benefit-intro__subtitle{position:relative;z-index:1;font-size:clamp(18px,1.7vw,25px);line-height:1.45;max-width:32ch;letter-spacing:-.02em}
.benefits-horizontal .benefit-intro__description{position:relative;z-index:1;margin-top:22px;max-width:53ch;font-size:15px;line-height:1.6;color:var(--muted)}
.benefit-intro__cue{display:none}
.is-horizontal .benefit-intro__cue{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:16px;margin-top:30px;color:#4c514e;font:500 9px/1.6 var(--body);text-transform:uppercase;letter-spacing:.3em;pointer-events:none}
.benefit-intro__cue-icon{position:relative;display:block;width:15px;height:24px;border:1px solid currentColor;border-radius:999px;opacity:.75}
.benefit-intro__cue-icon::before{content:'';position:absolute;top:5px;left:5px;width:3px;height:5px;border-radius:3px;background:currentColor;animation:benefit-scroll-hint 2.2s cubic-bezier(.22,1,.36,1) infinite}
.is-image-panel .benefit-intro__cue-icon::before{animation-play-state:paused}
@keyframes benefit-scroll-hint{0%,15%{transform:translateY(0);opacity:0}30%{opacity:1}75%{transform:translateY(6px);opacity:1}100%{transform:translateY(6px);opacity:0}}
.benefits-horizontal.is-horizontal{display:flex;flex-flow:row;overflow:hidden;height:100svh;min-height:530px}
.is-horizontal .benefit-frame{height:100%;min-height:0;padding-bottom:70px}
.is-horizontal .benefit-frame--intro{padding-bottom:75px}
.benefits-horizontal:focus-visible{outline:1px solid var(--ink);outline-offset:-3px}
@media(max-width:1000px){.benefits-horizontal .benefit-intro__title{font-size:clamp(62px,8.5vw,86px)}.benefits-horizontal .benefit-frame h3{font-size:clamp(40px,5.4vw,62px)}}
@media(max-width:767px){.benefits-horizontal .horizontal__panel-inner{padding:8px}.benefit-frame{min-height:650px;min-height:max(620px,calc(100svh - 16px));padding:28px 25px 40px;border-radius:12px}.benefit-frame__image{object-position:55% 25%}.benefit-frame__content{max-width:100%}.benefits-horizontal .benefit-frame h3{font-size:clamp(34px,9vw,56px);max-width:15ch;margin-bottom:20px}.benefits-horizontal .benefit-frame__content p{font-size:15px;max-width:40ch}.benefit-frame--intro{min-height:max(620px,100svh);padding-block:60px}.benefits-horizontal .benefit-intro__title{font-size:clamp(56px,14vw,90px);max-width:100%;margin-bottom:26px}.benefits-horizontal .benefit-intro__subtitle{font-size:20px;max-width:27ch}.benefits-horizontal .benefit-intro__description{font-size:14px}}

.page-en .benefits-horizontal .benefit-intro__title{max-width:100%;font-size:clamp(64px,7.2vw,96px)}
@media(max-width:767px){.page-en .benefits-horizontal .benefit-intro__title{max-width:100%;font-size:clamp(56px,14vw,90px)}}
