:root{--iv2-ink:#18231d;--iv2-muted:#657168;--iv2-paper:#f7f8f4;--iv2-line:#e2e7df;--iv2-green:#244b38;--iv2-lime:#d9f59b}

.iv2-shell{width:min(1180px,calc(100% - 40px));margin:auto;color:var(--iv2-ink)}

.iv2-hero{padding:90px 0 56px;max-width:850px}

.iv2-eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#52705d}

.iv2-hero h1,.iv2-category-hero h1,.iv2-article-header h1{font-size:clamp(2.5rem,6vw,5rem);line-height:1.04;letter-spacing:-.055em;font-weight:800;margin:18px 0}

.iv2-hero>p:not(.iv2-eyebrow),.iv2-category-hero>p:not(.iv2-eyebrow){max-width:690px;color:var(--iv2-muted);font-size:1.08rem;line-height:1.8}

.iv2-search{display:flex;gap:8px;margin-top:28px;padding:6px;border:1px solid var(--iv2-line);border-radius:16px;max-width:620px;background:white}

.iv2-search input{min-width:0;flex:1;padding:12px;border:0;outline:0;background:transparent}

.iv2-search button,.iv2-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--iv2-line);border-radius:10px;padding:11px 16px;background:white;color:var(--iv2-ink);font-size:.85rem;font-weight:750;text-decoration:none;cursor:pointer}

.iv2-search button,.iv2-button-primary{background:var(--iv2-ink);color:white;border-color:var(--iv2-ink)}

.iv2-categories{display:flex;flex-wrap:wrap;gap:9px;padding:0 0 32px;border-bottom:1px solid var(--iv2-line)}

.iv2-chip{padding:9px 14px;border:1px solid var(--iv2-line);border-radius:999px;background:white;text-decoration:none;color:var(--iv2-ink);font-size:.85rem;font-weight:650}

.iv2-section{padding:46px 0 80px}

.iv2-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:20px 0 26px}

.iv2-section-heading h2{font-size:clamp(1.7rem,4vw,2.6rem);letter-spacing:-.04em;font-weight:800}

.iv2-section-heading>span{color:var(--iv2-muted);font-size:.85rem}

.iv2-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}

.iv2-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--iv2-line);border-radius:18px;overflow:hidden;background:white}

.iv2-cover{display:block;aspect-ratio:16/9;background:var(--iv2-paper);overflow:hidden}

.iv2-cover img{width:100%;height:100%;object-fit:cover}

.iv2-card-body{display:flex;flex:1;flex-direction:column;padding:24px}

.iv2-card-category{font-size:.75rem;font-weight:800;letter-spacing:.04em;color:var(--iv2-green);text-decoration:none}

.iv2-card h3{font-size:1.4rem;line-height:1.3;letter-spacing:-.025em;font-weight:800;margin:12px 0}

.iv2-card h3 a{color:inherit;text-decoration:none}

.iv2-card h3 a:hover,.iv2-read:hover{color:var(--iv2-green);text-decoration:underline}

.iv2-excerpt{color:var(--iv2-muted);font-size:.93rem;line-height:1.75}

.iv2-read{margin-top:auto;padding-top:22px;font-size:.86rem;font-weight:800;text-decoration:none;color:var(--iv2-ink)}

.iv2-empty{padding:65px 20px;margin:28px 0 70px;border:1px solid var(--iv2-line);border-radius:18px;text-align:center;background:var(--iv2-paper)}

.iv2-empty h2{font-size:1.5rem;font-weight:800}.iv2-empty p{margin:10px 0 20px;color:var(--iv2-muted)}

.iv2-category-hero{padding:50px 0 42px;border-bottom:1px solid var(--iv2-line)}

.iv2-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;padding-top:28px;font-size:.8rem;color:var(--iv2-muted)}

.iv2-breadcrumb a{color:inherit;text-decoration:none}

.iv2-back{display:inline-block;margin-top:20px;font-size:.9rem;font-weight:750;color:var(--iv2-green);text-decoration:none}

.iv2-article-shell{max-width:900px}

.iv2-article-header{padding:45px 0 32px}

.iv2-article-header h1{font-size:clamp(2.5rem,6vw,4.6rem)}

.iv2-article-excerpt{font-size:1.15rem;line-height:1.8;color:var(--iv2-muted)}

.iv2-byline{display:flex;gap:18px;margin-top:22px;color:var(--iv2-muted);font-size:.82rem}

.iv2-article-cover{display:block;width:100%;max-height:560px;object-fit:cover;border-radius:18px;margin-top:30px}

