/* Lightened from the original dark-photo hero: this template never sets the header's
   data-nav="overlay" attribute (only is_front_page() does — see header.php), so the nav links
   render in their normal dark colour and were unreadable against the dark hero. Lightened here
   (with the hero's own copy darkened to match) rather than adding a page-specific light-nav
   mode to the shared header. */
.v2-body .art-hero{padding:calc(var(--nav-h,80px) + 80px) 0 80px;background:var(--bg,#fff);
  position:relative;overflow:hidden}
.v2-body .art-hero-photo{position:absolute;inset:-6% -6% -6% -6%;z-index:0;overflow:hidden;background:var(--panel,#f3f3f7)}
.v2-body .art-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block}
.v2-body .art-hero-bg{position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(100deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.93) 28%,rgba(255,255,255,.8) 48%,rgba(255,255,255,.5) 66%,rgba(255,255,255,.2) 80%),
    linear-gradient(180deg,rgba(255,255,255,.82) 0%,rgba(255,255,255,.5) 32%,rgba(255,255,255,.56) 60%,rgba(255,255,255,.92) 100%)}
.v2-body .art-hero .container{position:relative;z-index:2}
.v2-body .art-breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:28px;flex-wrap:wrap}
.v2-body .art-breadcrumb a{font-size:13.5px;font-weight:600;color:var(--muted);
  transition:color .2s;text-decoration:none}
