:root{color:#f4efe4;background:#082f3d;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}[hidden],.is-hidden{display:none!important}html,body,#app{width:100%;min-width:320px;height:100%;margin:0}body{min-height:100svh;overflow:hidden}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #f4efe4;outline-offset:3px}.portfolio-shell{--scanner-band: 128px;position:relative;width:100%;height:100vh;height:100svh;isolation:isolate;overflow:hidden;background:#082f3d}.scene-layer{position:absolute;z-index:0;inset:0;pointer-events:none}.scene-layer canvas{display:block;width:100%;height:100%}.site-header{position:absolute;z-index:9;inset:0 0 auto;display:flex;justify-content:space-between;align-items:start;padding:22px 32px;pointer-events:none}.portfolio-shell:before{position:absolute;z-index:1;inset:0 0 auto;height:170px;background:linear-gradient(180deg,#051b24d1,#051b2400);content:"";pointer-events:none}.site-header__identity,.site-header__control{pointer-events:auto}.site-header__label{margin:0 0 9px;color:#c4d8d6;font-size:10px;font-weight:600;letter-spacing:.16em;line-height:1;text-transform:uppercase}.site-header__title{margin:0;color:#f4efe4;font-family:Georgia,Times New Roman,serif;font-size:44px;font-weight:400;letter-spacing:-.055em;line-height:.96}.site-header__subtitle{margin:9px 0 0;color:#c4d8d6;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.motion-toggle{min-width:118px;min-height:44px;padding:10px 12px;border:1px solid #95b5b7;border-radius:999px;color:#f4efe4;background:#123e4b;cursor:pointer;font-size:10px;letter-spacing:.05em}.motion-toggle:hover{background:#1d5160;border-color:#f4efe4}.motion-toggle:disabled{opacity:.6;cursor:not-allowed}.scanner-hud{position:absolute;z-index:10;top:20px;right:180px;left:290px;height:82px;pointer-events:none}.scanner-hud__label{display:none}.scanner-hud__links{display:flex;justify-content:flex-end;gap:6px;pointer-events:auto}.scanner-hud__links>[role=listitem]{min-width:0}.scanner-hud__link{display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr 1fr;column-gap:8px;align-items:center;min-width:96px;min-height:48px;padding:7px 9px;border:1px solid #769a9e;border-radius:6px;color:#f4efe4;background:#123b48;text-align:left;cursor:pointer;transition:background-color .14s,border-color .14s}.scanner-hud__link:hover,.scanner-hud__link[data-selected=true]{background:#285662;border-color:#f4efe4}.scanner-hud__number{grid-row:1 / span 2;color:#f0ad83;font-size:9px}.scanner-hud__link-label{font-size:10px;letter-spacing:.045em;line-height:1.2;text-transform:uppercase}.scanner-hud__link-name{color:#c4d8d6;font:11px/1.2 Georgia,serif;white-space:nowrap}.scanner-hud__status{position:absolute;bottom:0;right:0;margin:0;color:#c4d8d6;font-size:9px;line-height:1.3;letter-spacing:.045em;text-align:right;pointer-events:none}.sailing-hud{position:absolute;z-index:4;top:114px;right:32px;display:flex;align-items:center;gap:10px;width:252px;min-height:58px;padding:8px 10px;border:1px solid #719398;border-radius:8px;color:#f4efe4;background:#071f28d1;box-shadow:0 8px 28px #02131a24;pointer-events:none}.sailing-hud__dial{position:relative;display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border:1px solid #77989c;border-radius:50%;color:#f0ad83;font-size:22px}.sailing-hud__bow{position:absolute;top:5px;left:50%;width:0;height:0;border-right:4px solid transparent;border-bottom:9px solid #f4efe4;border-left:4px solid transparent;transform:translate(-50%)}.sailing-hud__dial [data-wind-marker]{position:absolute;top:50%;left:50%;color:#f0ad83;font-size:17px;line-height:1}.sailing-hud__readout{min-width:0}.sailing-hud__eyebrow,.sailing-hud__trim,.sailing-hud__guidance{margin:0}.sailing-hud__eyebrow{color:#c4d8d6;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.sailing-hud__trim{margin-top:3px;overflow:hidden;font:12px Georgia,serif;text-overflow:ellipsis;white-space:nowrap}.sailing-hud__efficiency{margin:4px 0 0;color:#c4d8d6;font-size:9px}.sailing-hud__meter{display:inline-block;width:54px;height:5px;margin:0 3px;overflow:hidden;vertical-align:middle;border:1px solid #77989c;border-radius:999px}.sailing-hud__meter>span{display:block;width:0;height:100%;background:#f0ad83}.sailing-hud__guidance{margin-top:4px;color:#c4d8d6;font-size:9px;line-height:1.25}.sailing-hud[data-no-go]{border-color:#f0ad83}.sailing-hud[data-luffing] .sailing-hud__guidance{color:#f0ad83}.landmark-layer{position:absolute;z-index:1;inset:0;pointer-events:none}.landmark-label{position:absolute;max-width:min(11rem,42vw);padding:7px 9px;border:1px solid #829ea1;border-radius:4px;color:#f4efe4;background:#071f28db;line-height:1.1;text-align:center;transform-origin:50% 100%;white-space:nowrap}.landmark-label:after{position:absolute;bottom:100%;left:50%;width:1px;height:10px;background:#95b5b7;content:""}.landmark-label__name,.landmark-label__category{display:block;overflow:hidden;text-overflow:ellipsis}.landmark-label__name{font:14px Georgia,serif}.landmark-label__category{margin-top:4px;color:#c4d8d6;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.vessel-model-note{position:absolute;z-index:2;top:135px;left:32px;display:flex;align-items:center;gap:7px;color:#d6e5df;font-size:9px;letter-spacing:.06em;pointer-events:none}.vessel-model-note__swatch{width:12px;height:7px;border-radius:2px 5px 5px 2px;background:#e99569}.helm-panel{position:absolute;z-index:4;right:32px;bottom:24px;left:32px;max-width:480px;margin-left:auto;padding:10px;border:1px solid #719398;border-radius:8px;background:#071f28d9;box-shadow:0 8px 32px #02131a24;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.helm-panel__heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}.helm-panel__eyebrow,.helm-panel__hint{margin:0}.helm-panel__eyebrow{font:15px Georgia,serif}.helm-panel__hint{color:#c4d8d6;font-size:9px;text-align:right}.helm-panel__hint-touch{display:none}.helm-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.helm-button{display:inline-flex;min-width:0;min-height:44px;align-items:center;justify-content:center;gap:5px;padding:6px 4px;border:1px solid #77989c;border-radius:5px;color:#f4efe4;background:#123e4b;cursor:pointer;font-size:10px;letter-spacing:.03em;line-height:1;text-transform:uppercase;touch-action:none;-webkit-user-select:none;user-select:none}.helm-button>span:first-child{color:#f0ad83;font-size:14px}.helm-button:hover,.helm-button[data-active=true]{border-color:#f4efe4;background:#285662}.helm-button:disabled{cursor:not-allowed;opacity:.5}.helm-button--reset,.helm-button--sound{grid-column:span 2}.scene-legend{display:none}.explore-prompt{position:absolute;z-index:5;bottom:225px;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:space-between;gap:12px;width:min(340px,calc(100% - 32px));padding:10px;border:1px solid #a5bebc;border-radius:8px;background:#103b48;box-shadow:0 8px 32px #02131a2e}.explore-prompt__kicker{display:none}.explore-prompt__text{margin:0;font:15px Georgia,serif}.explore-prompt__button{flex:0 0 auto;min-height:44px;padding:8px 12px;border:1px solid #a5bebc;border-radius:999px;background:#285662;color:#f4efe4;font-size:11px;cursor:pointer}.content-drawer{position:absolute;z-index:6;top:max(var(--scanner-band),env(safe-area-inset-top));right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column;width:min(420px,45vw);padding:22px;border:1px solid #45666a;border-radius:10px;color:#102f38;background:#f4efe4d6;box-shadow:0 12px 48px #02131a4d;animation:drawer-in .22s ease-out;overflow:hidden}.content-drawer__header{display:flex;flex:0 0 auto;justify-content:space-between;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid #45666a}.content-drawer__title{margin:0;font:400 38px/.98 Georgia,serif;letter-spacing:-.05em}.content-drawer__title:focus{outline:none}.content-drawer__close{min-height:44px;min-width:60px;flex:0 0 auto;padding:8px 12px;border:1px solid #45666a;border-radius:999px;color:#102f38;background:transparent;font-size:11px;cursor:pointer}.content-drawer__close:hover{background:#e0e5d9}.content-drawer button:focus-visible,.content-drawer a:focus-visible{outline-color:#0b6871}.content-drawer__body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:3px}.content-drawer__body:focus-visible{outline:2px solid #0b6871;outline-offset:3px}.content-drawer__description{margin:18px 0;font-size:14px;line-height:1.55;color:#3b5960}.content-card{margin-top:14px;padding-top:16px;border-top:1px solid #45666a}.content-card h3{margin:0;font:23px/1.1 Georgia,serif}.content-card p{margin:10px 0 0;font-size:14px;line-height:1.5;color:#3c565b}.content-card .content-card__meta{color:#40595c;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.content-card a{display:inline-flex;align-items:center;min-height:44px;margin-top:10px;color:#085e67;font-size:13px;text-underline-offset:3px}.content-card .content-card__placeholder{font-size:12px;color:#3c565b}.is-reading .helm-panel,.is-reading .explore-prompt,.is-reading .sailing-hud{display:none}.portfolio-shell:has(.webgl-fallback:not(.is-hidden)) .sailing-hud{display:none}.portfolio-shell:has(.webgl-fallback:not(.is-hidden)) .content-drawer{background:#f4efe4}@media(prefers-contrast:more),(prefers-reduced-transparency:reduce){.content-drawer{background:#f4efe4}}@media(forced-colors:active){.content-drawer{border-color:CanvasText;color:CanvasText;background:Canvas;box-shadow:none;text-shadow:none}.content-drawer__header,.content-drawer__close,.content-card{border-color:CanvasText}.content-drawer__description,.content-card p,.content-card .content-card__meta{color:CanvasText}.content-card a{color:LinkText}}.webgl-fallback{position:absolute;z-index:3;top:220px;right:24px;left:24px;max-width:480px;max-height:calc(100% - 240px);overflow:auto;margin:auto;padding:20px;border:1px solid #96b5b6;border-radius:8px;background:#123e4b;font-size:14px;line-height:1.5}.webgl-fallback p{margin:0}.webgl-fallback__label{font:22px Georgia,serif}.webgl-fallback__label+p{margin-top:10px}.island-summary{margin:12px 0 0;padding-left:20px}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;clip-path:inset(50%)!important}@keyframes drawer-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@media(max-width:900px){.portfolio-shell{--scanner-band: 176px}.site-header{padding:16px}.site-header__title{font-size:34px}.site-header__subtitle{display:none}.motion-toggle{min-width:112px}.scanner-hud{top:88px;right:16px;left:16px;height:72px}.scanner-hud__links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.scanner-hud__link{grid-template-columns:1fr;width:100%;min-width:0;min-height:44px;padding:6px 4px;text-align:center}.scanner-hud__number{display:none}.scanner-hud__link-label{font-size:10px;letter-spacing:.02em}.scanner-hud__link-name{font-size:10px}.scanner-hud__status{font-size:9px}.vessel-model-note{top:180px;left:16px;font-size:9px}.sailing-hud{top:168px;right:16px;left:16px;width:auto}.vessel-model-note{display:none}.content-drawer{top:auto;left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:auto;max-height:min(44%,calc(100% - var(--scanner-band) - 16px));padding:18px}.content-drawer__title{font-size:32px}.is-reading .vessel-model-note{display:none}.helm-panel{right:16px;bottom:12px;left:16px;padding:9px}.explore-prompt{bottom:215px}}@media(max-width:540px){.site-header__title{font-size:32px}.motion-toggle{font-size:10px}.helm-panel__hint-keyboard{display:none}.helm-panel__hint-touch{display:inline}.helm-button{font-size:9px;gap:3px}.landmark-label{max-width:135px;padding:6px 7px}.landmark-label__name,.explore-prompt__text{font-size:13px}.explore-prompt__button{padding-inline:10px}.webgl-fallback{left:16px;right:16px;padding:16px}}@media(max-height:460px)and (orientation:landscape){.portfolio-shell{--scanner-band: 88px}.site-header{padding:12px 16px}.site-header__title{font-size:28px}.site-header__label{font-size:9px;margin-bottom:7px}.site-header__subtitle{display:none}.scanner-hud{top:8px;right:152px;left:218px;height:66px}.scanner-hud__links{gap:4px}.scanner-hud__link{min-width:0;min-height:44px;padding-inline:4px}.scanner-hud__number{display:none}.scanner-hud__status{font-size:8px}.vessel-model-note{top:85px;left:16px;font-size:8px}.sailing-hud{top:84px;right:16px;left:auto;width:min(270px,calc(100% - 32px))}.content-drawer{top:max(var(--scanner-band),env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));left:auto;width:min(420px,calc(50vw - 48px));max-height:none;padding:16px}.content-drawer__title{font-size:30px}.helm-panel{left:auto;width:min(496px,calc(100% - 32px))}.helm-controls{grid-template-columns:repeat(6,minmax(0,1fr))}.helm-button--brake,.helm-button--reset,.helm-button--sound{grid-column:auto}.explore-prompt{top:84px;bottom:auto;left:16px;width:min(270px,calc(50vw - 48px));padding:8px;transform:none}.webgl-fallback{top:112px;max-height:calc(100% - 130px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
