/* The film's last aperture becomes a window into four independently built sites. */
.worlds-gallery{--world-accent:#b9d2c9;position:relative;isolation:isolate;background:#000;scroll-margin-top:-30px}
.worlds-gallery[data-world="kern"]{--world-accent:#8b9dff}
.worlds-gallery[data-world="kader"]{--world-accent:#bbccd8}
.worlds-gallery[data-world="vonk"]{--world-accent:#e6d5ee}
.world-stage{max-width:1680px;margin:auto;padding:72px var(--page-gutter) 45px}
.world-portal{background:#000}
/* Native sticky and a real trailing block keep the reveal on the browser's
   scroll clock. The extra overlap and trailing height cancel in normal flow. */
.has-horizon-portal:not(.is-static) .worlds-gallery{margin-top:calc(var(--film-vh, 1svh) * -180);background:transparent;scroll-margin-top:calc(var(--film-vh, 1svh) * -80 - 110px);pointer-events:none}
.has-horizon-portal:not(.is-static) .worlds-gallery::after{content:"";display:block;height:calc(var(--film-vh, 1svh) * 80);pointer-events:none}
.has-horizon-portal:not(.is-static) .world-portal{position:sticky;top:0;min-height:calc(var(--film-vh, 1svh) * 100)}
.has-horizon-portal:not(.is-static) .world-stage{min-height:calc(var(--film-vh, 1svh) * 100);padding-top:110px}
.worlds-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:64px}
.worlds-heading h2{font-family:var(--display);font-weight:400;font-size:clamp(34px,3.6vw,60px);line-height:1.14;letter-spacing:-.035em}
.worlds-heading h2>span{display:block}
.worlds-heading>p{max-width:25ch;font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 5px}
.worlds-composition{display:grid;grid-template-columns:minmax(225px,.8fr) minmax(0,2fr);gap:6vw;align-items:center}
.world-tabs{display:flex;flex-direction:column;gap:4px;align-self:start;padding-top:8px}
.world-tabs>button{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;min-height:104px;min-width:0;padding:7px 0 13px;text-align:left;color:#92958f;transition:color .35s}
.world-tab-name{font-family:var(--display);font-size:clamp(47px,5.8vw,98px);font-weight:400;line-height:.95;letter-spacing:-.065em}
.world-tab-kind{grid-column:1;font-size:12px;line-height:1.5;margin-top:9px;color:inherit}
.world-tab-arrow{grid-column:2;grid-row:1/3;font-family:var(--body);font-size:32px;font-weight:200;opacity:0;transform:translate(-9px,9px);transition:opacity .3s,transform .45s cubic-bezier(.2,.7,.2,1)}
.world-tabs>button::after{content:"";height:1px;position:absolute;left:0;right:0;bottom:1px;background:var(--world-accent);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.world-tabs>button:hover{color:var(--paper)}
.world-tabs>button[aria-selected="true"]{color:var(--world-accent)}
.world-tabs>button[aria-selected="true"] .world-tab-arrow{opacity:1;transform:none}
.world-tabs>button[aria-selected="true"]::after{transform:scaleX(1)}
.world-window{min-width:0;container-type:inline-size}
.world-aperture{transform-origin:50% 50%;min-width:0}
.world-panel{margin:0}
.world-link{display:block}
.world-link:focus-visible{outline-color:var(--world-accent);outline-offset:8px}
.world-preview{position:relative;aspect-ratio:1.5;overflow:hidden;isolation:isolate;background:#151a1c;transform-origin:center}
.world-preview>img{width:100%;height:100%;object-fit:cover;display:block}
.world-preview-luw{background:#e6ede9;color:#183b3a}
.world-luw-copy{position:absolute;inset:0 50% 0 0;padding:7% 6%;display:flex;flex-direction:column;align-items:flex-start}
.world-luw-mark{font-family:var(--display);font-size:9cqw;letter-spacing:-.08em;line-height:1}
.world-luw-copy p{font-family:var(--body);font-size:5.8cqw;letter-spacing:-.06em;line-height:1.08;margin:auto 0}
.world-luw-copy>span:last-child{font-size:1.5cqw}
.world-preview-luw>img{position:absolute;inset:0 0 0 auto;width:50%;height:100%;object-position:50% 61%}
.world-preview-kader{background:#f8f9f7;color:#141719;padding:4.5%}
.world-kader-mark{display:block;font-size:23cqw;letter-spacing:-.09em;line-height:.94;font-weight:650;margin-left:-.035em}
.world-preview-kader>img{position:absolute;left:4.5%;top:39%;width:91%;height:51%;object-position:50% 48%}
.world-kader-line{position:absolute;left:4.5%;bottom:3.5%;font-size:1.6cqw}
.world-meta{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:19px 0 13px;border-bottom:1px solid #ffffff30}
.world-meta p{font-size:clamp(12px,1.1vw,16px);line-height:1.65;max-width:34ch;color:var(--paper);margin:0}
.world-open{display:flex;align-items:center;gap:28px;font-size:12px;white-space:nowrap;min-height:44px}
.world-open>span:last-child{font-size:32px;font-weight:200;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.world-link:hover .world-open{color:var(--world-accent)}
.world-link:hover .world-open>span:last-child{transform:translate(4px,-4px)}
.worlds-demo-note{margin:15px 0 0;font-size:12px;line-height:1.8;color:#aaa99e}
.horizon-discover:hover .horizon-project-arrow{transform:translateY(5px)}
.world-invitation{position:relative;isolation:isolate;overflow:hidden;min-height:670px;padding:195px var(--page-gutter) 100px;text-align:center;scroll-margin-top:55px;background:#000}
.invitation-light{position:absolute;z-index:-1;top:-65px;left:0;right:0;height:330px;pointer-events:none}
.invitation-light img{height:100%;width:100%;object-fit:cover;object-position:50% 50%;mix-blend-mode:screen}
.world-invitation h2{position:relative;font-family:var(--display);font-weight:400;font-size:clamp(52px,7.5vw,126px);line-height:1.12;letter-spacing:-.047em;margin:0 auto;max-width:17ch}
.world-invitation h2>span{display:block}
.invitation-line{overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
.invitation-line>span{display:block}
.invitation-action{display:flex;flex-direction:column;align-items:center;gap:24px;margin-top:35px}
.invitation-action>p{font-size:13px;color:var(--muted);line-height:1.7;margin:0}
.invitation-action>button{display:flex;align-items:center;justify-content:space-between;gap:70px;min-height:64px;padding:5px 0;border-bottom:1px solid var(--gold);font-size:14px}
.invitation-action>button>span:last-child{font-size:40px;font-weight:200;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.invitation-action>button:hover{color:var(--gold)}
.invitation-action>button:hover>span:last-child{transform:translate(6px,-6px)}
.has-worlds-gallery .fallback-concept-link{display:none}
@media(min-width:1001px){
 .has-horizon-portal:not(.is-static) .world-stage{align-content:center}
 .world-stage{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,2fr);column-gap:6vw;align-items:start}
 .worlds-heading{grid-column:1;grid-row:1;display:block;margin:0 0 22px}.worlds-heading h2{font-size:clamp(28px,2.65vw,42px);line-height:1.2}.worlds-heading>p{margin:16px 0 0;font-size:12px;max-width:25ch}
 .worlds-composition{display:contents}.world-tabs{grid-column:1;grid-row:2;padding:0}.world-tabs>button{min-height:83px}.world-tab-name{font-size:clamp(46px,5.1vw,80px)}
 .world-window{grid-column:2;grid-row:1/3;align-self:center}
}
@media(min-width:1550px){.world-stage{column-gap:100px}.world-tabs>button{min-height:112px}}
@media(max-width:1000px){
 .world-stage{padding-top:85px;padding-bottom:35px}
 .worlds-heading{gap:30px;margin-bottom:40px}.worlds-heading h2{font-size:clamp(32px,4.9vw,48px)}.worlds-heading>p{font-size:12px;max-width:22ch}
 .worlds-composition{display:flex;flex-direction:column;gap:28px;align-items:stretch}
 .world-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;padding:0;align-self:stretch}
 .world-tabs>button{min-height:80px;padding:8px 0 15px;display:block}.world-tab-name{font-size:clamp(31px,5vw,52px)}.world-tab-kind{display:block;margin-top:8px;font-size:12px}.world-tab-arrow{display:none}
 .world-meta p{font-size:14px}.world-preview{aspect-ratio:1.5}
 .world-invitation{min-height:600px;padding-top:180px;padding-bottom:85px}.world-invitation h2{font-size:clamp(58px,8vw,80px)}
}
@media(max-width:600px){
 .world-stage{padding-top:72px;padding-bottom:25px}
 .worlds-heading{display:block;margin-bottom:30px}.worlds-heading h2{font-size:clamp(31px,8.3vw,46px);max-width:18ch;line-height:1.2}.worlds-heading>p{max-width:29ch;font-size:12px;margin:20px 0 0}
 .worlds-composition{gap:24px}.world-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 28px}.world-tabs>button{min-height:78px;padding-top:0;padding-bottom:13px}.world-tab-name{font-size:clamp(34px,8.4vw,46px);letter-spacing:-.06em}.world-tab-kind{font-size:12px;margin-top:7px}
 .world-meta{gap:16px;align-items:flex-start;padding:17px 0 14px}.world-meta p{font-size:12px;max-width:20ch;padding-top:8px}.world-open{gap:14px;font-size:12px}.world-open>span:last-child{font-size:25px}.worlds-demo-note{font-size:12px;max-width:44ch;margin-top:13px}
 .world-invitation{min-height:560px;padding-top:155px;padding-bottom:70px}.invitation-light{top:-25px;height:260px;left:-40%;right:-40%}.world-invitation h2{font-size:clamp(42px,11vw,66px);line-height:1.17;max-width:15ch}.invitation-action{margin-top:25px;gap:23px}.invitation-action>p{font-size:12px}.invitation-action>button{font-size:13px;min-height:58px;gap:60px}.invitation-action>button>span:last-child{font-size:32px}
}
@media(max-width:360px){.world-tabs{gap:12px 24px}.world-meta{display:block}.world-meta p{max-width:none;padding-top:0}.world-open{justify-content:space-between;min-height:48px;margin-top:5px}.world-stage{padding-left:20px;padding-right:20px}}
/* Keep all four choices and the preview together on shorter laptop screens. */
@media(min-width:1001px) and (max-height:850px){
 .world-stage{padding-top:56px;padding-bottom:32px}
 .worlds-heading{margin-bottom:18px}.worlds-heading h2{font-size:28px}.worlds-heading>p{margin-top:13px;line-height:1.7}
 .world-tabs>button{min-height:76px;padding-bottom:11px}.world-tab-name{font-size:clamp(42px,4.5vw,62px)}.world-tab-kind{margin-top:6px}
 .world-window{width:100%;max-width:calc((calc(var(--film-vh, 1svh) * 100) - 280px) * 1.5);justify-self:end}
 .world-meta{padding-top:15px;padding-bottom:11px}.worlds-demo-note{margin-top:12px}
}
@media(prefers-reduced-motion:reduce){.has-horizon-portal .worlds-gallery{margin-top:0;scroll-margin-top:-30px;pointer-events:auto}.has-horizon-portal .worlds-gallery::after{display:none}.has-horizon-portal .world-portal{position:static;clip-path:none!important;transform:none!important;opacity:1!important;pointer-events:auto!important;min-height:0}.world-aperture,.world-preview{clip-path:none!important;transform:none!important}.world-tab-arrow,.world-tabs>button::after,.world-open>span:last-child,.invitation-action>button>span:last-child{transition:none}}
