/*
Theme Name: Blue Polaris Knowledge
Theme URI: https://www.blue-polaris.co.jp/knowledge/
Author: Blue Polaris
Description: Blue Polaris ナレッジ（オウンドメディア）専用テーマ。コーポレートサイトの knowledge.html のデザインを踏襲。
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: bp-knowledge
*/

:root{
  --navy-deep:#12293c;
  --navy:#1c4863;
  --paper:#f4f9fb;
  --paper-line:#d8e6ee;
  --ink:#16232e;
  --ink-soft:#4b6577;
  --gold:#2f6690;
  --gold-soft:#5ad1ef;
  --mist:#8fb8cf;
  --serif:"Hiragino Mincho ProN","Yu Mincho","YuMincho",serif;
  --sans:"Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic","Noto Sans JP",sans-serif;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; scroll-padding-top:90px;}
body{background:var(--paper); color:var(--ink); font-family:var(--sans); line-height:1.9; -webkit-font-smoothing:antialiased; overflow-x:hidden;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; height:auto;}
svg{display:block;}
.screen-reader-text{position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px);}

/* ===== NAV ===== */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:22px clamp(20px,5vw,64px);
  transition:background .5s ease, padding .4s ease, box-shadow .4s ease;
}
body.admin-bar .nav{top:32px;}
@media(max-width:782px){ body.admin-bar .nav{top:46px;} }
.nav.scrolled{
  background:rgba(244,249,251,.92); backdrop-filter:blur(6px); padding:14px clamp(20px,5vw,64px);
  box-shadow:0 6px 20px rgba(20,50,70,.08); border-bottom:1px solid var(--paper-line);
}
.nav__brand{display:flex; align-items:center; gap:10px;}
.nav__mark{width:40px; height:28px; object-fit:contain; flex-shrink:0; display:block;}
.nav__name{font-family:var(--serif); font-size:19px; letter-spacing:.06em; color:var(--ink);}
.nav__links{display:none; gap:clamp(14px,3vw,32px); font-size:13px; letter-spacing:.08em;}
@media(min-width:760px){ .nav__links{display:flex;} }
.nav__links a{color:var(--ink-soft); position:relative; padding-bottom:4px; white-space:nowrap;}
.nav__links a::after{content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--gold); transition:width .35s ease;}
.nav__links a:hover{color:var(--ink);}
.nav__links a:hover::after{width:100%;}
.nav__links a.current{color:var(--gold);}
.nav__item{position:relative;}
.nav__dropdown{
  position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(6px);
  background:#fff; border:1px solid rgba(20,50,70,.08); border-radius:8px;
  box-shadow:0 16px 32px rgba(20,50,70,.14); padding:8px 0; min-width:150px;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .22s ease, transform .22s ease; z-index:200;
}
.nav__item:hover .nav__dropdown{opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0);}
.nav__dropdown a{display:block; padding:10px 20px; font-size:13px; color:var(--ink-soft); white-space:nowrap;}
.nav__dropdown a::after{display:none;}
.nav__dropdown a:hover{background:rgba(47,102,144,.06); color:var(--ink);}

.topbar{position:fixed; top:0; left:0; height:2px; background:var(--gold); z-index:101; width:0%; transition:width .1s linear;}

/* Mobile navigation */
.nav__toggle{display:none;width:44px;height:44px;border:1px solid rgba(36,77,104,.28);border-radius:999px;background:rgba(244,249,251,.9);color:var(--ink);align-items:center;justify-content:center;cursor:pointer;padding:0;z-index:301;}
.nav__toggle-lines,.nav__toggle-lines::before,.nav__toggle-lines::after{display:block;width:19px;height:1.5px;background:currentColor;position:relative;transition:transform .25s ease,opacity .25s ease;}
.nav__toggle-lines::before,.nav__toggle-lines::after{content:"";position:absolute;left:0;}
.nav__toggle-lines::before{top:-6px;}
.nav__toggle-lines::after{top:6px;}
.nav.menu-open .nav__toggle-lines{background:transparent;}
.nav.menu-open .nav__toggle-lines::before{top:0;transform:rotate(45deg);}
.nav.menu-open .nav__toggle-lines::after{top:0;transform:rotate(-45deg);}
@media(max-width:759px){
  .nav__toggle{display:inline-flex;}
  .nav__links{display:flex;position:fixed;top:74px;left:16px;right:16px;max-height:calc(100vh - 92px);overflow-y:auto;flex-direction:column;align-items:stretch;gap:0;padding:16px 22px 20px;background:rgba(244,249,251,.98);border:1px solid rgba(20,50,70,.1);border-radius:14px;box-shadow:0 18px 46px rgba(20,50,70,.2);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px);transition:opacity .22s ease,transform .22s ease,visibility .22s ease;z-index:300;}
  .nav.menu-open .nav__links{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
  .nav__links>a,.nav__item>a{display:block;padding:13px 4px;font-size:15px;border-bottom:1px solid rgba(20,50,70,.1);}
  .nav__item{width:100%;}
  .nav__dropdown{position:static;display:block;opacity:1;visibility:visible;pointer-events:auto;transform:none!important;min-width:0;padding:4px 0 7px 18px;background:transparent;border:0;border-bottom:1px solid rgba(20,50,70,.1);border-radius:0;box-shadow:none;}
  .nav__dropdown a{display:block;padding:8px 4px;font-size:13px;}
  .nav.scrolled .nav__toggle{color:var(--mist);border-color:var(--mist);background:rgba(24,61,84,.9);}
  body.menu-open{overflow:hidden;}
}

