:root{--ns-magenta:#ff2bd6;--ns-black:#020204;--ns-white:#f7f7fb;--ns-max:1500px}
body{background:var(--ns-black);color:var(--ns-white)}
.topbar{max-width:var(--ns-max);margin-inline:auto;padding-inline:clamp(18px,4vw,64px)}
.topbar .brand span{letter-spacing:.02em}.topbar .brand small{color:var(--ns-magenta)}
.topbar nav{gap:clamp(14px,2.2vw,34px)}.topbar nav a{font-size:.72rem;letter-spacing:.12em}
.hero{min-height:clamp(520px,72vh,850px)!important;display:grid;align-items:center}.hero-inner{width:min(var(--ns-max),100%);margin:auto;padding:clamp(90px,10vw,150px) clamp(18px,5vw,72px) 60px!important}
.hero h1{font-size:clamp(4rem,12vw,11rem)!important;line-height:.78!important;letter-spacing:-.065em!important;text-align:left!important}.hero h1 span,.hero h1 strong{display:block}.hero h1 strong{color:transparent!important;-webkit-text-stroke:1.5px var(--ns-magenta);text-shadow:0 0 30px rgba(255,43,214,.15)}
.hero .eyebrow,.hero-subtitle,.hero-copy{text-align:left!important;margin-left:0!important}.hero-subtitle{font-size:clamp(1rem,2vw,1.55rem)!important;letter-spacing:.24em}.hero-copy{max-width:560px}
.section{width:min(var(--ns-max),100%);margin-inline:auto;padding-inline:clamp(18px,5vw,72px)!important}.section-head h2{font-size:clamp(3.2rem,8vw,8.4rem)!important;line-height:.82!important;letter-spacing:-.055em!important}.section-kicker{color:var(--ns-magenta)!important}
.ns-promo{width:min(var(--ns-max),100%);margin:clamp(80px,10vw,150px) auto;padding:clamp(50px,8vw,110px) clamp(18px,5vw,72px);border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);display:grid;grid-template-columns:1.4fr .6fr;gap:40px;align-items:end}.ns-promo h2,.ns-editorial-hero h1{margin:0;font-size:clamp(3.6rem,9vw,9rem);line-height:.82;letter-spacing:-.06em}.ns-outline{color:transparent;-webkit-text-stroke:1.3px var(--ns-magenta)}.ns-promo p{color:#aaa4b2;max-width:520px;line-height:1.7}.ns-cta{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:0 24px;background:var(--ns-magenta);color:#090109!important;text-decoration:none;font-weight:900;letter-spacing:.08em;border-radius:999px}.ns-cta.secondary{background:transparent;color:#fff!important;border:1px solid rgba(255,255,255,.24)}
.ns-editorial{min-height:100vh;padding-top:110px}.ns-editorial-hero,.ns-copy{width:min(1180px,calc(100% - 36px));margin:auto}.ns-editorial-hero{padding:clamp(60px,10vw,130px) 0}.ns-editorial-hero .kicker{color:var(--ns-magenta);font-weight:900;letter-spacing:.16em}.ns-copy{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,8vw,120px);padding-bottom:120px}.ns-copy h2{font-size:clamp(2rem,5vw,5rem);line-height:.95;margin:0}.ns-copy p{color:#b7b2bf;font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.8}.ns-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.ns-gallery-grid{width:min(var(--ns-max),calc(100% - 36px));margin:0 auto 120px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,28px)}.ns-gallery-card{color:#fff;text-decoration:none}.ns-gallery-card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;background:#0c0c10}.ns-gallery-card h2{font-size:clamp(1.2rem,2vw,2rem);margin:14px 0 5px}.ns-gallery-card p{margin:0;color:#96919d}.ns-empty{grid-column:1/-1;border:1px solid rgba(255,255,255,.12);padding:40px;color:#aaa4b2}
.ns-site-footer{border-top:1px solid rgba(255,255,255,.1);background:#020204!important;padding:70px clamp(18px,5vw,72px) 25px}.ns-site-footer-inner{max-width:var(--ns-max);margin:auto;display:grid;grid-template-columns:2fr repeat(4,1fr);gap:35px}.ns-footer-brand strong{font-size:clamp(1.7rem,3vw,3rem);letter-spacing:-.04em}.ns-footer-brand span{display:block;color:#8f8997;max-width:330px;margin-top:12px;line-height:1.6}.ns-footer-col h3{color:var(--ns-magenta);font-size:.68rem;letter-spacing:.16em}.ns-footer-col a{display:block;color:#c4bfca;text-decoration:none;margin:10px 0;font-size:.9rem}.ns-footer-bottom{max-width:var(--ns-max);margin:50px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;color:#77717e;font-size:.8rem}.ns-cookie-manage{background:none;border:0;color:#aaa4b2;cursor:pointer}
@media(max-width:1024px){.ns-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ns-site-footer-inner{grid-template-columns:2fr 1fr 1fr}.ns-promo{grid-template-columns:1fr}.ns-copy{grid-template-columns:1fr}}
@media(max-width:700px){.topbar nav{display:none}.hero{min-height:650px!important}.hero-inner{padding-top:120px!important}.hero h1{font-size:clamp(4rem,22vw,7rem)!important}.search-shell{width:100%!important}.ns-gallery-grid{grid-template-columns:1fr}.ns-site-footer-inner{grid-template-columns:1fr 1fr}.ns-footer-brand{grid-column:1/-1}.ns-footer-bottom{gap:18px;flex-direction:column}.ns-promo{margin-top:70px}.ns-promo h2{font-size:clamp(3.5rem,18vw,6rem)}}

.ns-footer-col .ns-footer-admin{font-size:.72rem;color:#6e6974;margin-top:16px}
.ns-footer-col .ns-footer-admin:hover{color:#9c96a2}

/* Nightshot footer ecosystem v9.1 — compact, responsive, no horizontal page overflow */
.ns-site-footer-inner{grid-template-columns:minmax(220px,1.7fr) repeat(5,minmax(110px,1fr));gap:clamp(20px,2.4vw,34px)}
.ns-footer-col,.ns-footer-brand{min-width:0}.ns-footer-col a,.ns-footer-static{overflow-wrap:anywhere}.ns-footer-static{display:block;color:#8f8997;margin:10px 0;font-size:.9rem}.ns-footer-brand-logo{max-width:180px;height:auto}
@media(max-width:1180px){.ns-site-footer-inner{grid-template-columns:repeat(3,minmax(0,1fr))}.ns-footer-brand{grid-column:1/-1}}
@media(max-width:700px){.ns-site-footer{padding:42px max(16px,env(safe-area-inset-right)) calc(22px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.ns-site-footer-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.ns-footer-brand{grid-column:1/-1}.ns-footer-col h3{margin-top:0}.ns-footer-col a,.ns-footer-static{font-size:.84rem;margin:8px 0}.ns-footer-bottom{margin-top:32px;padding-top:16px;gap:9px;flex-direction:column;overflow-wrap:anywhere}}
@media(max-width:390px){.ns-site-footer-inner{grid-template-columns:1fr}.ns-footer-brand{grid-column:auto}}
