:root{
  --ink:#0E1B26; --ink-2:#1C3040; --sea:#0F3A4D; --sea-2:#16556E;
  --sand:#E9DFCC; --paper:#F7F4EE; --line:#D9D2C4;
  --coral:#D95F3B; --amber:#C8892B; --green:#2F6B4F;
  --r:14px; --max:1080px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  background:var(--paper); color:var(--ink); line-height:1.72;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--max);margin:0 auto;padding:0 22px}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* ---------- 顶栏 ---------- */
.nav{
  position:sticky;top:0;z-index:50;background:rgba(247,244,238,.92);
  backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line);
}
.nav__in{display:flex;align-items:center;justify-content:space-between;height:62px}
.logo{display:flex;align-items:center;gap:10px;font-weight:600;letter-spacing:.02em}
.logo__mark{
  width:30px;height:30px;border-radius:8px;
  background:linear-gradient(135deg,var(--sea) 0%,var(--sea-2) 100%);
  display:grid;place-items:center;color:var(--sand);font-size:15px;font-weight:700;
}
.nav__links{display:flex;gap:26px;font-size:14px;color:var(--ink-2)}
.nav__links a:hover{color:var(--coral)}
@media(max-width:720px){.nav__links{gap:16px;font-size:13px}.nav__links a:nth-child(n+3){display:none}}

