/* FINOWA Design System v2 — standard article editorial layer */
body.finowa2-standard-article.ds2-article{
  --ds2a-bg:#fbfaf6;
  --ds2a-paper:#fff;
  --ds2a-ink:#102a43;
  --ds2a-muted:#637585;
  --ds2a-green:#0f6b50;
  --ds2a-green-soft:#edf5f1;
  --ds2a-line:#e4e0d8;
  background:var(--ds2a-bg);
  color:var(--ds2a-ink);
}

/* Editorial hero: remove the oversized rounded-card treatment. */
body.finowa2-standard-article.ds2-article .page-hero{
  margin:0 auto;
  padding:42px 0 28px;
  border-bottom:1px solid var(--ds2a-line);
  background:linear-gradient(135deg,#f8f4eb 0%,#fff 58%,#edf5f1 100%);
}
body.finowa2-standard-article.ds2-article .page-hero .shell{
  overflow:visible;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.finowa2-standard-article.ds2-article .page-hero .shell::after{display:none}
body.finowa2-standard-article.ds2-article .page-hero h1,
body.finowa2-standard-article.ds2-article h1{
  max-width:900px;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(34px,4.6vw,52px);
  line-height:1.3;
  letter-spacing:-.035em;
}
body.finowa2-standard-article.ds2-article .page-hero .lead{
  max-width:760px;
  margin-top:16px;
  font-size:16px;
  line-height:1.85;
}

/* Main reading column is editorial content, not another card. */
body.finowa2-standard-article.ds2-article .content-shell{
  grid-template-columns:minmax(0,760px) minmax(220px,280px);
  justify-content:center;
  gap:42px;
}
body.finowa2-standard-article.ds2-article .article-main{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.finowa2-standard-article.ds2-article .article-side{gap:14px}
body.finowa2-standard-article.ds2-article .side-card{
  padding:16px 0;
  border:0;
  border-top:1px solid var(--ds2a-line);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

/* Shared article visual. Specific article images remain untouched. */
body.finowa2-standard-article.ds2-article .ds2-article-visual{
  position:relative;
  display:grid;
  place-items:center;
  min-height:300px;
  margin:0 0 30px;
  overflow:hidden;
  border:1px solid #dbe5df;
  border-radius:18px;
  background:
    radial-gradient(circle at 50% 48%,rgba(255,255,255,.98) 0 21%,rgba(237,245,241,.96) 22% 50%,rgba(248,244,235,.98) 51% 100%);
}
body.finowa2-standard-article.ds2-article .ds2-article-visual::before,
body.finowa2-standard-article.ds2-article .ds2-article-visual::after{
  content:"";
  position:absolute;
  width:68%;
  height:68%;
  border:1px solid rgba(15,107,80,.11);
  border-radius:50%;
}
body.finowa2-standard-article.ds2-article .ds2-article-visual::after{width:44%;height:44%}
body.finowa2-standard-article.ds2-article .ds2-article-visual-inner{
  position:relative;
  z-index:2;
  display:grid;
  justify-items:center;
  gap:12px;
  text-align:center;
}
body.finowa2-standard-article.ds2-article .ds2-article-visual-icon{
  display:grid;
  place-items:center;
  width:88px;
  height:88px;
  border-radius:24px;
  background:#fff;
  box-shadow:0 14px 34px rgba(16,42,67,.08);
}
body.finowa2-standard-article.ds2-article .ds2-article-visual-icon img{width:52px;height:52px}
body.finowa2-standard-article.ds2-article .ds2-article-visual strong{
  font-size:13px;
  letter-spacing:.08em;
  color:var(--ds2a-green);
}
body.finowa2-standard-article.ds2-article .ds2-article-visual span{
  max-width:360px;
  color:var(--ds2a-muted);
  font-size:12px;
  line-height:1.65;
}

/* Remove generic legacy covers when the v2 fallback visual is present. */
body.finowa2-standard-article.ds2-article .article-cover[data-ds2-generic-cover="true"]{display:none}

/* TOC becomes a reading aid instead of another card. */
body.finowa2-standard-article.ds2-article .v27-toc{
  margin:26px 0 38px;
  padding:17px 0 17px 18px;
  border:0;
  border-left:3px solid var(--ds2a-green);
  border-radius:0;
  background:transparent;
}
body.finowa2-standard-article.ds2-article .v27-toc ol,
body.finowa2-standard-article.ds2-article .v27-toc ul{margin-bottom:0}

/* Article body typography and spacing. */
body.finowa2-standard-article.ds2-article .article-section{margin:48px 0}
body.finowa2-standard-article.ds2-article .article-section>h2{
  margin:0 0 20px;
  padding-bottom:10px;
  border-bottom:1px solid var(--ds2a-line);
  font-size:clamp(23px,3vw,30px);
}
body.finowa2-standard-article.ds2-article .article-section h3{margin-top:30px;font-size:20px}
body.finowa2-standard-article.ds2-article .article-section p,
body.finowa2-standard-article.ds2-article .article-section li{
  font-size:16px;
  line-height:1.95;
}

/* Decision summary may stay highlighted; it has a distinct semantic role. */
body.finowa2-standard-article.ds2-article .decision-summary{
  margin:28px 0 40px;
  padding:22px 24px;
  border:1px solid #d9e8e1;
  border-radius:14px;
  background:#f2f8f5;
  box-shadow:none;
}

/* Clusters / related links become editorial sections, not nested card walls. */
body.finowa2-standard-article.ds2-article .article-cluster-box,
body.finowa2-standard-article.ds2-article .article-next-box,
body.finowa2-standard-article.ds2-article .next-decision,
body.finowa2-standard-article.ds2-article .trust-block{
  margin:42px 0 0;
  padding:26px 0 0;
  border:0;
  border-top:1px solid var(--ds2a-line);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.finowa2-standard-article.ds2-article .article-cluster-grid,
body.finowa2-standard-article.ds2-article .article-next-grid,
body.finowa2-standard-article.ds2-article .next-links{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
}
body.finowa2-standard-article.ds2-article .article-cluster-card,
body.finowa2-standard-article.ds2-article .article-next-card,
body.finowa2-standard-article.ds2-article .next-links a{
  min-height:0;
  padding:15px 2px;
  border:0;
  border-bottom:1px solid var(--ds2a-line);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.finowa2-standard-article.ds2-article .article-cluster-card:hover,
body.finowa2-standard-article.ds2-article .article-next-card:hover,
body.finowa2-standard-article.ds2-article .next-links a:hover{
  transform:none;
  border-color:var(--ds2a-green);
  box-shadow:none;
}
body.finowa2-standard-article.ds2-article .article-cluster-card span,
body.finowa2-standard-article.ds2-article .article-next-card span{margin-top:4px}

/* Choices and flows may use boxes because their geometry carries meaning. */
body.finowa2-standard-article.ds2-article .article-choice-box,
body.finowa2-standard-article.ds2-article .article-flow-box,
body.finowa2-standard-article.ds2-article .article-check-box{
  border:1px solid #dde6e1;
  border-radius:14px;
  background:#f7faf8;
  box-shadow:none;
}
body.finowa2-standard-article.ds2-article .article-choice-card,
body.finowa2-standard-article.ds2-article .article-flow-step,
body.finowa2-standard-article.ds2-article .article-check-list li{
  border-color:#e1e8e4;
  border-radius:10px;
  box-shadow:none;
}

/* Tables remain tables. */
body.finowa2-standard-article.ds2-article .compare-table{
  border-radius:12px;
  box-shadow:none;
}

/* Brand consistency */
body.finowa2-standard-article.ds2-article .brand .logo-12h img,
body.finowa2-standard-article.ds2-article .site-footer .logo-12h img{display:none}
body.finowa2-standard-article.ds2-article .brand::after{
  content:"FINOWA";
  color:var(--ds2a-ink);
  font-size:22px;
  font-weight:900;
  letter-spacing:.13em;
}
body.finowa2-standard-article.ds2-article .site-footer .footer-grid>div:first-child::before{
  content:"FINOWA";
  display:block;
  margin-bottom:10px;
  color:#fff;
  font-size:22px;
  font-weight:900;
  letter-spacing:.13em;
}

@media(max-width:820px){
  body.finowa2-standard-article.ds2-article .content-shell{grid-template-columns:1fr;gap:24px}
  body.finowa2-standard-article.ds2-article .article-side{display:none}
}
@media(max-width:640px){
  body.finowa2-standard-article.ds2-article .page-hero{padding:32px 0 24px}
  body.finowa2-standard-article.ds2-article .page-hero h1,
  body.finowa2-standard-article.ds2-article h1{font-size:32px;line-height:1.4}
  body.finowa2-standard-article.ds2-article .page-hero .lead{font-size:15px}
  body.finowa2-standard-article.ds2-article .ds2-article-visual{min-height:210px;margin-bottom:24px;border-radius:14px}
  body.finowa2-standard-article.ds2-article .ds2-article-visual-icon{width:70px;height:70px;border-radius:19px}
  body.finowa2-standard-article.ds2-article .ds2-article-visual-icon img{width:42px;height:42px}
  body.finowa2-standard-article.ds2-article .article-section{margin:38px 0}
  body.finowa2-standard-article.ds2-article .article-section p,
  body.finowa2-standard-article.ds2-article .article-section li{font-size:16px;line-height:1.9}
  body.finowa2-standard-article.ds2-article .decision-summary{padding:19px 18px}
  body.finowa2-standard-article.ds2-article .article-choice-box,
  body.finowa2-standard-article.ds2-article .article-flow-box,
  body.finowa2-standard-article.ds2-article .article-check-box{padding:18px 16px}
}
