/* =====================================================================
   PRUEBA · Andén con el lenguaje de diseño de Apple, versión nocturna (negro cálido, marfil y latón)
   (design-md/awesome-design-md/design-md/apple/DESIGN.md)
   Fotos protagonistas, bloques de borde a borde que alternan blanco,
   pergamino y casi negro, un solo azul para todo lo que se toca,
   títulos en peso 600 con tracking cerrado y texto a 17px.
   ===================================================================== */

/* ---------- tokens claros (la base de Apple) ---------- */
:root:not(#apple){
  color-scheme:dark;
  --bg:#0E0D0C; --bg-2:#171614; --panel:#1F1D1A;
  --ink:#EEEAE2; --ink-soft:#A8A39A;
  --gold:#C9A979; --coral:#A8A39A; --sage:#A8A39A;
  --line:rgba(238,234,226,.14); --shadow:transparent;
  --serif:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", system-ui, sans-serif;
  --sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", system-ui, sans-serif;
  --mono:var(--sans);
}
.sheet-light{ --bg:#171614; --bg-2:#1F1D1A; --panel:#1F1D1A; --ink:#EEEAE2; --ink-soft:#A8A39A; --gold:#C9A979; --coral:#A8A39A; --line:rgba(238,234,226,.14); }
/* bloques oscuros: tile casi negro y el azul brillante para fondo oscuro */
.apple-dark,.globe-section,.scene-train,.scene-counter,.city-hero{
  --bg:#0A0909; --bg-2:#171614; --panel:#1F1D1A;
  --ink:#EEEAE2; --ink-soft:#A8A39A; --gold:#C9A979; --coral:#A8A39A; --line:rgba(255,255,255,.14);
  background:var(--bg); color:var(--ink);
}
.scene-counter{ --bg:#0E0D0C; }
.globe-section{ --bg:#0A0909; background:#0A0909; }
/* una sola paleta: el color de cada ciudad se reemplaza por el azul */
.city,.trip-city,.near-item,.board li,.next-card{ --city-accent:#C9A979 !important; }
.cf{ font-family:var(--serif) !important; font-weight:600 !important; --cf-scale:1 !important; }

body{ background:var(--bg); color:var(--ink); font-size:17px; line-height:1.47; letter-spacing:-.022em; -webkit-font-smoothing:antialiased; }
h1,h2,h3,.brand-mark,.board-city,.next-card span{ font-family:var(--serif); font-weight:600; letter-spacing:-.025em; text-transform:none; }
h1 em,h2 em{ color:inherit; }
p{ letter-spacing:-.022em; }

/* ---------- sin adornos: bloques rectos, sin sombras, sin intro ---------- */
.sheet{ border-radius:0; margin-top:0; box-shadow:none; }
.home-hero,.city-hero{ position:relative !important; }
.intro{ display:none !important; }
html.is-intro{ overflow:auto !important; }
.marquee{ display:none; }
.grain::after{ display:none; }

/* ---------- navegación: barra negra finita de 44px ---------- */
.topbar{ background:rgba(0,0,0,.86); backdrop-filter:saturate(180%) blur(20px); -webkit-backdrop-filter:saturate(180%) blur(20px); border-bottom:0; }
.topbar-in{ height:44px; }
.topbar .brand-mark{ font-size:1.05rem; letter-spacing:-.01em; color:#171614; }
.topbar .brand-sub{ display:none; }
.topnav > a,.cities-menu summary{ font-size:12px; color:rgba(238,234,226,.14); letter-spacing:-.01em; }
.topnav > a:hover,.cities-menu summary:hover{ color:#EEEAE2; }
.cities-menu summary{ border:0; padding:6px 8px; }
.topnav .trip-link b{ background:#C9A979; color:#EEEAE2; }
.cities-menu-list{ border-radius:18px; border:1px solid rgba(238,234,226,.14); box-shadow:0 20px 50px rgba(0,0,0,.18); background:var(--bg); color:#EEEAE2; --ink:#EEEAE2; --bg-2:#171614; --gold:#C9A979; }
.cities-menu-list a:hover{ background:#171614; }
.menu-region{ letter-spacing:-.01em; text-transform:none; font-size:12px; color:#A8A39A; font-weight:600; }

/* sub-nav de cada ciudad: pergamino esmerilado de 52px */
.subnav{ top:44px; background:rgba(14,13,12,.82); backdrop-filter:saturate(180%) blur(20px); -webkit-backdrop-filter:saturate(180%) blur(20px); border-bottom:1px solid rgba(238,234,226,.1); }
.subnav a{ font-family:var(--sans); font-size:14px; color:#EEEAE2; padding:16px 12px; border:0; }
.subnav a.is-active{ color:#C9A979; }
.subnav-out{ color:#C9A979 !important; }

/* ---------- etiquetas: sin mayúsculas espaciadas ---------- */
.eyebrow{ display:none; }
.stop-no,.itin-n,.near-d{ font-family:var(--sans); font-size:14px; letter-spacing:-.016em; text-transform:none; color:#A8A39A; font-weight:400; }
.stamp{ transform:none; border:0; border-radius:999px; background:var(--bg-2); color:var(--ink-soft); font-family:var(--sans); font-size:12px; letter-spacing:-.01em; text-transform:none; padding:4px 10px; font-weight:600; }
.sheet-light .stamp{ background:var(--bg); }
.credit{ font-family:var(--sans); letter-spacing:-.01em; }
.font-note{ display:none; }

/* ---------- botones: píldora azul y píldora fantasma ---------- */
.btn-solid,.pass button{ background:#C9A979; color:#EEEAE2; border-radius:999px; font-family:var(--sans); font-weight:400; font-size:17px; letter-spacing:-.022em; padding:11px 22px; filter:none; }
.btn-solid:active,.btn-ghost:active,.pass button:active,.fav:active,.board-filter button:active{ transform:scale(.95); }
.btn-ghost,.trip-tools .btn-ghost{ font-family:var(--sans); font-size:17px; letter-spacing:-.022em; background:transparent; color:#C9A979; border:1px solid #C9A979; border-radius:999px; padding:11px 22px; }
.btn-ghost:hover{ background:#C9A979; color:#EEEAE2; }
.apple-dark .btn-ghost,.globe-section .btn-ghost{ color:#C9A979; border-color:#C9A979; }
.board-filter button,.archive-filter a{ background:var(--bg); border:1px solid rgba(238,234,226,.14); color:#EEEAE2; border-radius:999px; font-size:14px; padding:10px 16px; }
.board-filter button span,.archive-filter a span{ color:#A8A39A; }
.board-filter button.is-on,.archive-filter a[aria-current]{ background:var(--bg); color:#EEEAE2; border:2px solid #C9A979; }
.board-filter button.is-on span,.archive-filter a[aria-current] span{ color:#A8A39A; opacity:1; }
.fav{ background:#1F1D1A; border:3px solid #2A2724; border-radius:11px; color:#EEEAE2; font-size:14px; }
.fav[aria-pressed="true"]{ background:#C9A979; border-color:#C9A979; color:#EEEAE2; }
.links a{ font-family:var(--sans); font-size:14px; letter-spacing:-.016em; color:#C9A979; border:0; }
.links a:first-child{ color:#C9A979; }
.links a:hover{ text-decoration:underline; color:#C9A979; }

/* ---------- portada: titular centrado, buscador píldora, foto ancha ---------- */
.home-hero{ background:var(--bg); padding:64px 0 0; border:0; }
.home-hero-in{ grid-template-columns:1fr; text-align:center; gap:40px; }
.home-hero-copy{ display:flex; flex-direction:column; align-items:center; }
.home-hero h1{ font-size:clamp(2.4rem,5.4vw,3.5rem); line-height:1.07; letter-spacing:-.03em; margin-bottom:14px; max-width:16ch; }
.home-hero .lede{ font-size:clamp(1.2rem,2.2vw,1.75rem); line-height:1.14; color:#EEEAE2; max-width:30ch; letter-spacing:.007em; }
.pass{ border-radius:999px; border:1px solid rgba(238,234,226,.1); box-shadow:none; background:var(--bg); max-width:560px; width:100%; padding:6px; }
.pass-stub{ display:none; }
.pass input{ padding:12px 20px; font-size:17px; }
.pass button{ font-size:15px; letter-spacing:0; }
.suggest{ border-radius:18px; box-shadow:0 20px 50px rgba(0,0,0,.14); border-color:rgba(238,234,226,.14); text-align:left; }
.home-hero-photo{ margin:0 calc(var(--gutter) * -1); }
.slides{ aspect-ratio:21/9; border-radius:0; }
.home-hero-photo figcaption{ padding:0 var(--gutter); }
.slide-cap a{ color:#C9A979; }
.tick{ font-family:var(--sans); border-top-color:rgba(238,234,226,.14); color:#A8A39A; }
.tick.is-on{ color:#EEEAE2; }
.tick::before{ background:#C9A979; }

/* escenas: tiles negros con titular blanco */
.train-pin{ background:#000; }
.train-lines p{ font-family:var(--serif); font-weight:600; letter-spacing:-.03em; }
.train-lines p em{ color:#C9A979; }
.train-art .lamp,.train-art .win{ fill:#171614; }
.train-art .edge{ fill:#171614; opacity:.25; }
.counter-num{ font-family:var(--serif); font-weight:600; letter-spacing:-.04em; text-shadow:none; }
.counter-label strong{ color:#C9A979; }
.fly{ border-radius:18px; box-shadow:rgba(0,0,0,.22) 3px 5px 30px; }

/* globo */
.globe-section::before{ display:none; }
.globe-copy h2 em{ color:#C9A979; }
.globe-region{ color:#A8A39A; letter-spacing:-.01em; text-transform:none; font-weight:600; font-size:12px; }
.globe-list a{ font-family:var(--sans); color:#171614; }
.globe-list a:hover,.globe-list a.is-hot{ color:#C9A979; }
.gpin-dot{ background:#C9A979; box-shadow:0 0 0 3px rgba(201,169,121,.3), 0 0 12px rgba(201,169,121,.8); }
.gpin-dot::after{ border-color:#C9A979; }
.gpin-label{ font-family:var(--sans); background:rgba(14,13,12,.86); border:0; border-radius:999px; }
.gpin:hover .gpin-label,.gpin.is-hot .gpin-label{ background:#C9A979; color:#EEEAE2; }

/* tablero: lista limpia sobre pergamino */
.board-section{ background:#171614; }
.board{ border-top:0; }
.board-row{ background:var(--bg); border:0; border-radius:18px; margin-bottom:10px; padding:16px 20px; }
.board-row:hover{ background:var(--bg); }
.board-code{ font-family:var(--sans); color:#A8A39A !important; font-weight:600; letter-spacing:0; }
.board-city{ font-weight:600; }
.board-city small{ font-family:var(--sans); letter-spacing:-.01em; }
.board-photo img{ border-radius:8px; filter:none; }
.board-meta{ font-family:var(--sans); }
.board-go{ color:#C9A979; }

/* tarjetas: cards blancas de 18px con borde finito, sin sombra */
.postcard{ background:var(--bg); border:1px solid rgba(238,234,226,.14); border-radius:18px; overflow:hidden; }
.postcard:hover{ transform:none; box-shadow:none; }
.frame{ margin:0; border-radius:0; }
.corner{ display:none; }
.frame img{ aspect-ratio:4/3; }
.postcard-body{ padding:20px 24px 24px; }
.postcard h3{ font-size:1.3rem; letter-spacing:-.022em; }
.city-tag{ font-family:var(--sans); letter-spacing:-.01em !important; text-transform:none !important; color:#A8A39A !important; font-size:14px !important; }
.gem-card{ border-radius:18px; border:1px solid rgba(238,234,226,.14); box-shadow:rgba(0,0,0,.22) 3px 5px 30px; background:var(--bg); color:#EEEAE2; }
.gem-spot{ background:#171614; }
.gem-spot-copy h2{ font-weight:600; }
.archive-tease{ background:var(--bg); }
.statement{ font-family:var(--serif); font-weight:600; letter-spacing:-.035em; line-height:1.05; }
.statement-wrap{ text-align:center; }
.statement-wrap p{ margin-inline:auto; }
.how{ background:#171614; }
.how-n{ font-family:var(--sans); color:#A8A39A; }

/* ---------- ciudad: titular blanco sobre la foto, sin caja ---------- */
.city-hero{ min-height:min(92vh,820px); align-items:center; text-align:center; }
.city-hero::before{ background:rgba(0,0,0,.42); }
.city-hero-in{ display:flex; flex-direction:column; align-items:center; padding:120px var(--gutter) 64px; }
.crumbs{ font-family:var(--sans); }
.ticket{ background:none; backdrop-filter:none; -webkit-backdrop-filter:none; box-shadow:none; display:flex; flex-direction:column; align-items:center; max-width:760px; color:#EEEAE2; }
.ticket-main{ padding:0; }
.ticket h1.city-name{ font-size:clamp(3rem,9vw,5.6rem); letter-spacing:-.04em; line-height:1.02; color:#EEEAE2; }
.ticket .lede{ color:#171614; font-size:clamp(1.15rem,2vw,1.5rem); line-height:1.3; margin-inline:auto; max-width:34ch; }
.ticket-stub{ flex-direction:row !important; border:0 !important; gap:36px; padding:28px 0 0 !important; min-width:0; justify-content:center; }
.ticket-stub::before,.ticket-stub::after{ display:none; }
.ticket-stub dt{ font-family:var(--sans); color:#A8A39A; text-transform:none; letter-spacing:-.01em; font-size:14px; }
.ticket-stub dd{ font-family:var(--serif); font-weight:600; color:#fff !important; font-size:1.6rem; }
.city-hero > .credit{ color:#EEEAE2; }

.section-head{ text-align:center; margin-inline:auto; max-width:760px; }
.section-head h2{ font-size:clamp(2rem,4vw,2.5rem); letter-spacing:-.03em; }
.section-head .statement{ font-size:clamp(2.4rem,6vw,4.4rem); }
.section-head p{ font-size:clamp(1.1rem,1.8vw,1.4rem); color:#A8A39A; }
.stop h3{ font-size:clamp(1.8rem,3.4vw,2.5rem); letter-spacing:-.03em; }
.stop-body > p{ font-size:19px; color:#EEEAE2; line-height:1.42; }
.stop-photo img{ border-radius:18px; }
.tip{ background:#171614; border:0; border-radius:18px; padding:14px 18px; }
.tip span{ font-family:var(--sans); color:#A8A39A; letter-spacing:0; text-transform:none; font-weight:600; }
.tips{ border-top:0; gap:12px; }
.tips div{ background:var(--bg); border:1px solid rgba(238,234,226,.14); border-radius:18px; padding:22px 24px; }
.tips dt{ font-family:var(--sans); color:#EEEAE2; font-weight:600; letter-spacing:-.016em; text-transform:none; font-size:17px; }
.map{ border-radius:18px; border:1px solid rgba(238,234,226,.14); }
.map .leaflet-tile-pane,.sheet-light .leaflet-tile-pane{ filter:grayscale(.25) !important; }
.pin-m,.pin-g{ background:#C9A979 !important; color:#fff !important; border-color:#EEEAE2; }
.pin-g{ background:#A8A39A !important; }
.key-m{ background:#C9A979; } .key-g{ background:#A8A39A; }
.next{ background:var(--bg); }
.next-card{ border-radius:18px; color:#EEEAE2; }
.next-card span{ background:linear-gradient(transparent, rgba(0,0,0,.55)); font-weight:600; }
.next-card small{ font-family:var(--sans); color:#171614 !important; }

/* páginas internas */
.archive-hero{ background:var(--bg); text-align:center; }
.archive-hero p{ margin-inline:auto; }
.archive-hero .statement{ font-size:clamp(2.4rem,6vw,4.4rem); }
.archive-region{ text-align:center; font-weight:600; }
.archive-region span{ color:#A8A39A; }
.trip-city-head h2 a,.trip-day h3{ color:#EEEAE2 !important; font-family:var(--serif); letter-spacing:-.02em; text-transform:none; }
.trip-item img,.trip-map,.near-item img{ border-radius:12px; }
.itin-dot{ background:#C9A979; color:#EEEAE2; }

/* pie: pergamino, letra chica */
.footer{ background:#171614; color:#A8A39A; font-size:12px; border-top:0; }
.footer .brand-mark{ color:#EEEAE2; font-size:1.2rem; }
.footer-note{ font-family:var(--sans); font-style:normal; font-size:14px; }
.footer-links a{ color:#EEEAE2; border:0; font-size:12px; }
.footer-links a:hover{ color:#C9A979; text-decoration:underline; }
.footer-legal{ font-family:var(--sans); color:#A8A39A; }
.legal-page{ background:var(--bg); }
.legal-body h2{ color:#EEEAE2; font-weight:600; }
.legal-body a{ color:#C9A979; }
.legal-lede{ background:#171614 !important; border-radius:18px; }

html::after{ background:#000; }

@media (max-width:640px){
  .home-hero{ padding-top:40px; }
  .slides{ aspect-ratio:4/3; }
  .ticket-stub{ gap:20px; }
  .board-row{ padding:12px 14px; }
}

/* ---------- ajustes de la versión nocturna ---------- */
body{ background:var(--bg); }
.btn-solid,.pass button,.fav[aria-pressed="true"],.topnav .trip-link b,.itin-dot,.pin-m{ color:#0E0D0C !important; }
.btn-ghost:hover{ color:#0E0D0C; }
.board-row,.postcard,.gem-card,.tips div,.board-filter button,.archive-filter a,.pass,.suggest,.cities-menu-list{ background:var(--panel); }
.board-filter button.is-on,.archive-filter a[aria-current]{ border-color:#C9A979; background:var(--panel); }
.cities-menu-list{ color:#EEEAE2; --ink:#EEEAE2; --bg-2:#2A2724; }
.cities-menu-list a:hover{ background:#2A2724; }
.home-hero,.archive-tease,.next,.archive-hero,.legal-page{ background:var(--bg); }
.board-section,.gem-spot,.how,.footer{ background:#171614; }
.topbar{ background:rgba(10,9,9,.86); }
.stamp,.sheet-light .stamp{ background:#2A2724; color:#D8CFC0; }
.pass{ border-color:rgba(238,234,226,.16); }
.pass input{ color:#EEEAE2; }
.gem-card{ box-shadow:0 20px 50px rgba(0,0,0,.45); }
.map{ border-color:rgba(238,234,226,.14); }
.map .leaflet-tile-pane,.sheet-light .leaflet-tile-pane{ filter:invert(1) hue-rotate(180deg) grayscale(.85) brightness(.75) contrast(.95) !important; }
.train-pin{ background:#0A0909; }
.train-art .lamp,.train-art .win{ fill:#C9A979; }
.train-art .edge{ fill:#C9A979; opacity:.35; }
.next-card span{ color:#EEEAE2; }
html::after{ background:#0A0909; }
.topbar .brand-mark{ color:#EEEAE2; }
.topnav > a,.cities-menu summary{ color:#A8A39A; }
.topnav > a:hover,.cities-menu summary:hover,.topnav > a[aria-current]{ color:#EEEAE2; }
.board-filter button,.archive-filter a{ border-color:rgba(238,234,226,.16); }
.tick{ border-top-color:rgba(238,234,226,.16); }
.subnav{ border-bottom-color:rgba(238,234,226,.1); }
.globe-list a{ color:#EEEAE2; }
.globe-list a:hover,.globe-list a.is-hot{ color:#C9A979; }
.ticket .lede{ color:#EEEAE2; }
