/* Aviation market pages (Madrid = market #2). Extends empty-legs.css; same tokens. */
.hero-market{background:radial-gradient(120% 90% at 78% 40%,#2a2925 0%,#1c1c1a 55%,#141412 100%);min-height:640px}
.hero-market:after{background:linear-gradient(90deg,rgba(20,20,18,.92) 0%,rgba(20,20,18,.55) 46%,rgba(20,20,18,0) 72%)}
.hero-map{position:absolute;inset:0 0 54px 30%;display:flex;align-items:center;justify-content:flex-end;pointer-events:none}
.route-map{width:100%;max-width:880px;height:auto;overflow:visible}
.route-map .grat{stroke:rgba(248,246,241,.06);stroke-width:1}
.route-map .arc{fill:none;stroke:#b39d74;stroke-width:1.1;stroke-dasharray:3 5;opacity:.85;stroke-dashoffset:200;animation:arc 2.4s cubic-bezier(.2,.7,.2,1) forwards}
.route-map .arc.long{stroke:#8c7755;opacity:.7}
.route-map .dot{fill:#f7f5f0}
.route-map .hub{fill:#b39d74}.route-map .hub-ring{fill:none;stroke:#b39d74;stroke-width:1;opacity:.5;transform-origin:center;transform-box:fill-box;animation:pulse 3.2s ease-out infinite}
.route-map .lbl{fill:rgba(248,246,241,.82);font:400 11px/1 var(--sans);letter-spacing:.06em}
.route-map .lbl .code{fill:#b39d74;font-size:9px;letter-spacing:.14em}
.route-map .hub-lbl{font-size:10px;letter-spacing:.24em;fill:#f7f5f0}
@keyframes arc{to{stroke-dashoffset:0}}
@keyframes pulse{0%{transform:scale(.6);opacity:.7}100%{transform:scale(1.9);opacity:0}}
@media (prefers-reduced-motion:reduce){.route-map .arc,.route-map .hub-ring{animation:none;stroke-dashoffset:0}}
@media (max-width:820px){.hero-market{min-height:0}.hero-map{position:relative;inset:auto;order:2;padding:0 var(--gut) 8px;justify-content:center}.hero-market:after{display:none}.hero-market .hero-content{order:1;padding-bottom:20px}.hero-market .hero-foot{order:3;flex-wrap:wrap;gap:12px 22px}.route-map .lbl{font-size:13px}}
.routes{padding-top:clamp(70px,9vw,130px);padding-bottom:clamp(40px,6vw,80px);border-top:1px solid var(--line)}
.route-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:42px}
.route-card{background:#fff;padding:28px 26px 24px;display:flex;flex-direction:column;gap:12px;transition:background .25s}
.route-card:hover{background:var(--paper)}
.route-code{font-size:10px;letter-spacing:.2em;color:var(--accent);font-weight:500}
.route-card h3{font-size:31px}
.route-why{font-size:14px;color:var(--muted);line-height:1.6;flex:1}
.route-card dl{display:grid;grid-template-columns:repeat(3,auto);gap:4px 18px;margin:6px 0 0;font-size:12px}
.route-card dt{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.route-card dd{margin:2px 0 0}
.route-actions{display:flex;gap:18px;padding-top:10px;border-top:1px solid var(--line)}
.route-actions button{background:none;border:0;padding:10px 0;min-height:44px;font:500 11px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);cursor:pointer}
.route-actions button:hover{color:var(--accent)}
.how{list-style:none;padding:0;margin:34px 0 0;display:grid;gap:22px;counter-reset:none}
.how li{display:grid;grid-template-columns:44px 1fr;column-gap:14px;row-gap:4px;border-top:1px solid var(--line);padding-top:18px}
.how-n{grid-row:span 2;font:300 26px/1 var(--serif);color:var(--accent)}
.how h3{font-size:22px}
.how p{font-size:14px;color:var(--muted)}
.arrival-choices input[type=radio]{accent-color:var(--ink)}
.market-madrid .arrival-choices{display:flex;flex-wrap:wrap;gap:6px 22px}
.market-madrid .arrival-choices label{white-space:normal}
.hero-market .hero-copy{max-width:34em}
@media (min-width:821px){.hero-map{inset:0 0 54px 44%}}
@media (max-width:820px){.route-map .lbl{font-size:21px}.route-map .lbl .code{font-size:16px}.route-map .hub-lbl{font-size:19px}}
.market-madrid .arrival-choices{min-width:0;max-width:100%}.market-madrid .arrival-choices label{flex:0 1 auto;min-width:0}
.market-madrid .arrival-choices label{display:grid!important;grid-template-columns:17px minmax(0,1fr);flex-basis:100%}
