.izu-kago-guide {
  --izu-ink: #062f33;
  --izu-deep: #041f23;
  --izu-paper: #f7f5ef;
  --izu-cream: #f5f2e9;
  --izu-teal: #18b7b1;
  --izu-lime: #cbea45;
  --izu-line: rgba(6, 47, 51, 0.16);
  --izu-muted: #476267;
  --izu-text: #dce9e7;
  --izu-text-soft: #b6ccc8;
  color: var(--izu-text);
  font-size: clamp(1rem, 0.97rem + 0.14vw, 1.08rem);
  line-height: 1.88;
}

.izu-kago-guide * { box-sizing: border-box; }
body.isonosuke-izu-kago-guide .single-entry__hero { display: none; }
.izu-kago-guide > * { max-width: 820px; margin-left: auto; margin-right: auto; }
.izu-kago-guide > .izu-kago-guide__hero,
.izu-kago-guide > .izu-kago-guide__action-hub,
.izu-kago-guide > .izu-kago-guide__visual-links { max-width: 1040px; }
.izu-kago-guide h2 { margin-top: clamp(3.8rem, 9vw, 6.8rem); color: #f4fbfa; font-size: clamp(1.65rem, 1.35rem + 1.2vw, 2.45rem); line-height: 1.35; letter-spacing: .02em; }
.izu-kago-guide h3 { color: #f4fbfa; font-size: clamp(1.2rem, 1.08rem + .45vw, 1.52rem); line-height: 1.45; }
.izu-kago-guide a { color: #67d9d3; font-weight: 700; text-decoration-thickness: .08em; text-underline-offset: .2em; }
.izu-kago-guide a:focus-visible,
.izu-kago-guide summary:focus-visible { outline: 3px solid var(--izu-lime); outline-offset: 4px; }

.izu-kago-guide__hero { position: relative; min-height: min(68vh, 620px); overflow: hidden; border-radius: 0 0 32px 32px; background: var(--izu-deep); color: var(--izu-cream); isolation: isolate; }
.izu-kago-guide__hero-media { position: absolute; inset: 0; z-index: -2; }
.izu-kago-guide__hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,31,35,.96) 0%, rgba(4,31,35,.78) 48%, rgba(4,31,35,.24) 100%), linear-gradient(0deg, rgba(4,31,35,.9), transparent 56%); }
.izu-kago-guide__hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.izu-kago-guide__hero-copy { display: flex; min-height: inherit; flex-direction: column; justify-content: flex-end; width: min(760px, 100%); padding: clamp(2rem, 7vw, 5.5rem); }
.izu-kago-guide__eyebrow { margin: 0 0 .7rem; color: #0a726f; font-size: .74rem; font-weight: 850; letter-spacing: .18em; line-height: 1.4; text-transform: uppercase; }
.izu-kago-guide__hero .izu-kago-guide__eyebrow,
.izu-kago-guide__thesis .izu-kago-guide__eyebrow,
.izu-kago-guide__action-hub .izu-kago-guide__eyebrow,
.izu-kago-guide__closing .izu-kago-guide__eyebrow { color: var(--izu-lime); }
.izu-kago-guide__hero-lead { max-width: 660px; margin: 0; color: #fff; font-size: clamp(1.45rem, 1.05rem + 1.6vw, 2.55rem); font-weight: 800; line-height: 1.42; text-wrap: balance; }
.izu-kago-guide__credentials { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.6rem; }
.izu-kago-guide__credentials span { border: 1px solid rgba(255,255,255,.42); border-radius: 999px; padding: .42rem .78rem; background: rgba(4,31,35,.58); color: #fff; font-size: .76rem; font-weight: 700; line-height: 1.3; }
.izu-kago-guide__intro { margin-top: 3rem; font-size: clamp(1.16rem, 1.06rem + .45vw, 1.42rem); font-weight: 730; line-height: 1.78; }

.izu-kago-guide__thesis { margin-top: 2.8rem; border: 1px solid rgba(203,234,69,.55); border-radius: 24px; padding: clamp(1.4rem, 4vw, 2.4rem); background: var(--izu-deep); color: var(--izu-cream); box-shadow: 0 18px 50px rgba(4,31,35,.14); }
.izu-kago-guide__thesis h2 { margin: 0 0 1.2rem; color: #fff; font-size: clamp(1.42rem, 1.2rem + .85vw, 2rem); }
.izu-kago-guide__thesis ol { display: grid; gap: .8rem; margin: 0; padding: 0; list-style: none; counter-reset: thesis; }
.izu-kago-guide__thesis li { border-left: 3px solid var(--izu-lime); padding: .7rem 0 .7rem 1rem; color: #e8eeee; }
.izu-kago-guide__thesis strong { color: #fff; }

.izu-kago-guide__quick-nav { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1px; margin-top: 1.25rem; overflow: hidden; border: 1px solid var(--izu-line); border-radius: 18px; background: var(--izu-line); }
.izu-kago-guide__quick-nav a { display: flex; min-height: 66px; align-items: center; gap: .7rem; padding: .8rem 1rem; background: #fff; color: var(--izu-ink); font-size: .88rem; font-weight: 780; line-height: 1.35; text-decoration: none; }
.izu-kago-guide__quick-nav a:hover { background: #edf7f3; }
.izu-kago-guide__quick-nav span { color: #087a77; font-size: .7rem; letter-spacing: .1em; }

.izu-kago-guide__answer-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; margin-top: 2rem; }
.izu-kago-guide__answer-grid div { border: 1px solid var(--izu-line); border-radius: 14px; padding: 1rem; background: #fff; color: var(--izu-ink); }
.izu-kago-guide__answer-grid span { display: block; margin-bottom: .25rem; color: #087a77; font-size: .72rem; font-weight: 850; letter-spacing: .08em; }
.izu-kago-guide__answer-grid strong { display: block; line-height: 1.55; }

.izu-kago-guide__table-wrap { overflow-x: auto; margin-top: 1.5rem; border: 1px solid var(--izu-line); border-radius: 16px; background: #fff; color: var(--izu-ink); -webkit-overflow-scrolling: touch; }
.izu-kago-guide table { width: 100%; min-width: 680px; border-collapse: collapse; }
.izu-kago-guide th,
.izu-kago-guide td { border-bottom: 1px solid var(--izu-line); padding: .9rem 1rem; text-align: left; vertical-align: top; }
.izu-kago-guide thead th { background: var(--izu-ink); color: #fff; font-size: .82rem; letter-spacing: .04em; }
.izu-kago-guide tbody th { color: var(--izu-ink); white-space: nowrap; }
.izu-kago-guide tbody tr:last-child th,
.izu-kago-guide tbody tr:last-child td { border-bottom: 0; }
.izu-kago-guide__note { margin-top: 1rem; border-left: 4px solid var(--izu-teal); padding: .75rem 1rem; background: #edf7f3; color: #294b4f; font-size: .94rem; }
.izu-kago-guide__note a { color: #075f5c; }

.izu-kago-guide__area-grid,
.izu-kago-guide__choice-grid,
.izu-kago-guide__kit-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin-top: 1.4rem; }
.izu-kago-guide__area-grid section,
.izu-kago-guide__choice-grid section,
.izu-kago-guide__kit-grid section { border: 1px solid var(--izu-line); border-radius: 18px; padding: 1.25rem; background: #fff; color: var(--izu-ink); }
.izu-kago-guide__area-grid h3,
.izu-kago-guide__choice-grid h3,
.izu-kago-guide__kit-grid h3 { margin: .25rem 0 .65rem; color: var(--izu-ink); }
.izu-kago-guide__area-grid p:last-child,
.izu-kago-guide__kit-grid p { margin-bottom: 0; color: var(--izu-muted); font-size: .94rem; }
.izu-kago-guide__field-rule { margin-top: 1.5rem; border-radius: 16px; padding: 1.1rem 1.25rem; background: #fff7dd; color: #3e3a22; }
.izu-kago-guide__field-rule strong { display: block; color: #604d00; }
.izu-kago-guide__field-rule p { margin: .35rem 0 0; }
.izu-kago-guide__field-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; margin-top: .8rem; }
.izu-kago-guide__field-links a { display: grid; gap: .18rem; border: 1px solid var(--izu-line); border-radius: 14px; padding: 1rem; background: #edf7f3; color: var(--izu-ink); text-decoration: none; }
.izu-kago-guide__field-links a:hover { border-color: #087a77; background: #fff; }
.izu-kago-guide__field-links span { color: #087a77; font-size: .64rem; font-weight: 850; letter-spacing: .11em; }
.izu-kago-guide__field-links strong { line-height: 1.45; }
.izu-kago-guide__field-links em { color: var(--izu-muted); font-size: .75rem; font-style: normal; }
.izu-kago-guide__choice-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.izu-kago-guide__choice-grid .is-primary { border: 2px solid #087a77; background: #edf7f3; }
.izu-kago-guide__choice-label,
.izu-kago-guide__kit-grid span { color: #087a77; font-size: .7rem; font-weight: 850; letter-spacing: .14em; }
.izu-kago-guide__choice-grid ul { margin: .7rem 0 0; padding-left: 1.25rem; }
.izu-kago-guide__quote { margin-top: 2rem; border: 0; border-radius: 22px; padding: clamp(1.4rem,4vw,2.4rem); background: var(--izu-ink); color: #fff; }
.izu-kago-guide__quote p { margin: 0; font-size: clamp(1.14rem,1rem + .55vw,1.48rem); font-weight: 720; line-height: 1.75; }
.izu-kago-guide__quote cite { display: block; margin-top: 1rem; color: #c9d7d5; font-size: .78rem; font-style: normal; }
.izu-kago-guide__kit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }

.izu-kago-guide__visual-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin-top: 2.2rem; }
.izu-kago-guide__visual-card { position: relative; display: flex; min-height: 230px; align-items: flex-end; overflow: hidden; border-radius: 20px; padding: 1.2rem; background: linear-gradient(145deg,#062f33,#0d5d60); color: #fff !important; text-decoration: none; isolation: isolate; }
.izu-kago-guide__visual-card::before { content: ""; position: absolute; inset: 0; z-index: -2; background: radial-gradient(circle at 80% 15%,rgba(203,234,69,.28),transparent 38%); transition: transform .3s ease; }
.izu-kago-guide__visual-card::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg,rgba(4,31,35,.96),rgba(4,31,35,.12)); }
.izu-kago-guide__visual-card.has-reel-image::before { background: url("https://www.kagonosuke.com/wp-content/uploads/2020/05/cropped-img_3586-scaled-2.jpg") center/cover; }
.izu-kago-guide__visual-card.has-line-image::before { background: url("../images/itosuke.webp") 80% 40%/58% auto no-repeat, linear-gradient(145deg,#12383a,#087a77); }
.izu-kago-guide__visual-card:hover::before { transform: scale(1.04); }
.izu-kago-guide__visual-card-copy { display: grid; gap: .35rem; }
.izu-kago-guide__visual-card small { color: var(--izu-lime); font-weight: 850; letter-spacing: .12em; }
.izu-kago-guide__visual-card strong { font-size: 1.12rem; line-height: 1.45; }
.izu-kago-guide__visual-card em { color: #dae6e4; font-size: .78rem; font-style: normal; line-height: 1.45; }

.izu-kago-guide__rig-flow { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: .65rem; margin-top: 1.5rem; padding: 0; list-style: none; }
.izu-kago-guide__rig-flow li { position: relative; display: grid; align-content: start; gap: .35rem; min-height: 165px; border: 1px solid var(--izu-line); border-radius: 16px; padding: 1rem; background: #fff; color: var(--izu-ink); }
.izu-kago-guide__rig-flow li:not(:last-child)::after { content: "→"; position: absolute; top: 50%; right: -.62rem; z-index: 2; display: grid; width: 1.25rem; height: 1.25rem; place-items: center; border-radius: 50%; background: var(--izu-lime); color: var(--izu-ink); font-size: .74rem; font-weight: 900; transform: translateY(-50%); }
.izu-kago-guide__rig-flow span { color: #087a77; font-size: .72rem; font-weight: 850; }
.izu-kago-guide__rig-flow strong { line-height: 1.4; }
.izu-kago-guide__rig-flow small { color: var(--izu-muted); line-height: 1.5; }

.izu-kago-guide__steps { display: grid; gap: .8rem; margin-top: 1.5rem; padding: 0; list-style: none; }
.izu-kago-guide__steps > li { display: grid; grid-template-columns: 52px 1fr; gap: 1rem; border-bottom: 1px solid var(--izu-line); padding: 0 0 1.2rem; }
.izu-kago-guide__steps > li > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; background: var(--izu-ink); color: var(--izu-lime); font-weight: 850; }
.izu-kago-guide__steps h3 { margin: 0 0 .25rem; }
.izu-kago-guide__steps p { margin: 0; color: var(--izu-text-soft); }
.izu-kago-guide__checks { display: grid; gap: .6rem; padding: 0; list-style: none; }
.izu-kago-guide__checks li { border-left: 4px solid var(--izu-teal); padding: .7rem 1rem; background: #edf7f3; color: #203f43; }
.izu-kago-guide__mistakes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
.izu-kago-guide__mistakes section { border: 1px solid var(--izu-line); border-radius: 14px; padding: 1rem; background: #fff; }
.izu-kago-guide__mistakes strong { color: var(--izu-ink); }
.izu-kago-guide__mistakes p { margin: .35rem 0 0; color: var(--izu-muted); font-size: .92rem; }
.izu-kago-guide__safety-list { display: grid; gap: .55rem; padding: 0; list-style: none; }
.izu-kago-guide__safety-list li { position: relative; padding-left: 1.8rem; }
.izu-kago-guide__safety-list li::before { content: "✓"; position: absolute; left: 0; color: var(--izu-lime); font-weight: 900; }

.izu-kago-guide__action-hub { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; margin-top: clamp(4rem,9vw,7rem); overflow: hidden; border-radius: 24px; background: rgba(255,255,255,.14); box-shadow: 0 20px 58px rgba(4,31,35,.16); }
.izu-kago-guide__action-hub > div { grid-column: 1/-1; padding: clamp(1.5rem,5vw,3rem); background: var(--izu-deep); color: var(--izu-cream); }
.izu-kago-guide__action-hub h2 { margin: 0; color: #fff; }
.izu-kago-guide__action-hub > div p:last-child { margin-bottom: 0; color: #c9d7d5; }
.izu-kago-guide__action-hub > a { display: grid; min-height: 150px; align-content: center; gap: .35rem; padding: 1.3rem; background: #fff; color: var(--izu-ink); text-decoration: none; }
.izu-kago-guide__action-hub > a:hover { background: #edf7f3; }
.izu-kago-guide__action-hub a span { color: #087a77; font-size: .68rem; font-weight: 850; letter-spacing: .1em; }
.izu-kago-guide__action-hub a strong { line-height: 1.45; }
.izu-kago-guide__action-hub a em { color: var(--izu-muted); font-size: .78rem; font-style: normal; }

.izu-kago-guide__faq { display: grid; gap: .7rem; }
.izu-kago-guide__faq details,
.izu-kago-guide__sources { border: 1px solid var(--izu-line); border-radius: 14px; background: #fff; color: var(--izu-ink); }
.izu-kago-guide__faq summary,
.izu-kago-guide__sources summary { cursor: pointer; padding: 1rem 1.1rem; color: var(--izu-ink); font-weight: 780; line-height: 1.5; }
.izu-kago-guide__faq details[open] summary,
.izu-kago-guide__sources[open] summary { border-bottom: 1px solid var(--izu-line); }
.izu-kago-guide__faq details p { margin: 0; padding: 1rem 1.1rem; color: var(--izu-muted); }
.izu-kago-guide__sources { margin-top: 2rem; padding: 0; }
.izu-kago-guide__sources ul,
.izu-kago-guide__sources > p { margin: 1rem 1.2rem; }
.izu-kago-guide__sources a { color: #075f5c; }
.izu-kago-guide__closing { margin-top: 3rem; border-radius: 22px; padding: clamp(1.5rem,5vw,3rem); background: var(--izu-ink); color: var(--izu-cream); }
.izu-kago-guide__closing h2 { margin: 0; color: #fff; }
.izu-kago-guide__closing p:last-child { margin-bottom: 0; color: #d7e2e0; }

body.isonosuke-izu-kago-guide .isonosuke-purchase-decision { max-width: 820px; margin-left: auto; margin-right: auto; }
body.isonosuke-izu-kago-guide .isonosuke-purchase-decision h2 { color: #f4fbfa; }
body.isonosuke-izu-kago-guide .isonosuke-purchase-decision .isonosuke-affiliate-actions__name { color: #f4fbfa; }
body.isonosuke-izu-kago-guide .isonosuke-purchase-decision__internal-links a { color: var(--izu-lime); }

@media (max-width: 860px) {
  .izu-kago-guide__area-grid,
  .izu-kago-guide__visual-links,
  .izu-kago-guide__field-links { grid-template-columns: 1fr; }
  .izu-kago-guide__rig-flow { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 640px) {
  .izu-kago-guide__hero { min-height: 560px; border-radius: 0 0 22px 22px; }
  .izu-kago-guide__hero-media img { object-position: 62% center; }
  .izu-kago-guide__hero-media::after { background: linear-gradient(0deg,rgba(4,31,35,.98) 0%,rgba(4,31,35,.84) 52%,rgba(4,31,35,.18) 100%); }
  .izu-kago-guide__hero-copy { padding: 1.3rem; }
  .izu-kago-guide__credentials span { font-size: .68rem; }
  .izu-kago-guide__quick-nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .izu-kago-guide__answer-grid,
  .izu-kago-guide__choice-grid,
  .izu-kago-guide__kit-grid,
  .izu-kago-guide__mistakes,
  .izu-kago-guide__action-hub { grid-template-columns: 1fr; }
  .izu-kago-guide__rig-flow { grid-template-columns: 1fr; }
  .izu-kago-guide__rig-flow li { min-height: auto; }
  .izu-kago-guide__rig-flow li:not(:last-child)::after { top: auto; right: 50%; bottom: -.62rem; transform: translateX(50%) rotate(90deg); }
  .izu-kago-guide__action-hub > div { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .izu-kago-guide__visual-card::before { transition: none; }
}
