/* Terminal2City shared theme — matches the new landing page */
:root{--ink:#1c2547;--navy:#0f1f5c;--navy2:#1b3a8f;--blue:#3a6df0;--blue-soft:#e8f1ff;--yellow:#f8c93a;--pink:#f8c93a;--bg:#fff;--line:#e3e8f5;--muted:#5d6786;--shadow:0 18px 50px rgba(15,31,92,.16);--shadow-soft:0 4px 14px rgba(15,31,92,.07)}
html{scroll-behavior:smooth}
body{font-family:"Plus Jakarta Sans",system-ui,sans-serif;background:#fff;color:var(--ink)}
button,input,select,textarea{font-family:inherit}
h1,h2,h3{letter-spacing:-.03em}h1{font-weight:800}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:8px}
.site-header{background:rgba(255,255,255,.92);border-bottom:1px solid var(--line)}
.header-inner{min-height:76px}.header-inner .nav{margin-left:auto}
.nav a{font-weight:800;color:#29496f}.nav a:hover,.nav a.active{background:#eaf4ff;color:#102f5f}.nav .partner-link{background:#102f5f;color:#fff}.nav .partner-link:hover{background:#173f79;color:#fff}
.cur{display:inline-flex}.cur select{appearance:none;-webkit-appearance:none;border:1.5px solid var(--line);background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M1 1l4 4 4-4' stroke='%23102f5f' stroke-width='2' fill='none'/></svg>") no-repeat right 12px center;border-radius:999px;height:44px;padding:0 32px 0 16px;font-weight:800;font-size:14px;color:#102f5f;cursor:pointer}.cur select:hover{border-color:var(--blue)}
.page-hero,.route-page-hero,.route-hub-hero{background:linear-gradient(#d3e5fb,#e4effd 65%,#f6faff)}
.page-hero h1,.route-page-copy h1{font-weight:800;letter-spacing:-.035em;color:var(--navy)}
.route-page-image{border-radius:22px;border:4px solid #fff;box-shadow:var(--shadow)}
.soft-section{background:linear-gradient(#eef5ff,#fff);border-color:var(--line)}
.eyebrow,.route-kicker{text-transform:none;letter-spacing:0;font-size:13px;font-weight:700;color:var(--blue)}
.button{border-radius:14px;font-weight:800;background:var(--yellow);color:var(--navy);transition:transform .15s,box-shadow .15s}.button:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(248,201,58,.45)}
.button.primary,.route-search-cta .button,.operator-cta .button.primary{background:var(--yellow);color:var(--navy)}.button.secondary{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4)}.button.blue{background:var(--blue);color:#fff}
.search-button{background:var(--yellow);color:var(--navy);border-radius:14px;box-shadow:none;font-weight:800}.search-button:hover{box-shadow:0 8px 20px rgba(248,201,58,.5)}.search-button:active{transform:none;box-shadow:none}
.field,.decision-field select,.decision-field input,.split-controls input,.split-controls select,.group-cost-fields input,.group-cost-fields select{border:1.5px solid var(--line);border-radius:14px}
.field:focus-within{border-color:var(--blue);box-shadow:none}
.field label,.decision-field label,.split-controls label,.group-cost-fields label{text-transform:none;letter-spacing:0;font-size:12px;font-weight:600;color:var(--muted)}
.field input,.field select{color:var(--navy);font-weight:700}
.route-card,.option-card,.info-card,.faq-item,.feature,.value-card,.corridor-card,.utility-card,.method-grid article,.signal-grid article,.fit-card,.step,.check,.scenario-grid article,.decision-grid article,.airport-row,.panel,.contact-box,.unpublished-route,.route-map-shell,.compare-table-wrap,.result-card{border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft)}
.route-card{overflow:hidden;cursor:pointer}.route-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(15,31,92,.14)}
.planner-box,.split-calc{background:#f7faff;border:1px solid var(--line);border-radius:22px}
.operator-cta,.route-search-cta{background:linear-gradient(135deg,#0f1f5c,#1d3f9a);border-radius:22px}
.tip-box{background:#eef4ff;border-color:#d4e2fb;border-radius:18px}
.compare-table thead th{background:#f2f6ff}
.fit-card.primary{border:2px solid var(--blue)}
.site-footer{background:#fff;border-top:1px solid var(--line);color:var(--muted)}.footer-links a:hover{color:var(--blue)}
@media(max-width:720px){.header-inner{min-height:60px}.header-inner .cur{margin-left:auto;margin-right:8px}.cur select{font-size:16px;padding-left:12px}}

.route-hub-hero{position:relative;overflow:hidden;padding-bottom:96px;background:linear-gradient(#d3e5fb,#e4effd 70%,#e8f2fe)}
.route-hub-hero::before{content:"";position:absolute;left:0;right:0;bottom:0;height:min(100%,calc(100vw / 3.5));background:url(assets/landing/hero_band.webp) 50% 100%/cover no-repeat;-webkit-mask-image:linear-gradient(180deg,transparent,#000 38%);mask-image:linear-gradient(180deg,transparent,#000 38%)}
.route-hub-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(220,233,252,.96) 0,rgba(220,233,252,.9) 34%,rgba(220,233,252,0) 68%)}
.route-hub-hero .wrap{position:relative;z-index:1}
@media(min-width:1000px){.route-hub-hero .wrap>*{max-width:540px}}
@media(max-width:999px){.route-hub-hero::before{height:230px}.route-hub-hero::after{background:linear-gradient(180deg,rgba(220,233,252,.96) 0,rgba(220,233,252,.75) 60%,rgba(220,233,252,0))}}
.hub-chips-wrap{position:relative;z-index:3;margin-top:-40px}
.hub-chips{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;background:#fff;border-radius:22px;padding:14px;box-shadow:var(--shadow)}
.hub-chips a{display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);border-radius:14px;padding:11px 12px;color:var(--navy);transition:border-color .15s,background .15s,transform .15s}
.hub-chips a:hover{border-color:var(--blue);background:var(--blue-soft);transform:translateY(-2px)}
.hub-chips i{font-style:normal;width:34px;height:34px;border-radius:50%;background:var(--blue-soft);display:grid;place-items:center;font-size:15px;flex:none}
.hub-chips b{display:block;font-size:14px;line-height:1.2}.hub-chips small{color:var(--muted);font-weight:600;font-size:12px}
.route-art{position:relative;overflow:hidden}.route-art img{transition:transform .4s}.route-card:hover .route-art img{transform:scale(1.06)}
.rlabel{position:absolute;left:12px;top:12px;z-index:2;background:#f8c93a;color:#0f1f5c;font-weight:800;font-size:13px;padding:6px 13px;border-radius:999px;box-shadow:0 0 0 3px #fff,0 4px 10px rgba(15,31,92,.25);transform:rotate(-3deg)}
.rbadge{position:absolute;right:12px;top:12px;z-index:2;width:34px;height:34px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:15px;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.decision-grid article{transition:transform .2s,box-shadow .2s}.decision-grid article:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(15,31,92,.12)}
.ico{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;font-size:23px;margin-bottom:12px}
.apcode{display:inline-flex;align-items:center;gap:6px;background:var(--navy);color:#fff;border-radius:999px;padding:5px 13px;font-weight:800;font-size:12px;margin-bottom:12px}
@media(max-width:1020px){.hub-chips{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.hub-chips{grid-template-columns:repeat(2,1fr);padding:10px;gap:8px}.hub-chips-wrap{margin-top:-30px}.route-hub-hero{padding-bottom:170px}}
