/* Layered compositing. The source is clipped to its actual silhouette, never blended over a black box. */
.natal-immersive.nl-date-flow .nl-hero-date{position:relative;inset:auto;display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:18px;width:fit-content;max-width:100%;margin:0 0 28px;align-self:flex-start;order:1}.natal-immersive.nl-date-flow .nl-hero-copy{order:2}.natal-immersive.nl-date-flow .nl-hero-baseline{order:3}
.nl-cinematic-hero{background:radial-gradient(ellipse at 73% 44%,#103d2c88,transparent 50%),#031f1b;overflow:clip}
.nl-cinematic-hero .nl-hero-layout{padding-top:0;display:block;min-height:820px;isolation:isolate}
.nl-cinematic-hero .nl-hero-copy{width:49%;padding:202px 0 95px;z-index:3}
.nl-cinematic-hero .nl-hero-brand{position:absolute;top:28px;left:var(--gutter);width:112px;margin:0;z-index:5}
.nl-cinematic-hero .nl-hero-art{position:absolute;top:0;right:0;left:auto;bottom:auto;width:min(58%,810px);height:auto;min-height:0;margin:0;display:block;transform:none;will-change:auto;aspect-ratio:auto;pointer-events:none;z-index:2}
.nl-bauble-stage{position:relative;width:100%;aspect-ratio:1;isolation:isolate;transform:none}
.nl-bauble-core{position:relative;display:block;width:100%;height:100%;max-width:none;object-fit:contain;z-index:1;mask:url('/assets/races/natal-bauble-mask.svg') center/100% 100% no-repeat;-webkit-mask:url('/assets/races/natal-bauble-mask.svg') center/100% 100% no-repeat;animation:none;filter:none}
.nl-orbit-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.nl-orbit-back{z-index:0}.nl-orbit-front{z-index:2}
.nl-cinematic-hero .nl-hero-art figcaption{position:relative;bottom:auto;right:auto;width:100%;max-width:none;text-align:center;padding:0 12px;font-size:.75rem;letter-spacing:.12em;color:#c3cfba;transform:translateY(-20px)}
.nl-hero-date{position:absolute;top:34px;right:var(--gutter);z-index:4;display:grid;grid-template-columns:1fr;justify-items:center;row-gap:9px;padding:14px 15px 18px;border-block:1px solid #e1c88955;color:#f5dba4;transform:none;font-variant-numeric:lining-nums tabular-nums;text-align:center}
.nl-hero-date>strong{display:block;font:500 4.3rem/1.15 'DM Sans',Arial,sans-serif;letter-spacing:-.055em;padding:0 5px}.nl-hero-date>span{display:block;font:.75rem/1.5 'DM Sans',Arial,sans-serif;letter-spacing:.16em;white-space:nowrap}
.nl-cinematic-hero .nl-hero-baseline{position:relative;margin-top:0;z-index:5}
/* Full-bleed portal: no diagram, chapter cards or artificial route. */
.nl-portal{position:relative;background:#031f1b;border-top:1px solid #c8aa6940;--portal-scale:1;--portal-shift:0px;--portal-light:.78;--portal-heading:1;--portal-ending:1;--portal-warmth:0}
.nl-portal-sticky{position:relative;min-height:850px;isolation:isolate}
.nl-portal-world{position:absolute;inset:0;overflow:hidden;z-index:-1;background:#031f1b}
.nl-portal-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:67% 55%;max-width:none;transform-origin:67% 60%;transform:scale(var(--portal-scale)) translateY(var(--portal-shift));filter:brightness(var(--portal-light));will-change:transform}
.nl-portal-atmosphere{position:absolute;inset:0;background:radial-gradient(ellipse at 67% 58%,#ffc25840,transparent 38%);opacity:var(--portal-warmth);mix-blend-mode:screen;pointer-events:none}
.nl-portal-vignette{position:absolute;inset:0;background:linear-gradient(90deg,#022019bb 0%,#02201965 27%,transparent 67%),linear-gradient(0deg,#031f1bef,transparent 30%,transparent 80%,#031f1b35)}
.nl-portal-particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.nl-portal-content{position:relative;min-height:850px;display:flex;flex-direction:column;justify-content:space-between;padding-top:85px;padding-bottom:30px;gap:80px}
.nl-portal-heading{max-width:600px;opacity:var(--portal-heading);transform:translateY(calc(var(--portal-warmth) * -30px));text-shadow:0 3px 35px #03231855}.nl-portal-heading h2{font-size:clamp(4.5rem,7.5vw,7.7rem);line-height:.96}.nl-portal-heading>p:not(.nl-label){font-size:1rem;line-height:1.8;color:#e0e4ce;margin-top:28px}
.nl-portal-ending{align-self:flex-end;max-width:650px;text-align:right;opacity:var(--portal-ending);transform:translateY(calc((1 - var(--portal-ending)) * 28px));text-shadow:0 5px 40px #03190fff}.nl-portal-prelude{font-size:.75rem;line-height:1.7;letter-spacing:.14em;color:#ffdea0;display:block;margin-bottom:20px}.nl-portal-ending h3{font:500 clamp(3.5rem,6vw,6rem)/.98 var(--display);letter-spacing:-.045em;color:#fff6dd;margin-bottom:28px}.nl-portal-ending h3 em{font-weight:500;color:#f8d996}.nl-portal-ending .nl-button{text-shadow:none}
.nl-portal-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;font-size:.75rem;line-height:1.5;color:#d3d5ba}.nl-portal-scroll{display:none;gap:20px;align-items:center}.nl-portal-ready .nl-portal-scroll{display:inline-flex}
.nl-portal-ready .nl-portal{height:270svh}.nl-portal-ready .nl-portal-sticky{position:sticky;top:var(--header);height:calc(100svh - var(--header));min-height:0}.nl-portal-ready .nl-portal-content{height:100%;min-height:0;padding-top:clamp(35px,6vh,75px);padding-bottom:calc(var(--nl-bottom,0px) + 24px);gap:0}.nl-portal-ready .nl-portal-heading{position:absolute;top:clamp(35px,6vh,75px);left:var(--gutter);right:var(--gutter)}.nl-portal-ready .nl-portal-ending{position:absolute;right:var(--gutter);bottom:calc(var(--nl-bottom,0px) + 100px);max-width:70%;pointer-events:none}.nl-portal-ready .nl-portal-ending.is-readable{pointer-events:auto}.nl-portal-ready .nl-portal-caption{margin-top:auto}
@media(min-width:1600px){.nl-cinematic-hero .nl-hero-copy{padding-bottom:110px}.nl-cinematic-hero .nl-hero-art{width:810px;right:-30px}.nl-cinematic-hero .nl-hero-layout{min-height:880px}}
@media(max-width:1100px){.nl-cinematic-hero .nl-hero-copy{padding-top:190px;width:50%;padding-bottom:85px}.nl-cinematic-hero .nl-hero-layout{min-height:780px}.nl-cinematic-hero .nl-hero-art{width:62%;right:-35px;top:0}.nl-hero-date{right:var(--gutter);top:30px;padding:10px 8px;row-gap:9px}.nl-hero-date>strong{font-size:3.2rem}.nl-hero-date>span{font-size:.75rem}.nl-portal-heading h2{font-size:clamp(4rem,8vw,6rem)}.nl-portal-ending h3{font-size:4.5rem}}
@media(max-width:800px){.nl-cinematic-hero .nl-hero-layout{min-height:0;display:flex;flex-direction:column;padding-inline:var(--gutter)}.nl-cinematic-hero .nl-hero-art{position:relative;inset:auto;order:0;width:calc(100% + var(--gutter) * 2);margin:0 calc(-1 * var(--gutter));max-width:600px;align-self:center;z-index:1}.nl-cinematic-hero .nl-hero-copy{order:1;width:100%;padding:12px 0 40px}.nl-cinematic-hero .nl-hero-brand{top:24px;width:75px;left:var(--gutter)}.nl-cinematic-hero .nl-hero-baseline{order:2;width:100%}.nl-cinematic-hero .nl-hero-art figcaption{transform:translateY(-10px);padding-bottom:10px}.nl-hero-date{top:26px;padding:7px 5px;row-gap:8px}.nl-hero-date>strong{font-size:2.9rem}.nl-hero-date>span{font-size:.75rem;letter-spacing:.07em}.nl-portal-sticky,.nl-portal-content{min-height:900px}.nl-portal-content{padding-top:50px;padding-bottom:25px;gap:90px}.nl-portal-heading h2{font-size:clamp(3.8rem,12vw,5.7rem)}.nl-portal-heading>p:not(.nl-label){max-width:270px}.nl-portal-ending{max-width:95%;text-align:left;align-self:flex-start}.nl-portal-ending h3{font-size:clamp(3.2rem,10vw,4.7rem)}.nl-portal-prelude{font-size:.75rem;max-width:300px}.nl-portal-image{object-position:67% 50%;transform-origin:67% 57%}.nl-portal-vignette{background:linear-gradient(90deg,#03221acc,transparent 90%),linear-gradient(0deg,#031f1bf5,transparent 45%,#031f1b50)}.nl-portal-ready .nl-portal-ending{left:var(--gutter);right:auto;text-align:left;max-width:calc(100% - var(--gutter) * 2);bottom:calc(var(--nl-bottom,0px) + 105px)}.nl-portal-caption{max-width:300px}.nl-portal-ready .nl-portal{height:230svh}}
@media(max-width:480px){.nl-cinematic-hero .nl-hero-brand{width:62px;top:18px}.nl-hero-date{top:20px;right:18px;row-gap:7px}.nl-hero-date>strong{font-size:2.35rem}.nl-hero-date>span{font-size:.75rem}.nl-cinematic-hero .nl-hero-copy{padding-top:15px}.nl-cinematic-hero .nl-hero-art figcaption{font-size:.75rem;letter-spacing:.06em}.nl-cinematic-hero h1{font-size:clamp(3.9rem,14.5vw,4.8rem)}.nl-portal-heading h2{font-size:clamp(3.2rem,13vw,4.2rem)}.nl-portal-ending h3{font-size:clamp(2.9rem,11vw,3.7rem)}.nl-portal-content{min-height:940px}.nl-portal-prelude{letter-spacing:.07em}.nl-portal-heading,.nl-portal-ending{overflow-wrap:break-word}.nl-portal-ready .nl-portal-content{min-height:0}}
@media(prefers-reduced-motion:reduce){.nl-bauble-stage,.nl-portal-image,.nl-portal-heading,.nl-portal-ending{transform:none!important;will-change:auto}.nl-portal-image{filter:brightness(.78)}.nl-portal-heading,.nl-portal-ending{opacity:1!important}.nl-orbit-layer,.nl-portal-particles{display:none}.nl-portal-ready .nl-portal{height:auto}.nl-portal-ready .nl-portal-sticky{position:relative;height:auto}.nl-portal-ready .nl-portal-heading,.nl-portal-ready .nl-portal-ending{position:static;max-width:100%;pointer-events:auto}.nl-portal-ready .nl-portal-content{height:auto;min-height:900px;gap:90px}.nl-portal-scroll{display:none!important}}
