:root {
  --ink: #131518;
  --paper: #f6f6f4;
  --muted: #6b6f76;
  --rule: #e2e2e0;
  --accent: #e8601a;
  --cool: #006d77;
  --cool2: #005f6b;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"PingFang SC","Microsoft YaHei","Hiragino Sans GB",sans-serif;background:var(--paper);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--ink);text-decoration:none}
button,input,textarea{font-family:inherit}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--rule)}
.header-inner{max-width:1200px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{font-weight:900;font-size:20px;letter-spacing:-0.02em}
.nav{display:flex;gap:22px;flex-wrap:wrap}
.nav a{font-size:13px;color:var(--muted);font-weight:500}
.nav a:hover{color:var(--ink)}
.nav a[aria-current="page"]{color:var(--ink);font-weight:700}
.header-phone a{font-weight:800;font-size:15px;color:var(--ink);font-variant-numeric:tabular-nums}
.header-phone a:hover{color:var(--accent)}
@media(max-width:860px){
  .nav{display:none}
  .brand{font-size:18px}
}

/* Hero */
.hero{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.hero-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 52%;gap:0;min-height:520px}
.hero-text{padding:72px 28px 64px}
.hero-label{font-size:12px;color:#9aa0a6;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:12px}
.hero h1{font-size:clamp(36px,5vw,64px);font-weight:900;line-height:1.08;letter-spacing:-0.03em;margin-bottom:18px}
.hero-accent-line{width:48px;height:4px;background:var(--accent);margin-bottom:20px}
.hero-desc{font-size:16px;color:#b5bac1;max-width:420px;line-height:1.7;margin-bottom:28px}
.hero-stats{display:flex;gap:28px;flex-wrap:wrap}
.stat .stat-num{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:28px;font-weight:800;color:#fff;line-height:1}
.stat .stat-cap{font-size:11px;color:#9aa0a6;margin-top:6px;letter-spacing:0.05em}
.hero-img{align-self:end;justify-self:end;height:100%}
.hero-img img{height:520px;object-fit:cover;object-position:center 20%;filter:saturate(0.95)}
@media(max-width:860px){
  .hero-inner{grid-template-columns:1fr}
  .hero-img img{height:320px;width:100%}
  .hero-text{padding:44px 20px 32px}
}

/* Section commons */
.section-inner{max-width:1100px;margin:0 auto;padding:64px 24px}
.section-heading{display:flex;align-items:baseline;gap:14px;margin-bottom:28px}
.section-tag{font-family:ui-monospace,monospace;font-size:12px;color:var(--muted);letter-spacing:0.06em}
.section-title{font-size:clamp(24px,3.2vw,32px);font-weight:900;letter-spacing:-0.02em}
.section-note{font-size:13px;color:var(--muted);margin-top:6px}

/* Route pills / pills */
.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:700;background:var(--ink);color:#fff}
.pill.accent{background:var(--accent)}
.pill.cool{background:var(--cool)}

/* Fleet list (like route table) */
.fleet-list{border-top:1px solid var(--rule)}
.fleet-row{display:grid;grid-template-columns:80px 1fr 140px 140px 160px;gap:14px;align-items:center;padding:18px 0;border-bottom:1px solid var(--rule)}
.fleet-row .row-id{font-family:ui-monospace,monospace;font-size:13px;color:var(--muted)}
.fleet-row .row-name{font-weight:800;font-size:15px}
.fleet-row .row-meta{font-size:13px;color:var(--muted)}
.fleet-row .row-action{text-align:right}
@media(max-width:860px){
  .fleet-row{grid-template-columns:60px 1fr 120px;gap:10px}
  .fleet-row .row-meta,.fleet-row .row-action{grid-column:2/-1;text-align:left}
}

/* Route cards (image + detail band) */
.route-card{display:grid;grid-template-columns:44% 1fr;gap:0;border:1px solid var(--rule);margin-bottom:20px}
.route-card img{width:100%;height:260px;object-fit:cover}
.route-detail{padding:24px 28px}
.route-detail .route-tag{font-size:11px;letter-spacing:0.08em;color:var(--muted);margin-bottom:8px}
.route-detail h3{font-size:20px;font-weight:900;margin-bottom:10px}
.route-detail p{font-size:14px;color:var(--muted);line-height:1.65;margin-bottom:14px}
.route-meta{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:14px}
.route-meta span{font-size:12px;color:var(--muted)}
.route-meta strong{color:var(--ink)}
@media(max-width:860px){
  .route-card{grid-template-columns:1fr}
  .route-card img{height:200px}
}

/* Driver */
.driver-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.driver-card{border:1px solid var(--rule);padding:18px}
.driver-card img{width:100%;height:220px;object-fit:cover;margin-bottom:14px}
.driver-card h4{font-size:15px;font-weight:800;margin-bottom:4px}
.driver-card .d-role{font-size:12px;color:var(--muted);margin-bottom:10px}
.driver-card .d-note{font-size:12px;color:var(--muted);line-height:1.6}
.driver-card .d-tel{display:block;font-size:13px;font-weight:800;margin-top:8px;font-variant-numeric:tabular-nums}
@media(max-width:860px){
  .driver-grid{grid-template-columns:1fr}
}

/* CTA */
.cta-band{background:var(--ink);color:#fff}
.cta-inner{max-width:1100px;margin:0 auto;padding:56px 24px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.cta-title{font-size:24px;font-weight:900}
.cta-phone a{color:#fff;font-size:28px;font-weight:900;font-family:ui-monospace,monospace;letter-spacing:-0.02em}
.cta-phone a:hover{color:var(--accent)}

/* Footer */
.site-footer{border-top:1px solid var(--rule);background:var(--paper)}
.footer-inner{max-width:1100px;margin:0 auto;padding:32px 24px;font-size:12px;color:var(--muted)}
.footer-inner a{color:var(--muted)}
.footer-inner a:hover{color:var(--ink)}

/* Forms */
input,textarea,select{width:100%;padding:12px 14px;border:1px solid var(--rule);background:#fff;font-size:14px}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--ink)}
button{padding:12px 20px;border:0;background:var(--ink);color:#fff;font-weight:700;font-size:14px;cursor:pointer}
button:hover{background:#000}
.form-group{margin-bottom:14px}
label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}

/* Guide text */
.prose p+p{margin-top:12px}
.prose h3{font-size:18px;font-weight:900;margin:28px 0 10px}
.prose ul{margin:10px 0 10px 20px}
.prose li{margin:6px 0}

/* 404 */
.p404{text-align:center;padding:120px 24px}
.p404 h1{font-size:72px;font-weight:900;color:var(--muted)}
.p404 p{color:var(--muted);margin:12px 0 24px}