.iv2-prose{font-size:1.05rem;line-height:1.9;color:#303a33;overflow-wrap:anywhere}

.iv2-prose h2{font-size:2rem;line-height:1.25;letter-spacing:-.035em;font-weight:800;margin:2.2em 0 .65em}

.iv2-prose h3{font-size:1.45rem;font-weight:800;margin:1.8em 0 .6em}

.iv2-prose p,.iv2-prose ul,.iv2-prose ol,.iv2-prose blockquote{margin:1.15em 0}

.iv2-prose ul,.iv2-prose ol{padding-left:1.5em}.iv2-prose ul{list-style:disc}.iv2-prose ol{list-style:decimal}

.iv2-prose a{color:var(--iv2-green);text-decoration:underline;text-underline-offset:3px}

.iv2-prose img{max-width:100%;height:auto;border-radius:12px}

.iv2-prose blockquote{border-left:3px solid var(--iv2-lime);padding:12px 20px;background:var(--iv2-paper)}

.iv2-article-cta{margin:65px 0 20px;padding:32px;border-radius:18px;background:var(--iv2-ink);color:white}

.iv2-article-cta h2{font-size:clamp(1.7rem,4vw,2.6rem);font-weight:800;line-height:1.2;margin:12px 0}

.iv2-article-cta p:not(.iv2-eyebrow){color:#bdc8bf;line-height:1.7}

.iv2-article-cta a{display:inline-block;margin-top:18px;padding:12px 16px;border-radius:10px;background:var(--iv2-lime);color:var(--iv2-ink);font-weight:800;text-decoration:none}

.iv2-footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:70px;padding:26px max(20px,calc((100% - 1180px)/2));border-top:1px solid var(--iv2-line);font-size:.85rem;font-weight:750}

.iv2-footer a{color:inherit;text-decoration:none}

@media(max-width:850px){.iv2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.iv2-hero{padding-top:60px}}

@media(max-width:560px){.iv2-shell{width:calc(100% - 32px)}.iv2-grid{grid-template-columns:1fr}.iv2-card-body{padding:20px}.iv2-hero{padding-top:44px}.iv2-search button{padding:10px}.iv2-article-cta{padding:24px}}

/* KITANAIKIN ARTICLE CONTENT FIX START */

/* Internal links: bold, brand-green, and accessible */

.iv2-prose a {

  color: #26734d;

  font-weight: 700;

  text-decoration: underline;

  text-decoration-thickness: 1px;

  text-underline-offset: 3px;

  overflow-wrap: anywhere;

}

.iv2-prose a:hover {

  color: #1b5438;

  text-decoration-thickness: 2px;

}

.iv2-prose a:focus-visible {

  outline: 2px solid #26734d;

  outline-offset: 3px;

  border-radius: 2px;

}

/* Article tables */

.iv2-prose table {

  display: table;

  width: 100%;

  max-width: 100%;

  border-collapse: collapse;

  table-layout: auto;

  margin: 1.5rem 0;

  font-size: 0.95rem;

  line-height: 1.65;

}

.iv2-prose thead th {

  background: #f0f5ef;

  color: #183b2b;

  font-weight: 700;

  text-align: left;

}

.iv2-prose th,

.iv2-prose td {

  border: 1px solid #dce5dc;

  padding: 0.8rem 1rem;

  vertical-align: top;

  overflow-wrap: break-word;

  word-break: normal;

  min-width: 0;

}

.iv2-prose tbody tr:nth-child(even) {

  background: #f8faf7;

}

.iv2-prose tbody tr:hover {

  background: #f0f5ef;

}

/* Scroll horizontally only when a table genuinely needs extra width */

.iv2-prose {

  min-width: 0;

  overflow-wrap: break-word;

}

.iv2-prose img {

  max-width: 100%;

  height: auto;

}

@media (max-width: 640px) {

  .iv2-prose table {

    font-size: 0.85rem;

  }

  .iv2-prose th,

  .iv2-prose td {

    padding: 0.6rem;

  }

}

/* KITANAIKIN ARTICLE CONTENT FIX END */

/* KITANAIKIN ARTICLE UX START */

.iv2-related-section,

.iv2-explore-section {

  margin: 3.5rem 0;

}

.iv2-related-heading {

  margin-bottom: 1.5rem;

}

.iv2-related-heading h2,

.iv2-explore-heading h2 {

  margin: 0.35rem 0 0;

  font-size: clamp(1.5rem, 2.5vw, 2.1rem);

  line-height: 1.2;

  font-weight: 800;

  color: #17241d;

}

.iv2-related-heading p,

.iv2-explore-heading p {

  margin-top: 0.6rem;

  color: #647168;

  line-height: 1.7;

}

.iv2-related-grid {

  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 1.25rem;

}

.iv2-related-card {

  display: flex;

  flex-direction: column;

  min-width: 0;

  padding: 1.35rem;

  border: 1px solid #e1e8e1;

  border-radius: 1.25rem;

  background: #fff;

  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;

}

.iv2-related-card:hover {

  transform: translateY(-3px);

  border-color: #a8c6ad;

  box-shadow: 0 12px 30px rgb(23 36 29 / 7%);

}

.iv2-related-card h3 {

  margin: 0.65rem 0;

  font-size: 1.1rem;

  line-height: 1.45;

  font-weight: 800;

  color: #17241d;

}

.iv2-related-card h3 a {

  color: inherit;

  text-decoration: none;

}

.iv2-related-card h3 a:hover {

  color: #26734d;

}

.iv2-related-card p {

  color: #647168;

  line-height: 1.65;

  font-size: .94rem;

}

.iv2-related-read {

  display: inline-flex;

  align-items: center;

  gap: .35rem;

  margin-top: auto;

  padding-top: 1rem;

  color: #26734d;

  font-weight: 800;

  text-decoration: none;

}

.iv2-related-read:hover {

  text-decoration: underline;

  text-underline-offset: 3px;

}

.iv2-explore-section {

  padding: 2rem;

  border-radius: 1.5rem;

  background: #f4f7f2;

}

.iv2-explore-chips {

  display: flex;

  flex-wrap: wrap;

  gap: .7rem;

  margin-top: 1.25rem;

}

.iv2-explore-chip {

  display: inline-flex;

  align-items: center;

  padding: .7rem 1rem;

  border: 1px solid #d9e4d8;

  border-radius: 999px;

  background: #fff;

  color: #26734d;

  font-weight: 700;

  text-decoration: none;

  transition: background .2s ease, border-color .2s ease;

}

.iv2-explore-chip:hover {

  background: #e5f1df;

  border-color: #a8c6ad;

}

.iv2-article-cta {

  margin: 3rem 0 2rem;

}

.iv2-article-shell > .iv2-back {

  display: inline-flex;

  align-items: center;

  margin: 1rem 0 3rem;

  padding: .85rem 1.1rem;

  border: 1px solid #dce5dc;

  border-radius: 999px;

  background: #f8faf7;

  color: #26734d;

  font-weight: 800;

  text-decoration: none;

}

.iv2-article-shell > .iv2-back:hover {

  background: #edf4eb;

}

@media (max-width: 900px) {

  .iv2-related-grid {

    grid-template-columns: repeat(2, minmax(0, 1fr));

  }

}

@media (max-width: 600px) {

  .iv2-related-grid {

    grid-template-columns: minmax(0, 1fr);

  }

  .iv2-related-section,

  .iv2-explore-section {

    margin: 2.5rem 0;

  }

  .iv2-explore-section {

    padding: 1.25rem;

  }

}

/* KITANAIKIN ARTICLE UX END */

/* KITANAIKIN CATEGORY LAYOUT START */

/* Category page: use the full content width, even with few articles */

.iv2-shell:not(.iv2-article-shell) {

  width: min(100% - 2.5rem, 1280px);

  margin-inline: auto;

  padding-bottom: clamp(4rem, 8vw, 7rem);

}

.iv2-shell:not(.iv2-article-shell) .iv2-grid {

  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  align-items: stretch;

  gap: 1.5rem;

  width: 100%;

}

.iv2-shell:not(.iv2-article-shell) .iv2-card {

  width: 100%;

  min-width: 0;

  height: 100%;

}

.iv2-shell:not(.iv2-article-shell) .iv2-card-body {

  display: flex;

  flex-direction: column;

  height: 100%;

}

.iv2-shell:not(.iv2-article-shell) .iv2-excerpt {

  flex: 1;

}

.iv2-category-hero {

  margin-bottom: clamp(2.5rem, 5vw, 4rem);

}

.iv2-shell:not(.iv2-article-shell) .iv2-section-heading {

  margin-bottom: 1.5rem;

}

.iv2-shell:not(.iv2-article-shell) .iv2-footer {

  margin-top: 0;

}

/* Ensure content never sits directly against the footer */

.iv2-shell:not(.iv2-article-shell) + .iv2-footer {

  margin-top: 0;

}

.iv2-shell:not(.iv2-article-shell) .iv2-empty {

  margin-bottom: 2rem;

}

@media (max-width: 900px) {

  .iv2-shell:not(.iv2-article-shell) .iv2-grid {

    grid-template-columns: repeat(2, minmax(0, 1fr));

  }

}

@media (max-width: 600px) {

  .iv2-shell:not(.iv2-article-shell) {

    width: min(100% - 2rem, 1280px);

    padding-bottom: 4rem;

  }

  .iv2-shell:not(.iv2-article-shell) .iv2-grid {

    grid-template-columns: minmax(0, 1fr);

    gap: 1.1rem;

  }

}

/* KITANAIKIN CATEGORY LAYOUT END */

/* =========================================================
   KITANAIKIN INSIGHTS — BRAND GREEN REFRESH
   Applies to listing, category, and article templates.
   ========================================================= */

:root {
  --iv2-ink: #18231d;
  --iv2-muted: #657168;
  --iv2-paper: #f7f8f4;
  --iv2-line: #e2e7df;
  --iv2-green: #244b38;
  --iv2-green-dark: #173b2a;
  --iv2-green-soft: #e5f1df;
  --iv2-green-border: #c9dfc4;
  --iv2-lime: #d9f59b;
}

/* Section eyebrow */
.iv2-eyebrow {
  color: #26734d;
  font-weight: 800;
}

.iv2-hero .iv2-eyebrow::before,
.iv2-category-hero .iv2-eyebrow::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 9px;
  border-radius: 50%;
  background: #26734d;
  box-shadow: 0 0 0 4px #e5f1df;
  vertical-align: middle;
}

