/* Header replacement. The existing logo, contact links and wording stay native. */
.home-page .site-header{height:0;padding:1rem 0;position:relative;z-index:3}
.home-page main.content{position:relative;z-index:1}
.diver-hero{position:absolute;inset:0;height:100vh;height:100svh;overflow:hidden;pointer-events:none;z-index:0;background:#08090a}
.diver-hero[hidden]{display:none}
.diver-figure{position:absolute;left:var(--figure-left,0);top:var(--figure-top,0);width:var(--figure-width,100vw);aspect-ratio:16/9;z-index:2}
.diver-figure img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:contain}
.diver-platform{position:absolute;right:var(--platform-right,-5vw);top:var(--platform-top,10vh);width:var(--platform-size,180vw);height:var(--platform-size,180vw);will-change:transform;opacity:.38}
.diver-platform img{width:var(--platform-size,180vw);height:var(--platform-size,180vw);max-width:none;object-fit:contain}
.home-page .hero-intro{min-height:78vh;min-height:78svh;align-items:end;margin-top:0;margin-bottom:0;padding-bottom:10vh}
.home-page .hero-message{margin:0;opacity:1;transform:none;max-width:54vw}
.home-page .hero-message .hero-title{max-width:17ch}
.home-page .hero-message .hero-subline{max-width:36ch;margin-top:1rem}
.home-page .hero-content{position:relative;z-index:2;padding-top:7vh;background:linear-gradient(#08090a00,#08090ae8 45vh,#08090a 85vh)}
@media(max-width:767px){
 .home-page .hero-message{max-width:85vw}
 .home-page .hero-message .hero-title{font-size:clamp(2rem,8vw,3.5rem);max-width:15ch}
 .home-page .hero-message .hero-subline{font-size:1rem;max-width:30ch;line-height:1.6}
 .home-page .hero-intro{padding-bottom:8vh}
 .home-page .hero-content{padding-top:4vh}
}
@media(prefers-reduced-motion:reduce){.diver-platform{will-change:auto}}
/* A modal has one complete hit area, with a persistent close control. */
.portfolio-lightbox{position:fixed;inset:0;z-index:10010;background:rgba(0,0,0,.94);overflow:hidden;color:#fafaf8;isolation:isolate}
.portfolio-lightbox .lightbox-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none}
.portfolio-lightbox .enlarged{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;transform-origin:center;user-select:none;-webkit-user-select:none;touch-action:none;transition:opacity .18s ease;box-shadow:none;background:transparent}
.portfolio-lightbox .lightbox-close{position:absolute;top:max(12px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));width:48px;height:48px;display:grid;place-items:center;z-index:4;border:1px solid #ffffff60;border-radius:50%;background:#08090acc;color:#fff;font-family:Arial,sans-serif;font-size:34px;line-height:1}
.portfolio-lightbox .lightbox-arrow{position:absolute;z-index:3;min-width:48px;min-height:48px;font-size:28px;line-height:1}
.portfolio-lightbox .lightbox-arrow[hidden]{display:none}
.portfolio-lightbox .lightbox-caption{z-index:2;position:absolute;bottom:max(15px,env(safe-area-inset-bottom));left:50%;width:max-content;max-width:82%;font-size:14px;line-height:1.5;text-align:center;margin:0;pointer-events:none}
.portfolio-lightbox .lightbox-error{position:absolute;top:20%;left:10%;right:10%;text-align:center;pointer-events:none}
.portfolio-lightbox button:focus-visible{outline:2px solid #d2691e;outline-offset:4px}

.home-page{overflow-x:clip}
.home-page .main-nav{right:3vw;margin-right:0}

html{overflow-x:clip}
.row > *{min-width:0}

/* Hold the whole header until the thirtieth frame, then release it normally. */
.diver-runway{position:relative;height:260vh;height:260svh}
.diver-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;isolation:isolate}
.home-page .hero-intro{min-height:0;align-items:start;margin:0 auto;padding-top:10vh;padding-bottom:8vh;background:#08090a}
.home-page .hero-message{max-width:100%}
.home-page .hero-content{padding-top:7vh;background:#08090a}

/* Final flight phases continue behind the white headline. */
.home-page{--hero-overlap:65svh}
.home-page .hero-intro{position:relative;z-index:2;min-height:0;margin-top:calc(-1 * var(--hero-overlap));background:transparent}
@media(max-width:767px){.home-page{--hero-overlap:80svh}}

/* Compact handoff from orange subline to the first content heading. */
.home-page .hero-intro{padding-bottom:2rem}
.home-page .hero-content{padding-top:0}
.home-page .hero-content > .row:first-child > section{margin-top:0}
.home-page .hero-content .accordion .item:first-child h2{margin-top:0}

.diver-figure{transform:none}
@media(prefers-reduced-motion:reduce){.diver-figure{will-change:auto}}