.v2-body .art-breadcrumb a:hover{color:var(--text)}
.v2-body .art-breadcrumb span{color:var(--muted-2);font-size:13px}
.v2-body .art-breadcrumb .current{color:var(--text)}
.v2-body .art-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.v2-body .art-cat{padding:5px 14px;border-radius:100px;background:var(--blue);
  color:#fff;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.v2-body .art-date{font-size:13.5px;color:var(--muted)}
.v2-body .art-read-time{display:flex;align-items:center;gap:5px;font-size:13.5px;color:var(--muted)}
.v2-body .art-read-time::before{content:"·"}
.v2-body .art-hero h1{font-family:var(--font-hero-display);font-weight:500;
  font-size:clamp(30px,4.2vw,58px);color:var(--text);max-width:16ch;
  line-height:1.08;letter-spacing:-.03em;margin:0 0 20px}
.v2-body .art-hero-lead{color:var(--muted);font-size:18px;max-width:56ch;
  line-height:1.65;margin-bottom:36px}
.v2-body .art-author-bar{display:flex;align-items:center;gap:16px;padding:24px 0;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  flex-wrap:wrap;gap:20px}
.v2-body .art-author{display:flex;align-items:center;gap:12px}
.v2-body .art-avatar{width:44px;height:44px;border-radius:50%;
  background:var(--blue);color:#fff;display:grid;place-items:center;
  font-weight:700;font-size:16px;flex:none}
.v2-body .art-author strong{font-size:14.5px;color:var(--text);display:block}
.v2-body .art-author span{font-size:12.5px;color:var(--muted)}
.v2-body .art-share{display:flex;align-items:center;gap:10px;margin-left:auto}
.v2-body .art-share-label{font-size:13px;font-weight:600;color:var(--muted)}
.v2-body .art-share-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--line-2,#dedee8);
  background:var(--card,#fafafa);display:grid;place-items:center;cursor:pointer;
  color:var(--muted);transition:all .22s}
.v2-body .art-share-btn:hover{background:var(--panel,#f3f3f7);color:var(--text);border-color:var(--line-2)}
.v2-body .art-share-btn svg{width:16px;height:16px}
.v2-body .art-body{padding:72px 0 100px}
.v2-body .art-layout{display:grid;grid-template-columns:1fr 280px;gap:64px;align-items:start}
.v2-body .art-toc{position:sticky;top:calc(var(--nav-h,72px) + 32px)}
.v2-body .toc-label{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted-2);margin-bottom:16px}
.v2-body .toc-list{list-style:none;padding:0;margin:0;display:grid;gap:0}
.v2-body .toc-list a{display:flex;align-items:flex-start;gap:10px;padding:8px 0;
  font-size:14px;color:var(--muted);border-left:2px solid var(--line);
  padding-left:14px;text-decoration:none;transition:color .2s,border-color .2s;
  line-height:1.4}
.v2-body .toc-list a:hover,
.v2-body .toc-list a.active{color:var(--blue);border-left-color:var(--blue)}
.v2-body .toc-list a.toc-sub{padding-left:28px;font-size:13px}
.v2-body .toc-progress{background:var(--panel,#f3f3f7);border-radius:var(--radius,16px);
  padding:20px;margin-top:20px;border:1px solid var(--line)}
.v2-body .toc-progress-bar{height:4px;border-radius:100px;background:var(--line);margin-bottom:8px;overflow:hidden}
.v2-body .toc-progress-fill{height:100%;border-radius:100px;background:var(--blue);width:35%;transition:width .3s}
.v2-body .toc-progress-label{font-size:12px;color:var(--muted-2)}
.v2-body .art-content h2{font-family:var(--font-display);font-weight:500;
  font-size:clamp(24px,2.5vw,34px);color:var(--text);
  margin:52px 0 18px;letter-spacing:-.02em;line-height:1.18}
.v2-body .art-content h3{font-family:var(--font-display);font-weight:500;
  font-size:clamp(20px,1.9vw,26px);color:var(--text);
  margin:36px 0 14px;letter-spacing:-.015em;line-height:1.25}
.v2-body .art-content p{font-size:17px;line-height:1.78;color:var(--text,#2a2a3d);
  margin:0 0 24px;font-weight:400}
.v2-body .art-content ul,
.v2-body .art-content ol{margin:0 0 24px;padding-left:0;list-style:none;display:grid;gap:10px}
.v2-body .art-content ul li{display:flex;align-items:flex-start;gap:12px;font-size:16.5px;
  line-height:1.65;color:var(--text)}
.v2-body .art-content ul li::before{content:"";width:7px;height:7px;border-radius:50%;
  background:var(--blue);flex:none;margin-top:9px}
.v2-body .art-content ol{counter-reset:ol-count}
.v2-body .art-content ol li{display:flex;align-items:flex-start;gap:14px;font-size:16.5px;
  line-height:1.65;color:var(--text);counter-increment:ol-count}
.v2-body .art-content ol li::before{content:counter(ol-count);font-family:var(--font-display);
  font-weight:500;font-size:20px;color:var(--blue);line-height:1;flex:none;min-width:24px}
.v2-body .art-content a{color:var(--blue);font-weight:600;text-decoration:underline;
  text-decoration-color:var(--blue-soft);text-underline-offset:3px;
  transition:text-decoration-color .2s}
.v2-body .art-content a:hover{text-decoration-color:var(--blue)}
.v2-body .art-pullquote{border-left:3px solid var(--red);padding:28px 32px;margin:40px 0;
  background:var(--paper,#fafaf5);border-radius:0 var(--radius,16px) var(--radius,16px) 0}
.v2-body .art-pullquote p{font-family:var(--font-display);font-weight:400;
  font-size:clamp(20px,2vw,26px);color:var(--text);line-height:1.4;
  letter-spacing:-.01em;margin:0}
.v2-body .art-pullquote cite{display:block;font-size:13.5px;font-weight:600;
  color:var(--muted);margin-top:12px;font-style:normal}
.v2-body .art-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:40px 0}
.v2-body .art-stat-box{background:var(--card,#fafafa);border:1.5px solid var(--line);
  border-radius:var(--radius,16px);padding:24px;text-align:center}
.v2-body .art-stat-box .asb-n{font-family:var(--font-display);font-weight:500;
  font-size:42px;color:var(--text);letter-spacing:-.025em;line-height:1}
.v2-body .art-stat-box .asb-n span{color:var(--red)}
.v2-body .art-stat-box .asb-l{font-size:13px;color:var(--muted);margin-top:8px;line-height:1.4}
.v2-body .art-highlight{background:var(--blue-soft);border:1.5px solid rgba(47,75,192,.15);
  border-radius:var(--radius,16px);padding:28px 32px;margin:36px 0}
.v2-body .art-highlight strong{font-size:14px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--blue);display:block;margin-bottom:10px}
.v2-body .art-highlight p{font-size:16px;color:var(--text);margin:0;line-height:1.6}
.v2-body .art-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px;
  padding-top:32px;border-top:1px solid var(--line)}
.v2-body .art-tags-label{font-size:13px;font-weight:700;color:var(--muted-2);margin-right:4px;
  display:flex;align-items:center}
.v2-body .art-tag{padding:6px 14px;border-radius:100px;border:1.5px solid var(--line);
  font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .22s}
.v2-body .art-tag:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}
.v2-body .art-author-bio{background:var(--panel,#f3f3f7);border:1.5px solid var(--line);
  border-radius:var(--radius,16px);padding:36px;margin-top:48px;
  display:flex;gap:24px;align-items:flex-start}
.v2-body .art-bio-avatar{width:72px;height:72px;border-radius:50%;
  background:var(--blue);color:#fff;display:grid;place-items:center;
  font-weight:700;font-size:24px;flex:none}
.v2-body .art-bio-name{font-weight:700;font-size:17px;color:var(--text);margin:0 0 4px}
.v2-body .art-bio-role{font-size:13.5px;color:var(--muted-2);margin-bottom:12px}
.v2-body .art-bio-text{font-size:14.5px;color:var(--muted);line-height:1.6;margin:0}
.v2-body .art-related{padding:80px 0}
.v2-body .art-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.v2-body .rel-card{background:var(--card,#fafafa);border:1.5px solid var(--line);
  border-radius:var(--radius,16px);overflow:hidden;
  transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s}
.v2-body .rel-card:hover{transform:translateY(-4px);box-shadow:0 14px 36px -14px rgba(24,16,56,.15)}
.v2-body .rel-card-img{height:160px;background:linear-gradient(135deg,#1e2870,#0f1240);position:relative}
.v2-body .rel-card-body{padding:20px}
.v2-body .rel-cat{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--blue);margin-bottom:8px}
.v2-body .rel-card h4{font-family:var(--font-display);font-weight:500;font-size:17px;
  color:var(--text);margin:0 0 8px;line-height:1.35;letter-spacing:-.01em}
.v2-body .rel-card span{font-size:12.5px;color:var(--muted-2)}
.v2-body .reading-progress{position:fixed;top:0;left:0;height:3px;background:var(--blue);
  z-index:9999;transition:width .1s linear;width:0}
@media(max-width:1099px){
.v2-body .art-layout{grid-template-columns:1fr}
.v2-body .art-toc{position:static;margin-bottom:40px;
    background:var(--panel);border-radius:var(--radius);padding:24px;order:-1}
.v2-body .art-toc .toc-progress{display:none}
}
@media(max-width:767px){
.v2-body .art-stat-row{grid-template-columns:1fr 1fr}
.v2-body .art-related-grid{grid-template-columns:1fr}
.v2-body .art-author-bio{flex-direction:column;gap:16px}
.v2-body .art-cover{height:280px}
.v2-body .art-share{margin-left:0}
}
@media(max-width:575px){
.v2-body .art-stat-row{grid-template-columns:1fr}
}

