/* Scoped landing portal; the rest of the fluid site stays unchanged. */
.portal{height:100svh;position:relative;background:#1A1A1A;color:#FFFFFF}.portal-stage{height:100svh;position:relative;overflow:hidden;isolation:isolate;background:#1A1A1A}.portal-image{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transform:scale(1);opacity:.75}.portal-image svg{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.5)}.portal-wash{position:absolute;inset:0;background:#FF0033;mix-blend-mode:overlay;opacity:.08;pointer-events:none}.portal-panel{position:absolute;top:0;bottom:0;width:51%;background:#1A1A1A;display:none;z-index:2}.portal-left{left:0}.portal-right{right:0}.portal-title{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;gap:.22em;margin:0;z-index:4;font-family:Inter,Arial,sans-serif;font-size:9.5vw;line-height:.9;letter-spacing:-.045em;font-weight:800;pointer-events:none;white-space:nowrap}.portal-title>span{display:inline-block;will-change:transform}.portal-period{color:#FF0033}.portal-dot{display:none;position:absolute;width:8px;height:8px;background:#FF0033;border-radius:50%;left:50%;top:50%;z-index:3}.portal-meta,.portal-foot{position:absolute;left:5%;right:5%;display:flex;justify-content:space-between;gap:20px;font-family:ui-monospace,monospace;font-size:9px;letter-spacing:.14em;z-index:5}.portal-meta{top:30px}.portal-foot{bottom:22px;color:#bdbdbd}.portal-scroll{display:none;color:#FF0033}.portal-bottom{position:absolute;bottom:85px;left:5%;right:5%;display:flex;align-items:end;justify-content:space-between;gap:30px;border-top:1px solid #ffffff55;padding-top:20px;z-index:5}.portal-bottom .eyebrow{font-size:9px;margin-bottom:10px}.portal-description{font-size:14px;line-height:1.5;margin:0;color:#ddd}.portal-actions{display:flex;gap:25px;align-items:center}.portal-actions .button{color:white}.portal-actions .text-link{font-size:12px}.portal-motion .portal{height:230svh}.portal-motion .portal-stage{position:sticky;top:0}.portal-motion .portal-panel,.portal-motion .portal-dot,.portal-motion .portal-scroll{display:block}.portal-motion .portal-left{transform:translateX(var(--panel-left,0%))}.portal-motion .portal-right{transform:translateX(var(--panel-right,0%))}.portal-motion .portal-image{transform:scale(var(--image-scale,1.16))}.portal-motion .portal-wash{opacity:var(--wash-opacity,0)}.portal-motion .portal-title{transform:scale(var(--title-scale,1));letter-spacing:var(--title-tracking,-.025em)}.portal-motion .portal-title>span:first-child{transform:translateX(var(--title-left,0%))}.portal-motion .portal-title>span:last-child{transform:translateX(var(--title-right,0%))}.portal-motion .dot-left{transform:translate(var(--dot-left-x,-10px),var(--dot-left-y,0px))}.portal-motion .dot-right{transform:translate(var(--dot-right-x,10px),var(--dot-right-y,0px))}.portal-motion .portal-bottom{opacity:var(--content-opacity,0)}.portal-motion .portal-actions{visibility:hidden}.portal-motion.portal-ready .portal-actions{visibility:visible}
@media(max-width:650px){.portal-title{font-size:9.4vw;gap:.2em}.portal-meta{top:22px;font-size:7px;letter-spacing:.06em;gap:16px}.portal-meta>span:last-child{text-align:right;max-width:100px}.portal-bottom{bottom:100px;display:block;padding-top:18px}.portal-description{font-size:13px}.portal-bottom .eyebrow{font-size:8px}.portal-actions{margin-top:20px;gap:20px;flex-wrap:wrap}.portal-actions .button{font-size:12px;padding:14px 20px}.portal-foot{bottom:30px;font-size:7px;letter-spacing:.04em;display:grid;grid-template-columns:1fr 1fr}.portal-foot>span:last-child{text-align:right;grid-column:2;grid-row:1}.portal-scroll{grid-column:1/-1;margin-top:7px}.portal-image svg{width:170%;max-width:none;flex-shrink:0;height:100%}}
@media(prefers-reduced-motion:reduce){.portal-motion .portal{height:100svh}.portal-motion .portal-stage{position:relative}.portal-motion .portal-panel,.portal-motion .portal-dot,.portal-motion .portal-scroll{display:none}.portal-motion .portal-image,.portal-motion .portal-title,.portal-motion .portal-title>span{transform:none!important}.portal-motion .portal-title{letter-spacing:-.045em}.portal-motion .portal-bottom{opacity:1}.portal-motion .portal-actions{visibility:visible}}

/* Brand annotations: remove transparent logo padding and retain exact vector lettering. */
header{height:120px;padding:10px 5%;gap:22px}header .brand{flex:0 0 auto}header .brand img{display:block;width:230px;height:100px;object-fit:contain}.portal-title{gap:1.7vw;font-size:9.5vw}.portal-title>span{position:relative;flex:0 0 auto;line-height:0}.portal-title .portal-wordmark-left{width:60vw}.portal-title .portal-wordmark-right{width:22.8vw}.portal-title img{display:block;width:100%;height:auto}.portal-title .portal-period{position:absolute;left:100%;bottom:-.08em;font:800 8vw/.7 Inter,Arial,sans-serif;color:#FF0033}.portal-motion .portal-title .portal-wordmark-right{margin-left:var(--wordmark-tightening,0px)}
@media(max-width:1100px){header .brand img{width:210px;height:94px}header{height:112px}nav{gap:17px;font-size:11px}}
@media(max-width:650px){header{height:94px;padding:8px 5%;gap:12px}header .brand img{width:150px;height:76px}header .small{font-size:11px;padding:12px 16px}.portal-title .portal-wordmark-left{width:60vw}.portal-title .portal-wordmark-right{width:22.8vw}.portal-title{gap:1.7vw}.portal-title .portal-period{font-size:8vw}}
.portal-image{opacity:1}.portal-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 58%;filter:brightness(.65)}.portal-wash{background:#FF0033;mix-blend-mode:overlay}
@media(max-width:650px){.portal-image img{object-position:58% 50%;width:100%;height:100%}}

/* Aligned brand and translucent sticky navigation. */
html{scroll-padding-top:112px}header{position:sticky;top:0;z-index:40;height:104px;display:flex;align-items:center;justify-content:space-between;padding:10px 5%;gap:24px;background:rgba(26,26,26,.58);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.12)}header .brand{display:flex;align-items:center;justify-content:center;align-self:center}header .brand img{width:180px;height:84px;object-fit:contain;display:block}header nav{align-items:center}header .button{align-self:center}.portal-meta{top:126px}.package{scroll-margin-top:120px}
@media(max-width:1100px){header{height:100px;gap:20px}header .brand img{width:170px;height:80px}header nav{gap:17px}.portal-meta{top:122px}}
@media(max-width:650px){header{height:88px;padding:8px 5%;gap:12px}header .brand img{width:150px;height:72px}header .small{padding:12px 16px}.portal-meta{top:109px}html{scroll-padding-top:96px}}

/* A scroll-bound logo slides and fades into the navigation brand. */
.portal-logo-anchor{position:absolute;width:280px;height:134px;left:50%;top:27%;transform:translateX(-50%);z-index:4;pointer-events:none}.portal-logo-anchor img{width:100%;height:100%;object-fit:contain;display:block}.portal-logo-traveller{display:none;position:fixed;top:0;left:0;z-index:45;object-fit:contain;transform-origin:top left;pointer-events:none;will-change:transform,opacity}.portal-motion .portal-logo-anchor img{visibility:hidden}.portal-motion .portal-logo-traveller{display:block}
@media(max-width:650px){.portal-logo-anchor{width:220px;height:105px;top:27%}}
@media(prefers-reduced-motion:reduce){.portal-motion .portal-logo-anchor img{visibility:visible}.portal-motion .portal-logo-traveller{display:none}}

/* The travelling hero logo hands off to the menu logo at the end. */
.portal-motion header .brand img{opacity:var(--menu-logo-opacity,0)}
@media(prefers-reduced-motion:reduce){.portal-motion header .brand img{opacity:1}}

/* Hero logo sized to 75 percent of the viewport width. */
.portal-logo-anchor{width:75vw;height:35.9vw;top:18%}.portal-title{inset:auto 0 14%;height:12svh}
@media(max-width:650px){.portal-logo-anchor{width:75vw;height:35.9vw;top:25%}.portal-title{inset:auto 0 30%;height:12svh}}
@media(min-width:651px) and (max-aspect-ratio:17/10){.portal-logo-anchor{top:18%}.portal-title{bottom:14%}}
@media(min-width:651px) and (min-aspect-ratio:17/10){.portal-logo-anchor{top:16%;height:39svh}.portal-title{bottom:15%;font-size:8vw}.portal-title .portal-wordmark-left{width:51vw}.portal-title .portal-wordmark-right{width:19.4vw}}
