/* Add-on only: keep every production selector inside .cjg-unagi-feature. */
.cjg-unagi-feature {
  --cjg-rust: #a5361b;
  --cjg-ink: #231a15;
  --cjg-muted: #6e5a49;
  --cjg-border: #d8bea2;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0,1.07fr) minmax(0,1fr);
  align-items: center;
  gap: clamp(26px,4.3vw,66px);
  width: 100%;
  margin: 36px auto 0;
  padding: clamp(26px,3.6vw,52px);
  border: 1px solid var(--cjg-border);
  border-left: 8px solid var(--cjg-rust);
  border-radius: 11px;
  background: #fff9ef;
  color: var(--cjg-ink);
}
.cjg-unagi-feature *, .cjg-unagi-feature *::before, .cjg-unagi-feature *::after { box-sizing: border-box; }
.cjg-unagi-feature__eyebrow { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:0 0 15px; color:var(--cjg-rust); font:700 14px/1.5 "Yu Gothic","Noto Sans CJK JP",sans-serif; letter-spacing:.12em; }
.cjg-unagi-feature__number { display:inline-block; border:1px solid var(--cjg-rust); border-radius:3px; padding:4px 10px; font-size:16px; letter-spacing:.1em; }
.cjg-unagi-feature__kicker { font-size:12px; letter-spacing:.09em; }
.cjg-unagi-feature__title { margin:0 0 20px; font-family:"Yu Mincho","Noto Serif CJK JP",serif; font-size:clamp(28px,3.4vw,46px); font-weight:500; line-height:1.48; letter-spacing:.025em; color:var(--cjg-ink); }
.cjg-unagi-feature__title span { display:block; }
.cjg-unagi-feature__description { margin:0 0 17px; font-family:"Yu Gothic","Noto Sans CJK JP",sans-serif; font-size:15px; line-height:1.95; color:var(--cjg-muted); }
.cjg-unagi-feature__regions { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 23px; padding:0; list-style:none; font:500 12px/1.4 "Yu Gothic","Noto Sans CJK JP",sans-serif; }
.cjg-unagi-feature__regions li { padding:5px 12px; background:#f2e5d4; border:1px solid #e4d1b8; border-radius:99px; color:#62452f; }
.cjg-unagi-feature__cta { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:48px; max-width:100%; padding:13px 20px; border:1px solid var(--cjg-rust); border-radius:4px; background:var(--cjg-rust); color:#fff; text-decoration:none; font:700 14px/1.6 "Yu Gothic","Noto Sans CJK JP",sans-serif; transition:background .16s ease,transform .16s ease; }
.cjg-unagi-feature__cta:hover { background:#822913; color:#fff; transform:translateY(-1px); }
.cjg-unagi-feature__cta:focus-visible,.cjg-unagi-feature__image-link:focus-visible { outline:3px solid #1d5b74; outline-offset:5px; }
.cjg-unagi-feature__figure { min-width:0; margin:0; }
.cjg-unagi-feature__image-link { display:block; border-radius:5px; overflow:hidden; }
.cjg-unagi-feature__image { display:block; width:100%; height:auto; aspect-ratio:3 / 2; object-fit:cover; border-radius:5px; }
.cjg-unagi-feature__caption { margin:9px 0 0; color:#746557; font:400 11px/1.75 "Yu Gothic","Noto Sans CJK JP",sans-serif; }
@media (max-width:700px) {
 .cjg-unagi-feature { grid-template-columns:minmax(0,1fr); gap:24px; padding:25px 21px; border-left-width:6px; }
 .cjg-unagi-feature__title { font-size:32px; margin-bottom:15px; }
 .cjg-unagi-feature__description { font-size:14px; }
 .cjg-unagi-feature__description br { display:none; }
 .cjg-unagi-feature__cta { width:100%; font-size:13px; padding:12px 14px; gap:8px; }
 .cjg-unagi-feature__eyebrow { gap:9px; }
 .cjg-unagi-feature__kicker { font-size:11px; }
 .cjg-unagi-feature__regions { margin-bottom:18px; }
}
@media (prefers-reduced-motion: reduce) { .cjg-unagi-feature__cta { transition:none; } .cjg-unagi-feature__cta:hover { transform:none; } }

/* Feature 02 additions only. Every selector uses an unagi/component namespace. */
.cjg-unagi-feature { width:calc(100% - 40px); max-width:1200px; margin:32px auto 0; }
.cjg-unagi-guide,.cjg-unagi-article { --cjg-ink:#281e18; --cjg-rust:#a5361b; --cjg-border:#d8c5ad; color:var(--cjg-ink); width:calc(100% - 40px); margin:0 auto; overflow-wrap:anywhere; }
.cjg-unagi-guide { max-width:1200px; }
.cjg-unagi-article { max-width:780px; }
.cjg-unagi-guide *,.cjg-unagi-article * { box-sizing:border-box; }
.cjg-unagi-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; font-size:12px; line-height:1.8; color:#715d4e; margin:26px 0 36px; }
.cjg-unagi-breadcrumb a { text-decoration:underline; text-underline-offset:3px; }
.cjg-unagi-guide__intro { max-width:830px; padding:12px 0 32px; }
.cjg-unagi-kicker { margin:0 0 20px; color:var(--cjg-rust); font-size:12px; font-weight:700; letter-spacing:.13em; }
.cjg-unagi-guide h1 { margin:0 0 22px; font:500 clamp(32px,4.2vw,54px)/1.45 var(--font-serif,serif); letter-spacing:.025em; }
.cjg-unagi-guide__intro>p:last-child { font-size:16px; line-height:2; color:#655342; }
.cjg-unagi-gallery-note { margin:0 0 28px; font-size:12px; line-height:1.9; color:#705b48; }
.cjg-unagi-filters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) auto; align-items:end; gap:16px; padding:24px; border:1px solid var(--cjg-border); border-radius:8px; background:#fffaf1; }
.cjg-unagi-filters label { display:flex; flex-direction:column; gap:8px; font-size:13px; font-weight:600; }
.cjg-unagi-filters select { appearance:auto; width:100%; min-width:0; height:46px; padding:8px 28px 8px 12px; color:var(--cjg-ink); border:1px solid #bca78f; border-radius:4px; background:#fffdf8; font-size:14px; }
.cjg-unagi-filters button { min-height:46px; padding:10px 16px; border:1px solid var(--cjg-rust); border-radius:4px; color:var(--cjg-rust); cursor:pointer; font-size:13px; font-weight:600; }
.cjg-unagi-results { margin:24px 0 18px; color:#6b5847; font-size:13px; }
.cjg-unagi-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 24px; }
.cjg-unagi-card { min-width:0; border:1px solid var(--cjg-border); border-radius:8px; overflow:hidden; background:#fffcf6; }
.cjg-unagi-card[hidden],.cjg-unagi-empty[hidden] { display:none; }
.cjg-unagi-card__link { display:block; height:100%; color:inherit; text-decoration:none; }
.cjg-unagi-card__link:hover h2 { color:var(--cjg-rust); }
.cjg-unagi-card__link:focus-visible { outline:3px solid #1d5b74; outline-offset:-4px; }
.cjg-unagi-card__copy { padding:14px 26px 26px; }
.cjg-unagi-card__meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; color:#715b47; font-size:11px; line-height:1.8; margin-bottom:14px; }
.cjg-unagi-card__meta>span:first-child { color:var(--cjg-rust); letter-spacing:.08em; font-weight:700; }
.cjg-unagi-card h2 { margin:0 0 15px; font:600 22px/1.65 var(--font-serif,serif); }
.cjg-unagi-card__description { font-size:14px; line-height:1.95; color:#705c4b; margin:0 0 20px; }
.cjg-unagi-card__more { display:flex; justify-content:space-between; color:var(--cjg-rust); font-size:13px; font-weight:600; }
.cjg-card-figure { margin:0; }
.cjg-card-figure picture,.cjg-card-figure img { display:block; width:100%; height:auto; }
.cjg-card-figure figcaption { padding:13px 26px 0; color:#695643; font-size:11px; line-height:1.8; }
.cjg-article-figure { margin:42px 0 32px; max-width:100%; }
.cjg-article-figure picture,.cjg-article-figure img { display:block; width:100%; height:auto; }
.cjg-article-figure img { border-radius:6px; }
.cjg-article-figure figcaption { margin-top:12px; color:#675443; font:400 12px/1.85 var(--font-sans,sans-serif); overflow-wrap:anywhere; }
.cjg-article-figure__caption { display:block; }
.cjg-article-figure__notice { display:block; margin-top:4px; font-size:11px; color:#766455; }
.cjg-unagi-article__header { padding:12px 0 24px; }
.cjg-unagi-article h1 { margin:0 0 24px; font:600 clamp(28px,3.4vw,40px)/1.6 var(--font-serif,serif); text-wrap:pretty; }
.cjg-unagi-taxonomy { display:flex; flex-direction:column; gap:7px; padding-top:20px; border-top:1px solid var(--cjg-border); font-size:12px; line-height:1.8; color:#6d5846; }
.cjg-unagi-taxonomy>div { display:grid; grid-template-columns:5em 1fr; gap:10px; }
.cjg-unagi-taxonomy dt { color:var(--cjg-rust); font-weight:600; }
.cjg-unagi-taxonomy dd { margin:0; }
.cjg-unagi-hold { display:inline-block; color:#8e2f1a; background:#f9e4d7; border:1px solid #ddb899; border-radius:3px; padding:1px 7px; }
.cjg-unagi-editorial-hold { margin:0 0 24px; padding:18px 20px; border:1px solid #ba6b46; border-left-width:4px; border-radius:4px; background:#fff0e5; color:#7f341e; font-size:13px; line-height:1.9; }
.cjg-unagi-editorial-hold strong { display:block; margin-bottom:6px; }
.cjg-unagi-toc { background:#f1e9da; border:1px solid #decdb4; border-radius:6px; padding:24px 28px; margin:6px 0 34px; }
.cjg-unagi-toc h2 { margin:0 0 14px; font-size:15px; font-weight:700; }
.cjg-unagi-toc ol { padding-left:1.6em; list-style:decimal; }
.cjg-unagi-toc li { padding:5px 0 5px 5px; font-size:13px; line-height:1.9; }
.cjg-unagi-toc a { display:block; text-decoration:underline; text-decoration-color:#b09a80; text-underline-offset:4px; }
.cjg-unagi-body { font-size:16px; line-height:2.1; }
.cjg-unagi-body p { margin:0 0 1.5em; }
.cjg-unagi-body h2 { margin:48px 0 22px; font:600 25px/1.7 var(--font-serif,serif); scroll-margin-top:24px; }
.cjg-unagi-body h3 { margin:30px 0 16px; font:600 20px/1.75 var(--font-serif,serif); }
.cjg-unagi-body ul,.cjg-unagi-body ol { padding-left:1.65em; margin:20px 0 28px; list-style:disc; }
.cjg-unagi-body ol { list-style:decimal; }
.cjg-unagi-body li { margin:8px 0; }
.cjg-unagi-body a { color:var(--cjg-rust); text-decoration:underline; text-underline-offset:4px; }
.cjg-unagi-body sup { font-size:11px; margin:0 3px; }
.cjg-unagi-body .cjg-media-note { padding:16px 18px; margin:0 0 30px; border-left:3px solid #bca081; background:#f3ebdf; color:#695645; font-size:12px; line-height:1.9; }
.cjg-unagi-body .cjg-media-note strong { display:block; margin-bottom:5px; }
.cjg-unagi-body .sources { border-top:1px solid var(--cjg-border); border-bottom:1px solid var(--cjg-border); margin:42px 0; padding:20px 0; }
.cjg-unagi-body .sources summary { font-size:14px; color:var(--cjg-rust); cursor:pointer; font-weight:600; }
.cjg-unagi-body .footnotes { font-size:12px; line-height:1.9; }
.cjg-unagi-body .footnotes li { scroll-margin-top:22px; padding:6px 0; }
.cjg-unagi-body .footnotes li:target { background:#f5e4c8; }
.cjg-unagi-body .related { margin:40px 0; border:1px solid var(--cjg-border); padding:24px; border-radius:6px; }
.cjg-unagi-body .related h3 { margin:0 0 14px; font-size:19px; }
.cjg-unagi-body .related>a { display:flex; gap:16px; justify-content:space-between; padding:14px 0; font-size:14px; line-height:1.8; border-top:1px solid #e2d4c1; }
.cjg-unagi-back { display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px; margin:42px 0 65px; font-size:14px; line-height:1.9; color:var(--cjg-rust); }
.cjg-unagi-back a { text-decoration:underline; text-underline-offset:5px; }
.cjg-unagi-empty { margin:36px 0; padding:32px 24px; border:1px solid var(--cjg-border); font-size:15px; line-height:1.9; }
.cjg-unagi-guide a:focus-visible,.cjg-unagi-article a:focus-visible,.cjg-unagi-filters :focus-visible { outline:3px solid #1d5b74; outline-offset:4px; }
@media(max-width:700px) {
 .cjg-unagi-feature { margin-top:28px; }
 .cjg-unagi-breadcrumb { margin:20px 0 24px; gap:7px; font-size:11px; }
 .cjg-unagi-guide__intro { padding-top:4px; }
 .cjg-unagi-guide__intro>p:last-child { font-size:14px; }
 .cjg-unagi-guide__intro br { display:none; }
 .cjg-unagi-guide h1 br { display:block; }
 .cjg-unagi-filters { grid-template-columns:minmax(0,1fr); gap:14px; padding:20px; }
 .cjg-unagi-filters select { font-size:16px; }
 .cjg-unagi-cards { grid-template-columns:minmax(0,1fr); gap:24px; }
 .cjg-unagi-card__copy { padding:12px 20px 24px; }
 .cjg-card-figure figcaption { padding:12px 20px 0; }
 .cjg-unagi-card h2 { font-size:21px; }
 .cjg-unagi-article h1 { font-size:28px; line-height:1.6; }
 .cjg-unagi-body { font-size:15px; line-height:2.05; }
 .cjg-unagi-body h2 { font-size:23px; line-height:1.65; }
 .cjg-unagi-toc { padding:20px; }
 .cjg-unagi-body .related { padding:20px; }
 .cjg-article-figure { margin:32px 0 28px; }
}
