/* Preserve portal identity. Editorial dials: variance 6, motion 2, density 4. */
.new-horizons { color-scheme: dark; --article-width: 1180px; }
.nh-heading,.nh-cover,.nh-nav,.nh-story { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.nh-heading { padding:44px 0 30px; }
.nh-heading h1 { margin:10px 0 14px; color:var(--gold-hi); font:400 clamp(52px,7vw,88px)/1.05 var(--display); }
.nh-deck { max-width:640px; font-size:clamp(18px,2vw,22px); line-height:1.6; color:#d0c5dd; margin:0 0 16px; }
.nh-link { display:inline-flex; align-items:center; min-height:44px; font-weight:600; text-underline-offset:5px; }
.nh-shot { margin:24px 0; min-width:0; background:#08060d; border:1px solid var(--article-rule); border-radius:10px; overflow:hidden; }
.nh-shot a { display:block; }
.nh-shot img,.nh-shot video { display:block; width:100%; height:auto; }
.nh-shot img { object-fit:contain; }
.nh-shot a:focus-visible { outline-offset:-4px; }
.nh-shot figcaption { padding:12px 16px; color:#bdb1cd; font-size:13px; line-height:1.55; }
.nh-cover .nh-shot { margin:0; }
.nh-cover img { max-height:490px; object-fit:cover; object-position:50% 52%; }
.nh-nav { display:flex; gap:8px 26px; flex-wrap:wrap; padding:22px 0; border-bottom:1px solid var(--article-rule); }
.nh-nav a { display:flex; align-items:center; min-height:44px; font-size:14px; text-decoration:none; }
.nh-nav a:hover { color:var(--gold-hi); text-decoration:underline; }
.nh-section { padding:58px 0; border-bottom:1px solid var(--article-rule); scroll-margin-top:90px; }
.nh-section h2 { margin:0 0 22px; font:400 clamp(32px,4vw,48px)/1.15 var(--display); }
.nh-section h3 { font:600 18px/1.4 var(--body); margin:0 0 10px; }
.nh-section p { max-width:74ch; font-size:16px; line-height:1.8; color:#c2b7cf; margin:0 0 20px; }
.nh-section strong { color:var(--text); }
.nh-section .nh-lead { font-size:20px; color:#e1d7eb; max-width:64ch; }
.nh-copy-columns,.nh-film-grid,.nh-photo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; margin:28px 0; align-items:start; }
.nh-photo-grid .nh-shot,.nh-film-grid .nh-shot { margin:0; }
.nh-photo-grid img { aspect-ratio:4/3; background:#08060d; }
.nh-home-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin:32px 0; }
.nh-home-grid .nh-shot { margin:0 0 16px; }
.nh-home-grid figcaption { display:none; }
.nh-home-grid p { font-size:14px; }
.nh-gallery { margin:28px 0 0; border:1px solid var(--article-rule); border-radius:10px; padding:0 22px; }
.nh-gallery summary { cursor:pointer; padding:20px 0; color:var(--gold-hi); font-weight:600; line-height:1.6; }
.nh-gallery summary span { color:#bdb1cd; font-size:13px; font-weight:400; margin-left:12px; }
.nh-gallery summary:focus-visible { outline:2px solid var(--gold-hi); outline-offset:5px; }
.nh-piece-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; padding-bottom:22px; }
.nh-piece-grid .nh-shot { margin:0; }
.nh-piece-grid img { aspect-ratio:1; }
.nh-piece-grid figcaption { padding:9px; font-size:12px; }
.nh-cape-feature { display:grid; grid-template-columns:minmax(230px,380px) minmax(0,1fr); gap:48px; align-items:center; }
.nh-cape-feature .nh-shot { margin:0; }
.nh-fixes { display:grid; grid-template-columns:1fr 1fr; gap:48px; }
.nh-fixes article { padding-left:22px; border-left:2px solid var(--purple); }
.nh-section .nh-caption { font-size:14px; }
#preview { padding-bottom:48px; }
#preview h2 { font-size:30px; }
#preview p { font-size:14px; }
.nh-lightbox { color:var(--text); background:var(--void); border:1px solid var(--article-rule); border-radius:10px; padding:20px; width:fit-content; max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); }
.nh-lightbox::backdrop { background:rgba(0,0,0,.88); }
.nh-lightbox form { display:flex; justify-content:flex-end; margin-bottom:12px; }
.nh-lightbox button { background:var(--void-2); color:var(--text); border:1px solid var(--purple-hi); border-radius:6px; min-height:44px; padding:8px 18px; font:600 14px var(--body); cursor:pointer; }
.nh-lightbox img { max-width:100%; max-height:calc(100dvh - 180px); width:auto; height:auto; display:block; margin:auto; }
.nh-lightbox p { font-size:14px; line-height:1.6; margin:16px 0 0; max-width:80ch; }
@media(max-width:900px) { .nh-home-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .nh-piece-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } .nh-cape-feature { gap:28px; } }
@media(max-width:640px) { .nh-heading,.nh-cover,.nh-nav,.nh-story { width:calc(100% - 32px); } .nh-heading { padding-top:28px; } .nh-heading h1 { font-size:54px; } .nh-cover img { aspect-ratio:4/3; object-fit:cover; } .nh-nav { gap:0 22px; padding-block:14px; } .nh-section { padding:38px 0; } .nh-copy-columns,.nh-film-grid,.nh-photo-grid,.nh-cape-feature,.nh-fixes { grid-template-columns:1fr; gap:22px; } .nh-cape-feature>.nh-shot { width:min(100%,380px); margin:auto; } .nh-piece-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .nh-home-grid { gap:14px; } .nh-home-grid h3 { font-size:17px; } .nh-gallery { padding-inline:14px; } .nh-gallery summary span { display:block; margin-left:0; } .nh-section .nh-lead { font-size:18px; } }
@media(prefers-reduced-motion:reduce) { .new-horizons *, .new-horizons *::before, .new-horizons *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

.new-horizons .vs-nav-play { color:#211624; }

.nh-upcoming { max-width: 46rem; padding: 1rem 1.2rem; border-left: 3px solid var(--gold, #ddb465); background: #ddb46512; color: #eddbb7; }
