:root{--red: #f11c02;--paper: #fefdfd;--ink: #251912;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--paper);background:var(--red);font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}a{color:inherit}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--paper);outline-offset:7px}::selection{background:var(--paper);color:var(--red)}.voyage{position:relative;height:230svh}.stage{--progress: 0;--intro-opacity: 1;--reveal-opacity: 0;--cue-opacity: 1;--footer-opacity: 0;position:sticky;top:0;height:100svh;overflow:clip;isolation:isolate}.masthead{position:absolute;inset:36px 4.5vw auto;display:flex;align-items:center;justify-content:space-between;z-index:5;gap:24px}.brand{display:block;width:220px;flex-shrink:0}.brand img{width:100%;height:auto;display:block}.status,.eyebrow,.water-caption,.depth,.scroll-cue{font-size:12px;font-weight:500;letter-spacing:.08em}.status{display:flex;align-items:center;gap:10px;text-transform:uppercase}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px #ffffff1c}.intro{position:absolute;top:23%;left:8%;right:8%;text-align:center;opacity:var(--intro-opacity);transform:translateY(calc(var(--progress) * -64px));z-index:2;pointer-events:none}.eyebrow{margin:0 0 26px;text-transform:uppercase}h1{font-size:clamp(76px,8.7vw,142px);font-weight:500;letter-spacing:-.065em;line-height:.96;margin:0}h1 em,.reveal-title em,h2 em{font-family:Georgia,Times New Roman,serif;font-weight:400;letter-spacing:-.075em}.tagline{font-size:16px;margin:30px 0 0;letter-spacing:-.015em}.reveal-copy{position:absolute;top:21%;width:100%;padding:0 24px;text-align:center;opacity:var(--reveal-opacity);z-index:2;pointer-events:none}.reveal-title{margin:0;font-size:clamp(42px,5.3vw,80px);line-height:1;letter-spacing:-.05em}.reveal-copy .eyebrow{margin-bottom:18px}.submarine{position:absolute;top:79%;left:50%;width:min(82vw,1060px);transform:translate(-50%,var(--boat-offset, 0px));will-change:transform;z-index:1}.submarine img{width:100%;height:auto;display:block}.sea{position:absolute;top:79%;right:0;bottom:0;left:0;background:var(--red);border-top:1px solid #fff6;z-index:3;pointer-events:none}.water-caption{position:absolute;top:18px;left:4.5vw;font-size:12px;letter-spacing:.025em}.water-caption-right{left:auto;right:4.5vw}.scroll-cue{position:absolute;bottom:11.5%;left:50%;transform:translate(-50%);display:flex;align-items:center;flex-direction:column;gap:10px;text-decoration:none;opacity:var(--cue-opacity);z-index:4;min-height:44px;text-wrap:nowrap}.scroll-cue span:last-child{font-size:24px;line-height:1;transition:transform .2s}.scroll-cue:hover span:last-child{transform:translateY(4px)}.depth{position:absolute;right:4.5vw;top:43%;width:42px;text-align:center;z-index:4;font-variant-numeric:tabular-nums}.depth-label{text-transform:uppercase;font-size:12px}.depth-track{height:112px;width:16px;margin:18px auto;border-right:1px solid #fff5;background:repeating-linear-gradient(to bottom,#fff5 0px,#fff5 1px,transparent 1px,transparent 14px);position:relative}.depth-marker{position:absolute;right:-4px;top:calc(var(--progress) * 100%);width:23px;height:2px;background:var(--paper)}.depth-value{font-size:12px}footer{position:absolute;inset:auto 4.5vw 24px;z-index:5;display:flex;justify-content:space-between;align-items:center;font-size:14px}.footer-year{margin-left:16px}.contact-link{color:inherit;cursor:pointer;border:0;background:none;padding:12px 0 12px 16px;font-size:14px}.contact-link span{display:inline-block;margin-left:12px;transition:transform .2s}.contact-link:hover span{transform:translate(2px,-2px)}.surface-anchor{position:absolute;bottom:100svh;pointer-events:none}.contact-dialog{border:1px solid #fff8;padding:52px;max-width:min(540px,calc(100vw - 40px));color:var(--paper);background:var(--red)}.contact-dialog::backdrop{background:#2519129c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.contact-dialog h2{font-size:clamp(38px,7vw,64px);line-height:1;letter-spacing:-.055em;font-weight:500;margin:0 0 28px}.contact-dialog p:last-child{font-size:16px;line-height:1.6;max-width:30ch}.dialog-close{position:absolute;right:12px;top:10px;width:44px;height:44px;font-size:28px;border:0;background:none;color:inherit;cursor:pointer}@media(min-width:1600px){.intro{top:25%}}@media(max-width:640px){.masthead{inset:24px 24px auto;align-items:flex-start;flex-direction:column;gap:20px}.brand{width:190px}.status{font-size:12px;letter-spacing:.045em}.intro{top:29%;left:18px;right:18px}.intro .eyebrow{font-size:12px;letter-spacing:.04em;margin-bottom:22px}h1{font-size:clamp(62px,13.5vw,86px)}.tagline{margin-top:22px}.depth{display:none}.submarine{width:96vw}.reveal-copy{top:32%}.reveal-title em{display:block;margin-top:6px}.water-caption{display:none}footer{inset:auto 24px 18px;opacity:var(--footer-opacity);pointer-events:none;transform:translateY(calc((1 - var(--footer-opacity)) * 16px))}footer[data-visible=true]{pointer-events:auto}.footer-year{margin-left:8px}.scroll-cue{bottom:10%;font-size:12px}.contact-dialog{padding:44px 28px 28px}}@media(max-height:650px)and (min-width:641px){.masthead{top:22px}.brand{width:190px}.intro{top:22%}h1{font-size:80px}.eyebrow{margin-bottom:14px}.tagline{margin-top:18px}.submarine{width:min(65vw,720px)}.reveal-copy{top:20%}.water-caption,.depth{display:none}}@media(prefers-reduced-motion:reduce){.voyage{height:100svh}.intro{opacity:0}.reveal-copy{opacity:1}.scroll-cue{display:none}.submarine{will-change:auto}*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}@media(max-height:560px){.stage{min-height:0}.masthead{top:16px;flex-direction:row;align-items:center}.brand{width:180px}.status{font-size:12px}.intro{top:28%}.intro .eyebrow,.tagline,.water-caption,.depth{display:none}h1{font-size:clamp(36px,13svh,70px)}.submarine{width:min(94vw,100svh)}.reveal-copy{top:25%}.reveal-title{font-size:36px}.reveal-title em{display:inline}.reveal-copy .eyebrow{margin-bottom:10px}.scroll-cue{bottom:9%;gap:4px}footer{bottom:4px}}@media(max-height:560px)and (max-width:640px){.masthead{gap:12px}.status{max-width:130px;font-size:12px}}