/* ===== HERO ===== */
.hero{
  position:relative; min-height:28vh;
  background:linear-gradient(180deg, #ffffff 0%, #eef6f9 8%, #bcdcea 16%, #5fa0c2 28%, #2a6a8c 42%, var(--navy) 70%, var(--navy-deep) 100%);
  color:#fff; display:flex; flex-direction:column; justify-content:center;
  padding:100px clamp(20px,6vw,90px) 44px; overflow:hidden;
}
.hero__stars{position:absolute; inset:0; z-index:0;}
.hero__stars span{position:absolute; width:2px; height:2px; background:#fff; border-radius:50%; opacity:.5; animation:twinkle 4s ease-in-out infinite;}
@keyframes twinkle{0%,100%{opacity:.15;} 50%{opacity:.8;}}
.hero__eyebrow{position:relative; z-index:2; font-size:12px; letter-spacing:.3em; color:var(--gold-soft); margin-bottom:16px; display:flex; align-items:center; gap:12px;}
.hero__eyebrow::before{content:""; width:34px; height:1px; background:var(--gold-soft);}
.hero__eyebrow a{color:var(--gold-soft);}
.hero__eyebrow a:hover{color:#fff;}
.hero__title{position:relative; z-index:2; font-family:var(--serif); font-weight:600; font-size:clamp(30px,5vw,52px); line-height:1.45;}
.hero__sub{position:relative; z-index:2; margin-top:14px; max-width:560px; font-size:15px; color:var(--mist); line-height:1.9;}
@media(prefers-reduced-motion:reduce){ .hero__stars span{animation:none; opacity:.4;} }

/* ===== KNOWLEDGE LIST ===== */
.reveal{opacity:0; transform:translateY(16px); transition:opacity .7s ease, transform .7s ease;}
.reveal.visible{opacity:1; transform:none;}
.no-js .reveal{opacity:1; transform:none;}

.themes{padding:100px clamp(22px,6vw,90px) 110px;}
.themes__inner{max-width:1100px; margin:0 auto;}
.tag-label{font-size:14px; letter-spacing:.1em; color:var(--ink-soft); text-align:center; margin-bottom:32px;}
.tag-bar{display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-bottom:56px;}
.tag-pill{
  font-size:12.5px; letter-spacing:.03em; color:var(--ink-soft);
  background:#fff; border:1px solid var(--paper-line); border-radius:999px;
  padding:9px 18px; transition:all .25s ease; white-space:nowrap; display:inline-block;
}
.tag-pill:hover{border-color:var(--gold); color:var(--ink);}
.tag-pill.active{background:var(--navy); border-color:var(--navy); color:#fff;}
.tag-pill.all{font-weight:600;}

.article-grid{display:grid; grid-template-columns:repeat(3,1fr); column-gap:26px; row-gap:44px;}
@media(max-width:900px){ .article-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:600px){ .article-grid{grid-template-columns:1fr;} }
.article-card{display:flex; flex-direction:column;}
.article-card__thumb{
  width:100%; aspect-ratio:1200/630; border-radius:8px; margin-bottom:16px;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 100%);
  position:relative; overflow:hidden; transition:box-shadow .3s ease;
}
.article-card__thumb img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.article-card__thumb-num{font-family:var(--serif); font-size:34px; color:rgba(255,255,255,.85); letter-spacing:.05em;}
.article-card__thumb--new{background:linear-gradient(135deg, var(--gold) 0%, var(--navy) 100%);}
.article-card__num{font-family:var(--serif); font-size:12px; color:var(--gold); letter-spacing:.1em; margin-bottom:8px;}
.article-card__title{font-family:var(--serif); font-size:15.5px; font-weight:600; color:var(--ink); line-height:1.6; margin-bottom:8px; transition:color .25s ease;}
.article-card__desc{font-size:12.5px; line-height:1.85; color:var(--ink-soft);}
.article-card__status{
  margin-top:12px; font-size:11px; letter-spacing:.08em; color:var(--mist);
  display:inline-flex; align-items:center; gap:6px; width:fit-content;
}
.article-card__status::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--mist);}
.article-card__status--new{color:var(--gold);}
.article-card__status--new::before{background:var(--gold);}
.article-card.is-link:hover .article-card__thumb{box-shadow:0 14px 32px rgba(20,50,70,.22);}
.article-card.is-link:hover .article-card__title{color:var(--gold);}

.themes__note{max-width:700px; margin:48px auto 0; font-size:12px; color:var(--ink-soft); text-align:center; line-height:1.9;}
.empty-state{text-align:center; padding:60px 20px; border:1px dashed var(--paper-line); border-radius:12px; color:var(--ink-soft); font-size:14px;}

/* Pagination */
.pagination{margin-top:64px;}
.pagination .nav-links{display:flex; justify-content:center; flex-wrap:wrap; gap:8px;}
.pagination .page-numbers{min-width:40px; height:40px; padding:0 12px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--paper-line); border-radius:999px; background:#fff; font-size:13px; color:var(--ink-soft);}
.pagination .page-numbers.current{background:var(--navy); border-color:var(--navy); color:#fff;}
.pagination a.page-numbers:hover{border-color:var(--gold); color:var(--ink);}

/* ===== FIXED PAGE TYPOGRAPHY ===== */
.entry{font-size:16px; line-height:2.05; color:var(--ink); word-wrap:break-word;}
.entry>*+*{margin-top:1.5em;}
.entry h2{
  font-family:var(--serif); font-weight:600; font-size:clamp(21px,2.6vw,26px); line-height:1.6;
  margin-top:2.8em; padding:0 0 14px; border-bottom:1px solid var(--paper-line); position:relative;
}
.entry h2::after{content:""; position:absolute; left:0; bottom:-1px; width:64px; height:2px; background:var(--gold);}
.entry h3{font-family:var(--serif); font-weight:600; font-size:19px; line-height:1.6; margin-top:2.2em; padding-left:14px; border-left:3px solid var(--gold-soft);}
.entry h4{font-size:16px; font-weight:700; margin-top:1.8em;}
.entry a{color:var(--gold); border-bottom:1px solid rgba(47,102,144,.35);}
.entry a:hover{color:var(--ink);}
.entry strong{font-weight:700; background:linear-gradient(transparent 62%, rgba(90,209,239,.28) 62%);}
.entry ul,.entry ol{padding-left:1.4em;}
.entry li+li{margin-top:.4em;}
.entry li::marker{color:var(--gold);}
.entry blockquote{border-left:3px solid var(--mist); background:#fff; padding:18px 22px; color:var(--ink-soft); font-size:15px; border-radius:0 8px 8px 0;}
.entry blockquote cite{display:block; margin-top:8px; font-size:12px; font-style:normal;}
.entry figure{margin-left:0; margin-right:0;}
.entry img{border-radius:8px;}
.entry figcaption{font-size:12px; color:var(--ink-soft); text-align:center; margin-top:8px;}
.entry table{width:100%; border-collapse:collapse; font-size:14px; line-height:1.7; background:#fff;}
.entry .wp-block-table{overflow-x:auto;}
.entry th,.entry td{border:1px solid var(--paper-line); padding:10px 14px; text-align:left; vertical-align:top;}
.entry th,.entry thead td{background:#eaf3f7; font-weight:600; color:var(--navy);}
.entry hr{border:0; height:1px; background:var(--paper-line); margin:3em 0;}
.entry code{background:#eaf3f7; padding:2px 6px; border-radius:4px; font-size:.9em;}
.entry .wp-block-buttons a,.entry .wp-block-button__link{border-bottom:0;}
/* Source list: add class "sources" in the editor (Advanced > Additional CSS class) */
.entry .sources{font-size:13px; line-height:1.8; color:var(--ink-soft); background:#fff; border:1px solid var(--paper-line); border-radius:8px; padding:18px 22px 18px 2.4em;}

.related{padding:90px clamp(22px,6vw,90px) 100px; background:#fff; border-top:1px solid var(--paper-line);}
.related__inner{max-width:1100px; margin:0 auto;}
.related__eyebrow{font-size:12px; letter-spacing:.24em; color:var(--gold); margin-bottom:12px; text-align:center;}
.related__title{font-family:var(--serif); font-size:clamp(18px,2.4vw,24px); text-align:center; margin-bottom:44px;}
.related__more{text-align:center; margin-top:48px;}
.related__more a{font-size:13px; letter-spacing:.1em; color:var(--gold); border-bottom:1px solid rgba(47,102,144,.35); padding-bottom:2px;}

/* Generic page */
.page-body{padding:70px clamp(22px,6vw,90px) 100px;}
.page-body__inner{max-width:860px; margin:0 auto;}

/* ===== CLOSING ===== */
.closing{
  background:linear-gradient(180deg, var(--paper) 0%, #e1eef4 100%);
  padding:110px clamp(22px,6vw,90px) 100px; text-align:center;
}
.closing__mark{width:96px; height:auto; margin:0 auto 26px; display:block;}
.closing__title{font-family:var(--serif); font-weight:600; font-size:clamp(18px,3.2vw,30px); line-height:1.7; color:var(--ink); white-space:nowrap;}
@media(max-width:480px){ .closing__title{font-size:clamp(13px,4.6vw,16px);} }
.closing__title em{font-style:normal; color:#2f6690;}
.closing__links{margin-top:44px; display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}
.closing__cta{
  display:inline-flex; align-items:center; gap:10px;
  padding:16px 34px; border:1px solid var(--ink);
  font-size:13px; letter-spacing:.14em; color:var(--ink);
  transition:background .35s ease, color .35s ease;
}
.closing__cta:hover{background:var(--ink); color:#fff;}

footer.site-footer{
  background:var(--navy-deep); color:var(--mist); padding:50px clamp(22px,6vw,90px);
  display:flex; flex-wrap:wrap; gap:20px; align-items:center; justify-content:space-between;
  font-size:12px; letter-spacing:.06em;
}
footer.site-footer .footer__brand{font-family:var(--serif); color:#fff; font-size:15px; letter-spacing:.08em;}

/* =========================================================
 * ARTICLE（記事テンプレート knowledge-*.html と同じデザイン）
 * ======================================================= */
  /* ARTICLE */
  .article-hero{
    position:relative; min-height:22vh;
    background:linear-gradient(180deg, #ffffff 0%, #eef6f9 8%, #bcdcea 16%, #5fa0c2 28%, #2a6a8c 42%, var(--navy) 70%, var(--navy-deep) 100%);
    color:#fff; display:flex; flex-direction:column; justify-content:center;
    padding:110px clamp(20px,6vw,90px) 40px; overflow:hidden;
  }
  .article-hero__tag{font-size:12px; letter-spacing:.24em; color:var(--gold-soft); margin-bottom:14px; display:flex; align-items:center; gap:10px;}
  .article-hero__tag::before{content:""; width:28px; height:1px; background:var(--gold-soft);}
  .article-hero__title{font-family:var(--serif); font-weight:600; font-size:clamp(26px,4vw,40px); line-height:1.5;}
  .article-hero__meta{margin-top:14px; font-size:12.5px; color:var(--mist); letter-spacing:.04em;}

  .article-body{padding:80px clamp(22px,6vw,90px) 100px;}
  .article-body__inner{max-width:720px; margin:0 auto;}
  .article-body h2{font-family:var(--serif); font-weight:600; font-size:clamp(19px,2.4vw,24px); color:var(--ink); margin:52px 0 18px; padding-top:28px; border-top:1px solid var(--paper-line);}
  .article-body h2:first-child{margin-top:0; padding-top:0; border-top:none;}
  .article-body p{font-size:15px; line-height:2; color:var(--ink-soft); margin-bottom:18px;}
  .article-body strong{color:var(--ink); font-weight:600;}
  .article-body ul{margin:0 0 18px 20px;}
  .article-body li{font-size:14.5px; line-height:1.9; color:var(--ink-soft); margin-bottom:6px;}

  .back-link{
    display:inline-flex; align-items:center; gap:8px; font-size:13px; letter-spacing:.06em; color:var(--gold);
    border-bottom:1px solid rgba(47,102,144,.35); padding-bottom:2px; margin-top:48px;
  }
  .back-link:hover{color:var(--ink);}

  /* ===== Knowledge article components ===== */
  .nav{padding-top:calc(22px + env(safe-area-inset-top,0px));}
  .article-hero{position:relative;}
  .article-hero > *:not(.hero__stars){position:relative; z-index:2;}
  .article-hero__sub{display:block; font-size:.5em; line-height:1.7; margin-top:12px; color:#e4f1f7; letter-spacing:.04em;}
  .article-hero__meta{display:flex; flex-wrap:wrap; gap:4px 24px;}
  .article-body h2{scroll-margin-top:90px;}
  .article-body h3{font-family:var(--serif); font-weight:600; font-size:17px; color:var(--ink); line-height:1.6; margin:0 0 10px;}

  .a-lead{font-family:var(--serif); font-size:17px !important; line-height:2.05 !important; color:var(--ink) !important; margin-bottom:40px !important;}

  .a-toc{border-top:1px solid var(--paper-line); border-bottom:1px solid var(--paper-line); padding:26px 0 18px; margin-bottom:12px;}
  .a-toc__label{font-size:12px !important; letter-spacing:.24em; color:var(--gold) !important; margin-bottom:10px !important;}
  .a-toc ol{list-style:none; counter-reset:toc;}
  .a-toc li{counter-increment:toc; display:flex; gap:14px; padding:7px 0; font-size:14px; line-height:1.7;}
  .a-toc li::before{content:counter(toc,decimal-leading-zero); font-family:var(--serif); color:var(--gold); font-size:13px; min-width:1.8em; padding-top:1px;}
  .a-toc a{color:var(--ink-soft); transition:color .25s ease;}
  .a-toc a:hover{color:var(--gold);}

  .a-fig{margin:34px 0 36px;}
  .a-fig figcaption{font-size:12px; color:var(--ink-soft); line-height:1.8; margin-top:12px; letter-spacing:.03em;}
  .a-bars{background:#fff; border:1px solid var(--paper-line); padding:28px 26px 20px;}
  .a-bar-row{display:grid; grid-template-columns:11em 1fr; gap:16px; align-items:center; margin-bottom:16px;}
  @media(max-width:560px){ .a-bar-row{grid-template-columns:1fr; gap:6px;} }
  .a-bar-label{font-size:13px; line-height:1.6; color:var(--ink);}
  .a-bar-label small{display:block; font-size:11px; color:var(--mist); letter-spacing:.06em;}
  .a-bar-track{height:36px;}
  .a-bar{height:100%; display:flex; align-items:center; justify-content:flex-end; padding-right:12px; min-width:6em;}
  .a-bar span{font-family:var(--serif); color:#fff; font-size:15px; letter-spacing:.04em;}
  .a-bar--jp{width:100%; background:linear-gradient(90deg,#5fa0c2,#2a6a8c);}
  .a-bar--us{width:21%; background:var(--navy-deep);}

  .a-placeholder{min-height:260px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:28px; color:#fff;
    background:linear-gradient(160deg,#5fa0c2 0%,var(--navy) 55%,var(--navy-deep) 100%);}
  .a-placeholder p{font-size:13px !important; color:var(--mist) !important; margin:0 !important;}
  .a-placeholder .a-placeholder__title{font-family:var(--serif); font-size:16px !important; color:#fff !important; margin-bottom:6px !important;}

  .a-regions{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--paper-line); border:1px solid var(--paper-line); margin:8px 0 30px;}
  @media(max-width:600px){ .a-regions{grid-template-columns:1fr;} }
  .a-region{background:#fff; padding:30px 26px;}
  .a-region__area{font-family:var(--serif); font-size:13px !important; color:var(--gold) !important; letter-spacing:.1em; margin-bottom:10px !important;}
  .a-region p:last-child{font-size:13.5px; line-height:1.95; margin-bottom:0;}

  .a-table-wrap{overflow-x:auto; margin:24px 0 30px; border:1px solid var(--paper-line);}
  .a-table{width:100%; min-width:520px; border-collapse:collapse; background:#fff; font-size:14px; line-height:1.85;}
  .a-table th,.a-table td{text-align:left; vertical-align:top; padding:16px 20px; border-bottom:1px solid var(--paper-line);}
  .a-table tr:last-child th,.a-table tr:last-child td{border-bottom:none;}
  .a-table thead th{background:var(--navy-deep); color:#fff; font-weight:400; font-size:12.5px; letter-spacing:.12em;}
  .a-table tbody th{font-family:var(--serif); font-weight:600; color:var(--ink); white-space:nowrap;}
  .a-table td{color:var(--ink-soft);}

  .a-field{background:var(--navy-deep); padding:32px 30px; margin:30px 0 36px;}
  .a-field__label{font-size:12px !important; letter-spacing:.24em; color:var(--gold-soft) !important; margin-bottom:12px !important; display:flex; align-items:center; gap:10px;}
  .a-field__label::before{content:""; width:24px; height:1px; background:var(--gold-soft);}
  .a-field p{color:#dbe8ef; font-size:14.5px; margin-bottom:0;}
  .a-field .check{background:#ffe9a8;}

  .a-stack{background:#fff; border:1px solid var(--paper-line); padding:26px;}
  .a-stack__lbl{font-size:12.5px !important; color:var(--ink) !important; margin:0 0 6px !important; letter-spacing:.06em;}
  .a-stack__bar{display:flex; height:36px; margin-bottom:20px; font-size:11.5px; color:#fff; letter-spacing:.04em;}
  .a-stack__bar span{display:flex; align-items:center; justify-content:center; white-space:nowrap; overflow:hidden;}
  .s-goods{background:var(--navy-deep);} .s-tax{background:#c2554a;} .s-air{background:#2a6a8c;} .s-us{background:var(--mist);}
  .a-legend{display:flex; flex-wrap:wrap; gap:6px 20px; font-size:12px; color:var(--ink-soft);}
  .a-legend i{display:inline-block; width:10px; height:10px; margin-right:6px; vertical-align:0;}

  .a-cta{background:linear-gradient(180deg,#fff 0%,#e1eef4 100%); border:1px solid var(--paper-line); padding:38px 32px; text-align:center; margin:44px 0;}
  .a-cta__title{font-family:var(--serif); font-size:19px !important; font-weight:600; color:var(--ink) !important; margin-bottom:10px !important;}
  .a-cta p{font-size:14px; max-width:520px; margin-left:auto; margin-right:auto;}
  .a-cta .closing__cta{margin-top:8px;}
  .a-cta--end{padding:48px 32px;}
  .a-cta--end .a-cta__title{font-size:22px !important;}

  .a-summary{background:#fff; border:1px solid var(--paper-line); padding:24px 28px 10px;}
  .a-summary li{color:var(--ink); margin-bottom:10px;}

  .a-author{display:grid; grid-template-columns:76px 1fr; gap:20px; align-items:center; border-top:1px solid var(--paper-line); border-bottom:1px solid var(--paper-line); padding:28px 0; margin-top:10px;}
  .a-author__photo{width:76px; height:76px; border-radius:50%; background:linear-gradient(135deg,var(--navy),var(--navy-deep)); color:var(--mist); display:flex; align-items:center; justify-content:center; font-size:11px;}
  .a-author__role{font-size:11px !important; letter-spacing:.2em; color:var(--gold) !important; margin-bottom:2px !important;}
  .a-author__name{font-family:var(--serif); font-size:17px !important; color:var(--ink) !important; margin-bottom:4px !important;}
  .a-author__bio{font-size:13px !important; line-height:1.85 !important; margin-bottom:0 !important;}

  .a-sources{margin-top:34px;}
  .a-sources__label{font-size:12px !important; letter-spacing:.24em; color:var(--gold) !important; margin-bottom:8px !important;}
  .a-sources ol{margin-left:20px;}
  .a-sources li{font-size:12.5px; line-height:1.9;}

  .check{display:none; background:#fff1c4; color:#7a5a00; font-size:11px; font-weight:600; letter-spacing:0; padding:1px 7px; margin:0 3px; border-radius:3px; white-space:nowrap; vertical-align:1px;}
  body.show-notes .check{display:inline;}
  .notes-toggle{position:fixed; right:16px; bottom:calc(16px + env(safe-area-inset-bottom,0px)); z-index:150; display:flex; align-items:center; gap:8px; font-size:12px; color:var(--ink-soft); background:rgba(255,255,255,.95); border:1px solid var(--paper-line); border-radius:999px; padding:8px 16px; box-shadow:0 8px 20px rgba(20,50,70,.12); cursor:pointer;}
  a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}

  /* ===== v2: original text, decorated ===== */
  .a-toc2{border-top:1px solid var(--paper-line); border-bottom:1px solid var(--paper-line); padding:26px 0 22px; margin-bottom:20px;}
  .a-toc2__grid{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--paper-line); border:1px solid var(--paper-line);}
  @media(max-width:600px){ .a-toc2__grid{grid-template-columns:1fr;} }
  .a-toc2__col{background:#fff; padding:22px 24px;}
  .a-toc2__col--bp{background:var(--navy-deep);}
  .a-toc2__part{display:block; font-family:var(--serif); font-size:15.5px; color:var(--ink); margin-bottom:10px;}
  .a-toc2__col--bp .a-toc2__part{color:#fff;}
  .a-toc2 ol{list-style:none; counter-reset:t2;}
  .a-toc2 li{counter-increment:t2; display:flex; gap:12px; font-size:13.5px; line-height:1.7; padding:5px 0; margin:0;}
  .a-toc2 li::before{content:counter(t2); font-family:var(--serif); color:var(--gold); min-width:1em;}
  .a-toc2__col--bp li::before{color:var(--gold-soft);}
  .a-toc2 a{color:var(--ink-soft); transition:color .25s ease;}
  .a-toc2__col--bp a{color:var(--mist);}
  .a-toc2 a:hover{color:var(--gold);} .a-toc2__col--bp a:hover{color:#fff;}

  .a-part{margin:64px 0 20px; display:flex; align-items:baseline; gap:18px; border-bottom:1px solid var(--ink); padding-bottom:14px;}
  .a-part__num{font-family:var(--serif); font-size:13px !important; letter-spacing:.14em; color:var(--gold) !important; margin:0 !important; white-space:nowrap;}
  .article-body .a-part__title{margin:0; padding:0; border:none; font-size:clamp(22px,3vw,28px);}
  .a-part--bp{border-bottom-color:rgba(255,255,255,.4); margin-top:0;}
  .a-part--bp .a-part__num{color:var(--gold-soft) !important;}
  .article-body .a-part--bp .a-part__title{color:#fff;}

  .ai-box{background:#fff; border:1px solid var(--paper-line); padding:34px 34px 14px; margin:22px 0 18px; position:relative;}
  @media(max-width:600px){ .ai-box{padding:26px 20px 8px;} }
  .ai-box__label{display:flex; align-items:center; gap:10px; font-size:12px !important; letter-spacing:.18em; color:var(--ink-soft) !important; margin-bottom:20px !important; padding-bottom:14px; border-bottom:1px dashed var(--paper-line);}
  .ai-box__icon{display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%; background:var(--paper); border:1px solid var(--mist); color:var(--gold); font-size:10.5px; letter-spacing:.04em; font-weight:600;}
  .article-body h3{scroll-margin-top:90px; display:flex; align-items:center; gap:12px; font-size:18px; margin:36px 0 14px;}
  .h-num{display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; flex-shrink:0; border:1px solid var(--gold); color:var(--gold); font-size:14px; border-radius:50%;}
  .src{display:inline-block; font-size:10.5px; color:var(--ink-soft); background:var(--paper); border:1px solid var(--paper-line); border-radius:999px; padding:0 9px; margin:0 3px; line-height:1.9; vertical-align:1px; letter-spacing:.02em;}

  .a-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--paper-line); border:1px solid var(--paper-line); margin:6px 0 26px;}
  @media(max-width:600px){ .a-stats{grid-template-columns:1fr;} }
  .a-stat{background:var(--paper); padding:24px 14px; text-align:center;}
  .a-stat__num{font-family:var(--serif); font-size:30px !important; line-height:1.2 !important; color:var(--gold) !important; margin:0 !important;}
  .a-stat__num small{font-size:13px; margin-left:3px;}
  .a-stat__label{font-size:11.5px !important; line-height:1.7 !important; margin:8px 0 0 !important; letter-spacing:.06em;}

  .a-checks{list-style:none; margin:4px 0 18px !important; display:grid; gap:8px;}
  .a-checks li{position:relative; padding:10px 14px 10px 40px; background:var(--paper); margin:0 !important; color:var(--ink) !important;}
  .a-checks li::before{content:""; position:absolute; left:16px; top:50%; width:10px; height:5px; border-left:1.5px solid var(--gold); border-bottom:1.5px solid var(--gold); transform:translateY(-70%) rotate(-45deg);}

  .a-cats{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--paper-line); border:1px solid var(--paper-line); margin:6px 0 20px;}
  @media(max-width:600px){ .a-cats{grid-template-columns:1fr;} }
  .a-cat{background:var(--paper); padding:24px 22px 10px;}
  .a-cat--wide{grid-column:1/-1;}
  .a-cat__num{font-family:var(--serif); font-size:20px !important; color:var(--gold) !important; line-height:1 !important; margin-bottom:6px !important;}
  .a-cat h4{font-family:var(--serif); font-weight:600; font-size:16px; color:var(--ink); margin-bottom:10px;}
  .a-cat p{font-size:13.5px; line-height:1.95; margin-bottom:12px;}
  .a-tags{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px !important;}
  .a-tags span{font-size:12.5px; color:var(--navy); background:#fff; border:1px solid var(--paper-line); border-radius:999px; padding:3px 12px; line-height:1.7;}

  .ai-end{text-align:center; font-size:12px !important; letter-spacing:.1em; color:var(--mist) !important; margin:6px 0 46px !important;}

  .bp-part{background:var(--navy-deep); margin:0 calc(-1 * clamp(22px,6vw,60px)); padding:44px clamp(22px,6vw,60px) 30px; color:#dbe8ef;}
  .bp-part p{color:#c9dbe6; font-size:15px;}
  .article-body .bp-part h3{color:#fff;}
  .bp-part .h-num{border-color:var(--gold-soft); color:var(--gold-soft);}
  .bp-big{text-align:center; border-top:1px solid rgba(255,255,255,.14); border-bottom:1px solid rgba(255,255,255,.14); padding:30px 10px; margin:30px 0;}
  .bp-big__num{font-family:var(--serif); font-size:clamp(46px,8vw,64px) !important; line-height:1 !important; color:var(--gold-soft) !important; margin:0 !important;}
  .bp-big__num small{font-size:.45em; margin-left:4px;}
  .bp-big__label{font-size:12.5px !important; letter-spacing:.1em; color:var(--mist) !important; margin:14px 0 0 !important;}
  .a-placeholder--light{background:rgba(255,255,255,.05); border:1px dashed rgba(255,255,255,.3);}
  .a-regions--bp{background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.14);}
  .a-regions--bp .a-region{background:#183a52;}
  .a-regions--bp .a-region__area{color:var(--gold-soft) !important; font-size:15px !important;}
  .a-regions--bp .a-region p:last-child{color:#c9dbe6; font-size:13.5px;}
  .a-tags--bp span{background:transparent; border-color:var(--gold-soft); color:var(--gold-soft);}
  .bp-quote{margin:26px 0; padding:4px 0 4px 24px; border-left:2px solid var(--gold-soft);}
  .bp-quote p{font-family:var(--serif); color:#fff; font-size:16px; line-height:2.05; margin:0;}

  .a-cta--dark{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.18);}
  .a-cta--dark .a-cta__title{color:#fff !important;}
  .a-cta--dark p{color:var(--mist);}
  .closing__cta--light{border-color:#fff; color:#fff;}
  .closing__cta--light:hover{background:#fff; color:var(--navy-deep);}
  .a-cta--end .a-cta__title{font-size:18px !important; line-height:1.9; max-width:560px !important; margin-bottom:24px !important;}

  /* ===== v3: readability layout ===== */
  .article-body__inner{max-width:760px;}
  .article-body p{color:#34505f;}
  .a-toc2__col:first-child{background:#e6f0f5;}

  .ai-part{background:#e6f0f5; margin:56px calc(-1 * clamp(22px,5vw,48px)) 0; padding:6px clamp(22px,5vw,48px) 38px;}
  .ai-part .a-part{margin-top:34px; border-bottom-color:var(--mist);}
  .ai-box{background:transparent; border:none; padding:0; margin:18px 0 0;}
  .ai-box__label{display:inline-flex; border:none; padding:6px 14px 6px 6px; background:#fff; border-radius:999px; margin-bottom:22px !important;}
  .ai-box > p{color:#3c5566;}
  .ai-part .article-body h3, .ai-part h3{margin-top:40px;}

  .src{background:transparent; border:none; padding:0; margin:0 0 0 6px; color:#7a9bb0; font-size:11px;}
  .src::before{content:"※"; margin-right:2px;}

  .a-stats{background:transparent; border:none; gap:10px; margin:10px 0 28px;}
  .a-stat{background:#fff; padding:22px 12px; border-top:3px solid #5fa0c2;}

  .a-checks{grid-template-columns:1fr 1fr; gap:8px;}
  @media(max-width:600px){ .a-checks{grid-template-columns:1fr;} }
  .a-checks li{background:#fff; font-size:14px;}
  .a-checks li:last-child{grid-column:1/-1;}

  .a-cats{display:flex; flex-direction:column; gap:10px; background:transparent; border:none; margin:10px 0 20px;}
  .a-cat{background:#fff; display:grid; grid-template-columns:44px 1fr; column-gap:14px; padding:22px 24px 10px 18px; border-left:3px solid #5fa0c2;}
  .a-cat > *{grid-column:2;}
  .a-cat .a-cat__num{grid-column:1; grid-row:1 / span 8; font-size:26px !important; text-align:center; padding-top:2px;}
  .a-cat h4{margin-bottom:8px;}
  .a-cat p{font-size:14px; color:#3c5566;}
  .a-tags span{background:#eef5f8; border-color:#d4e5ee;}

  .ai-end{position:relative; margin:40px 0 40px !important;}
  .ai-end::before{content:""; position:absolute; left:0; right:0; top:50%; height:1px; background:var(--paper-line);}
  .ai-end span{position:relative; background:var(--paper); padding:0 14px;}

  .bp-part{background:#fff; border:1px solid var(--paper-line); color:var(--ink); margin:0 calc(-1 * clamp(22px,5vw,48px)); padding:0 clamp(22px,5vw,48px) 34px;}
  .a-part--bp{background:var(--navy-deep); margin:0 calc(-1 * clamp(22px,5vw,48px)) 10px; padding:30px clamp(22px,5vw,48px) 26px; border-bottom:3px solid var(--gold-soft);}
  .bp-part p{color:#34505f; font-size:15px;}
  .article-body .bp-part h3{color:var(--ink);}
  .bp-part .h-num{border-color:var(--navy); color:#fff; background:var(--navy);}

  .bp-big{background:var(--navy-deep); border:none; padding:34px 16px; margin:28px 0;}
  .bp-big .bp-big__label{color:var(--mist) !important;}

  .a-regions--bp{background:transparent; border:none; gap:12px;}
  .a-regions--bp .a-region{background:#f4f9fb; border-top:3px solid #2a6a8c;}
  .a-regions--bp .a-region + .a-region{border-top-color:var(--mist);}
  .a-regions--bp .a-region__area{color:var(--navy) !important; font-family:var(--serif); font-size:16px !important;}
  .a-regions--bp .a-region p:last-child{color:#34505f;}

  .a-cta--dark{background:#e6f0f5; border:none; border-left:3px solid var(--gold-soft);}
  .a-cta--dark .a-cta__title{color:var(--ink) !important;}
  .a-cta--dark p{color:#34505f !important;}
  .closing__cta--light{background:var(--navy-deep); border-color:var(--navy-deep); color:#fff;}
  .closing__cta--light:hover{background:var(--navy); border-color:var(--navy); color:#fff;}

  .a-tags--bp span{background:#e6f0f5; border-color:transparent; color:var(--navy); font-weight:600;}
  .bp-quote{background:var(--navy-deep); border-left:3px solid var(--gold-soft); padding:26px 28px; margin:26px 0;}
  .bp-quote p{color:#fff !important; font-size:15.5px !important;}

  /* ===== v4 ===== */
  .h-num{width:auto; height:auto; border:none !important; border-radius:0; background:none !important; font-family:var(--serif); font-size:20px; color:var(--gold) !important; letter-spacing:.02em;}
  .bp-part .h-num{color:var(--navy) !important;}
  .a-map__frame{background:#fff; border:1px solid var(--paper-line); padding:10px;}
  .a-map__frame img{display:block; width:100%; height:auto;}
  .a-map__legend{display:flex; align-items:center; justify-content:center; gap:12px; margin-top:16px; font-size:12px; color:var(--ink-soft); letter-spacing:.06em;}
  .a-map__scale{display:flex;}
  .a-map__scale i{display:block; width:34px; height:12px;}
  @media(max-width:420px){ .a-map__scale i{width:24px;} }
  .bp-part .a-map__guide{font-size:13px !important; line-height:1.9; text-align:center; color:var(--ink-soft) !important; margin:10px auto 0; max-width:560px;}
  .a-map figcaption{text-align:center;}
  .a-sup{display:grid; grid-template-columns:84px 1fr; gap:22px; align-items:start; border-top:1px solid var(--paper-line); border-bottom:1px solid var(--paper-line); padding:30px 0; margin-top:8px;}
  .a-sup__photo{width:84px; height:84px; border-radius:50%; background:linear-gradient(135deg,var(--navy),var(--navy-deep)); color:#fff; font-family:var(--serif); font-size:28px; display:flex; align-items:center; justify-content:center;}
  .a-sup__role{font-size:11px !important; letter-spacing:.2em; color:var(--gold) !important; margin:0 0 2px !important;}
  .a-sup__name{font-family:var(--serif); font-size:19px !important; color:var(--ink) !important; margin:0 !important;}
  .a-sup__title{font-size:12.5px !important; color:var(--ink-soft) !important; margin:0 0 10px !important;}
  .a-sup__bio{font-size:13.5px !important; line-height:1.95 !important; margin:0 !important;}
  @media(max-width:500px){ .a-sup{grid-template-columns:1fr;} }

  .a-sup__tags{display:flex; flex-wrap:wrap; gap:6px; margin:0 0 12px !important;}
  .a-sup__tags span{font-size:11.5px; color:var(--navy); background:#e6f0f5; padding:2px 11px; border-radius:999px; letter-spacing:.03em;}
  .a-sup__link{display:inline-block; margin-top:12px; font-size:12.5px; color:var(--gold); border-bottom:1px solid rgba(47,102,144,.35); letter-spacing:.06em;}
  .a-sup__link:hover{color:var(--ink);}

  /* compact supervisor */
  .a-sup{grid-template-columns:52px 1fr; gap:16px; align-items:center; background:#fff; border:1px solid var(--paper-line); padding:18px 22px; margin-top:28px;}
  .a-sup__photo{width:52px; height:52px; font-size:20px;}
  .a-sup__head{display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 12px; margin:0 0 6px !important;}
  .a-sup__head .a-sup__role{font-size:11px; letter-spacing:.16em; color:var(--gold);}
  .a-sup__head .a-sup__name{font-family:var(--serif); font-size:16px; color:var(--ink);}
  .a-sup__head .a-sup__title{font-size:12px; color:var(--ink-soft);}
  .a-sup__bio{font-size:12.5px !important; line-height:1.85 !important;}
  .a-sup__link{margin:0 0 0 8px; font-size:12px; white-space:nowrap;}
  .a-sup__link::after{content:" ›";}
  @media(max-width:500px){ .a-sup{grid-template-columns:44px 1fr; padding:16px;} .a-sup__photo{width:44px; height:44px; font-size:17px;} }

  /* supervisor v2 (reference style) */
  .a-sup2{display:grid; grid-template-columns:150px 1fr; gap:32px; align-items:center; background:#eef2f5; padding:30px 36px; margin-top:32px;}
  .a-sup2__photo{width:150px; height:150px; border-radius:50%; background:#dfe6ec; display:flex; align-items:center; justify-content:center; text-align:center; overflow:hidden;}
  .a-sup2__photo span{font-size:11px; line-height:1.6; color:var(--ink-soft); letter-spacing:.04em;}
  .a-sup2__photo img{width:100%; height:100%; object-fit:cover; display:block;}
  .a-sup2__head{display:flex; flex-wrap:wrap; align-items:center; gap:8px 22px; margin:0 0 12px !important;}
  .a-sup2__label{border:1.5px solid var(--navy); color:var(--navy); font-weight:700; font-size:14px; padding:3px 10px; letter-spacing:.04em; line-height:1.6;}
  .a-sup2__title{color:var(--navy); font-weight:700; font-size:16px; letter-spacing:.04em;}
  .a-sup2__name{color:var(--navy); font-weight:700; font-size:24px; letter-spacing:.04em; line-height:1.3;}
  .a-sup2__bio{font-size:14px !important; line-height:1.95 !important; color:var(--ink) !important; margin:0 !important;}
  .a-sup2__link{margin-left:8px; font-size:12.5px; color:var(--gold); border-bottom:1px solid rgba(47,102,144,.35); white-space:nowrap;}
  .a-sup2__link:hover{color:var(--ink);}
  @media(max-width:640px){
    .a-sup2{grid-template-columns:1fr; justify-items:center; text-align:left; gap:18px; padding:26px 22px;}
    .a-sup2__photo{width:110px; height:110px;}
    .a-sup2__head{justify-content:center; gap:6px 14px;}
    .a-sup2__name{font-size:21px;}
  }

  /* compact supervisor v2 */
  .a-sup2{grid-template-columns:72px 1fr; gap:18px; align-items:center; padding:18px 22px; margin-top:28px;}
  .a-sup2__photo{width:72px; height:72px;}
  .a-sup2__photo span{font-size:9px; line-height:1.4;}
  .a-sup2__head{gap:4px 12px; margin:0 0 6px !important;}
  .a-sup2__label{font-size:11px; padding:1px 8px; border-width:1px;}
  .a-sup2__title{font-size:12.5px;}
  .a-sup2__name{font-size:17px;}
  .a-sup2__bio{font-size:12.5px !important; line-height:1.8 !important;}
  .a-sup2__link{font-size:12px;}
  @media(max-width:600px){
    .a-sup2{grid-template-columns:56px 1fr; justify-items:stretch; align-items:start; gap:14px; padding:16px;}
    .a-sup2__photo{width:56px; height:56px;}
    .a-sup2__head{justify-content:flex-start; gap:2px 10px;}
    .a-sup2__name{font-size:16px;}
  }

  .a-sup2__title,.a-sup2__name{font-family:var(--sans); font-weight:400; letter-spacing:.02em; color:var(--ink);}
  .a-sup2__name{font-size:16px;}
  .a-sup2__title{font-size:13px;}

  /* v5 */
  .article-hero__sub{margin-top:10px;}
  .a-checks li:last-child{grid-column:auto;}
  .ai-end{margin:44px 0 !important;}
  .ai-end span{display:inline-block; font-size:14px; font-weight:600; letter-spacing:.08em; color:var(--navy); background:#fff; border:1px solid var(--mist); border-radius:999px; padding:8px 22px;}
  .ai-end::before{background:var(--mist);}
  a.src--link{color:var(--gold); text-decoration:underline; text-decoration-color:rgba(47,102,144,.4); text-underline-offset:3px;}
  a.src--link:hover{color:var(--ink); text-decoration-color:currentColor;}

  /* ===== template version ===== */
  .a-updated{font-size:12px !important; color:var(--ink-soft) !important; letter-spacing:.06em; margin-bottom:22px !important;}
  .a-brief{display:none; background:#fff8e1; border:1px dashed #e0c36a; padding:4px 22px; margin-bottom:28px; font-size:13px;}
  body.show-notes .a-brief{display:block;}
  .a-brief summary{cursor:pointer; padding:12px 0; font-weight:600; color:#7a5a00;}
  .a-brief dl{display:grid; grid-template-columns:7em 1fr; gap:8px 16px; padding:0 0 18px; line-height:1.8; color:var(--ink);}
  .a-brief dt{color:#7a5a00; font-weight:600;}
  @media(max-width:560px){ .a-brief dl{grid-template-columns:1fr; gap:2px;} .a-brief dd{margin-bottom:8px;} }
  .a-checks--3{grid-template-columns:1fr !important;}
  .a-checks--3 li{padding-top:14px; padding-bottom:14px; line-height:1.8;}
  .a-checks--3 li::before{top:24px; transform:rotate(-45deg);}
  .a-checks--3 li strong{color:var(--navy);}
  .a-cat h3{display:block; font-family:var(--serif); font-weight:600; font-size:16px; color:var(--ink); margin:0 0 8px; gap:0;}
  .src-inline{font-size:11px; color:#7a9bb0; margin-left:6px; white-space:nowrap;}
  .src-inline .src{margin:0 0 0 2px;}
  .src-inline .src::before{content:none;}
  .a-map__guide{font-size:13px !important; line-height:1.9; text-align:center; color:var(--ink-soft) !important; margin:10px auto 0; max-width:560px;}
  .a-regions--bp{margin-top:6px;}
  .a-field .a-field__label{color:var(--gold-soft) !important;}
  .a-sources a{color:var(--gold); border-bottom:1px solid rgba(47,102,144,.35);}
  .article-body .a-field p:not(.a-field__label){color:#dbe8ef !important;}

  /* AI vs field */
  .a-method{font-size:13px !important; line-height:1.85 !important; background:#fff; border-left:3px solid var(--mist); padding:10px 16px; margin:4px 0 22px !important;}
  .a-ai{background:#fff; border:1px dashed var(--mist); padding:16px 20px 14px; margin:22px 0 18px;}
  .a-ai__head{display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin-bottom:8px;}
  .a-ai__icon{display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; border:1px solid var(--mist); color:var(--gold); font-size:10px; font-weight:600;}
  .a-ai__label{font-size:12px; letter-spacing:.14em; color:var(--ink-soft);}
  .a-ai__verdict{margin-left:auto; font-size:12px; font-weight:600; padding:2px 12px; border-radius:999px; letter-spacing:.02em;}
  .a-ai__verdict--ok{background:#e3f0f8; color:#1c4863;}
  .a-ai__verdict--partial{background:#fff1c4; color:#7a5a00;}
  .a-ai__verdict--miss{background:#f9e1de; color:#9a3328;}
  @media(max-width:560px){ .a-ai__verdict{margin-left:0;} }
  .article-body p.a-ai__quote{font-family:var(--serif); font-size:15px; line-height:1.95; color:var(--ink); margin:0;}
  .a-verify{font-weight:600; color:var(--navy) !important;}
  .a-compare{min-width:560px;}
  .a-compare td:nth-child(2){color:var(--ink-soft);}
  .a-compare td:nth-child(3){color:var(--ink); font-weight:600;}
  .a-compare + .a-summary, .a-table-wrap + .a-summary{margin-top:18px;}
  /* ===== article: overseas channel ===== */
  .a-points{background:#fff; border-top:3px solid var(--navy); padding:22px 26px 10px; margin:0 0 36px;}
  .a-points__label{font-size:12px !important; letter-spacing:.2em; color:var(--gold) !important; margin-bottom:12px !important; font-weight:600;}
  .a-points .a-checks li{background:var(--paper);}
  .a-fig .a-table-wrap{margin:0;}
  .a-fig figcaption .src-inline{white-space:normal;}
  .a-cases{display:flex; flex-direction:column; gap:10px; margin:6px 0 24px;}
  .a-case{display:grid; grid-template-columns:36px 1fr; gap:12px; background:#fff; border-left:3px solid var(--mist); padding:18px 20px 4px 14px;}
  .a-case__num{font-family:var(--serif); font-size:22px !important; color:var(--gold) !important; line-height:1.3 !important; text-align:center; margin:0 !important;}
  .a-case p:last-child{font-size:14px; line-height:1.95; margin-bottom:14px;}
  .bp-big__of{font-size:.38em !important; color:var(--mist); margin-left:8px;}
  .a-related{font-size:13px !important; color:var(--ink-soft) !important;}
  @media(max-width:600px){ .a-case{grid-template-columns:28px 1fr; padding:16px 14px 2px 10px;} }

  /* ===== v6: points box / related / table caption ===== */
  .a-points{background:#fff; border-top:3px solid var(--navy); padding:22px 26px 12px; margin:0 0 36px;}
  .a-points__label{font-size:12px !important; letter-spacing:.2em; color:var(--gold) !important; font-weight:600; margin-bottom:12px !important;}
  .a-points .a-checks li{background:var(--paper);}
  .a-related{font-size:13px !important; color:var(--ink-soft) !important; margin:-6px 0 22px !important;}
  .a-related a{color:var(--gold); text-decoration:underline; text-underline-offset:3px;}
  .a-table__cap{caption-side:top; text-align:left; font-size:13px; font-weight:600; color:var(--ink); padding:12px 20px; background:#fff; border-bottom:1px solid var(--paper-line);}
  @media(max-width:600px){ .a-points{padding:18px 16px 8px;} }

  /* ===== v7: AI x field subsections ===== */
  .a-toc li > div{flex:1;}
  .a-toc__sub{list-style:none; margin:4px 0 0 !important;}
  .a-toc__sub li{counter-increment:none; padding:2px 0; font-size:12.5px; margin:0;}
  .a-toc__sub li::before{content:"–" !important; font-family:var(--sans) !important; color:var(--mist) !important; min-width:1em !important;}
  .article-body h3.a-h3{display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; font-size:17px; margin:30px 0 14px; scroll-margin-top:90px;}
  .a-h3__chip{font-family:var(--sans); font-size:11.5px; font-weight:600; letter-spacing:.08em; padding:3px 12px; border-radius:999px; line-height:1.6;}
  .a-h3__chip--ai{background:#fff; color:var(--ink-soft); border:1px dashed var(--mist);}
  .a-h3__chip--field{background:var(--navy); color:#fff;}
  .a-aisec{background:#fff; border:1px dashed var(--mist); padding:4px 28px 10px; margin:22px 0 10px;}
  .a-aisec h3.a-h3{margin-top:22px;}
  .a-aisec .a-cat, .a-aisec .a-checks li{background:var(--paper);}
  .a-aisec .bp-big{margin:20px 0;}
  .src-inline{white-space:normal; overflow-wrap:anywhere;}
  .a-tablesrc{margin:-20px 0 18px !important; text-align:right;}
  .a-table td.a-down{color:#9a3328; font-weight:600;}
  .a-table td.a-up{color:var(--navy); font-weight:600;}
  .a-cat h4{font-family:var(--serif); font-weight:600; font-size:16px; color:var(--ink); margin-bottom:8px;}
  @media(max-width:600px){ .a-aisec{padding:2px 16px 8px; margin-left:-6px; margin-right:-6px;} }

  /* ===== BP parts: CTA (emerald) + supervisor photo ===== */
  :root{--em-d:#156B4A; --em:#1E8A5E; --em-l:#34A877; --em-h:#14603F; --em-tx:#2F5A47; --em-bg1:#F6F9F7; --em-bg2:#E6EEE9; --em-bd:#CFDDD5;}
  .a-cta2{width:100%; max-width:400px; margin:36px auto; text-align:center; display:grid; justify-items:center; gap:10px;}
  .a-cta2__catch{position:relative; display:inline-block; padding:0 24px; margin:0 !important;}
  .a-cta2__catch::before,.a-cta2__catch::after{content:""; position:absolute; top:4px; bottom:4px; width:1.5px; background:var(--ink);}
  .a-cta2__catch::before{left:4px; transform:rotate(-18deg);}
  .a-cta2__catch::after{right:4px; transform:rotate(18deg);}
  .a-cta2__catch strong{display:block; text-wrap:balance; word-break:auto-phrase; font-size:14.5px; font-weight:800; color:var(--ink); line-height:1.6;}
  .a-cta2__catch span{display:block; text-wrap:balance; word-break:auto-phrase; font-size:12px; color:var(--em-tx); line-height:1.7; margin-top:2px;}
  .a-cta2__btn{position:relative; display:flex; align-items:center; justify-content:center; width:100%; max-width:300px; min-height:44px; padding:8px 40px; border-radius:999px; color:#fff; font-weight:800; font-size:14px; letter-spacing:.04em; background:linear-gradient(90deg,var(--em-d) 0%,var(--em) 50%,var(--em-l) 100%); box-shadow:0 5px 14px rgba(21,107,74,.22); transition:transform .2s, box-shadow .2s, filter .2s;}
  .a-cta2__btn::after{content:""; position:absolute; right:20px; top:50%; width:6px; height:6px; border-top:2px solid #fff; border-right:2px solid #fff; transform:translateY(-50%) rotate(45deg);}
  .a-cta2__btn:hover{transform:translateY(-2px); box-shadow:0 9px 20px rgba(21,107,74,.28); filter:brightness(.92);}
  @media(max-width:480px){ .a-cta2__catch strong{font-size:14px;} .a-cta2__btn{font-size:13.5px;} }

  .a-cta--end{width:100%; max-width:560px; margin:44px auto; padding:32px 26px !important; text-align:center; display:grid; justify-items:center; gap:4px;
    background:linear-gradient(180deg,var(--em-bg1) 0%,var(--em-bg2) 100%); border:1px solid var(--em-bd); border-top:4px solid var(--em-l);}
  .a-cta--end .a-cta__title{color:var(--ink) !important; font-size:19px !important; line-height:1.7 !important; max-width:none !important; margin:0 0 6px !important;}
  .article-body .a-cta--end p:not(.a-cta__title){color:var(--em-tx) !important; font-size:14px; margin:0 !important;}
  .a-cta--end .closing__cta{margin:14px 0 0; background:var(--em); color:#fff; border:none; border-radius:6px; padding:14px 32px; font-weight:700; font-size:13.5px; letter-spacing:.08em;}
  .a-cta--end .closing__cta:hover{background:var(--em-h); color:#fff;}
  @media(max-width:600px){ .a-cta--end{padding:26px 18px !important;} .a-cta--end .a-cta__title{font-size:17px !important;} .a-cta--end .closing__cta{justify-self:stretch; justify-content:center;} }
  @media(prefers-reduced-motion:reduce){ .a-cta2__btn{transition:none;} .a-cta2__btn:hover{transform:none;} }

  .a-sup2__photo{background:#fff;}

  /* ===== v8: points label / TOC box / section sources ===== */
  .a-points__label{font-size:15px !important; letter-spacing:.16em;}
  .a-toc{background:#fff; border:1px solid var(--paper-line); border-top:3px solid var(--navy); padding:24px 28px 14px; margin-bottom:28px;}
  .a-toc .a-toc__label{font-size:15px !important; font-weight:600; letter-spacing:.16em; color:var(--navy) !important; margin-bottom:8px !important;}
  .a-toc > ol > li{font-size:16px; padding:12px 0; border-top:1px solid var(--paper-line);}
  .a-toc > ol > li:first-child{border-top:none;}
  .a-toc > ol > li::before{font-size:15px; font-weight:600; color:var(--gold);}
  .a-toc > ol > li > a, .a-toc > ol > li > div > a{color:var(--ink); font-weight:600;}
  .a-toc .a-toc__sub{margin-top:6px !important;}
  .a-toc .a-toc__sub li{font-size:14px; padding:4px 0;}
  .a-toc .a-toc__sub li::before{content:none !important;}
  .a-toc .a-toc__sub a{color:#34505f;}
  .a-toc a:hover{color:var(--gold) !important;}
  @media(max-width:600px){ .a-toc{padding:20px 18px 10px;} .a-toc > ol > li{font-size:15px;} .a-toc .a-toc__sub li{font-size:13.5px;} }
  .a-ref{font-size:.72em; vertical-align:super; line-height:0; margin:0 1px 0 2px; white-space:nowrap;}
  .a-ref a{color:var(--gold); font-weight:600;}
  .a-ref a:hover{text-decoration:underline;}
  .a-srcs{margin:-4px 0 26px; padding:12px 16px; background:rgba(255,255,255,.6); border-left:3px solid var(--mist);}
  .a-srcs__label{font-size:12px !important; font-weight:600; letter-spacing:.12em; color:var(--ink-soft) !important; margin:0 0 4px !important;}
  .a-srcs ul{list-style:none; margin:0 !important;}
  .a-srcs li{display:flex; gap:6px; font-size:12.5px; line-height:1.7; margin:0 0 2px; color:var(--ink-soft); scroll-margin-top:100px;}
  .a-srcs__num{color:var(--gold); font-weight:600; white-space:nowrap;}
  .a-srcs li:target{background:#fff8e1;}
  .a-srcs a{color:var(--gold); text-decoration:underline; text-decoration-color:rgba(47,102,144,.4); text-underline-offset:3px; word-break:break-word;}
  .a-case{grid-template-columns:36px 1fr 132px; grid-template-areas:"num text art"; align-items:start;}
  .a-case__num{grid-area:num;} .a-case > p:last-child{grid-area:text;}
  .a-case__art{grid-area:art; padding-bottom:14px;}
  .a-case__art svg{display:block; width:132px; height:auto;}
  @media(max-width:600px){ .a-case{grid-template-columns:28px 1fr; grid-template-areas:"num art" "num text";} .a-case__art{padding-bottom:8px;} .a-case__art svg{width:120px;} }
  /* ===== comment fixes: bigger supervisor photo / mid CTA ===== */
  .a-sup2{grid-template-columns:96px 1fr; gap:22px;}
  .a-sup2__photo{width:96px; height:96px;}
  @media(max-width:600px){ .a-sup2{grid-template-columns:72px 1fr; gap:16px;} .a-sup2__photo{width:72px; height:72px;} }
  .a-cta2{max-width:520px; gap:14px; margin:44px auto;}
  .a-cta2__catch{padding:0 32px;}
  .a-cta2__catch strong{font-size:17px;}
  .a-cta2__catch span{font-size:13.5px; margin-top:4px;}
  .a-cta2__btn{max-width:360px; min-height:54px; font-size:15.5px;}
  @media(max-width:480px){ .a-cta2__catch{padding:0 22px;} .a-cta2__catch strong{font-size:15.5px;} .a-cta2__catch span{font-size:13px;} .a-cta2__btn{font-size:15px; min-height:50px;} }
  /* ===== comment fix: case numbers removed ===== */
  .a-case{grid-template-columns:1fr 132px; grid-template-areas:"text art"; padding:18px 20px 4px 22px;}
  @media(max-width:600px){ .a-case{grid-template-columns:1fr; grid-template-areas:"art" "text"; padding:16px 16px 2px 16px;} }

/* ===== BP parts sync (パーツ集 #bp-parts-css) ===== */
/* ===== v6: points box / related / table caption ===== */
  .a-points{background:#fff; border-top:3px solid var(--navy); padding:22px 26px 12px; margin:0 0 36px;}
  .a-points__label{font-size:12px !important; letter-spacing:.2em; color:var(--gold) !important; font-weight:600; margin-bottom:12px !important;}
  .a-points .a-checks li{background:var(--paper);}
  .a-related{font-size:13px !important; color:var(--ink-soft) !important; margin:-6px 0 22px !important;}
  .a-related a{color:var(--gold); text-decoration:underline; text-underline-offset:3px;}
  .a-table__cap{caption-side:top; text-align:left; font-size:13px; font-weight:600; color:var(--ink); padding:12px 20px; background:#fff; border-bottom:1px solid var(--paper-line);}
  @media(max-width:600px){ .a-points{padding:18px 16px 8px;} }

  /* ===== v7: AI x field subsections ===== */
  .a-toc li > div{flex:1;}
  .a-toc__sub{list-style:none; margin:4px 0 0 !important;}
  .a-toc__sub li{counter-increment:none; padding:2px 0; font-size:12.5px; margin:0;}
  .a-toc__sub li::before{content:"–" !important; font-family:var(--sans) !important; color:var(--mist) !important; min-width:1em !important;}
  .article-body h3.a-h3{display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; font-size:17px; margin:30px 0 14px; scroll-margin-top:90px;}
  .a-h3__chip{font-family:var(--sans); font-size:11.5px; font-weight:600; letter-spacing:.08em; padding:3px 12px; border-radius:999px; line-height:1.6;}
  .a-h3__chip--ai{background:#fff; color:var(--ink-soft); border:1px dashed var(--mist);}
  .a-h3__chip--field{background:var(--navy); color:#fff;}
  .a-aisec{background:#fff; border:1px dashed var(--mist); padding:4px 28px 10px; margin:22px 0 10px;}
  .a-aisec h3.a-h3{margin-top:22px;}
  .a-aisec .a-cat, .a-aisec .a-checks li{background:var(--paper);}
  .a-aisec .bp-big{margin:20px 0;}
  .src-inline{white-space:normal; overflow-wrap:anywhere;}
  .a-tablesrc{margin:-20px 0 18px !important; text-align:right;}
  .a-table td.a-down{color:#9a3328; font-weight:600;}
  .a-table td.a-up{color:var(--navy); font-weight:600;}
  .a-cat h4{font-family:var(--serif); font-weight:600; font-size:16px; color:var(--ink); margin-bottom:8px;}
  @media(max-width:600px){ .a-aisec{padding:2px 16px 8px; margin-left:-6px; margin-right:-6px;} }

  /* ===== BP parts: CTA (emerald) + supervisor photo ===== */
  :root{--em-d:#156B4A; --em:#1E8A5E; --em-l:#34A877; --em-h:#14603F; --em-tx:#2F5A47; --em-bg1:#F6F9F7; --em-bg2:#E6EEE9; --em-bd:#CFDDD5;}
  .a-cta2{width:100%; max-width:480px; margin:36px auto; text-align:center; display:grid; justify-items:center; gap:10px;}
  .a-cta2__catch{position:relative; display:inline-block; padding:0 24px; margin:0 !important;}
  .a-cta2__catch::before,.a-cta2__catch::after{content:""; position:absolute; top:4px; bottom:4px; width:1.5px; background:var(--ink);}
  .a-cta2__catch::before{left:4px; transform:rotate(-18deg);}
  .a-cta2__catch::after{right:4px; transform:rotate(18deg);}
  .a-cta2__catch strong{display:block; text-wrap:balance; word-break:auto-phrase; font-size:17px; font-weight:800; color:var(--ink); line-height:1.6;}
  .a-cta2__catch span{display:block; text-wrap:balance; word-break:auto-phrase; font-size:13.5px; color:var(--em-tx); line-height:1.7; margin-top:4px;}
  .a-cta2__btn{position:relative; display:flex; align-items:center; justify-content:center; width:100%; max-width:360px; min-height:52px; padding:10px 44px; border-radius:999px; color:#fff; font-weight:800; font-size:15.5px; letter-spacing:.04em; background:linear-gradient(90deg,var(--em-d) 0%,var(--em) 50%,var(--em-l) 100%); box-shadow:0 5px 14px rgba(21,107,74,.22); transition:transform .2s, box-shadow .2s, filter .2s;}
  .a-cta2__btn::after{content:""; position:absolute; right:20px; top:50%; width:6px; height:6px; border-top:2px solid #fff; border-right:2px solid #fff; transform:translateY(-50%) rotate(45deg);}
  .a-cta2__btn:hover{transform:translateY(-2px); box-shadow:0 9px 20px rgba(21,107,74,.28); filter:brightness(.92);}
  @media(max-width:480px){ .a-cta2__catch strong{font-size:15.5px;} .a-cta2__catch span{font-size:13px;} .a-cta2__btn{font-size:14.5px; min-height:48px;} }

  .a-cta--end{width:100%; max-width:560px; margin:44px auto; padding:32px 26px !important; text-align:center; display:grid; justify-items:center; gap:4px;
    background:linear-gradient(180deg,var(--em-bg1) 0%,var(--em-bg2) 100%); border:1px solid var(--em-bd); border-top:4px solid var(--em-l);}
  .a-cta--end .a-cta__title{color:var(--ink) !important; font-size:19px !important; line-height:1.7 !important; max-width:none !important; margin:0 0 6px !important;}
  .article-body .a-cta--end p:not(.a-cta__title){color:var(--em-tx) !important; font-size:14px; margin:0 !important;}
  .a-cta--end .closing__cta{margin:14px 0 0; background:var(--em); color:#fff; border:none; border-radius:6px; padding:14px 32px; font-weight:700; font-size:13.5px; letter-spacing:.08em;}
  .a-cta--end .closing__cta:hover{background:var(--em-h); color:#fff;}
  @media(max-width:600px){ .a-cta--end{padding:26px 18px !important;} .a-cta--end .a-cta__title{font-size:17px !important;} .a-cta--end .closing__cta{justify-self:stretch; justify-content:center;} }
  @media(prefers-reduced-motion:reduce){ .a-cta2__btn{transition:none;} .a-cta2__btn:hover{transform:none;} }

  .a-sup2__photo{background:#fff;}
  .a-sup2{grid-template-columns:92px 1fr; gap:20px;}
  .a-sup2__photo{width:92px; height:92px;}
  @media(max-width:600px){ .a-sup2{grid-template-columns:68px 1fr; gap:14px;} .a-sup2__photo{width:68px; height:68px;} }

  /* ===== v8: points label / TOC box / section sources ===== */
  .a-points__label{font-size:15px !important; letter-spacing:.16em;}
  .a-toc{background:#fff; border:1px solid var(--paper-line); border-top:3px solid var(--navy); padding:24px 28px 14px; margin-bottom:28px;}
  .a-toc .a-toc__label{font-size:15px !important; font-weight:600; letter-spacing:.16em; color:var(--navy) !important; margin-bottom:8px !important;}
  .a-toc > ol > li{font-size:16px; padding:12px 0; border-top:1px solid var(--paper-line);}
  .a-toc > ol > li:first-child{border-top:none;}
  .a-toc > ol > li::before{font-size:15px; font-weight:600; color:var(--gold);}
  .a-toc > ol > li > a, .a-toc > ol > li > div > a{color:var(--ink); font-weight:600;}
  .a-toc .a-toc__sub{margin-top:6px !important;}
  .a-toc .a-toc__sub li{font-size:14px; padding:4px 0;}
  .a-toc .a-toc__sub li::before{content:none !important;}
  .a-toc .a-toc__sub a{color:#34505f;}
  .a-toc a:hover{color:var(--gold) !important;}
  @media(max-width:600px){ .a-toc{padding:20px 18px 10px;} .a-toc > ol > li{font-size:15px;} .a-toc .a-toc__sub li{font-size:13.5px;} }
  .a-ref{font-size:.72em; vertical-align:super; line-height:0; margin:0 1px 0 2px; white-space:nowrap;}
  .a-ref a{color:var(--gold); font-weight:600;}
  .a-ref a:hover{text-decoration:underline;}
  .a-srcs{margin:-4px 0 26px; padding:12px 16px; background:rgba(255,255,255,.6); border-left:3px solid var(--mist);}
  .a-srcs__label{font-size:12px !important; font-weight:600; letter-spacing:.12em; color:var(--ink-soft) !important; margin:0 0 4px !important;}
  .a-srcs ul{list-style:none; margin:0 !important;}
  .a-srcs li{display:flex; gap:6px; font-size:12.5px; line-height:1.7; margin:0 0 2px; color:var(--ink-soft); scroll-margin-top:100px;}
  .a-srcs__num{color:var(--gold); font-weight:600; white-space:nowrap;}
  .a-srcs li:target{background:#fff8e1;}
  .a-srcs a{color:var(--gold); text-decoration:underline; text-decoration-color:rgba(47,102,144,.4); text-underline-offset:3px; word-break:break-word;}
  /* ===== v9: table caption plain ===== */
  .a-table-wrap{border:none;}
  .a-table{border:1px solid var(--paper-line);}
  .a-table__cap{background:none; border:none; padding:0 0 10px; font-size:15px;}
  /* ===== v10: larger supervisor photo ===== */
  .a-sup2{grid-template-columns:112px 1fr; gap:22px;}
  .a-sup2__photo{width:112px; height:112px;}
  @media(max-width:600px){ .a-sup2{grid-template-columns:80px 1fr; gap:14px;} .a-sup2__photo{width:80px; height:80px;} }

  /* ===== v13: table caption outside the box, bold with left bar ===== */
  .a-table-wrap{border:none !important;}
  .a-table{background:transparent !important; border:none !important; border-collapse:separate !important; border-spacing:0;}
  .a-table th, .a-table td{background:#fff;}
  .a-table thead th{background:var(--navy-deep, #12293c);}
  .a-table tr > :first-child{border-left:1px solid var(--paper-line, #d8e6ee);}
  .a-table tr > :last-child{border-right:1px solid var(--paper-line, #d8e6ee);}
  .a-table tbody tr:last-child > *{border-bottom:1px solid var(--paper-line, #d8e6ee) !important;}
  .a-table__cap{background:none !important; border:none !important; border-left:4px solid var(--navy, #1c4863) !important; padding:0 0 0 12px !important; margin:0 0 10px !important; font-size:15px !important; font-weight:700 !important; line-height:1.6 !important; color:var(--ink, #16232e) !important; text-align:left;}
  /* lead with two paragraphs */
  p.a-lead + p.a-lead{margin-top:-22px !important;}
/* ===== /BP parts sync ===== */

/* WordPress 用の追加 */
.article-hero__tag a{color:var(--gold-soft);} .article-hero__tag a:hover{color:#fff;}
.article-body img{max-width:100%; height:auto;}
.article-body .wp-block-html,.article-body .wp-block-group{margin:0;}
.article-body h2{scroll-margin-top:90px;}

.a-brief,.check,.notes-toggle{display:none !important;}
