:root{
      --bg:#ffffff;
      --paper:#ffffff;
      --soft:#f7f5f0;
      --soft-2:#f0ebe2;
      --ink:#111111;
      --muted:#706b63;
      --quiet:#9b968d;
      --line:rgba(17,17,17,.18);
      --line-strong:#111111;
      --red:#b9342b;
      --blue:#1d4c8f;
      --sand:#d8c49a;
      --green:#315f4b;
      --shadow:0 24px 80px rgba(17,17,17,.08);
      --max:1540px;
      --gutter:clamp(18px,2vw,34px);
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      background:
        linear-gradient(90deg, rgba(17,17,17,.035) 1px, transparent 1px),
        linear-gradient(rgba(17,17,17,.025) 1px, transparent 1px),
        var(--bg);
      background-size:72px 72px;
      color:var(--ink);
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;
      letter-spacing:.012em;
      -webkit-font-smoothing:antialiased;
      text-rendering:optimizeLegibility;
      font-synthesis-weight:none;
      overflow-x:hidden;
    }

    img{display:block;width:100%;height:100%;object-fit:cover}
    a{color:inherit;text-decoration:none}
    button{font:inherit;color:inherit}
    .serif{font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif}
    .latin{font-family:"Libre Baskerville", Georgia, serif}
    .wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
    .muted{color:var(--muted)}
    .micro{
      font-size:12px;
      letter-spacing:.12em;
      text-transform:none;
      font-weight:400;
      color:var(--muted);
    }
    .hairline{height:1px;background:var(--line)}
    .btn{
      border:1px solid var(--line-strong);
      background:var(--paper);
      padding:12px 15px;
      font-size:13px;
      letter-spacing:.16em;
      text-transform:uppercase;
      font-weight:400;
      cursor:pointer;
      transition:.25s ease;
    }
    .btn:hover{background:var(--ink);color:white;transform:translateY(-2px)}
    .btn.fill{background:var(--ink);color:white}
    .btn.fill:hover{background:white;color:var(--ink)}

    .top-note{
      background:var(--ink);
      color:#fff;
      overflow:hidden;
      border-bottom:1px solid var(--line-strong);
      white-space:nowrap;
      font-size:13px;
      letter-spacing:.18em;
      text-transform:uppercase;
      font-weight:400;
    }
    .top-note-track{
      display:inline-flex;
      gap:54px;
      padding:9px 0;
      animation:ticker 30s linear infinite;
    }
    @keyframes ticker{to{transform:translateX(-50%)}}

    .masthead{
      position:relative;
      z-index:20;
      background:#fff;
      border-bottom:1px solid var(--line);
    }
    .masthead-inner{
      width:100%;
      max-width:none;
      margin:0;
      padding:16px var(--gutter) 12px;
    }
    .masthead-topline{
      display:grid;
      grid-template-columns:1fr auto;
      gap:18px;
      align-items:center;
      padding-bottom:13px;
      margin-bottom:14px;
      border-bottom:1px solid var(--line);
    }
    .masthead-pill{
      display:inline-flex;
      align-items:center;
      gap:10px;
      width:max-content;
      border:1px solid var(--line);
      background:var(--soft);
      padding:7px 11px;
      font-size:13px;
      letter-spacing:.16em;
      text-transform:uppercase;
      color:var(--ink);
      line-height:1;
    }
    .masthead-pill::before{
      content:"";
      width:6px;
      height:6px;
      border-radius:999px;
      background:var(--ink);
    }
    .masthead-note{
      text-align:right;
      font-size:13px;
      letter-spacing:.16em;
      text-transform:none;
      color:var(--muted);
    }
    .masthead-main{
      display:grid;
      grid-template-columns:minmax(210px,.85fr) minmax(320px,1.3fr) minmax(210px,.85fr);
      gap:24px;
      align-items:stretch;
      padding-bottom:18px;
      border-bottom:4px double var(--line-strong);
    }
    .edition-card,
    .index-card{
      border:1px solid var(--line);
      background:rgba(255,255,255,.72);
      padding:14px;
      min-height:132px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }
    .edition-card dl,
    .index-card dl{
      margin:0;
      display:grid;
      grid-template-columns:auto 1fr;
      gap:7px 12px;
      font-size:12px;
      line-height:1.55;
      color:var(--muted);
    }
    .edition-card dt,
    .index-card dt{
      color:var(--quiet);
    }
    .edition-card dd,
    .index-card dd{
      margin:0;
      text-align:right;
      color:var(--ink);
    }
    .logo{
      text-align:center;
      display:flex;
      flex-direction:column;
      justify-content:center;
      align-items:center;
      gap:12px;
      padding:0 clamp(12px,2vw,28px);
    }
    .logo small{
      display:block;
      font-size:13px;
      letter-spacing:.42em;
      text-transform:none;
      color:var(--muted);
      font-weight:400;
    }
    .logo h1{
      margin:0;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(42px,6.4vw,92px);
      line-height:.92;
      letter-spacing:-.018em;
      font-weight:400;
    }
    .logo .subtitle{
      max-width:520px;
      margin:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.7;
      letter-spacing:.08em;
    }
    .nav{
      display:flex;
      justify-content:center;
      gap:8px;
      padding-top:13px;
      overflow:auto;
    }
    .nav a,.layout-tab{
      white-space:nowrap;
      border:1px solid transparent;
      padding:9px 14px;
      font-size:14px;
      letter-spacing:.12em;
      text-transform:none;
      color:var(--muted);
      font-weight:400;
      transition:.2s;
      background:transparent;
      cursor:pointer;
    }
    .nav a:hover,.layout-tab:hover,.layout-tab.active{
      color:var(--ink);
      border-color:var(--line);
      background:var(--soft);
    }

    .hero{
      padding:42px 0 70px;
    }
    .front-grid{
      display:grid;
      grid-template-columns:minmax(0,1.12fr) minmax(340px,.52fr);
      gap:clamp(24px,3vw,44px);
      align-items:stretch;
    }
    .front-paper{
      background:rgba(255,255,255,.95);
      border-top:4px double var(--line-strong);
      border-bottom:1px solid var(--line-strong);
      padding:clamp(26px,3.4vw,50px) 0 clamp(18px,2vw,28px);
      height:100%;
      display:flex;
    }
    .lead-layout{
      width:100%;
      display:grid;
      grid-template-columns:minmax(0,.95fr) minmax(300px,.72fr);
      gap:clamp(28px,3.4vw,52px);
      align-items:stretch;
    }
    .lead-copy-column{
      min-height:100%;
      display:flex;
      flex-direction:column;
    }
    .headline-kicker{
      display:flex;
      justify-content:space-between;
      gap:16px;
      border-bottom:1px solid var(--line);
      padding-bottom:14px;
      margin-bottom:clamp(26px,3vw,42px);
    }
    .headline{
      margin:0;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(46px,6.2vw,96px);
      line-height:.92;
      letter-spacing:-.045em;
      font-weight:400;
      text-wrap:balance;
    }
    .deck{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:24px;
      margin-top:clamp(30px,3.2vw,48px);
      padding-top:clamp(22px,2.4vw,34px);
      border-top:1px solid var(--line);
      color:#302d28;
    }
    .deck p{
      margin:0;
      font-size:16px;
      line-height:2.05;
      font-weight:400;
      letter-spacing:.02em;
    }
    .lead-actions{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:clamp(26px,3vw,44px);
      padding-top:4px;
    }

    .front-extras{
      margin-top:34px;
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:14px;
      align-items:stretch;
    }
    .classified-box,
    .weather-index,
    .ad-card,
    .issue-index{
      border:1px solid var(--line);
      background:var(--soft);
      padding:14px;
    }
    .classified-box{
      display:grid;
      grid-template-rows:auto 1fr;
      min-height:190px;
    }
    .classified-head{
      display:flex;
      justify-content:space-between;
      gap:12px;
      align-items:center;
      border-bottom:1px solid var(--line);
      padding-bottom:9px;
      margin-bottom:12px;
    }
    .classified-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:10px 14px;
      font-size:13px;
      line-height:1.7;
      font-weight:400;
      color:#3d3934;
    }
    .classified-grid p{
      margin:0;
      padding-bottom:9px;
      border-bottom:1px dotted var(--line);
    }
    .classified-grid b{
      display:block;
      margin-bottom:3px;
      font-size:12px;
      letter-spacing:.18em;
      text-transform:uppercase;
      color:var(--ink);
    }
    .front-side-notes{
      display:grid;
      gap:14px;
    }
    .weather-index{
      min-height:116px;
    }
    .weather-index dl{
      margin:10px 0 0;
      display:grid;
      grid-template-columns:auto 1fr;
      gap:7px 12px;
      font-size:13px;
      line-height:1.45;
      font-weight:400;
    }
    .weather-index dt{
      color:var(--muted);
    }
    .weather-index dd{
      margin:0;
      text-align:right;
    }
    .ad-card{
      position:relative;
      min-height:132px;
      overflow:hidden;
      background:
        radial-gradient(circle at 85% 18%, rgba(185,52,43,.10), transparent 28%),
        linear-gradient(135deg, var(--soft), #fff);
    }
    .ad-card h4{
      margin:8px 0 8px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:28px;
      line-height:1.05;
      letter-spacing:-.035em;
    }
    .ad-card p{
      margin:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.75;
      font-weight:400;
    }
    .ad-card .ad-mark{
      position:absolute;
      right:10px;
      bottom:-16px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:86px;
      line-height:1;
      opacity:.06;
      pointer-events:none;
    }
    .issue-index{
      margin-top:auto;
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:0;
      padding:0;
      background:white;
      transform:translateY(1px);
    }
    .issue-index a{
      min-height:98px;
      padding:14px;
      border-right:1px solid var(--line);
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      transition:.25s ease;
    }
    .issue-index a:last-child{border-right:0}
    .issue-index a:hover{
      background:var(--soft);
      transform:translateY(-2px);
    }
    .issue-index strong{
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:20px;
      line-height:1.15;
      letter-spacing:-.02em;
    }
    .issue-index span{
      font-size:12px;
      letter-spacing:.16em;
      text-transform:none;
      color:var(--muted);
      font-weight:400;
    }
    .reader-small-grid{
      margin-top:18px;
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:10px;
    }
    .reader-mini{
      border:1px solid var(--line);
      background:var(--soft);
      padding:12px;
      min-height:94px;
    }
    .reader-mini strong{
      display:block;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:20px;
      line-height:1.15;
      letter-spacing:-.02em;
      margin-top:6px;
    }

    .reader-ad-section{
      margin-top:0;
      padding-top:26px;
      border-top:4px double var(--line-strong);
      display:grid;
      gap:12px;
    }
    .reader-ad-heading{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding-bottom:10px;
      border-bottom:1px solid var(--line);
    }
    .reader-ad-grid{
      display:grid;
      grid-template-columns:1fr;
      gap:12px;
    }
    .reader-classified{
      border:1px solid var(--line);
      background:var(--soft);
      padding:15px;
    }
    .reader-classified b{
      display:block;
      margin-bottom:6px;
      font-size:12px;
      letter-spacing:.18em;
      text-transform:uppercase;
      color:var(--ink);
    }
    .reader-classified p{
      margin:0;
      color:#3d3934;
      font-size:13px;
      line-height:1.75;
      font-weight:400;
    }
    .reader-wind-index{
      border:1px solid var(--line);
      background:white;
      padding:15px;
    }
    .reader-wind-index dl{
      margin:10px 0 0;
      display:grid;
      grid-template-columns:auto 1fr;
      gap:7px 12px;
      font-size:13px;
      line-height:1.45;
      font-weight:400;
    }
    .reader-wind-index dt{
      color:var(--muted);
    }
    .reader-wind-index dd{
      margin:0;
      text-align:right;
    }
    .reader-small-ad{
      position:relative;
      overflow:hidden;
      border:1px solid var(--line);
      background:
        radial-gradient(circle at 88% 22%, rgba(185,52,43,.10), transparent 30%),
        linear-gradient(135deg, var(--soft), #fff);
      padding:16px;
    }
    .reader-small-ad h4{
      margin:7px 0 8px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:24px;
      line-height:1.08;
      letter-spacing:-.03em;
    }
    .reader-small-ad p{
      margin:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.75;
      font-weight:400;
    }
    .reader-small-ad .ad-mark{
      position:absolute;
      right:8px;
      bottom:-14px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:78px;
      line-height:1;
      opacity:.06;
      pointer-events:none;
    }

    .section-divider-note{
      display:grid;
      grid-template-columns:auto 1fr auto;
      gap:16px;
      align-items:center;
      margin:22px 0 0;
      color:var(--muted);
    }
    .section-divider-note::before,
    .section-divider-note::after{
      content:"";
      height:1px;
      background:var(--line);
    }
    .section-divider-note span{
      font-size:12px;
      letter-spacing:.22em;
      text-transform:uppercase;
      font-weight:400;
      white-space:nowrap;
    }
    .lead-photo-wrap{
      position:relative;
    }
    .lead-photo{
      height:clamp(300px,38vw,500px);
      overflow:hidden;
      border:1px solid var(--line-strong);
      background:var(--soft);
      box-shadow:var(--shadow);
      cursor:pointer;
    }
    .lead-photo img{
      filter:grayscale(.08) contrast(1.03) saturate(.9);
      transition:transform .65s ease, filter .65s ease;
    }
    .lead-photo:hover img{
      transform:scale(1.035);
      filter:grayscale(0) contrast(1.05) saturate(1);
    }
    .photo-caption{
      display:grid;
      grid-template-columns:auto 1fr;
      gap:12px;
      align-items:start;
      margin-top:12px;
      font-size:12px;
      color:var(--muted);
      line-height:1.7;
    }
    .photo-caption b{
      color:var(--ink);
      letter-spacing:.16em;
      text-transform:uppercase;
      font-size:12px;
    }
    .photo-picker{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:8px;
      margin-top:12px;
    }
    .photo-choice{
      height:82px;
      border:1px solid var(--line);
      cursor:pointer;
      padding:0;
      background:var(--soft);
      overflow:hidden;
      opacity:.62;
      transition:.22s;
    }
    .photo-choice.active,.photo-choice:hover{
      opacity:1;
      transform:translateY(-2px);
      border-color:var(--line-strong);
    }

    .reader-panel{
      position:sticky;
      top:24px;
      align-self:stretch;
      min-height:100%;
      background:rgba(255,255,255,.95);
      border:1px solid var(--line);
      box-shadow:var(--shadow);
      padding:24px;
      display:flex;
      flex-direction:column;
    }
    .reader-panel::before{
      content:"";
      display:block;
      height:4px;
      background:var(--ink);
      margin:-24px -24px 22px;
    }
    .reader-panel h3{
      margin:12px 0 14px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(27px,2.6vw,42px);
      line-height:1.15;
      letter-spacing:-.025em;
    }
    .reader-panel p{
      margin:0;
      color:var(--muted);
      font-size:15.5px;
      line-height:2;
      font-weight:400;
    }
    .reader-meta{
      display:flex;
      justify-content:space-between;
      gap:12px;
      margin-top:20px;
      padding-top:14px;
      border-top:1px solid var(--line);
    }
    .reader-tools{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:8px;
      margin-top:18px;
      margin-bottom:30px;
      padding-bottom:6px;
    }

    .section{
      padding:clamp(104px, 7.5vw, 136px) 0;
    }

    main > .section + .section{
      margin-top:clamp(28px, 3vw, 48px);
    }

    .section-head{
      display:grid;
      grid-template-columns:minmax(280px,.52fr) 1fr;
      gap:clamp(22px,4vw,68px);
      align-items:end;
      padding:22px 0;
      border-top:4px double var(--line-strong);
      border-bottom:1px solid var(--line);
      margin-bottom:30px;
    }

    .section-head .micro{
      display:inline-block;
      margin-bottom:14px;
      font-size:14px;
      letter-spacing:.16em;
      color:var(--ink);
    }

    .section-head h2{
      margin:0;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(32px,4.4vw,64px);
      line-height:.98;
      letter-spacing:-.04em;
      font-weight:400;
    }
    .section-head p{
      margin:0 0 0 auto;
      max-width:820px;
      color:#3b3833;
      font-size:17px;
      line-height:2.05;
      font-weight:400;
      letter-spacing:.02em;
      text-align:right;
      justify-self:end;
    }

    .story-matrix{
      display:grid;
      grid-template-columns:1.05fr .95fr;
      gap:clamp(20px,3vw,38px);
      align-items:stretch;
      height:640px;
    }

    .story-matrix{
      margin-bottom:clamp(12px, 1.4vw, 22px);
    }

    .feature-card{
      height:100%;
      border:1px solid var(--line);
      background:var(--paper);
      display:grid;
      grid-template-rows:minmax(0,1fr) auto;
      overflow:hidden;
      transition:.35s ease;
    }
    .feature-card:hover{
      transform:translateY(-5px);
      box-shadow:var(--shadow);
    }
    .feature-img{
      position:relative;
      min-height:0;
      overflow:hidden;
      border-bottom:1px solid var(--line);
    }
    .feature-img img{transition:.6s ease;filter:grayscale(.1) saturate(.9)}
    .feature-card:hover img{transform:scale(1.035);filter:grayscale(0) saturate(1)}
    .label{
      position:absolute;
      left:14px;
      top:14px;
      background:white;
      border:1px solid var(--line-strong);
      padding:8px 10px;
      font-size:12px;
      letter-spacing:.18em;
      text-transform:uppercase;
      font-weight:400;
    }
    .feature-copy{
      padding:clamp(16px,1.8vw,24px);
    }
    .feature-copy h3{
      margin:0 0 12px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(28px,3.2vw,46px);
      line-height:1.12;
      letter-spacing:-.025em;
    }
    .feature-copy p{
      margin:0;
      color:var(--muted);
      line-height:1.85;
      font-weight:400;
      display:-webkit-box;
      -webkit-line-clamp:2;
      -webkit-box-orient:vertical;
      overflow:hidden;
    }
    .side-list{
      height:100%;
      display:grid;
      grid-template-rows:repeat(3,1fr);
      gap:14px;
    }
    .story-row{
      min-height:0;
      height:100%;
      display:grid;
      grid-template-columns:160px 1fr;
      gap:16px;
      padding:12px;
      border:1px solid var(--line);
      background:white;
      cursor:pointer;
      transition:.25s ease;
    }
    .story-row:hover{
      transform:translateX(6px);
      background:var(--soft);
    }
    .story-thumb{
      height:100%;
      min-height:150px;
      overflow:hidden;
      border:1px solid var(--line);
      background:var(--soft);
    }
    .story-copy{
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      gap:16px;
      min-width:0;
    }
    .story-copy h4{
      margin:7px 0 0;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(21px,2.1vw,28px);
      line-height:1.18;
      letter-spacing:-.02em;
    }
    .story-copy p{
      margin:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.7;
      font-weight:400;
      display:-webkit-box;
      -webkit-line-clamp:2;
      -webkit-box-orient:vertical;
      overflow:hidden;
    }
    .row-tools{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
    }

    .route-layout{
      display:grid;
      grid-template-columns:minmax(0,1fr) 420px;
      gap:clamp(20px,3vw,38px);
      align-items:start;
    }
    .clipping-wall{
      display:grid;
      grid-template-columns:1fr;
      gap:18px;
      align-content:start;
    }
    .route-map-card{
      position:relative;
      display:grid;
      grid-template-columns:minmax(240px,.74fr) 1fr;
      gap:0;
      height:285px;
      min-height:285px;
      border:1px solid var(--line);
      background:#fff;
      overflow:hidden;
      cursor:pointer;
      transition:.32s ease;
    }
    .route-map-card:hover,
    .route-map-card.active{
      transform:translateY(-5px);
      box-shadow:var(--shadow);
      border-color:var(--line-strong);
    }
    .route-map-card.active::before{
      content:"";
      position:absolute;
      left:0;
      top:0;
      bottom:0;
      width:5px;
      background:var(--ink);
      z-index:4;
    }
    .route-map-image{
      position:relative;
      height:100%;
      min-height:0;
      overflow:hidden;
      border-right:1px solid var(--line);
      background:var(--soft);
    }
    .route-map-image img{
      filter:grayscale(.12) contrast(1.03) saturate(.88);
      transition:.6s ease;
    }
    .route-map-card:hover img,
    .route-map-card.active img{
      transform:scale(1.035);
      filter:grayscale(0) contrast(1.04) saturate(1);
    }
    .route-map-badge{
      position:absolute;
      left:12px;
      top:12px;
      background:rgba(255,255,255,.92);
      backdrop-filter:blur(10px);
      border:1px solid var(--line);
      padding:8px 10px;
      font-size:13px;
      letter-spacing:.14em;
      text-transform:uppercase;
      font-weight:400;
    }
    .route-map-content{
      height:100%;
      padding:18px 18px 16px;
      display:grid;
      grid-template-columns:1fr auto;
      grid-template-rows:auto 1fr;
      gap:16px;
      align-items:start;
    }
    .route-map-main{
      min-width:0;
    }
    .route-map-main .micro{
      color:var(--muted);
    }
    .route-map-main h3{
      margin:10px 0 10px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(26px,3vw,42px);
      line-height:1.08;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .route-map-main p{
      margin:0;
      max-width:520px;
      color:var(--muted);
      font-size:14px;
      line-height:1.75;
      font-weight:400;
      display:-webkit-box;
      -webkit-line-clamp:2;
      -webkit-box-orient:vertical;
      overflow:hidden;
    }
    .route-map-stops{
      position:relative;
      grid-column:1 / -1;
      align-self:end;
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:10px;
      margin-top:2px;
      padding-top:16px;
      border-top:1px solid var(--line);
    }
    .route-map-stops::before{
      content:"";
      position:absolute;
      left:18px;
      right:18px;
      top:32px;
      height:1px;
      background:var(--line);
      z-index:0;
    }
    .route-stop{
      position:relative;
      z-index:1;
      display:grid;
      gap:8px;
      justify-items:center;
      text-align:center;
      font-size:12px;
      line-height:1.45;
      color:#2f2c28;
      font-weight:400;
    }
    .route-stop b{
      width:34px;
      height:34px;
      display:grid;
      place-items:center;
      border:1px solid var(--line-strong);
      background:#fff;
      font-size:12px;
    }
    .route-map-meta{
      writing-mode:vertical-rl;
      border-left:1px solid var(--line);
      padding-left:12px;
      min-height:150px;
      color:var(--muted);
      font-size:12px;
      letter-spacing:.18em;
      text-transform:uppercase;
      font-weight:400;
    }
    .route-map-card.active .route-stop b{
      background:var(--ink);
      color:#fff;
    }
    .route-panel{
      position:sticky;
      top:24px;
      border:1px solid var(--line);
      background:white;
      padding:24px;
      box-shadow:var(--shadow);
    }
    .route-panel h3{
      margin:12px 0 18px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(30px,3vw,46px);
      line-height:1.08;
      letter-spacing:-.035em;
    }
    .route-tabs{
      display:grid;
      gap:9px;
      margin:20px 0;
    }
    .route-tab{
      border:1px solid var(--line);
      background:white;
      padding:13px 14px;
      text-align:left;
      cursor:pointer;
      transition:.22s;
    }
    .route-tab strong{
      display:block;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:19px;
      letter-spacing:-.04em;
      margin-bottom:5px;
    }
    .route-tab span{font-size:12px;color:var(--muted);line-height:1.5}
    .route-tab.active,.route-tab:hover{
      background:var(--ink);
      color:#fff;
      transform:translateX(4px);
    }
    .route-tab.active span,.route-tab:hover span{color:rgba(255,255,255,.68)}
    .route-result{
      border-top:1px solid var(--line);
      padding-top:17px;
    }
    .route-step{
      display:grid;
      grid-template-columns:34px 1fr;
      gap:12px;
      align-items:center;
      margin:12px 0;
      font-weight:400;
    }
    .route-step b{
      width:34px;height:34px;
      display:grid;
      place-items:center;
      border:1px solid var(--line-strong);
      font-size:12px;
    }
    .route-step span{
      border-bottom:1px dashed var(--line);
      padding-bottom:8px;
    }

    .essay-paper{
      border-top:1px solid var(--line-strong);
      border-bottom:1px solid var(--line-strong);
      padding:34px 0;
    }
    .columns{
      column-count:3;
      column-gap:42px;
      column-rule:1px solid var(--line);
      font-size:17px;
      line-height:2.18;
      font-weight:400;
      color:#2f2c28;
      letter-spacing:.02em;
    }
    .columns p{
      break-inside:avoid;
      margin:0 0 22px;
    }
    .dropcap::first-letter{
      float:left;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:82px;
      line-height:.86;
      padding-right:10px;
      font-weight:400;
    }

    .archive-grid{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:14px;
    }
    .archive-ticket{
      min-height:270px;
      border:1px solid var(--line);
      background:white;
      padding:18px;
      position:relative;
      overflow:hidden;
      cursor:pointer;
      transition:.28s;
    }
    .archive-ticket:hover{
      background:var(--soft);
      transform:translateY(-5px);
      box-shadow:var(--shadow);
    }
    .archive-ticket h4{
      margin:58px 0 10px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(27px,2.5vw,36px);
      line-height:1.08;
      letter-spacing:-.03em;
    }
    .archive-ticket p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.85;
      font-weight:400;
    }
    .archive-ticket .water{
      position:absolute;
      right:10px;
      bottom:-22px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:120px;
      opacity:.06;
      line-height:1;
      pointer-events:none;
    }

    .desk-grid{
      display:grid;
      grid-template-columns:1.05fr .95fr;
      gap:18px;
      align-items:start;
    }
    .sound-desk,.fortune-box,.clipping-drawer{
      border:1px solid var(--line);
      background:white;
      padding:24px;
      box-shadow:var(--shadow);
    }
    .sound-desk h3,.fortune-box h3,.clipping-drawer h3{
      margin:10px 0 18px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(30px,3.1vw,48px);
      line-height:1.08;
      letter-spacing:-.035em;
    }
    .sound-row{
      display:grid;
      grid-template-columns:130px 1fr;
      gap:14px;
      align-items:center;
      padding:13px 0;
      border-bottom:1px dashed var(--line);
      font-weight:400;
    }
    .sound-row:last-child{border-bottom:0}
    .bars{
      height:44px;
      display:flex;
      align-items:center;
      gap:4px;
      border-left:1px solid var(--line-strong);
      padding-left:14px;
    }
    .bar{
      width:3px;
      background:var(--ink);
      animation:pulse 1.25s ease-in-out infinite;
      transform-origin:center;
    }
    .bar:nth-child(4n){background:var(--red)}
    .bar:nth-child(5n){background:var(--blue)}
    @keyframes pulse{0%,100%{transform:scaleY(.28)}50%{transform:scaleY(1)}}
    .fortune-text{
      min-height:134px;
      margin:0 0 18px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(25px,2.4vw,36px);
      line-height:1.72;
      letter-spacing:-.02em;
    }
    .clipping-list{
      min-height:132px;
      display:grid;
      gap:8px;
      margin-top:12px;
    }
    .clipping-item{
      border:1px solid var(--line);
      background:var(--soft);
      padding:10px 12px;
      font-size:13px;
      font-weight:400;
      display:flex;
      justify-content:space-between;
      gap:12px;
      align-items:center;
    }
    .clipping-item button{
      border:0;
      background:transparent;
      cursor:pointer;
      font-size:14px;
      color:var(--muted);
    }
    .empty{
      color:var(--muted);
      font-weight:400;
      line-height:1.9;
      margin:0;
    }

    .modal{
      position:fixed;
      inset:0;
      z-index:120;
      display:none;
      place-items:center;
      padding:22px;
      background:rgba(255,255,255,.78);
      backdrop-filter:blur(16px);
    }
    .modal.open{display:grid}
    .modal-card{
      width:min(920px,100%);
      max-height:88vh;
      overflow:auto;
      background:white;
      border:1px solid var(--line-strong);
      box-shadow:var(--shadow);
      padding:clamp(24px,4vw,56px);
    }
    .modal-card h3{
      margin:12px 0 20px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(38px,5vw,72px);
      line-height:1.02;
      letter-spacing:-.04em;
    }
    .modal-card p{
      color:#36322d;
      font-size:18px;
      line-height:2.12;
      font-weight:400;
      letter-spacing:.02em;
    }
    .modal-top{
      display:flex;
      justify-content:space-between;
      gap:18px;
      align-items:center;
      border-bottom:1px solid var(--line);
      padding-bottom:14px;
      margin-bottom:20px;
    }

    .footer{
      border-top:4px double var(--line-strong);
      margin-top:58px;
      padding:0;
      background:
        linear-gradient(90deg, rgba(17,17,17,.035) 1px, transparent 1px),
        linear-gradient(rgba(17,17,17,.025) 1px, transparent 1px),
        #fff;
      background-size:48px 48px;
    }
    .footer-inner{
      padding:38px 0 38px;
    }
    .footer-mast{
      display:grid;
      grid-template-columns:1fr auto 1fr;
      gap:24px;
      align-items:end;
      border-bottom:1px solid var(--line);
      padding-bottom:22px;
      margin-bottom:24px;
    }
    .footer-kicker{
      font-size:13px;
      letter-spacing:.22em;
      text-transform:none;
      color:var(--muted);
      font-weight:400;
      line-height:1.7;
    }
    .footer-logo{
      text-align:center;
    }
    .footer-logo small{
      display:block;
      margin-bottom:10px;
      font-size:13px;
      letter-spacing:.32em;
      text-transform:none;
      color:var(--muted);
    }
    .footer-logo h2{
      margin:0;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(34px,5vw,72px);
      line-height:.95;
      letter-spacing:-.018em;
      font-weight:400;
    }
    .footer-date{
      text-align:right;
      font-size:12px;
      line-height:1.8;
      color:var(--muted);
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.05fr .9fr .95fr .95fr;
      gap:18px;
      align-items:stretch;
    }
    .footer-panel{
      border:1px solid var(--line);
      background:rgba(255,255,255,.86);
      padding:18px;
      min-height:230px;
    }
    .footer-panel h3{
      margin:8px 0 16px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(24px,2.5vw,34px);
      line-height:1.08;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .footer-panel p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.9;
      font-weight:400;
    }
    .footer-links{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:8px 14px;
      margin-top:16px;
    }
    .footer-links a{
      padding:9px 0;
      border-bottom:1px solid var(--line);
      font-size:14px;
      color:var(--ink);
      transition:.2s;
    }
    .footer-links a:hover{
      padding-left:8px;
      background:var(--soft);
    }
    .footer-tags{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:16px;
    }
    .footer-tags span{
      border:1px solid var(--line);
      background:var(--soft);
      padding:8px 10px;
      font-size:12px;
      color:var(--ink);
    }
    .footer-cta{
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      gap:18px;
    }
    .footer-input{
      display:grid;
      grid-template-columns:1fr auto;
      border:1px solid var(--line-strong);
      background:#fff;
      margin-top:18px;
    }
    .footer-input input{
      width:100%;
      border:0;
      background:transparent;
      padding:13px 14px;
      font:inherit;
      color:var(--ink);
      outline:none;
    }
    .footer-input button{
      border:0;
      border-left:1px solid var(--line-strong);
      background:var(--ink);
      color:#fff;
      padding:0 16px;
      cursor:pointer;
      font-size:12px;
      letter-spacing:.14em;
      text-transform:uppercase;
      transition:.2s;
    }
    .footer-input button:hover{
      background:#fff;
      color:var(--ink);
    }

    .footer-editor-tools{
      border:1px solid var(--line);
      background:rgba(255,255,255,.86);
      padding:18px;
      min-height:230px;
    }
    .footer-editor-tools h3{
      margin:8px 0 16px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(24px,2.5vw,34px);
      line-height:1.08;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .footer-editor-tools p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.9;
      font-weight:400;
    }
    .footer-editor-button-grid{
      display:grid;
      grid-template-columns:1fr;
      gap:0;
      margin-top:16px;
      border-top:1px solid var(--line);
    }
    .footer-editor-btn{
      width:100%;
      border:0;
      border-bottom:1px solid var(--line);
      background:transparent;
      padding:12px 0;
      display:grid;
      grid-template-columns:1fr auto;
      gap:14px;
      align-items:start;
      text-align:left;
      cursor:pointer;
      transition:.22s ease;
    }
    .footer-editor-btn:last-child{
      border-bottom:0;
    }
    .footer-editor-btn:hover{
      background:var(--soft);
      padding-left:8px;
    }
    .footer-editor-btn strong{
      display:block;
      margin-bottom:4px;
      color:var(--ink);
      font-size:16px;
      line-height:1.45;
      font-weight:400;
    }
    .footer-editor-btn small{
      display:block;
      color:var(--muted);
      font-size:14px;
      line-height:1.75;
      transition:.22s ease;
    }
    .footer-editor-btn em{
      width:28px;
      height:28px;
      border:1px solid var(--line);
      display:grid;
      place-items:center;
      font-style:normal;
      font-size:14px;
      line-height:1;
      color:var(--ink);
      background:#fff;
      transition:.22s ease;
    }
    .footer-editor-btn:hover em{
      background:var(--ink);
      color:#fff;
    }

    .footer-bottom{
      display:flex;
      justify-content:space-between;
      gap:18px;
      align-items:center;
      border-top:1px solid var(--line);
      margin-top:18px;
      padding-top:18px;
      color:var(--muted);
      font-size:12px;
      line-height:1.7;
    }
    .back-top{
      border:1px solid var(--line);
      background:#fff;
      padding:9px 12px;
      color:var(--ink);
      font-size:12px;
      letter-spacing:.14em;
      text-transform:uppercase;
      transition:.2s;
    }
    .back-top:hover{
      background:var(--ink);
      color:#fff;
    }


    b, strong{
      font-weight:400;
    }


    /* Readability upgrade: enlarge smaller editorial / classified / note text */
    .reader-classified b,
    .reader-small-ad .micro,
    .reader-wind-index .micro,
    .classified-grid b,
    .ad-card .micro{
      font-size:13px;
      letter-spacing:.12em;
    }

    .reader-classified p,
    .reader-small-ad p,
    .reader-wind-index dl,
    .classified-grid,
    .weather-index dl,
    .ad-card p,
    .brief p,
    .archive-ticket p,
    .footer-panel p,
    .footer-tags span,
    .footer-links a,
    .clipping-item,
    .empty{
      font-size:16px;
      line-height:1.9;
    }

    .reader-mini strong{
      font-size:23px;
      line-height:1.25;
    }

    .reader-small-ad h4{
      font-size:28px;
      line-height:1.16;
    }

    .route-map-main p,
    .story-copy p,
    .feature-copy p,
    .route-tab span,
    .route-step,
    .route-stop{
      font-size:15px;
    }

    .photo-caption,
    .reader-panel p,
    .deck p,
    .section-head p,
    .columns,
    .footer-date,
    .edition-card dl,
    .index-card dl{
      font-size:17px;
    }


    .headline{
      font-weight:400 !important;
      font-synthesis-weight:none;
    }



    .story-copy .micro,
    .archive-ticket .micro,
    .reader-panel .micro,
    .route-result .micro,
    .sound-desk .micro,
    .fortune-box .micro,
    .clipping-drawer .micro{
      font-size:13px;
      letter-spacing:.16em;
    }
/* Redesigned Interactive Editor Desk */
    .editor-desk-layout{
      display:grid;
      grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
      gap:clamp(20px,3vw,38px);
      align-items:stretch;
    }
    .editor-console{
      border:1px solid var(--line);
      background:#fff;
      box-shadow:var(--shadow);
      display:grid;
      grid-template-rows:auto 1fr;
      min-height:720px;
    }
    .editor-console-head{
      padding:22px 24px;
      border-bottom:1px solid var(--line);
      display:grid;
      grid-template-columns:1fr auto;
      gap:18px;
      align-items:start;
    }
    .editor-console-head h3{
      margin:10px 0 0;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(34px,4.6vw,66px);
      line-height:1.02;
      letter-spacing:-.025em;
      font-weight:400;
    }
    .editor-status{
      border:1px solid var(--line);
      background:var(--soft);
      padding:12px 14px;
      min-width:168px;
      text-align:right;
    }
    .editor-status span{
      display:block;
      color:var(--muted);
      font-size:13px;
      line-height:1.7;
    }
    .editor-console-body{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:0;
      min-height:0;
    }
    .desk-feature{
      position:relative;
      padding:22px;
      border-right:1px solid var(--line);
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      overflow:hidden;
      background:
        radial-gradient(circle at 88% 18%, rgba(17,17,17,.045), transparent 28%),
        #fff;
    }
    .desk-feature::after{
      content:"編";
      position:absolute;
      right:-10px;
      bottom:-34px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:180px;
      line-height:1;
      opacity:.035;
      pointer-events:none;
    }
    .desk-feature p{
      margin:22px 0 0;
      max-width:430px;
      color:var(--muted);
      font-size:17px;
      line-height:2;
    }
    .desk-feature h4{
      margin:12px 0 0;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(28px,3vw,42px);
      line-height:1.1;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .editor-actions{
      display:grid;
      gap:10px;
      margin-top:26px;
    }
    .editor-action{
      border:1px solid var(--line);
      background:#fff;
      padding:14px 15px;
      display:grid;
      grid-template-columns:1fr auto;
      gap:12px;
      align-items:center;
      text-align:left;
      cursor:pointer;
      transition:.24s ease;
    }
    .editor-action:hover,
    .editor-action.active{
      background:var(--ink);
      color:#fff;
      transform:translateX(4px);
    }
    .editor-action small{
      color:var(--muted);
      font-size:13px;
      line-height:1.5;
      transition:.24s ease;
    }
    .editor-action:hover small,
    .editor-action.active small{
      color:rgba(255,255,255,.72);
    }
    .editor-action b{
      display:block;
      margin-bottom:3px;
      font-size:18px;
      line-height:1.35;
    }
    .editor-action em{
      font-style:normal;
      font-size:20px;
    }
    .desk-output{
      padding:22px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      gap:20px;
      min-width:0;
    }
    .desk-output-card{
      border:1px solid var(--line);
      background:var(--soft);
      padding:18px;
      min-height:250px;
    }
    .desk-output-card h4{
      margin:10px 0 14px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(26px,2.6vw,38px);
      line-height:1.12;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .desk-output-card p{
      margin:0;
      color:var(--muted);
      font-size:17px;
      line-height:2;
    }
    .desk-output-tags{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:16px;
    }
    .desk-output-tags span{
      border:1px solid var(--line);
      background:#fff;
      padding:8px 10px;
      font-size:13px;
    }
    .desk-mini-board{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
    }
    .desk-mini{
      border:1px solid var(--line);
      background:#fff;
      padding:14px;
      min-height:120px;
    }
    .desk-mini strong{
      display:block;
      margin-top:10px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:23px;
      line-height:1.25;
      font-weight:400;
    }
    .editor-tool-column{
      display:grid;
      gap:18px;
      align-content:start;
    }
    .play-card{
      border:1px solid var(--line);
      background:#fff;
      box-shadow:var(--shadow);
      padding:22px;
    }
    .play-card h3{
      margin:10px 0 16px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(28px,3vw,44px);
      line-height:1.08;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .sound-remix-list{
      display:grid;
      gap:12px;
    }
    .sound-remix-row{
      border:1px solid var(--line);
      background:var(--soft);
      padding:13px;
      display:grid;
      grid-template-columns:118px 1fr auto;
      gap:12px;
      align-items:center;
    }
    .sound-remix-row span{
      font-size:15px;
    }
    .sound-toggle{
      width:34px;
      height:34px;
      border:1px solid var(--line);
      background:#fff;
      cursor:pointer;
      transition:.2s;
    }
    .sound-toggle.active{
      background:var(--ink);
      color:#fff;
    }
    .bars.compact{
      height:34px;
      padding-left:10px;
      border-left:1px solid var(--line);
    }
    .fortune-controls{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:18px;
    }
    .desk-fortune-text{
      margin:0;
      min-height:110px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(24px,2.4vw,34px);
      line-height:1.72;
      letter-spacing:-.02em;
    }
    .mission-list{
      display:grid;
      gap:10px;
    }
    .mission-item{
      border:1px solid var(--line);
      background:var(--soft);
      padding:13px 14px;
      display:grid;
      grid-template-columns:auto 1fr;
      gap:12px;
      align-items:start;
      cursor:pointer;
      transition:.22s ease;
    }
    .mission-item input{
      width:18px;
      height:18px;
      margin-top:3px;
      accent-color:var(--ink);
    }
    .mission-item span{
      color:var(--muted);
      font-size:15px;
      line-height:1.75;
    }
    .mission-item.done{
      background:#fff;
    }
    .mission-item.done span{
      color:var(--ink);
      text-decoration:line-through;
      text-decoration-thickness:1px;
      text-decoration-color:var(--line);
    }
    .desk-clipping-list{
      display:grid;
      gap:8px;
      min-height:120px;
    }
    .desk-clipping-list .clipping-item{
      background:#fff;
    }


    .editor-toolbox{
      border:1px solid var(--line);
      background:#fff;
      box-shadow:var(--shadow);
      padding:22px;
    }
    .editor-toolbox h3{
      margin:10px 0 18px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(30px,3vw,44px);
      line-height:1.08;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .tool-button-grid{
      display:grid;
      gap:12px;
    }
    .tool-open-btn{
      width:100%;
      border:1px solid var(--line);
      background:var(--soft);
      padding:16px;
      display:grid;
      grid-template-columns:1fr auto;
      gap:14px;
      align-items:center;
      text-align:left;
      cursor:pointer;
      transition:.24s ease;
    }
    .tool-open-btn:hover{
      background:var(--ink);
      color:#fff;
      transform:translateX(4px);
    }
    .tool-open-btn:hover small{
      color:rgba(255,255,255,.72);
    }
    .tool-open-btn strong{
      display:block;
      margin-bottom:4px;
      font-size:22px;
      line-height:1.25;
    }
    .tool-open-btn small{
      color:var(--muted);
      font-size:15px;
      line-height:1.65;
      transition:.24s ease;
    }
    .tool-open-btn em{
      font-style:normal;
      font-size:22px;
    }
    .tool-modal-content{
      display:grid;
      gap:16px;
      margin:18px 0 24px;
    }
    .tool-modal-card{
      border:1px solid var(--line);
      background:var(--soft);
      padding:16px;
    }
    .tool-modal-card h4{
      margin:0 0 10px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:26px;
      line-height:1.18;
      font-weight:400;
    }
    .tool-modal-card p{
      margin:0;
      color:var(--muted);
      font-size:17px;
      line-height:1.95;
    }
    .tool-modal-actions{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:16px;
    }
    .modal-mission-list{
      display:grid;
      gap:10px;
    }
    .modal-mission-item{
      border:1px solid var(--line);
      background:#fff;
      padding:13px 14px;
      display:grid;
      grid-template-columns:auto 1fr;
      gap:12px;
      align-items:start;
      cursor:pointer;
      transition:.22s ease;
    }
    .modal-mission-item input{
      width:18px;
      height:18px;
      margin-top:4px;
      accent-color:var(--ink);
    }
    .modal-mission-item span{
      color:var(--muted);
      font-size:17px;
      line-height:1.8;
    }
    .modal-mission-item.done{
      background:var(--soft);
    }
    .modal-mission-item.done span{
      color:var(--ink);
      text-decoration:line-through;
      text-decoration-thickness:1px;
      text-decoration-color:var(--line);
    }
    .modal-clipping-list{
      display:grid;
      gap:8px;
      min-height:110px;
    }
    .modal-clipping-list .clipping-item{
      background:var(--soft);
    }


    .archive-modal-layout{
      display:grid;
      grid-template-columns:minmax(0, .86fr) minmax(260px, .44fr);
      gap:22px;
      margin:18px 0 24px;
      align-items:start;
    }
    .archive-article{
      border-top:1px solid var(--line);
      padding-top:18px;
    }
    .archive-article .lead{
      margin:0 0 18px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(22px,2.2vw,32px);
      line-height:1.75;
      letter-spacing:-.01em;
      color:var(--ink);
    }
    .archive-article p{
      margin:0 0 16px;
      color:#3b3833;
      font-size:17px;
      line-height:2.05;
      font-weight:400;
    }
    .archive-side-note{
      border:1px solid var(--line);
      background:var(--soft);
      padding:16px;
      position:sticky;
      top:20px;
    }
    .archive-side-note h4{
      margin:8px 0 14px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:28px;
      line-height:1.16;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .archive-facts{
      display:grid;
      gap:8px;
      margin:16px 0;
      padding-top:14px;
      border-top:1px solid var(--line);
    }
    .archive-fact{
      display:grid;
      grid-template-columns:auto 1fr;
      gap:12px;
      font-size:14px;
      line-height:1.65;
    }
    .archive-fact b{
      color:var(--muted);
    }
    .archive-fact span{
      text-align:right;
    }
    .archive-keywords{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:16px;
    }
    .archive-keywords span{
      border:1px solid var(--line);
      background:#fff;
      padding:8px 10px;
      font-size:13px;
    }
    .archive-modal-quote{
      margin-top:18px;
      padding:16px;
      border-left:3px solid var(--line-strong);
      background:#fff;
      color:var(--muted);
      font-size:16px;
      line-height:1.9;
    }


    /* Large archive popup redesign */
    .modal.archive-modal-open{
      align-items:center;
      padding:18px;
      background:rgba(255,255,255,.86);
    }
    .modal.archive-modal-open .modal-card{
      width:min(1280px, calc(100vw - 36px));
      max-height:92vh;
      padding:0;
      overflow:auto;
      border:1px solid var(--line-strong);
      background:#fff;
    }
    .modal.archive-modal-open .modal-top{
      position:sticky;
      top:0;
      z-index:5;
      background:rgba(255,255,255,.92);
      backdrop-filter:blur(16px);
      margin:0;
      padding:16px 20px;
      border-bottom:1px solid var(--line);
    }
    .modal.archive-modal-open #modalTitle{
      display:none;
    }
    .archive-large-page{
      display:grid;
      grid-template-columns:minmax(0,1.12fr) minmax(320px,.48fr);
      min-height:720px;
    }
    .archive-large-main{
      min-width:0;
      border-right:1px solid var(--line);
    }
.archive-large-hero{
      display:grid;
      grid-template-columns:1fr;
      min-height:auto;
      border-bottom:1px solid var(--line);
      background:
        linear-gradient(90deg, rgba(17,17,17,.035) 1px, transparent 1px),
        linear-gradient(rgba(17,17,17,.025) 1px, transparent 1px),
        #fff;
      background-size:46px 46px;
    }
    .archive-large-title{
      padding:clamp(28px,4vw,58px);
      display:flex;
      flex-direction:column;
      justify-content:flex-start;
      gap:28px;
    }
    .archive-large-title h3{
      margin:14px 0 0;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(42px,5.6vw,84px);
      line-height:1.02;
      letter-spacing:-.025em;
      font-weight:400;
    }
    .archive-large-title .lead{
      margin:0;
      max-width:720px;
      color:#33302b;
      font-size:clamp(20px,2vw,30px);
      line-height:1.85;
      letter-spacing:-.01em;
    }
    .archive-large-image{
      height:clamp(300px,42vw,520px);
      min-height:300px;
      border-left:0;
      border-bottom:1px solid var(--line);
      overflow:hidden;
      background:var(--soft);
    }
    .archive-large-image img{
      width:100%;
      height:100%;
      object-fit:cover;
      filter:grayscale(.08) contrast(1.04) saturate(.9);
    }
    .archive-large-body{
      display:grid;
      grid-template-columns:minmax(0,1fr) minmax(230px,.38fr);
      gap:0;
      border-bottom:1px solid var(--line);
    }
    .archive-longread{
      padding:clamp(24px,3vw,46px);
      border-right:1px solid var(--line);
    }
    .archive-longread p{
      margin:0 0 22px;
      color:#37332f;
      font-size:18px;
      line-height:2.15;
      font-weight:400;
    }
    .archive-longread p:first-child::first-letter{
      float:left;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:72px;
      line-height:.9;
      padding-right:10px;
      color:var(--ink);
    }
    .archive-detail-rail{
      padding:24px;
      background:var(--soft);
    }
    .archive-detail-rail h4,
    .archive-route-box h4,
    .archive-timeline h4{
      margin:10px 0 16px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:28px;
      line-height:1.16;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .archive-fact-list{
      display:grid;
      gap:0;
      border-top:1px solid var(--line);
    }
    .archive-fact-row{
      display:grid;
      grid-template-columns:82px 1fr;
      gap:12px;
      padding:12px 0;
      border-bottom:1px solid var(--line);
      font-size:15px;
      line-height:1.65;
    }
    .archive-fact-row b{
      color:var(--muted);
    }
    .archive-fact-row span{
      text-align:right;
    }
    .archive-keyword-cloud{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:18px;
    }
    .archive-keyword-cloud span{
      border:1px solid var(--line);
      background:#fff;
      padding:8px 10px;
      font-size:14px;
    }
    .archive-large-side{
      display:flex;
      flex-direction:column;
      min-width:0;
      background:#fff;
    }
    .archive-side-block{
      padding:24px;
      border-bottom:1px solid var(--line);
    }
    .archive-quote-large{
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(26px,3vw,42px);
      line-height:1.55;
      letter-spacing:-.02em;
      color:var(--ink);
    }
    .archive-quote-large::before{
      content:"“";
      display:block;
      font-size:54px;
      line-height:.7;
      color:var(--muted);
    }
    .archive-route-box{
      background:var(--soft);
    }
    .archive-route-steps{
      display:grid;
      gap:10px;
      margin-top:16px;
    }
    .archive-route-step{
      display:grid;
      grid-template-columns:32px 1fr;
      gap:10px;
      align-items:center;
      font-size:15px;
      line-height:1.6;
    }
    .archive-route-step b{
      width:32px;
      height:32px;
      border:1px solid var(--line);
      background:#fff;
      display:grid;
      place-items:center;
    }
    .archive-timeline{
      margin-top:auto;
    }
    .archive-timeline-list{
      display:grid;
      gap:12px;
      margin-top:16px;
    }
    .archive-timeline-item{
      border-left:1px solid var(--line);
      padding-left:14px;
    }
    .archive-timeline-item b{
      display:block;
      margin-bottom:4px;
      font-size:14px;
      color:var(--muted);
      letter-spacing:.08em;
    }
    .archive-timeline-item span{
      font-size:15px;
      line-height:1.75;
    }
    .archive-related{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      border-top:1px solid var(--line);
      background:#fff;
    }
    .archive-related-card{
      padding:20px;
      min-height:160px;
      border-right:1px solid var(--line);
    }
    .archive-related-card:last-child{
      border-right:0;
    }
    .archive-related-card h4{
      margin:10px 0 8px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:24px;
      line-height:1.18;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .archive-related-card p{
      margin:0;
      color:var(--muted);
      font-size:15px;
      line-height:1.8;
    }
    .archive-large-actions{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      padding:20px;
      border-top:1px solid var(--line);
      background:#fff;
    }


    .archive-large-page.left-context{
      grid-template-columns:1fr;
    }
    .archive-large-page.left-context .archive-large-main{
      border-right:0;
    }
    .archive-context-panel{
      display:grid;
      grid-template-columns:1fr 1fr;
      border-bottom:1px solid var(--line);
      background:#fff;
    }
    .archive-context-card{
      min-height:260px;
      padding:clamp(20px,2.5vw,32px);
      border-right:1px solid var(--line);
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      gap:18px;
    }
    .archive-context-card:last-child{
      border-right:0;
    }
    .archive-context-card h4{
      margin:10px 0 0;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(26px,3vw,40px);
      line-height:1.15;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .archive-context-quote{
      margin:0;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(25px,2.8vw,38px);
      line-height:1.62;
      letter-spacing:-.02em;
      color:var(--ink);
    }
    .archive-context-quote::before{
      content:"“";
      display:block;
      font-size:52px;
      line-height:.7;
      color:var(--muted);
    }
    .archive-inline-route{
      display:grid;
      gap:10px;
      margin-top:auto;
    }
    .archive-inline-route-step{
      display:grid;
      grid-template-columns:34px 1fr;
      gap:12px;
      align-items:center;
      padding-bottom:10px;
      border-bottom:1px solid var(--line);
      font-size:16px;
      line-height:1.6;
    }
    .archive-inline-route-step:last-child{
      border-bottom:0;
      padding-bottom:0;
    }
    .archive-inline-route-step b{
      width:34px;
      height:34px;
      display:grid;
      place-items:center;
      border:1px solid var(--line-strong);
      background:#fff;
    }
    .archive-inline-timeline{
      display:grid;
      gap:13px;
      margin-top:auto;
    }
    .archive-inline-timeline-item{
      display:grid;
      grid-template-columns:64px 1fr;
      gap:12px;
      align-items:start;
      padding-bottom:12px;
      border-bottom:1px solid var(--line);
    }
    .archive-inline-timeline-item:last-child{
      border-bottom:0;
      padding-bottom:0;
    }
    .archive-inline-timeline-item b{
      color:var(--muted);
      font-size:15px;
      line-height:1.7;
    }
    .archive-inline-timeline-item span{
      font-size:16px;
      line-height:1.75;
      color:#37332f;
    }
.reveal{opacity:0;transform:translateY(18px);transition:.75s ease}
    .reveal.show{opacity:1;transform:none}

    body.spacious{
      --gutter:clamp(22px,3vw,52px);
    }
    body.spacious .section{padding:clamp(118px, 8.5vw, 156px) 0}
    body.spacious .deck p,
    body.spacious .section-head p,
    body.spacious .columns{
      line-height:2.35;
      letter-spacing:.04em;
    }
    body.spacious .front-grid,
    body.spacious .story-matrix,
    body.spacious .route-layout,
    body.spacious .desk-grid{
      gap:clamp(30px,4vw,68px);
    }

    @media(max-width:1180px){
      .front-grid,.lead-layout,.story-matrix,.route-layout,.desk-grid,.section-head{grid-template-columns:1fr}
      .editor-desk-layout,
      .editor-console-body{
        grid-template-columns:1fr;
      }
      .editor-console{
        min-height:0;
      }
      .desk-feature{
        border-right:0;
        border-bottom:1px solid var(--line);
      }

      .story-matrix{height:auto}
      .feature-card{height:auto;grid-template-rows:clamp(300px,42vw,480px) auto}
      .side-list{height:auto;grid-template-rows:auto}
      .story-row{height:auto}
      .footer-mast,
      .footer-grid{
        grid-template-columns:1fr;
      }
      .footer-logo,
      .footer-date{
        text-align:left;
      }

      .front-paper{height:auto}
      .lead-copy-column{min-height:auto}
      .issue-index{margin-top:28px}
      .reader-panel,.route-panel{position:relative;top:0}
      .reader-panel{min-height:auto}
      .archive-grid{grid-template-columns:repeat(2,1fr)}
      .masthead-topline,
      .masthead-main{grid-template-columns:1fr}
      .masthead-note{text-align:left}
      .logo{text-align:left;align-items:flex-start;padding:8px 0}
      .edition-card,.index-card{min-height:auto}
    }
    @media(max-width:980px){
      .front-extras{
        grid-template-columns:1fr;
      }
      .issue-index{
        grid-template-columns:1fr 1fr;
      }
      .issue-index a:nth-child(2n){
        border-right:0;
      }
      .issue-index a:nth-child(-n+2){
        border-bottom:1px solid var(--line);
      }
    }
    @media(max-width:820px){

      .local-report-v2 .local-report-v2-photo{
        height:220px;
      }
      .local-report-v2 .local-report-v2-body,
      .local-report-v2 .local-report-v2-main,
      .local-report-v2 .local-report-v2-footer{
        grid-template-columns:1fr;
      }
      .local-report-v2 .local-report-v2-notes,
      .local-report-v2 .local-report-v2-side,
      .local-report-v2 .local-report-v2-footer article{
        border-right:0;
        border-left:0;
      }
      .local-report-v2 .local-report-v2-notes,
      .local-report-v2 .local-report-v2-article,
      .local-report-v2 .local-report-v2-footer article{
        border-bottom:1px solid var(--line);
      }
      .local-report-v2 .local-report-v2-article{
        padding:28px 22px;
      }

      .local-report-v2-head,
      .local-report-v2-body,
      .local-report-v2-main,
      .local-report-v2-footer{
        grid-template-columns:1fr;
      }
      .local-report-v2-photo{
        height:220px;
        min-height:0;
      }
      .local-report-v2-title,
      .local-report-v2-notes,
      .local-report-v2-side,
      .local-report-v2-footer article{
        border-right:0;
        border-left:0;
      }
      .local-report-v2-title,
      .local-report-v2-notes,
      .local-report-v2-article,
      .local-report-v2-footer article{
        border-bottom:1px solid var(--line);
      }

      .local-story-head,
      .local-story-body,
      .local-story-content{
        grid-template-columns:1fr;
      }
      .local-story-photo{
        aspect-ratio:16 / 9;
        min-height:240px;
      }
      .local-story-title,
      .local-story-notes,
      .local-story-sidebar{
        border-right:0;
        border-left:0;
      }
      .local-story-title,
      .local-story-notes,
      .local-story-article{
        border-bottom:1px solid var(--line);
      }

      .single-report-hero,
      .single-report-body{
        grid-template-columns:1fr;
      }
      .single-report-image{
        min-height:360px;
        border-right:0;
        border-bottom:1px solid var(--line);
      }
      .single-report-sidebar{
        border-left:0;
        border-top:1px solid var(--line);
      }
      .single-report-article{
        column-count:1;
      }

      .archive-modal-layout{
        grid-template-columns:1fr;
      }
      .archive-side-note{
        position:relative;
        top:0;
      }
      .deck{grid-template-columns:1fr}
      .story-row{grid-template-columns:1fr}
      .story-thumb{height:260px;min-height:260px}
      .route-map-card{grid-template-columns:1fr;height:auto;min-height:0}
      .route-map-image{height:260px;min-height:260px;border-right:0;border-bottom:1px solid var(--line)}
      .route-map-content{height:auto;grid-template-columns:1fr;grid-template-rows:auto}
      .route-map-meta{writing-mode:horizontal-tb;border-left:0;border-top:1px solid var(--line);padding:12px 0 0;min-height:auto}
      .columns{column-count:1}
      .sound-row{grid-template-columns:1fr}
      .reader-tools{grid-template-columns:1fr}
      .footer-inner{grid-template-columns:1fr}
    }
    @media(max-width:620px){
      .classified-grid{
        grid-template-columns:1fr;
      }
      .issue-index{
        grid-template-columns:1fr;
      }
      .issue-index a{
        border-right:0;
        border-bottom:1px solid var(--line);
      }
      .issue-index a:last-child{
        border-bottom:0;
      }
      .reader-small-grid{
        grid-template-columns:1fr;
      }
    }
    @media(max-width:560px){

      .desk-mini-board,
      .sound-remix-row{
        grid-template-columns:1fr;
      }
      .editor-console-head{
        grid-template-columns:1fr;
      }
      .editor-status{
        text-align:left;
      }
      .section{
        padding:76px 0;
      }
      main > .section + .section{
        margin-top:22px;
      }
      .floating-top-btn{
        right:14px;
        bottom:16px;
        width:46px;
        min-height:108px;
        font-size:13px;
      }
      .footer-links{grid-template-columns:1fr}
      .footer-input{grid-template-columns:1fr}
      .footer-input button{border-left:0;border-top:1px solid var(--line-strong);padding:13px 16px}
  
    .footer-editor-tools{
      border:1px solid var(--line);
      background:rgba(255,255,255,.86);
      padding:18px;
      min-height:230px;
    }
    .footer-editor-tools h3{
      margin:8px 0 16px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(24px,2.5vw,34px);
      line-height:1.08;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .footer-editor-tools p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.9;
      font-weight:400;
    }
    .footer-editor-button-grid{
      display:grid;
      grid-template-columns:1fr;
      gap:0;
      margin-top:16px;
      border-top:1px solid var(--line);
    }
    .footer-editor-btn{
      width:100%;
      border:0;
      border-bottom:1px solid var(--line);
      background:transparent;
      padding:12px 0;
      display:grid;
      grid-template-columns:1fr auto;
      gap:14px;
      align-items:start;
      text-align:left;
      cursor:pointer;
      transition:.22s ease;
    }
    .footer-editor-btn:last-child{
      border-bottom:0;
    }
    .footer-editor-btn:hover{
      background:var(--soft);
      padding-left:8px;
    }
    .footer-editor-btn strong{
      display:block;
      margin-bottom:4px;
      color:var(--ink);
      font-size:16px;
      line-height:1.45;
      font-weight:400;
    }
    .footer-editor-btn small{
      display:block;
      color:var(--muted);
      font-size:14px;
      line-height:1.75;
      transition:.22s ease;
    }
    .footer-editor-btn em{
      width:28px;
      height:28px;
      border:1px solid var(--line);
      display:grid;
      place-items:center;
      font-style:normal;
      font-size:14px;
      line-height:1;
      color:var(--ink);
      background:#fff;
      transition:.22s ease;
    }
    .footer-editor-btn:hover em{
      background:var(--ink);
      color:#fff;
    }

    .footer-bottom{align-items:flex-start;flex-direction:column}
      .wrap{padding-left:16px;padding-right:16px}
      .masthead-inner{padding-left:16px;padding-right:16px}
      .headline{font-size:42px}
      .logo h1{font-size:46px}
      .lead-photo{height:280px}
      .photo-picker{grid-template-columns:1fr 1fr 1fr}
      .photo-choice{height:58px}
      .route-map-card{display:block;height:auto;min-height:0}
      .route-map-image{height:240px;min-height:240px}
      .route-map-stops{grid-template-columns:1fr 1fr}
      .route-map-stops::before{display:none}
      .archive-grid{grid-template-columns:1fr}
  
    .section-head .micro{
      display:inline-block;
      margin-bottom:14px;
      font-size:14px;
      letter-spacing:.16em;
      color:var(--ink);
    }

    .section-head h2{font-size:32px}
      .nav{justify-content:flex-start}
    }
  
    /* Local Story Final: conflict-resistant layout */
    .story-final{
      border:1px solid var(--line);
      border-top:4px double var(--line-strong);
      background:#fff;
      overflow:hidden;
    }
    .story-final-photo{
      margin:0;
      width:100%;
      height:300px;
      overflow:hidden;
      background:var(--soft);
      border-bottom:1px solid var(--line);
    }
    .story-final-photo img{
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center center;
      display:block;
      filter:grayscale(.05) contrast(1.04) saturate(.92);
    }
    .story-final-cover{
      display:grid;
      grid-template-columns:minmax(0,1fr) 360px;
      border-bottom:1px solid var(--line);
      background:
        linear-gradient(90deg, rgba(17,17,17,.035) 1px, transparent 1px),
        linear-gradient(rgba(17,17,17,.025) 1px, transparent 1px),
        #fff;
      background-size:48px 48px;
    }
    .story-final-title{
      padding:clamp(28px,4vw,58px);
      border-right:1px solid var(--line);
    }
    .story-final-title h3{
      margin:14px 0 0;
      max-width:920px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(40px,5vw,76px);
      line-height:1.05;
      letter-spacing:-.025em;
      font-weight:400;
    }
    .story-final-title p{
      margin:24px 0 0;
      max-width:900px;
      color:#332f2a;
      font-size:clamp(19px,1.8vw,27px);
      line-height:1.9;
    }
    .story-final-meta{
      padding:26px;
      background:var(--soft);
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      gap:22px;
    }
    .story-final-meta-list{
      display:grid;
      gap:0;
      border-top:1px solid var(--line);
      margin-top:12px;
    }
    .story-final-meta-row{
      display:grid;
      grid-template-columns:72px 1fr;
      gap:12px;
      padding:12px 0;
      border-bottom:1px solid var(--line);
      font-size:15px;
      line-height:1.7;
    }
    .story-final-meta-row b{
      color:var(--muted);
      font-weight:400;
    }
    .story-final-actions{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:8px;
    }
    .story-final-content{
      display:grid;
      grid-template-columns:320px minmax(0,1fr) 300px;
      background:#fff;
      min-height:520px;
    }
    .story-final-notes{
      padding:28px;
      background:var(--soft);
      border-right:1px solid var(--line);
    }
    .story-final-notes h4,
    .story-final-side h4{
      margin:10px 0 16px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(25px,2.4vw,36px);
      line-height:1.16;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .story-final-note-list{
      display:grid;
      gap:12px;
      margin-top:18px;
    }
    .story-final-note{
      border:1px solid var(--line);
      background:#fff;
      padding:14px;
    }
    .story-final-note b{
      display:block;
      margin-bottom:6px;
      color:var(--ink);
      font-size:17px;
      line-height:1.45;
      font-weight:400;
    }
    .story-final-note span{
      display:block;
      color:var(--muted);
      font-size:15px;
      line-height:1.78;
    }
    .story-final-article{
      padding:clamp(32px,4vw,62px);
      color:#34312d;
      font-size:18px;
      line-height:2.15;
      letter-spacing:.01em;
      background:#fff;
    }
    .story-final-article p{
      margin:0 0 24px;
    }
    .story-final-article p:first-child::first-letter{
      float:left;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:74px;
      line-height:.9;
      padding:8px 10px 0 0;
      color:var(--ink);
    }
    .story-final-side{
      padding:28px;
      border-left:1px solid var(--line);
      background:var(--soft);
      display:flex;
      flex-direction:column;
      gap:18px;
    }
    .story-final-tags{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:12px;
    }
    .story-final-tags span{
      border:1px solid var(--line);
      background:#fff;
      padding:8px 10px;
      font-size:14px;
      line-height:1.4;
    }
    .story-final-quote{
      margin-top:auto;
      border-left:3px solid var(--line-strong);
      background:#fff;
      padding:18px;
      color:#302d28;
      font-size:20px;
      line-height:1.85;
    }
    .story-final-extra{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      border-top:1px solid var(--line);
      background:#fff;
    }
    .story-final-extra article{
      padding:20px;
      border-right:1px solid var(--line);
      min-height:150px;
    }
    .story-final-extra article:last-child{
      border-right:0;
    }
    .story-final-extra h4{
      margin:10px 0 8px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:24px;
      line-height:1.18;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .story-final-extra p{
      margin:0;
      color:var(--muted);
      font-size:15px;
      line-height:1.8;
    }

    @media(max-width:1100px){
      .story-final-cover{
        grid-template-columns:1fr;
      }
      .story-final-title{
        border-right:0;
        border-bottom:1px solid var(--line);
      }
      .story-final-content{
        grid-template-columns:1fr;
      }
      .story-final-notes,
      .story-final-side{
        border-right:0;
        border-left:0;
        border-bottom:1px solid var(--line);
      }
      .story-final-extra{
        grid-template-columns:1fr;
      }
      .story-final-extra article{
        border-right:0;
        border-bottom:1px solid var(--line);
      }
      .story-final-extra article:last-child{
        border-bottom:0;
      }
    }
    @media(max-width:560px){
      .story-final-photo{
        height:220px;
      }
      .story-final-actions{
        grid-template-columns:1fr;
      }
      .story-final-title,
      .story-final-meta,
      .story-final-notes,
      .story-final-article,
      .story-final-side{
        padding:22px;
      }
    }

  
    /* Local story: notes and clues moved below article */
    .story-final-content.after-article-layout{
      display:grid;
      grid-template-columns:1fr;
      background:#fff;
      min-height:0;
    }
    .story-final-content.after-article-layout .story-final-article{
      border-bottom:1px solid var(--line);
    }
    .story-final-below{
      display:grid;
      grid-template-columns:1fr;
      border-bottom:1px solid var(--line);
    }
    .story-final-below .story-final-notes{
      border-right:0;
      border-bottom:0;
    }
    .story-final-below .story-final-side{
      border-left:0;
      border-bottom:0;
    }
    .story-final-below .story-final-quote{
      margin-top:18px;
    }
    @media(max-width:900px){
      .story-final-below{
        grid-template-columns:1fr;
      }
      .story-final-below .story-final-notes{
        border-right:0;
        border-bottom:1px solid var(--line);
      }
    }

  
    /* Story final refinement: inset image + magazine article body */
    .story-final.refined-story .story-final-photo{
      height:440px;
      padding:24px;
      box-sizing:border-box;
      background:
        linear-gradient(90deg, rgba(17,17,17,.035) 1px, transparent 1px),
        linear-gradient(rgba(17,17,17,.025) 1px, transparent 1px),
        #fff;
      background-size:48px 48px;
      border-bottom:1px solid var(--line);
    }
    .story-final.refined-story .story-final-photo img{
      border:1px solid var(--line);
      object-position:center center;
    }
    .story-final.refined-story .story-final-content.after-article-layout{
      display:block;
      background:#fff;
    }
    .story-final-article-redesign{
      padding:0;
      background:#fff;
      color:#34312d;
      border-bottom:1px solid var(--line);
    }
    .article-redesign-head{
      display:grid;
      grid-template-columns:minmax(0,1fr) minmax(260px,.36fr);
      border-bottom:1px solid var(--line);
      background:
        linear-gradient(90deg, rgba(17,17,17,.035) 1px, transparent 1px),
        linear-gradient(rgba(17,17,17,.025) 1px, transparent 1px),
        #fff;
      background-size:48px 48px;
    }
    .article-redesign-lead{
      padding:clamp(28px,4vw,56px);
      border-right:1px solid var(--line);
    }
    .article-redesign-lead h4{
      margin:12px 0 18px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(30px,3.6vw,52px);
      line-height:1.12;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .article-redesign-lead p{
      margin:0;
      max-width:920px;
      font-size:clamp(19px,1.8vw,28px);
      line-height:1.9;
      color:#302d28;
    }
    .article-redesign-index{
      padding:clamp(22px,2.6vw,34px);
      background:var(--soft);
    }
    .article-redesign-index h5{
      margin:10px 0 16px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:26px;
      line-height:1.18;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .article-redesign-index ol{
      margin:0;
      padding:0;
      list-style:none;
      display:grid;
      gap:0;
      border-top:1px solid var(--line);
    }
    .article-redesign-index li{
      padding:12px 0;
      border-bottom:1px solid var(--line);
      font-size:15px;
      line-height:1.7;
      color:#36322e;
    }
    .article-redesign-main{
      display:grid;
      grid-template-columns:minmax(0,1fr) minmax(260px,.34fr);
      border-bottom:1px solid var(--line);
    }
    .article-redesign-columns{
      padding:clamp(30px,4vw,62px);
      column-count:2;
      column-gap:46px;
      column-rule:1px solid var(--line);
      font-size:18px;
      line-height:2.16;
      letter-spacing:.01em;
    }
    .article-redesign-columns p{
      margin:0 0 24px;
      break-inside:avoid;
    }
    .article-redesign-columns p:first-child::first-letter{
      float:left;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:78px;
      line-height:.88;
      padding:8px 10px 0 0;
      color:var(--ink);
    }
    .article-redesign-columns h5{
      margin:4px 0 16px;
      break-after:avoid;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:26px;
      line-height:1.25;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .article-redesign-rail{
      padding:clamp(22px,2.6vw,34px);
      border-left:1px solid var(--line);
      background:var(--soft);
      display:flex;
      flex-direction:column;
      gap:18px;
    }
    .article-redesign-quote{
      border-left:3px solid var(--line-strong);
      background:#fff;
      padding:18px;
      font-size:21px;
      line-height:1.86;
      color:#2f2c28;
    }
    .article-redesign-facts{
      display:grid;
      gap:10px;
    }
    .article-redesign-fact{
      border:1px solid var(--line);
      background:#fff;
      padding:14px;
    }
    .article-redesign-fact b{
      display:block;
      margin-bottom:6px;
      font-size:15px;
      color:var(--muted);
      font-weight:400;
    }
    .article-redesign-fact span{
      display:block;
      font-size:16px;
      line-height:1.75;
      color:#34312d;
    }
    .article-redesign-ending{
      display:grid;
      grid-template-columns:minmax(0,1fr) minmax(260px,.34fr);
      border-bottom:1px solid var(--line);
    }
    .article-redesign-ending-copy{
      padding:clamp(28px,3.6vw,52px);
      font-size:18px;
      line-height:2.16;
    }
    .article-redesign-ending-copy p{
      margin:0 0 22px;
    }
    .article-redesign-caption{
      border-left:1px solid var(--line);
      background:#fff;
      padding:clamp(22px,2.6vw,34px);
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      gap:20px;
    }
    .article-redesign-caption strong{
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(26px,2.8vw,38px);
      line-height:1.18;
      letter-spacing:-.02em;
    }
    .article-redesign-caption span{
      color:var(--muted);
      font-size:15px;
      line-height:1.8;
    }

    @media(max-width:1100px){
      .story-final.refined-story .story-final-photo{
        height:360px;
        padding:18px;
      }
      .article-redesign-head,
      .article-redesign-main,
      .article-redesign-ending{
        grid-template-columns:1fr;
      }
      .article-redesign-lead,
      .article-redesign-rail,
      .article-redesign-caption{
        border-left:0;
        border-right:0;
        border-bottom:1px solid var(--line);
      }
      .article-redesign-columns{
        column-count:1;
      }
    }
    @media(max-width:560px){
      .story-final.refined-story .story-final-photo{
        height:260px;
        padding:14px;
      }
      .article-redesign-lead,
      .article-redesign-index,
      .article-redesign-columns,
      .article-redesign-rail,
      .article-redesign-ending-copy,
      .article-redesign-caption{
        padding:22px;
      }
    }

  
    /* Stronger newspaper headline treatment */
    .story-final.refined-story.headline-edition{
      border-top:6px double var(--line-strong);
    }
    .story-final.refined-story.headline-edition .story-final-cover{
      display:grid;
      grid-template-columns:minmax(0,1fr) 320px;
      border-top:1px solid var(--line-strong);
      border-bottom:6px double var(--line-strong);
      background:#fff;
    }
    .story-final.refined-story.headline-edition .story-final-title{
      position:relative;
      padding:clamp(30px,4.2vw,64px);
      border-right:1px solid var(--line-strong);
      background:
        linear-gradient(90deg, rgba(17,17,17,.035) 1px, transparent 1px),
        linear-gradient(rgba(17,17,17,.025) 1px, transparent 1px),
        #fff;
      background-size:44px 44px;
    }
    .story-final.refined-story.headline-edition .story-final-title::before{
      content:"FRONT PAGE REPORT";
      position:absolute;
      right:clamp(18px,2.6vw,34px);
      top:clamp(18px,2.6vw,34px);
      writing-mode:vertical-rl;
      letter-spacing:.18em;
      color:var(--muted);
      font-size:12px;
      line-height:1.4;
    }
    .story-final.refined-story.headline-edition .story-final-title .micro{
      display:inline-flex;
      align-items:center;
      gap:10px;
      margin-bottom:18px;
      padding:8px 12px;
      border:1px solid var(--line-strong);
      background:var(--ink);
      color:#fff;
      letter-spacing:.14em;
    }
    .story-final.refined-story.headline-edition .story-final-title .micro::before{
      content:"●";
      font-size:9px;
      line-height:1;
    }
    .story-final.refined-story.headline-edition .story-final-title h3{
      max-width:980px;
      margin:0;
      font-size:clamp(58px,8.2vw,128px);
      line-height:.92;
      letter-spacing:-.045em;
    }
    .story-final.refined-story.headline-edition .story-final-title p{
      max-width:920px;
      margin:clamp(24px,3vw,42px) 0 0;
      padding-top:22px;
      border-top:1px solid var(--line);
      font-size:clamp(21px,2.15vw,34px);
      line-height:1.78;
      color:#2f2b27;
    }
    .story-final.refined-story.headline-edition .story-final-meta{
      padding:0;
      background:#fff;
      display:block;
    }
    .story-final.refined-story.headline-edition .story-final-meta > div:first-child{
      padding:22px;
    }
    .story-final.refined-story.headline-edition .story-final-meta .micro{
      display:block;
      padding-bottom:14px;
      border-bottom:1px solid var(--line);
      color:var(--ink);
      font-size:14px;
      letter-spacing:.12em;
    }
    .story-final.refined-story.headline-edition .story-final-meta-list{
      margin-top:0;
      border-top:0;
    }
    .story-final.refined-story.headline-edition .story-final-meta-row{
      grid-template-columns:1fr;
      gap:4px;
      padding:15px 0;
      border-bottom:1px solid var(--line);
    }
    .story-final.refined-story.headline-edition .story-final-meta-row b{
      font-size:13px;
      letter-spacing:.08em;
    }
    .story-final.refined-story.headline-edition .story-final-meta-row span{
      font-size:17px;
      line-height:1.55;
    }
    .story-final.refined-story.headline-edition .story-final-actions{
      grid-template-columns:1fr;
      gap:0;
      padding:0;
      border-top:1px solid var(--line-strong);
    }
    .story-final.refined-story.headline-edition .story-final-actions .btn{
      border:0;
      border-bottom:1px solid var(--line);
      justify-content:center;
      min-height:54px;
    }
    .story-final.refined-story.headline-edition .story-final-actions .btn:last-child{
      border-bottom:0;
    }

    @media(max-width:1100px){
      .story-final.refined-story.headline-edition .story-final-cover{
        grid-template-columns:1fr;
      }
      .story-final.refined-story.headline-edition .story-final-title{
        border-right:0;
        border-bottom:1px solid var(--line-strong);
      }
      .story-final.refined-story.headline-edition .story-final-title::before{
        display:none;
      }
    }
    @media(max-width:560px){
      .story-final.refined-story.headline-edition .story-final-title h3{
        font-size:clamp(48px,16vw,74px);
      }
    }

  
    /* Headline story adjustment: match Hero title scale + align gray panels */
    .story-final.refined-story.headline-edition .story-final-title h3{
      font-size:clamp(46px,6.2vw,96px) !important;
      line-height:1.02;
      letter-spacing:-.03em;
      max-width:860px;
    }

    .story-final.refined-story.headline-edition .story-final-cover{
      grid-template-columns:minmax(0,1fr) 360px;
    }

    .story-final.refined-story.headline-edition .story-final-meta,
    .story-final.refined-story.headline-edition .article-redesign-index,
    .story-final.refined-story.headline-edition .article-redesign-rail{
      width:360px;
      min-width:360px;
      max-width:360px;
      box-sizing:border-box;
    }

    .story-final.refined-story.headline-edition .article-redesign-head{
      grid-template-columns:minmax(0,1fr) 360px;
    }

    .story-final.refined-story.headline-edition .article-redesign-main{
      grid-template-columns:minmax(0,1fr) 360px;
    }

    .story-final.refined-story.headline-edition .article-redesign-index,
    .story-final.refined-story.headline-edition .article-redesign-rail,
    .story-final.refined-story.headline-edition .story-final-meta{
      background:var(--soft);
    }

    @media(max-width:1100px){
      .story-final.refined-story.headline-edition .story-final-cover,
      .story-final.refined-story.headline-edition .article-redesign-head,
      .story-final.refined-story.headline-edition .article-redesign-main{
        grid-template-columns:1fr;
      }
      .story-final.refined-story.headline-edition .story-final-meta,
      .story-final.refined-story.headline-edition .article-redesign-index,
      .story-final.refined-story.headline-edition .article-redesign-rail{
        width:100%;
        min-width:0;
        max-width:none;
      }
    }

  
    /* Replace headline double-line divider with newspaper section strip */
    .story-final.refined-story.headline-edition .story-final-cover{
      border-bottom:0 !important;
    }
    .story-final.refined-story.headline-edition .story-final-cover + .story-final-content::before{
      content:"舊城街角專題　／　LOCAL REPORT　／　ISSUE 01　／　午後版";
      display:block;
      padding:12px 18px;
      border-top:1px solid var(--line);
      border-bottom:1px solid var(--line);
      background:
        linear-gradient(90deg, rgba(17,17,17,.035) 1px, transparent 1px),
        var(--soft);
      background-size:38px 38px;
      color:var(--muted);
      font-size:13px;
      letter-spacing:.16em;
      line-height:1.6;
      text-align:center;
    }
    .story-final.refined-story.headline-edition .story-final-content{
      border-top:0;
    }

  
    /* Simplify headline divider: single gray line */
    .story-final.refined-story.headline-edition .story-final-cover + .story-final-content::before{
      content:none !important;
      display:none !important;
    }
    .story-final.refined-story.headline-edition .story-final-cover + .story-final-content{
      border-top:1px solid #cfc8bd !important;
    }

  
    /* Report info divider: soften left divider line */
    .story-final.refined-story.headline-edition .story-final-title{
      border-right:1px solid #cfc8bd !important;
    }
    .story-final.refined-story.headline-edition .story-final-meta{
      border-left:0 !important;
    }

  
    /* Report info: fill the whole right container */
    .story-final.refined-story.headline-edition .story-final-meta{
      height:100%;
      display:flex !important;
      flex-direction:column;
      padding:0 !important;
    }
    .story-final.refined-story.headline-edition .story-final-meta > div:first-child{
      flex:1;
      height:100%;
      display:grid;
      grid-template-rows:auto 1fr;
      padding:22px !important;
      box-sizing:border-box;
    }
    .story-final.refined-story.headline-edition .story-final-meta .micro{
      margin:0;
    }
    .story-final.refined-story.headline-edition .story-final-meta-list{
      height:100%;
      display:grid;
      grid-template-rows:repeat(4,1fr);
      margin-top:0 !important;
      border-top:0;
    }
    .story-final.refined-story.headline-edition .story-final-meta-row{
      display:grid;
      grid-template-columns:1fr;
      align-content:center;
      gap:6px;
      min-height:0;
      padding:0;
      border-bottom:1px solid var(--line);
    }
    .story-final.refined-story.headline-edition .story-final-meta-row:last-child{
      border-bottom:0;
    }

  
    /* Ending caption block: align width with upper right columns */
    .story-final.refined-story.headline-edition .article-redesign-ending{
      grid-template-columns:minmax(0,1fr) 360px !important;
    }
    .story-final.refined-story.headline-edition .article-redesign-caption{
      width:360px;
      min-width:360px;
      max-width:360px;
      box-sizing:border-box;
    }
    @media(max-width:1100px){
      .story-final.refined-story.headline-edition .article-redesign-ending{
        grid-template-columns:1fr !important;
      }
      .story-final.refined-story.headline-edition .article-redesign-caption{
        width:100%;
        min-width:0;
        max-width:none;
      }
    }

  
    /* Route cards accordion interaction */
    .route-map-card{
      height:auto !important;
      min-height:285px;
      align-items:stretch;
    }
    .route-map-card.active::before{
      display:none;
    }
    .route-map-card.route-open{
      border-color:var(--line-strong);
      box-shadow:var(--shadow);
    }
    .route-map-card.route-open::before{
      content:"";
      position:absolute;
      left:0;
      top:0;
      bottom:0;
      width:5px;
      background:var(--ink);
      z-index:4;
      display:block;
    }
    .route-accordion{
      grid-column:1 / -1;
      display:grid;
      grid-template-rows:0fr;
      transition:grid-template-rows .34s ease;
      border-top:0 solid transparent;
      background:#fff;
      overflow:hidden;
    }
    .route-map-card.route-open .route-accordion{
      grid-template-rows:1fr;
      border-top:1px solid var(--line);
    }
    .route-accordion-inner{
      min-height:0;
      overflow:hidden;
      display:grid;
      grid-template-columns:1.05fr .95fr;
      gap:0;
    }
    .route-accordion-main{
      padding:20px;
      border-right:1px solid var(--line);
      background:
        linear-gradient(90deg, rgba(17,17,17,.035) 1px, transparent 1px),
        linear-gradient(rgba(17,17,17,.025) 1px, transparent 1px),
        #fff;
      background-size:42px 42px;
    }
    .route-accordion-main h4{
      margin:10px 0 12px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(25px,2.6vw,38px);
      line-height:1.15;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .route-accordion-main p{
      margin:0;
      color:var(--muted);
      font-size:16px;
      line-height:1.9;
    }
    .route-accordion-grid{
      padding:20px;
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
      background:var(--soft);
    }
    .route-accordion-note{
      border:1px solid var(--line);
      background:#fff;
      padding:14px;
      min-height:118px;
    }
    .route-accordion-note b{
      display:block;
      margin-bottom:6px;
      color:var(--ink);
      font-size:15px;
      line-height:1.45;
      font-weight:400;
    }
    .route-accordion-note span{
      display:block;
      color:var(--muted);
      font-size:14px;
      line-height:1.75;
    }
    .route-map-card.route-open .route-stop b{
      background:var(--ink);
      color:#fff;
    }
    .route-placeholder{
      border:1px dashed var(--line);
      background:var(--soft);
      padding:20px;
      color:var(--muted);
      font-size:15px;
      line-height:1.9;
    }
    @media(max-width:820px){
      .route-accordion-inner,
      .route-accordion-grid{
        grid-template-columns:1fr;
      }
      .route-accordion-main{
        border-right:0;
        border-bottom:1px solid var(--line);
      }
    }

  
    /* Route accordion structure fix */
    .route-map-card{
      display:block !important;
      height:auto !important;
      min-height:0 !important;
      overflow:hidden;
    }
    .route-card-preview{
      display:grid;
      grid-template-columns:minmax(240px,.74fr) 1fr;
      min-height:285px;
    }
    .route-card-preview .route-map-image{
      height:auto;
      min-height:285px;
    }
    .route-card-preview .route-map-content{
      height:auto;
      min-height:285px;
    }
    .route-accordion{
      display:grid;
      grid-template-rows:0fr;
      overflow:hidden;
      transition:grid-template-rows .34s ease;
      border-top:0;
      background:#fff;
    }
    .route-map-card.route-open .route-accordion{
      grid-template-rows:1fr;
      border-top:1px solid var(--line);
    }
    .route-accordion-inner{
      min-height:0;
      overflow:hidden;
    }
    @media(max-width:1180px){
      .route-card-preview{
        grid-template-columns:1fr;
      }
      .route-card-preview .route-map-image{
        height:260px;
        min-height:260px;
        border-right:0;
        border-bottom:1px solid var(--line);
      }
      .route-card-preview .route-map-content{
        min-height:0;
      }
    }

  
    /* Route cards equal height refinement */
    .route-layout .clipping-wall{
      align-items:start;
    }
    .route-map-card{
      height:auto !important;
      min-height:0 !important;
    }
    .route-card-preview{
      height:285px !important;
      min-height:285px !important;
      max-height:285px !important;
      display:grid !important;
      grid-template-columns:minmax(240px,.74fr) minmax(0,1fr) !important;
      overflow:hidden;
    }
    .route-card-preview .route-map-image{
      height:285px !important;
      min-height:285px !important;
      max-height:285px !important;
    }
    .route-card-preview .route-map-content{
      height:285px !important;
      min-height:285px !important;
      max-height:285px !important;
      display:grid !important;
      grid-template-columns:minmax(0,1fr) auto !important;
      grid-template-rows:minmax(0,1fr) auto !important;
      overflow:hidden;
    }
    .route-card-preview .route-map-main{
      min-width:0;
      overflow:hidden;
    }
    .route-card-preview .route-map-main h3{
      display:-webkit-box;
      -webkit-line-clamp:1;
      -webkit-box-orient:vertical;
      overflow:hidden;
    }
    .route-card-preview .route-map-main p{
      display:-webkit-box;
      -webkit-line-clamp:2;
      -webkit-box-orient:vertical;
      overflow:hidden;
    }
    .route-card-preview .route-map-stops{
      align-self:end !important;
      margin-top:0 !important;
    }
    .route-card-preview .route-map-meta{
      align-self:stretch;
    }

    @media(max-width:1180px){
      .route-card-preview{
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
        grid-template-columns:1fr !important;
      }
      .route-card-preview .route-map-image{
        height:260px !important;
        min-height:260px !important;
        max-height:260px !important;
      }
      .route-card-preview .route-map-content{
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
      }
      .route-card-preview .route-map-main h3,
      .route-card-preview .route-map-main p{
        display:block;
        overflow:visible;
        -webkit-line-clamp:unset;
      }
    }

  
    /* Masthead width aligned with main content */
    .masthead-inner{
      width:auto !important;
      max-width:var(--max) !important;
      margin:0 auto !important;
      padding-left:var(--gutter) !important;
      padding-right:var(--gutter) !important;
      box-sizing:border-box;
    }
    .topnote .ticker{
      max-width:var(--max);
      margin:0 auto;
      padding-left:var(--gutter);
      padding-right:var(--gutter);
      box-sizing:border-box;
    }

  
    /* Masthead inner spacing removed */
    .masthead-inner{
      padding-left:0 !important;
      padding-right:0 !important;
    }
    .topnote .ticker{
      padding-left:0 !important;
      padding-right:0 !important;
    }
    @media(max-width:1180px){
      .masthead-inner,
      .topnote .ticker{
        padding-left:var(--gutter) !important;
        padding-right:var(--gutter) !important;
      }
    }

  
    /* Article index merged into body */
    .story-final.refined-story.headline-edition .article-redesign-head{
      grid-template-columns:1fr !important;
    }
    .story-final.refined-story.headline-edition .article-redesign-index{
      display:none !important;
    }
    .article-redesign-section-title{
      margin:28px 0 14px !important;
      padding-top:18px;
      border-top:1px solid #cfc8bd;
      break-after:avoid;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(24px,2.3vw,34px);
      line-height:1.25;
      letter-spacing:-.02em;
      font-weight:400;
      color:var(--ink);
    }
    .article-redesign-section-title:first-of-type{
      margin-top:4px !important;
      padding-top:0;
      border-top:0;
    }

  
    /* Restore report index + remove article subhead divider lines */
    .story-final.refined-story.headline-edition .article-redesign-head{
      grid-template-columns:minmax(0,1fr) 360px !important;
    }
    .story-final.refined-story.headline-edition .article-redesign-index{
      display:block !important;
      width:360px;
      min-width:360px;
      max-width:360px;
      box-sizing:border-box;
      background:var(--soft);
    }
    .article-redesign-section-title{
      border-top:0 !important;
      padding-top:0 !important;
      margin-top:30px !important;
    }
    .article-redesign-section-title:first-child,
    .article-redesign-section-title:first-of-type{
      margin-top:0 !important;
    }
    @media(max-width:1100px){
      .story-final.refined-story.headline-edition .article-redesign-head{
        grid-template-columns:1fr !important;
      }
      .story-final.refined-story.headline-edition .article-redesign-index{
        width:100%;
        min-width:0;
        max-width:none;
      }
    }

  
    /* Remove clipping buttons: single action layout */
    .reader-tools.single-action,
    .tool-modal-actions.single-action{
      grid-template-columns:1fr !important;
    }
    .reader-tools.single-action .btn,
    .tool-modal-actions.single-action .btn{
      width:100%;
    }

  
    /* Hero city play box: replaces duplicated instant reader */
    .hero-playbox{
      align-self:stretch;
      height:100%;
      min-height:0;
      border:1px solid var(--line);
      background:#fff;
      display:grid;
      grid-template-rows:auto auto 1fr;
      overflow:hidden;
    }
    .hero-playbox-head{
      padding:22px;
      border-bottom:1px solid var(--line);
      background:
        linear-gradient(90deg, rgba(17,17,17,.035) 1px, transparent 1px),
        linear-gradient(rgba(17,17,17,.025) 1px, transparent 1px),
        #fff;
      background-size:42px 42px;
    }
    .hero-playbox-head h3{
      margin:10px 0 0;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(28px,3vw,44px);
      line-height:1.08;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .hero-playbox-intro{
      padding:18px 22px;
      border-bottom:1px solid var(--line);
      color:var(--muted);
      font-size:16px;
      line-height:1.9;
      margin:0;
    }
    .hero-playbox-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:0;
      min-height:0;
    }
    .hero-play-card{
      min-height:168px;
      padding:18px;
      border:0;
      border-right:1px solid var(--line);
      border-bottom:1px solid var(--line);
      background:#fff;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      gap:18px;
      cursor:pointer;
      transition:.22s ease;
      text-align:left;
      color:var(--ink);
      font-family:inherit;
    }
    .hero-play-card:nth-child(2n){
      border-right:0;
    }
    .hero-play-card:hover{
      background:var(--soft);
      transform:translateY(-2px);
    }
    .hero-play-card strong{
      display:block;
      margin-top:8px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(22px,2.2vw,32px);
      line-height:1.16;
      letter-spacing:-.02em;
      font-weight:400;
      color:var(--ink);
    }
    .hero-play-card span:not(.micro){
      display:block;
      color:var(--muted);
      font-size:14px;
      line-height:1.75;
    }
    .hero-play-card em{
      width:30px;
      height:30px;
      border:1px solid var(--line);
      display:grid;
      place-items:center;
      font-style:normal;
      background:#fff;
      margin-left:auto;
      transition:.22s ease;
    }
    .hero-play-card:hover em{
      background:var(--ink);
      color:#fff;
    }
    .hero-play-result{
      grid-column:1 / -1;
      padding:18px 22px;
      background:var(--soft);
      border-top:1px solid var(--line);
      display:grid;
      grid-template-columns:1fr auto;
      gap:18px;
      align-items:center;
    }
    .hero-play-result p{
      margin:0;
      color:#332f2a;
      font-size:16px;
      line-height:1.85;
    }
    .hero-play-result button{
      white-space:nowrap;
    }
    @media(max-width:1180px){
      .hero-playbox{
        height:auto;
      }
    }
    @media(max-width:560px){
      .hero-playbox-grid,
      .hero-play-result{
        grid-template-columns:1fr;
      }
      .hero-play-card{
        border-right:0;
      }
    }

  
    /* Full front-page popup: archive-style reading page */
    .frontpage-modal-page{
      display:grid;
      grid-template-columns:minmax(0,1.08fr) minmax(320px,.48fr);
      min-height:720px;
      background:#fff;
    }
    .frontpage-modal-main{
      min-width:0;
      border-right:1px solid var(--line);
    }
    .frontpage-modal-hero{
      display:grid;
      grid-template-columns:1fr;
      border-bottom:1px solid var(--line);
      background:
        linear-gradient(90deg, rgba(17,17,17,.035) 1px, transparent 1px),
        linear-gradient(rgba(17,17,17,.025) 1px, transparent 1px),
        #fff;
      background-size:46px 46px;
    }
    .frontpage-modal-image{
      margin:0;
      height:clamp(300px,38vw,500px);
      border-bottom:1px solid var(--line);
      overflow:hidden;
      background:var(--soft);
    }
    .frontpage-modal-image img{
      width:100%;
      height:100%;
      object-fit:cover;
      filter:grayscale(.06) contrast(1.04) saturate(.9);
      display:block;
    }
    .frontpage-modal-title{
      padding:clamp(28px,4vw,58px);
    }
    .frontpage-modal-title h3{
      margin:14px 0 0;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(42px,5.5vw,84px);
      line-height:1.02;
      letter-spacing:-.025em;
      font-weight:400;
    }
    .frontpage-modal-title p{
      margin:28px 0 0;
      max-width:820px;
      color:#33302b;
      font-size:clamp(20px,2vw,30px);
      line-height:1.85;
      letter-spacing:-.01em;
    }
    .frontpage-modal-body{
      display:grid;
      grid-template-columns:minmax(0,1fr) 280px;
      border-bottom:1px solid var(--line);
    }
    .frontpage-modal-longread{
      padding:clamp(26px,3.4vw,48px);
      border-right:1px solid var(--line);
      color:#37332f;
      font-size:18px;
      line-height:2.15;
      letter-spacing:.01em;
    }
    .frontpage-modal-longread p{
      margin:0 0 22px;
    }
    .frontpage-modal-longread p:first-child::first-letter{
      float:left;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:72px;
      line-height:.9;
      padding-right:10px;
      color:var(--ink);
    }
    .frontpage-modal-rail{
      padding:24px;
      background:var(--soft);
    }
    .frontpage-modal-rail h4,
    .frontpage-modal-side h4{
      margin:10px 0 16px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:28px;
      line-height:1.16;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .frontpage-modal-facts{
      display:grid;
      border-top:1px solid var(--line);
    }
    .frontpage-modal-fact{
      display:grid;
      grid-template-columns:74px 1fr;
      gap:12px;
      padding:12px 0;
      border-bottom:1px solid var(--line);
      font-size:15px;
      line-height:1.7;
    }
    .frontpage-modal-fact b{
      color:var(--muted);
      font-weight:400;
    }
    .frontpage-modal-chapters{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      border-top:1px solid var(--line);
      background:#fff;
    }
    .frontpage-modal-chapter{
      padding:20px;
      min-height:170px;
      border-right:1px solid var(--line);
    }
    .frontpage-modal-chapter:last-child{
      border-right:0;
    }
    .frontpage-modal-chapter h4{
      margin:10px 0 8px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:24px;
      line-height:1.18;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .frontpage-modal-chapter p{
      margin:0;
      color:var(--muted);
      font-size:15px;
      line-height:1.8;
    }
    .frontpage-modal-side{
      display:flex;
      flex-direction:column;
      background:#fff;
      min-width:0;
    }
    .frontpage-side-block{
      padding:24px;
      border-bottom:1px solid var(--line);
    }
    .frontpage-quote{
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(26px,3vw,42px);
      line-height:1.55;
      letter-spacing:-.02em;
      color:var(--ink);
    }
    .frontpage-quote::before{
      content:"“";
      display:block;
      font-size:54px;
      line-height:.7;
      color:var(--muted);
    }
    .frontpage-modal-index{
      display:grid;
      gap:10px;
      margin-top:16px;
    }
    .frontpage-index-item{
      display:grid;
      grid-template-columns:32px 1fr;
      gap:10px;
      align-items:center;
      font-size:15px;
      line-height:1.6;
    }
    .frontpage-index-item b{
      width:32px;
      height:32px;
      border:1px solid var(--line);
      background:#fff;
      display:grid;
      place-items:center;
      font-weight:400;
    }
    .frontpage-modal-tags{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:16px;
    }
    .frontpage-modal-tags span{
      border:1px solid var(--line);
      background:#fff;
      padding:8px 10px;
      font-size:14px;
    }
    @media(max-width:960px){
      .frontpage-modal-page,
      .frontpage-modal-body,
      .frontpage-modal-chapters{
        grid-template-columns:1fr;
      }
      .frontpage-modal-main,
      .frontpage-modal-longread,
      .frontpage-modal-chapter{
        border-right:0;
      }
      .frontpage-modal-longread,
      .frontpage-modal-chapter{
        border-bottom:1px solid var(--line);
      }
    }

  
    /* Front page popup unified with archive-ticket popup */
    .frontpage-as-archive .archive-large-image{
      height:clamp(280px,36vw,480px);
    }
    .frontpage-as-archive .archive-context-panel{
      grid-template-columns:1fr 1fr 1fr;
    }
    .frontpage-as-archive .archive-context-card{
      min-height:230px;
    }
    .frontpage-as-archive .archive-context-card p{
      margin:0;
      color:var(--muted);
      font-size:16px;
      line-height:1.9;
    }
    .frontpage-as-archive .frontpage-mini-list{
      display:grid;
      gap:10px;
      margin-top:auto;
    }
    .frontpage-as-archive .frontpage-mini-item{
      display:grid;
      grid-template-columns:34px 1fr;
      gap:12px;
      align-items:center;
      padding-bottom:10px;
      border-bottom:1px solid var(--line);
      font-size:16px;
      line-height:1.6;
    }
    .frontpage-as-archive .frontpage-mini-item:last-child{
      border-bottom:0;
      padding-bottom:0;
    }
    .frontpage-as-archive .frontpage-mini-item b{
      width:34px;
      height:34px;
      display:grid;
      place-items:center;
      border:1px solid var(--line-strong);
      background:#fff;
      font-weight:400;
    }
    @media(max-width:820px){
      .frontpage-as-archive .archive-context-panel{
        grid-template-columns:1fr;
      }
    }

  
    /* Hero CTA cleanup after removing secondary buttons */
    #front .lead-actions{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
    }

  
    /* Editorial red stamp accent system */
    :root{
      --editor-red: var(--red);
      --editor-red-soft: rgba(170, 47, 39, .08);
      --editor-red-line: rgba(170, 47, 39, .34);
    }

    .red-stamp,
    .accent-red{
      color:var(--editor-red) !important;
    }

    .red-chip{
      color:var(--editor-red) !important;
      border-color:var(--editor-red-line) !important;
      background:var(--editor-red-soft) !important;
    }

    .headline-kicker .micro:nth-child(2){
      color:var(--editor-red) !important;
      border-color:var(--editor-red-line);
      background:var(--editor-red-soft);
      padding:6px 9px;
    }

    .masthead-label,
    .masthead-issue,
    .masthead-status dd:first-of-type,
    .reader-ad-heading .micro:last-child,
    .route-map-badge,
    .archive-ticket .micro,
    .footer-tags span:nth-child(1),
    .footer-tags span:nth-child(3),
    .footer-tags span:nth-child(8){
      color:var(--editor-red) !important;
    }

    .masthead-issue,
    .route-map-badge,
    .reader-ad-heading .micro:last-child{
      border-color:var(--editor-red-line) !important;
      background:var(--editor-red-soft) !important;
    }

    .hero-play-card:hover .micro,
    .hero-play-card:focus-visible .micro,
    .route-map-card.route-open .route-map-main .micro,
    .route-map-card.route-open .route-accordion-main .micro,
    .archive-ticket:hover .micro,
    .footer-editor-btn:hover strong{
      color:var(--editor-red) !important;
    }

    .route-map-card.route-open::before{
      background:var(--editor-red) !important;
    }

    .route-tab.active{
      border-color:var(--editor-red-line) !important;
      background:var(--editor-red-soft) !important;
    }

    .route-tab.active strong,
    .route-tab.active span{
      color:var(--editor-red) !important;
    }

    .archive-ticket:hover{
      border-color:var(--editor-red-line) !important;
    }

    .archive-keyword-cloud span:nth-child(1),
    .archive-keyword-cloud span:nth-child(3),
    .frontpage-as-archive .archive-keyword-cloud span:nth-child(1),
    .frontpage-as-archive .archive-keyword-cloud span:nth-child(4){
      color:var(--editor-red);
      border-color:var(--editor-red-line);
      background:var(--editor-red-soft);
    }

    .frontpage-as-archive .archive-context-card:first-child .micro,
    .frontpage-as-archive .archive-detail-rail .micro,
    .frontpage-as-archive .archive-large-title .micro{
      color:var(--editor-red) !important;
    }

    .story-final.refined-story.headline-edition .story-final-title .micro,
    .story-final.refined-story.headline-edition .article-redesign-index .micro,
    .story-final.refined-story.headline-edition .article-redesign-rail .micro{
      color:var(--editor-red) !important;
    }

    .story-final.refined-story.headline-edition .story-final-title .micro{
      border-color:var(--editor-red-line) !important;
      background:var(--editor-red-soft) !important;
    }

    .btn.fill{
      position:relative;
    }

    .btn.fill::before{
      content:"";
      width:6px;
      height:6px;
      border-radius:999px;
      background:var(--editor-red);
      margin-right:2px;
      display:inline-block;
      vertical-align:middle;
    }

    .modal.archive-modal-open .modal-top .micro{
      color:var(--editor-red) !important;
    }

  
    /* Hero interaction edition: single full-height image */
    #front .lead-layout{
      align-items:stretch !important;
    }
    #front .lead-photo-wrap{
      height:100% !important;
      min-height:100% !important;
      display:flex !important;
      flex-direction:column !important;
    }
    #front .lead-photo{
      flex:1 1 auto !important;
      height:100% !important;
      min-height:100% !important;
      display:block !important;
      overflow:hidden !important;
    }
    #front .lead-photo img{
      width:100% !important;
      height:100% !important;
      object-fit:cover !important;
      display:block !important;
    }
    #front .photo-picker{
      display:none !important;
    }
    @media(max-width:1180px){
      #front .lead-photo{
        height:420px !important;
        min-height:420px !important;
      }
    }
    @media(max-width:560px){
      #front .lead-photo{
        height:300px !important;
        min-height:300px !important;
      }
    }

  
    /* Remove red dot from main front-page CTA only */
    #front .lead-actions .btn.fill::before{
      display:none !important;
      content:none !important;
    }

  
    /* Route image badge: translucent white label */
    .route-map-badge{
      background:rgba(255,255,255,.6) !important;
      border-color:rgba(255,255,255,.78) !important;
      color:var(--ink) !important;
      backdrop-filter:blur(10px);
      -webkit-backdrop-filter:blur(10px);
    }

  
    /* Modal scroll lock: prevent background page from scrolling */
    body.modal-scroll-locked{
      overflow:hidden !important;
      width:100%;
    }
    .modal.open{
      overscroll-behavior:contain;
    }
    .modal.open .modal-card{
      overscroll-behavior:contain;
    }

  
    /* Enriched top-note marquee */
    .top-note{
      background:#171512 !important;
      border-bottom:1px solid var(--line-strong);
    }
    .top-note-track{
      gap:72px !important;
      padding:10px 0 !important;
      animation:ticker 56s linear infinite !important;
    }
    .top-note:hover .top-note-track{
      animation-play-state:paused;
    }
    .top-note-track span{
      position:relative;
      color:rgba(255,255,255,.92);
      text-transform:none;
    }
    .top-note-track span::before{
      content:"ISSUE 01";
      color:var(--editor-red, var(--red));
      border:1px solid rgba(255,255,255,.28);
      background:rgba(255,255,255,.08);
      padding:3px 7px;
      margin:0 14px 0 0;
      letter-spacing:.12em;
    }

  
    /* Route wind progress animation */
    .route-map-stops{
      position:relative;
    }
    .route-stop{
      position:relative;
      overflow:hidden;
      transition:
        background .34s ease,
        color .34s ease,
        border-color .34s ease,
        transform .34s ease;
    }
    .route-stop::after{
      content:"";
      position:absolute;
      inset:-1px;
      background:linear-gradient(90deg, transparent, rgba(255,255,255,.42), transparent);
      transform:translateX(-115%);
      opacity:0;
      pointer-events:none;
    }
    .route-stop.is-complete{
      background:var(--ink);
      color:#fff;
      border-color:var(--ink);
      transform:translateY(-1px);
    }
    .route-stop.is-complete b{
      background:#fff !important;
      color:var(--ink) !important;
      border-color:#fff !important;
    }
    .route-stop.is-complete::after{
      opacity:1;
      animation:windSweep .66s ease forwards;
    }

    .route-step{
      position:relative;
      overflow:hidden;
      transition:
        background .34s ease,
        color .34s ease,
        border-color .34s ease,
        transform .34s ease;
    }
    .route-step::after{
      content:"";
      position:absolute;
      inset:-1px;
      background:linear-gradient(90deg, transparent, rgba(255,255,255,.42), transparent);
      transform:translateX(-115%);
      opacity:0;
      pointer-events:none;
    }
    .route-step.is-complete{
      background:var(--ink);
      color:#fff;
      border-color:var(--ink);
      transform:translateY(-1px);
    }
    .route-step.is-complete b{
      background:#fff !important;
      color:var(--ink) !important;
      border-color:#fff !important;
    }
    .route-step.is-complete span{
      color:#fff;
    }
    .route-step.is-complete::after{
      opacity:1;
      animation:windSweep .66s ease forwards;
    }

    @keyframes windSweep{
      0%{ transform:translateX(-115%); opacity:0; }
      18%{ opacity:1; }
      100%{ transform:translateX(115%); opacity:0; }
    }

  
    /* Route progress override: no instant b-only active state */
    .route-map-card.route-open .route-stop b{
      background:transparent;
      color:inherit;
    }
    .route-map-card.route-open .route-stop.is-complete b{
      background:#fff !important;
      color:var(--ink) !important;
    }

  
    /* Route wind progress v2: only number square turns black */
    .route-stop.is-complete,
    .route-step.is-complete{
      background:transparent !important;
      color:inherit !important;
      border-color:var(--line) !important;
      transform:none !important;
    }

    .route-stop.is-complete span,
    .route-step.is-complete span{
      color:inherit !important;
    }

    .route-stop::after,
    .route-step::after{
      display:none !important;
    }

    .route-stop b,
    .route-step b{
      position:relative;
      overflow:hidden;
      transition:
        background .34s ease,
        color .34s ease,
        border-color .34s ease,
        transform .34s ease;
    }

    .route-stop b::after,
    .route-step b::after{
      content:"";
      position:absolute;
      inset:-1px;
      background:linear-gradient(90deg, transparent, rgba(255,255,255,.58), transparent);
      transform:translateX(-115%);
      opacity:0;
      pointer-events:none;
    }

    .route-stop.is-complete b,
    .route-step.is-complete b{
      background:var(--ink) !important;
      color:#fff !important;
      border-color:var(--ink) !important;
      transform:translateY(-1px);
    }

    .route-stop.is-complete b::after,
    .route-step.is-complete b::after{
      opacity:1;
      animation:windSweep .66s ease forwards;
    }

    .route-map-card.route-open .route-stop b{
      background:transparent !important;
      color:inherit !important;
    }

    .route-map-card.route-open .route-stop.is-complete b{
      background:var(--ink) !important;
      color:#fff !important;
      border-color:var(--ink) !important;
    }

  
    /* Route progress v3: number box fills black from left to right, no white sheen */
    .route-stop b,
    .route-step b{
      position:relative;
      overflow:hidden;
      isolation:isolate;
    }

    .route-stop b::after,
    .route-step b::after{
      display:none !important;
      content:none !important;
    }

    .route-stop b::before,
    .route-step b::before{
      content:"";
      position:absolute;
      inset:0;
      background:var(--ink);
      transform:scaleX(0);
      transform-origin:left center;
      z-index:-1;
      pointer-events:none;
    }

    .route-stop.is-complete b,
    .route-step.is-complete b{
      background:transparent !important;
      color:#fff !important;
      border-color:var(--ink) !important;
      transform:translateY(-1px);
    }

    .route-stop.is-complete b::before,
    .route-step.is-complete b::before{
      animation:numberBoxFillLeft .48s cubic-bezier(.2,.72,.22,1) forwards;
    }

    @keyframes numberBoxFillLeft{
      from{ transform:scaleX(0); }
      to{ transform:scaleX(1); }
    }

  
    /* Remove all red dots from buttons */
    .btn::before,
    .btn.fill::before,
    button.btn::before,
    a.btn::before,
    .lead-actions .btn::before,
    .tool-modal-actions .btn::before,
    .archive-large-actions .btn::before,
    .reader-tools .btn::before{
      display:none !important;
      content:none !important;
      width:0 !important;
      height:0 !important;
      margin:0 !important;
    }

  
    /* Top marquee: remove red accent, make marker white */
    .top-note-track span::before{
      color:#fff !important;
      border-color:rgba(255,255,255,.38) !important;
      background:rgba(255,255,255,.1) !important;
    }

  
    /* Reading list popup enrichment */
    .modal.reading-list-modal-open .modal-card{
      width:min(1080px, calc(100vw - 36px));
    }
    .reading-list-popup{
      display:grid;
      grid-template-columns:minmax(0,1.1fr) minmax(280px,.55fr);
      gap:18px;
      margin:18px 0 22px;
      align-items:start;
    }
    .reading-list-main,
    .reading-list-side{
      display:grid;
      gap:14px;
      min-width:0;
    }
    .reading-list-hero{
      border:1px solid var(--line);
      background:
        linear-gradient(90deg, rgba(17,17,17,.035) 1px, transparent 1px),
        linear-gradient(rgba(17,17,17,.025) 1px, transparent 1px),
        #fff;
      background-size:42px 42px;
      padding:20px;
    }
    .reading-list-hero h4{
      margin:10px 0 12px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(28px,3vw,42px);
      line-height:1.12;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .reading-list-hero p{
      margin:0;
      color:var(--muted);
      font-size:17px;
      line-height:1.9;
    }
    .reading-recommend-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:10px;
    }
    .reading-recommend-card{
      border:1px solid var(--line);
      background:#fff;
      padding:14px;
      min-height:156px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      gap:14px;
      cursor:pointer;
      text-align:left;
      font-family:inherit;
      color:var(--ink);
      transition:.22s ease;
    }
    .reading-recommend-card:hover{
      transform:translateY(-2px);
      background:var(--soft);
      border-color:var(--line-strong);
    }
    .reading-recommend-card strong{
      display:block;
      margin:8px 0 6px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:22px;
      line-height:1.18;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .reading-recommend-card span:not(.micro){
      display:block;
      color:var(--muted);
      font-size:14px;
      line-height:1.7;
    }
    .reading-list-section{
      border:1px solid var(--line);
      background:#fff;
      padding:16px;
    }
    .reading-list-section h4{
      margin:10px 0 12px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:26px;
      line-height:1.18;
      font-weight:400;
    }
    .modal-clipping-list.rich{
      display:grid;
      gap:10px;
      min-height:0;
    }
    .reading-empty-grid{
      display:grid;
      gap:10px;
    }
    .reading-empty-card,
    .modal-clipping-list .clipping-item{
      border:1px solid var(--line);
      background:var(--soft);
      padding:13px 14px;
      display:grid;
      grid-template-columns:1fr auto;
      gap:12px;
      align-items:center;
    }
    .reading-empty-card strong,
    .modal-clipping-list .clipping-item span{
      color:var(--ink);
      font-size:16px;
      line-height:1.55;
      font-weight:400;
    }
    .reading-empty-card small{
      display:block;
      margin-top:4px;
      color:var(--muted);
      font-size:14px;
      line-height:1.55;
    }
    .reading-empty-card em{
      width:28px;
      height:28px;
      display:grid;
      place-items:center;
      border:1px solid var(--line);
      background:#fff;
      font-style:normal;
    }
    .reading-route-list{
      display:grid;
      gap:8px;
    }
    .reading-route-item{
      border-bottom:1px solid var(--line);
      padding:0 0 10px;
      display:grid;
      grid-template-columns:34px 1fr;
      gap:10px;
      align-items:start;
    }
    .reading-route-item:last-child{
      border-bottom:0;
      padding-bottom:0;
    }
    .reading-route-item b{
      width:34px;
      height:34px;
      border:1px solid var(--line-strong);
      background:#fff;
      display:grid;
      place-items:center;
      font-weight:400;
    }
    .reading-route-item span{
      color:var(--muted);
      font-size:15px;
      line-height:1.75;
    }
    .reading-task-list{
      display:grid;
      gap:8px;
    }
    .reading-task-list label{
      display:grid;
      grid-template-columns:auto 1fr;
      gap:10px;
      align-items:start;
      border:1px solid var(--line);
      background:var(--soft);
      padding:11px 12px;
      cursor:pointer;
    }
    .reading-task-list input{
      width:17px;
      height:17px;
      margin-top:4px;
      accent-color:var(--ink);
    }
    .reading-task-list span{
      color:var(--muted);
      font-size:15px;
      line-height:1.7;
    }
    .reading-task-list label.done span{
      color:var(--ink);
      text-decoration:line-through;
      text-decoration-color:var(--line);
    }
    @media(max-width:900px){
      .reading-list-popup,
      .reading-recommend-grid{
        grid-template-columns:1fr;
      }
    }

  
    /* Hero playbox: two-line hint presentation */
    .hero-play-result p{
      display:grid;
      gap:5px;
    }
    .hero-play-result .hint-title{
      display:block;
      color:var(--ink);
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:20px;
      line-height:1.35;
      letter-spacing:-.01em;
      font-weight:400;
    }
    .hero-play-result .hint-body{
      display:block;
      color:var(--muted);
      font-size:15px;
      line-height:1.7;
    }

  
    /* Hero play cards: static info cards, no hover effects or arrows */
    .hero-play-card{
      cursor:pointer;
      transform:none !important;
    }
    .hero-play-card:hover,
    .hero-play-card:focus,
    .hero-play-card:focus-visible{
      background:#fff !important;
      transform:none !important;
      border-color:var(--line) !important;
      outline:none;
    }
    .hero-play-card:hover .micro,
    .hero-play-card:focus-visible .micro{
      color:inherit !important;
    }
    .hero-play-card em{
      display:none !important;
    }

  
    /* Hero play cards: display-only cards, hint changes only by button */
    .hero-play-card{
      cursor:default !important;
      pointer-events:none;
    }
    .hero-play-card strong{
      margin-top:0 !important;
    }
    .hero-play-card:hover,
    .hero-play-card:focus,
    .hero-play-card:focus-visible{
      background:#fff !important;
      transform:none !important;
      border-color:var(--line) !important;
      outline:none !important;
    }

  
    /* Essay redesign: wind feature */
    .wind-essay{
      border:1px solid var(--line);
      background:#fff;
      display:grid;
      grid-template-columns:minmax(0,1.1fr) minmax(280px,.48fr);
      overflow:hidden;
    }
    .wind-essay-main{
      min-width:0;
      border-right:1px solid var(--line);
    }
    .wind-essay-cover{
      padding:clamp(30px,4vw,58px);
      border-bottom:1px solid var(--line);
      background:
        linear-gradient(90deg, rgba(17,17,17,.035) 1px, transparent 1px),
        linear-gradient(rgba(17,17,17,.025) 1px, transparent 1px),
        #fff;
      background-size:46px 46px;
    }
    .wind-essay-cover h3{
      margin:12px 0 18px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(44px,5.8vw,92px);
      line-height:1.02;
      letter-spacing:-.035em;
      font-weight:400;
      max-width:900px;
    }
    .wind-essay-cover p{
      margin:0;
      max-width:860px;
      color:#34312d;
      font-size:clamp(20px,2vw,30px);
      line-height:1.86;
      letter-spacing:-.01em;
    }
    .wind-essay-body{
      display:grid;
      grid-template-columns:minmax(0,1fr) 260px;
      border-bottom:1px solid var(--line);
    }
    .wind-essay-article{
      padding:clamp(28px,3.8vw,54px);
      border-right:1px solid var(--line);
      column-count:2;
      column-gap:44px;
      column-rule:1px solid var(--line);
      color:#36322e;
      font-size:18px;
      line-height:2.12;
      letter-spacing:.01em;
    }
    .wind-essay-article p{
      margin:0 0 24px;
      break-inside:avoid;
    }
    .wind-essay-article p:first-child::first-letter{
      float:left;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:76px;
      line-height:.86;
      padding:9px 10px 0 0;
      color:var(--ink);
    }
    .wind-essay-article h4{
      margin:6px 0 14px;
      break-after:avoid;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:28px;
      line-height:1.25;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .wind-essay-note{
      padding:24px;
      background:var(--soft);
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      gap:18px;
    }
    .wind-essay-note h4{
      margin:10px 0 12px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:28px;
      line-height:1.18;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .wind-essay-note p{
      margin:0;
      color:var(--muted);
      font-size:16px;
      line-height:1.86;
    }
    .wind-essay-quote{
      border-left:3px solid var(--line-strong);
      background:#fff;
      padding:16px;
      font-size:20px;
      line-height:1.8;
      color:var(--ink);
    }
    .wind-benefits{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      border-top:1px solid var(--line);
      background:#fff;
    }
    .wind-benefit-card{
      padding:20px;
      min-height:210px;
      border-right:1px solid var(--line);
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      gap:18px;
    }
    .wind-benefit-card:last-child{
      border-right:0;
    }
    .wind-benefit-card b{
      width:36px;
      height:36px;
      border:1px solid var(--line-strong);
      display:grid;
      place-items:center;
      font-weight:400;
      background:#fff;
    }
    .wind-benefit-card h4{
      margin:0 0 8px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:24px;
      line-height:1.18;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .wind-benefit-card p{
      margin:0;
      color:var(--muted);
      font-size:15px;
      line-height:1.78;
    }
    .wind-essay-side{
      display:grid;
      grid-template-rows:auto auto 1fr;
      min-width:0;
      background:#fff;
    }
    .wind-index-block{
      padding:24px;
      border-bottom:1px solid var(--line);
    }
    .wind-index-block h4{
      margin:10px 0 16px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:30px;
      line-height:1.16;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .wind-index-list{
      display:grid;
      border-top:1px solid var(--line);
    }
    .wind-index-row{
      display:grid;
      grid-template-columns:86px 1fr;
      gap:12px;
      padding:12px 0;
      border-bottom:1px solid var(--line);
      font-size:15px;
      line-height:1.65;
    }
    .wind-index-row b{
      color:var(--muted);
      font-weight:400;
    }
    .wind-tags{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:16px;
    }
    .wind-tags span{
      border:1px solid var(--line);
      background:var(--soft);
      padding:8px 10px;
      font-size:14px;
      color:var(--muted);
    }
    .wind-mini-map{
      padding:24px;
      background:var(--soft);
    }
    .wind-mini-map h4{
      margin:10px 0 16px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:28px;
      line-height:1.18;
      font-weight:400;
    }
    .wind-mini-map ol{
      list-style:none;
      margin:0;
      padding:0;
      display:grid;
      gap:10px;
    }
    .wind-mini-map li{
      display:grid;
      grid-template-columns:34px 1fr;
      gap:10px;
      align-items:start;
    }
    .wind-mini-map li b{
      width:34px;
      height:34px;
      border:1px solid var(--line-strong);
      display:grid;
      place-items:center;
      background:#fff;
      font-weight:400;
    }
    .wind-mini-map li span{
      color:var(--muted);
      font-size:15px;
      line-height:1.75;
    }
    @media(max-width:1100px){
      .wind-essay,
      .wind-essay-body,
      .wind-benefits{
        grid-template-columns:1fr;
      }
      .wind-essay-main,
      .wind-essay-article,
      .wind-benefit-card{
        border-right:0;
      }
      .wind-essay-article,
      .wind-benefit-card{
        border-bottom:1px solid var(--line);
      }
      .wind-essay-article{
        column-count:1;
      }
    }

  
    /* Wind path closing quote */
    .wind-path-closing{
      margin-top:22px;
      padding-top:20px;
      border-top:1px solid var(--line);
    }
    .wind-path-closing h4{
      margin:10px 0 10px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:28px;
      line-height:1.22;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .wind-path-closing p{
      margin:0;
      color:var(--muted);
      font-size:16px;
      line-height:1.9;
    }

  
    /* Wind path final quote */
    .wind-path-final-quote{
      margin-top:18px;
      padding:16px;
      border-left:3px solid var(--line-strong);
      background:#fff;
      color:var(--ink);
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:22px;
      line-height:1.7;
      letter-spacing:-.01em;
      font-weight:400;
    }

  
    /* Wind essay top blocks height alignment */
    .wind-essay-cover,
    .wind-index-block{
      min-height:clamp(430px, 38vw, 540px);
      box-sizing:border-box;
    }
    .wind-essay-cover{
      display:flex;
      flex-direction:column;
      justify-content:center;
    }
    .wind-index-block{
      display:flex;
      flex-direction:column;
      justify-content:center;
    }
    @media(max-width:1100px){
      .wind-essay-cover,
      .wind-index-block{
        min-height:0;
      }
      .wind-essay-cover,
      .wind-index-block{
        justify-content:flex-start;
      }
    }

  
    /* Wind path block full-height refinement */
    .wind-essay-side{
      grid-template-rows:auto minmax(0,1fr) !important;
      align-items:stretch !important;
    }
    .wind-mini-map{
      height:100% !important;
      min-height:100% !important;
      box-sizing:border-box;
      display:flex !important;
      flex-direction:column !important;
    }
    .wind-mini-map ol{
      flex:0 0 auto;
    }
    .wind-path-closing{
      margin-top:auto !important;
    }
    .wind-path-final-quote{
      margin-top:18px;
    }
    @media(max-width:1100px){
      .wind-essay-side{
        grid-template-rows:auto !important;
      }
      .wind-mini-map{
        height:auto !important;
        min-height:0 !important;
      }
      .wind-path-closing{
        margin-top:22px !important;
      }
    }

  
    /* Wind essay body aligned with headline article layout */
    .wind-essay-body{
      display:grid !important;
      grid-template-columns:minmax(0,1fr) minmax(260px,.34fr) !important;
      border-bottom:1px solid var(--line) !important;
    }
    .wind-essay-article{
      padding:clamp(30px,4vw,62px) !important;
      column-count:2 !important;
      column-gap:46px !important;
      column-rule:1px solid var(--line) !important;
      font-size:18px !important;
      line-height:2.16 !important;
      letter-spacing:.01em !important;
      color:#36322e !important;
      border-right:0 !important;
    }
    .wind-essay-article p{
      margin:0 0 24px !important;
      break-inside:avoid;
    }
    .wind-essay-article p:first-child::first-letter{
      float:left;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:78px !important;
      line-height:.88 !important;
      padding:8px 10px 0 0 !important;
      color:var(--ink) !important;
    }
    .wind-essay-article h4{
      margin:4px 0 16px !important;
      break-after:avoid;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:26px !important;
      line-height:1.25 !important;
      letter-spacing:-.02em !important;
      font-weight:400 !important;
      color:var(--ink) !important;
    }
    .wind-article-rail{
      border-left:1px solid var(--line) !important;
      border-bottom:0 !important;
      min-width:0;
    }
    @media(max-width:1100px){
      .wind-essay-body{
        grid-template-columns:1fr !important;
      }
      .wind-essay-article{
        column-count:1 !important;
        border-bottom:1px solid var(--line);
      }
      .wind-article-rail{
        border-left:0 !important;
      }
    }
    @media(max-width:560px){
      .wind-essay-article,
      .wind-article-rail{
        padding:22px !important;
      }
    }

  
    /* Wind essay article full width after removing side rail */
    .wind-essay-body{
      grid-template-columns:1fr !important;
    }
    .wind-essay-article{
      width:100% !important;
      border-right:0 !important;
    }
    .wind-article-rail{
      display:none !important;
    }

  
    /* Large newspaper headline scale-down */
    .headline{
      font-size:clamp(48px,7.2vw,104px) !important;
      line-height:.98 !important;
      letter-spacing:-.045em !important;
    }

    .story-final.refined-story.headline-edition .story-final-title h3{
      font-size:clamp(46px,6.4vw,96px) !important;
      line-height:.98 !important;
      letter-spacing:-.04em !important;
    }

    .wind-essay-cover h3{
      font-size:clamp(38px,4.8vw,72px) !important;
      line-height:1.06 !important;
      letter-spacing:-.032em !important;
    }

    .archive-large-title h3,
    .frontpage-as-archive .archive-large-title h3{
      font-size:clamp(38px,4.6vw,70px) !important;
      line-height:1.06 !important;
      letter-spacing:-.032em !important;
    }

    .modal-card > h3,
    #modalTitle{
      font-size:clamp(32px,4vw,58px) !important;
      line-height:1.08 !important;
      letter-spacing:-.025em !important;
    }

    @media(max-width:560px){
      .headline{
        font-size:38px !important;
        line-height:1.05 !important;
      }
      .story-final.refined-story.headline-edition .story-final-title h3,
      .wind-essay-cover h3,
      .archive-large-title h3,
      .frontpage-as-archive .archive-large-title h3{
        font-size:34px !important;
        line-height:1.12 !important;
      }
      .modal-card > h3,
      #modalTitle{
        font-size:30px !important;
      }
    }

  
    /* Wind benefits section removed: spacing cleanup */
    .wind-essay-main{
      display:flex;
      flex-direction:column;
    }
    .wind-essay-body{
      border-bottom:0 !important;
      flex:1 1 auto;
    }

    /* Hero CTA bottom spacing */
    #front .lead-actions{
      margin-bottom:clamp(26px, 3vw, 44px) !important;
    }

  
    /* Tag labels back to black */
    .footer-tags span,
    .archive-keyword-cloud span,
    .wind-tags span,
    .frontpage-as-archive .archive-keyword-cloud span{
      color:var(--ink) !important;
    }

    .footer-tags span:nth-child(1),
    .footer-tags span:nth-child(3),
    .footer-tags span:nth-child(8),
    .archive-keyword-cloud span:nth-child(1),
    .archive-keyword-cloud span:nth-child(3),
    .frontpage-as-archive .archive-keyword-cloud span:nth-child(1),
    .frontpage-as-archive .archive-keyword-cloud span:nth-child(4){
      color:var(--ink) !important;
      border-color:var(--line) !important;
      background:var(--soft) !important;
    }

  
    /* Micro labels +1px: subtle readability boost */
    .micro,
    .section-head .micro,
    .headline-kicker .micro,
    .masthead-topline .micro,
    .edition-card .micro,
    .index-card .micro,
    .hero-playbox .micro,
    .story-final .micro,
    .article-redesign-lead .micro,
    .article-redesign-index .micro,
    .route-panel .micro,
    .route-map-main .micro,
    .route-accordion-main .micro,
    .wind-essay .micro,
    .archive-ticket .micro,
    .footer .micro,
    .modal .micro{
      font-size:calc(1em + 1px) !important;
    }

    .footer-tags span,
    .archive-keyword-cloud span,
    .wind-tags span{
      font-size:inherit;
    }

  
    /* Global section header: 5:5 title / subtitle ratio */
    .section-head{
      display:grid !important;
      grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
      gap:clamp(24px,4vw,56px) !important;
      align-items:end !important;
    }
    .section-head > div,
    .section-head > p{
      min-width:0;
    }
    .section-head > p{
      margin:0 !important;
      max-width:none !important;
      justify-self:stretch !important;
      align-self:end !important;
      font-size:clamp(17px,1.35vw,21px) !important;
      line-height:1.9 !important;
    }
    .section-head h2{
      max-width:none !important;
    }
    @media(max-width:820px){
      .section-head{
        grid-template-columns:1fr !important;
        gap:16px !important;
        align-items:start !important;
      }
      .section-head > p{
        align-self:start !important;
      }
    }

  
    /* Global section subtitle text -1px */
    .section-head > p{
      font-size:clamp(16px,1.28vw,20px) !important;
    }
    @media(max-width:560px){
      .section-head > p{
        font-size:16px !important;
      }
    }

  
    /* Local headline title scale-down only */
    .story-final.refined-story.headline-edition .story-final-title h3{
      font-size:clamp(40px,5.6vw,82px) !important;
      line-height:1.02 !important;
      letter-spacing:-.035em !important;
    }

    @media(max-width:560px){
      .story-final.refined-story.headline-edition .story-final-title h3{
        font-size:32px !important;
        line-height:1.12 !important;
      }
    }

  
    /* Remove dot before local headline kicker */
    .story-final.refined-story.headline-edition .story-final-title .micro::before{
      display:none !important;
      content:none !important;
    }

  
    /* Local headline lead: set to body text size */
    .article-body-sized-lead{
      font-size:18px !important;
      line-height:2.16 !important;
      letter-spacing:.01em !important;
      color:#36322e !important;
      max-width:none !important;
    }

  
    /* Old signs direction title scale-down */
    .old-signs-direction-smaller{
      font-size:clamp(24px,2.8vw,40px) !important;
      line-height:1.24 !important;
      letter-spacing:-.02em !important;
    }
    @media(max-width:560px){
      .old-signs-direction-smaller{
        font-size:24px !important;
      }
    }

  
    /* Local article: fused intro + index + body */
    .article-redesign-fused-main{
      border-top:1px solid var(--line);
    }

    .article-redesign-fused-columns{
      column-count:2;
    }

    .article-fused-intro{
      display:block;
      column-span:all;
      margin:0 0 clamp(28px,3vw,42px);
      padding:0 0 clamp(24px,2.8vw,36px);
      border-bottom:1px solid var(--line);
      break-inside:avoid;
    }

    .article-fused-intro .micro{
      display:inline-block;
      margin-bottom:14px;
    }

    .article-fused-intro h4{
      margin:0 0 18px !important;
      max-width:760px;
    }

    .article-fused-intro p{
      max-width:880px !important;
      margin:0 0 22px !important;
    }

    .article-fused-index{
      margin-top:22px;
      padding:18px;
      border:1px solid var(--line);
      background:var(--soft);
      display:grid;
      grid-template-columns:minmax(0,.36fr) minmax(0,.64fr);
      gap:18px;
      align-items:start;
    }

    .article-fused-index h5{
      margin:8px 0 0;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:24px;
      line-height:1.2;
      letter-spacing:-.02em;
      font-weight:400;
    }

    .article-fused-index ol{
      margin:0;
      padding:0;
      list-style:none;
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:0 18px;
      border-top:1px solid var(--line);
    }

    .article-fused-index li{
      padding:10px 0;
      border-bottom:1px solid var(--line);
      font-size:15px;
      line-height:1.65;
      color:#36322e;
    }

    @media(max-width:1100px){
      .article-redesign-fused-columns{
        column-count:1;
      }
      .article-fused-index,
      .article-fused-index ol{
        grid-template-columns:1fr;
      }
    }

  
    /* Local article: remove side rail and let fused article fill full width */
    .article-redesign-fused-main{
      grid-template-columns:1fr !important;
    }
    .article-redesign-fused-columns{
      width:100% !important;
    }
    .article-redesign-fused-main .article-redesign-rail{
      display:none !important;
    }

    .article-inline-note{
      column-span:all;
      margin:0 0 clamp(28px,3vw,42px);
      padding:clamp(18px,2.4vw,28px);
      border:1px solid var(--line);
      background:var(--soft);
      break-inside:avoid;
    }
    .article-inline-note .micro{
      display:inline-block;
      margin-bottom:12px;
    }
    .article-inline-note-quote{
      border-left:3px solid var(--line-strong);
      background:#fff;
      padding:16px;
      margin-bottom:16px;
      color:#2f2c28;
      font-size:20px;
      line-height:1.8;
    }
    .article-inline-note-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:10px;
    }
    .article-inline-note-grid div{
      border:1px solid var(--line);
      background:#fff;
      padding:14px;
    }
    .article-inline-note-grid b{
      display:block;
      margin-bottom:6px;
      color:var(--muted);
      font-size:15px;
      line-height:1.5;
      font-weight:400;
    }
    .article-inline-note-grid span{
      display:block;
      color:#34312d;
      font-size:16px;
      line-height:1.75;
    }

    @media(max-width:900px){
      .article-inline-note-grid{
        grid-template-columns:1fr;
      }
    }

  
    /* Fused article index: full-width text sections */
    .article-fused-index{
      width:100% !important;
      display:block !important;
      box-sizing:border-box !important;
    }
    .article-fused-index h5{
      margin:8px 0 16px !important;
    }
    .article-fused-index ol{
      width:100% !important;
      display:grid !important;
      grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
      gap:10px !important;
      border-top:0 !important;
    }
    .article-fused-index li{
      border:1px solid var(--line) !important;
      background:#fff !important;
      padding:14px !important;
      min-height:86px;
      display:flex;
      align-items:flex-start;
    }
    @media(max-width:980px){
      .article-fused-index ol{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
      }
    }
    @media(max-width:560px){
      .article-fused-index ol{
        grid-template-columns:1fr !important;
      }
      .article-fused-index li{
        min-height:0;
      }
    }

  
    /* Article fused index title cleanup */
    .article-fused-index > .micro{
      display:inline-block;
      margin-bottom:14px;
    }

  
    /* Old signs merged lead: match cover paragraph typography */
    .old-signs-merged-lead{
      margin:0 0 24px !important;
      max-width:900px !important;
      color:#332f2a !important;
      font-size:clamp(19px,1.8vw,27px) !important;
      line-height:1.9 !important;
      letter-spacing:normal !important;
      font-weight:400 !important;
    }
    @media(max-width:560px){
      .old-signs-merged-lead{
        font-size:18px !important;
      }
    }

  
    /* Old signs merged lead full width */
    .old-signs-merged-lead{
      width:100% !important;
      max-width:none !important;
      display:block !important;
      box-sizing:border-box !important;
    }
    .article-fused-intro{
      width:100% !important;
      max-width:none !important;
    }

  
    /* Hero main headline scale-down */
    #front .headline{
      font-size:clamp(42px,6.2vw,86px) !important;
      line-height:1.02 !important;
      letter-spacing:-.04em !important;
    }

    @media(max-width:560px){
      #front .headline{
        font-size:34px !important;
        line-height:1.08 !important;
      }
    }

  
    /* Force old-signs merged lead to full width */
    .article-fused-intro .old-signs-merged-lead,
    p.old-signs-merged-lead{
      width:100% !important;
      max-width:100% !important;
      min-width:0 !important;
      display:block !important;
      box-sizing:border-box !important;
    }

  
    /* Route panel empty state: mini map + prompts */
    .route-empty-map{
      display:grid;
      gap:16px;
      border:1px solid var(--line);
      background:#fff;
      padding:18px;
    }
    .route-empty-map-head h4{
      margin:10px 0 10px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(24px,2.2vw,32px);
      line-height:1.18;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .route-empty-map-head p{
      margin:0;
      color:var(--muted);
      font-size:15px;
      line-height:1.8;
    }
    .route-mini-map{
      position:relative;
      display:grid;
      gap:10px;
      padding-left:10px;
    }
    .route-mini-map::before{
      content:"";
      position:absolute;
      left:25px;
      top:20px;
      bottom:20px;
      width:1px;
      background:var(--line-strong);
    }
    .route-mini-node{
      position:relative;
      display:grid;
      grid-template-columns:34px 1fr;
      gap:12px;
      align-items:start;
      z-index:1;
    }
    .route-mini-node b{
      width:34px;
      height:34px;
      display:grid;
      place-items:center;
      border:1px solid var(--line-strong);
      background:#fff;
      font-weight:400;
      color:var(--ink);
    }
    .route-mini-node div{
      border:1px solid var(--line);
      background:var(--soft);
      padding:12px;
    }
    .route-mini-node strong{
      display:block;
      margin-bottom:4px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:19px;
      line-height:1.25;
      font-weight:400;
      color:var(--ink);
    }
    .route-mini-node span{
      display:block;
      color:var(--muted);
      font-size:14px;
      line-height:1.65;
    }
    .route-empty-tips{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:10px;
    }
    .route-empty-tips div{
      border:1px solid var(--line);
      background:#fff;
      padding:13px;
    }
    .route-empty-tips b{
      display:block;
      margin-bottom:6px;
      color:var(--muted);
      font-size:14px;
      line-height:1.5;
      font-weight:400;
    }
    .route-empty-tips span{
      display:block;
      color:#34312d;
      font-size:15px;
      line-height:1.72;
    }
    @media(max-width:560px){
      .route-empty-tips{
        grid-template-columns:1fr;
      }
    }

  
    /* Selected route mini map: appears only after choosing a route */
    .route-selected-map{
      margin-top:16px;
      border:1px solid var(--line);
      background:#fff;
      padding:16px;
      display:grid;
      gap:14px;
    }
    .route-selected-map-head h4{
      margin:8px 0 8px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(23px,2vw,30px);
      line-height:1.2;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .route-selected-map-head p{
      margin:0;
      color:var(--muted);
      font-size:15px;
      line-height:1.75;
    }
    .route-selected-map-line{
      position:relative;
      display:grid;
      gap:10px;
      padding-left:8px;
    }
    .route-selected-map-line::before{
      content:"";
      position:absolute;
      left:23px;
      top:18px;
      bottom:18px;
      width:1px;
      background:var(--line-strong);
    }
    .route-selected-map-node{
      position:relative;
      z-index:1;
      display:grid;
      grid-template-columns:32px 1fr;
      gap:10px;
      align-items:start;
    }
    .route-selected-map-node b{
      width:32px;
      height:32px;
      display:grid;
      place-items:center;
      border:1px solid var(--line-strong);
      background:#fff;
      color:var(--ink);
      font-weight:400;
    }
    .route-selected-map-node div{
      border:1px solid var(--line);
      background:var(--soft);
      padding:11px 12px;
    }
    .route-selected-map-node strong{
      display:block;
      margin-bottom:4px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      color:var(--ink);
      font-size:18px;
      line-height:1.25;
      font-weight:400;
    }
    .route-selected-map-node span{
      display:block;
      color:var(--muted);
      font-size:14px;
      line-height:1.65;
    }

  
    /* Selected route: recommended shop list */
    .route-shop-list{
      margin-top:16px;
      border:1px solid var(--line);
      background:#fff;
      padding:16px;
      display:grid;
      gap:14px;
    }
    .route-shop-list-head h4{
      margin:8px 0 8px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size:clamp(23px,2vw,30px);
      line-height:1.2;
      letter-spacing:-.02em;
      font-weight:400;
    }
    .route-shop-list-head p{
      margin:0;
      color:var(--muted);
      font-size:15px;
      line-height:1.75;
    }
    .route-shop-grid{
      display:grid;
      grid-template-columns:1fr;
      gap:10px;
    }
    .route-shop-card{
      display:grid;
      grid-template-columns:36px 1fr;
      gap:12px;
      align-items:start;
      border:1px solid var(--line);
      background:var(--soft);
      padding:12px;
    }
    .route-shop-card > b{
      width:36px;
      height:36px;
      display:grid;
      place-items:center;
      border:1px solid var(--line-strong);
      background:#fff;
      color:var(--ink);
      font-weight:400;
    }
    .route-shop-card span{
      display:inline-block;
      margin-bottom:5px;
      color:var(--muted);
      font-size:13px;
      line-height:1.4;
      letter-spacing:.08em;
    }
    .route-shop-card strong{
      display:block;
      margin-bottom:6px;
      font-family:"Chiron GoRound TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      color:var(--ink);
      font-size:19px;
      line-height:1.25;
      font-weight:400;
    }
    .route-shop-card p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.68;
    }

  
    /* Route panel: selected state shows shop list only */
    #routeResult .route-shop-list{
      margin-top:0 !important;
    }

  
    /* Route shop list: remove recommendation title spacing */
    .route-shop-list-head .micro{
      display:inline-block;
      margin-bottom:10px;
    }
    .route-shop-list-head p{
      margin-top:0 !important;
    }

  
    /* Wind tags removed: spacing cleanup */
    .wind-index-block .wind-index-list{
      margin-bottom:0 !important;
    }

  
    /* Local report kicker: plain text version */
    .story-final.refined-story.headline-edition .story-final-title .micro{
      display:inline-block !important;
      padding:0 !important;
      margin-bottom:18px !important;
      border:0 !important;
      background:transparent !important;
      color:var(--ink) !important;
      letter-spacing:.16em !important;
    }
    .story-final.refined-story.headline-edition .story-final-title .micro::before{
      display:none !important;
      content:none !important;
    }

  
    /* Local report kicker color matches other micro labels */
    .story-final.refined-story.headline-edition .story-final-title .micro{
      color:var(--muted) !important;
    }

  
    /* Archive subtitle: compact two-line rhythm */
    #archive .section-head > p{
      max-width:620px !important;
      justify-self:end !important;
    }
    @media(max-width:820px){
      #archive .section-head > p{
        max-width:none !important;
        justify-self:stretch !important;
      }
    }

  
    /* Remove report info column and let local report title fill width */
    .story-final.refined-story.headline-edition .story-final-cover{
      grid-template-columns:1fr !important;
    }
    .story-final.refined-story.headline-edition .story-final-title{
      border-right:0 !important;
      width:100% !important;
    }

  
    /* Hero playbox kicker color matches other micro labels */
    #heroPlaybox .micro:first-child,
    .hero-playbox > .micro:first-child{
      color:var(--muted) !important;
    }

  
    /* Article observation note moved to closing position */
    .story-final-article-redesign > .article-inline-note{
      margin:0 !important;
      border-top:0 !important;
      border-left:0 !important;
      border-right:0 !important;
      border-bottom:1px solid var(--line) !important;
      column-span:initial !important;
    }

  
    /* Local report cover: full-width title area */
    .story-final.refined-story.headline-edition .story-final-cover{
      grid-template-columns:1fr !important;
      width:100% !important;
    }
    .story-final.refined-story.headline-edition .story-final-title{
      width:100% !important;
      max-width:none !important;
      box-sizing:border-box !important;
      border-right:0 !important;
    }
    .story-final.refined-story.headline-edition .story-final-title h3,
    .story-final.refined-story.headline-edition .story-final-title p{
      width:100% !important;
      max-width:none !important;
    }

  
    /* Desktop local report cover right spacing */
    @media(min-width:821px){
      .story-final.refined-story.headline-edition .story-final-title{
        padding-right:20px !important;
      }
    }

  
    /* Article fused index removed: spacing cleanup */
    .article-fused-intro{
      padding-bottom:clamp(18px,2.4vw,30px) !important;
    }
    .article-fused-intro .old-signs-merged-lead{
      margin-bottom:0 !important;
    }

  
    /* Local report image replaced with uploaded old-signs street photo */
    .story-final.refined-story .story-final-photo img{
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center center;
      display:block;
    }

  
    /* Main masthead English kicker */
    .masthead .micro,
    .masthead-topline .micro{
      letter-spacing:.18em;
      text-transform:uppercase;
    }

  
    /* Logo small label: English masthead subtitle */
    .logo small{
      letter-spacing:.18em !important;
      text-transform:uppercase !important;
    }

  
    /* Masthead cards copy redesign + mobile order */
    .edition-card dl,
    .index-card dl{
      gap:10px !important;
    }
    .edition-card dt,
    .index-card dt{
      color:var(--muted) !important;
      letter-spacing:.08em;
    }
    .edition-card dd,
    .index-card dd{
      text-align:right;
      line-height:1.55;
    }

    @media(max-width:820px){
      .masthead-main{
        display:grid !important;
        grid-template-columns:1fr !important;
      }
      .masthead-main .logo{
        order:1 !important;
      }
      .masthead-main .edition-card{
        order:2 !important;
      }
      .masthead-main .index-card{
        order:3 !important;
      }
      .edition-card,
      .index-card{
        width:100% !important;
      }
    }

  
    /* Mobile masthead top line stays left / right, logo centered */
    @media(max-width:820px){
      .masthead-topline{
        display:flex !important;
        flex-direction:row !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:14px !important;
        text-align:left !important;
      }
      .masthead-topline .micro{
        flex:1 1 auto !important;
        text-align:left !important;
        white-space:nowrap;
      }
      .masthead-topline .masthead-note{
        flex:0 0 auto !important;
        text-align:right !important;
        white-space:nowrap;
      }
      .masthead-main .logo{
        text-align:center !important;
        align-items:center !important;
        justify-items:center !important;
      }
      .masthead-main .logo h1,
      .masthead-main .logo small,
      .masthead-main .logo .subtitle{
        text-align:center !important;
        margin-left:auto !important;
        margin-right:auto !important;
      }
    }

    @media(max-width:420px){
      .masthead-topline .micro,
      .masthead-topline .masthead-note{
        white-space:normal;
      }
      .masthead-topline{
        align-items:flex-start !important;
      }
    }

  
    /* Masthead info cards bottom spacing */
    .edition-card,
    .index-card{
      margin-bottom:clamp(18px,2vw,28px) !important;
    }

    @media(max-width:820px){
      .edition-card,
      .index-card{
        margin-bottom:22px !important;
      }
    }

  
    /* Stronger masthead card bottom spacing: padding + grid gap */
    .masthead-main{
      padding-bottom:clamp(28px,3.2vw,52px) !important;
      row-gap:clamp(18px,2.4vw,32px) !important;
    }

    .edition-card,
    .index-card{
      padding-bottom:clamp(28px,3vw,44px) !important;
      margin-bottom:0 !important;
      align-self:stretch !important;
    }

    .masthead .nav{
      margin-top:0 !important;
    }

    @media(max-width:820px){
      .masthead-main{
        gap:22px !important;
        padding-bottom:34px !important;
      }

      .edition-card,
      .index-card{
        padding-bottom:32px !important;
        margin-bottom:0 !important;
      }
    }

  
    /* Popup scroll lock without body fixed jump */
    html.modal-scroll-locked,
    body.modal-scroll-locked{
      overscroll-behavior:none;
    }

  
    /* Unified tag system by context */
    :root{
      --tag-plain-text:var(--muted);
      --tag-chip-bg:rgba(245,244,239,.88);
      --tag-chip-border:var(--line);
      --tag-photo-bg:rgba(255,255,255,.72);
      --tag-active-bg:var(--ink);
      --tag-active-text:#fff;
    }

    /* 1) Editorial micro labels: transparent newspaper labels */
    .micro,
    .section-head .micro,
    .masthead-topline .micro,
    .edition-card .micro,
    .index-card .micro,
    .hero-playbox > .micro,
    .story-final .micro,
    .article-inline-note > .micro,
    .article-fused-intro > .micro,
    .route-panel .micro,
    .route-map-main .micro,
    .route-shop-list-head .micro,
    .wind-essay .micro,
    .archive-ticket .micro,
    .footer .micro,
    .modal .micro{
      background:transparent !important;
      border:0 !important;
      color:var(--tag-plain-text) !important;
      padding:0 !important;
    }

    /* 2) Keyword/category chips: soft gray editorial chips */
    .footer-tags span,
    .archive-keyword-cloud span,
    .wind-tags span,
    .route-shop-card span,
    .archive-detail span,
    .archive-ticket p + span{
      background:var(--tag-chip-bg) !important;
      border:1px solid var(--tag-chip-border) !important;
      color:var(--muted) !important;
    }

    .footer-tags span,
    .archive-keyword-cloud span{
      padding:8px 10px !important;
      display:inline-flex !important;
      align-items:center !important;
      min-height:32px;
    }

    /* 3) Photo badges: translucent white so the image remains readable */
    .route-map-badge,
    .front-image-badge,
    .story-photo-badge{
      background:var(--tag-photo-bg) !important;
      border:1px solid rgba(17,17,17,.16) !important;
      color:var(--ink) !important;
      backdrop-filter:blur(8px);
    }

    /* 4) Selected / active states: black badge */
    .route-tab.active,
    .route-stop.is-active b,
    .route-map-card.route-open .route-map-badge,
    .filter-pill.active,
    .tag-active{
      background:var(--tag-active-bg) !important;
      color:var(--tag-active-text) !important;
      border-color:var(--tag-active-bg) !important;
    }

    .route-tab.active strong,
    .route-tab.active span{
      color:var(--tag-active-text) !important;
    }

    /* 5) Number labels stay structural: white by default, black only when active */
    .route-step b,
    .route-selected-map-node b,
    .route-shop-card > b,
    .article-inline-note-grid b{
      background:#fff !important;
      border:1px solid var(--line-strong) !important;
      color:var(--ink) !important;
    }

    /* 6) Footer and archive chips should never turn red from older accent rules */
    .footer-tags span,
    .footer-tags span:nth-child(n),
    .archive-keyword-cloud span,
    .archive-keyword-cloud span:nth-child(n),
    .frontpage-as-archive .archive-keyword-cloud span,
    .frontpage-as-archive .archive-keyword-cloud span:nth-child(n){
      background:var(--tag-chip-bg) !important;
      border-color:var(--tag-chip-border) !important;
      color:var(--muted) !important;
    }

    /* 7) Keep masthead title's small English label as plain text */
    .logo small{
      background:transparent !important;
      border:0 !important;
      color:var(--muted) !important;
      padding:0 !important;
    }

  
    /* Observation note labels: text only, no boxed border */
    .article-inline-note-grid b,
    .article-redesign-fact b,
    .route-empty-tips b,
    .wind-index-row b,
    .story-final-meta-row b{
      background:transparent !important;
      border:0 !important;
      padding:0 !important;
      width:auto !important;
      height:auto !important;
      display:block !important;
      color:var(--muted) !important;
      font-weight:400 !important;
    }

    .article-inline-note-grid div,
    .article-redesign-fact{
      border:1px solid var(--line) !important;
      background:#fff !important;
    }

  
    /* Larger headline typography: more breathing room */
    .logo h1,
    .headline,
    .section-head h2,
    .story-final.refined-story.headline-edition .story-final-title h3,
    .wind-essay-cover h3,
    .archive-large-title h3,
    .modal-card h3,
    #modalTitle{
      letter-spacing:-.018em !important;
      line-height:1.12 !important;
    }

    .logo h1{
      margin-top:14px !important;
      margin-bottom:18px !important;
    }

    .headline{
      margin-top:18px !important;
      margin-bottom:22px !important;
    }

    .section-head h2{
      margin-top:14px !important;
      margin-bottom:0 !important;
    }

    .story-final.refined-story.headline-edition .story-final-title h3,
    .wind-essay-cover h3,
    .archive-large-title h3{
      margin-top:16px !important;
      margin-bottom:22px !important;
    }

    @media(max-width:560px){
      .logo h1,
      .headline,
      .section-head h2,
      .story-final.refined-story.headline-edition .story-final-title h3,
      .wind-essay-cover h3,
      .archive-large-title h3{
        line-height:1.16 !important;
        letter-spacing:-.012em !important;
      }
    }

  
    /* Masthead spacing fix: separate info cards from lower nav container */
    .masthead-main{
      margin-bottom:clamp(34px,4vw,64px) !important;
      padding-bottom:0 !important;
    }

    .masthead .nav{
      margin-top:clamp(20px,2.8vw,42px) !important;
      padding-top:clamp(18px,2.4vw,30px) !important;
      border-top:1px solid var(--line) !important;
      clear:both !important;
    }

    .masthead-inner{
      display:flex !important;
      flex-direction:column !important;
    }

    .masthead-main + .nav{
      position:relative !important;
    }

    @media(max-width:820px){
      .masthead-main{
        margin-bottom:34px !important;
        row-gap:24px !important;
      }

      .masthead .nav{
        margin-top:26px !important;
        padding-top:24px !important;
      }

      .edition-card,
      .index-card{
        padding-bottom:24px !important;
      }
    }

    @media(max-width:560px){
      .masthead-main{
        margin-bottom:38px !important;
      }

      .masthead .nav{
        margin-top:28px !important;
      }
    }

  
    /* Masthead info cards as cover-like content blocks */
    .edition-card,
    .index-card{
      min-height:clamp(188px,16vw,246px) !important;
      padding:clamp(20px,2.4vw,30px) !important;
      padding-bottom:clamp(44px,4.2vw,68px) !important;
      display:flex !important;
      flex-direction:column !important;
      justify-content:space-between !important;
      box-sizing:border-box !important;
    }

    .edition-card .micro,
    .index-card .micro{
      flex:0 0 auto !important;
      margin-bottom:clamp(18px,2vw,28px) !important;
    }

    .edition-card dl,
    .index-card dl{
      flex:1 1 auto !important;
      align-content:start !important;
      margin:0 !important;
      padding-bottom:clamp(8px,1vw,16px) !important;
      row-gap:clamp(10px,1.2vw,16px) !important;
    }

    .edition-card dt,
    .edition-card dd,
    .index-card dt,
    .index-card dd{
      line-height:1.65 !important;
    }

    @media(max-width:820px){
      .edition-card,
      .index-card{
        min-height:0 !important;
        padding:22px !important;
        padding-bottom:42px !important;
      }

      .edition-card .micro,
      .index-card .micro{
        margin-bottom:20px !important;
      }

      .edition-card dl,
      .index-card dl{
        padding-bottom:10px !important;
        row-gap:12px !important;
      }
    }

  
    /* Masthead info cards: content-height reset */
    .edition-card,
    .index-card{
      min-height:0 !important;
      height:auto !important;
      padding:clamp(18px,2vw,24px) !important;
      display:block !important;
      align-self:start !important;
      box-sizing:border-box !important;
    }

    .edition-card .micro,
    .index-card .micro{
      display:block !important;
      margin-bottom:14px !important;
    }

    .edition-card dl,
    .index-card dl{
      margin:0 !important;
      padding:0 !important;
      row-gap:8px !important;
      align-content:start !important;
    }

    .edition-card dt,
    .edition-card dd,
    .index-card dt,
    .index-card dd{
      line-height:1.5 !important;
    }

    .masthead-main{
      align-items:start !important;
    }

    @media(max-width:820px){
      .edition-card,
      .index-card{
        min-height:0 !important;
        height:auto !important;
        padding:20px !important;
        align-self:stretch !important;
      }

      .edition-card .micro,
      .index-card .micro{
        margin-bottom:14px !important;
      }

      .edition-card dl,
      .index-card dl{
        row-gap:8px !important;
      }
    }

  
    /* Masthead middle only: tighter title/subtitle and bottom-aligned subtitle */
    @media(min-width:821px){
      .masthead-main .logo{
        align-self:stretch !important;
        display:flex !important;
        flex-direction:column !important;
        justify-content:flex-end !important;
        box-sizing:border-box !important;
        padding-bottom:clamp(18px,2vw,24px) !important;
      }

      .masthead-main .logo h1{
        margin-top:8px !important;
        margin-bottom:6px !important;
      }

      .masthead-main .logo .subtitle{
        margin-top:0 !important;
        margin-bottom:0 !important;
      }

      .masthead-main .logo small{
        margin-bottom:8px !important;
      }
    }

    @media(max-width:820px){
      .masthead-main .logo h1{
        margin-bottom:8px !important;
      }

      .masthead-main .logo .subtitle{
        margin-top:0 !important;
      }
    }

  
    /* Masthead middle only: balanced top and bottom spacing around title */
    @media(min-width:821px){
      .masthead-main .logo small{
        margin-bottom:6px !important;
      }

      .masthead-main .logo h1{
        margin-top:0 !important;
        margin-bottom:6px !important;
      }

      .masthead-main .logo .subtitle{
        margin-top:0 !important;
      }
    }

    @media(max-width:820px){
      .masthead-main .logo small{
        margin-bottom:6px !important;
      }

      .masthead-main .logo h1{
        margin-top:0 !important;
        margin-bottom:6px !important;
      }

      .masthead-main .logo .subtitle{
        margin-top:0 !important;
      }
    }

  
    /* Mobile-friendly archive/detail popup layout */
    @media(max-width:720px){
      .modal{
        padding:0 !important;
        align-items:stretch !important;
        place-items:stretch !important;
        background:rgba(255,255,255,.92) !important;
      }

      .modal-card{
        width:100% !important;
        height:100dvh !important;
        max-height:none !important;
        border:0 !important;
        border-radius:0 !important;
        padding:18px !important;
        overflow:auto !important;
        -webkit-overflow-scrolling:touch;
      }

      .modal-top{
        position:sticky !important;
        top:-18px !important;
        z-index:5 !important;
        background:rgba(255,255,255,.96) !important;
        backdrop-filter:blur(10px);
        padding:14px 0 12px !important;
        margin:-18px 0 18px !important;
        border-bottom:1px solid var(--line) !important;
      }

      .modal-top .micro{
        max-width:calc(100% - 92px);
        line-height:1.45 !important;
      }

      #closeModal{
        padding:9px 12px !important;
        font-size:12px !important;
        letter-spacing:.12em !important;
      }

      .modal-card h3,
      #modalTitle{
        font-size:clamp(30px,9vw,42px) !important;
        line-height:1.16 !important;
        letter-spacing:-.018em !important;
        margin:14px 0 16px !important;
      }

      .modal-card p{
        font-size:16px !important;
        line-height:1.95 !important;
        letter-spacing:.01em !important;
      }

      /* Archive popup becomes a clean single-column mobile article */
      .archive-detail,
      .archive-detail-grid,
      .archive-detail-main,
      .archive-detail-side,
      .frontpage-as-archive,
      .frontpage-as-archive .archive-detail-grid{
        display:block !important;
        width:100% !important;
        max-width:none !important;
      }

      .archive-detail{
        padding:0 !important;
      }

      .archive-detail-main,
      .archive-detail-side{
        border:0 !important;
        padding:0 !important;
        margin:0 !important;
      }

      .archive-detail-side{
        margin-top:18px !important;
      }

      .archive-detail-meta,
      .archive-detail-info,
      .archive-detail-facts,
      .archive-detail-quote,
      .archive-keyword-cloud,
      .frontpage-as-archive .archive-keyword-cloud{
        margin-top:14px !important;
      }

      .archive-keyword-cloud,
      .frontpage-as-archive .archive-keyword-cloud{
        display:flex !important;
        flex-wrap:wrap !important;
        gap:8px !important;
      }

      .archive-keyword-cloud span,
      .frontpage-as-archive .archive-keyword-cloud span{
        font-size:13px !important;
        line-height:1.35 !important;
        padding:7px 9px !important;
        min-height:auto !important;
      }

      .archive-detail dl,
      .archive-detail-facts,
      .archive-detail-info{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:8px !important;
      }

      .archive-detail dt,
      .archive-detail dd{
        text-align:left !important;
      }

      .archive-detail dt{
        color:var(--muted) !important;
        margin-top:8px !important;
      }

      .archive-detail dd{
        margin:0 !important;
        padding-bottom:10px !important;
        border-bottom:1px solid var(--line) !important;
      }

      .archive-detail-quote{
        border-left:3px solid var(--line-strong) !important;
        padding:13px 14px !important;
        background:var(--soft) !important;
        font-size:17px !important;
        line-height:1.75 !important;
      }

      .archive-detail p + p,
      .archive-detail-main p + p,
      #modalText p + p{
        margin-top:14px !important;
      }

      #modalActions{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:10px !important;
        margin-top:20px !important;
      }

      #modalActions .btn{
        width:100% !important;
        justify-content:center !important;
        text-align:center !important;
      }
    }

    @media(max-width:420px){
      .modal-card{
        padding:16px !important;
      }

      .modal-top{
        top:-16px !important;
        margin:-16px 0 16px !important;
      }

      .modal-card h3,
      #modalTitle{
        font-size:30px !important;
      }

      .modal-card p{
        font-size:15.5px !important;
        line-height:1.9 !important;
      }
    }

  
    /* Mobile archive popup: force article and info rail to stack vertically */
    @media(max-width:720px){
      .archive-large-body{
        display:flex !important;
        flex-direction:column !important;
        grid-template-columns:1fr !important;
        width:100% !important;
        border-bottom:0 !important;
      }

      .archive-longread{
        order:1 !important;
        width:100% !important;
        border-right:0 !important;
        border-bottom:1px solid var(--line) !important;
        padding:20px 0 22px !important;
      }

      .archive-detail-rail{
        order:2 !important;
        width:100% !important;
        padding:20px 0 0 !important;
        background:transparent !important;
        border:0 !important;
      }

      .archive-detail-rail h4{
        margin:10px 0 14px !important;
        font-size:22px !important;
        line-height:1.28 !important;
      }

      .archive-fact-list{
        width:100% !important;
        border-top:1px solid var(--line) !important;
      }

      .archive-fact-row{
        display:grid !important;
        grid-template-columns:82px 1fr !important;
        gap:12px !important;
        padding:12px 0 !important;
        border-bottom:1px solid var(--line) !important;
      }

      .archive-fact-row b{
        text-align:left !important;
        color:var(--muted) !important;
      }

      .archive-fact-row span{
        text-align:right !important;
      }

      .archive-detail-rail .archive-keyword-cloud{
        margin-top:16px !important;
        padding-bottom:2px !important;
      }
    }

    @media(max-width:420px){
      .archive-fact-row{
        grid-template-columns:1fr !important;
        gap:4px !important;
      }

      .archive-fact-row span{
        text-align:left !important;
      }
    }

  
    /* Flexible mobile popup spacing system */
    @media(max-width:720px){
      :root{
        --modal-mobile-pad:clamp(14px,4.2vw,22px);
        --modal-mobile-gap-xs:clamp(8px,2vw,12px);
        --modal-mobile-gap-sm:clamp(12px,3vw,18px);
        --modal-mobile-gap-md:clamp(18px,4.5vw,28px);
        --modal-mobile-gap-lg:clamp(24px,6vw,40px);
        --modal-mobile-line:1px solid var(--line);
      }

      .modal-card{
        padding:var(--modal-mobile-pad) !important;
      }

      .modal-top{
        top:calc(var(--modal-mobile-pad) * -1) !important;
        margin:calc(var(--modal-mobile-pad) * -1) 0 var(--modal-mobile-gap-md) !important;
        padding:var(--modal-mobile-gap-sm) 0 !important;
      }

      .modal-card h3,
      #modalTitle{
        margin:var(--modal-mobile-gap-sm) 0 var(--modal-mobile-gap-sm) !important;
      }

      #modalText{
        display:block !important;
      }

      .archive-large-page,
      .archive-large-main{
        display:block !important;
      }

      .archive-large-hero{
        display:grid !important;
        gap:var(--modal-mobile-gap-md) !important;
        margin-bottom:var(--modal-mobile-gap-lg) !important;
      }

      .archive-large-image{
        min-height:clamp(190px,54vw,320px) !important;
      }

      .archive-large-title{
        display:grid !important;
        gap:var(--modal-mobile-gap-sm) !important;
        padding:0 !important;
      }

      .archive-large-title h3{
        margin:0 !important;
      }

      .archive-large-title .lead{
        margin:0 !important;
      }

      .archive-large-body{
        gap:0 !important;
      }

      .archive-longread{
        padding:var(--modal-mobile-gap-md) 0 var(--modal-mobile-gap-lg) !important;
      }

      .archive-longread p{
        margin:0 0 var(--modal-mobile-gap-md) !important;
      }

      .archive-longread p:last-child{
        margin-bottom:0 !important;
      }

      .archive-detail-rail{
        padding:var(--modal-mobile-gap-md) 0 var(--modal-mobile-gap-sm) !important;
      }

      .archive-detail-rail > .micro{
        margin-bottom:var(--modal-mobile-gap-xs) !important;
      }

      .archive-detail-rail h4{
        margin:var(--modal-mobile-gap-xs) 0 var(--modal-mobile-gap-sm) !important;
      }

      .archive-fact-list{
        margin-top:var(--modal-mobile-gap-sm) !important;
      }

      .archive-fact-row{
        padding:var(--modal-mobile-gap-sm) 0 !important;
        gap:var(--modal-mobile-gap-sm) !important;
      }

      .archive-keyword-cloud,
      .frontpage-as-archive .archive-keyword-cloud{
        margin-top:var(--modal-mobile-gap-md) !important;
        gap:var(--modal-mobile-gap-xs) !important;
      }

      .archive-context-panel{
        display:grid !important;
        gap:var(--modal-mobile-gap-sm) !important;
        margin-top:var(--modal-mobile-gap-lg) !important;
      }

      .archive-context-card{
        padding:var(--modal-mobile-gap-sm) !important;
      }

      .archive-route-steps,
      .archive-timeline-list{
        gap:var(--modal-mobile-gap-xs) !important;
      }

      #modalActions{
        margin-top:var(--modal-mobile-gap-md) !important;
      }
    }

    @media(max-width:420px){
      :root{
        --modal-mobile-pad:14px;
        --modal-mobile-gap-xs:8px;
        --modal-mobile-gap-sm:12px;
        --modal-mobile-gap-md:18px;
        --modal-mobile-gap-lg:26px;
      }

      .archive-large-hero{
        margin-bottom:var(--modal-mobile-gap-md) !important;
      }

      .archive-longread{
        padding:var(--modal-mobile-gap-sm) 0 var(--modal-mobile-gap-md) !important;
      }

      .archive-detail-rail{
        padding:var(--modal-mobile-gap-sm) 0 0 !important;
      }
    }

  
    /* Masthead/nav spacing tightened + floating menu */
    .masthead-main{
      margin-bottom:clamp(12px,1.4vw,22px) !important;
      padding-bottom:0 !important;
    }

    .masthead .nav{
      margin-top:clamp(8px,1vw,14px) !important;
      padding-top:clamp(10px,1.2vw,16px) !important;
      padding-bottom:clamp(10px,1.2vw,16px) !important;
      background:rgba(255,255,255,.84);
      backdrop-filter:blur(10px);
      transition:box-shadow .25s ease, transform .25s ease, background .25s ease, border-color .25s ease;
    }

    .nav-placeholder{
      display:none;
      height:0;
    }

    .nav-placeholder.is-active{
      display:block;
    }

    .masthead .nav.nav-floating{
      position:fixed !important;
      top:0 !important;
      left:50% !important;
      z-index:110 !important;
      width:min(var(--max), calc(100% - (var(--gutter) * 2))) !important;
      transform:translateX(-50%) !important;
      margin-top:0 !important;
      border:1px solid var(--line) !important;
      border-top:0 !important;
      background:rgba(255,255,255,.94) !important;
      box-shadow:0 16px 38px rgba(20,20,20,.08);
    }

    @media(max-width:820px){
      .masthead-main{
        margin-bottom:14px !important;
      }

      .masthead .nav{
        margin-top:8px !important;
        padding-top:12px !important;
        padding-bottom:12px !important;
      }

      .masthead .nav.nav-floating{
        width:calc(100% - 24px) !important;
        top:0 !important;
      }
    }

  
    /* Menu vertical rhythm: equal top/bottom spacing and same-width bottom line */
    .masthead .nav{
      --menu-y-gap:clamp(12px,1.25vw,18px);
      padding-top:var(--menu-y-gap) !important;
      padding-bottom:var(--menu-y-gap) !important;
      margin-top:var(--menu-y-gap) !important;
      margin-bottom:var(--menu-y-gap) !important;
      border-top:1px solid var(--line) !important;
      border-bottom:1px solid var(--line) !important;
      box-sizing:border-box !important;
      width:100% !important;
    }

    .masthead .nav::before,
    .masthead .nav::after{
      display:none !important;
      content:none !important;
    }

    .masthead .nav.nav-floating{
      padding-top:var(--menu-y-gap) !important;
      padding-bottom:var(--menu-y-gap) !important;
      border-bottom:1px solid var(--line) !important;
      width:min(var(--max), calc(100% - (var(--gutter) * 2))) !important;
    }

    @media(max-width:820px){
      .masthead .nav{
        --menu-y-gap:12px;
        margin-top:12px !important;
        margin-bottom:12px !important;
      }

      .masthead .nav.nav-floating{
        width:calc(100% - 24px) !important;
      }
    }

  
    /* Remove full-width divider between menu and front page */
    .masthead{
      border-bottom:0 !important;
    }

    .masthead::after,
    .masthead-inner::after,
    main::before,
    #front::before,
    .hero::before{
      display:none !important;
      content:none !important;
      border:0 !important;
      background:none !important;
    }

    main{
      border-top:0 !important;
    }

    #front,
    .hero{
      border-top:0 !important;
    }

    /* Keep only the menu-width lines on the nav itself */
    .masthead .nav{
      border-top:1px solid var(--line) !important;
      border-bottom:1px solid var(--line) !important;
    }

  
    /* Route image replacement: Miaokou food route */
    [data-route-card="0"] img,
    .route-map-card:first-child img{
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center center;
      display:block;
    }

  
    /* Route image replacement: Glass light route */
    [data-route-card="1"] img{
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center center;
      display:block;
    }

  
    /* Route shop category labels: text only, no border */
    .route-shop-card span,
    .route-shop-card div > span{
      background:transparent !important;
      border:0 !important;
      padding:0 !important;
      min-height:0 !important;
      display:inline-block !important;
      color:var(--muted) !important;
    }

  
    /* Popup should always start from top when opened */
    .modal-card,
    #modalText{
      scroll-behavior:auto !important;
    }