/* Search field and primary action */
.iv2-search {
  border-color: var(--iv2-line);
}

.iv2-search input:focus {
  border-color: #26734d;
  outline: none;
  box-shadow: 0 0 0 3px rgb(38 115 77 / 12%);
}

.iv2-search button,
.iv2-search button:visited {
  background: #26734d;
  color: #fff;
  border-color: #26734d;
  transition: background-color .18s ease, border-color .18s ease,
              box-shadow .18s ease, transform .18s ease;
}

.iv2-search button:hover,
.iv2-search button:focus-visible {
  background: #1b5438;
  color: #fff;
  border-color: #1b5438;
  box-shadow: 0 5px 14px rgb(27 84 56 / 16%);
}

.iv2-search button:active {
  transform: translateY(1px);
}

/* Category chips: light green at rest, dark green on hover */
.iv2-categories .iv2-chip {
  background: #e5f1df;
  color: #1b5438;
  border-color: #c9dfc4;
  transition: background-color .18s ease, color .18s ease,
              border-color .18s ease, transform .18s ease;
}

.iv2-categories .iv2-chip:hover,
.iv2-categories .iv2-chip:focus-visible {
  background: #1b5438;
  color: #fff;
  border-color: #1b5438;
  transform: translateY(-1px);
}

/* Article category badge */
.iv2-card-category {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  padding: 5px 10px;
  border: 1px solid #c9dfc4;
  border-radius: 999px;
  background: #e5f1df;
  color: #1b5438;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1.4;
}

