/* The wordmark has reserved sky above the scene and its own foreground layer. */
.harbor-story{--harbor-progress:0;--harbor-sky:clamp(132px,22svh,240px);position:relative;background:#091d26;color:#eef3ed;margin:24px 0 70px}
.harbor-stage{position:relative;isolation:isolate;height:clamp(650px,95svh,940px);overflow:hidden;background:#091d26}
.harbor-story.harbor-enhanced{height:235svh;min-height:1500px}
.harbor-enhanced .harbor-stage{position:sticky;top:0;height:100svh;min-height:620px}
.harbor-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.35) saturate(.45);opacity:1;transition:opacity .6s}
.harbor-ready .harbor-fallback{opacity:0}
.harbor-atmosphere{position:absolute;inset:0;background:radial-gradient(ellipse at 52% 47%,#24465066,transparent 68%),linear-gradient(0deg,#091d26,transparent 50%);z-index:1;pointer-events:none}
.harbor-coordinate{position:absolute;left:var(--gutter);top:42px;font-size:.75rem;letter-spacing:.2em;z-index:4;color:#bdc9c7}
.harbor-wordmark{position:absolute;z-index:3;top:clamp(74px,9svh,104px);left:var(--gutter);right:var(--gutter);margin:0;text-align:center;font-family:var(--heading);font-size:min(23vw,20svh,264px);font-weight:700;line-height:1;letter-spacing:.12em;text-indent:.12em;color:#526f77;opacity:.55;white-space:nowrap;pointer-events:none;user-select:none;transform:translate3d(0,calc(var(--harbor-progress)*-6px),0)}
.harbor-wordmark-name{display:block;line-height:.82}
.harbor-wordmark-subtitle{display:block;margin-top:.1em;font-family:var(--font);font-size:.14em;font-weight:500;line-height:1.15;letter-spacing:.62em;text-indent:.62em}
.harbor-canvas{position:absolute;inset:var(--harbor-sky) 0 0;z-index:2;pointer-events:none;opacity:0;transition:opacity .7s}
.harbor-ready .harbor-canvas{opacity:1}
.harbor-canvas canvas{display:block;width:100%;height:100%;filter:saturate(.32)}
.harbor-editorial{position:absolute;left:var(--gutter);bottom:99px;right:var(--gutter);z-index:3;pointer-events:none}
.harbor-editorial:before{content:'';position:absolute;z-index:-1;inset:-40px calc(-1*var(--gutter)) -100px;background:linear-gradient(0deg,#091d26 6%,#091d26e8 42%,#091d2600);pointer-events:none}
.harbor-editorial .eyebrow{margin:0 0 18px;color:#9eafb2;font-size:.75rem;letter-spacing:.16em}
.harbor-editorial h2{font-size:clamp(3rem,5.1vw,5.8rem);font-weight:600;line-height:.98;letter-spacing:-.012em;margin:0;color:#f2f5ef}
.harbor-editorial h2 span{color:#ff805e}
.harbor-footer{position:absolute;left:var(--gutter);right:var(--gutter);bottom:34px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #9eafb230;padding-top:17px;z-index:4;color:#a4b6ba;font-size:.8125rem}
.harbor-chapters{display:flex;gap:8px}
.harbor-chapters i{display:block;width:38px;height:2px;background:#344b53;overflow:hidden}
.harbor-chapters i:after{content:'';display:block;width:100%;height:100%;background:#ff805e;transform-origin:left;transform:scaleX(clamp(0,calc(var(--harbor-progress)*3),1))}
.harbor-chapters i:nth-child(2):after{transform:scaleX(clamp(0,calc(var(--harbor-progress)*3 - 1),1))}
.harbor-chapters i:nth-child(3):after{transform:scaleX(clamp(0,calc(var(--harbor-progress)*3 - 2),1))}
@media(max-width:800px){
 .harbor-story{margin-bottom:24px}
 .harbor-story.harbor-enhanced{height:215svh;min-height:1300px}
 .harbor-stage,.harbor-enhanced .harbor-stage{min-height:650px}
 .harbor-coordinate{top:30px;font-size:.75rem}
 .harbor-wordmark{font-size:min(27vw,18svh);letter-spacing:.1em;text-indent:.1em}
 .harbor-editorial{bottom:102px}
 .harbor-editorial h2{font-size:clamp(2.2rem,7.3vw,4rem)}
 .harbor-editorial .eyebrow{font-size:.75rem;letter-spacing:.1em}
 .harbor-footer{font-size:.75rem;bottom:28px;align-items:flex-start}
 .harbor-footer>span:first-child{max-width:210px}
 .harbor-chapters{padding-top:8px;gap:5px}.harbor-chapters i{width:22px}
}
@media(prefers-reduced-motion:reduce){
 .harbor-story.harbor-enhanced{height:auto;min-height:0}
 .harbor-enhanced .harbor-stage{position:relative;height:80svh}
 .harbor-wordmark{transform:none}
 .harbor-canvas,.harbor-fallback{transition:none}
}
@media(print){.harbor-story{display:none}}
