:root { --insights-ink:#18334a; --insights-navy:#061d31; --insights-line:#d9e0e6; --insights-muted:#607080; --insights-gold:#c69a45; --insights-surface:#f4f7f9; }
.article-page .site-header{background:rgba(255,255,255,.96);border-bottom-color:rgba(207,219,228,.82);box-shadow:0 8px 24px rgba(18,41,71,.08);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.insights-main{color:var(--insights-ink);background:#fff;min-height:70vh}.insights-hero{padding:152px 24px 72px;background:var(--insights-navy);color:#fff}.insights-shell{width:min(1120px,calc(100% - 48px));margin-inline:auto}.insights-kicker{margin:0 0 14px;color:#d8b66c;font:600 .78rem/1.4 Inter,sans-serif;letter-spacing:.14em}.insights-title{margin:0;font:600 clamp(2rem,4vw,3.6rem)/1.15 "Noto Serif JP",serif}.insights-lead{max-width:760px;margin:22px 0 0;line-height:1.9}.insights-content{padding:72px 0 96px}.insights-empty{padding:48px;border:1px solid var(--insights-line);background:var(--insights-surface);text-align:center}.insights-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.insights-card{border:1px solid var(--insights-line);background:#fff}.insights-card__image{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.insights-card__body{padding:24px}.insights-card__meta,.article-meta{display:flex;flex-wrap:wrap;gap:10px 18px;color:var(--insights-muted);font-size:.84rem}.insights-card__title{margin:14px 0 10px;font-size:1.18rem;line-height:1.55}.insights-card__title a{color:inherit;text-decoration:none}.insights-card__summary{margin:0;color:var(--insights-muted);line-height:1.75}.article-header{padding:150px 0 54px;border-bottom:1px solid var(--insights-line)}.article-header h1{max-width:900px;margin:20px 0;font:600 clamp(1.9rem,4vw,3.2rem)/1.4 "Noto Serif JP",serif}.article-summary{max-width:820px;margin:22px 0 0;line-height:1.9}.article-hero{width:100%;max-height:620px;margin-top:42px;object-fit:cover}.article-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(220px,1fr);gap:72px;padding:64px 0 96px}.article-body{line-height:1.95}.article-body h2{margin:2.4em 0 .8em;padding-bottom:.45em;border-bottom:1px solid var(--insights-line);font-size:1.65rem}.article-body h3{margin:2em 0 .7em;font-size:1.3rem}.article-body table{width:100%;border-collapse:collapse;margin:28px 0}.article-body th,.article-body td{padding:12px 14px;border:1px solid var(--insights-line);text-align:left;vertical-align:top}.article-body th{background:var(--insights-surface)}.article-body blockquote{margin:28px 0;padding:20px 24px;border-left:3px solid var(--insights-gold);background:var(--insights-surface)}.article-body img{max-width:100%;height:auto}.article-aside{align-self:start;padding:24px;background:var(--insights-surface)}.article-aside h2{margin:0 0 16px;font-size:1rem}.article-aside ul{margin:0;padding-left:1.2em}.article-aside li+li{margin-top:10px}.article-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:48px}.article-actions a{display:inline-block;padding:12px 18px;border:1px solid var(--insights-navy);color:var(--insights-navy);text-decoration:none}.breadcrumbs{margin-bottom:26px;color:var(--insights-muted);font-size:.86rem}.breadcrumbs a{color:inherit}
@media(max-width:820px){.insights-shell{width:min(100% - 32px,1120px)}.insights-hero{padding:118px 0 56px}.insights-grid,.article-layout{grid-template-columns:1fr}.article-header{padding-top:118px}.article-layout{gap:42px;padding-top:46px}}
@media(prefers-reduced-motion:reduce){.insights-main *,.insights-main *::before,.insights-main *::after{scroll-behavior:auto!important}}

/* Production Insights index */
.insights-list-page .site-header{background:rgba(6,29,49,.96);border-bottom-color:rgba(255,255,255,.16);box-shadow:0 8px 24px rgba(1,12,22,.16);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.insights-list-page .site-header :is(.brand-mark,.brand-name){color:#f8fafc}
.insights-list-page .site-header .global-nav{color:rgba(248,250,252,.82)}
.insights-list-page .site-header :is(.language-switcher__toggle,.language-switcher__meta,.language-switcher__current){color:rgba(248,250,252,.88)}
.insights-list-page .site-header .header-contact{border-color:rgba(248,250,252,.42);color:#f8fafc}
.insights-list-page .insights-shell{width:min(1200px,calc(100% - 64px))}
.insights-list-page .insights-hero{position:relative;overflow:hidden;padding:138px 0 58px;border-bottom:1px solid rgba(198,154,69,.38)}
.insights-list-page .insights-hero::after{position:absolute;right:max(5vw,44px);bottom:-96px;width:320px;height:320px;border:1px solid rgba(216,182,108,.12);border-radius:50%;content:"";pointer-events:none}
.insights-list-page .insights-hero .insights-shell{position:relative;z-index:1;text-align:center}
.insights-list-page .insights-kicker{margin-bottom:12px;color:#e4c77f;font-weight:700;letter-spacing:.18em}
.insights-list-page .insights-title{color:#fff;font-size:clamp(2.25rem,4vw,3.5rem);letter-spacing:.02em;text-shadow:0 2px 16px rgba(0,0,0,.22)}
.insights-list-page .insights-lead{max-width:720px;margin:18px auto 0;color:rgba(255,255,255,.78);font-size:clamp(.95rem,1.3vw,1.05rem);line-height:1.8}
.insights-list-page .hamburger span{background:#f8fafc}
.insights-list-page .breadcrumbs{color:rgba(255,255,255,.72)}
.insights-list-page .insights-content{padding:clamp(56px,6vw,80px) 0 clamp(76px,8vw,108px);background:linear-gradient(180deg,#f8fafb 0,#fff 260px)}
.insights-list-page .insights-grid{display:grid;gap:clamp(22px,2.4vw,32px);align-items:stretch}
.insights-grid--standard{grid-template-columns:repeat(3,minmax(0,1fr))}
.insights-grid--single{grid-template-columns:minmax(0,620px);justify-content:center}
.insights-grid--pair{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,850px);margin-inline:auto}
.insights-list-page .insights-card{min-width:0;height:100%;border:1px solid var(--insights-line);background:#fff;box-shadow:0 8px 28px rgba(18,51,74,.055);transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}
.insights-card__link{display:flex;height:100%;flex-direction:column;color:inherit;text-decoration:none}
.insights-card__media{display:block;overflow:hidden;border-bottom:1px solid var(--insights-line);background:#e9eef2}
.insights-card__image,.insights-card__fallback{display:block;width:100%;aspect-ratio:16/9}
.insights-card__image{object-fit:cover;transition:transform .4s ease}
.insights-card__fallback{display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#0c2c45,#061d31);font:600 clamp(1.5rem,3vw,2.2rem)/1 "Noto Serif JP",serif;letter-spacing:.03em}
.insights-card__fallback>span>span{color:#d8b66c}
.insights-list-page .insights-card__body{display:flex;flex:1;flex-direction:column;padding:clamp(22px,2.2vw,28px)}
.insights-list-page .insights-card__meta{align-items:center;gap:9px 16px;font-size:.82rem}
.insights-card__category{color:#8a6425;font-weight:600}
.insights-list-page .insights-card__title{display:-webkit-box;min-height:3.1em;margin:14px 0 10px;overflow:hidden;color:var(--insights-ink);font-size:clamp(1.08rem,1.5vw,1.22rem);line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.insights-list-page .insights-card__summary{display:-webkit-box;margin:0;overflow:hidden;color:var(--insights-muted);font-size:.94rem;line-height:1.75;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.insights-card__read{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin-top:auto;padding-top:20px;color:var(--insights-ink);font-size:.82rem;font-weight:600}
.insights-card__read>span{color:var(--insights-gold);transition:transform .24s ease}
.insights-card__link:focus-visible{outline:3px solid rgba(198,154,69,.72);outline-offset:3px}
@media(hover:hover) and (pointer:fine){.insights-list-page .insights-card:hover{border-color:#cbd5dd;box-shadow:0 14px 34px rgba(18,51,74,.1);transform:translateY(-3px)}.insights-card:hover .insights-card__image{transform:scale(1.018)}.insights-card:hover .insights-card__read>span{transform:translateX(3px)}}
@media(max-width:1100px){.insights-grid--standard{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.insights-list-page .insights-shell{width:min(100% - 40px,1200px)}.insights-list-page .insights-hero{padding:122px 0 48px}}
@media(max-width:640px){.insights-list-page .insights-shell{width:min(100% - 32px,1200px)}.insights-list-page .insights-hero{padding:108px 0 42px}.insights-list-page .insights-hero::after{right:-140px;bottom:-160px}.insights-list-page .insights-content{padding-top:44px}.insights-grid--standard,.insights-grid--pair,.insights-grid--single{grid-template-columns:minmax(0,1fr);width:100%}.insights-list-page .insights-card__title{font-size:1.08rem}}
@media(prefers-reduced-motion:reduce){.insights-list-page .insights-card,.insights-list-page .insights-card__image,.insights-card__read>span{transition-duration:.01ms!important}}

/* Editorial category navigation */
.insights-topics{padding:clamp(64px,7vw,92px) 0;background:#f1f4f6;border-bottom:1px solid #dfe5e9}
.insights-section-heading{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(360px,1fr);gap:48px;align-items:end;margin-bottom:clamp(30px,4vw,46px)}
.insights-section-heading p,.insights-list-heading p{margin:0 0 10px;color:#9a712b;font:700 .75rem/1.4 Inter,sans-serif;letter-spacing:.17em}
.insights-section-heading h2,.insights-list-heading h2{margin:0;color:var(--insights-ink);font:600 clamp(1.65rem,2.8vw,2.35rem)/1.4 "Noto Serif JP",serif}
.insights-section-heading>span{max-width:600px;color:#5c6d7a;font-size:.96rem;line-height:1.9}
.insights-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.2vw,28px)}
.insights-category-card{display:flex;min-width:0;flex-direction:column;border:1px solid #d7dfe5;color:inherit;background:#fff;text-decoration:none;box-shadow:0 8px 26px rgba(18,51,74,.045);transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}
.insights-category-card__media{display:block;overflow:hidden;background:#e6ebee}
.insights-category-card__media img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .45s ease}
.insights-category-card__body{display:flex;flex:1;flex-direction:column;padding:clamp(20px,2vw,26px)}
.insights-category-card__top{display:flex;justify-content:space-between;gap:12px;color:#7a8791;font:600 .67rem/1.4 Inter,sans-serif;letter-spacing:.1em}
.insights-category-card__top span:last-child{color:#9a712b;letter-spacing:.07em;white-space:nowrap}
.insights-category-card__body>strong{margin-top:14px;color:var(--insights-ink);font-family:"Noto Serif JP",serif;font-size:clamp(1.08rem,1.45vw,1.28rem);line-height:1.55}
.insights-category-card__description{margin-top:10px;color:#607080;font-size:.88rem;line-height:1.75}
.insights-category-card__action{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:18px;color:#233f55;font-size:.78rem;font-weight:600}
.insights-category-card__action span{color:var(--insights-gold);transition:transform .24s ease}
.insights-list-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:clamp(28px,3.5vw,42px)}
.insights-list-heading>span{flex:0 0 auto;padding-bottom:5px;color:#6a7985;font-size:.82rem}
.insights-list-heading--category{margin-top:clamp(42px,5vw,64px)}
.insights-category-tabs{display:flex;flex-wrap:wrap;gap:10px;padding:14px;border:1px solid #dbe2e7;background:#fff}
.insights-category-tabs a{display:inline-flex;align-items:center;gap:10px;padding:11px 15px;border:1px solid transparent;color:#536673;font-size:.84rem;text-decoration:none}
.insights-category-tabs a span{display:grid;min-width:22px;height:22px;place-items:center;border-radius:50%;color:#6b7a86;background:#eef2f4;font:600 .7rem/1 Inter,sans-serif}
.insights-category-tabs a[aria-current="page"]{border-color:#15364e;color:#15364e;background:#f4f7f9;font-weight:600}
.insights-category-tabs a[aria-current="page"] span{color:#fff;background:#15364e}
.insights-category-empty{display:grid;place-items:center;min-height:260px;padding:48px;border:1px solid #dbe2e7;background:#f6f8f9;text-align:center}
.insights-category-empty p{margin:0 0 22px;color:#607080}
.insights-category-empty a{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid #9daab3;color:#17364e;font-weight:600;text-decoration:none}
@media(hover:hover) and (pointer:fine){.insights-category-card:hover{border-color:#c5d0d8;box-shadow:0 14px 34px rgba(18,51,74,.09);transform:translateY(-3px)}.insights-category-card:hover img{transform:scale(1.025)}.insights-category-card:hover .insights-category-card__action span{transform:translateX(3px)}}
@media(max-width:900px){.insights-section-heading{grid-template-columns:1fr;gap:18px}.insights-category-grid{grid-template-columns:1fr}.insights-category-card{display:grid;grid-template-columns:minmax(220px,.8fr) 1fr}.insights-category-card__media img{height:100%;aspect-ratio:auto}}
@media(max-width:640px){.insights-topics{padding:52px 0}.insights-category-card{display:flex}.insights-category-card__media img{height:auto;aspect-ratio:16/9}.insights-list-heading{align-items:start}.insights-list-heading h2{font-size:1.65rem}.insights-category-tabs{display:grid;padding:10px}.insights-category-tabs a{justify-content:space-between}.insights-category-empty{min-height:220px;padding:36px 20px}}

/* Insights filters, pagination, and balanced article reading layout */
.insights-category-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px}
.insights-category-tabs a{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px}
.insights-category-tabs a .insights-category-tabs__label{display:block;min-width:0;height:auto;overflow:hidden;border-radius:0;color:inherit;background:transparent;font:inherit;text-overflow:ellipsis;white-space:nowrap}
.insights-category-tabs a .insights-category-tabs__count{display:grid;flex:0 0 auto;min-width:22px;height:22px;place-items:center;border-radius:50%;color:#6b7a86;background:#eef2f4;font:600 .7rem/1 Inter,sans-serif}
.insights-category-tabs a[aria-current="page"] .insights-category-tabs__count{color:#fff;background:#15364e}
.insights-category-tabs+.insights-list-heading{margin-top:clamp(34px,4.5vw,54px)}
.insights-pagination{display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr);gap:20px;align-items:center;margin-top:clamp(40px,5vw,64px);padding-top:28px;border-top:1px solid #dbe2e7}
.insights-pagination__direction{display:inline-flex;align-items:center;gap:9px;color:#17364e;font-size:.86rem;font-weight:600;text-decoration:none}
.insights-pagination__direction:last-child{justify-self:end}
.insights-pagination__direction.is-disabled{color:#9ca8b1}
.insights-pagination__numbers{display:flex;gap:8px}
.insights-pagination__page{display:grid;width:42px;height:42px;place-items:center;border:1px solid #ccd6dd;color:#536673;text-decoration:none}
.insights-pagination__page[aria-current="page"]{border-color:#15364e;color:#fff;background:#15364e;font-weight:700}
.article-page .insights-shell{width:min(1240px,calc(100% - 64px))}
.article-page .article-layout{grid-template-columns:minmax(0,860px) minmax(280px,320px);gap:60px}
.article-page .article-body{font-size:1.02rem;line-height:2}
.article-page .article-aside{position:sticky;top:104px;padding:28px;border-top:3px solid var(--insights-gold);box-shadow:0 10px 28px rgba(18,51,74,.06)}
@media(max-width:900px){.insights-category-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.article-page .insights-shell{width:min(100% - 32px,1240px)}.article-page .article-aside{position:static}}
@media(max-width:640px){.insights-category-tabs{grid-template-columns:1fr;padding:8px}.insights-pagination{grid-template-columns:1fr 1fr;gap:18px}.insights-pagination__numbers{grid-column:1/-1;grid-row:1;justify-content:center}.insights-pagination__direction{grid-row:2}}

/* Match the homepage FAQ tabs while preserving category URLs. */
.insights-category-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:min(100%,1080px);margin:0 auto -1px;padding:0;border:0;background:transparent;align-items:end}
.insights-category-tabs .insights-category-tab{display:inline-flex;min-width:0;min-height:62px;align-items:center;justify-content:center;padding:12px 18px;border:1px solid rgba(214,202,176,.88);border-bottom-color:rgba(183,149,85,.62);border-radius:8px 8px 0 0;color:var(--insights-ink);background:rgba(255,255,255,.86);font-size:clamp(1rem,1.05vw,1.125rem);font-weight:700;line-height:1.45;text-align:center;text-decoration:none;transition:border-color .24s ease,background-color .24s ease,box-shadow .28s ease,color .24s ease}
.insights-category-tabs .insights-category-tabs__label{display:block;min-width:0;height:auto;overflow:visible;border-radius:0;color:inherit;background:transparent;font:inherit;text-overflow:clip;white-space:normal}
.insights-category-tabs .insights-category-tabs__count{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;border:0;clip:rect(0 0 0 0);white-space:nowrap}
.insights-category-tabs .insights-category-tab.is-active{border-color:rgba(2,40,75,.98);color:#fff;background:linear-gradient(135deg,#02284b,#001d36);box-shadow:0 16px 34px rgba(2,40,75,.16)}
.insights-category-tabs .insights-category-tab.is-active .insights-category-tabs__count{color:#fff;background:rgba(255,255,255,.18)}
.insights-category-tabs .insights-category-tab:focus-visible{outline:3px solid rgba(183,149,85,.5);outline-offset:3px}
@media(hover:hover) and (pointer:fine){.insights-category-tabs .insights-category-tab:not(.is-active):hover{border-color:rgba(183,149,85,.72);background:#fff;box-shadow:0 10px 24px rgba(2,40,75,.08)}}
@media(max-width:1120px){.insights-category-tabs{grid-template-columns:1fr;gap:8px;width:min(100%,680px);margin-bottom:16px}.insights-category-tabs .insights-category-tab,.insights-category-tabs .insights-category-tab.is-active{min-height:56px;border-radius:8px}}
@media(max-width:640px){.insights-category-tabs{padding:0}.insights-category-tabs .insights-category-tab{justify-content:center}}

/* Phone article layout: the desktop two-column declaration above is more
   specific than the early generic breakpoint, so reset it explicitly here. */
@media (max-width: 820px) {
  .article-page .article-header {
    padding: calc(var(--header-h) + 38px) 0 38px;
  }

  .article-page .article-header h1 {
    margin-block: 16px;
    font-size: clamp(1.75rem, 8vw, 2.35rem);
    line-height: 1.48;
    overflow-wrap: break-word;
    word-break: normal;
  }

  .article-page .article-summary {
    margin-top: 18px;
    font-size: 1rem;
    line-height: 1.85;
  }

  .article-page .article-hero {
    max-height: none;
    margin-top: 28px;
    aspect-ratio: 16 / 10;
    object-fit: cover;
  }

  .article-page .article-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 38px;
    width: min(100% - 32px, 760px);
    padding: 42px 0 72px;
  }

  .article-page .article-body,
  .article-page .article-aside {
    width: 100%;
    min-width: 0;
  }

  .article-page .article-body {
    font-size: 1rem;
    line-height: 1.9;
    overflow-wrap: break-word;
  }

  .article-page .article-body h2 {
    font-size: clamp(1.4rem, 6.5vw, 1.7rem);
    line-height: 1.5;
  }

  .article-page .article-body h3 {
    font-size: clamp(1.16rem, 5.4vw, 1.35rem);
    line-height: 1.55;
  }

  .article-page .article-body > [role="region"] {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
  }

  .article-page .article-body table {
    min-width: 560px;
  }

  .article-page .article-aside {
    position: static;
    top: auto;
    order: 2;
    padding: 22px;
    box-shadow: none;
  }

  .article-page .article-aside a,
  .article-page .article-actions a {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    padding-block: 10px;
  }

  .article-page .breadcrumbs {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (max-width: 640px) {
  .insights-list-page .insights-list-heading {
    display: grid;
    gap: 10px;
  }

  .insights-list-page .insights-list-heading > span {
    padding: 0;
  }

  .insights-pagination__direction {
    min-height: 48px;
    padding: 8px 4px;
  }

  .insights-pagination__page {
    width: 46px;
    height: 46px;
  }
}
