.nda-shell{max-width:1600px;margin:auto;padding:0 clamp(24px,3.5vw,70px)}
.nda-heading{position:relative;padding:clamp(60px,7vw,100px) 0 clamp(90px,9vw,130px);text-align:center}
.nda-topline{position:absolute;top:16px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:24px;font:11px/1.5 monospace;letter-spacing:.08em;color:var(--muted,#888)}
.nda-heading>p{max-width:1140px;margin:0 auto;font-size:clamp(24px,2.8vw,38px);line-height:1.25;letter-spacing:-.025em}
.nda-heading small{display:block;margin-top:28px;color:var(--muted,#888);font-size:14px;line-height:1.6}
.nda-lock{border:0;background:none;color:inherit;font:inherit;cursor:pointer;border-bottom:1px solid currentColor;padding:7px 0}
.nda-source-section{padding-bottom:clamp(90px,12vw,160px)}
.nda-source-section+.nda-source-section:before{content:'';display:block;width:150px;height:3px;margin:0 auto clamp(50px,6vw,80px);background:repeating-linear-gradient(90deg,currentColor 0 2px,transparent 2px 9px);opacity:.22}
.nda-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:32px}
.nda-section-heading h2{font-size:clamp(30px,3.3vw,50px);font-weight:400;letter-spacing:-.04em;line-height:1.15;margin:0}
.nda-section-heading h2>span{font:12px monospace;letter-spacing:0;color:var(--muted,#888);vertical-align:middle;margin-right:12px}
.nda-section-heading em{font-family:Georgia,serif;font-weight:400}
.nda-section-role{font:10px/1.6 monospace;letter-spacing:.08em;color:var(--muted,#888);text-align:right}
.nda-source-description{margin-bottom:clamp(80px,11vw,150px);font-size:17px;line-height:1.65;color:var(--ink,#222)}
.nda-source-description p{margin:0}
.nda-source-gallery{container-type:inline-size}
.nda-masonry{position:relative;aspect-ratio:100 / var(--desktop-height)}
.nda-art{--x:var(--desktop-x);--y:var(--desktop-y);--w:var(--desktop-width);margin:0;position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1cqw);width:calc(var(--w)*1%);min-width:0}
.nda-art button{display:block;border:0;padding:0;width:100%;background:none;cursor:zoom-in;position:relative}
.nda-art img{display:block;width:100%;height:auto;transform:none!important}
.nda-opening-stack{display:grid;gap:clamp(28px,4vw,60px);margin-bottom:clamp(48px,6vw,90px)}
.nda-opening-stack .nda-art{position:static;width:100%;left:auto;top:auto}
.nda-art button:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.nda-art button:after{content:'+';position:absolute;right:10px;bottom:10px;color:white;mix-blend-mode:difference;opacity:0;transition:opacity .25s}
.nda-art button:hover:after,.nda-art button:focus-visible:after{opacity:1}
.nda-gate{max-width:680px;min-height:68vh;padding:clamp(70px,11vw,170px) 0 100px}
.nda-gate h1{font-size:clamp(60px,8vw,128px);font-weight:400;letter-spacing:-.065em;line-height:1.05;margin:32px 0}
.nda-gate h1 em{font-family:Georgia,serif;font-weight:400}
.nda-gate>p{color:var(--muted,#888);font-size:20px;line-height:1.6}
.nda-gate form{margin-top:48px}.nda-gate label{display:block;font-size:13px;margin-bottom:12px}
.nda-gate form>div{display:flex;gap:16px;align-items:stretch}
.nda-gate input{min-width:0;width:100%;border:1px solid #8886;background:transparent;border-radius:0;padding:16px;font:inherit;color:inherit}
.nda-gate button{flex-shrink:0;padding:12px 18px;border:1px solid currentColor;background:none;color:inherit;font:inherit;cursor:pointer}
.nda-gate #nda-message{font-size:12px;color:var(--muted,#888);line-height:1.7;margin-top:16px}
@media(max-width:768px){.nda-masonry{aspect-ratio:100 / var(--mobile-height)}.nda-art{--x:var(--mobile-x);--y:var(--mobile-y);--w:var(--mobile-width)}.nda-source-description{font-size:16px}.nda-gate form>div{flex-direction:column}.nda-topline{font-size:10px}}
@supports not (width:1cqw){.nda-masonry{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:1vw;aspect-ratio:auto}.nda-art{position:static;width:auto}@media(max-width:768px){.nda-masonry{--columns:2!important}}}
@media(prefers-reduced-motion:reduce){.nda-art button:after{transition:none}}
@media(max-width:600px){.nda-section-heading{align-items:flex-start;flex-direction:column;gap:12px}.nda-section-role{text-align:left}}
