/* CopterTown · original game imagery, restrained Newways typography. */
.nw-page-coptertown { --ct-ink:#162a2f; --ct-muted:#52666a; --ct-petrol:#23494e; --ct-paper:#faf9f6; --ct-amber:#f2bc51; --ct-line:#d4dcd8; }
.nw-page-coptertown main .sec { padding-block:clamp(3.5rem,7vw,7rem); background:#fff; color:var(--ct-ink); }
.nw-page-coptertown main .ct-hero { padding-top:clamp(7.25rem,10vw,10rem); padding-bottom:clamp(2.5rem,5vw,5rem); background:var(--ct-paper); }
.ct-heading { text-align:center; }
.ct-wordmark { display:block; width:clamp(150px,18vw,220px); height:auto; margin:0 auto 1.65rem; }
.nw-page-coptertown .ct-eyebrow { font:500 .875rem/1.5 var(--font-body); color:var(--ct-muted); margin:0 0 1rem; }
.nw-page-coptertown main .ct-hero h1 { font:650 clamp(3.25rem,7.5vw,7rem)/1.01 var(--font-display); letter-spacing:-.055em; margin:0; color:var(--ct-ink); text-wrap:balance; }
.nw-page-coptertown main :is(h1,h2)>span { font:inherit; color:var(--ct-petrol); }
.nw-page-coptertown main h2 { font:650 clamp(2.2rem,4.6vw,4.5rem)/1.07 var(--font-display); letter-spacing:-.045em; color:var(--ct-ink); margin:0; text-wrap:balance; }
.nw-page-coptertown .ct-lead { font:400 clamp(1.05rem,1.65vw,1.35rem)/1.55 var(--font-body); color:var(--ct-muted); max-width:50ch; margin:1.4rem auto; text-wrap:pretty; }
.ct-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.6rem 1.75rem; }
.ct-textlink { display:inline-flex; align-items:center; justify-content:center; gap:.6rem; min-height:44px; font:550 .9375rem/1.5 var(--font-body); color:var(--ct-petrol); text-decoration:none; }
.ct-textlink svg { width:19px; height:19px; flex:0 0 19px; }
.ct-textlink:hover { text-decoration:underline; text-underline-offset:.25em; }
.nw-page-coptertown .ct-status { color:var(--ct-muted); font:.8125rem/1.5 var(--font-body); margin:1.1rem 0 0; }
.ct-hero-stage { margin-block:clamp(2.5rem,5vw,4.5rem) 0; }
.ct-screen { display:block; overflow:hidden; border-radius:clamp(14px,2vw,26px); background:var(--ct-ink); border:1px solid #162a2f1a; box-shadow:0 25px 55px -40px #162a2f90; }
.ct-screen img { display:block; width:100%; height:auto; }
.nw-page-coptertown figcaption { font:.75rem/1.6 var(--font-body); color:var(--ct-muted); margin:1rem 0 0; text-align:center; }
.ct-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1.5rem,4.5vw,4.5rem); margin:clamp(2.5rem,5vw,5rem) 0 0; }
.ct-features>div { border-top:1px solid var(--ct-line); padding-top:1.4rem; }
.ct-features dt { font:600 clamp(1.4rem,2.3vw,2rem)/1.2 var(--font-display); color:var(--ct-ink); letter-spacing:-.025em; }
.ct-number { display:block; font:500 .75rem/1.4 var(--font-body); color:var(--ct-muted); letter-spacing:.05em; margin-bottom:1.1rem; }
.ct-features dd { color:var(--ct-muted); font:400 1rem/1.65 var(--font-body); margin:1rem 0 0; text-wrap:pretty; }
.ct-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1.5rem,3vw,3rem); margin-top:clamp(2.5rem,5vw,5rem); }
.ct-gallery figure { margin:0; min-width:0; }
.nw-page-coptertown .ct-gallery figcaption { text-align:left; font-size:.9375rem; max-width:45ch; }
.ct-gallery figcaption strong { display:block; color:var(--ct-ink); font-weight:600; margin-bottom:.25rem; }
.ct-film-archive { border-top:1px solid #c6d6d440; margin-top:clamp(2rem,4vw,4rem); }
.ct-film-archive summary { cursor:pointer; padding:1.3rem 0; font:500 1rem/1.5 var(--font-body); color:#fff; }
.ct-film-archive[open] summary { margin-bottom:.75rem; }
.ct-film-archive summary:focus-visible { outline:3px solid #f2bc51; outline-offset:5px; }
.nw-page-coptertown main .ct-film { --ct-ink:#fff; --ct-muted:#c6d6d4; --ct-petrol:#f2bc51; background:#162a2f; }
.ct-film .ct-heading { margin-bottom:clamp(2rem,4vw,4rem); }
.ct-film-stage { margin:0; }
.ct-video { display:block; width:100%; height:auto; aspect-ratio:16/9; border-radius:clamp(14px,2vw,24px); background:#0b1518; overflow:hidden; }
.nw-page-coptertown .ct-film-stage figcaption { max-width:100ch; text-align:left; margin-top:1.25rem; }
.ct-film-stage figcaption strong { color:var(--ct-ink); }
.nw-page-coptertown main .ct-release { background:var(--ct-paper); }
.ct-app-icon { display:block; width:80px; height:80px; border-radius:19px; margin:0 auto 1.5rem; }
.nw-page-coptertown .ct-detail { font:.875rem/1.6 var(--font-body); color:var(--ct-muted); margin:0 auto 1rem; }
.nw-page-coptertown main :is(a,video):focus-visible { outline:3px solid #a47b25; outline-offset:5px; }
@media(max-width:699px) {
 .nw-page-coptertown main .ct-hero h1 { font-size:clamp(2.8rem,11.7vw,5rem); }
 .nw-page-coptertown main h2 { font-size:clamp(2rem,8.5vw,3rem); }
 .ct-wordmark { width:160px; margin-bottom:1.35rem; }
 .ct-actions { flex-direction:column; gap:.35rem; }
 .nw-page-coptertown .ct-status { font-size:.75rem; }
 .ct-features { grid-template-columns:minmax(0,1fr); gap:1.6rem; }
 .ct-gallery { grid-template-columns:minmax(0,1fr); gap:2rem; }
 .ct-features>div { padding-top:1.25rem; }
 .ct-features dt { font-size:1.55rem; }
 .ct-number { display:inline-block; margin:0 1rem 0 0; vertical-align:middle; }
 .ct-features dd { margin-top:.65rem; }
}
@media(prefers-reduced-motion:reduce) { .nw-page-coptertown main { scroll-behavior:auto; } }