/* Article card title and read link */
.iv2-card h3 a:hover,
.iv2-read:hover {
  color: #26734d;
}

.iv2-read {
  color: #26734d;
  transition: color .18s ease;
}

/* Category page back link/button and breadcrumbs */
.iv2-back {
  color: #26734d;
  transition: color .18s ease, background-color .18s ease,
              border-color .18s ease;
}

.iv2-back:hover,
.iv2-article-shell > .iv2-back:hover {
  color: #1b5438;
}

.iv2-breadcrumb a {
  color: #26734d;
}

.iv2-breadcrumb a:hover {
  color: #1b5438;
}

/* Article section metadata */
.iv2-section-heading > span {
  color: #26734d;
}

/* Internal links: preserve accessible brand-green styling */
.iv2-prose a {
  color: #26734d;
}

.iv2-prose a:hover {
  color: #1b5438;
}

/* Keyboard focus */
.iv2-search button:focus-visible,
.iv2-categories .iv2-chip:focus-visible,
.iv2-back:focus-visible,
.iv2-breadcrumb a:focus-visible {
  outline: 3px solid rgb(38 115 77 / 30%);
  outline-offset: 3px;
}

/* Respect reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
  .iv2-search button,
  .iv2-categories .iv2-chip,
  .iv2-read,
  .iv2-back,
  .iv2-breadcrumb a {
    transition: none;
  }
}
