@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=DM+Sans:wght@400;500;600&display=swap');
:root{--ink:#eeeadd;--gold:#e4c68c;--muted:#c3ccb9;--bg:#0c1211;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-padding-top:22px}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.7 var(--sans)}a{color:var(--gold);text-underline-offset:5px}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,.window-swipe-zone:focus-visible{outline:2px solid #eed8aa;outline-offset:4px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}header{max-width:1500px;margin:auto;padding:27px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #59604c66;gap:24px;font-size:16px}.wordmark{letter-spacing:1.8px;font-size:15px;text-decoration:none}nav{display:flex;align-items:center;gap:30px}.private-label{font-size:11px;letter-spacing:1px;color:#b7c6af}main{max-width:1500px;margin:auto;padding:0 5%}.review-intro{display:flex;align-items:center;gap:30px;justify-content:space-between;padding:28px 0 20px}.eyebrow{font-size:13px;letter-spacing:1.1px;color:var(--gold);margin:0 0 16px}.review-intro .eyebrow{margin:0}.review-intro>p:last-child{font-size:15px;color:var(--muted);margin:0;max-width:640px}.composition-frame{border:1px solid #827658;overflow:hidden}.composition{container-type:inline-size;position:relative;isolation:isolate;aspect-ratio:16/9;min-height:730px;overflow:hidden;background:#10211d;color:#f3eddd}.car-viewport{position:absolute;inset:0;overflow:hidden;z-index:-3}.car-track{display:flex;position:absolute;inset:0;width:100%;height:100%;will-change:transform}.car-panel{flex:0 0 100%;width:100%;height:100%;position:relative;overflow:hidden}.car-interior{position:absolute;inset:0;background:url('assets/backgrounds/modern-subway-interior.png') center/100% 100% no-repeat}.panel-window{position:absolute;left:30.4%;top:15.8%;width:63.4%;height:51.2%;border-radius:23px;overflow:hidden;background:#081611}.panel-window img{display:block;width:100%;height:100%;object-fit:cover;object-position:65% center}.window-glass{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,#fff7c608,transparent 22%,#fff7c605 28%,transparent 33%,#d5e3dc0c 52%,transparent 70%),linear-gradient(0deg,#08161340,transparent 45%);box-shadow:inset 0 0 25px #04100db3}.car-shade{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#071410ef,#071410ee 26%,#071410c7 32%,#07141010 45%,transparent 60%)}.hero-edition{position:absolute;left:5.5%;top:5%;font-size:11px;letter-spacing:1.4px;z-index:3}.hero-copy{position:absolute;left:5.5%;top:13%;width:31%;z-index:3;pointer-events:none}.hero-kicker{font-size:12px;letter-spacing:1px;line-height:1.6;margin:0 0 24px;color:#d9bf8d}.hero-copy h1{font:500 5.8cqw/.87 var(--serif);letter-spacing:-1.5px;margin:0}.hero-copy em{color:var(--gold);font-weight:400}.hero-subtitle{font-size:17px;line-height:1.55;margin:24px 0 0}.hero-tagline{font-size:16px;line-height:1.7;margin:18px 0 0;color:#d1dbc6}.hero-search{position:absolute;left:5.5%;bottom:16%;width:31%;height:66px;background:#eee9d9;color:#344232;display:flex;align-items:center;padding:6px;gap:8px;z-index:4}.hero-search>span{font-size:24px;padding-left:6px}.hero-search input{min-width:0;width:100%;background:none;border:0;color:#173329;font-size:15px;padding:10px 0;outline-offset:0}.hero-search input::placeholder{color:#405345;opacity:1}.hero-search button{display:flex;align-items:center;align-self:stretch;padding:0 15px;background:#bda16a;color:#162216;border:0;font-size:15px;white-space:nowrap}.hero-bottom{position:absolute;left:5.5%;bottom:7%;font-size:10px;letter-spacing:1px;color:#e4d7b5;display:flex;gap:10px;align-items:center;z-index:3}.station-dot{display:inline-block;background:var(--gold);width:7px;height:7px;border-radius:50%;box-shadow:0 0 10px #e4c68c66;flex-shrink:0}.car-number{position:absolute;right:4%;bottom:5%;font-size:12px;letter-spacing:2px;color:#bac9c3;z-index:3}.window-swipe-zone{position:absolute;left:37%;top:16%;width:57%;height:51%;z-index:1;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}.window-swipe-zone:active{cursor:grabbing}.window-controls{position:absolute;left:40%;right:8%;top:50%;z-index:4;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:7px;background:#071a15b8;border:1px solid #d3c29655;border-radius:6px;backdrop-filter:blur(8px)}.window-controls button{color:#f0e7d3;border:1px solid #a1a68d;background:#10251feb;font-size:14px;padding:7px 8px;min-height:44px;line-height:1.35}.window-controls button.selected{background:#dfc68e;border-color:#dfc68e;color:#112b22}.journey-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}.journey-controls button,.motion-controls button{background:#17271f;border:1px solid #8a8f6a;color:#eddfbd;padding:10px 17px;font-size:15px;min-height:46px;white-space:nowrap}.journey-controls p{font-size:16px;color:#e3cd9f;margin:0;text-align:center}.motion-controls{display:flex;align-items:center;gap:15px;margin-top:19px}.motion-controls span{font-size:14px;color:#c0cbb8}.preview-note{font-size:15px;color:var(--muted);line-height:1.8;margin:13px 0 0}.live-directory{margin-top:50px;padding-top:40px;border-top:1px solid #647251}.directory-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.directory-heading h2{font:400 55px/1.05 var(--serif);margin:0}.directory-heading em{color:var(--gold);font-weight:400}.directory-heading>p{font-size:17px;max-width:450px;color:var(--muted)}.type-controls{display:flex;flex-wrap:wrap;gap:10px}.type-controls button{padding:11px 16px;min-height:48px;background:#16231b;color:#dfe4d3;border:1px solid #788568;font-size:15px}.type-controls button.selected{background:#dbc28c;color:#10291e;border-color:#dbc28c}.results-meta{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;color:#cbd5bb;font-size:15px}.results-meta>div{display:flex;align-items:center;gap:20px}.online-filter{display:flex;align-items:center;gap:9px;white-space:nowrap}.online-filter input{width:19px;height:19px;accent-color:var(--gold)}#clear-filters{background:none;border:0;color:var(--gold);font-size:15px;text-decoration:underline;text-underline-offset:4px;padding:7px 0}.listing-group{margin-bottom:38px}.group-heading{display:flex;gap:18px;align-items:center;padding:18px 0;border-top:1px solid #6a7956}.group-heading>span:first-child{color:var(--gold);font:400 32px var(--serif)}.group-heading h3{font:400 29px var(--serif);margin:0}.group-heading>span:last-child{font-size:14px;color:var(--muted);margin-left:auto}.listing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.listing-card{display:flex;flex-direction:column;background:#152017;border:1px solid #546347;padding:25px 22px;min-width:0}.listing-meta{display:flex;justify-content:space-between;gap:15px;font-size:12px;line-height:1.6;color:#c4cda9;letter-spacing:.3px}.listing-meta>span+span{text-align:right;max-width:66%}.listing-card h3{font:400 31px/1.12 var(--serif);margin:22px 0 17px;color:#f0e9d5}.listing-card h3>span{display:block;font:400 16px/1.6 var(--sans);color:#d2c59f;margin-top:10px}.listing-card>p{font-size:16px;line-height:1.8;color:#c9d5bb;margin:0 0 20px}.discipline-tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:19px}.discipline-tags span{font-size:12px;color:#dac99c;border:1px solid #6c7857;padding:3px 7px;line-height:1.6}.listing-card details{border-top:1px solid #4d6042;padding-top:14px;margin-top:auto;font-size:15px;color:#c1cfb0}.listing-card summary{cursor:pointer;color:#e1d1aa;font-size:15px;line-height:1.7}.listing-card details p{line-height:1.75}.source-note{font-size:14px}.listing-card details a{font-size:14px}.listing-bottom{display:flex;justify-content:space-between;align-items:end;gap:16px;border-top:1px solid #4d6042;margin-top:18px;padding-top:17px;font-size:14px;line-height:1.6}.listing-bottom>span{max-width:60%;color:#bbc9aa}.listing-bottom a{white-space:nowrap;font-size:15px}.content-note{font-size:15px;line-height:1.9;color:#b6c6a7;max-width:1100px}.empty{border:1px solid #7e8561;padding:30px;background:#17251a;color:#d6dfc8}.empty h3{font:400 32px var(--serif);margin:0 0 13px}.empty p{font-size:17px;margin:0}footer{max-width:1500px;margin:55px auto 0;padding:30px 5%;border-top:1px solid #59604c66;display:flex;gap:40px;align-items:flex-start;color:#b9c6ac;font-size:15px}footer span{color:var(--gold);min-width:220px;font-size:13px;letter-spacing:1px}footer p{margin:0;max-width:850px}@media(max-width:1050px){.composition{min-height:760px}.hero-copy{width:34%;top:14%}.hero-copy h1{font-size:62px}.hero-kicker{font-size:10px}.hero-subtitle{font-size:16px}.hero-tagline{font-size:15px}.hero-search{width:35%;height:65px}.hero-search input{font-size:14px}.hero-search button{font-size:14px;padding:0 11px}.window-controls{left:41%;right:7%;top:49%;gap:5px;padding:6px}.window-controls button{font-size:13px;padding:6px 5px}.listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){header{padding:22px 6%;display:block}nav{margin-top:14px;gap:20px;justify-content:space-between;font-size:15px}.private-label{font-size:9px}main{padding:0 6%}.review-intro{display:block;padding:25px 0 20px}.review-intro .eyebrow{font-size:11px;margin-bottom:12px}.review-intro>p:last-child{font-size:15px;line-height:1.8}.composition{aspect-ratio:auto;min-height:1010px}.hero-edition{left:7%;top:3.5%;font-size:10px;letter-spacing:1px}.hero-copy{left:7%;top:8%;width:86%}.hero-copy h1{font-size:74px;line-height:.89;letter-spacing:-2px}.hero-kicker{font-size:11px;margin-bottom:23px}.hero-subtitle{font-size:17px;margin-top:23px;line-height:1.5}.desktop-break{display:none}.hero-tagline{display:none}.hero-search{left:7%;top:36%;bottom:auto;width:86%;height:63px;gap:6px}.hero-search input{font-size:14px}.hero-search button{font-size:14px;padding:0 13px}.hero-search>span{font-size:21px}.car-panel .car-interior{top:38%;background-size:auto 100%;background-position:70% center;filter:brightness(.85)}.panel-window{left:5%;top:48%;width:90%;height:34%;border-radius:21px;padding:8px;background:linear-gradient(135deg,#b9beb7,#4d5b59 9%,#dce0d7 22%,#7d8b88 46%,#303d3c 71%,#b6bcb3);box-shadow:0 0 0 2px #24312f,0 0 0 4px #71807a66,0 12px 20px #0009}.panel-window img{border:5px solid #101c19;border-radius:13px}.window-glass{inset:13px;border-radius:13px}.car-shade{z-index:-1;background:linear-gradient(180deg,#0d211dfb 0%,#0d211df5 37%,#0d211d70 45%,transparent 65%,#0b1915aa)}.window-swipe-zone{left:5%;top:48%;width:90%;height:34%;z-index:1}.window-controls{left:9%;right:9%;top:70%;gap:5px;padding:5px;background:#071a15dc;border-radius:4px}.window-controls button{font-size:14px;line-height:1.25;padding:6px 3px;min-height:44px}.hero-bottom{left:7%;bottom:10%;font-size:9px;letter-spacing:.6px}.car-number{right:6%;bottom:5%;font-size:9px}.journey-controls{flex-wrap:wrap;gap:12px}.journey-controls p{order:-1;width:100%;text-align:left;font-size:16px}.journey-controls button{font-size:14px;padding:10px 15px}.motion-controls{display:block}.motion-controls span{display:block;margin-top:10px;font-size:14px}.preview-note{font-size:15px}.live-directory{margin-top:38px;padding-top:30px}.directory-heading{display:block;margin-bottom:25px}.directory-heading h2{font-size:48px}.directory-heading>p{font-size:17px;margin-top:20px}.type-controls{gap:8px}.type-controls button{font-size:14px;padding:9px 12px}.results-meta{display:block;font-size:15px}.results-meta>div{margin-top:12px;flex-wrap:wrap;gap:15px}.listing-grid{grid-template-columns:1fr}.group-heading{gap:11px}.group-heading h3{font-size:26px}.group-heading>span:last-child{font-size:12px}.listing-card{padding:25px 22px}.listing-meta{font-size:12px}.listing-card h3{font-size:34px}.listing-card h3>span{font-size:17px}.listing-card>p{font-size:17px}.discipline-tags span{font-size:13px}.listing-bottom{font-size:15px}.listing-bottom a{font-size:16px}.content-note{font-size:15px}footer{display:block;padding:26px 6%}footer p{margin-top:18px}}

.search-label{position:absolute;left:0;top:-27px;font-size:14px;color:#e3d6b6;line-height:1.4}
/* Useful training-type stops; approved 950ms linear track motion stays in JavaScript. */
.arrival-dim{position:absolute;left:30.4%;top:15.8%;width:63.4%;height:51.2%;border-radius:23px;background:#06120e;opacity:0;z-index:0;pointer-events:none}.interior[data-arrived="true"] .arrival-dim{opacity:.6;transition:opacity .4s ease}.interior[data-arrived="false"] .arrival-dim{opacity:0;transition:none}.window-navigation{position:absolute;left:40%;right:9%;top:18%;display:flex;justify-content:space-between;align-items:center;gap:20px;z-index:5;color:#e3d2a6}.window-navigation>div:first-child>span{display:block;font-size:10px;letter-spacing:1px;line-height:1.5}.window-navigation b{display:block;font-size:14px;letter-spacing:1.2px;font-weight:500;margin-top:3px}.window-arrows{display:flex;gap:9px}.window-arrows button{display:flex;justify-content:center;align-items:center;width:44px;height:44px;background:#0a241fdf;color:#f2dfad;border:1px solid #d6c28c;font-size:27px;line-height:1;cursor:pointer}.window-arrows button:hover{background:#dac38b;color:#102e22}.window-info{position:absolute;left:40%;right:9%;top:27%;z-index:3;pointer-events:none;color:#f0ead9;text-shadow:0 2px 4px #0008}.window-info h2{font:500 39px/1.08 var(--serif);margin:0;color:#f7efdb}.stop-description{font-size:17px;line-height:1.6;margin:13px 0 10px;max-width:570px;color:#e4e9d8}.stop-context{font-size:15px;line-height:1.7;color:#dfca98;margin:0 0 16px}.stop-explore{display:flex;justify-content:space-between;align-items:center;gap:25px;width:max-content;max-width:100%;min-height:48px;padding:10px 20px;background:#dcc18a;border:1px solid #f1d7a0;color:#112d22;text-decoration:none;font-size:16px;text-shadow:none;pointer-events:auto}.stop-explore span{font-size:20px}.stop-suggestion{pointer-events:auto;display:block;max-width:100%;font-size:14px;line-height:1.5;color:#f1ddb0;background:none;border:0;border-bottom:1px solid #c6b786;padding:4px 0 7px;margin:0 0 12px;text-align:left}.subject-picker{margin-top:28px;padding-top:30px;border-top:1px solid #596c4e}.subject-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:24px}.subject-heading h2{font:400 49px/1.05 var(--serif);margin:0}.subject-heading h2 em{font-weight:400;color:var(--gold)}#all-subjects{background:#17281f;border:1px solid #879674;color:#dfebd1;padding:11px 20px;font-size:16px;min-height:48px}#all-subjects.selected{border-color:#dfc18b;color:#efdaa7;background:#b6a36a16}.station-navigation{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.station-card{position:relative;isolation:isolate;display:block;min-height:265px;overflow:hidden;background:#10231b;border:1px solid #7d9172;color:#edf0dc;text-align:left;user-select:none;-webkit-user-select:none}.station-card-image,.station-image-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;pointer-events:none}.station-card-image{opacity:0;transform:scale(1.02);transition:opacity .32s ease,transform .55s ease}.station-image-shade{z-index:-1;background:linear-gradient(0deg,#071610f5,transparent 100%);opacity:0;transition:opacity .32s ease}.route-badge{position:absolute;left:22px;top:25px;display:flex;justify-content:center;align-items:center;width:72px;height:72px;border-radius:50%;background:var(--station-colour);color:#fff;font-size:39px;font-weight:700;line-height:1;transition:width .35s ease,height .35s ease,left .35s ease,top .35s ease,font-size .35s ease}.station-card[data-subject="accent"] .route-badge{color:#112d25}.station-card-copy{position:absolute;left:21px;right:20px;bottom:26px;transition:bottom .35s ease,left .35s ease}.station-name{display:block;font:500 27px/1.16 var(--sans);transition:font-size .35s ease;color:#edf0dc}.station-card>i{position:absolute;top:25px;right:17px;font-size:20px;line-height:1;font-style:normal;color:#b6c4a7;opacity:0;transition:opacity .3s ease}.station-card.selected{border-color:#e4c68a}.station-card.selected .station-name{color:#ecd29a}.station-card::after{content:'';position:absolute;bottom:0;left:18px;right:18px;height:3px;background:#e4c68a;opacity:0}.station-card.selected::after{opacity:1}.subject-status{font-size:16px;color:#d5c296;margin:20px 0 0}.keyboard-navigation .station-card:focus-visible .station-card-image{opacity:.78;transform:scale(1.06)}.keyboard-navigation .station-card:focus-visible .station-image-shade{opacity:1}.keyboard-navigation .station-card:focus-visible .route-badge{width:36px;height:36px;left:17px;top:17px;font-size:21px}.keyboard-navigation .station-card:focus-visible .station-card-copy{bottom:20px;left:18px}.keyboard-navigation .station-card:focus-visible .station-name{font-size:22px}.keyboard-navigation .station-card:focus-visible>i{opacity:1}@media(hover:hover) and (min-width:901px){.station-card:hover .station-card-image{opacity:.78;transform:scale(1.06)}.station-card:hover .station-image-shade{opacity:1}.station-card:hover .route-badge{width:36px;height:36px;left:17px;top:17px;font-size:21px}.station-card:hover .station-card-copy{bottom:20px;left:18px}.station-card:hover .station-name{font-size:22px}.station-card:hover>i{opacity:1}}
.wall-poster{position:absolute;left:11.5%;top:23%;width:9%;margin:0;padding:4px;background:linear-gradient(140deg,#c1b79b,#36463c 22%,#8e9685 75%,#26352d);border:1px solid #18281e;box-shadow:0 4px 7px #0009;pointer-events:none;filter:brightness(.84) saturate(.85)}.wall-poster img{display:block;width:100%;height:auto;aspect-ratio:801/1024;object-fit:cover}.car-track[data-moving="false"] .wall-poster{visibility:hidden}@media(max-width:1100px) and (min-width:901px){.station-navigation{grid-template-columns:repeat(3,minmax(0,1fr))}.station-card{min-height:245px}.window-info{top:27%;left:40%;right:8%}.window-info h2{font-size:32px}.stop-description{font-size:15px;line-height:1.6;margin:10px 0}.stop-context{font-size:14px;margin-bottom:13px}.window-navigation{left:40%;right:8%;top:18%}.window-navigation>div:first-child>span{font-size:9px}.stop-explore{font-size:15px;min-height:46px}}
@media(max-width:900px){.arrival-dim{left:5%;top:48%;width:90%;height:34%;border-radius:21px}.window-navigation{left:10%;right:10%;top:50%;gap:15px}.window-navigation>div:first-child>span{font-size:9px;letter-spacing:.6px;max-width:135px}.window-navigation b{font-size:13px;margin-top:2px}.window-arrows{gap:7px}.window-arrows button{width:44px;height:44px;font-size:25px}.window-info{left:10%;right:10%;top:56.5%}.window-info h2{font-size:27px;line-height:1.05}.stop-description{font-size:14px;line-height:1.5;margin:9px 0 8px}.stop-context{font-size:13px;line-height:1.5;margin:0 0 12px}.stop-explore{font-size:14px;min-height:44px;padding:8px 15px;gap:20px}.stop-suggestion{font-size:12px;line-height:1.4;margin:0 0 8px;padding-bottom:4px}.subject-picker{margin-top:22px;padding-top:25px}.subject-heading{align-items:end;gap:15px;flex-wrap:wrap}.subject-heading .eyebrow{font-size:11px;letter-spacing:.7px}.subject-heading h2{font-size:45px}#all-subjects{font-size:15px;min-height:47px;padding:10px 17px}.station-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.station-card{min-height:220px}.station-card:last-child{grid-column:span 2;min-height:180px}.route-badge,.keyboard-navigation .station-card:focus-visible .route-badge{left:17px;top:20px;width:50px;height:50px;font-size:28px}.station-card-copy,.keyboard-navigation .station-card:focus-visible .station-card-copy{left:16px;right:14px;bottom:19px}.station-name,.keyboard-navigation .station-card:focus-visible .station-name{font-size:21px;line-height:1.2}.station-card-image,.keyboard-navigation .station-card:focus-visible .station-card-image{opacity:.28;transform:none}.station-image-shade{opacity:1}.station-card.selected .station-card-image{opacity:.4}.station-card.selected .station-name{color:#f1d89f}.station-card>i{display:none}.subject-status{font-size:15px;line-height:1.8}.car-panel{overflow:visible}.wall-poster{left:-4.5%;top:56%;width:9%;padding:2px;border-width:1px;box-shadow:0 2px 4px #0008}}
@media(prefers-reduced-motion:reduce){body:not(.motion-enabled) .arrival-dim,body:not(.motion-enabled) .station-card-image,body:not(.motion-enabled) .station-image-shade,body:not(.motion-enabled) .route-badge,body:not(.motion-enabled) .station-card-copy,body:not(.motion-enabled) .station-name,body:not(.motion-enabled) .station-card>i{transition:none!important}}

/* Official title mark over the Wicked artwork, within the unchanged poster frame. */
.wall-poster .poster-logo{position:absolute;left:5%;bottom:7%;width:90%;height:auto;aspect-ratio:auto;object-fit:contain;border:0;border-radius:0}.wall-poster:has(.poster-logo) .poster-artwork{object-position:center 42%}

/* Additional research is kept below NYC results, outside their counts. */
.nearby-directory,.coverage-notes{margin:28px 0;padding:22px;border:1px solid #657154;background:#111d17;color:#c7d2ba;font-size:16px;line-height:1.8}.nearby-directory>summary,.coverage-notes>summary{cursor:pointer;color:var(--gold);font-size:18px}.nearby-directory>p{max-width:950px}.nearby-group>h3{font:400 31px var(--serif);color:var(--gold);margin:28px 0 20px}.discipline-tags .specialty-tag{border-style:dashed;color:#bccab9}.additional-source{display:block;margin-top:8px}.coverage-notes a{color:var(--gold)}@media(max-width:900px){.nearby-directory,.coverage-notes{padding:18px 14px;font-size:15px}.nearby-directory>summary,.coverage-notes>summary{font-size:17px}.nearby-group>h3{font-size:28px}}

/* Begin with the train; one brand, two subtitle lines above its window. */
main{padding-top:24px}.hero-instruction{position:absolute;left:5.5%;top:33%;width:22%;margin:0;color:#d4ddca;font-size:16px;line-height:1.65;z-index:3;text-align:left;pointer-events:none}
@media(min-width:901px){.hero-copy{left:5.5%;top:1.7%;width:88%}.hero-copy h1{font-size:clamp(34px,3.3cqw,46px);line-height:1;letter-spacing:-.8px;white-space:nowrap}.hero-copy h1 br{display:none}.hero-copy h1 em:before{content:none}.hero-subtitle{font-size:clamp(13px,1.15cqw,16px);line-height:1.35;margin:8px 0 0}.hero-instruction{font-size:clamp(14px,1.2cqw,16px)}}
@media(max-width:900px){main{padding-top:20px}.hero-copy{top:6%;width:86%}.hero-copy h1{font-size:74px;line-height:.89}.hero-subtitle{font-size:16px;line-height:1.45;margin-top:18px}.hero-instruction{left:7%;top:29%;width:86%;font-size:13px;line-height:1.45}}

/* Warm charcoal, ivory and champagne-to-bronze accents. Route circles retain MTA colours. */
:root{--bg:#161617;--ink:#eeeae3;--muted:#c6c0b7;--gold:#dfc69a;--gold-gradient:linear-gradient(115deg,#f1e4c8 0%,#d4b57d 45%,#a87a46 100%)}
body{background:var(--bg);color:var(--ink)}.composition-frame,.composition{border-color:#81715c}.car-interior{filter:grayscale(.85) brightness(.88)!important}.car-shade{background:linear-gradient(90deg,#181819f7 0%,#181819e0 25%,#18181924 42%,transparent 80%)!important}.arrival-dim{background:#171617!important}.hero-copy em,.subject-heading h2 em,.directory-heading h2 em{background:var(--gold-gradient);background-clip:text;-webkit-background-clip:text;color:transparent}.hero-subtitle,.hero-instruction{color:#ded9d1}.hero-search{background:#e7e2d8;color:#302b25}.hero-search input,.hero-search input::placeholder{color:#40382d}.hero-search button,.stop-explore,.window-arrows button:hover,.type-controls button.selected{background:var(--gold-gradient);color:#241c13;border-color:#c9aa76}.window-arrows button{background:#242426;color:#e9d7b7;border-color:#b9a37e}.station-card{background:linear-gradient(145deg,#28282a,#1c1c1e);border-color:#6d6a63}.station-card.selected{border-color:#d5b67e}.station-name{color:#e5e0d7}.subject-picker,.live-directory,.group-heading{border-color:#6b655c}.listing-card{background:#232325;border-color:#666159}.listing-card>p,.listing-bottom>span,.listing-card details,.source-note,.content-note,.results-meta,.motion-controls span,.subject-status,.directory-heading>p{color:#c8c2b9}.listing-meta{color:#c9bcaa}.listing-card h3{color:#eee8dd}.listing-card h3>span{color:#d5c5a7}.discipline-tags span{color:#ddc9a5;border-color:#7f715d}.discipline-tags .specialty-tag{color:#c5c0b8;border-color:#706b63}.listing-card details,.listing-bottom{border-color:#625c53}.listing-card summary{color:#e3cfaa}.type-controls button,.motion-controls button,#all-subjects{background:#28282a;color:#e0d4bf;border-color:#8b7b64}#all-subjects.selected{border-color:#d5b67e;color:#f1ddba;background:#302c26}.nearby-directory,.coverage-notes,.empty{background:#202022;border-color:#776a57;color:#d2cbc1}.hero-bottom,.car-number{color:#d5c7b0}footer{border-color:#645b4f;color:#bfb8ad}.active-filters{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 22px}.active-filters:empty{margin:0}.filter-chip{display:flex;gap:12px;align-items:center;min-height:42px;padding:8px 13px;background:#302b25;color:#ead5af;border:1px solid #a48a60;border-radius:3px;font-size:14px}.filter-chip span{font-size:20px;line-height:1}.filter-chip:hover{background:#42372a}#clear-filters{color:var(--gold)}
@media(max-width:900px){.car-shade{background:linear-gradient(180deg,#19191afa 0%,#19191af2 37%,#19191a70 45%,transparent 65%,#171718aa)!important}.filter-chip{font-size:13px;min-height:44px}.active-filters{gap:8px}}

@media(max-width:900px){.hero-copy h1{font-size:clamp(54px,20cqw,74px)}}

@media(max-width:350px){.window-info{top:56%}.window-info h2{font-size:25px}.stop-description{font-size:13px;line-height:1.45;margin:8px 0}.stop-context{font-size:12.5px}}

/* Public format control and editorial surfaces. */
.hero-bottom[hidden]{display:none}.format-picker{position:absolute;left:5.5%;bottom:5%;width:31%;border:0;padding:0;margin:0;z-index:5}.format-picker legend{font-size:13px;color:#e3d6bd;margin-bottom:6px}.format-buttons{display:flex;gap:6px}.format-buttons button{flex:1;min-width:0;min-height:44px;background:#262628;color:#e7dbca;border:1px solid #a39072;font-size:14px;padding:8px 10px}.format-buttons button.selected{background:var(--gold-gradient);color:#241c13}.category-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:35px 0;padding:22px 0;border-top:1px solid #6b655c;border-bottom:1px solid #6b655c;font-size:15px}.category-links a,.site-links a{color:#dfc69a;text-underline-offset:4px}.site-links{max-width:1500px;margin:0 auto;padding:15px 5% 35px;display:flex;flex-wrap:wrap;gap:20px;font-size:14px}.request-removal{font-size:12px;color:#c2b5a0;margin-top:14px;text-underline-offset:4px}.editorial-page{max-width:1400px;padding:45px 6%;margin:auto;line-height:1.8}.editorial-page>h1{font:400 clamp(42px,5vw,72px)/1.1 var(--serif);max-width:1000px;color:var(--gold);margin:30px 0}.editorial-page>h2{font:400 36px var(--serif);color:var(--gold);margin-top:35px}.editorial-page>p{max-width:1000px;font-size:18px}.editorial-page .listing-grid{margin-top:35px}.editorial-cta{display:inline-block;margin:8px 15px 8px 0;padding:10px 18px;border:1px solid #b49a70;color:#e4cfaa}.request-page{max-width:900px}.request-page form,.review-card form{display:grid;gap:20px;margin:30px 0}.request-page label,.review-card label{display:grid;gap:7px;color:#e7ddcd}.request-page input:not([type=checkbox]),.request-page select,.request-page textarea,.review-card input,.review-card textarea,#review-status{font:inherit;padding:12px;background:#242426;color:#f0eadf;border:1px solid #97866b;border-radius:2px;width:100%;max-width:100%;box-sizing:border-box}.request-page button,.review-card button{min-height:48px;padding:12px 20px;background:var(--gold-gradient);color:#241c13;border:0;font:inherit;cursor:pointer}.request-page .privacy-confirm{display:flex;align-items:start;gap:12px;font-size:15px}.privacy-confirm input{width:20px;height:20px;margin-top:4px;flex-shrink:0}.honeypot{position:absolute!important;left:-9999px!important}.request-page [hidden]{display:none!important}.review-card{padding:25px;margin-top:25px;background:#232325;border:1px solid #6b6255}.review-card h2{font:400 33px var(--serif);color:var(--gold)}.review-card p{white-space:pre-wrap;overflow-wrap:anywhere}.sort-label{color:#bfb5a6;font-size:14px}button:disabled{opacity:.55;cursor:wait}#request-status,#admin-message{overflow-wrap:anywhere;color:#e1c899}
@media(max-width:900px){.format-picker{left:7%;top:43%;bottom:auto;width:86%}.format-picker legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.format-buttons button{font-size:13px;min-height:44px;padding:6px}.editorial-page{padding:28px 6%}.editorial-page>p{font-size:16px}.site-links{padding:15px 6% 30px}.category-links{font-size:14px;gap:10px 18px}}

@media(min-width:901px){.hero-copy,.hero-instruction,.hero-search,.format-picker{left:4.3%}}

/* Concise station navigation; the four filter buttons remain in the results area. */
.train-intro,.window-stage{display:contents}.window-navigation{justify-content:flex-end}.motion-controls span:empty{display:none}.station-progress{position:absolute;left:40%;top:53%;width:220px;max-width:45%;height:44px;display:flex;justify-content:space-between;align-items:center;z-index:5;pointer-events:auto}.station-progress:before{content:'';position:absolute;left:22px;right:22px;top:21px;height:2px;background:#a593755c;pointer-events:none}.station-progress button{position:relative;display:grid;place-items:center;min-width:44px;width:44px;height:44px;padding:0;background:none;border:0;border-radius:50%;color:#dfc69a;z-index:1}.station-progress button span{display:block;width:9px;height:9px;border-radius:50%;background:#6b6862;border:1px solid #b8aa91;box-shadow:0 0 0 5px #242426}.station-progress button[aria-current=step] span{width:14px;height:14px;background:var(--gold-gradient);border-color:#ead7b3;box-shadow:0 0 0 5px #242426,0 0 12px #dcc08a45}.station-progress button:hover span{border-color:#fff0cf}.subject-guides{max-width:1350px;margin:0 auto;padding:10px 5%;color:#c9bdab;font-size:15px}.subject-guides summary{min-height:44px;cursor:pointer;display:list-item;align-content:center}.subject-guides .category-links{border:0;margin:0 0 15px;padding:0;font-size:14px}.wall-poster{left:5.1%;width:14%}
@media(min-width:901px){.hero-copy,.hero-instruction,.hero-search,.format-picker{left:clamp(18px,2%,30px)}}
/* Phone layouts use natural content height, with only a narrow wall below the frame. */
@media(max-width:900px),(orientation:landscape) and (max-height:600px) and (max-width:1100px){
 html{scroll-padding-top:max(12px,env(safe-area-inset-top))}
 main:not(.editorial-page){padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left))}
 .composition{--phone-pad:clamp(18px,6cqw,26px);display:flex;flex-direction:column;min-height:0;height:auto;aspect-ratio:auto;padding:24px 0 0;background:#19191a}
 .hero-copy{position:relative;left:auto;top:auto;width:auto;margin:0 var(--phone-pad)}
 .hero-copy h1{font-size:clamp(54px,20cqw,74px);line-height:.89;white-space:normal;letter-spacing:-1.5px}.hero-copy h1 br{display:block}
 .hero-subtitle{font-size:16px;line-height:1.45;margin:14px 0 0}
 .hero-instruction{position:static;left:auto;top:auto;width:auto;margin:24px var(--phone-pad) 0;font-size:14px;line-height:1.5}
 .hero-search{position:relative;left:auto;top:auto;bottom:auto;width:auto;margin:38px var(--phone-pad) 0;height:60px;flex:none}
 .format-picker{position:relative;left:auto;top:auto;bottom:auto;width:auto;margin:10px var(--phone-pad) 14px}
 .format-picker legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .window-stage{container-type:inline-size;position:relative;isolation:isolate;display:flex;flex-direction:column;gap:12px;flex:none;width:100%;min-height:350px;height:auto;margin:0;padding:22px 0 24px}
 .window-stage .car-shade{display:none}
 .car-panel{--wall-extra:clamp(72px,20cqw,96px);--wall-half:clamp(36px,10cqw,48px);flex:0 0 calc(100cqw + var(--wall-extra));width:calc(100cqw + var(--wall-extra));overflow:visible}
 .car-panel .car-interior{inset:0;top:0;background:repeating-linear-gradient(0deg,#ffffff03 0 1px,#00000003 1px 3px),linear-gradient(90deg,#555a59,#777d7a 8%,#3f4442 30%,#707572 70%,#454a47);filter:grayscale(.85) brightness(.88)!important;box-shadow:inset 0 8px 12px #080a0966,inset 0 -8px 12px #080a0966}
 .panel-window{left:5cqw;top:12px;width:90cqw;height:calc(100% - 24px);border-radius:21px;padding:8px;background:linear-gradient(135deg,#b9beb7,#4d5b59 9%,#dce0d7 22%,#7d8b88 46%,#303d3c 71%,#b6bcb3);box-shadow:0 0 0 2px #24312f,0 0 0 4px #71807a66,0 8px 16px #0008}
 .panel-window img{border:5px solid #101c19;border-radius:13px}.window-glass{inset:13px;border-radius:13px}
 .arrival-dim{left:5cqw;top:12px;width:90cqw;height:calc(100% - 24px);border-radius:21px}
 .window-swipe-zone{left:5cqw;top:12px;width:90cqw;height:calc(100% - 24px);z-index:1}
 .window-navigation{position:relative;left:auto;right:auto;top:auto;gap:0;min-height:44px;width:calc(90% - 36px);margin:0 auto;flex:none;justify-content:flex-end}
 .window-arrows{gap:7px}.window-arrows button{width:44px;height:44px;font-size:25px}
 .window-info{position:relative;left:auto;right:auto;top:auto;bottom:auto;margin:0 auto;flex:none;width:calc(90% - 36px)}
 .window-info[hidden]{display:block!important;visibility:hidden;pointer-events:none}
 .window-info h2{font-size:27px;line-height:1.08}.stop-description{font-size:14px;line-height:1.5;margin:9px 0 14px}.stop-explore{font-size:14px;min-height:44px;padding:8px 15px;gap:20px}
 .stop-suggestion{font-size:13px;line-height:1.4;margin:0 0 10px;padding-bottom:5px}
 .station-progress{position:relative;left:auto;top:auto;width:220px;max-width:100%;margin:0;align-self:center;flex:none}
 .wall-poster{left:calc(0px - var(--wall-half) - 11cqw);top:23%;width:22cqw;padding:3px;box-shadow:0 3px 7px #0009}
 .editorial-page,.site-links,footer{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
}
/* Wide, short phone screens put controls beside the train, and keep page scrolling. */
@media(orientation:landscape) and (max-height:600px) and (min-width:500px) and (max-width:1100px){
 .composition{display:grid;grid-template-columns:minmax(170px,.42fr) minmax(230px,.58fr);gap:0 16px;padding:16px;align-items:start}
 .train-intro{display:flex;flex-direction:column;grid-column:1;grid-row:1;min-width:0}
 .hero-copy{margin:0;width:100%}.hero-copy h1{font-size:clamp(32px,5cqw,42px);line-height:.98;letter-spacing:-.7px}.hero-subtitle{font-size:14px;line-height:1.4;margin-top:10px}
 .hero-instruction{margin:14px 0 0;font-size:13px;line-height:1.4}
 .hero-search{margin:36px 0 0;height:56px;gap:4px;padding:5px}.search-label{font-size:13px;top:-25px}.hero-search input{font-size:13px}.hero-search button{font-size:13px;padding:0 8px}.hero-search>span{font-size:18px;padding-left:3px}
 .format-picker{margin:8px 0 0}.format-buttons{gap:4px}.format-buttons button{font-size:12px;white-space:nowrap;min-height:44px;padding:6px 4px}
 .window-stage{grid-column:2;grid-row:1;align-self:stretch;min-width:0;min-height:350px;padding-top:20px;padding-bottom:22px;gap:10px}
 .window-info h2{font-size:26px}.stop-description{font-size:13.5px;line-height:1.45;margin:8px 0 12px}
 .station-navigation{grid-template-columns:repeat(3,minmax(0,1fr))}.station-card:last-child{grid-column:auto}
}

/* Explicit stacking remains stable when responsive wrappers use display:contents. */
.car-viewport{z-index:0}.car-shade{z-index:1}.arrival-dim{z-index:2}.window-swipe-zone{z-index:3}.window-info{z-index:4}

/* Keep the desktop seat and backrest in the source image proportions. */
@media(min-width:901px) and (min-height:601px),(min-width:1101px){.composition{width:100%;min-height:0;aspect-ratio:1672/941}.car-interior{background-size:cover}.station-progress{top:56%}}

@media(min-width:901px) and (min-height:601px),(min-width:1101px){.hero-search{bottom:calc(5% + 90px)}}
@media(min-width:901px) and (max-width:1050px) and (min-height:601px){.format-picker{width:35%}}

/* When a type has no matches, one helpful alternative replaces its description. */
.stop-suggestion{margin:10px 0 8px;padding:0 0 3px}
@media(max-width:900px),(orientation:landscape) and (max-height:600px) and (max-width:1100px){.stop-suggestion{margin:9px 0 14px;padding:0 0 4px}}

.stop-explore{line-height:1.4}.stop-explore span{line-height:1}

/* Corrected artwork: five upright adult-scale backs, viewed in an uncropped 3:2 frame. */
@media(min-width:901px) and (min-height:601px),(min-width:1101px){
 .composition{aspect-ratio:1536/1024}
 .car-interior{background-image:url('/assets/backgrounds/modern-subway-into-the-woods-v6.png');background-size:100% auto;background-position:center top}
 .panel-window,.arrival-dim{left:30.2%;top:12.6%;width:63.6%;height:41.8%}
 .window-swipe-zone{left:30.2%;top:12.6%;width:63.6%;height:41.8%}
 .station-progress{top:18%}
}

/* Raise the compact search group to the window, leaving the seats unobstructed. */
.search-cluster{display:contents}
@media(min-width:901px) and (min-height:601px),(min-width:1101px){
 .search-cluster{position:absolute;display:flex;flex-direction:column;left:clamp(18px,2%,30px);bottom:40%;width:29%;z-index:5}
 .search-cluster .hero-search{position:relative;left:auto;top:auto;bottom:auto;width:100%;height:56px;margin:0;flex:none}
 .search-cluster .format-picker{position:relative;left:auto;top:auto;bottom:auto;width:100%;margin:12px 0 0}
 .search-cluster .format-picker legend{font-size:12px;line-height:1.35;margin-bottom:6px}
 .search-cluster .hero-instruction{position:relative;left:auto;top:auto;bottom:auto;width:100%;margin:14px 0 0;font-size:14px;line-height:1.5}
}
@media(min-width:901px) and (max-width:1100px) and (min-height:601px){
 .search-cluster{width:33%}
 .search-cluster .hero-search{height:52px;padding:5px;gap:6px}
 .search-cluster .hero-search input{font-size:14px}.search-cluster .hero-search button{font-size:14px;padding:0 10px}.search-cluster .hero-search>span{font-size:18px;padding-left:4px}
 .search-cluster .format-picker{margin-top:8px}
 .search-cluster .format-picker legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .search-cluster .hero-instruction{margin-top:12px;font-size:13px;line-height:1.5}
}
@media(max-width:900px),(orientation:landscape) and (max-height:600px) and (max-width:1100px){
 .search-cluster .hero-search{height:56px}
 .search-cluster .format-picker{margin-bottom:0}
 .search-cluster .hero-instruction{margin:14px var(--phone-pad) 18px}
}
@media(orientation:landscape) and (max-height:600px) and (min-width:500px) and (max-width:1100px){
 .search-cluster .hero-search{height:52px}
 .search-cluster .hero-instruction{margin:14px 0 0}
}

/* Raise the existing group without changing typography or seat geometry. */
@media(min-width:901px) and (min-height:601px),(min-width:1101px){.search-cluster{bottom:calc(40% + 24px)}}
@media(max-width:900px),(orientation:landscape) and (max-height:600px) and (max-width:1100px){.search-cluster .hero-search{margin-top:34px}}
@media(orientation:landscape) and (max-height:600px) and (min-width:500px) and (max-width:1100px){.search-cluster .hero-search{margin-top:32px}}

/* A stationary carriage surrounds one clipped, moving exterior track. */
.car-viewport>.car-interior{transform:none;will-change:auto}
.panel-window .scenery-viewport{position:absolute;inset:0;left:0;top:0;width:auto;height:auto;overflow:hidden;border-radius:inherit;z-index:1;cursor:grab;touch-action:pan-y}
.scenery-track{position:absolute;inset:0;display:flex;width:100%;height:100%;will-change:transform}
.scenery-panel{position:relative;flex:0 0 100%;width:100%;height:100%;overflow:hidden}
.scenery-panel .scene-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:65% center;border:0;border-radius:0}
.scene-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0c0c10b3,#0c0c1099 60%,#0c0c1070);pointer-events:none}
.panel-window .window-glass{z-index:2}
.scenery-panel .window-info{position:absolute;left:12%;right:8%;top:50%;bottom:auto;transform:translateY(-50%);width:auto;margin:0;z-index:3;pointer-events:none}
.scenery-panel .station-progress{position:relative;left:auto;top:auto;right:auto;bottom:auto;width:220px;max-width:100%;height:44px;margin:14px 0 0;align-self:auto;transform:none;pointer-events:auto}
@media(max-width:900px),(orientation:landscape) and (max-height:600px) and (max-width:1100px){
 .window-stage .car-interior{inset:0;background:repeating-linear-gradient(0deg,#ffffff03 0 1px,#00000003 1px 3px),linear-gradient(90deg,#555a59,#777d7a 8%,#3f4442 30%,#707572 70%,#454a47);box-shadow:inset 0 8px 12px #080a0966,inset 0 -8px 12px #080a0966}
 .panel-window .scenery-viewport{inset:8px;left:8px;top:8px;width:auto;height:auto;border:5px solid #101c19;border-radius:13px}
 .window-stage{min-height:350px}
 .scenery-panel .window-info{left:8%;right:8%}
 .scenery-panel .station-progress{margin-top:12px}
}

.car-viewport>.car-shade{z-index:1}.car-viewport>.panel-window{z-index:2}

@media(min-width:901px) and (max-width:1100px) and (min-height:601px){.search-cluster .format-buttons button{padding-inline:6px;white-space:nowrap}}

/* Moving captions cannot scroll their clipped viewport when keyboard focus changes. */
.panel-window,.panel-window .scenery-viewport{overflow:clip}

.scenery-panel .scene-image{pointer-events:none;user-select:none;-webkit-user-drag:none}