/* ---------- Hero ---------- */
.hero{
  background:
    radial-gradient(1100px 420px at 78% -12%, rgba(22,85,110,.55), transparent 62%),
    radial-gradient(760px 340px at 8% 108%, rgba(217,95,59,.22), transparent 66%),
    linear-gradient(168deg,#0B2230 0%,#103247 58%,#0C2837 100%);
  color:#F2EDE3;padding:88px 0 74px;position:relative;overflow:hidden;
}
.hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(60% 60% at 50% 45%,#000 25%,transparent 78%);
}
.hero__in{position:relative;z-index:1}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;font-size:12.5px;letter-spacing:.14em;
  text-transform:uppercase;color:#9FC4D3;border:1px solid rgba(159,196,211,.34);
  padding:6px 13px;border-radius:999px;margin-bottom:24px;
}
.hero h1{font-size:clamp(30px,5vw,50px);line-height:1.24;font-weight:600;letter-spacing:-.01em;margin-bottom:20px}
.hero h1 em{font-style:normal;color:#F0B49A}
.hero__sub{font-size:clamp(15px,1.6vw,17.5px);color:#BFD3DC;max-width:640px;margin-bottom:34px}
.btn{
  display:inline-flex;align-items:center;gap:9px;padding:13px 24px;border-radius:10px;
  font-size:15px;font-weight:500;transition:.18s;
}
.btn--pri{background:var(--sand);color:#132A38}
.btn--pri:hover{background:#fff;transform:translateY(-1px)}
.btn--ghost{border:1px solid rgba(242,237,227,.28);color:#E7E0D3}
.btn--ghost:hover{border-color:rgba(242,237,227,.6)}
.hero__stats{display:flex;flex-wrap:wrap;gap:44px;margin-top:48px;padding-top:30px;border-top:1px solid rgba(159,196,211,.2)}
.hstat b{display:block;font-size:clamp(22px,3vw,30px);font-weight:600;color:#F0B49A;font-variant-numeric:tabular-nums}
.hstat span{font-size:12.5px;color:#8FAEBE;letter-spacing:.04em}

/* ---------- 通用区块 ---------- */
section{padding:76px 0}
.sec-head{margin-bottom:34px}
.sec-head h2{font-size:clamp(22px,2.6vw,29px);font-weight:600;letter-spacing:-.01em;margin-bottom:10px}
.sec-head p{color:#5B6B75;font-size:15px;max-width:660px}
.tag{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--coral);font-weight:600;margin-bottom:12px;display:block}

/* ---------- 目的地卡 ---------- */
.grid{display:grid;gap:20px}
.grid--4{grid-template-columns:repeat(auto-fit,minmax(232px,1fr))}
.dest{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
  display:flex;flex-direction:column;transition:.2s;
}
.dest:hover{transform:translateY(-3px);box-shadow:0 14px 34px -18px rgba(14,27,38,.32)}
.dest__top{height:104px;position:relative;display:grid;place-items:center;color:#EDE6D8}
.dest__top b{font-size:26px;font-weight:600;letter-spacing:.06em}
.dest--live .dest__top{background:linear-gradient(135deg,#12405A,#1B6B84)}
.dest--soon .dest__top{background:linear-gradient(135deg,#5C6B72,#7D8A90)}
.dest__body{padding:16px 18px 20px;flex:1;display:flex;flex-direction:column}
.dest__body h3{font-size:16px;font-weight:600;margin-bottom:6px}
.dest__body p{font-size:13.5px;color:#61717B;flex:1}
.dest__meta{margin-top:14px;font-size:12.5px;color:var(--coral);font-weight:500}
.dest--soon .dest__meta{color:#8A979D}

/* ---------- 路线卡 ---------- */
.route{
  display:grid;grid-template-columns:1.35fr 1fr;gap:0;background:#fff;
  border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
}
@media(max-width:800px){.route{grid-template-columns:1fr}}
.route__body{padding:32px 34px}
.route__body h3{font-size:21px;font-weight:600;margin-bottom:10px}
.route__body p{color:#5B6B75;font-size:14.5px;margin-bottom:18px}
.route__facts{display:flex;flex-wrap:wrap;gap:26px;margin:20px 0 24px}
.rf b{display:block;font-size:19px;font-weight:600;font-variant-numeric:tabular-nums}
.rf span{font-size:12px;color:#7C8A92}
.route__map{background:linear-gradient(150deg,#0F3A4D,#0B2230);position:relative;min-height:240px;display:grid;place-items:center;padding:24px}
.route__map svg{width:100%;height:auto}

/* ---------- 每日行程 ---------- */
.day{display:grid;grid-template-columns:88px 1fr;gap:22px;padding:26px 0;border-top:1px solid var(--line)}
.day:first-of-type{border-top:none}
.day__n{font-size:12px;letter-spacing:.14em;color:#93A0A7;text-transform:uppercase;padding-top:4px}
.day__n b{display:block;font-size:27px;font-weight:600;color:var(--ink);letter-spacing:0;font-variant-numeric:tabular-nums}
.day h4{font-size:17px;font-weight:600;margin-bottom:8px}
.day p{font-size:14.5px;color:#54646E;margin-bottom:12px}
.day__stats{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:12px}
.pill{
  display:inline-flex;align-items:center;gap:6px;font-size:12.5px;padding:5px 11px;border-radius:999px;
  background:#EFEAE0;color:#4A5A64;font-variant-numeric:tabular-nums;
}
.pill--warn{background:#FaF0DC;color:#8A5A12}
.pill--sea{background:#E6EEF1;color:#1B5A73}
.pill--ok{background:#E7F0EA;color:#2A6349}
.stay{font-size:13.5px;color:#3C4C56;background:#F3EFE6;border-left:3px solid var(--sand);
  padding:10px 14px;border-radius:0 8px 8px 0}
.stay b{color:var(--ink)}

/* ---------- 车程条 ---------- */
.bars{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 28px}
.bar{display:grid;grid-template-columns:190px 1fr 88px;align-items:center;gap:14px;padding:8px 0;font-size:13px}
@media(max-width:640px){.bar{grid-template-columns:130px 1fr 70px;font-size:12px}}
.bar__label{color:#4A5A64;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar__track{height:9px;background:#EDE8DE;border-radius:99px;overflow:hidden}
.bar__fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#1B6B84,#2C8AA6)}
.bar__fill--warn{background:linear-gradient(90deg,#D9A03C,#E8B45E)}
.bar__val{text-align:right;font-variant-numeric:tabular-nums;color:#3C4C56}
.bar__val small{color:#93A0A7}

/* ---------- 提示块 ---------- */
.note{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px 26px;
}
.note h3{font-size:16px;font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.note ul{list-style:none;display:grid;gap:11px}
.note li{font-size:14px;color:#4E5E68;padding-left:20px;position:relative}
.note li::before{content:"";position:absolute;left:2px;top:9px;width:7px;height:7px;border-radius:50%;background:var(--sand);border:1.5px solid var(--coral)}
.grid--2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}

/* ---------- 披露 ---------- */
.disc{
  background:#EFEAE0;border:1px solid var(--line);border-radius:10px;padding:16px 18px;
  font-size:13px;color:#5B6B75;
}
.disc b{color:var(--ink)}

/* ---------- 页脚 ---------- */
footer{background:#0B2230;color:#8FAEBE;padding:52px 0 40px;margin-top:20px}
.foot{display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between;margin-bottom:32px}
.foot__col h5{color:#D8E2E7;font-size:13.5px;font-weight:600;margin-bottom:12px;letter-spacing:.04em}
.foot__col a{display:block;font-size:13px;margin-bottom:8px;color:#8FAEBE}
.foot__col a:hover{color:#F0B49A}
.foot__bottom{border-top:1px solid rgba(143,174,190,.18);padding-top:22px;font-size:12.5px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}

/* ---------- 页头（内页） ---------- */
.pagehead{background:linear-gradient(160deg,#0B2230,#123A4E);color:#F2EDE3;padding:64px 0 56px}
.pagehead .crumb{font-size:13px;color:#8FAEBE;margin-bottom:16px}
.pagehead h1{font-size:clamp(26px,4vw,38px);font-weight:600;line-height:1.28;margin-bottom:14px;letter-spacing:-.01em}
.pagehead p{color:#BFD3DC;font-size:15.5px;max-width:680px}
.toc{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.toc a{font-size:13px;padding:6px 13px;border:1px solid rgba(159,196,211,.28);border-radius:999px;color:#C7DAE3}
.toc a:hover{border-color:#F0B49A;color:#F0B49A}

/* ============ V2 视觉增强 ============ */

/* ---- 地图 Hero ---- */
.maphero{position:relative;background:radial-gradient(900px 500px at 72% 18%,rgba(29,110,132,.42),transparent 62%),
  radial-gradient(680px 380px at 12% 88%,rgba(217,95,59,.2),transparent 66%),
  linear-gradient(165deg,#081A24 0%,#0E3244 55%,#0A2431 100%);
  color:#EDE6D8;padding:64px 0 0;overflow:hidden}
.maphero__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:40px;align-items:center;position:relative;z-index:1}
@media(max-width:860px){.maphero__grid{grid-template-columns:1fr;gap:20px}}
.maphero h1{font-size:clamp(27px,4.2vw,42px);line-height:1.22;font-weight:600;letter-spacing:-.01em;margin-bottom:16px}
.maphero h1 em{font-style:normal;color:#F0B49A}
.maphero p{color:#B9CFD9;font-size:15.5px;max-width:520px;margin-bottom:26px}
.maphero__svg{width:100%;height:auto;display:block}
.maphero__facts{display:flex;flex-wrap:wrap;gap:34px;padding:26px 0 30px;border-top:1px solid rgba(159,196,211,.18);position:relative;z-index:1}
.mf b{display:block;font-size:26px;font-weight:600;color:#F0B49A;font-variant-numeric:tabular-nums;line-height:1.2}
.mf span{font-size:12px;color:#8FAEBE;letter-spacing:.04em}
.mf--warn b{color:#E8B45E}

/* ---- 天数卡片 ---- */
.days{display:grid;gap:16px}
.dcard{display:grid;grid-template-columns:76px 1fr 168px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r);overflow:hidden;transition:.18s}
.dcard:hover{box-shadow:0 12px 30px -20px rgba(14,27,38,.4);transform:translateY(-1px)}
@media(max-width:820px){.dcard{grid-template-columns:64px 1fr}.dcard__side{display:none}}
.dcard__n{background:#F3EFE6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:18px 0}
.dcard__n small{font-size:10px;letter-spacing:.16em;color:#93A0A7}
.dcard__n b{font-size:26px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1}
.dcard__n i{width:26px;height:3px;border-radius:9px;margin-top:8px;background:#2C8AA6}
.dcard--warn .dcard__n i{background:#D9A03C}
.dcard--soft .dcard__n i{background:#2F6B4F}
.dcard__body{padding:18px 22px 20px}
.dcard__body h4{font-size:16.5px;font-weight:600;margin-bottom:6px}
.dcard__body p{font-size:14px;color:#54646E;margin-bottom:12px}
.dcard__side{border-left:1px solid var(--line);padding:18px 18px;background:#FCFAF6;display:flex;flex-direction:column;justify-content:center;gap:10px}
.dstat{font-size:12.5px;color:#6B7A83;display:flex;justify-content:space-between;gap:8px}
.dstat b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}
.dbar{height:6px;background:#EDE8DE;border-radius:99px;overflow:hidden;margin-top:2px}
.dbar>i{display:block;height:100%;background:linear-gradient(90deg,#1B6B84,#2C8AA6);border-radius:99px}
.dbar>i.w{background:linear-gradient(90deg,#D9A03C,#E8B45E)}

/* ---- 时间轴（青森页） ---- */
.tl{position:relative;padding-left:34px}
.tl::before{content:"";position:absolute;left:10px;top:10px;bottom:10px;width:2px;
  background:linear-gradient(180deg,#1B6B84,#2C8AA6 45%,#D9A03C)}
.tli{position:relative;padding:0 0 26px}
.tli::before{content:"";position:absolute;left:-30px;top:6px;width:12px;height:12px;border-radius:50%;
  background:#fff;border:2.5px solid #2C8AA6;box-shadow:0 0 0 4px rgba(44,138,166,.12)}
.tli--hot::before{border-color:#D95F3B;box-shadow:0 0 0 4px rgba(217,95,59,.14)}
.tli--soft::before{border-color:#2F6B4F}
.tli__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:5px}
.tli__day{font-size:11.5px;letter-spacing:.14em;color:#93A0A7;font-weight:600}
.tli__head h4{font-size:16px;font-weight:600}
.tli__body{font-size:14px;color:#54646E}
.tli__meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}

/* ---- 徽章 ---- */
.bd{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:3px 9px;border-radius:6px;
  background:#EFEAE0;color:#4A5A64;font-variant-numeric:tabular-nums}
.bd--rail{background:#E6EEF1;color:#1B5A73}
.bd--bus{background:#EDF0E6;color:#4A6234}
.bd--cash{background:#FBF0DC;color:#8A5A12}
.bd--hot{background:#FBE9E3;color:#A33F22}
.bd--ok{background:#E7F0EA;color:#2A6349}

/* ---- 风险卡 ---- */
.rk{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;border-left:4px solid #D95F3B}
.rk--mid{border-left-color:#D9A03C}
.rk--low{border-left-color:#2F6B4F}
.rk h4{font-size:14.5px;font-weight:600;margin-bottom:6px;display:flex;align-items:center;gap:8px}
.rk p{font-size:13.5px;color:#54646E}
.rk em{font-style:normal;background:#FBF0DC;padding:1px 5px;border-radius:4px;color:#8A5A12;font-weight:500}

/* ---- 分数环 ---- */
.score{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:20px 22px}
.score__ring{width:74px;height:74px;flex:0 0 74px;border-radius:50%;display:grid;place-items:center;
  background:conic-gradient(#2C8AA6 0 82%,#EDE8DE 82% 100%);position:relative}
.score__ring::after{content:"";position:absolute;inset:7px;background:#fff;border-radius:50%}
.score__num{position:relative;font-size:19px;font-weight:600;font-variant-numeric:tabular-nums}
.score__txt b{display:block;font-size:15px;font-weight:600;margin-bottom:3px}
.score__txt span{font-size:13px;color:#6B7A83}

/* ---- 图片位（无照片时的视觉块） ---- */
.vis{position:relative;border-radius:14px;overflow:hidden;min-height:210px;
  background:linear-gradient(150deg,#0E3244,#164C60 60%,#0B2A38);display:grid;place-items:center}
.vis--snow{background:linear-gradient(150deg,#1A2F3E,#2A4A5E 55%,#12242F)}
.vis__label{position:absolute;left:16px;bottom:14px;color:#DDE8ED;font-size:13px;letter-spacing:.04em}
.vis__label b{display:block;font-size:16px;font-weight:600;color:#fff;margin-bottom:2px}
