/* V4: one coherent landscape at every viewport, with architectural project portals. */
.arrival.atlas{height:100svh;min-height:680px;padding:0;overflow:hidden;background:#05172a;isolation:isolate}
.arrival .site-header{inset:0 0 auto;left:0;right:0;top:0;padding:27px 4%;height:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(#02101b77,transparent);z-index:25}
.arrival .site-header nav{gap:30px}.arrival .site-header nav a{font-size:14px}
.arrival .atlas-stage{position:absolute;inset:0;z-index:-3;overflow:hidden;container-type:size}
.arrival .atlas-scene{position:absolute;left:50%;top:50%;width:max(100cqw,calc(100cqh * var(--scene-ratio)));height:auto;aspect-ratio:var(--scene-ratio);transform:translate(-50%,-50%);padding:0;isolation:isolate}
.arrival .atlas-water{position:absolute;inset:0;z-index:-2;opacity:1}
.arrival .atlas-water>img{object-fit:fill}
.arrival .atlas-water:after{display:none}
.arrival-atmosphere{position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(180deg,#03152522,transparent 37%,transparent 83%,#031321a6)}
.arrival .atlas-heading{position:absolute;left:5.8%;top:14%;margin:0;z-index:3;pointer-events:none}
.arrival .atlas-kicker{font-size:10px;line-height:1.5;letter-spacing:.18em;margin:0 0 17px;color:#bfd5e4}
.arrival .atlas-heading h1{font-size:clamp(57px,5.7vw,100px);font-weight:350;line-height:.98;letter-spacing:-.055em;text-shadow:0 2px 25px #04172655}
.arrival .atlas-heading h1 em{font-style:normal;font-weight:350;color:#e5eef3}
.arrival .atlas-instruction{font-size:13px;line-height:1.65;margin-top:22px;max-width:440px;color:#d1e0ea;text-shadow:0 1px 10px #031729}
.arrival-references .atlas-heading h1{font-size:clamp(48px,5vw,83px)}
.arrival .island-group{position:absolute;inset:0;padding:0;display:block;max-width:none;margin:0}
.arrival .city{position:absolute;margin:0;align-self:auto;order:initial;border:0;background:none;isolation:auto;transform:none!important;pointer-events:none;transition:none;z-index:2;overflow:visible}
.arrival .city-art{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible;filter:none;transition:none}
.arrival .city-art image{opacity:0;filter:brightness(1.22) saturate(1.08);transition:opacity .35s;pointer-events:none}
.arrival .city-hit{fill:transparent;pointer-events:all;cursor:pointer}
.arrival .city:hover,.arrival .city:focus-visible,.arrival .city[aria-pressed=true]{z-index:3}
.arrival .city:hover .city-art,.arrival .city:focus-visible .city-art,.arrival .city[aria-pressed=true] .city-art{filter:none}
.arrival .city:hover .city-art image,.arrival .city:focus-visible .city-art image,.arrival .city[aria-pressed=true] .city-art image{opacity:1}
.arrival .city:after{display:none}
.arrival .city-caption{position:absolute;left:var(--label-x);top:var(--label-y);bottom:auto;transform:translate(-50%,0);margin:0;padding:8px 4px;max-width:none;width:max-content;display:flex;align-items:center;gap:10px;text-align:left;white-space:nowrap;border:0;background:radial-gradient(ellipse,#021320bb,transparent 75%);pointer-events:auto;text-shadow:0 1px 8px #011123;transition:transform .3s;color:#fff}
.arrival .city-caption:before{content:'';position:absolute;bottom:100%;left:50%;height:17px;width:1px;background:linear-gradient(transparent,var(--project));opacity:.65}
.arrival .city-caption strong{font-size:18px;font-weight:500;letter-spacing:-.02em;line-height:1.2}
.arrival .city-caption>span>span{font-size:10px;margin-top:5px;color:#c6d8e6}
.arrival .city-index{font-size:9px;color:var(--project);align-self:flex-start;padding-top:4px;letter-spacing:.1em}
.arrival .city-enter{font-size:22px;margin-left:8px;color:var(--project);opacity:.8}
.arrival .city:hover .city-caption,.arrival .city:focus-visible .city-caption{transform:translate(-50%,-4px)}
.arrival .city:focus-visible .city-caption{outline:2px solid var(--project);outline-offset:5px;border-radius:3px}
.arrival .atlas-bottom{left:4%;right:4%;bottom:20px;gap:16px;z-index:5}
.arrival .atlas-own-link{font-size:12px;gap:12px;min-height:44px;padding:0}
.arrival-link-line{width:27px;height:1px;background:#bde6ff}
.arrival .atlas-hint{display:flex;align-items:center;gap:22px;font-size:11px;color:#c1d1df}
.arrival .atlas-hint>span{font-size:9px;letter-spacing:.15em;color:#88adc6}
.arrival .atlas-bottom .motion-control{background:#041728bb;border:1px solid #7ba5be33;border-radius:30px;padding:10px 15px;font-size:11px;min-height:44px}
.arrival .sky-flight{top:12%;width:65px;z-index:0;opacity:.82;animation-duration:110s;animation-delay:-67s}
.arrival .boat{width:6%;z-index:1}
.arrival:has(.arrival-portal[open]) .sky-flight{animation-play-state:paused}
.arrival[data-variant=tablet] .atlas-heading{top:11%;left:5.5%}
.arrival[data-variant=tablet] .atlas-heading h1{font-size:clamp(50px,8.3vw,85px)}
.arrival[data-variant=tablet] .atlas-instruction{font-size:13px;max-width:350px;margin-top:18px}
.arrival[data-variant=tablet] .atlas-hint{display:none}
.arrival[data-variant=tablet] .city-caption strong{font-size:16px}
.arrival[data-variant=tablet] .city-caption>span>span{font-size:9px}
.arrival[data-variant=tablet] .city-caption{gap:7px}
.arrival[data-variant=tablet] .sky-flight{width:55px;top:19%}
.arrival[data-variant=portrait] .atlas-heading{left:6%;top:12%}
.arrival[data-variant=portrait] .atlas-heading h1{font-size:clamp(46px,13vw,66px)}
.arrival[data-variant=portrait] .atlas-kicker{font-size:8px;letter-spacing:.13em;margin-bottom:13px}
.arrival[data-variant=portrait] .atlas-instruction{font-size:11px;line-height:1.6;margin-top:15px;max-width:300px}
.arrival[data-variant=portrait] .atlas-hint{display:none}
.arrival[data-variant=portrait] .city-caption strong{font-size:13px}
.arrival[data-variant=portrait] .city-caption>span>span{display:none}
.arrival[data-variant=portrait] .city-caption{gap:5px;padding:10px 4px;min-height:44px}
.arrival[data-variant=portrait] .city-index{font-size:8px;padding-top:3px}
.arrival[data-variant=portrait] .city-enter{font-size:17px;margin-left:4px}
.arrival[data-variant=portrait] .city-caption:before{height:10px}
.arrival[data-variant=portrait] .atlas-own-link{font-size:11px;gap:8px}
.arrival[data-variant=portrait] .arrival-link-line{width:17px}
.arrival[data-variant=portrait] .atlas-bottom .motion-label{display:none}
.arrival[data-variant=portrait] .atlas-bottom .motion-control{width:44px;padding:0;justify-content:center}
.arrival[data-variant=portrait] .sky-flight{width:45px;top:19%}
.arrival[data-variant=portrait] .boat{width:9%}

/* The entire project landscape is the dialog. Its information surface stands in the scene. */
.atlas-detail.arrival-portal{position:fixed;inset:0;margin:0;padding:0;width:100%;height:100svh;max-width:none;max-height:none;border:0;border-radius:0;background:#05172a;overflow:hidden;box-shadow:none}
.arrival-portal::backdrop{background:#020d19}
.arrival-portal .atlas-preview-layout{position:relative;display:block;width:100%;height:100%;max-height:none;overflow:hidden;isolation:isolate;perspective:1800px}
.arrival-portal .atlas-preview-art{position:absolute;inset:0;height:auto;min-height:0;z-index:-3;overflow:hidden}
.arrival-portal .atlas-preview-art .environment{z-index:0;inset:-5px;translate:var(--portal-look-x,0px) var(--portal-look-y,0px);transition:translate .9s ease-out}
.arrival-portal .atlas-preview-art .environment>img{object-position:35% center}
.arrival-portal .atlas-preview-art:after{position:absolute;inset:0;background:linear-gradient(180deg,#02152577,transparent 23%,transparent 76%,#021424c9),linear-gradient(90deg,transparent 45%,#04132240);z-index:1;pointer-events:none}
.arrival-portal .portal-topline{position:absolute;top:30px;left:4%;right:160px;display:flex;align-items:center;gap:42px;z-index:3}
.portal-topline>.wordmark{font-size:31px}
.portal-topline>span{font-size:11px;letter-spacing:.12em;color:#fff}
.portal-topline>span>span{color:#a5becf}
.portal-top-type{margin-left:30px;letter-spacing:.06em;font-size:10px}
.arrival-portal .atlas-close,.arrival-portal .atlas-preview-motion{top:23px;background:#051927b8;border:1px solid #a3c8dc66;color:#eef7fb}
.arrival-portal .atlas-close{right:4%}.arrival-portal .atlas-preview-motion{right:calc(4% + 56px)}
.arrival-portal .portal-title{position:absolute;left:5.5%;top:16%;width:43%;pointer-events:none;color:#eef5fa;text-shadow:0 2px 18px #011424}
.portal-title>span{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px;color:#c9dce8}
.portal-title>strong{font-size:clamp(31px,3.4vw,56px);line-height:1.1;font-weight:350;letter-spacing:-.04em}
.portal-title i{display:block;font-style:normal;color:#c7dae7}
.arrival-portal .atlas-preview-copy{position:absolute;right:6.5%;left:auto;top:50%;bottom:auto;width:min(35%,475px);padding:0;border:0;display:block;background:none;align-self:auto;transform:translateY(-47%) rotateY(-9deg);transform-origin:left center;isolation:isolate;animation:portal-unfold .8s cubic-bezier(.16,.75,.2,1) both}
.portal-face{position:relative;padding:29px 32px 22px;background:linear-gradient(135deg,#143348 0%,#081e30 43%,#051522);border:1px solid color-mix(in srgb,var(--project) 40%,#4b626e);border-left:2px solid color-mix(in srgb,var(--project) 80%,white);border-radius:2px;box-shadow:-8px 18px 65px #00101eb0,0 0 25px color-mix(in srgb,var(--project) 12%,transparent);z-index:2}
.portal-face:after{content:'';position:absolute;left:100%;top:5px;bottom:-5px;width:10px;transform:skewY(35deg);transform-origin:left top;background:linear-gradient(90deg,#345565,#031320);border-right:1px solid #89afc43b}
.portal-brandline{display:flex;align-items:center;justify-content:space-between;gap:12px}
.arrival-portal .atlas-brand{min-height:42px;height:48px;margin:0 0 16px}
.arrival-portal .atlas-brand .logo-bar-radar{width:113px;height:72px;margin:-14px 0 0;object-fit:contain}
.arrival-portal .atlas-brand .logo-fiderol{width:159px;height:52px;margin:0;object-fit:contain}
.arrival-portal .atlas-brand .vp-logo{font-size:16px;gap:8px;white-space:nowrap}
.arrival-portal .atlas-brand .vp-logo img{width:31px;height:31px}
.portal-number{font-size:11px;color:var(--project);font-variant-numeric:tabular-nums;letter-spacing:.1em;align-self:flex-start;padding-top:10px}
.arrival-portal .atlas-type{font-size:8px;letter-spacing:.1em;margin-bottom:13px;color:#a2bfce}
.arrival-portal h2{font-size:clamp(34px,3.1vw,49px);line-height:1.04;font-weight:400;letter-spacing:-.045em;margin:0 0 19px}
.arrival-portal h2>span{color:var(--project)}
.arrival-portal .atlas-description{font-size:13px;line-height:1.7;color:#c7d9e4;margin:0 0 20px}
.arrival-portal .atlas-facts{display:flex;flex-direction:column;gap:0;margin:0 0 24px;padding:0;list-style:none}
.arrival-portal .atlas-facts li{display:flex;flex-direction:row;align-items:center;min-height:35px;gap:12px;padding:8px 0;border:0;border-top:1px solid #89aec72b;background:none;border-radius:0}
.arrival-portal .atlas-facts li>span{font-size:11px;line-height:1.4;color:#dfeaf1}
.arrival-portal .atlas-facts .portal-fact-index{font-size:8px;color:var(--project);letter-spacing:.08em}
.arrival-portal .atlas-preview-action{margin:0}
.arrival-portal .atlas-enter{display:flex;align-items:center;justify-content:space-between;min-height:53px;padding:8px 9px 8px 17px;border-radius:2px;font-size:13px;font-weight:600;box-shadow:0 5px 20px #0002}
.arrival-portal .atlas-enter>span{display:grid;place-items:center;width:35px;height:35px;border:1px solid #001e3744;border-radius:50%;font-size:21px}
.arrival-portal .atlas-preview-action>p{font-size:8px;letter-spacing:.015em;color:#94b2c4;margin-top:13px}
.portal-foot{position:absolute;top:calc(100% - 4px);left:13%;right:0;height:60px;z-index:-1;transform:skewX(-34deg);background:linear-gradient(180deg,color-mix(in srgb,var(--project) 13%,#072131),transparent);border-top:2px solid color-mix(in srgb,var(--project) 70%,white);opacity:.8}
.portal-worlds{position:absolute;left:5.5%;right:49%;bottom:30px;display:flex;justify-content:space-between;align-items:center;gap:25px}
.portal-worlds button{position:relative;display:flex;align-items:center;gap:11px;font-size:12px;padding:16px 0;min-height:46px;background:none;border-bottom:1px solid #81a7bb55;color:#bbcede}
.portal-worlds button>span{font-size:9px;color:#8ba9bd}
.portal-worlds button[aria-pressed=true]{color:white;border-color:var(--item-color)}
.portal-worlds button[aria-pressed=true]>span{color:var(--item-color)}
@keyframes portal-unfold{from{opacity:0;transform:translate(38px,-43%) rotateY(-30deg)}to{opacity:1;transform:translate(0,-47%) rotateY(-9deg)}}
@media(max-width:1100px) and (min-aspect-ratio:115/100){
 .arrival-portal .atlas-preview-copy{width:39%;right:5%}
 .portal-face{padding:23px 25px 18px}
 .arrival-portal h2{font-size:37px}
 .portal-worlds{right:48%;gap:15px}
 .portal-worlds button{font-size:10px;gap:6px}
 .portal-top-type{display:none}
}
@media(max-aspect-ratio:115/100){
 .arrival-portal .atlas-preview-art .environment>img{object-position:26% center}
 .arrival-portal .portal-title{top:15%;left:6%;width:58%}
 .portal-title>strong{font-size:clamp(33px,5vw,49px)}
 .arrival-portal .atlas-preview-copy{width:54%;right:6%;top:57%;transform:translateY(-42%) rotateY(-8deg);animation-name:portal-unfold-tall}
 .portal-face{padding:25px 27px 21px}
 .arrival-portal h2{font-size:clamp(32px,5.2vw,43px)}
 .portal-worlds{left:6%;right:6%;bottom:24px;justify-content:flex-start;gap:30px}
 .portal-worlds button{font-size:11px;gap:9px}
 .portal-top-type{display:none}
 .arrival-portal .atlas-brand .vp-logo{font-size:14px}
}
@keyframes portal-unfold-tall{from{opacity:0;transform:translate(30px,-37%) rotateY(-28deg)}to{opacity:1;transform:translateY(-42%) rotateY(-8deg)}}
@media(max-width:600px){
 .arrival .site-header{padding:23px 6%;gap:20px}
 .arrival .site-header .wordmark{font-size:27px}
 .arrival .site-header nav{gap:17px}.arrival .site-header nav a{font-size:11px}
 .arrival .atlas-bottom{left:6%;right:6%;bottom:15px}
 .arrival .city-caption>span>span{display:none}
 .arrival-portal .portal-topline{top:25px;left:6%;right:128px;gap:24px}
 .portal-topline>.wordmark{font-size:26px}
 .portal-topline>span{font-size:9px;white-space:nowrap}
 .arrival-portal .atlas-close{right:5%;top:18px}
 .arrival-portal .atlas-preview-motion{right:calc(5% + 52px);top:18px}
 .arrival-portal .portal-title{left:7%;top:13%;width:78%}
 .portal-title>span{font-size:8px;margin-bottom:9px}
 .portal-title>strong{font-size:34px}.portal-title i{display:inline}
 .arrival-portal .atlas-preview-art .environment>img{object-position:22% center}
 .arrival-portal .atlas-preview-copy{width:calc(100% - 49px);right:26px;top:auto;bottom:91px;transform:rotateY(-5deg);animation-name:portal-unfold-phone}
 .portal-face{padding:20px 22px 16px;background:linear-gradient(140deg,#14354af7,#051725fa)}
 .arrival-portal .atlas-brand{height:32px;min-height:32px;margin-bottom:12px}
 .arrival-portal .atlas-brand .logo-bar-radar{width:90px;height:57px;margin:-10px 0 0}
 .arrival-portal .atlas-brand .logo-fiderol{width:130px;height:38px}
 .arrival-portal .atlas-brand .vp-logo{font-size:16px;gap:7px}
 .arrival-portal .atlas-brand .vp-logo img{width:27px;height:27px}
 .portal-number{font-size:9px;padding-top:4px}
 .arrival-portal .atlas-type{font-size:7px;margin-bottom:10px}
 .arrival-portal h2{font-size:34px;margin-bottom:13px}
 .arrival-portal .atlas-description{font-size:12px;line-height:1.65;margin-bottom:14px}
 .arrival-portal .atlas-facts{margin-bottom:17px}
 .arrival-portal .atlas-facts li{min-height:27px;padding:5px 0;gap:9px}
 .arrival-portal .atlas-facts li>span{font-size:11px}
 .arrival-portal .atlas-facts .portal-fact-index{font-size:7px}
 .arrival-portal .atlas-enter{font-size:12px;min-height:48px;padding-left:15px}
 .arrival-portal .atlas-enter>span{width:31px;height:31px}
 .arrival-portal .atlas-preview-action>p{font-size:9px;margin-top:10px}
 .portal-foot{height:35px}
 .portal-worlds{left:7%;right:7%;bottom:23px;justify-content:space-between;gap:14px}
 .portal-worlds button{font-size:10px;gap:6px;padding:12px 0}
 .portal-worlds button>span{font-size:8px}
}
@keyframes portal-unfold-phone{from{opacity:0;transform:translateY(40px) rotateY(-25deg)}to{opacity:1;transform:translateY(0) rotateY(-5deg)}}
@media(max-height:760px) and (min-aspect-ratio:115/100){
 .arrival.atlas{min-height:540px}
 .arrival .atlas-heading{top:16%}.arrival .atlas-heading h1{font-size:clamp(42px,5.2vw,70px)}
 .arrival .atlas-instruction{margin-top:14px;font-size:11px}
 .arrival .atlas-kicker{margin-bottom:11px;font-size:8px}
 .arrival-portal .atlas-preview-copy{top:52%;transform:translateY(-48%) rotateY(-8deg);width:min(40%,435px);max-height:calc(100svh - 108px);overflow:auto;scrollbar-width:thin}
 .portal-face{padding:19px 24px 16px}
 .arrival-portal .atlas-brand{height:32px;min-height:32px;margin-bottom:9px}
 .arrival-portal .atlas-brand .logo-bar-radar{width:84px;height:54px;margin-top:-10px}
 .arrival-portal .atlas-brand .logo-fiderol{width:130px;height:37px}
 .arrival-portal .atlas-brand .vp-logo{font-size:14px}.arrival-portal .atlas-brand .vp-logo img{width:25px;height:25px}
 .arrival-portal h2{font-size:33px;margin-bottom:12px}
 .arrival-portal .atlas-type{margin-bottom:8px;font-size:7px}
 .arrival-portal .atlas-description{font-size:11px;margin-bottom:12px}
 .arrival-portal .atlas-facts{margin-bottom:13px}.arrival-portal .atlas-facts li{min-height:26px;padding:5px 0}
 .arrival-portal .atlas-enter{min-height:46px;font-size:12px}
 .arrival-portal .atlas-preview-action>p{margin-top:9px}
 .portal-worlds{bottom:15px}
 .portal-title>strong{font-size:38px}
}
@media(max-width:600px) and (max-height:740px){
 .arrival-portal .atlas-preview-copy{bottom:75px;max-height:calc(100svh - 235px);overflow:auto;scrollbar-width:thin}
 .arrival-portal .portal-title{top:13%}
 .portal-title>strong{font-size:29px}
 .portal-worlds{bottom:15px}
 .arrival-portal h2{font-size:30px}
}
@media(max-width:370px){
 .arrival .site-header nav{gap:11px}.arrival .site-header .wordmark{font-size:24px}
 .arrival[data-variant=portrait] .atlas-heading h1{font-size:43px}
 .arrival[data-variant=portrait] .atlas-instruction{font-size:10px}
 .arrival[data-variant=portrait] .city-caption strong{font-size:11px}
 .arrival .city-enter{font-size:15px}
 .arrival-portal .atlas-preview-copy{width:calc(100% - 39px);right:21px}
 .portal-face{padding-inline:19px}
 .arrival-portal .atlas-brand .vp-logo{font-size:14px}
 .portal-worlds{gap:9px}.portal-worlds button{font-size:9px}
}
.motion-paused .arrival-portal .atlas-preview-copy{animation:none}
.motion-paused .arrival-portal .atlas-preview-art .environment{translate:none;transition:none}
@media(prefers-reduced-motion:reduce){
 .arrival .sky-flight{left:70%;top:16%}
 .arrival .city-art image{transition:none}
 .arrival-portal .atlas-preview-copy{animation:none}
 .arrival-portal .atlas-preview-art .environment{translate:none;transition:none}
}
