/* FINOWA Design System v2 — article index */
.finowa-articles-v2{
  --a2-bg:#fbfaf6;
  --a2-surface:#fff;
  --a2-ink:#102a43;
  --a2-muted:#647382;
  --a2-green:#0f6b50;
  --a2-green-soft:#edf5f1;
  --a2-line:#e4e0d8;
  background:var(--a2-bg);
  color:var(--a2-ink);
}
.finowa-articles-v2 .a2-shell{width:min(1040px,calc(100% - 40px));margin-inline:auto}
.finowa-articles-v2 .a2-hero{padding:58px 0 40px;border-bottom:1px solid var(--a2-line);background:linear-gradient(135deg,#f8f4eb,#fff 58%,#edf5f1)}
.finowa-articles-v2 .a2-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:36px;align-items:end}
.finowa-articles-v2 .a2-kicker{margin:0 0 8px;color:var(--a2-green);font-size:11px;font-weight:900;letter-spacing:.15em}
.finowa-articles-v2 .a2-hero h1{margin:0;font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(40px,5vw,58px);line-height:1.2}
.finowa-articles-v2 .a2-hero p{max-width:680px;margin:15px 0 0;color:#455d6e;font-size:15px;line-height:1.85}
.finowa-articles-v2 .a2-count{display:grid;place-items:center;min-width:104px;min-height:88px;padding:12px;border:1px solid #d8e4de;border-radius:18px;background:#fff}
.finowa-articles-v2 .a2-count strong{font-size:28px;color:var(--a2-green)}
.finowa-articles-v2 .a2-count span{font-size:11px;color:var(--a2-muted)}

.finowa-articles-v2 .a2-controls{position:sticky;top:0;z-index:15;padding:16px 0;border-bottom:1px solid var(--a2-line);background:rgba(251,250,246,.94);backdrop-filter:blur(12px)}
.finowa-articles-v2 .a2-controls-inner{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:16px;align-items:center}
.finowa-articles-v2 .a2-search{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 14px;border:1px solid var(--a2-line);border-radius:999px;background:#fff}
.finowa-articles-v2 .a2-search img{width:20px;height:20px}
.finowa-articles-v2 .a2-search input{width:100%;border:0;outline:0;background:transparent;color:var(--a2-ink);font:inherit}
.finowa-articles-v2 .a2-filter-group{display:flex;flex-wrap:wrap;gap:8px}
.finowa-articles-v2 .a2-filter{min-height:40px;padding:8px 14px;border:1px solid var(--a2-line);border-radius:999px;background:#fff;color:var(--a2-ink);font-size:12px;font-weight:800;cursor:pointer}
.finowa-articles-v2 .a2-filter[aria-pressed="true"]{border-color:var(--a2-green);background:var(--a2-green);color:#fff}

.finowa-articles-v2 .a2-section{padding:44px 0 64px}
.finowa-articles-v2 .a2-status{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px;color:var(--a2-muted);font-size:12px}
.finowa-articles-v2 .a2-list{border-top:1px solid var(--a2-line)}
.finowa-articles-v2 .a2-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:15px;align-items:center;padding:17px 2px;border:0;border-bottom:1px solid var(--a2-line);border-radius:0;background:transparent;box-shadow:none;overflow:visible;color:inherit;text-decoration:none}
.finowa-articles-v2 .a2-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--a2-green-soft)}
.finowa-articles-v2 .a2-icon img{width:26px;height:26px}
.finowa-articles-v2 .a2-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:4px;color:var(--a2-muted);font-size:10px}
.finowa-articles-v2 .a2-meta b{color:var(--a2-green);font-size:10px;letter-spacing:.04em}
.finowa-articles-v2 .a2-row h2{margin:0;font-size:15px;line-height:1.58;letter-spacing:-.01em}
.finowa-articles-v2 .a2-row i{color:var(--a2-green);font-style:normal;font-weight:900}
.finowa-articles-v2 .a2-load-more{display:flex;justify-content:center;margin-top:26px}
.finowa-articles-v2 .a2-load-more button{min-width:180px;min-height:44px;padding:10px 18px;border:1px solid var(--a2-green);border-radius:999px;background:#fff;color:var(--a2-green);font-weight:900;cursor:pointer}
.finowa-articles-v2 .a2-empty{padding:48px 0;text-align:center;color:var(--a2-muted)}
.finowa-articles-v2 .a2-hub-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:54px}
.finowa-articles-v2 .a2-hub-link{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding:18px;border:1px solid var(--a2-line);border-radius:15px;background:#fff;color:inherit;text-decoration:none}
.finowa-articles-v2 .a2-hub-link img{width:28px;height:28px}
.finowa-articles-v2 .a2-hub-link strong{font-size:14px}
.finowa-articles-v2 .a2-hub-link span{color:var(--a2-green)}

.finowa-articles-v2 .site-header{position:relative}
.finowa-articles-v2 .brand .logo-12h img{display:block;width:152px;max-width:100%;height:auto}
.finowa-articles-v2 .brand:after{content:none}

@media(max-width:760px){
  .finowa-articles-v2 .a2-shell{width:calc(100% - 28px)}
  .finowa-articles-v2 .a2-hero{padding:40px 0 30px}
  .finowa-articles-v2 .a2-hero-grid{grid-template-columns:1fr}
  .finowa-articles-v2 .a2-count{display:none}
  .finowa-articles-v2 .a2-hero h1{font-size:36px}
  .finowa-articles-v2 .a2-controls{position:relative;padding:14px 0}
  .finowa-articles-v2 .a2-controls-inner{grid-template-columns:1fr}
  .finowa-articles-v2 .a2-filter-group{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
  .finowa-articles-v2 .a2-filter{padding:7px 6px;font-size:11px}
  .finowa-articles-v2 .a2-section{padding:30px 0 50px}
  .finowa-articles-v2 .a2-row{grid-template-columns:42px minmax(0,1fr) 10px;gap:10px;padding:14px 1px}
  .finowa-articles-v2 .a2-icon{width:40px;height:40px}
  .finowa-articles-v2 .a2-icon img{width:24px;height:24px}
  .finowa-articles-v2 .a2-row h2{font-size:14px;line-height:1.55}
  .finowa-articles-v2 .a2-status{align-items:flex-start}
  .finowa-articles-v2 .a2-hub-links{grid-template-columns:1fr;margin-top:38px}
  .finowa-articles-v2 .header-actions>.btn{display:none}
  .finowa-articles-v2 .v27-mobile-nav{display:block}
  .finowa-articles-v2 .v27-mobile-nav summary{writing-mode:horizontal-tb;white-space:nowrap}
}

/* Search recovery controls use the same accessible focus treatment as filters. */
.a2-feed-note{padding:14px 18px;border:1px solid #dbe4ee;border-radius:12px;color:#1e3a5f;background:#fff}
.a2-feed-note[hidden]{display:none}
.a2-empty button{min-height:44px;margin-top:12px;padding:10px 18px;border:1px solid #2f6b57;border-radius:8px;background:#fff;color:#2f6b57;font:inherit;cursor:pointer}
.a2-empty button:focus-visible{outline:3px solid #2f6b57;outline-offset:3px}
