/* Native scroll film. The unenhanced document is the complete readable story. */
.nef{--nef-top:80px;--nef-bottom:24px;background:#101e30;color:#f7f5ef;position:relative}
.nef-stage{padding:28px max(24px,calc((100vw - 1280px)/2));background:radial-gradient(ellipse at 75% 40%,#273950 0%,#101e30 70%)}
.nef-top{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #ceb78e44;padding-bottom:18px}
.nef-top h2{font:500 12px/1.4 var(--body);letter-spacing:.2em;text-transform:uppercase;color:#dec8a2}
.nef-mode{font:400 13px/1.5 var(--body);color:#e4dccf;background:none;border:0;border-bottom:1px solid #918578;padding:10px 0;cursor:pointer;min-height:44px}
.nef-scene{display:grid;grid-template-columns: .85fr 1.4fr;gap:5%;align-items:center;padding:48px 0;min-width:0}
.nef-copy{min-width:0}.nef-eyebrow{font:400 12px/1.6 var(--body);letter-spacing:.14em;color:#d8c099;display:flex;gap:18px;margin-bottom:22px;text-transform:uppercase}
.nef h3{font:400 clamp(32px,3.5vw,54px)/1.12 var(--display);letter-spacing:-.035em;color:#fff;margin:0 0 26px}
.nef-caption{font:400 clamp(16px,1.3vw,18px)/1.65 var(--body);color:#d5dce4;max-width:39ch;margin:0}
.nef-visual{min-width:0;position:relative}.nef-browser{margin:0;border:1px solid #c5b69c80;border-radius:9px;overflow:hidden;background:#f5f4f0;box-shadow:0 28px 55px -20px #0009;transform:translateZ(0)}
.nef-chrome{height:32px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:#e8e6e0;color:#4a4c4f;font:11px/1.2 var(--body);gap:10px}
.nef-chrome>span:first-child{letter-spacing:3px;color:#87847b}.nef-browser picture{display:block;aspect-ratio:8/5;overflow:hidden}.nef-browser img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.nef-place{position:relative;overflow:hidden;border-radius:6px;aspect-ratio:1.3;background:#21354a}.nef-place>img{width:100%;height:100%;object-fit:cover;display:block}.nef-place::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,#081423e8)}
.nef-place-label{position:absolute;z-index:1;bottom:58px;left:28px;right:20px;font:400 clamp(20px,2vw,30px)/1.4 var(--display);letter-spacing:.08em}.nef-place-label span{display:block;font:12px/1.6 var(--body);letter-spacing:.04em;margin-top:10px}
.nef-place small{position:absolute;z-index:1;bottom:20px;left:28px;right:20px;color:#e3dfd5;font:11px/1.5 var(--body)}
.nef-projects{display:grid;grid-template-columns:1fr 1fr;gap:18px}.nef-project{min-width:0}.nef-project .nef-chrome{font-size:9px;padding:0 7px}.nef-project .nef-chrome>span:first-child,.nef-project .nef-chrome>span:last-child{display:none}.nef-project-photo{display:block;width:100%;height:140px;object-fit:cover;margin-top:14px;border-radius:4px}.nef-project>span{display:block;font:20px/1.4 var(--display);margin-top:12px;color:#e2cba6}.nef-projects>small{grid-column:1/-1;font:12px/1.4 var(--body);color:#c5cbd4}
.nef-complete-pages{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;align-items:end;margin-bottom:22px}.nef-complete-pages .nef-browser:nth-child(2){transform:translateY(-14px)}.nef-complete-pages .nef-chrome{font-size:8px;padding:0 5px;height:24px}.nef-complete-pages .nef-chrome>span:first-child,.nef-complete-pages .nef-chrome>span:last-child{display:none}.nef-complete-place{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8px;overflow:hidden;border-radius:5px}.nef-complete-place>img{width:100%;height:270px;object-fit:cover}.nef-complete-place>span{position:absolute;inset:auto 0 0;padding:35px 18px 16px;background:linear-gradient(transparent,#081423);font:23px/1.5 var(--display)}.nef-complete-place small{display:block;font:11px/1.5 var(--body);color:#d8d4cc}
.nef-cta{margin-top:25px;font-size:14px;padding:15px 20px}.nef-nav{display:flex;gap:12px;border-top:1px solid #ceb78e44;padding-top:12px}.nef-nav[hidden]{display:none}.nef-nav button{flex:1;display:flex;align-items:center;gap:10px;text-align:left;background:none;color:#a9b3c0;border:0;border-top:2px solid transparent;padding:12px 0;font:12px/1.4 var(--body);cursor:pointer;min-height:44px}.nef-nav button[aria-current=step]{border-top-color:#d9bd8b;color:#f2e1c3}.nef button:focus-visible,.nef a:focus-visible{outline:2px solid #e2cba6;outline-offset:4px}
.nef.is-film{height:520svh}.nef.is-film .nef-stage{position:sticky;top:var(--nef-top);height:calc(100svh - var(--nef-top) - var(--nef-bottom));min-height:540px;display:flex;flex-direction:column}.nef.is-film .nef-scenes{flex:1;position:relative;min-height:0}.nef.is-film .nef-scene{position:absolute;inset:0;padding:24px 0;opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .45s,transform .6s,visibility .45s;pointer-events:none}.nef.is-film .nef-scene.is-active{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.nef.is-film .nef-visual{max-height:100%}.nef.is-film .nef-opening{max-height:490px}.nef-disclosures{padding-top:60px}
@media(max-width:900px){.nef{--nef-bottom:84px}.nef-nav-label{display:none}.nef-nav button{justify-content:center}.nef-stage{padding:18px 24px}.nef-scene{gap:24px;grid-template-columns:1fr}.nef-copy{max-width:600px}.nef-visual{width:100%;max-width:600px;margin:auto}.nef h3{font-size:38px}.nef-caption{max-width:50ch}.nef.is-film .nef-scene{grid-template-rows:auto minmax(0,1fr);gap:22px;align-content:center}.nef.is-film .nef-visual{height:100%;display:flex;align-items:center;justify-content:center}.nef.is-film .nef-browser{max-height:100%;width:100%;max-width:520px}.nef.is-film .nef-opening{width:100%;height:100%;max-height:360px}.nef.is-film .nef-projects,.nef.is-film .nef-complete{width:100%}.nef-project-photo{height:100px}.nef-complete-place>img{height:190px}}
@media(max-width:600px){.nef{--nef-top:72px;--nef-bottom:84px}.nef-stage{padding:12px 20px}.nef-top{padding-bottom:8px}.nef-top h2{font-size:10px}.nef-mode{font-size:12px}.nef h3{font-size:32px;line-height:1.13;margin-bottom:12px}.nef-eyebrow{font-size:10px;letter-spacing:.1em;gap:12px;margin-bottom:12px}.nef-caption{font-size:15px;line-height:1.55}.nef.is-film .nef-stage{min-height:560px}.nef.is-film .nef-scene{padding:18px 0 12px;gap:16px}.nef-browser picture{aspect-ratio:390/460}.nef-browser img{height:auto;object-fit:contain}.nef.is-film .nef-browser{max-width:260px;max-height:100%}.nef.is-film .nef-browser picture{height:calc(100% - 30px)}.nef-chrome{height:26px;font-size:10px}.nef-place-label{left:18px;bottom:53px;font-size:20px}.nef-place-label span{font-size:10px;max-width:27ch}.nef-place small{left:18px;bottom:14px;font-size:10px}.nef-projects{gap:12px}.nef-projects .nef-browser picture{aspect-ratio:390/410;height:auto!important}.nef-project-photo{height:74px;margin-top:10px}.nef-project>span{font-size:18px;margin-top:8px}.nef-projects>small{font-size:10px}.nef-project .nef-chrome{font-size:7px;height:24px}.nef-complete-pages{gap:7px;margin:14px 0}.nef-complete-pages .nef-browser picture{aspect-ratio:390/440;height:auto!important}.nef-complete-pages .nef-chrome{font-size:6px;height:20px;white-space:nowrap;overflow:hidden}.nef-complete-place>img{height:130px}.nef-complete-place>span{font-size:18px;padding:25px 12px 10px}.nef-complete-place small{font-size:10px}.nef-cta{margin-top:16px;padding:12px 15px;font-size:13px}.nef-nav{gap:8px;padding-top:6px}.nef-nav button{padding:8px 0}.nef-scene{padding:35px 0;border-bottom:1px solid #ceb78e33}.nef.is-film .nef-scene{border:0}}
@media(max-height:740px) and (max-width:600px){.nef.is-film .nef-stage{min-height:0}.nef.is-film .nef-scene{gap:10px;padding-top:12px}.nef h3{font-size:27px}.nef-caption{font-size:14px}.nef-eyebrow{margin-bottom:8px}.nef.is-film .nef-browser{max-width:200px}.nef-project-photo{display:none}.nef-complete-place>img{height:85px}.nef-complete-pages .nef-browser picture{aspect-ratio:1}.nef-place-label span{display:none}.nef-cta{margin-top:10px;padding:9px 12px}}
@media(prefers-reduced-motion:reduce){.nef *{transition:none!important;transform:none!important}}
@media(max-width:600px){#ecosystem-step-4 .nef-browser{max-width:350px;height:auto}#ecosystem-step-4 .nef-browser picture{aspect-ratio:8/5;height:auto}.nef-complete-pages .nef-browser:nth-child(2){transform:none}.nef-complete-pages{margin-top:5px}.nef-complete-pages .nef-browser picture{aspect-ratio:390/360}}
@media(max-width:600px){.nef.is-film .nef-projects{height:100%;grid-template-rows:minmax(0,1fr) auto;gap:10px}.nef.is-film .nef-project{display:flex;flex-direction:column;min-height:0}.nef.is-film .nef-project .nef-browser{flex:1;min-height:0}.nef.is-film .nef-project .nef-browser picture{aspect-ratio:auto;height:100%!important}.nef.is-film .nef-project-photo{flex-shrink:0}.nef.is-film .nef-project>span{flex-shrink:0}.nef.is-film .nef-complete-pages .nef-browser:last-child img{height:100%;object-fit:cover;object-position:left top}}
/* Compact Safari viewport: keep the final call to action clear of the montage. */
@media(max-height:740px) and (max-width:600px){.nef.is-film .nef-complete-place{display:none}.nef.is-film .nef-complete-pages{margin:0}.nef.is-film .nef-complete-pages .nef-browser picture{aspect-ratio:1.6}.nef.is-film .nef-complete-pages .nef-browser{max-height:110px}}

/* Council: readable mobile copy and a clearly distinguishable film CTA. */
.nef .nef-cta{background:#e3cda6;color:#162438;border:1px solid #e3cda6}
.nef .nef-cta:hover{background:#f0e1c9;color:#162438;border-color:#f0e1c9}
.nef .nef-cta:focus-visible{outline:3px solid #f0e1c9;outline-offset:5px}
.nef-place small,.nef-projects>small,.nef-complete-place small{font-size:12px;line-height:1.4}
@media(max-width:600px){.nef .nef-caption{font-size:16px;line-height:1.45}.nef .nef-place small,.nef .nef-projects>small,.nef .nef-complete-place small{font-size:12px;line-height:1.4}.nef .nef-place-label{bottom:62px}}

#ecosystem-step-3 .nef-browser picture{aspect-ratio:1440/418;height:auto}
.nef-source-note{display:block;margin-top:12px;color:#d5dce4;font:12px/1.4 var(--body)}
@media(max-width:600px){#ecosystem-step-3 .nef-browser picture{aspect-ratio:390/405;height:auto!important}}
@media(max-height:740px) and (max-width:600px){#ecosystem-step-3 .nef-browser{max-width:160px}.nef-source-note{margin-top:8px}}

@media(min-width:601px){.nef-complete-pages .nef-browser:nth-child(2) picture{aspect-ratio:585/418}}

/* Final recap: readable roles outside the real webpage frames. */
.nef-summary-company{min-width:0}
.nef-company-label{margin:12px 0 0;color:#f7f5ef;font:14px/1.3 var(--body)}
.nef-company-label b{display:block;font-weight:500;min-height:36px}
.nef-company-label span{display:block;font-size:12px;line-height:1.35;color:#d9c6a8;min-height:33px}
.nef-project-recap{display:none}
body.nef-inline-call-visible .mbar{transform:translateY(110%);opacity:0;visibility:hidden;pointer-events:none}
@media(min-width:601px){.nef-summary-company:nth-child(2) .nef-browser picture{aspect-ratio:585/418}}
@media(max-width:600px){.nef-complete-pages{margin:0 0 12px;align-items:start}.nef-summary-company .nef-browser picture{height:58px!important;aspect-ratio:auto}.nef-company-label{font-size:14px;line-height:1.25;margin-top:8px}.nef-company-label b{min-height:35px}.nef-company-label span{min-height:32px}.nef-complete-place>img{height:80px}.nef-complete-place>span{padding:20px 10px 6px;font-size:16px}.nef-complete-place small{font-size:12px}}
@media(max-height:740px) and (max-width:600px){.nef-summary-company .nef-browser{display:none}.nef-company-label{margin:0}.nef-project-recap{display:block;border-top:1px solid #ceb78e44;padding-top:8px;margin-top:8px;color:#f7f5ef;font:14px/1.3 var(--display)}.nef-project-recap span,.nef-project-recap small{display:block}.nef-project-recap small{font:12px/1.4 var(--body);color:#d5dce4;margin-top:4px}}

/* Desktop polish: a shared right-hand stage, with no intrinsic-width shrinkage. */
@media(min-width:901px){
 .nef-scene{grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr)}
 .nef-visual,.nef-visual>*,.nef.is-film .nef-opening{width:100%;max-width:none}
 .nef.is-film .nef-visual{align-self:center;justify-self:stretch}
 .nef.is-film .nef-opening{aspect-ratio:8/5;max-height:none}
 #ecosystem-step-3 .nef-browser picture{aspect-ratio:8/5;height:auto;background:#f7f8f2}
 #ecosystem-step-3 .nef-browser img{height:100%;object-fit:contain;object-position:center}
}
/* Ecosystem homepages: ONE standard (Joe 2026-10-23: "make them all standard and high-quality"). Every company frame is the
   same 16:10 desktop capture (1440x900, 2x source), the same width and the same crop, on every screen size. */
.nef-browser picture,#ecosystem-step-3 .nef-browser picture,#ecosystem-step-4 .nef-browser picture{aspect-ratio:8/5!important;height:auto!important}
.nef-browser img{width:100%;height:100%;object-fit:cover;object-position:top center}
#ecosystem-step-2 .nef-visual>.nef-browser,#ecosystem-step-3 .nef-visual>.nef-browser,#ecosystem-step-4 .nef-visual>.nef-browser{width:100%;max-width:720px!important;margin-inline:auto}
@media(max-width:900px){#ecosystem-step-2 .nef-visual>.nef-browser,#ecosystem-step-3 .nef-visual>.nef-browser,#ecosystem-step-4 .nef-visual>.nef-browser{max-width:100%!important}}
.nef-browser picture{width:100%}
.nef-browser,.nef.is-film .nef-project .nef-browser,.nef-complete-pages .nef-browser{height:auto!important;flex:none!important;min-height:0!important}
@media(max-width:600px){.nef.is-film .nef-projects{height:auto!important;grid-template-rows:auto auto!important}.nef.is-film .nef-project{display:block!important}}
