/* Hua Tuo Wuqinxi overview — carry the completed Cheng-style Baguazhang
 * hierarchy through the full article, lineage profiles and related pages. */
body.page-id-58 .kf-page-article::after {
  position: absolute;
  z-index: 0;
  right: -54px;
  bottom: 132px;
  width: 290px;
  height: 400px;
  background: url("../images/motif-taihu-rock-bamboo-v1-web.webp") right bottom / contain no-repeat;
  content: "";
  opacity: 0.05;
  pointer-events: none;
}

/* Dong Haichuan biography — aligned with the adopted body-design blueprint. */
body.page-id-391 .kf-page-layout--wide {
  width: min(var(--kf-layout-without-sidebar), calc(100% - 48px));
}

body.page-id-391 .kf-page-article {
  border: 1px solid color-mix(in srgb, var(--kf-color-line) 76%, transparent);
  border-radius: 14px;
  background: var(--kf-color-content-background);
  box-shadow: 0 18px 44px rgba(74, 62, 43, 0.06);
}

body.page-id-391 .entry-content {
  padding-block: 0;
}

.kf-donghaichuan-page {
  width: min(100%, var(--kf-layout-reading));
  margin-inline: auto;
  color: var(--kf-color-ink);
}

.kf-donghaichuan-page > .kf-site-heading-a {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  margin: 72px 0 28px;
  padding: 0 0 14px 18px;
  border: 0;
  border-bottom: 1px solid var(--kf-color-line-strong);
  border-left: 4px solid var(--kf-color-bronze);
  background: transparent;
  color: var(--kf-color-ink);
  font-size: var(--kf-body-h2-size);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: var(--kf-body-h2-line-height);
  text-align: left;
}

.kf-donghaichuan-page > .kf-site-heading-a:first-child {
  margin-top: 0;
}

.kf-donghaichuan-page > .kf-site-heading-a::before,
.kf-donghaichuan-page > .kf-site-heading-a::after {
  display: none;
  content: none;
}

.kf-donghaichuan-profile {
  overflow: hidden;
  margin: 0 0 42px;
  padding: clamp(24px, 4vw, 38px);
  border: 1px solid var(--kf-color-line);
  border-radius: 10px;
  background:
    linear-gradient(110deg, rgba(255, 253, 248, 0.98), rgba(247, 243, 233, 0.84)),
    url("../images/official-wallpaper-wp.jpg") repeat;
}

.kf-donghaichuan-profile > .swell-block-columns__inner {
  display: grid !important;
  grid-template-columns: 280px minmax(0, 1fr) !important;
  align-items: start;
  gap: clamp(28px, 5vw, 52px) !important;
}

.kf-donghaichuan-profile .swell-block-column {
  width: auto !important;
  margin: 0 !important;
}

.kf-donghaichuan-profile figure {
  width: 100%;
  margin: 0;
}

.kf-donghaichuan-profile figure img {
  display: block;
  width: 100% !important;
  height: auto;
  border: 1px solid color-mix(in srgb, var(--kf-color-line-strong) 78%, transparent);
  border-radius: 5px;
  filter: sepia(0.08) contrast(1.03);
}

.kf-donghaichuan-profile figcaption {
  margin-top: 10px;
  color: var(--kf-color-ink-soft);
  font-size: 0.76rem;
  line-height: 1.7;
  text-align: center;
}

.kf-donghaichuan-profile .is-style-big_kakko_box {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--kf-color-ink-soft);
  font-size: 0.96rem;
  line-height: 2.05;
}

.kf-donghaichuan-profile .is-style-big_kakko_box::before,
.kf-donghaichuan-profile .is-style-big_kakko_box::after {
  display: none !important;
  content: none !important;
}

.kf-donghaichuan-profile__lifespan,
.kf-donghaichuan-profile__birth {
  display: block;
}

.kf-donghaichuan-profile__lifespan {
  margin-bottom: 8px;
  color: var(--kf-color-bronze);
}

.kf-donghaichuan-profile__birth {
  margin-bottom: 22px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--kf-color-line);
  color: var(--kf-color-ink);
}

.kf-donghaichuan-page > p:not(.kf-donghaichuan-lineage) {
  margin: 0 0 1.45em;
  color: var(--kf-color-ink-soft);
  font-size: 1rem;
  line-height: 2.12;
}

.kf-donghaichuan-lineage {
  margin: 0;
  padding: 22px 24px;
  border-top: 1px solid var(--kf-color-line);
  border-bottom: 1px solid var(--kf-color-line);
  background: var(--kf-gold-050);
  color: var(--kf-color-ink-soft);
  font-size: 0.96rem;
  line-height: 2;
}

.kf-donghaichuan-lineage a {
  color: var(--kf-color-bronze);
  font-weight: 500;
  text-decoration-thickness: 1px;
}

.kf-donghaichuan-related {
  margin-top: 72px;
  padding-top: 0;
  border-top: 0;
}

.kf-donghaichuan-related .kf-related-page {
  margin-top: 0;
}

@media (max-width: 680px) {
  body.page-id-391 .kf-page-layout--wide {
    width: calc(100% - 28px);
  }

  body.page-id-391 .kf-page-article {
    border-radius: 10px;
  }

  body.page-id-391 .entry-content {
    padding-block: 0;
  }

  .kf-donghaichuan-page > .kf-site-heading-a {
    margin-top: 56px;
    padding: 0 0 13px 14px;
    font-size: 1.4rem;
  }

  .kf-donghaichuan-profile {
    padding: 22px 20px 26px;
  }

  .kf-donghaichuan-profile > .swell-block-columns__inner {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .kf-donghaichuan-profile figure {
    width: min(230px, 78%);
    margin-inline: auto;
  }

  .kf-donghaichuan-profile .is-style-big_kakko_box,
  .kf-donghaichuan-page > p:not(.kf-donghaichuan-lineage) {
    font-size: 0.94rem;
    line-height: 2;
  }

  .kf-donghaichuan-lineage {
    padding: 18px 20px;
    font-size: 0.9rem;
  }

  .kf-donghaichuan-related {
    margin-top: 56px;
  }
}

/* Reference biographies — one shared article, heading, profile and link system. */
body.kf-reference-person-page .kf-page-article {
  border: 1px solid color-mix(in srgb, var(--kf-color-line) 76%, transparent);
  border-radius: 14px;
  background: var(--kf-color-content-background);
  box-shadow: 0 18px 44px rgba(74, 62, 43, 0.06);
}

body.kf-reference-person-page .entry-content {
  padding-block: 0;
}

.kf-reference-person-content {
  width: min(100%, var(--kf-layout-reading));
  margin-inline: auto;
  color: var(--kf-color-ink);
}

.kf-reference-person-content > .kf-site-heading-a {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  margin: 72px 0 28px;
  padding: 0 0 14px 18px;
  border: 0;
  border-bottom: 1px solid var(--kf-color-line-strong);
  border-left: 4px solid var(--kf-color-bronze);
  background: transparent;
  color: var(--kf-color-ink);
  font-size: var(--kf-body-h2-size);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: var(--kf-body-h2-line-height);
  text-align: left;
}

.kf-reference-person-content > .kf-site-heading-a:first-child {
  margin-top: 0;
}

.kf-reference-person-content > .kf-site-heading-a::before,
.kf-reference-person-content > .kf-site-heading-a::after {
  display: none;
  content: none;
}

.kf-reference-person-role {
  margin: -13px 0 28px !important;
  color: var(--kf-color-bronze) !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.08em;
  line-height: 1.8 !important;
}

body.kf-reference-person-page .kf-reference-person-profile {
  overflow: hidden;
  margin: 0 0 42px;
  padding: clamp(24px, 4vw, 38px);
  border: 1px solid var(--kf-color-line);
  border-radius: 10px;
  background:
    linear-gradient(110deg, rgba(255, 253, 248, 0.98), rgba(247, 243, 233, 0.84)),
    url("../images/official-wallpaper-wp.jpg") repeat;
}

body.kf-reference-person-page .kf-reference-person-profile > .swell-block-columns__inner {
  display: grid !important;
  grid-template-columns: 280px minmax(0, 1fr) !important;
  align-items: start;
  gap: clamp(28px, 5vw, 52px) !important;
}

body.kf-reference-person-page .kf-reference-person-profile .swell-block-column {
  width: auto !important;
  margin: 0 !important;
}

body.kf-reference-person-page .kf-reference-person-profile figure {
  width: 100%;
  margin: 0;
}

body.kf-reference-person-page .kf-reference-person-profile figure img {
  display: block;
  width: 100% !important;
  height: auto;
  border: 1px solid color-mix(in srgb, var(--kf-color-line-strong) 78%, transparent);
  border-radius: 5px;
  filter: sepia(0.08) contrast(1.03);
}

body.kf-reference-person-page .kf-reference-person-profile figcaption {
  margin-top: 10px;
  color: var(--kf-color-ink-soft);
  font-size: 0.76rem;
  line-height: 1.7;
  text-align: center;
}

body.kf-reference-person-page .kf-reference-person-profile .is-style-big_kakko_box {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--kf-color-ink-soft);
  font-size: 0.96rem;
  line-height: 2.05;
}

body.kf-reference-person-page .kf-reference-person-profile .is-style-big_kakko_box::before,
body.kf-reference-person-page .kf-reference-person-profile .is-style-big_kakko_box::after {
  display: none !important;
  content: none !important;
}

body.kf-reference-person-page .kf-reference-person-profile .is-style-big_kakko_box::first-line {
  color: var(--kf-color-bronze);
  font-weight: 500;
  letter-spacing: 0.08em;
}

.kf-reference-person-content > p:not(.kf-reference-person-role, .kf-donghaichuan-lineage) {
  margin: 0 0 1.45em;
  color: var(--kf-color-ink-soft);
  font-size: 1rem;
  line-height: 2.12;
}

body.kf-reference-person-page .entry-content .kf-reference-person-subheading {
  margin: 48px 0 20px;
  padding: 0 0 11px;
  border: 0;
  border-bottom: 1px solid var(--kf-color-line);
  background: transparent;
  color: var(--kf-color-ink);
  font-size: 1.12rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.75;
}

body.kf-reference-person-page .kf-reference-person-content p a,
body.kf-reference-person-page .kf-reference-person-content > .wp-block-list a {
  color: #1769aa;
  font-weight: 600;
  text-decoration-color: rgb(23 105 170 / 52%);
  text-decoration-line: underline !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.22em;
}

body.kf-reference-person-page .kf-reference-person-content p a:hover,
body.kf-reference-person-page .kf-reference-person-content p a:focus-visible,
body.kf-reference-person-page .kf-reference-person-content > .wp-block-list a:hover,
body.kf-reference-person-page .kf-reference-person-content > .wp-block-list a:focus-visible {
  color: #0f4f86;
  text-decoration-color: currentColor;
}

/* Dong Wenhuan biography — replace the inherited timeline with a compact,
 * readable chronology table from the shared editorial table system. */
body.kf-reference-person-page .kf-reference-person-content .kf-dongwenhuan-chronology {
  margin: 0 0 56px;
}

body.kf-reference-person-page .kf-reference-person-content .kf-dongwenhuan-chronology table {
  min-width: 0;
  table-layout: fixed;
}

body.kf-reference-person-page .kf-reference-person-content .kf-dongwenhuan-chronology thead th:first-child,
body.kf-reference-person-page .kf-reference-person-content .kf-dongwenhuan-chronology tbody th {
  width: 7.5rem;
  min-width: 0;
}

body.kf-reference-person-page .kf-reference-person-content .kf-dongwenhuan-chronology thead th {
  background: color-mix(in srgb, var(--kf-gold-050) 78%, #fff);
  color: var(--kf-color-ink);
  font-size: 0.84rem;
  font-weight: 600;
  letter-spacing: 0.08em;
}

body.kf-reference-person-page .kf-reference-person-content .kf-dongwenhuan-chronology tbody th {
  color: var(--kf-color-bronze);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.88rem;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.035em;
  white-space: nowrap;
}

body.kf-reference-person-page .kf-reference-person-content .kf-dongwenhuan-chronology td strong {
  display: block;
  margin-bottom: 6px;
  color: var(--kf-color-ink);
  font-size: 0.98rem;
  font-weight: 500;
  letter-spacing: 0.025em;
  line-height: 1.65;
}

body.kf-reference-person-page .kf-reference-person-content .kf-dongwenhuan-chronology td p {
  margin: 0;
  color: var(--kf-color-ink-soft);
  font-size: 0.88rem;
  line-height: 1.9;
}

@media (max-width: 680px) {
  body.kf-reference-person-page .kf-reference-person-content .kf-dongwenhuan-chronology {
    margin-bottom: 44px;
  }

  body.kf-reference-person-page .kf-reference-person-content .kf-dongwenhuan-chronology table {
    min-width: 0;
    table-layout: auto;
  }

  body.kf-reference-person-page .kf-reference-person-content .kf-dongwenhuan-chronology thead {
    position: absolute;
    overflow: hidden;
    width: 1px;
    height: 1px;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }

  body.kf-reference-person-page .kf-reference-person-content .kf-dongwenhuan-chronology :is(tbody, tr, th, td) {
    display: block;
    box-sizing: border-box;
    width: 100%;
  }

  body.kf-reference-person-page .kf-reference-person-content .kf-dongwenhuan-chronology tbody tr {
    border-bottom: 1px solid var(--kf-color-line);
  }

  body.kf-reference-person-page .kf-reference-person-content .kf-dongwenhuan-chronology tbody tr:last-child {
    border-bottom: 0;
  }

  body.kf-reference-person-page .kf-reference-person-content .kf-dongwenhuan-chronology tbody th {
    width: 100%;
    padding: 10px 15px 8px;
    border: 0;
    background: var(--kf-gold-050);
    text-align: left;
  }

  body.kf-reference-person-page .kf-reference-person-content .kf-dongwenhuan-chronology tbody td {
    padding: 12px 15px 17px;
    border: 0;
  }
}

.kf-reference-person-related {
  margin-top: 72px;
  padding-top: 0;
  border-top: 0;
}

.kf-reference-person-related .kf-related-page {
  margin-top: 0;
}

@media (max-width: 680px) {
  body.kf-reference-person-page .kf-page-article {
    border-radius: 10px;
  }

  body.kf-reference-person-page .entry-content {
    padding-block: 0;
  }

  .kf-reference-person-content > .kf-site-heading-a {
    margin-top: 56px;
    padding: 0 0 13px 14px;
    font-size: 1.4rem;
  }

  body.kf-reference-person-page .kf-reference-person-profile {
    padding: 22px 20px 26px;
  }

  body.kf-reference-person-page .kf-reference-person-profile > .swell-block-columns__inner {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  body.kf-reference-person-page .kf-reference-person-profile figure {
    width: min(230px, 78%);
    margin-inline: auto;
  }

  body.kf-reference-person-page .kf-reference-person-profile .is-style-big_kakko_box,
  .kf-reference-person-content > p:not(.kf-reference-person-role, .kf-donghaichuan-lineage) {
    font-size: 0.94rem;
    line-height: 2;
  }

  .kf-reference-person-related {
    margin-top: 56px;
  }
}

body.page-id-58 .entry-content > :is(.swell-block-columns, .ark-block-columns):has(figure) {
  border: 1px solid color-mix(in srgb, var(--kf-color-line) 76%, transparent);
  background: rgb(255 255 253 / 96%);
  box-shadow: 0 7px 20px rgb(44 42 38 / 4%);
}

body.page-id-58 .entry-content > h4 {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  margin: 38px 0 16px !important;
  padding: 0 0 11px !important;
  border: 0 !important;
  border-bottom: 1px solid color-mix(in srgb, var(--kf-color-line-strong) 70%, transparent) !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
  color: var(--kf-color-ink);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.65;
  text-align: left;
}

body.page-id-58 .entry-content > h4::before,
body.page-id-58 .entry-content > h4::after {
  display: none !important;
  background: none !important;
  content: none !important;
}

body.page-id-58 .entry-content > .kf-lineage-heading {
  position: relative;
  display: flex;
  margin: 86px 0 0 !important;
  padding: 28px 20px 27px !important;
  flex-direction: column;
  align-items: center;
  border: 0 !important;
  border-top: 1px solid rgb(153 130 89 / 34%) !important;
  border-bottom: 1px solid rgb(153 130 89 / 48%) !important;
  background: linear-gradient(90deg, transparent, rgb(246 242 233 / 62%) 20%, rgb(246 242 233 / 62%) 80%, transparent) !important;
  text-align: center;
}

body.page-id-58 .entry-content > .kf-lineage-heading::before,
body.page-id-58 .entry-content > .kf-lineage-heading::after {
  position: absolute !important;
  left: 50% !important;
  display: block !important;
  width: 7px !important;
  height: 7px !important;
  border: 1px solid #9a655e !important;
  border-radius: 0 !important;
  background: #fff !important;
  content: "" !important;
  transform: translateX(-50%) rotate(45deg) !important;
}

body.page-id-58 .entry-content > .kf-lineage-heading::before {
  top: -4px !important;
}

body.page-id-58 .entry-content > .kf-lineage-heading::after {
  bottom: -4px !important;
}

body.page-id-58 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) {
  margin: 0;
  padding: 38px 0 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.page-id-58 .entry-content > .kf-lineage-heading + .swell-block-columns:has(figure) > .swell-block-columns__inner,
body.page-id-58 .entry-content > .kf-lineage-heading + .ark-block-columns:has(figure) > .ark-block-columns__inner {
  grid-template-columns: minmax(0, 250px) minmax(0, 1fr) !important;
  gap: 50px !important;
  align-items: start !important;
}

body.page-id-58 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) > div > :first-child {
  padding: 0;
  border: 0;
}

body.page-id-58 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) figure {
  text-align: center;
}

body.page-id-58 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) figure a {
  display: block;
  width: fit-content;
  margin-inline: auto;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.page-id-58 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) figure img {
  display: block !important;
  max-width: 230px;
  margin-inline: auto !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.page-id-58 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) figcaption {
  margin-top: 17px;
  color: #6e6455;
  font-size: 0.71rem;
  letter-spacing: 0.07em;
  text-align: center;
}

body.page-id-58 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) .is-style-big_kakko_box {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #403c35;
  font-size: 0.97rem;
  line-height: 2.08;
}

body.page-id-58 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) .is-style-big_kakko_box::before {
  display: inline-block;
  margin-bottom: 20px;
  padding: 0 0 7px;
  border-bottom: 1px solid rgb(153 130 89 / 38%);
  color: #846d49;
  content: "人物略伝";
  font-family: serif;
  font-size: 0.73rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  line-height: 1.4;
}

body.page-id-58 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) .is-style-big_kakko_box::after {
  display: none;
  content: none;
}

body.page-id-58 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) + .swell-block-columns:not(:has(figure)) {
  margin: 0;
  padding: 29px 0 24px;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.page-id-58 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) + .swell-block-columns:not(:has(figure)) > .swell-block-columns__inner {
  grid-template-columns: minmax(0, 1fr) !important;
  padding-top: 25px;
}

body.page-id-58 .entry-content > .kf-wuqinxi-genealogy {
  margin: 34px 0 28px;
  padding: 20px 24px;
  border-top: 1px solid color-mix(in srgb, var(--kf-color-line) 76%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--kf-color-line) 76%, transparent);
  background: rgb(251 250 247 / 74%);
  color: #48433b;
  line-height: 2;
}

body.page-id-58 .entry-content p a {
  color: #1769aa;
  font-weight: 600;
  text-decoration-color: rgb(23 105 170 / 52%);
  text-decoration-line: underline !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.22em;
}

body.page-id-58 .entry-content p a:hover,
body.page-id-58 .entry-content p a:focus-visible {
  color: #0f4f86;
  text-decoration-color: currentColor;
}

body.page-id-58 .entry-content .swell-block-button {
  display: flex;
  width: 100%;
  margin: 22px 0 10px;
  justify-content: center;
  text-align: center;
}

body.page-id-58 .entry-content .swell-block-button__link {
  width: auto !important;
  min-width: 148px !important;
  min-height: 42px;
  gap: 9px;
  padding: 9px 20px 10px;
  border: 1px solid #cbbfaa;
  border-radius: 4px;
  background: #fbfaf7;
  box-shadow: 0 3px 8px rgb(72 61 43 / 6%);
  color: #5d5343;
  font-size: 0.85rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.5;
  text-decoration: none;
}

body.page-id-58 .entry-content .swell-block-button__link::after {
  color: #88724d;
  content: "\2192";
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.86rem;
  line-height: 1;
}

body.page-id-58 .entry-content .swell-block-button__link:hover,
body.page-id-58 .entry-content .swell-block-button__link:focus-visible {
  border-color: #aa9878;
  background: #f6f1e7;
  box-shadow: 0 5px 12px rgb(72 61 43 / 9%);
  color: #3f382d;
  transform: translateY(-1px);
}

body.page-id-58 .entry-content > .kf-wuqinxi-related-page {
  margin: 8px auto 30px;
}

body.page-id-58 .entry-content > h2:has(+ .kf-wuqinxi-related-page)::after {
  display: none !important;
  content: none !important;
}

@media (max-width: 760px) {
  body.page-id-58 .kf-page-article::after {
    right: -70px;
    bottom: 80px;
    width: 210px;
    height: 300px;
    opacity: 0.035;
  }

  body.page-id-58 .entry-content > h4 {
    margin: 32px 0 14px !important;
    padding: 0 0 10px !important;
    font-size: 1rem;
  }

  body.page-id-58 .entry-content > .kf-lineage-heading {
    margin-top: 68px !important;
    padding: 23px 12px 22px !important;
  }

  body.page-id-58 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) {
    padding-top: 31px;
  }

  body.page-id-58 .entry-content > .kf-lineage-heading + .swell-block-columns:has(figure) > .swell-block-columns__inner,
  body.page-id-58 .entry-content > .kf-lineage-heading + .ark-block-columns:has(figure) > .ark-block-columns__inner {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 30px !important;
  }

  body.page-id-58 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) figure img {
    max-width: 220px;
  }

  body.page-id-58 .entry-content > .kf-wuqinxi-genealogy {
    margin-top: 28px;
    padding: 17px 18px;
  }

  body.page-id-58 .entry-content .swell-block-button__link {
    min-width: 144px !important;
  }

  body.page-id-58 .entry-content > .kf-wuqinxi-related-page {
    margin-bottom: 24px;
  }
}

/* Reference-form pages: shared paper, reference headings and form-name rhythm. */
body.kf-reference-form-page .kf-page-article {
  padding-bottom: 32px;
  border: 1px solid color-mix(in srgb, var(--kf-color-line) 76%, transparent);
  border-radius: 14px;
  background: var(--kf-color-content-background);
  box-shadow: 0 18px 44px rgb(74 62 43 / 6%);
}

body.kf-reference-form-page .kf-page-title-scene__title {
  max-width: 100%;
  font-size: clamp(1.8rem, 3vw, 2.6rem) !important;
  letter-spacing: 0.07em;
  line-height: 1.42;
}

body.kf-reference-form-page .kf-page-title-scene__title .kf-reference-form-title-reading {
  display: inline-block;
  margin-left: 0.28em;
  font-size: 0.56em;
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1.6;
  vertical-align: 0.12em;
  white-space: nowrap;
}

body.kf-reference-form-page .entry-content {
  padding-block: 0;
}

.kf-reference-form-content {
  box-sizing: border-box;
  width: min(100%, var(--kf-layout-reading));
  margin-inline: auto;
  color: var(--kf-color-ink-soft);
  font-size: 1rem;
  line-height: 2.08;
}

.kf-reference-form-content > :first-child {
  margin-top: 0 !important;
}

.kf-reference-form-content :is(.kf-reference-heading-a2, .kf-reference-heading-a3, .kf-reference-heading-a4) {
  box-sizing: border-box;
  color: var(--kf-color-ink);
  font-family: inherit;
  text-align: left;
}

.kf-reference-form-content .kf-reference-heading-a2 {
  width: 100%;
  margin: 64px 0 26px;
  padding: 0 0 14px 18px;
  border: 0;
  border-bottom: 0;
  border-left: 4px solid var(--kf-color-bronze);
  background: transparent;
  font-size: var(--kf-body-h2-size);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: var(--kf-body-h2-line-height);
}

.kf-reference-form-content .kf-reference-heading-a3 {
  margin: 48px 0 20px;
  padding: 12px 16px;
  border: 0;
  border-left: 3px solid var(--kf-color-line-strong);
  background: color-mix(in srgb, var(--kf-color-bronze) 6%, var(--kf-color-content-background));
  font-size: 1.24rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.75;
}

.kf-reference-form-content .kf-reference-heading-a4 {
  position: relative;
  margin: 42px 0 18px;
  padding: 0 0 11px 18px;
  border: 0;
  border-bottom: 1px solid var(--kf-color-line);
  background: transparent;
  font-size: 1.08rem;
  font-weight: 600;
  letter-spacing: 0.07em;
  line-height: 1.75;
}

.kf-reference-form-content .kf-reference-heading-a4::before {
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 8px;
  height: 1px;
  background: var(--kf-color-bronze);
  content: "";
}

.kf-reference-form-content :is(p, li) {
  color: var(--kf-color-ink-soft);
  font-size: 1rem;
  line-height: 2.08;
}

.kf-reference-form-page:not(.kf-reference-form-page--wuqinxi) .kf-reference-form-content > p,
.kf-reference-form-page:not(.kf-reference-form-page--wuqinxi) .kf-reference-form-content .swell-block-column > p {
  margin: 0;
  padding: 18px 4px 19px;
  border-bottom: 1px solid color-mix(in srgb, var(--kf-color-line) 72%, transparent);
}

.kf-reference-form-page:not(.kf-reference-form-page--wuqinxi) .kf-reference-form-content > p:first-child,
.kf-reference-form-page:not(.kf-reference-form-page--wuqinxi) .kf-reference-form-content .swell-block-column > p:first-child {
  border-top: 1px solid color-mix(in srgb, var(--kf-color-line) 72%, transparent);
}

.kf-reference-form-page:not(.kf-reference-form-page--wuqinxi) .kf-reference-form-content > p:last-of-type,
.kf-reference-form-page:not(.kf-reference-form-page--wuqinxi) .kf-reference-form-content .swell-block-column > p:last-of-type {
  border-bottom: 0;
}

.kf-reference-form-page:not(.kf-reference-form-page--wuqinxi) .kf-reference-form-content .swell-block-columns {
  margin-block: 0;
}

.kf-reference-form-page:not(.kf-reference-form-page--wuqinxi) .kf-reference-form-content .swell-block-columns__inner {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 36px !important;
}

.kf-reference-form-page:not(.kf-reference-form-page--wuqinxi) .kf-reference-form-content .swell-block-column {
  width: auto !important;
  margin: 0 !important;
}

.kf-reference-form-content .wp-block-list {
  margin: 20px 0 30px;
  padding-left: 1.4em;
}

.kf-reference-form-content .wp-block-list li {
  margin: 0;
  padding: 8px 0 9px 4px;
}

body.kf-reference-form-page .kf-reference-form-content a {
  color: #1769aa;
  font-weight: 600;
  text-decoration-color: rgb(23 105 170 / 52%);
  text-decoration-line: underline !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.22em;
}

body.kf-reference-form-page .kf-reference-form-content a:hover,
body.kf-reference-form-page .kf-reference-form-content a:focus-visible {
  color: #0f4f86;
  text-decoration-color: currentColor;
}

body.kf-reference-form-page .kf-reference-form-content figcaption {
  color: var(--kf-color-ink-soft);
  font-size: 0.76rem;
  line-height: 1.7;
  text-align: center;
}

body.kf-reference-form-page--wuqinxi .kf-reference-form-content > .kf-wuqinxi-event-card {
  margin: 18px auto 0;
}

@media (max-width: 680px) {
  body.kf-reference-form-page .kf-page-article {
    padding-bottom: 26px;
    border-radius: 10px;
  }

  body.kf-reference-form-page .kf-page-title-scene__title {
    font-size: clamp(1.65rem, 7.2vw, 2.05rem) !important;
    line-height: 1.48;
  }

  body.kf-reference-form-page .kf-page-title-scene__title .kf-reference-form-title-reading {
    margin-left: 0.2em;
    font-size: 0.58em;
  }

  .kf-reference-form-content {
    font-size: 0.94rem;
    line-height: 2;
  }

  .kf-reference-form-content .kf-reference-heading-a2 {
    margin-top: 52px;
    padding: 0 0 13px 14px;
    font-size: 1.4rem;
  }

  .kf-reference-form-content .kf-reference-heading-a3 {
    margin-top: 42px;
    font-size: 1.12rem;
  }

  .kf-reference-form-page:not(.kf-reference-form-page--wuqinxi) .kf-reference-form-content .swell-block-columns__inner {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
  }
}

/* Canonical reference-page heading system A. This final scoped layer keeps
 * reference overviews, biographies and named-form pages aligned with the
 * site design blueprint, even where older page-specific B rules remain. */
body.kf-page-context--reference .entry-content > h2,
body.kf-page-context--reference .kf-reference-form-content > .kf-reference-heading-a2,
body.kf-page-context--reference .kf-reference-person-content > .kf-site-heading-a {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  min-height: 0;
  margin: 72px 0 24px !important;
  padding: 0 0 14px 18px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--kf-color-line-strong) !important;
  border-left: 4px solid var(--kf-color-bronze) !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
  color: var(--kf-color-ink);
  font-size: var(--kf-body-h2-size);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: var(--kf-body-h2-line-height);
  text-align: left;
  text-wrap: pretty;
}

body.kf-page-context--reference .entry-content > h2::before,
body.kf-page-context--reference .entry-content > h2::after,
body.kf-page-context--reference .kf-reference-form-content > .kf-reference-heading-a2::before,
body.kf-page-context--reference .kf-reference-form-content > .kf-reference-heading-a2::after,
body.kf-page-context--reference .kf-reference-person-content > .kf-site-heading-a::before,
body.kf-page-context--reference .kf-reference-person-content > .kf-site-heading-a::after {
  display: none !important;
  background: none !important;
  content: none !important;
}

body.kf-page-context--reference .entry-content > h2:first-child,
body.kf-page-context--reference .kf-reference-form-content > .kf-reference-heading-a2:first-child,
body.kf-page-context--reference .kf-reference-person-content > .kf-site-heading-a:first-child {
  margin-top: 0 !important;
}

body.kf-page-context--reference .entry-content > h3:not(.kf-lineage-heading):not(.kf-taichi-lineage-heading):not(.kf-hunyuan-lineage-heading):not(.kf-taichi-branch-heading),
body.kf-page-context--reference .kf-reference-form-content > .kf-reference-heading-a3,
body.kf-page-context--reference .kf-reference-person-content > .kf-reference-person-subheading {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  margin: 48px 0 20px !important;
  padding: 12px 16px !important;
  border: 0 !important;
  border-left: 3px solid var(--kf-color-line-strong) !important;
  border-radius: 0;
  background: var(--kf-gold-050) !important;
  box-shadow: none;
  color: var(--kf-color-ink);
  font-size: 1.35rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.75;
  text-align: left;
  text-wrap: pretty;
}

body.kf-page-context--reference .entry-content > h3:not(.kf-lineage-heading):not(.kf-taichi-lineage-heading):not(.kf-hunyuan-lineage-heading):not(.kf-taichi-branch-heading)::before,
body.kf-page-context--reference .entry-content > h3:not(.kf-lineage-heading):not(.kf-taichi-lineage-heading):not(.kf-hunyuan-lineage-heading):not(.kf-taichi-branch-heading)::after,
body.kf-page-context--reference .kf-reference-form-content > .kf-reference-heading-a3::before,
body.kf-page-context--reference .kf-reference-form-content > .kf-reference-heading-a3::after,
body.kf-page-context--reference .kf-reference-person-content > .kf-reference-person-subheading::before,
body.kf-page-context--reference .kf-reference-person-content > .kf-reference-person-subheading::after {
  display: none !important;
  background: none !important;
  content: none !important;
}

body.kf-page-context--reference .entry-content > h4:not(.kf-style-branch-heading),
body.kf-page-context--reference .kf-reference-form-content > .kf-reference-heading-a4 {
  position: relative;
  display: block;
  box-sizing: border-box;
  width: 100%;
  margin: 42px 0 18px !important;
  padding: 0 0 0 var(--kf-reference-h4-marker-space, 18px) !important;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
  color: var(--kf-color-ink);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.75;
  text-align: left;
  text-wrap: pretty;
}

body.kf-page-context--reference .entry-content > h4:not(.kf-style-branch-heading)::before,
body.kf-page-context--reference .kf-reference-form-content > .kf-reference-heading-a4::before {
  position: absolute !important;
  top: 0.72em !important;
  left: 0 !important;
  display: var(--kf-reference-h4-marker-display, block) !important;
  width: 7px !important;
  height: 7px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: var(--kf-color-bronze) !important;
  content: "" !important;
}

body.kf-page-context--reference .entry-content > h4:not(.kf-style-branch-heading)::after,
body.kf-page-context--reference .kf-reference-form-content > .kf-reference-heading-a4::after {
  display: none !important;
  background: none !important;
  content: none !important;
}

@media (max-width: 700px) {
  body.kf-page-context--reference .entry-content > h2,
  body.kf-page-context--reference .kf-reference-form-content > .kf-reference-heading-a2,
  body.kf-page-context--reference .kf-reference-person-content > .kf-site-heading-a {
    margin-top: 58px !important;
    padding: 0 0 13px 14px !important;
    font-size: 1.4rem;
  }

  body.kf-page-context--reference .entry-content > h3:not(.kf-lineage-heading):not(.kf-taichi-lineage-heading):not(.kf-hunyuan-lineage-heading):not(.kf-taichi-branch-heading),
  body.kf-page-context--reference .kf-reference-form-content > .kf-reference-heading-a3,
  body.kf-page-context--reference .kf-reference-person-content > .kf-reference-person-subheading {
    margin-top: 44px !important;
    font-size: 1.16rem;
  }

  body.kf-page-context--reference .entry-content > h4:not(.kf-style-branch-heading),
  body.kf-page-context--reference .kf-reference-form-content > .kf-reference-heading-a4 {
    margin-top: 32px !important;
    font-size: 1rem;
  }
}

/* Local design guide: title-image candidate selection. */
.kf-icon-selection__intro {
  border-bottom: 1px solid var(--kf-color-line);
  background: var(--kf-gold-050);
}

.kf-icon-selection__intro p {
  max-width: 860px;
  margin: 0;
  color: var(--kf-color-ink-soft);
  line-height: 1.9;
}

.kf-icon-selection__group {
  padding: 36px !important;
}

.kf-icon-selection__group + .kf-icon-selection__group {
  border-top: 1px solid var(--kf-color-line);
}

.kf-icon-selection__group > header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 5px 24px;
  margin-bottom: 22px;
}

.kf-icon-selection__group > header p {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--kf-color-bronze);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
}

.kf-icon-selection__group > header h4 {
  margin: 0;
  font-size: 1.3rem;
  font-weight: 400;
  letter-spacing: 0.06em;
}

.kf-icon-selection__group > header span {
  color: var(--kf-color-ink-soft);
  font-size: 0.82rem;
}

.kf-icon-selection .kf-sample-image-heading-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.kf-sample-image-heading--candidate {
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 16px;
  padding: 16px;
}

.kf-sample-image-heading--candidate figure {
  width: 112px;
  height: 112px;
  overflow: hidden;
  border: 1px solid rgba(160, 138, 94, 0.2);
  border-radius: 6px;
  background-color: #faf8f2;
  background-image:
    linear-gradient(45deg, rgba(160, 138, 94, 0.07) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(160, 138, 94, 0.07) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, rgba(160, 138, 94, 0.07) 75%),
    linear-gradient(-45deg, transparent 75%, rgba(160, 138, 94, 0.07) 75%);
  background-position: 0 0, 0 8px, 8px -8px, -8px 0;
  background-size: 16px 16px;
}

.kf-sample-image-heading--candidate img {
  width: 104px;
  height: 104px;
  object-fit: contain;
}

.kf-sample-image-heading--candidate p {
  margin: 0;
  color: var(--kf-color-bronze);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
}

.kf-sample-image-heading--candidate h2 {
  margin: 5px 0 7px;
  font-size: 1.02rem;
  line-height: 1.5;
  letter-spacing: 0.03em;
}

.kf-sample-image-heading--candidate span {
  font-size: 0.78rem;
  line-height: 1.6;
}

@media (max-width: 1100px) {
  .kf-icon-selection .kf-sample-image-heading-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .kf-icon-selection__group {
    padding: 24px 20px !important;
  }

  .kf-icon-selection__group > header {
    grid-template-columns: 1fr;
  }

  .kf-icon-selection .kf-sample-image-heading-list {
    grid-template-columns: 1fr;
  }

  .kf-sample-image-heading--candidate {
    grid-template-columns: 84px minmax(0, 1fr);
  }

  .kf-sample-image-heading--candidate figure {
    width: 84px;
    height: 84px;
  }

  .kf-sample-image-heading--candidate img {
    width: 78px;
    height: 78px;
  }
}

/* Class chooser draft: a visitor-led route from interest to the appropriate
 * level, built from the adopted editorial typography and restrained palette. */
/* Shared palette for the two approved class pages. Other class pages retain
 * their existing values until separately reviewed. */
.kf-class-guide-index,
.kf-chenstyle-taichi-class-page {
  --kf-class-accent: #73896c;
  --kf-class-gold: #b79a5a;
  --kf-class-green-wash: linear-gradient(145deg, #fffdf8, #edf3e8);
  --kf-class-gold-wash: linear-gradient(145deg, #fffdf8, #f8f2de);
  --kf-class-panel-radius: 18px;
}

.kf-class-guide-index .kf-page-article {
  overflow: hidden;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.kf-class-guide-index .kf-page-layout--wide {
  width: min(var(--kf-layout-with-sidebar), calc(100% - (var(--kf-mobile-gutter) * 2)));
}

.kf-class-guide-index .kf-page-layout--wide .kf-page-article > .entry-content {
  width: 100%;
  max-width: var(--kf-layout-without-sidebar);
}

.kf-class-selector {
  --kf-course-content-inset: 34px;
  --kf-selector-green: var(--kf-class-accent);
  --kf-selector-green-pale: #eef2eb;
  --kf-selector-gold: var(--kf-class-gold);
  --kf-selector-paper: #fbf9f4;
  color: var(--kf-color-ink);
}

.kf-class-selector > section {
  border-radius: var(--kf-class-panel-radius);
  background: var(--kf-selector-section-paper, var(--kf-color-content-background));
}


.kf-class-selector__route {
  --kf-selector-section-paper: rgba(251, 249, 244, 0.78);
  margin-bottom: 76px;
  padding: 34px 36px 36px;
}

.kf-class-selector :where(h2, h3, p, figure) {
  margin-top: 0;
}

.kf-class-selector__opening {
  position: relative;
  max-width: 780px;
  margin: 0 auto 42px;
  padding: 0 36px;
  text-align: center;
}

.kf-class-selector__opening-mark {
  display: grid;
  width: 58px;
  height: 58px;
  margin: 0 auto 16px;
  place-items: center;
}

.kf-class-selector__opening-mark img {
  width: 54px;
  height: 54px;
  object-fit: contain;
}

.kf-class-selector__eyebrow,
.kf-class-selector__section-head > p,
.kf-class-selector__discipline-intro > div > p,
.kf-class-selector__cta > p {
  margin-bottom: 9px;
  color: var(--kf-color-bronze);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  line-height: 1.6;
}

.kf-page-article .kf-class-selector__opening h2 {
  position: relative;
  margin: 0 0 22px;
  font-size: clamp(1.85rem, 3vw, 2.45rem);
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.55;
}

.kf-class-selector__lead {
  max-width: 670px;
  margin: 0 auto;
  color: var(--kf-color-ink-soft);
  font-size: 1rem;
  line-height: 2;
  text-align: left;
}

.kf-class-selector__doors {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin: 0;
}

.kf-class-selector__door {
  position: relative;
  display: grid;
  overflow: hidden;
  grid-template-rows: 220px 1fr;
  border: 1px solid var(--kf-color-line);
  border-radius: 0;
  background: #fff;
  color: inherit;
  text-decoration: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.kf-class-selector__door:hover,
.kf-class-selector__door:focus-visible {
  border-color: color-mix(in srgb, var(--kf-selector-green) 55%, var(--kf-color-line));
  box-shadow: 0 14px 30px rgba(62, 60, 50, 0.11);
  color: inherit;
  transform: translateY(-2px);
}

.kf-class-selector__door:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--kf-selector-green) 45%, transparent);
  outline-offset: 3px;
}

.kf-class-selector__door > img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}

.kf-class-selector__door-copy {
  position: relative;
  background: var(--kf-class-green-wash);
  display: grid;
  align-content: start;
  min-height: 162px;
  padding: 24px 26px 25px;
}



.kf-class-selector__door-copy strong {
  margin-bottom: 7px;
  font-size: 1.35rem;
  font-weight: 400;
  letter-spacing: 0.08em;
}

.kf-class-selector__door-copy > span {
  color: var(--kf-color-ink-soft);
  font-size: 0.82rem;
  line-height: 1.75;
}

.kf-class-selector__door-copy i {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
  color: var(--kf-selector-green);
  font-size: 0.82rem;
  font-style: normal;
  line-height: 1.75;
}

.kf-class-selector__choice-guide,
.kf-class-selector__discipline {
  margin-top: 76px;
  scroll-margin-top: 100px;
}

.kf-class-selector__choice-guide {
  margin-top: 0;
  padding: 34px 36px 32px;
}

.kf-class-selector__choice-lead {
  max-width: 60em;
  margin: 0;
  color: var(--kf-color-ink-soft);
  font-size: calc(0.86rem + 1px);
  line-height: 1.95;
}

.kf-class-selector__choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 26px;
  border-top: 1px solid var(--kf-color-line);
  border-bottom: 1px solid var(--kf-color-line);
}

.kf-class-selector__choice-grid article {
  position: relative;
  overflow: hidden;
  padding: 30px 34px 31px;
  background: var(--kf-class-green-wash);
}

.kf-class-selector__choice-grid article::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  background-position: right center;
  background-repeat: no-repeat;
  background-size: auto 100%;
  content: "";
  opacity: 0.46;
  pointer-events: none;
}

.kf-class-selector__choice-grid article > * {
  position: relative;
  z-index: 1;
}

.kf-class-selector__choice-grid article:first-child::before {
  background-image: url("../images/class-selector/tiger-ivory-wash-v1.png");
}

.kf-class-selector__choice-grid article + article {
  border-left: 1px solid var(--kf-color-line);
}

.kf-class-selector__choice-grid article + article::before {
  background-image: url("../images/class-selector/dragon-ivory-wash-v1.png");
}

.kf-class-selector__choice-grid article > p {
  margin: 0 0 6px;
  color: var(--kf-color-bronze);
  font-family: Georgia, "Times New Roman", serif;
  font-size: calc(0.62rem + 1px);
  letter-spacing: 0.15em;
  line-height: 1.5;
}

.kf-page-article .kf-class-selector__choice-grid h3 {
  margin: 0 0 13px;
  font-size: 1.3rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.55;
}

.kf-class-selector__choice-grid .kf-class-selector__beast-copy {
  display: block;
  margin: -3px 0 10px;
  color: var(--kf-color-bronze);
  font-size: 0.92rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.7;
}

.kf-class-selector__choice-grid article > span,
.kf-class-selector__choice-grid article > strong {
  display: block;
  font-size: calc(0.8rem + 1px);
  line-height: 1.85;
}

.kf-class-selector__choice-grid article > span {
  color: var(--kf-color-ink-soft);
}

.kf-class-selector__choice-grid article > strong {
  margin-top: 10px;
  color: var(--kf-selector-green);
  font-weight: 500;
}

.kf-class-foundation {
  margin-top: 26px;
  padding-inline: 28px;
}
.kf-class-foundation h3 {
  margin: 0 0 10px;
  padding: 0;
  border: 0;
  color: var(--kf-color-bronze);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.6;
}
.kf-class-foundation p {
  margin: 0;
  color: var(--kf-color-ink-soft);
  font-size: 15px;
  line-height: 1.95;
}
.kf-class-foundation .kf-class-foundation__lead {
  margin-bottom: 7px;
  color: var(--kf-color-ink);
  font-size: 16px;
  font-weight: 500;
}
@media (max-width: 760px) {
  .kf-class-foundation {
    margin-top: 24px;
    padding-inline: 18px;
  }
}

.kf-class-selector__section-head {
  position: relative;
  margin-bottom: 28px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--kf-color-line-strong);
}

.kf-page-article .kf-class-selector__section-head h2,
.kf-page-article .kf-class-selector__cta h2 {
  margin: 0;
  font-size: var(--kf-body-h2-size);
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: var(--kf-body-h2-line-height);
}

.kf-page-article .kf-class-selector__section-head h2 {
  display: block;
}

.kf-class-selector__status {
  display: inline-block;
  padding: 4px 9px;
  border-radius: 999px;
  background: #eeeae1;
  color: #695f50;
  font-size: calc(0.65rem + 1px);
  line-height: 1.4;
  white-space: nowrap;
}

.kf-class-selector__status.is-open {
  background: var(--kf-selector-green-pale);
  color: #50634d;
}

.kf-class-selector__discipline {
  --kf-selector-section-paper: var(--kf-color-content-background);
  padding: 34px 36px 36px;
}

.kf-class-selector__discipline-intro {
  display: grid;
  gap: 10px;
  margin-bottom: 28px;
}

.kf-class-selector__section-head h2 ruby,
.kf-class-selector__door-copy ruby {
  ruby-position: over;
}

.kf-class-selector__section-head h2 rt,
.kf-class-selector__door-copy rt {
  color: var(--kf-color-bronze);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.42em;
  letter-spacing: 0.12em;
}

.kf-class-selector__discipline-intro strong {
  margin-bottom: 0;
  color: var(--kf-selector-green);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.75;
}

.kf-class-selector__discipline-intro strong span { display: inline-block; }
.kf-class-selector__discipline-intro > span {
  color: var(--kf-color-ink-soft);
  font-size: 0.86rem;
  line-height: 1.9;
}

/* Approved class cards: reusable across the two disciplines. */
.kf-course-grid,
.kf-course-venue {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.kf-course-card {
  --kf-card-accent: #5d745b;
  --kf-card-line: #cfdbca;
  --kf-card-tint: #e9f0e5;
  --kf-card-hover: #dce8d6;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 32px var(--kf-course-content-inset, 34px) 34px;
  border: 1px solid var(--kf-card-line);
  border-radius: 18px;
  background: var(--kf-color-content-background);
}
.kf-course-card--next {
  --kf-card-accent: #886b3e;
  --kf-card-line: #e2d2b8;
  --kf-card-tint: #f3eadb;
  --kf-card-hover: #eadcc3;
}
.kf-course-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 12px;
  margin-bottom: 20px;
}
.kf-course-card .kf-course-card__title {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 28px;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.5;
}
.kf-course-card .kf-course-card__entry {
  margin: 0 0 12px;
  color: var(--kf-card-accent);
  font-size: 13px;
  letter-spacing: 0.06em;
  line-height: 1.7;
}
.kf-course-card__status {
  padding: 3px 10px;
  border-radius: 999px;
  background: var(--kf-card-tint);
  color: var(--kf-card-accent);
  font-size: 11px;
  line-height: 1.7;
  white-space: nowrap;
}
.kf-course-card .kf-course-card__target {
  min-height: 68px;
  margin: 0;
  color: var(--kf-card-accent);
  font-size: 17px;
  line-height: 1.95;
  letter-spacing: 0.035em;
  text-wrap: balance;
}
.kf-course-card__target span { display: inline-block; }
.kf-course-card .kf-course-card__description {
  min-height: 60px;
  margin: 18px 0 25px;
  color: var(--kf-color-ink-soft);
  font-size: 15px;
  line-height: 1.95;
  text-wrap: pretty;
}
.kf-course-card .kf-course-card__details {
  display: grid;
  gap: 14px;
  margin: auto 0 28px;
  padding-top: 20px;
  border-top: 1px solid var(--kf-card-line);
}
.kf-course-card__details > div {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 16px;
  align-items: baseline;
}
.kf-course-card__details dt {
  margin: 0;
  color: var(--kf-card-accent);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.kf-course-card__details dd {
  margin: 0;
  font-size: 16px;
  line-height: 1.85;
}
.kf-course-card__time { white-space: nowrap; }
.kf-course-card__fee {
  font-size: 22px;
  line-height: 1.5;
  letter-spacing: 0.025em;
}
.kf-course-card__frequency {
  margin-left: 12px;
  color: var(--kf-color-ink-soft);
  font-size: 13px;
  white-space: nowrap;
}
.kf-course-card .kf-sample-button {
  align-self: flex-start;
  border-color: var(--kf-card-line);
  background: var(--kf-card-tint);
  color: var(--kf-card-accent);
  font-size: 14px;
  letter-spacing: 0.06em;
}
.kf-course-card .kf-sample-button:hover,
.kf-course-card .kf-sample-button:focus-visible {
  border-color: var(--kf-card-accent);
  background: var(--kf-card-hover);
  color: var(--kf-card-accent);
}
.kf-course-venue {
  align-items: center;
  margin-bottom: 38px;
}
.kf-course-venue > div {
  padding-inline: calc(var(--kf-course-content-inset, 34px) + 1px);
}
.kf-course-venue > figure {
  margin: 0;
}
.kf-course-venue > figure > img {
  display: block;
  width: 100%;
  height: 244px;
  object-fit: cover;
}
.kf-course-venue .kf-course-venue__label {
  margin: 0 0 10px;
  color: var(--kf-color-bronze);
  font-size: 12px;
  letter-spacing: 0.1em;
}
.kf-course-venue .kf-course-venue__note {
  max-width: 25em;
  margin: 0;
  color: var(--kf-color-ink-soft);
  font-size: 14px;
  line-height: 1.95;
}
.kf-course-venue__title > span { display: inline-block; }
.kf-course-venue .kf-course-venue__title {
  text-wrap: balance;
  margin: 0 0 16px;
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.65;
}
@media (max-width: 760px) {
  .kf-class-selector { --kf-course-content-inset: 20px; }
  .kf-course-grid,
  .kf-course-venue { grid-template-columns: 1fr; gap: 22px; }
  .kf-course-card { padding: 26px var(--kf-course-content-inset, 20px) 28px; border-radius: 16px; }
  .kf-course-card__head { margin-bottom: 17px; gap: 8px 12px; }
  .kf-course-card .kf-course-card__title { font-size: 26px; }
  .kf-course-card .kf-course-card__target { min-height: 0; }
  .kf-course-card .kf-course-card__description { min-height: 0; margin: 16px 0 24px; }
  .kf-course-card .kf-course-card__details { gap: 13px; margin-bottom: 24px; }
  .kf-course-card__details > div { grid-template-columns: 42px 1fr; gap: 10px; }
  .kf-course-card__details dd { font-size: 15px; }
  .kf-course-card .kf-sample-button { gap: 12px; padding: 12px 12px; }
  .kf-course-venue { gap: 16px; margin-bottom: 28px; }
  .kf-course-venue > figure > img { height: auto; aspect-ratio: 1.85; object-fit: cover; }
  .kf-course-venue .kf-course-venue__label { margin-bottom: 5px; font-size: 11px; }
  .kf-course-venue .kf-course-venue__note { max-width: none; font-size: 13px; }
  .kf-course-venue .kf-course-venue__title { margin-bottom: 8px; font-size: 20px; }
}

.kf-class-selector__discipline .kf-class-selector__practice-page {
  max-width: 700px;
  margin-top: 24px;
}

.kf-class-selector__cta {
  box-sizing: border-box;
  width: 100%;
  margin: 78px auto 8px;
  padding: 34px 36px 40px;
  text-align: center;
}

.kf-class-selector__cta-guide {
  display: block;
  width: 168px;
  height: auto;
  margin: 16px auto 18px;
}

.kf-class-selector__cta > .kf-class-selector__cta-guide-name {
  display: block;
  margin: -2px auto 0;
  color: var(--kf-color-ink-soft);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  line-height: 1.7;
}

.kf-page-article .kf-class-selector__cta h2 {
  position: relative;
  max-width: 700px;
  margin: 0 auto 15px;
}

.kf-class-selector__cta h2 > span { display: inline-block; }

.kf-class-selector__cta > span {
  max-width: 700px;
  margin-inline: auto;
  text-wrap: balance;
  display: block;
  color: var(--kf-color-ink-soft);
  font-size: 0.86rem;
  line-height: 1.9;
}

.kf-class-selector__cta .swell-block-button {
  margin-top: 36px;
}

@media (max-width: 760px) {


  .kf-class-guide-index,
  .kf-chenstyle-taichi-class-page {
    --kf-class-panel-radius: 14px;
  }

  .kf-class-selector__opening {
    margin-bottom: 38px;
    padding: 0;
  }

  .kf-page-article .kf-class-selector__opening h2 {
    text-wrap: balance;
    font-size: 1.72rem;
    letter-spacing: 0.07em;
  }

  .kf-class-selector__doors {
    grid-template-columns: 1fr;
  }

  .kf-class-selector__doors {
    gap: 16px;
  }

  .kf-class-selector__route {
    padding: 28px 22px 30px;
  }

  .kf-class-selector__discipline {
    padding: 28px 14px 30px;
  }

  .kf-class-selector__route {
    margin-bottom: 62px;
  }

  .kf-class-selector__door {
    grid-template-rows: 180px 1fr;
  }

  .kf-class-selector__door > img {
    height: 180px;
  }

  .kf-class-selector__choice-guide,
  .kf-class-selector__discipline {
    margin-top: 62px;
  }

  .kf-class-selector__choice-guide {
    margin-top: 0;
    padding: 28px 22px 27px;
  }

  .kf-class-selector__choice-grid {
    grid-template-columns: 1fr;
    margin-top: 21px;
  }

  .kf-class-selector__choice-grid article,
  .kf-class-selector__choice-grid article + article {
    padding: 27px 24px 28px;
    border-left: 0;
  }

  .kf-class-selector__choice-grid article::before {
    background-size: auto 88%;
  }

  .kf-class-selector__choice-grid article + article {
    border-top: 1px solid var(--kf-color-line);
  }







  .kf-class-selector__cta {
    margin-top: 64px;
    padding: 28px 22px 32px;
  }

  .kf-class-selector__cta-guide {
    width: 142px;
    margin-bottom: 15px;
  }
}

/* Plugin-free rendering for migrated Useful Blocks, Spectra/UAG and Modula content. */
.kf-migrated-block {
  margin-block: 2rem;
}

.pb-iconbox {
  max-width: 600px;
  margin: 2rem auto;
}

.pb-iconbox__inner {
  overflow: hidden;
  border: 1px solid var(--kf-color-line);
  border-radius: 8px;
  background: var(--kf-color-surface);
  box-shadow: 0 5px 18px rgba(72, 62, 44, 0.07);
}

.pb-iconbox__head {
  padding: 1rem 2rem;
  background: #91c13e;
  color: #fff;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}

.pb-iconbox__body {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 2rem;
  background: #f2f8e8;
}

.pb-iconbox__content {
  min-width: 0;
  flex: 1 1 auto;
}

.pb-iconbox__content > :first-child {
  margin-top: 0 !important;
}

.pb-iconbox__content > :last-child {
  margin-bottom: 0 !important;
}

.pb-iconbox__innerIcon {
  display: flex;
  flex: 0 0 112px;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.pb-iconbox__comment {
  position: relative;
  max-width: 100%;
  padding: 9px 11px;
  border: 1px solid #a8bf83;
  border-radius: 8px;
  background: #fff;
  color: var(--kf-color-ink);
  font-size: 0.8125rem;
  line-height: 1.6;
  text-align: center;
  overflow-wrap: anywhere;
}

.pb-iconbox__comment::after {
  position: absolute;
  bottom: -5px;
  left: calc(50% - 4px);
  width: 8px;
  height: 8px;
  border-right: 1px solid #a8bf83;
  border-bottom: 1px solid #a8bf83;
  background: #fff;
  transform: rotate(45deg);
  content: "";
}

.pb-iconbox__figure {
  width: 100%;
  margin: 0;
}

.pb-iconbox__icon {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  object-fit: cover;
}

.pb-list {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.pb-list li {
  position: relative;
  margin: 0.7em 0 !important;
  padding: 0 0 0 1.4em !important;
  line-height: 1.5;
  border-bottom: 0;
  list-style: none !important;
}

.pb-list li:last-child {
  border-bottom: 0;
}

.pb-list li::before {
  position: absolute !important;
  top: 0.55em !important;
  left: 0 !important;
  width: 6px !important;
  height: 6px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 50%;
  background: var(--kf-color-bronze) !important;
  content: "" !important;
}

.pb-rating-graph {
  box-sizing: border-box;
  max-width: 700px;
  margin: 2rem auto;
  padding: 2rem !important;
  border: 1px solid var(--kf-color-line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--kf-color-paper) 64%, var(--kf-color-surface));
  color: var(--kf-color-ink-soft);
}

.pb-rating-graph__item {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.pb-rating-graph__item + .pb-rating-graph__item {
  margin-top: 20px !important;
}

.pb-rating-graph__label {
  display: inline-block;
  min-width: 4em;
  margin-bottom: 16px !important;
  padding: 5px 14px;
  border-radius: 999px;
  background: var(--kf-color-sage);
  color: var(--kf-color-surface);
  font-size: 0.78rem;
  font-weight: 600;
  text-align: center;
}

.pb-rating-graph__wrap,
.pb-rating-graph__axis {
  display: flex;
  margin: 0 !important;
  padding: 0 !important;
}

.pb-rating-graph__wrap {
  align-items: flex-start;
  justify-content: center;
}

.pb-rating-graph__axis {
  position: relative;
  justify-content: space-between;
  width: 70%;
}

.pb-rating-graph__axis::before {
  position: absolute;
  top: 8px;
  left: 2px;
  width: calc(100% - 4px);
  height: 3px;
  background: var(--kf-color-line-strong);
  content: "";
}

.pb-rating-graph__basis {
  width: 15%;
  font-size: 0.84rem;
  font-weight: 600;
  line-height: 1.5;
}

.pb-rating-graph__basis.-left {
  padding-right: 15px;
  text-align: right;
}

.pb-rating-graph__basis.-right {
  padding-left: 15px;
}

.pb-rating-graph__scale {
  z-index: 1;
  display: flex;
  width: 18px;
  align-items: center;
  flex-direction: column;
}

.pb-rating-graph__scale .__shape {
  display: block;
  width: 18px;
  height: 18px;
  margin: 0 !important;
  padding: 0 !important;
  border: 2px solid var(--kf-color-line-strong);
  border-radius: 50%;
  background: var(--kf-color-surface);
}

.pb-rating-graph__scale[data-check] .__shape,
.pb-rating-graph__scale .__shape.-icon {
  border-color: var(--kf-color-bronze);
  background: var(--kf-color-bronze);
}

.pb-rating-graph__scale .__shape.-icon svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: var(--kf-color-surface);
}

.pb-rating-graph__scale .__label {
  width: 48px;
  margin-top: 5px;
  font-size: 0.68rem;
  text-align: center;
}

.wp-block-uagb-content-timeline {
  position: relative;
  display: grid;
  gap: 20px;
  margin: 2.4rem 0;
}

.wp-block-uagb-content-timeline::before {
  position: absolute;
  top: 20px;
  bottom: 20px;
  left: 19px;
  width: 2px;
  background: var(--kf-color-line-strong);
  content: "";
}

.wp-block-uagb-content-timeline-child {
  position: relative;
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: start;
  margin: 0 !important;
}

.uagb-timeline__marker {
  z-index: 1;
  display: grid;
  width: 30px;
  height: 30px;
  margin: 9px 0 0 5px;
  place-items: center;
  border: 5px solid var(--kf-color-surface);
  border-radius: 50%;
  background: var(--kf-color-bronze);
}

.uagb-timeline__marker svg {
  width: 12px;
  height: 12px;
  fill: var(--kf-color-surface);
}

.uagb-timeline__day-new {
  min-width: 0;
  margin-left: 14px;
}

.uagb-timeline__events-inner--content {
  position: relative;
  padding: 20px 22px;
  border: 1px solid var(--kf-color-line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--kf-color-paper) 58%, var(--kf-color-surface));
}

.uagb-timeline__inner-date-new {
  margin-bottom: 5px;
  color: var(--kf-color-bronze);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
}

.uagb-timeline__heading {
  margin: 0 0 8px !important;
  font-size: 1.05rem;
}

.uagb-timeline-desc-content {
  margin: 0 !important;
  color: var(--kf-color-ink-soft);
  font-size: 0.88rem;
  line-height: 1.9;
}

.uagb-timeline__date-new,
.uagb-timeline__arrow,
.uagb-timeline__line {
  display: none !important;
}

.kf-native-gallery.wp-block-gallery {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px !important;
  margin-block: 2.3rem;
}

.kf-native-gallery.wp-block-gallery > .wp-block-image {
  display: block !important;
  width: auto !important;
  margin: 0 !important;
}

.kf-native-gallery.wp-block-gallery > .wp-block-image img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 7px;
  object-fit: cover;
}

.kf-native-gallery.wp-block-gallery figcaption {
  margin-top: 7px;
  color: var(--kf-color-ink-soft);
  font-size: 0.7rem;
  line-height: 1.55;
  text-align: left;
}

@media (max-width: 680px) {
  .pb-iconbox__body {
    flex-direction: column;
    align-items: stretch;
  }

  .pb-iconbox__innerIcon {
    flex-basis: auto;
    align-self: center;
    width: 112px;
  }

  .pb-iconbox__body,
  .pb-rating-graph {
    padding: 1.25rem !important;
  }

  .pb-rating-graph__axis {
    width: 60%;
  }

  .pb-rating-graph__basis {
    width: 20%;
    font-size: 0.72rem;
  }

  .pb-rating-graph__basis.-left {
    padding-right: 8px;
  }

  .pb-rating-graph__basis.-right {
    padding-left: 8px;
  }

  .kf-native-gallery.wp-block-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Cheng-style Baguazhang overview — practical body-design standard. */
body.page-id-78 .kf-page-layout--wide .kf-page-article > .entry-content {
  max-width: 740px;
}

body.page-id-78 .kf-page-article {
  padding-block: 56px;
}

body.page-id-78 .entry-content > h2 {
  margin: 72px 0 24px;
  padding: 0 0 14px 18px;
  border-bottom: 1px solid var(--kf-color-line-strong);
  border-left: 4px solid var(--kf-color-bronze);
  font-size: var(--kf-body-h2-size);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: var(--kf-body-h2-line-height);
}

body.page-id-78 .entry-content > h2:first-child {
  margin-top: 0;
}

body.page-id-78 .entry-content > h3 {
  margin: 58px 0 26px;
  padding: 12px 16px;
  border-left: 3px solid var(--kf-color-line-strong);
  background: var(--kf-gold-050);
  font-size: 1.35rem;
  font-weight: 500;
  letter-spacing: 0.045em;
  line-height: 1.55;
}

body.page-id-78 .entry-content > h4 {
  position: relative;
  margin: 34px 0 12px;
  padding-left: 18px;
  color: var(--kf-color-ink);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0.035em;
  line-height: 1.65;
}

body.page-id-78 .entry-content > h4::before {
  position: absolute;
  top: 0.68em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--kf-color-bronze);
  content: "";
}

body.page-id-78 .entry-content > :where(p, ul) {
  color: var(--kf-color-ink-soft);
}

body.page-id-78 .entry-content > :is(.swell-block-columns, .ark-block-columns):has(figure) {
  box-sizing: border-box;
  margin: 0;
  padding: 26px 28px;
  border: 1px solid color-mix(in srgb, var(--kf-color-line) 78%, transparent);
  background: color-mix(in srgb, var(--kf-color-paper) 54%, white);
}

body.page-id-78 .entry-content > .swell-block-columns:has(figure) > .swell-block-columns__inner,
body.page-id-78 .entry-content > .ark-block-columns:has(figure) > .ark-block-columns__inner {
  display: grid !important;
  width: 100% !important;
  margin: 0 !important;
  grid-template-columns: minmax(0, 190px) minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 30px !important;
}

body.page-id-78 .entry-content > .swell-block-columns:has(figure) > .swell-block-columns__inner > .swell-block-column,
body.page-id-78 .entry-content > .ark-block-columns:has(figure) > .ark-block-columns__inner > .ark-block-column {
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
}

body.page-id-78 .entry-content > :is(.swell-block-columns, .ark-block-columns):has(figure) > div > :nth-child(n + 3) {
  display: none;
}

body.page-id-78 .entry-content > :is(.swell-block-columns, .ark-block-columns):has(figure) figure {
  margin: 0;
}

body.page-id-78 .entry-content > :is(.swell-block-columns, .ark-block-columns):has(figure) figure img {
  display: block;
  width: 100% !important;
  max-width: 190px;
  height: auto;
  margin-inline: auto;
}

body.page-id-78 .entry-content > :is(.swell-block-columns, .ark-block-columns):has(figure) figcaption {
  margin-top: 10px;
  color: var(--kf-color-ink-muted);
  font-size: 0.75rem;
  line-height: 1.65;
  text-align: center;
}

body.page-id-78 .entry-content > :is(.swell-block-columns, .ark-block-columns):has(figure) .is-style-big_kakko_box {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.page-id-78 .entry-content > :is(.swell-block-columns, .ark-block-columns):has(figure) .is-style-big_kakko_box::before,
body.page-id-78 .entry-content > :is(.swell-block-columns, .ark-block-columns):has(figure) .is-style-big_kakko_box::after {
  display: none;
  content: none;
}

body.page-id-78 .entry-content > .swell-block-columns:not(:has(figure)) {
  margin-top: 18px;
}

body.page-id-78 .entry-content > .swell-block-columns:not(:has(figure)) > .swell-block-columns__inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: end !important;
  gap: 24px !important;
}

body.page-id-78 .entry-content > .swell-block-columns:not(:has(figure)) > .swell-block-columns__inner > .swell-block-column {
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
}

body.page-id-78 .entry-content > .wp-block-list {
  box-sizing: border-box;
  columns: 2;
  column-gap: 44px;
  margin-top: 22px;
  padding: 24px 30px 24px 50px;
  border-top: 1px solid color-mix(in srgb, var(--kf-color-line) 72%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--kf-color-line) 72%, transparent);
  background: color-mix(in srgb, var(--kf-color-paper) 42%, transparent);
}

body.page-id-78 .entry-content > .wp-block-list > li {
  break-inside: avoid;
  margin-bottom: 8px;
}

@media (max-width: 760px) {
  body.page-id-78 .kf-page-article {
    padding-block: 40px 48px;
  }

  body.page-id-78 .entry-content > h2 {
    margin-top: 58px;
    padding-left: 14px;
  }

  body.page-id-78 .entry-content > h3 {
    margin-top: 46px;
    padding: 11px 13px;
    font-size: 1.16rem;
  }

  body.page-id-78 .entry-content > :is(.swell-block-columns, .ark-block-columns):has(figure) {
    padding: 22px 20px;
  }

  body.page-id-78 .entry-content > .swell-block-columns:has(figure) > .swell-block-columns__inner,
  body.page-id-78 .entry-content > .ark-block-columns:has(figure) > .ark-block-columns__inner {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  body.page-id-78 .entry-content > :is(.swell-block-columns, .ark-block-columns):has(figure) figure img {
    max-width: 176px;
  }

  body.page-id-78 .entry-content > .swell-block-columns:not(:has(figure)) > .swell-block-columns__inner {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body.page-id-78 .entry-content > .wp-block-list {
    columns: 1;
    padding: 21px 22px 21px 42px;
  }
}

/* Kung Fu Life journal: adopted body-design-guide typography and media rules. */

body.kf-practice-note-single .kf-single-article > .wp-block-post-content {
  color: var(--kf-color-ink);
}

body.kf-practice-note-single .kf-single-article .wp-block-post-content > :empty {
  display: none;
}

body.kf-practice-note-single .kf-single-article .wp-block-post-content > p {
  margin-block: 0 22px;
  color: color-mix(in srgb, var(--kf-color-ink) 90%, var(--kf-color-ink-soft));
  font-size: 1rem;
  letter-spacing: 0.025em;
  line-height: 2.08;
}

body.kf-practice-note-single .kf-single-article .wp-block-post-content > p:first-child {
  font-size: 1.04rem;
}

body.kf-practice-note-single .kf-single-article .wp-block-post-content a {
  color: #72582f;
  background-image: linear-gradient(transparent 82%, rgba(190, 157, 91, 0.2) 0);
}

body.kf-practice-note-single .kf-single-article .wp-block-post-content a:hover,
body.kf-practice-note-single .kf-single-article .wp-block-post-content a:focus-visible {
  color: #4f3d22;
  background-color: var(--kf-gold-050);
}

body.kf-practice-note-single .entry-content h2.wp-block-heading.kf-practice-note-heading {
  position: relative;
  margin: 66px 0 25px;
  padding: 0 0 16px;
  border: 0;
  border-bottom: 1px solid var(--kf-color-line-strong);
  color: var(--kf-color-ink);
  font-size: var(--kf-body-h2-size);
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: var(--kf-body-h2-line-height);
}

body.kf-practice-note-single .entry-content h2.wp-block-heading.kf-practice-note-heading:first-child {
  margin-top: 0;
}

body.kf-practice-note-single .entry-content h2.wp-block-heading.kf-practice-note-heading::before {
  display: block;
  margin: 0 0 8px;
  color: var(--kf-color-bronze);
  content: attr(data-kf-en);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.68rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  line-height: 1.7;
}

body.kf-practice-note-single .entry-content h2.wp-block-heading.kf-practice-note-heading::after {
  content: none;
}

body.kf-practice-note-single .kf-single-article .wp-block-post-content > figure.wp-block-image,
body.kf-practice-note-single .kf-single-article .wp-block-post-content > figure.wp-block-video {
  width: min(100%, 720px);
  margin: 40px auto 44px;
  text-align: center;
}

body.kf-practice-note-single .kf-single-article .wp-block-post-content > figure.wp-block-image img,
body.kf-practice-note-single .kf-single-article .wp-block-post-content > figure.wp-block-video video {
  display: block;
  width: 100%;
  height: auto;
  margin-inline: auto;
  border-radius: 8px;
}

body.kf-practice-note-single .kf-single-article .wp-block-post-content > figure.wp-block-image img {
  box-shadow: 0 12px 30px rgba(77, 67, 48, 0.09);
}

body.kf-practice-note-single .kf-single-article .wp-block-post-content > figure.wp-block-gallery {
  gap: 12px;
  margin: 40px 0 44px;
}

body.kf-practice-note-single .kf-single-article .wp-block-post-content > figure.wp-block-gallery figure.wp-block-image img {
  border-radius: 7px;
}

body.kf-practice-note-koganei-plum .kf-single-article .wp-block-post-content > figure.wp-block-image {
  width: min(100%, 680px) !important;
}

body.kf-practice-note-koganei-plum .kf-single-article .wp-block-post-content > figure.wp-block-image img {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

body.kf-practice-note-single .kf-single-article .wp-block-post-content figcaption {
  margin-top: 10px;
  color: var(--kf-color-ink-soft);
  font-size: 0.76rem;
  letter-spacing: 0.04em;
  line-height: 1.75;
  text-align: center;
}

body.kf-practice-note-single .kf-single-article .wp-block-post-content > p.is-style-big_icon_memo {
  position: relative;
  width: min(100%, 660px);
  margin: 46px auto;
  padding: 27px 32px 29px;
  border: 0;
  border-left: 3px solid color-mix(in srgb, var(--kf-color-bronze) 78%, white);
  border-radius: 0 10px 10px 0;
  background: linear-gradient(135deg, color-mix(in srgb, var(--kf-gold-050) 74%, white), rgba(255, 254, 250, 0.94));
  box-shadow: 0 12px 28px rgba(77, 67, 48, 0.07);
  line-height: 1.95;
}

body.kf-practice-note-single .kf-single-article .wp-block-post-content > p.is-style-big_icon_memo::before {
  position: static;
  display: block;
  margin: 0 0 9px;
  color: var(--kf-color-bronze);
  content: "RELATED GUIDE";
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.66rem;
  letter-spacing: 0.18em;
  line-height: 1.5;
  writing-mode: horizontal-tb;
}

@media (max-width: 680px) {
  body.kf-practice-note-single .kf-single-article .wp-block-post-content > p {
    margin-bottom: 19px;
    font-size: 0.96rem;
    line-height: 2;
  }

  body.kf-practice-note-single .entry-content h2.wp-block-heading.kf-practice-note-heading {
    margin-top: 52px;
    padding-bottom: 13px;
    font-size: clamp(1.35rem, 6.2vw, 1.65rem);
    letter-spacing: 0.07em;
  }

  body.kf-practice-note-single .kf-single-article .wp-block-post-content > figure.wp-block-image,
  body.kf-practice-note-single .kf-single-article .wp-block-post-content > figure.wp-block-video,
  body.kf-practice-note-single .kf-single-article .wp-block-post-content > figure.wp-block-gallery {
    margin-block: 32px 36px;
  }

  body.kf-practice-note-single .kf-single-article .wp-block-post-content > p.is-style-big_icon_memo {
    margin-block: 36px;
    padding: 23px 22px 25px;
    border-left-width: 3px;
  }
}

/* Smartphone quick navigation: familiar access without changing the desktop header. */
.kf-mobile-utility {
  display: none;
}

html.kf-mobile-search-open,
html.kf-mobile-search-open body {
  overflow: hidden;
}

.kf-mobile-search:not([hidden]) {
  position: fixed;
  z-index: 100020;
  inset: 0;
  display: grid;
  padding: max(145px, 22vh) 40px 80px;
  place-items: start center;
  opacity: 0;
  transition: opacity 170ms ease;
}

.kf-mobile-search.is-open {
  opacity: 1;
}

.kf-mobile-search[hidden] {
  display: none !important;
}

.kf-mobile-search__backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: rgba(24, 24, 22, 0.72);
  box-shadow: none;
}

.kf-mobile-search__dialog {
  position: relative;
  width: min(100%, 620px);
  transform: translateY(8px);
  transition: transform 180ms ease;
}

.kf-mobile-search.is-open .kf-mobile-search__dialog {
  transform: translateY(0);
}

.kf-mobile-search__form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 60px;
  overflow: hidden;
  border: 3px solid rgba(255, 253, 249, 0.92);
  outline: 1px solid var(--kf-gold-400);
  background: var(--kf-color-surface);
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.26);
}

.kf-mobile-search__form input[type="search"] {
  width: 100%;
  min-width: 0;
  min-height: 60px;
  margin: 0;
  padding: 13px 20px;
  border: 0;
  border-radius: 0;
  outline: 0;
  background: var(--kf-color-surface);
  color: var(--kf-color-ink);
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.4;
}

.kf-mobile-search__form input[type="search"]::placeholder {
  color: color-mix(in srgb, var(--kf-color-ink-soft) 68%, transparent);
}

.kf-mobile-search__form input[type="search"]:focus-visible {
  box-shadow: inset 0 0 0 2px var(--kf-gold-300);
}

.kf-mobile-search__form button {
  display: grid;
  min-width: 60px;
  min-height: 60px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: var(--kf-color-bronze);
  box-shadow: none;
  color: var(--kf-color-surface);
  place-items: center;
}

.kf-mobile-search__form button svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 1.7;
}

.kf-mobile-search__close {
  display: block;
  margin: 16px auto 0;
  padding: 7px 12px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #fffdf9;
  font-family: inherit;
  font-size: 0.85rem;
  letter-spacing: 0.04em;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

.kf-mobile-search__close span {
  font-size: 1.1em;
}

@media (max-width: 782px) {
  body {
    padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px));
  }

  .kf-mobile-utility {
    position: fixed;
    z-index: 99990;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    min-height: calc(64px + env(safe-area-inset-bottom, 0px));
    padding: 5px 4px env(safe-area-inset-bottom, 0px);
    border-top: 1px solid rgba(255, 253, 249, 0.28);
    background: color-mix(in srgb, var(--kf-color-footer) 94%, var(--kf-color-ink));
    box-shadow: 0 -5px 18px rgba(33, 31, 27, 0.16);
    opacity: 0;
    transform: translateY(calc(100% + env(safe-area-inset-bottom, 0px)));
    transition: transform 220ms ease, opacity 180ms ease;
    pointer-events: none;
  }

  .kf-mobile-utility.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }

  .kf-mobile-utility__item {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 54px;
    margin: 0;
    padding: 5px 2px 4px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: rgba(255, 253, 249, 0.88);
    font-family: inherit;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
  }

  .kf-mobile-utility__item:hover,
  .kf-mobile-utility__item:focus-visible,
  .kf-mobile-utility__item.is-current {
    background: rgba(255, 253, 249, 0.08);
    color: #fffdf9;
  }

  .kf-mobile-utility__item.is-current::before {
    position: absolute;
    top: -5px;
    left: 22%;
    width: 56%;
    height: 2px;
    background: var(--kf-gold-300);
    content: "";
  }

  .kf-mobile-utility__item svg {
    width: 23px;
    height: 23px;
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.55;
  }

  .kf-mobile-utility__item span {
    overflow: hidden;
    max-width: 100%;
    color: inherit;
    font-size: 0.64rem;
    line-height: 1.2;
    letter-spacing: 0.01em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .kf-mobile-search:not([hidden]) {
    padding: max(118px, 24vh) 20px 100px;
  }

  .kf-mobile-search__dialog {
    width: min(100%, 520px);
  }

  .kf-mobile-search__form {
    grid-template-columns: minmax(0, 1fr) 52px;
  }

  .kf-mobile-search__form input[type="search"] {
    min-height: 52px;
    padding: 11px 15px;
    font-size: 16px;
  }

  .kf-mobile-search__form button {
    min-width: 52px;
    min-height: 52px;
  }

  .kf-mobile-search__close {
    margin: 13px auto 0;
  }
}

@media (max-width: 374px) {
  .kf-mobile-utility__item span {
    font-size: 0.59rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .kf-mobile-utility,
  .kf-mobile-search,
  .kf-mobile-search__dialog {
    transition: none;
  }
}

/* Inokashira Park seasonal archive — canonical integrated styles. */
.park-archive{color:var(--park-ink)}.park-archive .page-breadcrumb{display:flex;flex-wrap:wrap;gap:7px 16px;width:min(1120px,calc(100% - 48px));margin:0 auto;padding:24px 28px 20px;color:var(--kf-color-ink-soft);font-size:.84rem}.park-archive .page-breadcrumb a,.park-archive .page-breadcrumb span{font-size:.84rem}.park-archive .page-breadcrumb>*+*::before{margin-right:16px;color:var(--kf-color-line-strong);content:"/"}.park-archive .page-breadcrumb a{color:inherit;text-decoration:none}
.park-hero{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);width:min(1100px,calc(100% - 48px));height:360px;margin-inline:auto;background:#edf0e8}.park-hero__copy{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:56px 48px}.park-hero__copy>p:first-child{margin:0 0 11px;color:var(--park-bronze);font-size:.7rem;letter-spacing:.18em}.park-hero h1{margin:0;font-size:clamp(2rem,3.4vw,3.1rem);font-weight:500;letter-spacing:.07em;line-height:1.45;word-break:keep-all}.park-hero h1 span{display:block;white-space:nowrap}.park-hero__copy>p:last-child{max-width:27em;margin:22px 0 0;color:#5e6259;line-height:1.9}.park-hero figure{min-width:0;margin:0;overflow:hidden}.park-hero img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(.96)}
.park-shell{width:min(1100px,calc(100% - 48px));margin:48px auto 0}.park-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:63px;border:1px solid var(--park-line);background:rgba(255,254,250,.96)}.park-categories a{display:flex;min-height:76px;flex-direction:column;justify-content:center;padding:15px 20px;color:#625d53;font-size:.82rem;text-align:center;text-decoration:none}.park-categories a+a{border-left:1px solid var(--park-line)}.park-categories small{display:block;margin:var(--kf-nav-english-margin, 5px 0 0);color:var(--park-bronze);font-size:.55rem;letter-spacing:.12em}.park-categories a.is-current{background:var(--park-green);color:var(--park-ink);font-weight:600}
.park-year{overflow:hidden;border-radius:12px;background:rgba(255,254,250,.98)}
.park-year__header{display:flex;align-items:end;justify-content:space-between;padding:47px 54px 30px}
.park-year__header p{margin:0 0 5px;color:var(--park-bronze);font-size:.66rem;letter-spacing:.15em}
.park-year__header h2{margin:0;font-size:1.65rem;font-weight:500;letter-spacing:.06em}
.park-year__header nav{display:flex;gap:3px}
.park-year__header nav a{padding:6px 11px;color:#746e63;font-size:.76rem;text-decoration:none}
.park-year__header nav a.is-current{background:var(--park-bronze);color:white}
.season-index{display:grid;grid-template-columns:repeat(4,1fr);margin:0 54px;border-top:1px solid var(--park-line);border-bottom:1px solid var(--park-line)}
.season-index a{padding:16px 8px;color:var(--park-ink);font-size:1.05rem;text-align:center;text-decoration:none}
.season-index a+a{border-left:1px solid #e8dfcf}
.season-index small{display:block;margin-top:3px;color:#857d6d;font-size:.6rem;letter-spacing:.14em}
.season-ledger{padding:0 54px 55px}
.season{position:relative;display:grid;grid-template-columns:112px minmax(0,1fr);padding:66px 0 72px}
.season+.season{border-top:1px solid var(--park-line)}
.season__name{padding-top:2px;border-right:1px solid var(--park-line)}
.season__name p{margin:0 0 19px;color:var(--park-bronze);font-size:.57rem;letter-spacing:.23em;writing-mode:vertical-rl}
.season__name h3{margin:0;font-size:3.1rem;font-weight:400;line-height:1}
.season__name span{display:block;margin-top:15px;color:#756e61;font-size:.72rem;letter-spacing:.2em}
.season a{color:inherit;text-decoration:none}
.season figure{margin:0;overflow:hidden}
.season img{display:block;width:100%;height:100%;object-fit:cover;transition:filter .2s ease}
.season a:hover img{filter:saturate(.82) brightness(.96)}
.month{display:flex;align-items:center;gap:12px;margin:0;color:var(--park-bronze)}
.month b{font-size:2.25rem;font-weight:400;line-height:1}
.month span{font-size:.55rem;letter-spacing:.12em;line-height:1.55}
.season h4{font-size:1.25rem;font-weight:500;line-height:1.65}
.season i{display:block;color:#735c31;font-size:.74rem;font-style:normal}

.season-feature{padding-left:50px}
.season-feature>a{display:grid;grid-template-columns:1.25fr .75fr;min-height:335px}
.season-feature figure{order:2}
.season-feature__copy{display:flex;flex-direction:column;justify-content:center;padding:34px 42px;background:#f5f0e3}
.season-feature__copy h4{margin:22px 0 12px;font-size:1.45rem}
.season-note{margin:0 0 20px;color:#68645a;font-size:.84rem;line-height:1.9}
.season-feature time{color:#847c6f;font-size:.65rem}
.season-feature i{margin-top:23px}
.early-months{grid-column:2;width:calc(100% - 50px);margin:20px 0 0 50px;padding:13px 18px;border:0;border-bottom:1px solid var(--park-line);background:transparent;color:#6c665b;font:inherit;font-size:.78rem;text-align:left}
.early-months summary{list-style:none;cursor:pointer}.early-months summary::-webkit-details-marker{display:none}.early-months[open] summary b{transform:rotate(45deg)}
.early-months span{margin-right:18px;color:var(--park-bronze);letter-spacing:.12em}.early-months b{float:right;font-weight:400;transition:transform .2s ease}.early-months__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.early-months__grid article{background:#faf7ee}.early-months__grid a{display:grid;grid-template-columns:120px 1fr;align-items:center}.early-months__grid img{height:105px}.early-months__grid div{padding:15px}.early-months__grid p{margin:0;color:var(--park-bronze);font-size:.58rem}.early-months__grid p b{float:none;font-size:1.1rem}.early-months__grid h4{margin:8px 0 0;font-size:.84rem}

.summer-records{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;padding-left:50px}
.summer-lead>a{display:flex;height:100%;flex-direction:column;background:#eef1e9}
.summer-lead img{height:290px}
.summer-lead div{padding:28px 31px 31px}
.summer-lead h4{margin:17px 0 8px}.summer-lead div>p:last-of-type{margin:0 0 21px;color:#69685e;font-size:.82rem}
.summer-pair{display:grid;gap:20px}
.summer-pair article{background:#faf7ee}
.summer-pair a{display:grid;height:100%;grid-template-columns:44% 56%}
.summer-pair img{min-height:180px}
.summer-pair div{display:flex;flex-direction:column;justify-content:center;padding:21px}
.summer-pair p{margin:0;color:var(--park-bronze);font-size:.58rem;letter-spacing:.08em}.summer-pair p b{margin-right:6px;font-size:1.25rem;font-weight:400}
.summer-pair h4{margin:12px 0 0;font-size:.95rem}

.autumn-records{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-left:50px}
.autumn-records article{min-width:0}
.autumn-records a{display:grid;grid-template-rows:auto 190px auto;height:100%}
.autumn-month{display:flex;align-items:center;gap:10px;padding:0 0 12px;border-bottom:1px solid var(--park-line);color:var(--park-bronze)}
.autumn-month b{font-size:2rem;font-weight:400}.autumn-month span{font-size:.51rem;letter-spacing:.09em;line-height:1.55}
.autumn-records img{margin-top:15px}
.autumn-records h4{margin:13px 0 0;font-size:.93rem}

.winter-record{padding-left:50px}
.winter-record>a{display:grid;grid-template-columns:1.35fr .65fr;background:#edeee9}
.winter-record figure{height:330px}
.winter-record>a>div{display:flex;flex-direction:column;justify-content:center;padding:38px}
.winter-record h4{margin:22px 0 11px;font-size:1.4rem}
.winter-record div>p:last-of-type{margin:0 0 18px;color:#67675e;font-size:.82rem;line-height:1.9}
.winter-record time{color:#80796d;font-size:.65rem}.winter-record i{margin-top:22px}

@media(max-width:900px){
  .park-hero{grid-template-columns:1fr;width:100%;height:auto}.park-hero__copy{padding:45px 36px;text-align:center}.park-hero figure{height:280px}
  .park-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.park-categories a:nth-child(3){border-top:1px solid var(--park-line);border-left:0}.park-categories a:nth-child(4){border-top:1px solid var(--park-line)}
  .park-year__header{padding:40px 36px 26px}.season-index{margin:0 36px}.season-ledger{padding:0 36px 45px}.season{grid-template-columns:80px minmax(0,1fr)}
  .season-feature,.summer-records,.autumn-records,.winter-record{padding-left:32px}.early-months{width:calc(100% - 32px);margin-left:32px}
  .season-feature>a,.winter-record>a{grid-template-columns:1fr}.season-feature figure{order:0;height:300px}.season-feature__copy{padding:28px 32px}
  .summer-records{grid-template-columns:1fr}.summer-lead img{height:300px}.summer-pair{grid-template-columns:repeat(2,1fr)}.summer-pair a{grid-template-columns:1fr;grid-template-rows:150px auto}.summer-pair img{min-height:0}
  .autumn-records{grid-template-columns:1fr}.autumn-records a{grid-template-columns:120px 180px minmax(0,1fr);grid-template-rows:150px;align-items:center}.autumn-month{border:0}.autumn-records img{margin:0;height:130px}.autumn-records h4{margin:0;padding-left:25px}
}
@media(max-width:680px){
  .park-archive .page-breadcrumb{padding:18px 20px 16px}.park-hero__copy{padding:34px 20px}.park-hero__copy>p:last-child{font-size:.87rem}.park-hero figure{height:220px}
  .park-shell{width:calc(100% - 28px);margin:38px auto 0}.park-categories{grid-template-columns:1fr;margin-bottom:40px}.park-categories a{min-height:66px}.park-categories a+a,.park-categories a:nth-child(4){border-top:1px solid var(--park-line);border-left:0}
  .park-year__header{display:block;padding:30px 20px 22px}.park-year__header h2{font-size:1.35rem}.park-year__header nav{margin-top:17px}.season-index{margin:0 20px}.season-index a{font-size:.9rem}.season-index small{font-size:.48rem}
  .season-ledger{padding:0 20px 35px}.season{display:block;padding:46px 0 52px}.season__name{display:flex;align-items:baseline;gap:12px;margin-bottom:25px;padding:0 0 13px;border-right:0;border-bottom:1px solid var(--park-line)}.season__name p{margin:0;writing-mode:initial}.season__name h3{font-size:2rem}.season__name span{margin:0}
  .season-feature,.summer-records,.autumn-records,.winter-record{padding-left:0}.early-months{width:100%;margin-left:0}.season-feature figure,.summer-lead img{height:220px}.season-feature__copy{padding:25px}.summer-lead div{padding:24px}.summer-pair{grid-template-columns:1fr}.summer-pair a{grid-template-columns:42% 58%;grid-template-rows:150px}.summer-pair img{height:150px}
  .autumn-records a{grid-template-columns:77px 112px minmax(0,1fr);grid-template-rows:110px}.autumn-records img{height:96px}.autumn-month b{font-size:1.5rem}.autumn-month span{display:none}.autumn-records h4{padding-left:15px;font-size:.82rem}
  .winter-record figure{height:220px}.winter-record>a>div{padding:26px}
}


/* Latest news archive: adopted archive-news-v1, integrated into the single theme stylesheet. */
.news-archive {
  --news-paper: rgba(255, 253, 248, 0.94);
  --news-paper-soft: #f5f0e5;
  --news-line: #d8c9ad;
  --news-bronze: #8d7139;
  --news-ink: #28261f;
  color: var(--news-ink);
  line-height: 1.9;
}

.news-archive .page-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 16px;
  width: min(var(--kf-layout-wide), calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin: 0 auto;
  padding: 24px 28px 20px;
  color: var(--kf-color-ink-soft);
  font-size: 0.845rem;
}

.news-archive .page-breadcrumb a,
.news-archive .page-breadcrumb span {
  font-size: 0.84rem;
}

.news-archive .page-breadcrumb > * + *::before {
  margin-right: 16px;
  color: var(--kf-color-line-strong);
  content: "/";
}

.news-archive .page-breadcrumb a {
  color: inherit;
  text-decoration: none;
}

.news-masthead {
  min-height: 258px;
  padding: 42px 24px 46px;
  border-block: 1px solid rgba(141, 113, 57, 0.2);
  background:
    linear-gradient(90deg, rgba(247, 243, 234, 0.94), rgba(247, 243, 234, 0.78)),
    url("../images/background-ink-garden-title-v1-web.webp") center / cover no-repeat,
    #f4f0e6;
  text-align: center;
}

.news-masthead__mark {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  margin-bottom: 9px;
}

.news-masthead__mark span {
  width: 64px;
  height: 1px;
  background: var(--news-line);
}

.news-masthead__mark img {
  width: 56px;
  height: 44px;
  object-fit: contain;
}

.news-masthead > p:first-of-type {
  margin: 0 0 8px;
  color: var(--news-bronze);
  font-size: 0.76rem;
  letter-spacing: 0.19em;
}

.news-masthead h1 {
  margin: 0;
  font-size: clamp(2rem, 3vw, 2.75rem);
  font-weight: 500;
  letter-spacing: 0.09em;
  line-height: 1.9;
}

.news-masthead__lead {
  margin: 18px 0 0;
  color: #5d594f;
  font-size: 0.98rem;
  letter-spacing: 0.035em;
}

.news-shell {
  box-sizing: border-box;
  width: min(var(--kf-layout-without-sidebar), calc(100% - 48px));
  margin: 48px auto 0;
  padding: 48px 50px 58px;
  border-radius: 12px;
  background: var(--news-paper);
}

/* wpautop can place an empty paragraph between shortcode-generated cards.
 * It must not become a grid or flex item in the adopted archive layout. */
.news-shell > p:empty,
.news-latest > p:empty,
.news-card > p:empty,
.site-main:has(> .news-archive) > p:empty {
  display: none;
}

.news-years {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 44px;
  border-block: 1px solid var(--news-line);
}

.news-years > * {
  padding: 13px 24px;
}

.news-years span {
  padding-left: 0;
  color: #777064;
  font-size: 0.78rem;
  letter-spacing: 0.09em;
}

.news-years a {
  color: #6a6254;
  text-decoration: none;
}

.news-years a + a {
  border-left: 1px solid #e2d8c6;
}

.news-years a[aria-current="true"],
.news-years a:hover {
  color: var(--news-bronze);
  font-weight: 600;
}

.news-latest-section {
  margin-bottom: 68px;
}

.news-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 27px;
  border-bottom: 1px solid var(--news-line);
}

.news-section-heading p {
  margin: 0 0 6px;
  color: var(--news-bronze);
  font-size: 0.64rem;
  letter-spacing: 0.16em;
}

.news-section-heading h2 {
  margin: 0;
  padding: 0 0 13px;
  border-bottom: 2px solid var(--news-bronze);
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.65;
}

.news-section-heading > span {
  margin-bottom: 13px;
  color: #777064;
  font-size: 0.76rem;
}

.news-latest {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, 0.9fr);
  min-height: 350px;
  background: var(--news-paper-soft);
}

.news-latest__image {
  overflow: hidden;
  min-height: 350px;
}

.news-latest__image img,
.news-latest__image .news-image-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.news-latest__image:hover img {
  transform: scale(1.015);
}

.news-latest__copy {
  align-self: center;
  padding: 32px 36px;
}

.news-date {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 16px;
  color: var(--news-bronze);
  font-size: 0.75rem;
  letter-spacing: 0.1em;
}

.news-date span {
  padding-left: 14px;
  border-left: 1px solid var(--news-line);
}

.news-latest h3 {
  margin: 0 0 20px;
  font-size: clamp(1.4rem, 2.2vw, 2rem);
  font-weight: 500;
  letter-spacing: normal;
  line-height: 1.55;
}

.news-latest h3 a,
.news-card h3 a {
  color: inherit;
  text-decoration: none;
}

.news-latest__copy > p:not(.news-date) {
  margin: 0 0 24px;
  color: #5d594f;
  line-height: 2;
}

.news-read {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  padding-bottom: 4px;
  border-bottom: 1px solid #b7a275;
  color: #725b2e;
  font-size: 0.88rem;
  text-decoration: none;
}

.news-read:hover {
  border-color: #725b2e;
  color: #3f321c;
}

.news-year + .news-year {
  margin-top: 68px;
}

.news-year__header {
  display: flex;
  align-items: baseline;
  gap: 22px;
  margin-bottom: 25px;
  border-bottom: 1px solid var(--news-line);
}

.news-year__header h2 {
  margin: 0;
  padding: 0 0 9px;
  border-bottom: 3px solid var(--news-bronze);
  font-size: 1.65rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.9;
}

.news-year__header p {
  margin: 0;
  color: #777064;
  font-size: 0.83rem;
}

.news-grid {
  display: grid;
  gap: 25px;
}

.news-grid--one {
  grid-template-columns: minmax(0, 1fr);
}

.news-grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.news-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.news-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  background: #fffefa;
}

.news-card__image {
  display: block;
  overflow: hidden;
  aspect-ratio: 1.9 / 1;
}

.news-card__image img,
.news-card__image .news-image-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease, filter 0.35s ease;
}

.news-card__image:hover img {
  transform: scale(1.02);
  filter: saturate(0.92);
}

.news-image-placeholder {
  display: grid !important;
  place-items: center;
  background: linear-gradient(135deg, #ebe2d1, #f8f4ec);
  color: rgba(141, 113, 57, 0.62);
  font-size: 0.72rem;
  letter-spacing: 0.18em;
}

.news-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 22px 24px 24px;
  border: solid var(--news-line);
  border-width: 0 1px 1px;
}

.news-card h3 {
  margin: 0 0 13px;
  font-size: 1.07rem;
  font-weight: 600;
  letter-spacing: normal;
  line-height: 1.75;
}

.news-card__body > p:not(.news-date) {
  margin: 0 0 19px;
  color: #656056;
  font-size: 0.9rem;
  line-height: 1.85;
}

.news-card .news-read {
  align-self: flex-start;
  margin-top: auto;
}

.news-text-row {
  display: grid;
  grid-template-columns: 110px 1fr auto;
  align-items: center;
  gap: 20px;
  margin-top: 20px;
  padding: 19px 22px;
  border-block: 1px solid var(--news-line);
  color: inherit;
  text-decoration: none;
}

.news-text-row time {
  color: var(--news-bronze);
  font-size: 0.8rem;
  letter-spacing: 0.05em;
}

.news-text-row strong {
  font-size: 0.96rem;
  font-weight: 500;
}

.news-text-row > span {
  color: var(--news-bronze);
}

.news-text-row:hover {
  background: #f7f3ea;
}

.news-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 62px;
}

.news-pagination a,
.news-pagination span {
  display: grid;
  min-width: 39px;
  height: 39px;
  place-items: center;
  border: 1px solid var(--news-line);
  color: #5f594e;
  font-size: 0.85rem;
  text-decoration: none;
}

.news-pagination span[aria-current="page"] {
  border-color: var(--news-bronze);
  background: var(--news-bronze);
  color: #fff;
}

.news-pagination__next {
  width: auto;
  padding-inline: 16px;
}

.news-pagination a:hover {
  border-color: var(--news-bronze);
  color: var(--news-bronze);
}

.news-archive__empty {
  margin: 0;
  padding: 52px 24px;
  border-block: 1px solid var(--news-line);
  color: #777064;
  text-align: center;
}

@media (max-width: 900px) {
  .news-shell {
    padding-inline: 36px;
  }

  .news-latest {
    grid-template-columns: 1fr;
  }

  .news-latest__image {
    min-height: 0;
    aspect-ratio: 1.9 / 1;
  }

  .news-grid--three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .news-archive .page-breadcrumb {
    padding: 18px 20px 16px;
  }

  .news-masthead {
    min-height: 220px;
    padding: 32px 20px 35px;
    background-size: auto, cover, auto;
  }

  .news-masthead__mark span {
    width: 38px;
  }

  .news-masthead__lead {
    font-size: 0.88rem;
    line-height: 1.8;
  }

  .news-shell {
    width: calc(100% - 28px);
    margin: 38px auto 0;
    padding: 28px 20px 40px;
  }

  .news-years {
    display: grid;
    overflow: visible;
    grid-template-columns: repeat(auto-fit, minmax(54px, 1fr));
    margin-bottom: 30px;
    white-space: normal;
  }

  .news-years > * {
    padding: 11px 4px;
    text-align: center;
  }

  .news-years a {
    font-size: 0.88rem;
    white-space: nowrap;
  }

  .news-years span {
    display: none;
  }

  .news-latest-section {
    margin-bottom: 50px;
  }

  .news-section-heading {
    align-items: end;
    gap: 15px;
    margin-bottom: 22px;
  }

  .news-section-heading h2 {
    font-size: 1.23rem;
  }

  .news-section-heading > span {
    flex: 0 0 auto;
  }

  .news-latest__copy {
    padding: 26px 22px 29px;
  }

  .news-grid--one,
  .news-grid--two,
  .news-grid--three {
    grid-template-columns: 1fr;
  }

  .news-year + .news-year {
    margin-top: 52px;
  }

  .news-year__header {
    gap: 14px;
  }

  .news-text-row {
    grid-template-columns: 1fr auto;
    gap: 8px 14px;
    padding: 16px 8px;
  }

  .news-text-row time {
    grid-column: 1 / -1;
  }

  .news-pagination {
    margin-top: 46px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .news-latest__image img,
  .news-card__image img {
    transition: none;
  }
}

:root {
  /* Site-wide shells and the two approved article layouts. */
  --kf-layout-with-sidebar: 1200px;
  --kf-layout-main: 840px;
  --kf-layout-column-gap: 40px;
  --kf-layout-sidebar: 320px;
  --kf-layout-without-sidebar: 1040px;
  /* Legacy component width: retained so adopted home/archive compositions do not expand. */
  --kf-layout-wide: 1040px;
  --kf-content-with-sidebar: var(--kf-layout-main);
  --kf-layout-reading: 916px;
  --kf-layout-inset: 62px;
  --kf-mobile-gutter: 25px;
  --kf-sticky-header-height: 82px;
  --kf-admin-bar-offset: 0px;
  --kf-color-ink: #2c2a26;
  --kf-color-ink-soft: #625c53;
  --kf-color-paper: #f5f1e9;
  --kf-color-content-background: #fffefb;
  --kf-color-surface: var(--kf-color-content-background);
  --kf-color-line: #ddd5c7;
  --kf-color-line-strong: #cdbd9e;
  --kf-body-h2-size: clamp(1.5rem, 1.375rem + 0.5vw, 1.75rem);
  --kf-body-h2-line-height: 1.5;
  --kf-heading-eyebrow-gap: 4px;
  --kf-heading-eyebrow-line-height: 1.35;
  --kf-button-primary: #62684f;
  --kf-button-primary-hover: #4d533e;
  --kf-button-radius: 999px;
  --kf-button-min-height: 52px;
  --kf-button-padding: 12px 26px;
  --kf-gold-base: #8a7138;
  --kf-gold-050: color-mix(in srgb, var(--kf-gold-base) 8%, var(--kf-color-surface));
  --kf-gold-100: color-mix(in srgb, var(--kf-gold-base) 16%, var(--kf-color-surface));
  --kf-gold-200: color-mix(in srgb, var(--kf-gold-base) 30%, var(--kf-color-surface));
  --kf-gold-300: color-mix(in srgb, var(--kf-gold-base) 48%, var(--kf-color-surface));
  --kf-gold-400: color-mix(in srgb, var(--kf-gold-base) 70%, var(--kf-color-surface));
  --kf-gold-500: var(--kf-gold-base);
  --kf-gold-600: color-mix(in srgb, var(--kf-gold-base) 82%, var(--kf-color-ink));
  --kf-gold-700: color-mix(in srgb, var(--kf-gold-base) 68%, var(--kf-color-ink));
  --kf-color-bronze: var(--kf-gold-600);
  --kf-color-bronze-soft: var(--kf-gold-300);
  --kf-color-cta: var(--kf-gold-500);
  --kf-color-cta-strong: var(--kf-gold-600);
  --kf-color-cta-text: var(--kf-gold-700);
  --kf-color-sage: #535b55;
  --kf-color-scene-dark: #35312b;
  --kf-color-footer: #77746b;
  /* The front page is the canonical source for the site-wide wallpaper scale. */
  --kf-site-wallpaper-image: url("../images/official-wallpaper-wp.jpg");
  --kf-site-wallpaper-position: center top;
  --kf-site-wallpaper-repeat: repeat;
  --kf-site-wallpaper-size: 320px 320px;
  --park-paper: #fffefb;
  --park-green: #e9eee7;
  --park-cream: #f3ecdd;
  --park-line: #d8c9ad;
  --park-bronze: #8d7139;
  --park-ink: #29271f;
  --letter-ink: #2f332e;
  --letter-gold: #9b7939;
  --letter-line: #d9cdb7;
  --letter-green: #e8eee6;
  --letter-paper: #fffefa;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  overflow-x: clip;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--kf-sticky-header-height) + 24px);
}

body {
  margin: 0;
  overflow-wrap: anywhere;
  text-underline-offset: 0.18em;
}

img {
  height: auto;
  max-width: 100%;
}

a {
  color: var(--kf-color-bronze);
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

a:hover {
  color: var(--kf-color-sage);
}

:where(a, button, input, select, textarea):focus-visible {
  outline: 2px solid var(--kf-color-surface);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px var(--kf-color-bronze);
}

.wp-block-button__link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1.5rem;
  border: 1px solid transparent;
  border-radius: 22px;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
}

.wp-block-button__link[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.56;
}

/* Body design system: reusable editorial table from the body style guide. */
.wp-block-table.is-style-kf-editorial,
.kf-sample-table-wrap.is-style-kf-editorial {
  overflow-x: auto;
  border: 1px solid var(--kf-color-line);
  border-radius: 8px;
  background: #fff;
  overscroll-behavior-inline: contain;
}

.wp-block-table.is-style-kf-editorial table,
.kf-sample-table-wrap.is-style-kf-editorial table {
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
}

.wp-block-table.is-style-kf-editorial :is(th, td),
.kf-sample-table-wrap.is-style-kf-editorial :is(th, td) {
  padding: 15px 18px;
  border: 0;
  border-bottom: 1px solid var(--kf-color-line);
  color: var(--kf-color-ink);
  line-height: 1.75;
  text-align: left;
  vertical-align: middle;
}

.wp-block-table.is-style-kf-editorial tbody th,
.kf-sample-table-wrap.is-style-kf-editorial tbody th {
  width: 22%;
  min-width: 6.5rem;
  border-right: 1px solid var(--kf-color-line);
  background: var(--kf-gold-050);
  font-weight: 500;
  text-align: center;
}

.wp-block-table.is-style-kf-editorial tr:last-child > *,
.kf-sample-table-wrap.is-style-kf-editorial tr:last-child > * {
  border-bottom: 0;
}

@media (max-width: 600px) {
  .wp-block-table.is-style-kf-editorial :is(th, td),
  .kf-sample-table-wrap.is-style-kf-editorial :is(th, td) {
    padding: 13px 14px;
  }

  .wp-block-table.is-style-kf-editorial tbody th,
  .kf-sample-table-wrap.is-style-kf-editorial tbody th {
    width: 7rem;
    min-width: 7rem;
  }
}

.wp-site-blocks {
  padding: 0;
}

.site-header {
  position: sticky;
  z-index: 1000;
  top: var(--kf-admin-bar-offset);
  min-height: 82px;
  border-bottom: 1px solid var(--kf-color-line);
  background: color-mix(in srgb, var(--kf-color-surface) 96%, transparent);
}

body.admin-bar { --kf-admin-bar-offset: 32px; }

.site-header__inner {
  width: min(var(--kf-layout-with-sidebar), calc(100% - (var(--kf-mobile-gutter) * 2)));
  min-height: 82px;
  margin-inline: auto;
  gap: 24px;
}

.site-brand {
  gap: 12px;
  min-width: 0;
}

.site-brand .wp-block-site-logo {
  width: clamp(260px, 27vw, 320px);
  line-height: 0;
}

.site-brand .wp-block-site-logo img {
  display: block;
  width: 100%;
  height: auto;
}

.site-brand__official-logo {
  display: block;
  width: clamp(260px, 27vw, 320px);
  aspect-ratio: 9 / 1;
  background: url("../images/official-logo-horizontal.png") left center / contain no-repeat;
  line-height: 0;
}

.site-brand .wp-block-site-title {
  margin: 0;
  font-size: 1.1875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.35;
}

.site-brand .wp-block-site-title a {
  color: var(--kf-color-ink);
}

.site-header__actions {
  flex: 0 0 auto;
  gap: 12px;
}

.kf-header-search {
  display: grid;
  width: 38px;
  height: 38px;
  margin: 0;
  padding: 0;
  flex: 0 0 38px;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
  color: var(--kf-color-ink-soft);
  cursor: pointer;
  transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease;
}

.kf-header-search:hover,
.kf-header-search:focus-visible,
.kf-header-search.is-current {
  border-color: var(--kf-color-line-strong);
  background: var(--kf-gold-050);
  color: var(--kf-color-bronze);
}

.kf-header-search:focus-visible {
  outline: 2px solid var(--kf-color-bronze-soft);
  outline-offset: 3px;
}

.kf-header-search svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.55;
}

.site-header .wp-block-navigation {
  flex: 0 0 auto;
  font-family: var(--wp--preset--font-family--sans);
  font-size: calc(0.86rem + 1px);
  font-weight: 500;
  letter-spacing: 0.045em;
  line-height: 1.5;
}

.site-header .wp-block-navigation-item__content {
  padding-block: 4px;
  border-bottom: 1px solid transparent;
  color: var(--kf-color-ink-soft);
  text-decoration: none;
}

.site-header .wp-block-navigation-item__content:hover {
  border-bottom-color: var(--kf-color-bronze-soft);
  color: var(--kf-color-bronze);
}

.site-header .wp-block-navigation__container {
  column-gap: 18px;
  row-gap: 10px;
}

.site-header .wp-block-navigation__container > .wp-block-navigation-item {
  min-height: 82px;
  align-items: center;
}

.site-header .wp-block-navigation__submenu-icon {
  width: 0.65em;
  height: 0.65em;
  margin-left: 0.3em;
  color: var(--kf-color-bronze);
}

.site-header .wp-block-navigation__submenu-container {
  min-width: 250px !important;
  padding: 8px 0 !important;
  border: 1px solid var(--kf-color-line) !important;
  border-top: 2px solid var(--kf-color-bronze-soft) !important;
  background: var(--kf-color-surface) !important;
  box-shadow: 0 12px 28px rgba(44, 42, 38, 0.1);
}

.site-header .wp-block-navigation__submenu-container .wp-block-navigation-item {
  width: 100%;
}

.site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  display: block;
  width: 100%;
  padding: 9px 18px;
  border-bottom: 0;
  color: var(--kf-color-ink-soft);
  white-space: nowrap;
}

.site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
  border-bottom-color: transparent;
  background: color-mix(in srgb, var(--kf-color-paper) 72%, transparent);
  color: var(--kf-color-bronze);
}

@media (min-width: 1001px) {
  .site-header .wp-block-navigation__submenu-icon {
    display: none;
  }

  .site-header .wp-block-navigation__container > .wp-block-navigation-submenu > .wp-block-navigation__submenu-container {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%);
  }
}

.site-header .kf-mobile-submenu-toggle {
  display: none;
}

.site-header .kf-navigation-trial,
.kf-post-sidebar .kf-navigation-trial {
  display: inline-block;
  margin-left: 5px;
  padding: 2px 7px;
  border: 1px solid #d6daca;
  border-radius: 4px;
  background: #edf0e6;
  color: #53634c;
  font-size: 0.65rem;
  line-height: 1.5;
  vertical-align: middle;
  white-space: nowrap;
}

@media (max-width: 1000px) {
  .site-brand__official-logo {
    width: clamp(210px, 27vw, 240px);
  }

  .site-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none;
  }

  .site-header .wp-block-navigation__responsive-container-open {
    display: flex;
  }

  .site-header .wp-block-navigation__responsive-container.is-menu-open {
    padding: calc(var(--kf-sticky-header-height) + 20px) max(var(--kf-mobile-gutter), 28px) calc(40px + env(safe-area-inset-bottom));
    background: linear-gradient(135deg, #f7f2e7, #fffefb 55%, #f3f4ed);
    color: var(--kf-color-ink);
  }

  .site-header .is-menu-open .wp-block-navigation__responsive-container-close {
    position: fixed;
    top: var(--kf-menu-toggle-top, 23px);
    left: var(--kf-menu-toggle-left, auto);
    right: var(--kf-mobile-gutter);
    width: 24px;
    height: 24px;
    z-index: 2;
    color: var(--kf-color-ink);
  }

  .site-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    padding-top: 0;
  }

  .site-header .is-menu-open .wp-block-navigation__responsive-container-content::before {
    content: "SITE MENU";
    display: block;
    margin-bottom: 10px;
    color: var(--kf-color-bronze);
    font-family: var(--wp--preset--font-family--serif);
    font-size: 0.66rem;
    letter-spacing: 0.2em;
  }

  .site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
  .site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    width: 100%;
    align-items: stretch;
    gap: 0;
  }

  .site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
    min-height: 0;
    align-items: stretch;
    padding: 18px 0;
    border-bottom: 1px solid #dfd6c3;
  }

  .site-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
    padding-left: 12px;
    border-left: 2px solid #a78d56;
    font-weight: 600;
    letter-spacing: 0.07em;
  }

  .site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    width: 100%;
    padding: 0;
    font-size: calc(1rem + 1px);
  }

  .site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon {
    display: none;
  }

  .site-header .is-menu-open.kf-mobile-accordion .wp-block-navigation__container > .wp-block-navigation-submenu {
    position: relative;
  }

  .site-header .is-menu-open.kf-mobile-accordion .wp-block-navigation-submenu > .wp-block-navigation-item__content {
    padding-right: 52px;
  }

  .site-header .is-menu-open .kf-mobile-submenu-toggle {
    display: flex;
    position: absolute;
    z-index: 2;
    top: 8px;
    right: 0;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--kf-color-bronze);
    font: 26px/1 sans-serif;
    cursor: pointer;
  }

  .site-header .is-menu-open .kf-mobile-submenu-toggle:focus-visible {
    outline: 2px solid var(--kf-color-bronze);
    outline-offset: 2px;
  }

  .site-header .is-menu-open.kf-mobile-accordion .wp-block-navigation-submenu:not(.is-mobile-submenu-open) > .wp-block-navigation__submenu-container {
    display: none;
  }

  .site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
    position: static !important;
    visibility: visible !important;
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    padding: 10px 0 0 12px !important;
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none;
    opacity: 1 !important;
  }

  .site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    padding: 10px 0;
    font-size: calc(0.9rem + 1px);
    white-space: normal;
  }

  .site-header .is-menu-open .wp-block-navigation-item__content:focus-visible {
    outline: 2px solid var(--kf-color-bronze);
    outline-offset: 4px;
  }
}

@media (max-width: 782px) {
  .site-header__actions {
    gap: 0;
  }

  .kf-header-search {
    display: none;
  }
}

.site-main,
.kf-footer-bridge {
  background-color: var(--kf-color-paper);
  background-image: var(--kf-site-wallpaper-image);
  background-position: var(--kf-site-wallpaper-position);
  background-repeat: var(--kf-site-wallpaper-repeat);
  background-size: var(--kf-site-wallpaper-size);
}

.site-main {
  min-height: 55vh;
}

/* The footer bridge alone owns the transition space above the pavilion. */
body:not(.home) .site-main > :last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}

body:not(.home) .site-main > :last-child > :last-child {
  margin-bottom: 0;
}

body:not(.home) .site-main > :last-child > :has(+ p:empty:last-child) {
  margin-bottom: 0;
}

body:not(.home) .site-main p:empty {
  display: none;
}

.site-main > .wp-block-post-content {
  margin-top: 0;
}

.kf-hero {
  position: relative;
  min-height: 640px;
  margin-block: 0;
  color: #fff;
}

.kf-hero .wp-block-cover__inner-container {
  position: relative;
  z-index: 2;
  width: 100%;
}

.kf-hero__content {
  width: min(var(--kf-layout-wide), calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin-inline: auto;
  padding-inline: var(--kf-layout-inset);
}

.kf-hero__content > * {
  margin-inline: 0 !important;
}

.kf-hero__eyebrow {
  margin: 0 0 10px;
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.6875rem;
  letter-spacing: 0.18em;
  line-height: 1.5;
  opacity: 0.78;
}

.kf-hero__title {
  max-width: 620px;
  margin: 0 0 12px;
  color: #fff;
  font-size: 2.0625rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.55;
  text-shadow: none;
}

.kf-hero__lead {
  margin: 0 0 22px;
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.6;
  text-shadow: none;
}

.kf-hero__actions {
  margin: 0;
}

.kf-button--light .wp-block-button__link {
  min-width: 190px;
  border-color: rgba(112, 108, 96, 0.9);
  border-radius: 26px;
  background: rgba(112, 108, 96, 0.9);
  color: #fff;
  text-align: center;
}

.kf-button--light .wp-block-button__link:hover {
  border-color: var(--kf-color-bronze);
  background: var(--kf-color-bronze);
  color: #fff;
}

.kf-hero-facts {
  margin-block: 0;
  background-color: var(--kf-color-paper);
  background-image: var(--kf-site-wallpaper-image);
  background-position: var(--kf-site-wallpaper-position);
  background-size: var(--kf-site-wallpaper-size);
}

.kf-hero-facts__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(var(--kf-layout-reading), calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin: 0 auto;
  border: 1px solid var(--kf-color-line);
  background: var(--kf-color-surface);
}

.kf-hero-fact {
  min-width: 0;
  padding: 17px 18px 18px;
  border-right: 1px solid var(--kf-color-line);
  text-align: center;
}

.kf-hero-fact:last-child {
  border-right: 0;
}

.kf-hero-fact__main,
.kf-hero-fact__sub {
  margin: 0;
}

.kf-hero-fact__main {
  color: var(--kf-color-ink);
  font-size: 0.84375rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: 1.5;
}

.kf-hero-fact__sub {
  margin-top: 6px;
  color: var(--kf-color-ink-soft);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.65625rem;
  line-height: 1.5;
}

.kf-section-inner {
  width: min(var(--kf-layout-wide), calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin-inline: auto;
  padding: 56px var(--kf-layout-inset);
}

.kf-section-title {
  margin: 0;
  font-family: var(--wp--preset--font-family--serif);
  font-size: 1.4375rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.4;
}

.kf-classes {
  margin-block: 0;
  background-color: var(--kf-color-paper);
  background-image: var(--kf-site-wallpaper-image);
  background-position: var(--kf-site-wallpaper-position);
  background-size: var(--kf-site-wallpaper-size);
}

.kf-classes__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 30px;
}

.kf-class-card {
  overflow: hidden;
  border: 1px solid var(--kf-color-line);
  border-radius: 4px;
  background: var(--kf-color-surface);
}

.kf-class-card__photo,
.kf-class-card__photo a,
.kf-class-card__photo img {
  display: block;
  width: 100%;
}

.kf-class-card__photo {
  margin: 0;
  overflow: hidden;
}

.kf-class-card__photo img {
  height: 185px;
  object-fit: cover;
  transition: transform 260ms ease;
}

.kf-class-card__photo a:hover img {
  transform: scale(1.015);
}

.kf-class-card__head {
  padding: 20px 22px;
  background: #f2ece1;
}

.kf-class-card__reading {
  margin: 0;
  color: var(--kf-color-ink-soft);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.5625rem;
  letter-spacing: 0.06em;
  line-height: 1.2;
}

.kf-class-card__name {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 12px;
  margin: 4px 0 0;
  font-size: 1.1875rem;
}

.kf-class-card__en {
  color: var(--kf-color-bronze);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.625rem;
  font-weight: 400;
  letter-spacing: 0.15em;
  line-height: 1.4;
}

.kf-class-card__body {
  padding: 19px 22px;
}

.kf-class-card__body > p:first-child {
  margin: 0 0 16px;
}

.kf-class-card__note {
  display: inline-block;
  margin: 2px 0 0;
  padding: 4px 10px;
  border-radius: 20px;
  background: #f1eadf;
  color: var(--kf-color-bronze);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.65625rem;
  line-height: 1.5;
}

.kf-class-card__info {
  margin: 18px 0 0;
  padding-top: 15px;
  border-top: 1px solid var(--kf-color-line);
}

.kf-class-card__info table {
  width: 100%;
  border: 0;
  border-collapse: collapse;
  font-size: 0.875rem;
  line-height: 1.7;
}

.kf-class-card__info th,
.kf-class-card__info td {
  padding: 4px 0;
  border: 0;
  vertical-align: top;
  text-align: left;
}

.kf-class-card__info th {
  width: 58px;
  color: var(--kf-color-bronze);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.05em;
}

.kf-reference-link {
  margin: 13px 0 0;
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.875rem;
  line-height: 1.6;
}

.kf-reference-link a {
  display: inline-block;
  border-bottom: 1px solid var(--kf-color-line-strong);
}

.kf-class-card__body > .kf-reference-link {
  text-align: right;
}

.kf-classes__common {
  gap: 12px 26px;
  margin-top: 24px;
  padding-top: 0;
  color: var(--kf-color-ink-soft);
  font-size: 0.84375rem;
}

.kf-classes__common p {
  margin: 0;
}

.kf-classes__common strong {
  color: var(--kf-color-ink);
}

.kf-video-letter {
  margin-block: 0;
  background: var(--kf-color-sage);
  color: #fff;
}

.kf-video-letter__inner {
  width: min(var(--kf-layout-wide), 100%);
  margin-inline: auto;
  padding: 72px var(--kf-layout-inset);
}

.kf-video-letter__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(0, 0.84fr);
  gap: 38px;
  align-items: center;
}

.kf-video-letter__player {
  overflow: hidden;
  aspect-ratio: 16 / 9;
  margin: 0;
  background: #242824;
  box-shadow: 0 12px 30px rgba(24, 27, 24, 0.24);
  outline: 1px solid rgba(255, 255, 255, 0.18);
  outline-offset: 12px;
}

.kf-video-letter__player .wp-block-embed__wrapper,
.kf-video-letter__player iframe {
  width: 100%;
  height: 100%;
}

.kf-video-letter__player iframe {
  display: block;
  border: 0;
}

.kf-video-letter__copy > * {
  margin-inline: 0;
}

.kf-video-letter__kicker {
  margin: 0 0 5px;
  color: #ded3bf;
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.75rem;
  letter-spacing: 0.17em;
  line-height: 1.5;
}

.kf-video-letter__title {
  margin: 0 0 10px;
  color: #fff;
  font-size: 1.5rem;
  line-height: 1.55;
}

.kf-video-letter__title span {
  display: block;
  margin-bottom: 3px;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.08em;
}

.kf-video-letter__description {
  margin: 0 0 10px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.875rem;
  line-height: 1.75;
}

.kf-video-letter__episode {
  margin: 0 0 12px;
  padding-top: 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.24);
  color: #fff;
  font-size: 0.875rem;
  line-height: 1.75;
}

.kf-video-letter__copy .wp-block-buttons {
  justify-content: center;
}

.kf-video-letter__copy .wp-block-button__link {
  padding: 0.55rem 1.25rem;
  font-size: 0.8125rem;
  line-height: 1.5;
}

.kf-trial-bridge {
  margin-block: 0;
  background: #eae0d1;
}

.kf-trial-bridge__inner {
  width: min(var(--kf-layout-reading), calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin-inline: auto;
  padding: 48px 36px;
  text-align: center;
}

.kf-trial-bridge__title {
  margin: 0 0 10px;
}

.kf-trial-bridge__description {
  max-width: 680px;
  margin: 0 auto 22px;
  color: var(--kf-color-ink-soft);
  font-size: 0.75rem;
  line-height: 1.85;
}

.kf-trial-bridge__actions {
  justify-content: center;
  gap: 10px;
  margin: 0;
}

.kf-button--dark .wp-block-button__link,
.kf-button--ghost .wp-block-button__link {
  min-width: 188px;
  border: 1px solid var(--kf-color-cta);
  border-radius: 22px;
  text-align: center;
}

.kf-button--dark .wp-block-button__link {
  background: var(--kf-color-cta);
  color: #fff;
}

.kf-button--dark .wp-block-button__link:hover {
  background: var(--kf-color-cta-strong);
  border-color: var(--kf-color-cta-strong);
  color: #fff;
}

.kf-button--ghost .wp-block-button__link {
  border-color: var(--kf-gold-500);
  background: var(--kf-gold-050);
  color: var(--kf-color-cta-text);
}

.kf-button--ghost .wp-block-button__link:hover {
  border-color: var(--kf-gold-600);
  background: var(--kf-gold-100);
  color: var(--kf-color-cta-text);
}

.kf-practice {
  margin-block: 0;
  background-color: var(--kf-color-paper);
  background-image: var(--kf-site-wallpaper-image);
  background-position: var(--kf-site-wallpaper-position);
  background-size: var(--kf-site-wallpaper-size);
}

.kf-section-kicker {
  margin: 7px 0 0;
  color: var(--kf-color-bronze);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.75rem;
  letter-spacing: 0.16em;
  line-height: 1.5;
}

.kf-practice__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 28px;
  align-items: start;
  margin-top: 30px;
}

.kf-practice__aside {
  display: grid;
  gap: 18px;
}

.kf-practice__intro,
.kf-practice-time {
  border: 1px solid var(--kf-color-line);
  border-radius: 3px;
}

.kf-practice__intro {
  padding: 21px 22px;
  background: #f3ede2;
}

.kf-practice__intro h3 {
  margin: 0 0 10px;
  font-size: 1.0625rem;
  line-height: 1.6;
}

.kf-practice__intro p {
  margin: 0;
  color: var(--kf-color-ink-soft);
  font-size: 0.875rem;
  line-height: 1.9;
}

.kf-practice-time {
  padding: 19px 20px 20px;
  background: #f4efe5;
}

.kf-practice-time__title {
  margin: 0 0 14px;
  color: var(--kf-color-bronze);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.875rem;
  letter-spacing: 0.08em;
}

.kf-practice-time__row {
  display: grid;
  grid-template-columns: 88px 1fr 2fr;
  gap: 5px;
  align-items: stretch;
  margin-bottom: 7px;
}

.kf-practice-time__row--advanced {
  grid-template-columns: 88px 2fr 1fr;
}

.kf-practice-time__row:last-child {
  margin-bottom: 0;
}

.kf-practice-time__label,
.kf-practice-time__block {
  display: grid;
  place-items: center;
  min-width: 0;
  margin: 0;
  padding: 7px 8px;
  border-radius: 2px;
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.75rem;
  line-height: 1.5;
  text-align: center;
}

.kf-practice-time__label {
  justify-items: start;
  padding-inline: 0 8px;
  color: var(--kf-color-ink-soft);
  text-align: left;
}

.kf-practice-time__block {
  background: #e5ddcf;
  color: var(--kf-color-ink);
}

.kf-practice-time__block--joined {
  background: #cfc2a6;
}

.kf-practice-steps {
  display: grid;
  gap: 10px;
  padding-left: 25px;
  border-left: 2px solid #d9cfbc;
}

.kf-practice-step {
  position: relative;
  padding: 15px 18px 16px;
  border: 1px solid var(--kf-color-line);
  background: #fff;
}

.kf-practice-step::before {
  content: "";
  position: absolute;
  top: 21px;
  left: -32px;
  width: 12px;
  height: 12px;
  border: 3px solid var(--kf-color-paper);
  border-radius: 50%;
  background: var(--kf-color-bronze);
}

.kf-practice-step__number {
  margin: 0 0 6px;
  color: var(--kf-color-bronze);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  line-height: 1.4;
}

.kf-practice-step__title {
  margin: 0 0 8px;
  font-size: 1.0625rem;
  line-height: 1.5;
}

.kf-practice-step > p:last-child {
  margin: 0;
  color: var(--kf-color-ink-soft);
  font-size: 1rem;
  line-height: 1.8;
}

.kf-first {
  margin-block: 0;
  background: #ede6d4;
}

.kf-first__heading {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 26px;
  align-items: baseline;
}

.kf-first__intro {
  margin: 0;
  color: var(--kf-color-ink-soft);
  font-size: 0.875rem;
}

.kf-first-stage {
  overflow: hidden;
  margin-top: 28px;
  border: 1px solid #d8c7a9;
  border-radius: 12px;
  background: #fffdf8;
  box-shadow: 0 12px 34px rgba(83, 61, 31, 0.08);
}

.kf-first-guide {
  position: relative;
  overflow: hidden;
  min-height: 92px;
  padding: 13px 24px;
  border-bottom: 1px solid #ddcdb2;
  background: linear-gradient(110deg, #f8edda, #fffaf1 72%);
}

.kf-first-guide::after {
  content: "";
  position: absolute;
  right: 22px;
  bottom: -4px;
  width: 184px;
  height: 72px;
  background: url("../images/brush-bamboo-ornament-v1.png") center / contain no-repeat;
  opacity: 0.72;
  pointer-events: none;
}

.kf-first-guide__identity {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: nowrap;
  gap: 14px;
  align-items: center;
}

.kf-first-guide__avatar {
  flex: 0 0 68px;
  width: 68px;
  margin: 0;
  filter: drop-shadow(0 5px 5px rgba(66, 47, 27, 0.13));
  pointer-events: none;
}

.kf-first-guide__avatar img {
  display: block;
  width: 100%;
}

.kf-first-guide__copy {
  min-width: 0;
}

.kf-first-guide__copy > * {
  margin-inline: 0;
}

.kf-first-guide__role {
  margin: 0 0 2px;
  color: var(--kf-color-bronze);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.75rem;
  letter-spacing: 0.14em;
  line-height: 1.5;
}

.kf-first-guide__name {
  margin: 0 0 4px;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
}

.kf-first-guide__name span {
  color: var(--kf-color-ink-soft);
  font-size: 0.75rem;
  font-weight: 400;
}

.kf-first-guide__line {
  margin: 0;
  color: #655842;
  font-size: 0.875rem;
  letter-spacing: 0.03em;
}

.kf-first-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 18px;
}

.kf-first-card {
  position: relative;
  min-height: 178px;
  padding: 24px 24px 21px 70px;
  border: 1px solid #e1d5c1;
  border-radius: 8px;
  background: #fff;
}

.kf-first-card__mark {
  position: absolute;
  top: 22px;
  left: 20px;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  margin: 0;
  border-radius: 50% 50% 46% 54% / 48% 54% 46% 52%;
  background: #efe1c9;
  color: #7a5a28;
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1;
}

.kf-first-card__title {
  margin: 0 0 9px;
  font-size: 1rem;
  letter-spacing: 0.04em;
  line-height: 1.55;
}

.kf-first-card > p:last-child {
  margin: 0;
  color: var(--kf-color-ink-soft);
  font-size: 0.875rem;
  line-height: 1.85;
}

.kf-first-privacy {
  margin: 0 18px 18px;
  padding: 17px 18px;
  border: 1px solid #e1d5c1;
  border-radius: 8px;
  background: #f8f1e6;
}

.kf-first-privacy__title {
  margin: 0 0 6px;
  font-size: 1rem;
  letter-spacing: 0.04em;
}

.kf-first-privacy p {
  margin: 0;
  color: var(--kf-color-ink-soft);
  font-size: 0.875rem;
  line-height: 1.85;
}

.kf-first__faq {
  margin: 15px 0 0;
  text-align: center;
}

.kf-teachers {
  margin-block: 0;
  background: #eeeae2;
}

.kf-teachers__spread {
  display: grid;
  grid-template-columns: 1fr;
  gap: 56px;
  margin-top: 38px;
}

.kf-teacher {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 40px;
  align-items: center;
  min-width: 0;
  padding: 0;
}

.kf-teacher + .kf-teacher {
  padding: 56px 0 0;
  border-top: 1px solid color-mix(in srgb, var(--kf-color-line-strong) 72%, transparent);
}

.kf-teacher:nth-child(even) {
  grid-template-columns: minmax(0, 1fr) 210px;
}

.kf-teacher:nth-child(even) .kf-teacher__portrait {
  grid-column: 2;
  grid-row: 1;
}

.kf-teacher:nth-child(even) .kf-teacher__body {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  justify-self: end;
}

.kf-teacher__portrait {
  width: 100%;
  margin: 0;
}

.kf-teacher__portrait img {
  display: block;
  width: 100%;
  height: auto;
}

.kf-teacher__body {
  min-width: 0;
}

.kf-teacher__body > * {
  margin-inline: 0;
}

.kf-teacher__name {
  margin: 0 0 6px;
  font-size: 1.5rem;
  letter-spacing: 0.06em;
  line-height: 1.4;
}

.kf-teacher__name rt {
  color: var(--kf-color-ink-soft);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.5625rem;
  font-weight: 400;
  letter-spacing: 0.08em;
}

.kf-teacher__role {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 20px;
  color: var(--kf-color-bronze);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  line-height: 1.5;
}

.kf-teacher__role::after {
  content: "";
  width: min(112px, 24vw);
  height: 1px;
  background: color-mix(in srgb, var(--kf-color-bronze-soft) 72%, transparent);
}

.kf-teacher__body > p:not(.kf-teacher__role) {
  max-width: 590px;
  margin: 0 0 13px;
  color: var(--kf-color-ink-soft);
  font-size: 0.9375rem;
  line-height: 2;
}

.kf-teacher__links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 0;
  margin-top: 15px;
}

.kf-teacher__links p {
  margin: 0;
  padding: 0 12px;
  border-left: 1px solid var(--kf-color-line-strong);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.8125rem;
  line-height: 1.6;
}

.kf-teacher__links p:first-child {
  padding-left: 0;
  border-left: 0;
}

.kf-teacher__links a {
  border-bottom: 1px solid var(--kf-color-line-strong);
}

.kf-teachers__note {
  margin-top: 48px;
  padding-top: 20px;
  border-top: 1px solid var(--kf-color-line-strong);
}

.kf-teachers__note p {
  margin: 0;
  color: var(--kf-color-ink-soft);
  font-size: 0.875rem;
  line-height: 1.8;
}

.kf-traditions {
  margin-block: 0;
  background: var(--kf-color-paper);
}

.kf-traditions__heading {
  display: flex;
  flex-wrap: nowrap;
  gap: 14px;
  align-items: center;
}

.kf-traditions__heading::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  margin-left: 8px;
  background: linear-gradient(90deg, var(--kf-color-line-strong), transparent);
}

.kf-traditions__book {
  flex: 0 0 46px;
  width: 46px;
  margin: 0;
}

.kf-traditions__book img {
  display: block;
  width: 100%;
}

.kf-traditions__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 36px;
  margin-top: 30px;
}

.kf-traditions__grid::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background: var(--kf-color-line);
  transform: translateX(-0.5px);
}

.kf-tradition {
  min-width: 0;
}

.kf-tradition:first-child {
  padding-right: 8px;
}

.kf-tradition:last-child {
  padding-left: 8px;
}

.kf-tradition__photo,
.kf-tradition__photo a,
.kf-tradition__photo img {
  display: block;
  width: 100%;
}

.kf-tradition__photo {
  margin: 0 0 22px;
  overflow: hidden;
}

.kf-tradition__photo img {
  aspect-ratio: 1200 / 630;
  object-fit: cover;
  transition: opacity 160ms ease;
}

.kf-tradition__photo a:hover img {
  opacity: 0.88;
}

.kf-tradition__title {
  margin: 0;
  font-size: 1.1875rem;
}

.kf-tradition__en {
  margin: 5px 0 14px;
  color: var(--kf-color-bronze);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  line-height: 1.4;
}

.kf-tradition > p:not(.kf-tradition__en) {
  margin: 0 0 12px;
  color: var(--kf-color-ink-soft);
  font-size: 0.875rem;
  line-height: 1.95;
}

.kf-tradition__links {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 18px;
  margin-top: 18px;
}

.kf-tradition__links p {
  margin: 0;
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.8125rem;
  line-height: 1.6;
}

.kf-tradition__links a {
  border-bottom: 1px solid var(--kf-color-line-strong);
}

.kf-memoir {
  position: relative;
  min-height: 360px;
  margin-block: 0;
  overflow: hidden;
  background: var(--kf-color-scene-dark);
  color: #fff;
}

.kf-memoir::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(90deg, rgba(32, 29, 25, 0.84) 0%, rgba(32, 29, 25, 0.62) 48%, rgba(32, 29, 25, 0.25) 78%, rgba(32, 29, 25, 0.12) 100%);
  pointer-events: none;
}

.kf-memoir__image {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
}

.kf-memoir__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 58% center;
  filter: brightness(0.72) saturate(0.78);
}

.kf-memoir__content {
  position: relative;
  z-index: 2;
  width: min(var(--kf-layout-wide), 100%);
  min-height: 360px;
  margin-inline: auto;
  padding: 55px var(--kf-layout-inset);
}

.kf-memoir__content > * {
  margin-inline: 0;
}

.kf-memoir__title {
  max-width: 650px;
  margin: 0 0 7px;
  color: #fff;
  font-size: 1.5625rem;
}

.kf-memoir__kicker {
  margin: 0 0 18px;
  color: #e5d6bb;
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  line-height: 1.5;
}

.kf-memoir__lead {
  max-width: 610px;
  margin: 0 0 23px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.9375rem;
  line-height: 2;
}

.kf-news {
  margin-block: 0;
  background: var(--kf-color-surface);
}

.kf-news__heading {
  display: flex;
  flex-wrap: nowrap;
  gap: 14px;
  align-items: center;
}

.kf-news__heading::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  margin-left: 4px;
  background: linear-gradient(90deg, var(--kf-color-line-strong), transparent);
}

.kf-news__brush {
  flex: 0 0 44px;
  width: 44px;
  margin: 0;
}

.kf-news__brush img {
  display: block;
  width: 100%;
}

.kf-news-list {
  margin: 30px 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--kf-color-line-strong);
}

.kf-news-item {
  display: grid;
  grid-template-columns: 118px 100px minmax(0, 1fr);
  gap: 18px;
  align-items: baseline;
  margin: 0;
  padding: 18px 0;
  border-bottom: 1px solid var(--kf-color-line);
}

.kf-news-item__date,
.kf-news-item__category,
.kf-news-item__title {
  margin: 0;
}

.kf-news-item__date {
  color: var(--kf-color-bronze);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.8125rem;
  letter-spacing: 0.03em;
  line-height: 1.6;
}

.kf-news-item__category {
  color: var(--kf-color-ink-soft);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  line-height: 1.6;
}

.kf-news-item__category a {
  color: inherit;
  text-decoration: none;
}

.kf-news-item__title {
  color: var(--kf-color-ink);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.7;
}

.kf-news-item__title a {
  color: inherit;
  text-decoration: none;
}

.kf-news-item__title a:hover {
  color: var(--kf-color-sage);
}

.kf-news__empty {
  margin: 30px 0 0;
  color: var(--kf-color-ink-soft);
}

.site-main :where(p, li) > a:not(.wp-block-button__link) {
  border-bottom: 0;
  color: var(--kf-color-bronze);
  text-decoration-line: underline;
  text-decoration-color: color-mix(in srgb, var(--kf-color-bronze) 46%, transparent);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.28em;
}

.site-main :where(p, li) > a:not(.wp-block-button__link):hover {
  color: var(--kf-color-sage);
  text-decoration-color: var(--kf-color-sage);
}

:is(.kf-video-letter, .kf-memoir) :where(p, li) > a:not(.wp-block-button__link) {
  color: #fff;
  text-decoration-color: rgba(255, 255, 255, 0.54);
}

:is(.kf-video-letter, .kf-memoir) :where(p, li) > a:not(.wp-block-button__link):hover {
  color: #fff;
  text-decoration-color: #fff;
}

.kf-kichijoji {
  margin-block: 0;
  background-color: var(--kf-color-paper);
  background-image: var(--kf-site-wallpaper-image);
  background-position: var(--kf-site-wallpaper-position);
  background-size: var(--kf-site-wallpaper-size);
}

.kf-kichijoji__heading {
  display: flex;
  flex-wrap: nowrap;
  gap: 14px;
  align-items: center;
}

.kf-kichijoji__heading::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  margin-left: 4px;
  background: linear-gradient(90deg, var(--kf-color-line-strong), transparent);
}

.kf-kichijoji__tea-motif {
  flex: 0 0 46px;
  width: 46px;
  margin: 0;
}

.kf-kichijoji__tea-motif img {
  display: block;
  width: 100%;
}

.kf-kichijoji__lead {
  max-width: none;
  margin: 20px 0 0;
  color: var(--kf-color-ink-soft);
  font-size: 0.9375rem;
  line-height: 1.9;
}

.kf-kichijoji__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
  margin-top: 30px;
}

.kf-kichijoji-item {
  min-width: 0;
  margin: 0;
  border: 1px solid var(--kf-color-line);
  background: color-mix(in srgb, var(--kf-color-surface) 94%, transparent);
}

.kf-kichijoji-item__image {
  margin: 0;
  overflow: hidden;
  background: var(--kf-color-line);
}

.kf-kichijoji-item__image a,
.kf-kichijoji-item__image img {
  display: block;
  width: 100%;
}

.kf-kichijoji-item__image img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  transition: filter 180ms ease;
}

.kf-kichijoji-item__image a:hover img {
  filter: brightness(0.94) saturate(0.9);
}

.kf-kichijoji-item__body {
  position: relative;
  margin: 0;
  padding: 21px 23px 23px;
  border-top: 3px solid color-mix(in srgb, var(--kf-color-bronze-soft) 62%, transparent);
}

.kf-kichijoji-item__body > * {
  margin-inline: 0;
}



.kf-kichijoji-item__title {
  margin: 0 0 10px;
  font-size: 1.25rem;
  line-height: 1.5;
}

.kf-kichijoji-item__title a {
  color: inherit;
  text-decoration: none;
}

.kf-kichijoji-item__body > p:not(.kf-reference-link) {
  margin: 0;
  color: var(--kf-color-ink-soft);
  font-size: 0.9375rem;
  line-height: 1.9;
}

.kf-kichijoji-item .kf-reference-link {
  margin-top: 16px;
}

.kf-final-trial {
  margin-block: 0;
  background: #eae0d1;
}

.kf-final-trial__inner {
  width: min(var(--kf-layout-reading), calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin-inline: auto;
  padding: 48px 36px 50px;
}

.kf-final-trial__kicker {
  margin: 0 0 6px;
  color: var(--kf-color-bronze);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.6875rem;
  letter-spacing: 0.18em;
  line-height: 1.5;
  text-align: center;
}

.kf-final-trial__title {
  margin: 0 0 9px;
  font-size: 1.4375rem;
  letter-spacing: 0.08em;
  text-align: center;
}

.kf-final-trial__description {
  max-width: 700px;
  margin: 0 auto;
  color: var(--kf-color-ink-soft);
  font-size: 0.875rem;
  line-height: 1.9;
  text-align: center;
}

.kf-final-trial__actions {
  gap: 12px;
  justify-content: center;
  margin-top: 22px;
}

.standard-page {
  padding-block: clamp(48px, 7vw, 72px);
}

.standard-page__title {
  margin-bottom: 38px;
}

.site-footer {
  margin-block-start: 0;
  padding-block: 0 30px;
  background: var(--kf-color-footer);
  color: var(--kf-color-surface);
}

.kf-footer-bridge {
  position: relative;
  height: 164px;
  overflow: hidden;
}

.kf-footer-bridge::before {
  content: "";
  position: absolute;
  right: 0;
  top: 114px;
  left: 0;
  height: 1px;
  background: linear-gradient(
    to right,
    var(--kf-color-line-strong) 0,
    var(--kf-color-line-strong) calc(50% - 76px),
    transparent calc(50% - 76px),
    transparent calc(50% + 76px),
    var(--kf-color-line-strong) calc(50% + 76px),
    var(--kf-color-line-strong) 100%
  );
}

.kf-footer-bridge::after {
  content: "";
  position: absolute;
  top: 50px;
  left: 50%;
  width: 118px;
  height: 94px;
  background-image: url("../images/motif-pavilion-hex-v1.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateX(-50%);
}

.site-footer__inner {
  width: min(var(--kf-layout-with-sidebar), calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin-inline: auto;
  padding: 46px var(--kf-layout-inset) 0;
}

.site-footer__brand {
  display: flex;
  gap: 28px;
  align-items: end;
  justify-content: space-between;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.24);
}

.site-footer .wp-block-site-title {
  margin: 0;
  color: var(--kf-color-surface);
  font-size: calc(1.125rem + 1px);
  letter-spacing: 0.08em;
}

.site-footer__guide,
.site-footer__map-label {
  font-family: var(--wp--preset--font-family--sans);
}

.site-footer__guide {
  margin: 0 0 9px;
  color: rgba(255, 255, 255, 0.7);
  font-size: calc(0.6875rem + 1px);
  letter-spacing: 0.14em;
}

.site-footer__map-label {
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: calc(0.6875rem + 1px);
  letter-spacing: 0.14em;
}

.site-footer__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 28px;
  padding: 18px 0 34px;
}

.site-footer__nav-title {
  margin: 0 0 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.26);
  color: #fff;
  font-size: calc(0.84375rem + 1px);
  letter-spacing: 0.06em;
  line-height: 1.75;
}



.site-footer__nav .wp-block-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer__nav li + li {
  margin-top: 5px;
}

.site-footer__nav a {
  color: rgba(255, 255, 255, 0.9);
  font-size: calc(0.75rem + 1px);
  line-height: 1.5;
  text-decoration: none;
}

.site-footer__nav a:hover {
  color: #fff;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.28em;
}

.site-footer .wp-block-site-title a,
.site-footer a {
  color: inherit;
}



.site-footer__social {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 16px;
  align-items: center;
  margin-top: 13px;
  color: rgba(255, 255, 255, 0.8);
  font-size: calc(0.68rem + 1px);
  letter-spacing: 0.07em;
}

.site-footer__social a {
  display: inline-flex;
  gap: 0.42em;
  align-items: center;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.4;
  text-decoration: none;
}

.site-footer__social-icon {
  display: block;
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
  fill: currentColor;
  /* Align the icon optically with the Mincho text's visible glyphs. */
  transform: translateY(0.08em);
}

.site-footer__social a:hover {
  color: #fff;
}

.site-footer__legal-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 22px;
  align-items: center;
  justify-content: flex-end;
  margin: -3px 0 18px;
}

.site-footer__legal-row a {
  color: color-mix(in srgb, var(--kf-color-surface) 68%, transparent);
  font-size: calc(0.68rem + 1px);
  letter-spacing: 0.045em;
  line-height: 1.5;
  text-decoration: none;
}

.site-footer__legal-row a + a {
  position: relative;
  padding-left: 22px;
}

.site-footer__legal-row a + a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 1px;
  height: 0.8em;
  background: rgba(255, 255, 255, 0.24);
  transform: translateY(-50%);
}

.site-footer__legal-row a:hover {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 0.24em;
}

.site-footer__note {
  margin: 0;
  color: color-mix(in srgb, var(--kf-color-surface) 72%, transparent);
  font-family: var(--wp--preset--font-family--sans);
  font-size: calc(0.5625rem + 3px);
  letter-spacing: 0.04em;
}

.site-footer__rule {
  width: 100%;
  height: 1px;
  border: 0;
  background: color-mix(in srgb, var(--kf-color-surface) 22%, transparent);
}

.site-footer__bottom {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: flex-start;
}

.site-footer__back-to-top {
  appearance: none;
  position: fixed;
  right: clamp(20px, 3vw, 44px);
  bottom: clamp(20px, 3vw, 42px);
  z-index: 90;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  padding: 0;
  border: 1px solid rgba(119, 114, 103, 0.24);
  border-radius: 50%;
  background: rgba(248, 246, 240, 0.94);
  box-shadow: 0 5px 18px rgba(33, 31, 27, 0.16);
  color: #716d64;
  cursor: pointer;
  font-family: var(--wp--preset--font-family--sans);
  line-height: 1;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity 180ms ease, visibility 180ms ease, transform 180ms ease, background-color 180ms ease, color 180ms ease;
}

.site-footer__back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.site-footer__back-to-top span {
  font-size: 0.8rem;
  line-height: 0.8;
}

.site-footer__back-to-top small {
  margin-top: 5px;
  font-size: 0.5rem;
  letter-spacing: 0.06em;
}

.site-footer__back-to-top:hover,
.site-footer__back-to-top:focus-visible {
  background: #fffdf8;
  color: var(--kf-color-ink);
}

.site-footer__back-to-top:focus-visible {
  outline: 2px solid var(--kf-color-bronze);
  outline-offset: 3px;
}

@media (max-width: 782px) {
  .site-footer__back-to-top {
    display: none;
  }
}

.site-footer__motto {
  margin: 0;
  color: color-mix(in srgb, var(--kf-color-surface) 72%, transparent);
  font-family: var(--wp--preset--font-family--sans);
  font-size: calc(0.6875rem + 1px);
  letter-spacing: 0.06em;
}

@media (max-width: 760px) {
  :root { --kf-sticky-header-height: 70px; }

  .site-header,
  .site-header__inner {
    min-height: 70px;
  }

  .site-brand .wp-block-site-title {
    font-size: 1rem;
  }

  .site-header .site-header__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    column-gap: 0;
  }

  .site-header .site-brand {
    grid-column: 2;
    justify-self: center;
  }

  .site-header .site-header__actions {
    grid-column: 3;
    justify-self: end;
  }

  .site-brand .wp-block-site-logo {
    width: min(270px, calc(100vw - (var(--kf-mobile-gutter) * 2)));
  }

  .standard-page {
    padding-block: 48px;
  }

  .site-footer__legal-row {
    justify-content: flex-start;
    margin-top: 0;
  }

  .kf-hero {
    --kf-hero-image-position: 36% 50%;
    min-height: 460px !important;
  }

  .kf-hero__content {
    width: calc(100% - (var(--kf-mobile-gutter) * 2));
    padding-inline: 0;
  }

  .kf-hero__title {
    font-size: 1.6875rem;
  }

  .kf-hero-facts__grid {
    grid-template-columns: 1fr;
    width: calc(100% - (var(--kf-mobile-gutter) * 2));
  }

  .kf-hero-fact {
    padding-block: 16px;
    border-right: 0;
    border-bottom: 1px solid var(--kf-color-line);
  }

  .kf-hero-fact:last-child {
    border-bottom: 0;
  }

  .kf-hero-fact__sub {
    font-size: 0.71875rem;
  }

  .kf-section-inner {
    width: 100%;
    padding: 48px var(--kf-mobile-gutter);
  }

  .kf-classes__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .kf-classes__common {
    display: grid;
    gap: 10px;
  }

  .kf-video-letter__inner {
    width: 100%;
    padding: 48px var(--kf-mobile-gutter);
  }

  .kf-video-letter__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .kf-trial-bridge__inner {
    width: 100%;
    padding: 44px var(--kf-mobile-gutter);
  }

  .kf-practice__grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .kf-first__heading {
    display: block;
  }

  .kf-first__intro {
    margin-top: 8px;
  }

  .kf-first-guide::after {
    display: none;
  }

  .kf-first-grid {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 12px;
  }

  .kf-first-card {
    min-height: 0;
    padding: 20px 18px 19px 62px;
  }

  .kf-first-card__mark {
    top: 18px;
    left: 15px;
  }

  .kf-first-privacy {
    margin: 0 12px 12px;
  }

  .kf-teachers__spread {
    gap: 42px;
  }

  .kf-teacher {
    grid-template-columns: 170px minmax(0, 1fr);
    gap: 28px;
  }

  .kf-teacher:nth-child(even) {
    grid-template-columns: minmax(0, 1fr) 170px;
  }

  .kf-teacher + .kf-teacher {
    padding-top: 42px;
  }

  .kf-traditions__grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .kf-traditions__grid::after {
    display: none;
  }

  .kf-tradition:first-child,
  .kf-tradition:last-child {
    padding: 0;
  }

  .kf-tradition + .kf-tradition {
    padding-top: 38px;
    border-top: 1px solid var(--kf-color-line);
  }

  .kf-memoir,
  .kf-memoir__content {
    min-height: 360px;
  }

  .kf-memoir__content {
    width: 100%;
    padding: 50px var(--kf-mobile-gutter);
  }

  .kf-memoir::after {
    background: rgba(32, 29, 25, 0.58);
  }

  .kf-news-item {
    grid-template-columns: 100px minmax(0, 1fr);
    gap: 6px 16px;
  }

  .kf-news-item__title {
    grid-column: 1 / -1;
  }

  .kf-kichijoji__grid {
    grid-template-columns: 1fr;
  }

  .kf-final-trial__inner {
    width: 100%;
    padding: 46px var(--kf-mobile-gutter) 48px;
  }

  .site-footer__inner {
    width: 100%;
    padding-inline: var(--kf-mobile-gutter);
  }

  .site-footer__brand {
    align-items: start;
  }

  .site-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 782px) {
  body.admin-bar { --kf-admin-bar-offset: 46px; }
}

@media (max-width: 520px) {
  .site-brand .wp-block-site-logo {
    max-width: 38px;
  }

  .kf-hero__eyebrow {
    max-width: 260px;
    font-size: 0.625rem;
  }

  .kf-class-card__head,
  .kf-class-card__body {
    padding-inline: 18px;
  }

  .kf-class-card__photo img {
    height: auto;
    aspect-ratio: 1200 / 630;
  }

  .kf-class-card__reading {
    font-size: 0.625rem;
  }

  .kf-video-letter__title {
    font-size: 1.375rem;
  }

  .kf-trial-bridge__actions {
    display: grid;
  }

  .kf-trial-bridge__actions .wp-block-button,
  .kf-trial-bridge__actions .wp-block-button__link {
    width: 100%;
  }

  .kf-practice-time__row,
  .kf-practice-time__row--advanced {
    grid-template-columns: 1fr 2fr;
  }

  .kf-practice-time__label {
    grid-column: 1 / -1;
    justify-items: start;
    padding-bottom: 2px;
  }

  .kf-practice-steps {
    padding-left: 21px;
  }

  .kf-practice-step::before {
    left: -28px;
  }

  .kf-first-guide {
    min-height: 88px;
    padding: 12px 14px;
  }

  .kf-first-guide__avatar {
    flex-basis: 62px;
    width: 62px;
  }

  .kf-first-guide__name {
    font-size: 1rem;
  }

  .kf-first-guide__line {
    font-size: 0.8125rem;
  }

  .kf-teacher {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .kf-teacher:nth-child(even) {
    grid-template-columns: 1fr;
  }

  .kf-teacher:nth-child(even) .kf-teacher__portrait,
  .kf-teacher:nth-child(even) .kf-teacher__body {
    grid-column: 1;
  }

  .kf-teacher:nth-child(even) .kf-teacher__portrait {
    grid-row: 1;
  }

  .kf-teacher:nth-child(even) .kf-teacher__body {
    grid-row: 2;
  }

  .kf-teacher__portrait {
    width: min(170px, 62%);
  }

  .kf-teacher__name {
    font-size: 1.375rem;
  }

  .kf-traditions__heading {
    gap: 10px;
  }

  .kf-traditions__book {
    flex-basis: 40px;
    width: 40px;
  }

  .kf-memoir__title {
    font-size: 1.375rem;
  }

  .kf-memoir__image img {
    object-position: 64% center;
  }

  .kf-news__heading {
    gap: 10px;
  }

  .kf-news__brush {
    flex-basis: 38px;
    width: 38px;
  }

  .kf-kichijoji__heading {
    gap: 10px;
  }

  .kf-kichijoji__tea-motif {
    flex-basis: 38px;
    width: 38px;
  }

  .kf-kichijoji__heading .kf-section-title {
    font-size: 1.3125rem;
  }

  .kf-final-trial__actions {
    display: grid;
  }

  .kf-final-trial__actions .wp-block-button,
  .kf-final-trial__actions .wp-block-button__link {
    width: 100%;
  }

  .kf-footer-bridge {
    height: 124px;
  }

  .kf-footer-bridge::before {
    top: 88px;
  }

  .kf-footer-bridge::after {
    top: 34px;
    width: 102px;
    height: 80px;
  }

  .site-footer__brand,
  .site-footer__bottom {
    display: block;
  }

  .site-footer__brand > :last-child {
    margin-top: 16px;
  }



  .site-footer__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .site-footer__motto {
    margin-top: 6px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* Inner templates — integrated 2026-08-21. */
/* Adopted auxiliary templates. Keep this layer separate from the home-page CSS. */

/* Standard fixed pages */

.kf-standard-page {
  padding-bottom: 0;
  color: var(--kf-color-ink);
}

.kf-page-title-scene {
  width: 100%;
  min-height: 280px !important;
  margin: 0 auto;
  border-radius: 0;
  background-color: var(--kf-color-scene-dark);
  background-image: var(--kf-title-image);
  background-position: center;
  background-size: cover;
}

/* Chairperson's message — bright, welcoming classic Chinese courtyard. */
.page-id-29 .kf-page-title-scene {
	background-image: url("../images/greeting-header-sasa-grounded-v5-1800x360.jpg");
	background-position: center;
}

.page-id-3485 .kf-page-title-scene {
	background-image: url("../images/message-header-pine-gate-v2-1800x360.jpg");
	background-position: center;
}

.page-id-13112 .kf-page-title-scene {
  background-image: url("../images/our-purpose-header-heaven-earth-water-v3-1800x360.jpg");
  background-position: center;
}

.page-id-3440 .kf-page-title-scene {
  background-image: url("../images/naming-header-books-ink-seal-v2-1800x360.jpg");
  background-position: center;
}

/* Privacy policy — secured Chinese document cabinet and sealed records. */
.page-id-3 .kf-page-title-scene {
  background-image: url("../images/privacy-secured-chinese-cabinet-v1-1800x360.png");
  background-position: center;
}

.page-id-3 .kf-page-title-scene .wp-block-cover__background {
  background: linear-gradient(
    90deg,
    rgb(48 55 47 / 46%) 0%,
    rgb(57 63 53 / 34%) 34%,
    rgb(73 76 61 / 13%) 64%,
    rgb(255 255 255 / 2%) 100%
  ) !important;
  opacity: 1;
}

/* Disclaimer — open rules folio on a grounded Chinese rosewood writing desk. */
.page-id-52 .kf-page-title-scene {
  background-image: url("../images/disclaimer-open-rules-desk-v1-1800x360.png");
  background-position: center;
}

.page-id-52 .kf-page-title-scene .wp-block-cover__background {
  background: linear-gradient(
    90deg,
    rgb(48 55 47 / 46%) 0%,
    rgb(57 63 53 / 34%) 34%,
    rgb(73 76 61 / 13%) 64%,
    rgb(255 255 255 / 2%) 100%
  ) !important;
  opacity: 1;
}

.page-id-29 .kf-page-title-scene .wp-block-cover__background,
.page-id-3485 .kf-page-title-scene .wp-block-cover__background,
.page-id-13112 .kf-page-title-scene .wp-block-cover__background,
.page-id-3440 .kf-page-title-scene .wp-block-cover__background {
  background: linear-gradient(
    90deg,
    rgb(64 72 61 / 36%) 0%,
    rgb(75 82 69 / 28%) 34%,
    rgb(92 96 77 / 10%) 64%,
    rgb(255 255 255 / 2%) 100%
  ) !important;
  opacity: 1;
}

@media (max-width: 1000px) {
  .kf-page-title-scene {
    min-height: 230px !important;
  }

  .page-id-3 .kf-page-title-scene {
    background-position: 32% center;
  }

  .page-id-52 .kf-page-title-scene {
    background-position: 32% center;
  }
}

.kf-page-title-scene .wp-block-cover__image-background {
  border-radius: 0;
}

.kf-page-title-scene .wp-block-cover__inner-container {
  box-sizing: border-box;
  width: min(var(--kf-layout-without-sidebar), calc(100% - (var(--kf-mobile-gutter) * 2)));
  max-width: none;
  margin-inline: auto;
  padding-inline: var(--kf-layout-inset);
  text-align: left;
}

.kf-page-context .kf-page-title-scene .wp-block-cover__inner-container,
.page-template-page-with-sidebar .kf-page-title-scene .wp-block-cover__inner-container {
  width: min(var(--kf-layout-with-sidebar), calc(100% - (var(--kf-mobile-gutter) * 2)));
}

.kf-page-title-scene__eyebrow {
  margin: 0 0 10px;
  color: #fff;
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  line-height: 1.5;
}

.kf-page-title-scene__title {
  width: 100%;
  max-width: none;
  margin: 0;
  color: #fff;
  font-size: clamp(2rem, 4.2vw, 3.2rem);
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-align: left;
  text-shadow: 0 2px 18px rgb(0 0 0 / 32%);
}

.kf-page-layout {
  margin: 48px auto 0;
}

.kf-page-layout--wide {
  width: min(var(--kf-layout-without-sidebar), calc(100% - (var(--kf-mobile-gutter) * 2)));
}

.kf-page-layout--sidebar {
  display: grid;
  grid-template-columns: minmax(0, var(--kf-layout-main)) minmax(0, var(--kf-layout-sidebar));
  gap: var(--kf-layout-column-gap);
  width: min(var(--kf-layout-with-sidebar), calc(100% - (var(--kf-mobile-gutter) * 2)));
  align-items: start;
}

.kf-page-article {
  min-width: 0;
  padding: 56px 62px;
  border: 1px solid color-mix(in srgb, var(--kf-color-line) 72%, transparent);
  border-radius: 12px;
  background: var(--kf-color-content-background);
}

.kf-singular-featured-image {
  width: 100%;
  margin: 0 0 44px;
  overflow: hidden;
  border-radius: 10px;
}

.kf-singular-featured-image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: inherit;
}

/* Keep custom article heroes intact when their featured image is disabled. */
body.single.kf-featured-image-hidden :is(
  .kf-food-hero__photo,
  .kf-journal-hero__photo,
  .kf-maxim-hero__photo,
  .kf-health-hero__photo,
  .kf-language-hero__photo,
  .kf-activity-hero__photo
) {
  display: none;
}

body.single.kf-featured-image-hidden .kf-food-hero {
  grid-template-columns: 1fr;
  min-height: 0;
}

body.single.kf-featured-image-hidden :is(.kf-journal-hero__copy, .kf-maxim-hero__paper) {
  margin-top: 0;
}

body.single.kf-featured-image-hidden .letter-hero {
  grid-template-columns: 1fr;
}

.kf-page-layout--wide .kf-page-article > * {
  max-width: 720px;
  margin-right: auto;
  margin-left: auto;
}

.kf-page-layout--wide .kf-page-article > .kf-page-guide {
  max-width: none !important;
}

.kf-page-guide {
  box-sizing: border-box;
  width: 100%;
  margin: 0 0 48px;
  padding: 28px 30px 24px;
  border: 1px solid color-mix(in srgb, var(--kf-color-line) 78%, transparent);
  border-radius: 10px;
  background: color-mix(in srgb, var(--kf-color-paper) 70%, var(--kf-color-surface));
}

.entry-content .kf-contact-trial-guide {
  box-sizing: border-box;
  width: 100%;
  margin: 0 auto 42px;
  padding: 20px 24px;
  border: 1px solid color-mix(in srgb, var(--kf-color-line-strong) 82%, transparent);
  border-radius: 10px;
  background: color-mix(in srgb, var(--kf-color-paper) 72%, var(--kf-color-surface));
  text-align: center;
}

.entry-content .kf-contact-trial-guide > p {
  margin: 0;
}

/* Shared Contact Form 7 labels and submit button. */
.entry-content .cf7__list dt > p {
  display: flex;
  align-items: center;
  gap: 10px;
}

.entry-content :where(.cf7__required, .cf7__optional) {
  display: inline-flex;
  min-width: 3.5em;
  min-height: 24px;
  align-items: center;
  justify-content: center;
  padding: 2px 9px;
  border: 1px solid;
  border-radius: 999px;
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.35;
  white-space: nowrap;
}

.entry-content .cf7__required {
  border-color: #d8a39d;
  background: #f7e4e1;
  color: #8a3d38;
}

.entry-content .cf7__optional {
  border-color: #b9c9b6;
  background: #e8efe7;
  color: #526d50;
}

.entry-content .cf7 {
  font-size: 1rem;
}

.entry-content .cf7 select {
  height: 2rem;
  padding: 1px 34px 1px 6px;
  appearance: none;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23403c35' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 12px center / 10px 6px;
}

.entry-content .cf7 :where(.wpcf7-list-item-label, small) {
  font-size: 1rem;
  line-height: 1.8;
}

.entry-content .cf7 .kf-note-mark {
  color: #b64f49;
  font-weight: 600;
}

.entry-content .cf7__button {
  display: grid;
  grid-template-columns: minmax(0, 280px) 123px;
  grid-template-rows: auto auto;
  column-gap: 6px;
  row-gap: 8px;
  align-items: center;
  justify-content: center;
  width: min(100%, 409px);
  margin: 34px auto 0;
  text-align: center;
}

.entry-content .cf7__button > p {
  grid-column: 1 / -1;
  grid-row: 1;
  margin: 0;
}

.entry-content .cf7__button::before {
  box-sizing: border-box;
  display: block;
  grid-column: 1;
  grid-row: 2;
  width: 100%;
  min-height: 76px;
  padding: 12px 29px 12px 18px;
  border-radius: 16px;
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 76' preserveAspectRatio='none'%3E%3Cpath d='M16 1H248C257 1 264 8 264 17V27L279 38L264 49V59C264 68 257 75 248 75H16C8 75 1 68 1 59V17C1 8 8 1 16 1Z' fill='%23eef7f8' stroke='%236d9eaf' stroke-width='1.5' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
  color: #2f3a35;
  filter: drop-shadow(0 4px 9px rgba(41, 99, 116, 0.12));
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.7;
  text-align: left;
  content: "わからないことや迷っていることがあったら、相談してね！";
}

.entry-content .cf7__button::after {
  display: block;
  grid-column: 2;
  grid-row: 2;
  width: 123px;
  aspect-ratio: 1148 / 1370;
  margin: 0;
  background: url("../images/lulu-contact-submit-letter-v3.webp") center bottom / contain no-repeat;
  pointer-events: none;
  content: "";
}

.entry-content .cf7__button .wpcf7-submit {
  --kf-submit-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8h9M9 4l4 4-4 4' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'/%3E%3C/svg%3E");
  width: 100%;
  min-width: 0;
  min-height: var(--kf-button-min-height);
  padding: var(--kf-button-padding);
  border: 1px solid var(--kf-button-primary);
  border-radius: var(--kf-button-radius);
  background-color: var(--kf-button-primary);
  background-image: var(--kf-submit-arrow);
  background-position: calc(50% + 49px) 50%;
  background-repeat: no-repeat;
  background-size: 16px 16px;
  color: #fff;
  box-shadow: none;
  cursor: pointer;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.6;
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.entry-content .cf7__button .wpcf7-submit:hover:not(:disabled),
.entry-content .cf7__button .wpcf7-submit:focus-visible:not(:disabled) {
  border-color: var(--kf-button-primary-hover);
  background-color: var(--kf-button-primary-hover);
  background-image: var(--kf-submit-arrow);
  color: #fff;
  box-shadow: none;
}

.entry-content .cf7__button .wpcf7-submit:active:not(:disabled) {
  box-shadow: none;
  transform: translateY(0);
}

.entry-content .cf7__button .wpcf7-submit:disabled {
  border-color: var(--kf-button-primary);
  background-color: var(--kf-button-primary);
  background-image: var(--kf-submit-arrow);
  color: #fff;
  box-shadow: none;
  cursor: not-allowed;
  opacity: 0.6;
  transform: none;
}

.kf-page-guide > p:first-child {
  margin: 0 0 5px;
  color: var(--kf-color-bronze);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.65rem;
  letter-spacing: 0.16em;
}

.kf-page-guide > h2 {
  margin: 0 0 18px;
  padding-bottom: 13px;
  font-size: 1.15rem;
  letter-spacing: 0.04em;
}

.kf-page-guide :where(ul, ol) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kf-page-guide li {
  margin: 0;
  padding: 11px 14px;
  border-bottom: 1px solid color-mix(in srgb, var(--kf-color-line) 72%, transparent);
  font-size: 0.88rem;
  line-height: 1.7;
}

.kf-page-guide li:nth-last-child(-n + 2) {
  border-bottom: 0;
}

.kf-page-guide a {
  color: var(--kf-color-ink-soft);
  text-decoration: none;
}

.kf-page-guide a:hover {
  color: var(--kf-color-bronze);
}

.kf-page-guide__related {
  margin: 18px 0 0;
  text-align: right;
}

.kf-page-guide-back {
  margin: 24px 0 0;
  text-align: right;
}

.kf-page-guide-back a {
  color: var(--kf-color-bronze);
  font-size: 0.78rem;
  text-decoration: none;
}

.kf-page-article :where(p, li) {
  font-size: 1rem;
  line-height: 2;
}

.kf-page-article :where(h2, h3, h4) {
  scroll-margin-top: 110px;
}

.kf-page-article h2 {
  margin-top: 2.8em;
  font-weight: 500;
}

/* Nested component headers supply their own single divider line. */
.kf-page-article h2:not(header h2) {
  padding-bottom: 14px;
  border-bottom: 1px solid var(--kf-color-line-strong);
}

.kf-page-article header h2 {
  padding-bottom: 0;
  border-bottom: 0;
}

.kf-page-article h2:first-child {
  margin-top: 0;
}

.kf-page-article h3 {
  margin-top: 2.35em;
  font-weight: 500;
}

.kf-page-article img:not(.kf-intermediate__avatar img) {
  border-radius: 0 !important;
}

/* Site standard: standalone photographs inside article copy are centered. */
.kf-page-article .entry-content figure.wp-block-image:not(.wp-block-gallery figure.wp-block-image),
.kf-page-article .entry-content > p > img:only-child {
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: center;
}

.kf-page-article .entry-content figure.wp-block-image:not(.wp-block-gallery figure.wp-block-image) > img,
.kf-page-article .entry-content figure.wp-block-image:not(.wp-block-gallery figure.wp-block-image) > a > img,
.kf-page-article .entry-content > p > img:only-child {
  display: block;
  max-width: 100%;
  height: auto;
  margin-inline: auto !important;
}

/* FAQ title: Lulu's bright, present-day martial arts school. */
.kf-faq-page .kf-page-title-scene {
  background-color: #f5eedf;
  background-image: url("../images/faq-header-modern-wuguan-v10.jpg");
  background-position: center 78%;
}

.kf-faq-page .kf-page-title-scene .wp-block-cover__background {
  opacity: 0 !important;
}

.kf-faq-page .kf-page-title-scene .wp-block-cover__inner-container {
  width: min(880px, calc(100% - (var(--kf-mobile-gutter) * 2)));
  padding-inline: var(--kf-layout-inset);
  text-align: center;
}

.kf-faq-page .kf-page-title-scene__eyebrow {
  color: #826636;
  text-align: center;
}

.kf-faq-page .kf-page-title-scene__title {
  color: #4a4339;
  text-align: center;
  text-shadow: none;
}

/* Contact title: a quiet message ready to be sent. */
.page-id-47 .kf-page-title-scene {
  background-color: #f5eedf;
  background-image: url("../images/contact-header-message-v1.webp") !important;
  background-position: center;
}

.page-id-47 .kf-page-title-scene .wp-block-cover__background {
  opacity: 0 !important;
}

.page-id-47 .kf-page-title-scene .wp-block-cover__inner-container {
  width: min(880px, calc(100% - (var(--kf-mobile-gutter) * 2)));
  padding-inline: var(--kf-layout-inset);
  text-align: center;
}

.page-id-47 .kf-page-title-scene__eyebrow {
  color: #826636;
  text-align: center;
}

.page-id-47 .kf-page-title-scene__title {
  color: #4a4339;
  text-align: center;
  text-shadow: none;
}

/* FAQ: 路路 guides the entrance; native details keep the long archive compact. */
.kf-faq-page .kf-page-layout--wide .kf-page-article > .entry-content {
  width: 100%;
  max-width: 880px;
}

.kf-faq-page .entry-content > p:empty {
  display: none;
}

.kf-faq-guide {
  position: relative;
  display: grid;
  isolation: isolate;
  grid-template-areas:
    "copy lulu"
    "categories categories";
  grid-template-columns: minmax(0, 1fr) 300px;
  align-items: stretch;
  margin: 0 0 72px;
  overflow: hidden;
  border: 1px solid #c3cfbc;
  border-radius: 22px;
  background: linear-gradient(102deg, #fffdf9 0%, #f4f7ef 43%, #dbe8d7 100%);
  box-shadow: 0 18px 46px rgb(72 82 65 / 8%);
}

.kf-faq-guide::before,
.kf-faq-guide::after {
  position: absolute;
  z-index: -1;
  border: 1px solid rgb(89 116 83 / 18%);
  border-radius: 50%;
  content: "";
}

.kf-faq-guide::before {
  top: -126px;
  right: -78px;
  width: 300px;
  height: 300px;
}

.kf-faq-guide::after {
  top: 118px;
  right: 168px;
  width: 128px;
  height: 128px;
}

.kf-faq-guide__copy {
  position: relative;
  z-index: 1;
  grid-area: copy;
  align-self: center;
  padding: 48px 24px 40px 46px;
}

.kf-faq-guide__eyebrow,
.kf-faq-contact__eyebrow {
  margin: 0 0 8px !important;
  color: var(--kf-color-bronze);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.68rem !important;
  letter-spacing: 0.18em;
  line-height: 1.5 !important;
}

.kf-page-article .kf-faq-guide__copy h2 {
  max-width: 520px;
  margin: 0 0 16px;
  padding: 0;
  border: 0;
  font-size: clamp(1.68rem, 3.1vw, 2.24rem);
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1.55;
}

.kf-faq-guide__lead {
  max-width: 35em;
  margin: 0 0 22px;
  color: var(--kf-color-ink-soft);
  font-size: 0.92rem;
  line-height: 2;
}

.kf-faq-guide__hint {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  color: #4a614b;
  font-size: 0.76rem;
  letter-spacing: 0.035em;
}

.kf-faq-guide__hint span {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border: 1px solid #9fb29d;
  border-radius: 50%;
  background: rgb(255 255 255 / 58%);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.86rem;
  line-height: 1;
}

.kf-faq-guide__lulu {
  position: relative;
  z-index: 1;
  display: grid;
  grid-area: lulu;
  row-gap: 10px;
  align-content: end;
  justify-items: center;
  margin: 0;
  padding: 26px 30px 18px 0;
}

.kf-faq-guide__lulu-visual {
  width: min(100%, 190px);
}

.kf-faq-guide__lulu-visual img {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 14px 16px rgb(56 72 51 / 13%));
}

.kf-faq-guide__lulu figcaption {
  margin: 0;
  color: #405443;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  line-height: 1.7;
  text-align: center;
}

.kf-faq-guide__lulu figcaption span {
  display: block;
  color: #718272;
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.6rem;
  letter-spacing: 0.2em;
}

.kf-faq-guide__categories {
  position: relative;
  z-index: 1;
  display: grid;
  grid-area: categories;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  padding: 14px;
  border-top: 1px solid rgb(127 145 119 / 24%);
  background: rgb(255 253 248 / 72%);
}

.kf-faq-guide__categories a {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
  min-height: 68px;
  padding: 10px 12px;
  border: 1px solid rgb(181 193 173 / 74%);
  border-radius: 12px;
  background: rgb(255 255 255 / 56%);
  color: #3f5142;
  font-size: 0.82rem;
  line-height: 1.55;
  text-decoration: none;
  transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.kf-faq-guide__categories img {
  display: block;
  width: 38px;
  height: 38px;
  object-fit: contain;
  opacity: 0.92;
}

.kf-faq-guide__arrow {
  color: #8b7143;
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.9rem;
}

.kf-faq-guide__categories a:hover,
.kf-faq-guide__categories a:focus-visible {
  border-color: #9fb09a;
  background: #f4f8f0;
  color: #405443;
  transform: translateY(-2px);
}

.kf-faq-guide__categories a:focus-visible,
.kf-faq-item__question:focus-visible,
.kf-faq-contact__button:focus-visible {
  outline: 2px solid var(--kf-color-bronze);
  outline-offset: -3px;
}

.kf-page-article .kf-faq-category-title {
  display: grid;
  grid-template-areas:
    "eyebrow eyebrow"
    "icon title";
  grid-template-columns: clamp(38px, 4vw, 46px) minmax(0, 1fr);
  column-gap: 14px;
  align-items: center;
  margin: 70px 0 18px;
  padding: 0 0 16px;
  border-bottom: 1px solid var(--kf-color-line-strong);
  font-size: clamp(1.42rem, 2.3vw, 1.72rem);
  font-weight: 400;
  letter-spacing: 0.055em;
  line-height: 1.65;
}

.kf-page-article .kf-faq-category-title:first-of-type {
  margin-top: 0;
}

.kf-faq-category-title::before {
  display: block;
  grid-area: eyebrow;
  margin-bottom: 2px;
  color: var(--kf-color-bronze);
  content: attr(data-kf-faq-label);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.66rem;
  letter-spacing: 0.18em;
  line-height: 1.5;
}

.kf-faq-category-title__icon {
  display: block;
  width: clamp(38px, 4vw, 46px);
  height: clamp(38px, 4vw, 46px);
  grid-area: icon;
  object-fit: contain;
}

.kf-faq-category-title > span {
  grid-area: title;
}

.kf-faq-list {
  display: grid;
  gap: 10px;
  margin: 0;
}

.kf-faq-item {
  overflow: clip;
  border: 1px solid #cdbf9f;
  border-radius: 10px;
  background: #fffdf8;
}

.kf-faq-item__question {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 28px;
  gap: 13px;
  align-items: center;
  min-height: 68px;
  padding: 18px;
  cursor: pointer;
  list-style: none;
  transition: background-color 160ms ease;
}

.kf-faq-item__question::-webkit-details-marker {
  display: none;
}

.kf-faq-item__question::marker {
  content: "";
}

.kf-faq-item__question:hover {
  background: color-mix(in srgb, var(--kf-color-paper) 48%, transparent);
}

.kf-faq-item__question-text {
  color: #292720;
  font-size: 0.94rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.75;
}

.kf-faq-item__mark {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 50%;
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.7rem;
  line-height: 1;
}

.kf-faq-item__mark--question {
  border: 1px solid #c99591;
  background: #fbefed;
  color: #a45f5a;
}

.kf-faq-item__mark--answer {
  border: 1px solid #91a78f;
  background: #dfe9dc;
  color: #304d36;
}

.kf-faq-item__toggle {
  position: relative;
  width: 28px;
  height: 28px;
  border: 1px solid #9f875b;
  border-radius: 50%;
}

.kf-faq-item__toggle::before,
.kf-faq-item__toggle::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 1px;
  background: #725626;
  content: "";
  transform: translate(-50%, -50%);
  transition: transform 160ms ease;
}

.kf-faq-item__toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.kf-faq-item[open] .kf-faq-item__question {
  background: #f5efe3;
}

.kf-faq-item[open] .kf-faq-item__toggle::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.kf-faq-item__answer {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 13px;
  padding: 20px 30px 24px 18px;
  border-top: 1px solid #d5c9ae;
}

.kf-faq-item__body {
  min-width: 0;
  color: var(--kf-color-ink-soft);
}

.kf-faq-item__body > :first-child {
  margin-top: 0;
}

.kf-faq-item__body > :last-child {
  margin-bottom: 0;
}

.kf-faq-item__body .swell-block-step {
  margin-top: 28px;
  margin-bottom: 8px;
}

.kf-faq-item__body .swell-block-step__body p {
  text-align: left !important;
}

.kf-faq-contact {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  align-items: center;
  gap: 28px;
  margin: 76px 0 18px;
  padding: 28px 38px 30px 24px;
  overflow: hidden;
  border: 1px solid #6f846f;
  border-radius: 18px;
  background: linear-gradient(125deg, #405b47 0%, #526b55 64%, #779078 100%);
  box-shadow: 0 18px 48px rgb(42 58 44 / 18%);
  color: #fff;
}

.kf-faq-contact::before,
.kf-faq-contact::after {
  position: absolute;
  z-index: -1;
  border: 1px solid rgb(255 255 255 / 16%);
  border-radius: 50%;
  content: "";
}

.kf-faq-contact::before {
  top: -150px;
  left: -105px;
  width: 330px;
  height: 330px;
}

.kf-faq-contact::after {
  right: -115px;
  bottom: -190px;
  width: 360px;
  height: 360px;
}

.kf-faq-contact__lulu {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  align-self: end;
  filter: drop-shadow(0 13px 14px rgb(26 39 28 / 18%));
}

.kf-faq-contact__copy {
  position: relative;
  z-index: 1;
}

.kf-faq-contact__eyebrow {
  color: #e1cf9d;
}

.kf-page-article .kf-faq-contact__copy h2 {
  margin: 0 0 10px;
  padding: 0;
  border: 0;
  color: #fff;
  font-size: clamp(1.3rem, 2.4vw, 1.72rem);
  font-weight: 400;
  letter-spacing: 0.045em;
  line-height: 1.7;
}

.kf-faq-contact__copy > p:not(.kf-faq-contact__eyebrow) {
  margin: 0 0 20px;
  color: rgb(255 255 255 / 82%);
  font-size: 0.9rem;
}

.kf-faq-contact__button {
  display: inline-flex;
  width: min(100%, 320px);
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 10px 24px;
  border: 1px solid #fff;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 9px 22px rgb(34 48 37 / 20%);
  color: #334a38;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.035em;
  text-decoration: none;
  transition: background-color 160ms ease;
}

.kf-faq-contact__button:hover {
  background: #f5f1e8;
  color: #2f4635;
}

.kf-faq-updated {
  margin: 0;
  color: var(--kf-color-ink-soft);
  font-size: 0.72rem !important;
  text-align: right;
}

@media (max-width: 700px) {
  .kf-faq-page .kf-page-title-scene {
    background-position: 52% 76%;
  }

  .kf-faq-page .kf-page-title-scene__title {
    font-size: clamp(1.8rem, 9vw, 2.35rem);
  }

  .kf-faq-guide {
    grid-template-areas:
      "copy"
      "lulu"
      "categories";
    grid-template-columns: minmax(0, 1fr);
    margin-bottom: 52px;
    border-radius: 18px;
  }

  .kf-faq-guide::before {
    top: -64px;
    right: -72px;
    width: 190px;
    height: 190px;
  }

  .kf-faq-guide::after {
    display: none;
  }

  .kf-faq-guide__copy {
    padding: 28px 20px 12px;
  }

  .kf-page-article .kf-faq-guide__copy h2 {
    margin-bottom: 12px;
    font-size: 1.3rem;
    line-height: 1.58;
  }

  .kf-page-article .kf-faq-guide__copy h2 span {
    display: block;
  }

  .kf-faq-guide__lead {
    margin-bottom: 0;
    font-size: 0.76rem;
    line-height: 1.85;
  }

  .kf-faq-guide__hint {
    display: none;
  }

  .kf-faq-guide__lulu {
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    justify-items: start;
    padding: 0 22px 20px;
  }

  .kf-faq-guide__lulu-visual {
    width: 100%;
  }

  .kf-faq-guide__lulu figcaption {
    display: block;
    margin: 0;
    font-size: 0.7rem;
    line-height: 1.7;
    text-align: left;
  }

  .kf-faq-guide__lulu figcaption span {
    margin-bottom: 2px;
    font-size: 0.54rem;
  }

  .kf-faq-guide__categories {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 10px;
  }

  .kf-faq-guide__categories a {
    grid-template-columns: 30px minmax(0, 1fr) auto;
    gap: 7px;
    min-height: 58px;
    padding: 8px 9px;
    font-size: 0.9375rem;
  }

  .kf-faq-guide__categories img {
    width: 30px;
    height: 30px;
  }

  .kf-faq-guide__categories a:last-child {
    grid-column: 1 / -1;
  }

  .kf-page-article .kf-faq-category-title {
    margin-top: 54px;
    font-size: 1.3rem;
  }

  .kf-faq-item__question {
    grid-template-columns: 28px minmax(0, 1fr) 26px;
    gap: 10px;
    min-height: 66px;
    padding: 14px 12px;
  }

  .kf-faq-item__question-text {
    font-size: 0.84rem;
    line-height: 1.7;
  }

  .kf-faq-item__mark {
    width: 28px;
    height: 28px;
  }

  .kf-faq-item__toggle {
    width: 24px;
    height: 24px;
  }

  .kf-faq-item__answer {
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 10px;
    padding: 18px 18px 21px 12px;
  }

  .kf-faq-item__body :where(p, li) {
    font-size: 0.8rem;
    line-height: 1.9;
  }

  .kf-faq-contact {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 58px;
    padding: 34px 24px 0;
  }

  .kf-faq-contact__copy {
    grid-row: 1;
    text-align: left;
  }

  .kf-faq-contact__lulu {
    width: 120px;
    margin: 18px auto -5px;
    grid-row: 2;
  }

  .kf-faq-contact__eyebrow {
    font-size: 0.58rem !important;
  }

  .kf-page-article .kf-faq-contact__copy h2 {
    font-size: 1.08rem;
  }

  .kf-faq-contact__copy > p:not(.kf-faq-contact__eyebrow) {
    font-size: 0.76rem;
    line-height: 1.75;
  }

  .kf-faq-contact__button {
    width: 100%;
    min-height: 44px;
    padding-inline: 16px;
    font-size: 0.78rem;
  }
}

@media (max-width: 360px) {
  .kf-faq-guide__lulu {
    grid-template-columns: 82px;
    justify-content: center;
    justify-items: center;
    padding-inline: 16px;
  }

  .kf-faq-guide__lulu figcaption {
    display: none;
  }

  .kf-faq-guide__categories {
    grid-template-columns: minmax(0, 1fr);
  }

  .kf-faq-guide__categories a:last-child {
    grid-column: auto;
  }
}

.kf-page-article blockquote {
  margin: 34px 0;
  padding: 22px 26px;
  border-left: 2px solid var(--kf-color-bronze);
  background: color-mix(in srgb, var(--kf-color-paper) 74%, transparent);
}

.kf-page-local-nav-shell {
  position: sticky;
  top: 92px;
  align-self: start;
  padding: 26px 22px 20px;
  border: 1px solid color-mix(in srgb, var(--kf-color-line) 72%, transparent);
  border-radius: 12px;
  background: color-mix(in srgb, var(--kf-color-surface) 96%, transparent);
}

.kf-page-local-nav-shell__eyebrow {
  margin: 0 0 4px;
  color: var(--kf-color-bronze);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.65rem;
  letter-spacing: 0.16em;
}

.kf-page-local-nav-shell__title {
  margin: 0;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--kf-color-line-strong);
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}

.kf-page-local-nav {
  width: 100%;
  margin-top: 4px;
}

.kf-page-local-nav .wp-block-navigation__container,
.kf-page-local-nav .wp-block-page-list {
  display: block;
  width: 100%;
}

.kf-page-local-nav .wp-block-navigation-item {
  width: 100%;
  border-bottom: 1px solid var(--kf-color-line);
}

.kf-page-local-nav .wp-block-navigation-item:last-child {
  border-bottom: 0;
}

.kf-page-local-nav .wp-block-navigation-item__content {
  display: block;
  padding: 13px 10px;
  color: var(--kf-color-ink);
  font-size: 0.82rem;
  line-height: 1.65;
}

.kf-page-local-nav .current-menu-item > .wp-block-navigation-item__content,
.kf-page-local-nav .current-menu-ancestor > .wp-block-navigation-item__content {
  color: var(--kf-color-bronze);
}

.kf-page-context-sidebar {
  position: sticky;
  top: calc(var(--kf-admin-bar-offset) + var(--kf-sticky-header-height) + 24px);
  align-self: start;
  box-sizing: border-box;
  max-height: calc(100vh - var(--kf-admin-bar-offset) - var(--kf-sticky-header-height) - 48px);
  overflow-y: auto;
}

/* Keep the class navigation aligned with the article instead of floating lower while scrolling. */
.kf-page-context--class .kf-page-context-sidebar {
  position: static;
  margin-top: 0 !important;
  max-height: none;
  overflow: visible;
}

.kf-page-context-sidebar__panel {
  padding: 27px 25px;
  border: 1px solid color-mix(in srgb, var(--kf-color-line) 72%, transparent);
  border-radius: 12px;
  background: color-mix(in srgb, var(--kf-color-surface) 96%, transparent);
}

.kf-page-context-sidebar__panel + .kf-page-context-sidebar__panel {
  margin-top: 24px;
}

.kf-page-context-sidebar__panel > p {
  margin: 0 0 4px;
  color: var(--kf-color-bronze);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.62rem;
  letter-spacing: 0.16em;
}

.kf-page-context-sidebar__panel h2 {
  position: relative;
  margin: 0 0 14px;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--kf-color-line-strong);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}

.kf-page-context-sidebar__panel h2::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 96px;
  height: 1px;
  background: var(--kf-color-bronze);
  content: "";
}

.kf-page-context-sidebar__title-link {
  display: inline;
  padding: 0;
  color: inherit;
  text-decoration: none;
}

.kf-page-context-sidebar__panel .kf-page-context-sidebar__title-link {
  display: inline;
  padding: 0;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
}

.kf-page-context-sidebar__title-link:hover,
.kf-page-context-sidebar__title-link:focus-visible {
  color: var(--kf-color-bronze);
}

.kf-page-context-sidebar__panel ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kf-page-context-sidebar__panel li {
  border-bottom: 1px solid color-mix(in srgb, var(--kf-color-line) 72%, transparent);
}

.kf-page-context-sidebar__panel li:last-child {
  border-bottom: 0;
}

.kf-page-context-sidebar__panel a {
  display: block;
  padding: 11px 10px;
  color: var(--kf-color-ink-soft);
  font-size: 0.83rem;
  line-height: 1.65;
  text-decoration: none;
}

/* Sidebar items that are not links yet (study-abroad pages still in draft) match the link rows. */
.site-main :is(.kf-page-context-sidebar, .kf-post-sidebar, .practice-sidebar, .study-sidebar) nav li > .study-link-pending {
  display: block;
  padding: 12px 10px;
  color: var(--kf-color-ink-soft);
  font-size: 0.85rem;
  font-weight: 400;
  line-height: 1.65;
}

.kf-page-context-sidebar__panel a.is-current {
  color: var(--kf-color-bronze);
  font-weight: 600;
}

/* The migrated profile keeps its original SWELL columns, but not SWELL CSS. */
.kf-page-context--profile :is(.entry-content, .kf-blueprint-content) > .swell-block-columns:first-child .swell-block-columns__inner {
  align-items: start;
}

.kf-page-context--profile :is(.entry-content, .kf-blueprint-content) > .swell-block-columns:first-child .swell-block-column > :first-child {
  margin-top: 0 !important;
}

.kf-page-context--profile :is(.entry-content, .kf-blueprint-content) > .swell-block-columns:first-child .wp-block-image {
  margin-top: 0;
}

/* Align shared person-introduction cards with the portrait beside them. */
.entry-content .swell-block-columns__inner > .swell-block-column > .is-style-big_kakko_box:first-child {
  margin-top: 0 !important;
}

/* Editorial heading treatment adopted from the body design guide. */
.kf-editorial-headings .entry-content > h2.wp-block-heading,
.kf-message-editorial-headings.kf-editorial-headings .entry-content h2.wp-block-heading[data-kf-en],
.entry-content h2.wp-block-heading.kf-editorial-section-heading {
  margin: 64px 0 24px;
  padding: 0 0 16px;
  border: 0;
  border-bottom: 1px solid var(--kf-color-line-strong);
  color: var(--kf-color-ink);
  font-size: var(--kf-body-h2-size);
  font-weight: 400;
  letter-spacing: 0.12em;
  line-height: var(--kf-body-h2-line-height);
  text-wrap: pretty;
}

.kf-editorial-headings .entry-content > h2.wp-block-heading:first-of-type {
  margin-top: 0;
}

.kf-editorial-headings .entry-content > h2.wp-block-heading::before,
.entry-content h2.wp-block-heading.kf-editorial-section-heading::before {
  display: block;
  margin: 0 0 var(--kf-heading-eyebrow-gap);
  color: var(--kf-color-bronze);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  line-height: var(--kf-heading-eyebrow-line-height);
}

.entry-content h2.wp-block-heading.kf-editorial-section-heading::before {
  content: attr(data-kf-en);
}

/* The editorial H2 uses the body-design-guide rule: one quiet full-width line.
 * Remove the short accent inherited from the generic single-article heading. */
.kf-editorial-headings .entry-content > h2.wp-block-heading::after,
.kf-message-editorial-headings.kf-editorial-headings .entry-content h2.wp-block-heading[data-kf-en]::after,
.entry-content h2.wp-block-heading.kf-editorial-section-heading::after {
  content: none;
}

/* Shared editorial heading icons: registered artwork, reusable across body pages. */
.entry-content h2.wp-block-heading.kf-editorial-heading-with-icon {
  position: relative;
  min-height: 48px;
  padding-left: 58px;
}

.entry-content h2.wp-block-heading.kf-editorial-heading-with-icon::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 44px;
  height: 44px;
  margin: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
}

.entry-content h2.wp-block-heading.kf-editorial-heading-with-icon--large::before {
  transform: scale(1.4);
}

.entry-content h2.kf-editorial-heading-with-icon--taijitu::before {
  background-image: url("../images/heading-icons/heading-taijitu-v3.png");
}

.entry-content h2.kf-editorial-heading-with-icon--training-map::before {
  background-image: url("../images/heading-icon-candidates/new/C14-training-map.png");
}
.entry-content h2.kf-editorial-heading-with-icon--taichi::before {
  background-image: url("../images/heading-icons/heading-taijitu-v1.png");
}
.entry-content h2.kf-editorial-heading-with-icon--bagua::before {
  background-image: url("../images/heading-icons/heading-bagua-v1.png");
}

.entry-content h2.kf-editorial-heading-with-icon--schedule::before {
  background-image: url("../images/heading-icon-candidates/new/C19-schedule-calendar.png");
}

.entry-content h2.kf-editorial-heading-with-icon--class-guide::before {
  background-image: url("../images/heading-icon-candidates/new/C18-access-signpost.png");
}

.entry-content h2.kf-editorial-heading-with-icon--teacher::before {
  background-image: url("../images/heading-icon-candidates/new/C06-profile-chair-fan.png");
}

@media (max-width: 600px) {
  .entry-content h2.wp-block-heading.kf-editorial-heading-with-icon {
    min-height: 42px;
    padding-left: 50px;
  }

  .entry-content h2.wp-block-heading.kf-editorial-heading-with-icon::before {
    width: 38px;
    height: 38px;
  }
}

.kf-editorial-headings .entry-content > h2.wp-block-heading:nth-of-type(1)::before {
  content: "BEYOND THE SEA";
}

.kf-editorial-headings .entry-content > h2.wp-block-heading:nth-of-type(2)::before {
  content: "GREETING";
}

.kf-editorial-headings .entry-content > h2.wp-block-heading:nth-of-type(3)::before {
  content: "RELATED PAGES";
}

.kf-editorial-headings .entry-content > h2.wp-block-heading:nth-of-type(4)::before {
  content: "STUDY IN CHINA";
}

/* Opening statements: the representative lead and only the first chairperson
 * heading share one presentation; later H2s keep the common body scale. */
.kf-message-editorial-headings .entry-content > .kf-message-lead,
.kf-greeting-editorial .entry-content > h2.wp-block-heading:first-of-type {
  margin: 0 0 52px;
  padding: 0;
  border: 0;
  color: var(--kf-color-ink);
  font-size: clamp(1.4rem, 2.15vw, 1.78rem);
  font-weight: 400;
  letter-spacing: 0.075em;
  line-height: 1.85;
  text-wrap: pretty;
}

.kf-message-editorial-headings .entry-content > .kf-message-lead::before,
.kf-greeting-editorial .entry-content > h2.wp-block-heading:first-of-type::before {
  display: block;
  margin: 0 0 10px;
  color: var(--kf-color-bronze);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  line-height: 1.7;
}

.kf-message-editorial-headings .entry-content > .kf-message-lead::before {
  content: "FROM THE REPRESENTATIVE";
}

.kf-message-editorial-headings .entry-content > .kf-message-lead::after,
.kf-greeting-editorial .entry-content > h2.wp-block-heading:first-of-type::after {
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 22px;
  background: var(--kf-color-line-strong);
  content: "";
}

.kf-message-editorial-headings.kf-editorial-headings .entry-content h2.wp-block-heading[data-kf-en] {
  margin: 52px 0 22px;
  padding: 0 0 14px;
}

.kf-message-editorial-headings.kf-editorial-headings .entry-content h2.wp-block-heading[data-kf-en]::before {
  display: block;
  margin: 0 0 var(--kf-heading-eyebrow-gap);
  content: attr(data-kf-en);
  color: var(--kf-color-bronze);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.66rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  line-height: var(--kf-heading-eyebrow-line-height);
}

/* Activity purpose: keep the short principles calm and editorial, then lead
 * into the class guide with the same compact doorway adopted elsewhere. */
.kf-purpose-editorial.kf-editorial-headings .entry-content > h2.wp-block-heading[data-kf-en]::before {
  content: attr(data-kf-en);
}

.kf-naming-editorial.kf-editorial-headings .entry-content > h2.wp-block-heading[data-kf-en]::before {
  content: attr(data-kf-en);
}

.kf-class-guide-index.kf-editorial-headings .entry-content > h2.wp-block-heading[data-kf-en]::before {
  content: attr(data-kf-en);
}

.kf-class-guide-index .entry-content > p.has-text-align-center {
  max-width: 840px;
  margin-right: auto;
  margin-left: auto;
  line-height: 1.9;
}

.kf-purpose-editorial .entry-content > ul.kf-purpose-list {
  margin: 0 0 64px;
  padding-left: 1.4rem;
  list-style: disc;
}

.kf-purpose-editorial .entry-content > ul.kf-purpose-list > li {
  margin: 0.7rem 0;
  padding: 0;
  border: 0;
  color: var(--kf-color-ink);
  line-height: 1.7;
}

.kf-purpose-editorial .entry-content > ul.kf-purpose-list > li::marker {
  color: var(--kf-color-ink);
}

.kf-purpose-editorial .kf-purpose-related-page {
  margin-top: 38px;
}

@media (max-width: 900px) {
  .kf-page-layout--sidebar {
    grid-template-columns: 1fr;
    width: min(var(--kf-layout-main), calc(100% - (var(--kf-mobile-gutter) * 2)));
  }

  .kf-page-layout--sidebar .kf-page-article {
    order: 1;
  }

  .kf-page-local-nav-shell {
    position: static;
    order: 2;
  }

  .kf-page-context-sidebar {
    position: static;
    order: 2;
    max-height: none;
    overflow: visible;
  }
}

@media (max-width: 700px) {
  .kf-page-title-scene {
    background-image: var(--kf-title-mobile-image, var(--kf-title-image));
    width: 100%;
    min-height: 190px !important;
  }

  .kf-page-title-scene .wp-block-cover__inner-container {
    width: 100%;
    padding-inline: 28px;
  }

  .kf-page-title-scene__eyebrow {
    font-size: 0.66rem;
  }

  .kf-page-title-scene__title {
    font-size: 1.85rem;
  }

  /* Opt-in for long, single-line Japanese titles within the shared hero. */
  .kf-page-title-scene__title--compact {
    font-size: clamp(1rem, 5.5vw, 1.75rem);
    letter-spacing: 0.04em;
    white-space: nowrap;
  }

  .kf-page-layout {
    margin-top: 30px;
  }

  .kf-page-article {
    padding: 38px 25px;
  }

  .kf-editorial-headings .entry-content > h2.wp-block-heading,
  .entry-content h2.wp-block-heading.kf-editorial-section-heading {
    margin-top: 52px;
    padding-bottom: 13px;
  }

  .kf-editorial-headings .entry-content > h2.wp-block-heading:first-of-type,
  .page-id-47 .entry-content > h2.wp-block-heading.kf-editorial-section-heading:first-child {
    margin-top: 0;
  }

  .page-id-47 .entry-content > h2.wp-block-heading.kf-editorial-section-heading:first-child {
    font-size: clamp(1.05rem, 4.8vw, 1.25rem);
  }

  .kf-message-editorial-headings .entry-content > .kf-message-lead,
  .kf-greeting-editorial .entry-content > h2.wp-block-heading:first-of-type {
    margin-bottom: 44px;
    padding: 0;
    border: 0;
    font-size: 1.32rem;
    letter-spacing: 0.055em;
    line-height: 1.8;
  }

  .kf-message-editorial-headings .entry-content > .kf-message-lead::before,
  .kf-greeting-editorial .entry-content > h2.wp-block-heading:first-of-type::before {
    margin-bottom: 8px;
    font-size: 0.66rem;
  }

  .kf-message-editorial-headings .entry-content > .kf-message-lead::after,
  .kf-greeting-editorial .entry-content > h2.wp-block-heading:first-of-type::after {
    margin-top: 18px;
  }

  .kf-message-editorial-headings.kf-editorial-headings .entry-content h2.wp-block-heading[data-kf-en] {
    margin-top: 42px;
    padding-bottom: 11px;
  }

  .kf-purpose-editorial .entry-content > ul.kf-purpose-list {
    margin-bottom: 52px;
  }

  .kf-page-guide {
    margin-bottom: 36px;
    padding: 24px 20px 20px;
  }

  .kf-page-guide :where(ul, ol) {
    grid-template-columns: 1fr;
  }

  .kf-page-guide li:nth-last-child(-n + 2) {
    border-bottom: 1px solid color-mix(in srgb, var(--kf-color-line) 72%, transparent);
  }

  .kf-page-guide li:last-child {
    border-bottom: 0;
  }

  .kf-page-context--profile :is(.entry-content, .kf-blueprint-content) > .swell-block-columns:first-child .swell-block-columns__inner {
    grid-template-columns: 1fr;
  }

  .kf-page-context--profile :is(.entry-content, .kf-blueprint-content) > .swell-block-columns:first-child .wp-block-image {
    display: flex;
    justify-content: center;
    width: 100%;
  }

  .kf-page-context--profile :is(.entry-content, .kf-blueprint-content) > .swell-block-columns:first-child .wp-block-image img {
    display: block;
    width: min(100%, 420px) !important;
    max-width: none;
    height: auto !important;
    margin-right: auto;
    margin-left: auto;
  }
}

/* Standard posts */

.kf-single-page {
  padding-bottom: 0;
  color: var(--kf-color-ink);
}

.kf-single-hero {
  width: min(var(--kf-layout-with-sidebar), calc(100% - (var(--kf-mobile-gutter) * 2)));
  min-height: 300px !important;
  margin: 0 auto;
  border-radius: 0;
  background-color: var(--kf-color-scene-dark);
  background-image: var(--kf-title-image);
  background-position: center;
  background-size: cover;
}

@media (max-width: 1000px) {
  .kf-single-hero {
    min-height: 250px !important;
  }
}


/* All Masters' Words title images use the journal hero dimensions. */
body.kf-reportage-post--maxim .kf-single-hero {
  width: 100%;
  min-height: clamp(300px, 26vw, 380px) !important;
}

@media (max-width: 760px) {
  body.kf-reportage-post--maxim .kf-single-hero {
    min-height: 260px !important;
  }
}

.kf-single-hero .wp-block-cover__image-background {
  border-radius: 0;
}

.kf-single-hero .wp-block-cover__inner-container {
  width: min(916px, calc(100% - 80px));
}

.kf-single-hero__category {
  margin: 0 0 14px;
  color: color-mix(in srgb, #fff 82%, var(--kf-color-bronze));
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.7rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.kf-single-hero__category a {
  color: inherit;
}

.kf-single-hero__title {
  max-width: 17em;
  margin: 0;
  color: #fff;
  font-size: clamp(2rem, 4vw, 3.25rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.5;
  text-shadow: 0 2px 18px rgb(0 0 0 / 34%);
}

.kf-single-hero__meta {
  gap: 10px 20px;
  margin-top: 24px;
  color: rgb(255 255 255 / 82%);
  font-size: 0.72rem;
}

.kf-single-hero__meta p {
  margin: 0;
}

.kf-single-hero__updated {
  gap: 5px;
}

.kf-single-layout {
  display: grid;
  grid-template-columns: minmax(0, var(--kf-layout-main)) minmax(280px, var(--kf-layout-sidebar));
  gap: var(--kf-layout-column-gap);
  width: min(var(--kf-layout-with-sidebar), calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin: 48px auto 0;
}

.kf-single-article,
.kf-post-sidebar__panel {
  border: 1px solid color-mix(in srgb, var(--kf-color-line) 72%, transparent);
  border-radius: 12px;
  background: color-mix(in srgb, var(--kf-color-surface) 97%, transparent);
}

.kf-single-article {
  min-width: 0;
  padding: 50px 58px 54px;
}

.kf-single-article > .wp-block-post-content > :first-child {
  margin-top: 0;
}

.kf-single-article .wp-block-post-content :where(p, li) {
  font-size: 1rem;
  line-height: 2;
}

.kf-single-article .wp-block-post-content p + p {
  margin-top: 20px;
}

.kf-single-article .wp-block-post-content h2 {
  position: relative;
  margin-top: 2.8em;
  padding-bottom: 17px;
  border-bottom: 1px solid var(--kf-color-line);
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.055em;
}

.kf-single-article .wp-block-post-content h2::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: clamp(175px, 37%, 260px);
  height: 1px;
  background: var(--kf-color-bronze);
  content: "";
}

.kf-single-article .wp-block-post-content h3 {
  margin-top: 2.3em;
  font-weight: 500;
}

.kf-single-article .wp-block-post-content iframe {
  border-radius: 10px;
}

.kf-single-article .wp-block-post-content figcaption {
  color: var(--kf-color-ink-soft);
  font-size: 0.75rem;
  text-align: center;
}

.kf-single-article .wp-block-post-content blockquote {
  margin: 42px 0;
  padding: 24px 30px;
  border: 0;
  border-top: 1px solid var(--kf-color-line-strong);
  border-bottom: 1px solid var(--kf-color-line-strong);
  background: color-mix(in srgb, var(--kf-color-paper) 72%, transparent);
}

.kf-post-author {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 6px 24px;
  align-items: center;
  margin-top: 66px;
  padding: 26px 28px;
  border: 1px solid color-mix(in srgb, var(--kf-color-line-strong) 62%, transparent);
  border-radius: 12px;
  background: var(--kf-color-surface);
}

.kf-post-author .avatar {
  width: 92px;
  height: 92px;
  border-radius: 50%;
  object-fit: cover;
}

.kf-post-author .wp-block-post-author__content {
  display: grid;
  gap: 4px;
}

.kf-post-author .wp-block-post-author__byline {
  margin: 0;
  color: var(--kf-color-bronze);
  font-size: 0.67rem;
  letter-spacing: 0.12em;
}

.kf-post-author .wp-block-post-author__name {
  margin: 0;
  font-size: 1.08rem;
}

.kf-post-author .wp-block-post-author__bio {
  margin: 0;
  color: var(--kf-color-ink-soft);
  font-size: 0.8rem;
  line-height: 1.8;
}

.kf-single-article__terms {
  margin-top: 36px;
  color: var(--kf-color-ink-soft);
  font-size: 0.75rem;
}

.kf-post-pagination {
  gap: 18px;
  margin-top: 42px;
  padding-top: 28px;
  border-top: 1px solid var(--kf-color-line);
}

.kf-series-navigation {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}

.kf-series-navigation a > span,
.kf-series-navigation a > strong {
  display: block;
}

.kf-series-navigation a > span {
  margin-bottom: 4px;
  color: var(--kf-color-bronze);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.62rem;
  letter-spacing: 0.1em;
}

.kf-series-navigation a > strong {
  font-weight: 400;
}

.kf-post-dates {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.45em 1em;
}

/* Shared footer for every single post. */
.kf-post-footer-standard .kf-single-article {
  display: flex;
  flex-direction: column;
}

.kf-post-footer-standard .kf-single-article > .wp-block-post-content {
  order: 1;
  width: 100%;
}

.kf-post-footer-standard .kf-post-footer-primary-navigation {
  order: 2;
  width: 100%;
}

.kf-post-footer-standard .kf-post-footer-author-section {
  order: 3;
  width: 100%;
}

.kf-post-footer-standard .kf-single-article > .kf-related-posts {
  order: 4;
}

.kf-post-footer-standard .kf-single-article__terms {
  display: none;
}

.kf-post-footer-primary-navigation {
  margin-top: 56px;
  padding-top: 30px;
  border-top: 1px dashed color-mix(in srgb, var(--kf-color-line-strong) 70%, transparent);
}

.kf-post-footer-series-label {
  margin: 0 0 30px;
}

.kf-post-footer-standard .site-main .kf-post-footer-series-label > a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 11px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--kf-color-ink-soft) 65%, transparent);
  color: #fff;
  font-size: 0.68rem;
  text-decoration: none;
  transition: background-color 180ms ease;
}

.kf-post-footer-standard .site-main .kf-post-footer-series-label > a:hover,
.kf-post-footer-standard .site-main .kf-post-footer-series-label > a:focus-visible {
  background: var(--kf-color-ink-soft);
  color: #fff;
  text-decoration: none;
}

.kf-post-footer-series-label a > span {
  width: 7px;
  height: 7px;
  background: currentColor;
}

.kf-post-footer-story-navigation {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 34px;
}

.kf-post-footer-story-navigation > a {
  display: grid;
  grid-template-columns: 18px 72px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 64px;
  padding-right: 10px;
  border: 1px solid transparent;
  border-radius: 3px;
  background: transparent;
  color: var(--kf-color-ink);
  text-decoration: none;
  transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, color 180ms ease;
}

.kf-post-footer-story-navigation > a:last-child {
  grid-template-columns: minmax(0, 1fr) 72px 18px;
  padding-right: 0;
  padding-left: 10px;
  text-align: right;
}

/* Shared story navigation: keep arrow, image, and title order with one previous item. */
.kf-post-footer-story-navigation > a.kf-post-footer-story-navigation__previous:only-child {
  grid-template-columns: 18px 72px minmax(0, 1fr);
  padding-right: 10px;
  padding-left: 0;
  text-align: left;
}

/* Shared food-walk nearby practice-place cards, adopted from the place archive. */
.kf-food-walk-nearby {
  margin-top: 64px;
}

.kf-food-walk-nearby__heading {
  margin-top: 0;
  margin-bottom: 24px;
}

.kf-food-walk-nearby__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.kf-food-walk-nearby__card {
  min-width: 0;
  margin: 0;
}

.kf-food-walk-nearby__card > a {
  display: block;
  overflow: hidden;
  height: 100%;
  border: 1px solid color-mix(in srgb, var(--kf-color-line-strong) 78%, transparent);
  border-radius: 10px;
  background: color-mix(in srgb, var(--kf-color-surface) 96%, var(--kf-color-paper));
  box-shadow: 0 9px 22px rgb(72 62 44 / 7%);
  color: var(--kf-color-ink);
  text-decoration: none;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.kf-food-walk-nearby__card img,
.kf-food-walk-nearby__card .life-image-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 1.9 / 1;
  border-radius: 0;
  object-fit: cover;
  filter: saturate(0.82) contrast(0.97);
  transition: filter 180ms ease;
}

.kf-food-walk-nearby__copy {
  display: grid;
  min-height: 132px;
  box-sizing: border-box;
  align-content: start;
  padding: 18px 20px 20px;
}

.kf-food-walk-nearby__copy small {
  color: var(--kf-color-bronze);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.64rem;
  letter-spacing: 0.08em;
}

.kf-food-walk-nearby__copy strong {
  margin-top: 7px;
  font-size: 0.96rem;
  font-weight: 500;
  line-height: 1.55;
}

.kf-food-walk-nearby__action {
  align-self: end;
  margin-top: 18px;
  color: var(--kf-color-ink-soft);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.72rem;
  letter-spacing: 0.04em;
}

.kf-food-walk-nearby__action i {
  margin-left: 5px;
  font-style: normal;
}

.kf-food-walk-nearby__card > a:hover,
.kf-food-walk-nearby__card > a:focus-visible {
  border-color: var(--kf-color-line-strong);
  box-shadow: 0 13px 28px rgb(72 62 44 / 11%);
  transform: translateY(-2px);
  outline: 0;
}

.kf-food-walk-nearby__card > a:hover img,
.kf-food-walk-nearby__card > a:focus-visible img {
  filter: saturate(1) contrast(1);
}

/* Shared post imagery: article photos stay square; rounded corners belong to UI surfaces. */
body.single-post .wp-block-image img {
  border-radius: 0;
}

/* Shared post gallery: all galleries use one lightbox behavior. */
body.single-post .wp-block-gallery figure.wp-block-image {
  overflow: hidden;
  border-radius: 0;
}

body.single-post .wp-block-gallery figure.wp-block-image img {
  border-radius: 0;
}

body.single-post .wp-block-gallery.kf-gallery-lightbox-ready figure.wp-block-image {
  position: relative;
  cursor: zoom-in;
}

body.single-post .wp-block-gallery.kf-gallery-lightbox-ready figure.wp-block-image:focus-visible {
  outline: 2px solid var(--kf-color-bronze);
  outline-offset: 4px;
}

html.kf-gallery-lightbox-open {
  overflow: hidden;
}

.kf-gallery-lightbox {
  box-sizing: border-box;
  width: min(1180px, calc(100vw - 40px));
  max-width: none;
  max-height: calc(100vh - 40px);
  margin: auto;
  padding: 0;
  overflow: visible;
  border: 0;
  background: transparent;
  color: #fff;
}

.kf-gallery-lightbox::backdrop {
  background: rgb(18 18 16 / 92%);
  backdrop-filter: blur(2px);
}

.kf-gallery-lightbox__stage {
  position: relative;
  display: grid;
  min-height: min(760px, calc(100vh - 40px));
  grid-template-columns: 64px minmax(0, 1fr) 64px;
  grid-template-rows: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
}

.kf-gallery-lightbox__figure {
  display: grid;
  min-width: 0;
  min-height: 0;
  margin: 0;
  place-items: center;
}

.kf-gallery-lightbox__image {
  display: block;
  max-width: 100%;
  max-height: calc(100vh - 150px);
  object-fit: contain;
  box-shadow: 0 20px 60px rgb(0 0 0 / 30%);
}

.kf-gallery-lightbox__caption {
  grid-column: 2;
  min-height: 1.6em;
  margin: 0;
  color: rgb(255 255 255 / 88%);
  font-size: 0.82rem;
  line-height: 1.7;
  text-align: center;
}

.kf-gallery-lightbox__counter {
  position: absolute;
  top: 8px;
  left: 8px;
  margin: 0;
  color: rgb(255 255 255 / 82%);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
}

.kf-gallery-lightbox__button {
  display: grid;
  width: 48px;
  height: 48px;
  padding: 0;
  place-items: center;
  border: 1px solid rgb(255 255 255 / 48%);
  border-radius: 50%;
  background: rgb(20 20 18 / 34%);
  color: #fff;
  font: inherit;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
  transition: border-color 160ms ease, background-color 160ms ease;
}

.kf-gallery-lightbox__button:hover,
.kf-gallery-lightbox__button:focus-visible {
  border-color: #fff;
  background: rgb(255 255 255 / 14%);
  outline: 0;
}

.kf-gallery-lightbox__button--previous {
  grid-column: 1;
  grid-row: 1;
  justify-self: center;
}

.kf-gallery-lightbox__button--next {
  grid-column: 3;
  grid-row: 1;
  justify-self: center;
}

.kf-gallery-lightbox__button--close {
  position: absolute;
  z-index: 2;
  top: 8px;
  right: 8px;
}

@media (max-width: 680px) {
  .kf-gallery-lightbox {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
  }

  .kf-gallery-lightbox__stage {
    min-height: calc(100vh - 20px);
    grid-template-columns: 48px minmax(0, 1fr) 48px;
    gap: 4px;
  }

  .kf-gallery-lightbox__image {
    max-height: calc(100vh - 145px);
  }

  .kf-gallery-lightbox__button {
    width: 40px;
    height: 40px;
  }

  .kf-gallery-lightbox__caption {
    font-size: 0.76rem;
  }
}

.kf-food-walk-section-heading {
  margin-bottom: 24px;
}

body.kf-food-walk-single .entry-content > .kf-editorial-section-heading:first-child {
  margin-top: 0;
}

.kf-food-walk-shop-info {
  margin-top: 58px;
}

.kf-food-walk-shop-info .kf-food-walk-section-heading {
  margin-top: 0;
}

/* Shared information list: typography and surface are canonical across post types. */
.kf-information-list {
  overflow: hidden;
  margin: 0;
  border: 1px solid color-mix(in srgb, var(--kf-color-line-strong) 82%, transparent);
  border-radius: 10px;
  background: color-mix(in srgb, var(--kf-color-surface) 97%, var(--kf-color-paper));
  box-shadow: 0 9px 22px rgb(72 62 44 / 6%);
}

.kf-information-list__item {
  align-items: start;
  margin: 0;
}

.kf-information-list__item dt {
  margin: 2px 0 0;
  color: var(--kf-color-bronze);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 1em;
  font-weight: 500;
  letter-spacing: 0.08em;
}

.kf-information-list__item dd {
  min-width: 0;
  margin: 0;
  color: var(--kf-color-ink-soft);
  line-height: 1.8;
}

.kf-information-list__item dd > strong {
  display: block;
  color: var(--kf-color-ink);
  font-size: 1em;
  font-weight: 500;
}

.kf-information-list__item dd > small {
  display: block;
  margin-top: 6px;
  color: color-mix(in srgb, var(--kf-color-ink-soft) 84%, transparent);
  font-size: 1em;
  line-height: 1.7;
}

.kf-food-walk-shop-info__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kf-food-walk-shop-info__item {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 16px;
  padding: 22px;
}

.kf-food-walk-shop-info__item:nth-child(2) {
  border-left: 1px solid var(--kf-color-line);
}

.kf-food-walk-shop-info__item--wide {
  grid-column: 1 / -1;
  border-top: 1px solid var(--kf-color-line);
}

.kf-food-walk-shop-info__links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.kf-food-walk-shop-info__links a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  box-sizing: border-box;
  padding: 7px 13px;
  border: 1px solid color-mix(in srgb, var(--kf-color-ink-soft) 44%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--kf-color-paper) 82%, transparent);
  color: var(--kf-color-ink-soft);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.74rem;
  text-decoration: none;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.kf-food-walk-shop-info__links a:hover,
.kf-food-walk-shop-info__links a:focus-visible {
  border-color: var(--kf-color-ink-soft);
  background: var(--kf-color-ink-soft);
  color: #fff;
  outline: 0;
}

.kf-food-walk-shop-info + p {
  margin-top: 18px;
  color: color-mix(in srgb, var(--kf-color-ink-soft) 82%, transparent);
  font-size: 0.76rem;
  text-align: right;
}

/* Food-walk article note: emphasize only the explicit reference mark. */
body.kf-food-walk-single .kf-food-walk-note-mark {
  color: #b64f49;
  font-weight: 600;
}

@media (max-width: 680px) {
  .kf-food-walk-nearby {
    margin-top: 50px;
  }

  .kf-food-walk-nearby__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .kf-food-walk-nearby__card > a {
    display: grid;
    grid-template-columns: 42% minmax(0, 1fr);
  }

  .kf-food-walk-nearby__card img,
  .kf-food-walk-nearby__card .life-image-placeholder {
    height: 100%;
    min-height: 148px;
    aspect-ratio: auto;
  }

  .kf-food-walk-nearby__copy {
    min-height: 148px;
    padding: 15px;
  }

  .kf-food-walk-nearby__copy strong {
    font-size: 0.9rem;
  }

  .kf-food-walk-nearby__action {
    margin-top: 12px;
    font-size: 0.67rem;
  }

  .kf-food-walk-shop-info {
    margin-top: 50px;
  }

  .kf-food-walk-shop-info__list {
    grid-template-columns: 1fr;
  }

  .kf-food-walk-shop-info__item,
  .kf-food-walk-shop-info__item--wide {
    grid-column: 1;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 12px;
    padding: 18px 16px;
    border-left: 0;
  }

  .kf-food-walk-shop-info__item + .kf-food-walk-shop-info__item {
    border-top: 1px solid var(--kf-color-line);
  }

  .kf-food-walk-shop-info__links {
    display: grid;
    justify-items: start;
  }
}

.kf-post-footer-story-navigation > a:hover,
.kf-post-footer-story-navigation > a:focus-visible {
  border-color: color-mix(in srgb, var(--kf-color-line-strong) 48%, transparent);
  background: color-mix(in srgb, var(--kf-color-surface) 96%, var(--kf-color-paper));
  box-shadow: 0 4px 13px rgb(72 62 44 / 7%);
  color: var(--kf-color-bronze);
  outline: 0;
}

.kf-post-footer-story-navigation i {
  display: grid;
  width: 18px;
  height: 62px;
  place-items: center;
  background: color-mix(in srgb, var(--kf-color-ink-soft) 68%, transparent);
  color: #fff;
  font-size: 1.4rem;
  font-style: normal;
  transition: background-color 180ms ease;
}

.kf-post-footer-story-navigation > a:hover i,
.kf-post-footer-story-navigation > a:focus-visible i {
  background: var(--kf-color-ink-soft);
}

.kf-post-footer-story-navigation__image,
.kf-post-footer-story-navigation__image img {
  display: block;
  width: 72px;
  height: 52px;
  border-radius: 4px;
  object-fit: cover;
}

.kf-post-footer-story-navigation__image:empty {
  border: 1px solid var(--kf-color-line);
  background: color-mix(in srgb, var(--kf-color-paper) 72%, var(--kf-color-surface));
}

.kf-post-footer-story-navigation strong {
  font-size: 0.8rem;
  font-weight: 400;
  line-height: 1.65;
}

.kf-post-footer-author-section {
  margin-top: 82px;
}

.kf-post-footer-author-section > h2 {
  margin: 0 0 28px;
  padding-left: 16px;
  border-left: 2px solid var(--kf-color-ink-soft);
  font-size: 1.35rem;
  font-weight: 600;
}

.kf-post-footer-author-card {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 24px;
  padding: 24px;
  border: 1px solid color-mix(in srgb, var(--kf-color-line-strong) 62%, transparent);
  border-radius: 8px;
  background: var(--kf-color-surface);
}

.kf-post-footer-author-card__identity {
  display: grid;
  gap: 12px;
  justify-items: center;
  align-content: center;
  padding-right: 24px;
  border-right: 1px solid var(--kf-color-line);
}

.kf-post-footer-author-card__identity img {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  object-fit: cover;
  transition: filter 180ms ease, transform 180ms ease;
}

.kf-post-footer-author-card__profile-link,
.kf-post-author__profile-link {
  display: block;
  border-radius: 50%;
  text-decoration: none;
}

.kf-post-footer-author-card__profile-link:hover img,
.kf-post-footer-author-card__profile-link:focus-visible img,
.kf-post-author__profile-link:hover img,
.kf-post-author__profile-link:focus-visible img {
  filter: brightness(0.94) saturate(1.08);
  transform: scale(1.035);
}

.kf-post-footer-author-card__profile-link:focus-visible,
.kf-post-author__profile-link:focus-visible {
  outline: 2px solid var(--kf-color-bronze);
  outline-offset: 4px;
}

.kf-post-footer-author-card__identity strong {
  font-size: 1rem;
}

.kf-post-footer-author-card__details {
  display: grid;
  gap: 18px;
  align-content: center;
}

.kf-post-footer-author-card__details p {
  margin: 0;
  color: var(--kf-color-ink-soft);
  font-size: 0.82rem;
  line-height: 1.9;
}

body.kf-post-footer-standard .kf-post-footer-author-card__details a {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 8px 18px;
  border: 1px solid transparent;
  border-radius: 4px;
  box-shadow: inset 0 0 0 1px var(--kf-color-line);
  color: var(--kf-color-ink);
  font-size: 0.76rem;
  text-decoration: none;
  transition: background-color 180ms ease, box-shadow 180ms ease, color 180ms ease;
}

body.kf-post-footer-standard .kf-post-footer-author-card__details a:hover,
body.kf-post-footer-standard .kf-post-footer-author-card__details a:focus-visible {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--kf-color-sage) 38%, var(--kf-color-line));
  background: color-mix(in srgb, var(--kf-color-sage) 9%, var(--kf-color-surface));
  color: var(--kf-color-ink);
  text-decoration: none;
  outline: 0;
}

.kf-post-footer-author-card__details a span {
  margin-left: auto;
}

@media (max-width: 680px) {
  .kf-post-footer-story-navigation {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .kf-post-footer-story-navigation > a:last-child {
    text-align: right;
  }

  .kf-post-footer-author-card {
    grid-template-columns: 1fr;
  }

  .kf-post-footer-author-card__identity {
    padding: 0 0 20px;
    border-right: 0;
    border-bottom: 1px solid var(--kf-color-line);
  }
}

.kf-related-posts {
  margin-top: 66px;
}

/* Sidebar lists use divider lines only; text links change colour on hover. */
.site-main .kf-post-sidebar li > a:not(.wp-block-button__link) {
  color: var(--kf-color-ink-soft);
  text-decoration: none;
  transition: color 160ms ease;
}

.site-main .kf-post-sidebar li > a:not(.wp-block-button__link):hover,
.site-main .kf-post-sidebar li > a:not(.wp-block-button__link):focus-visible {
  color: var(--kf-color-bronze);
  text-decoration: none;
}

.kf-related-posts__kicker {
  margin: 0 0 8px;
  color: var(--kf-color-bronze);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.65rem;
  letter-spacing: 0.16em;
}

.kf-related-posts > h2 {
  position: relative;
  margin: 0 0 28px;
  padding-bottom: 17px;
  border-bottom: 1px solid var(--kf-color-line);
  font-size: 1.35rem;
  font-weight: 500;
}

.kf-related-posts > h2::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: clamp(175px, 37%, 260px);
  height: 1px;
  background: var(--kf-color-bronze);
  content: "";
}

.kf-related-posts__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr));
  gap: 18px;
}

.kf-related-posts__item {
  display: grid;
  grid-template-rows: auto 1fr;
  border-bottom: 1px solid var(--kf-color-line);
  color: var(--kf-color-ink);
  text-decoration: none;
}

.kf-related-posts__item img,
.kf-related-posts__image-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 10px;
  object-fit: cover;
}

.kf-related-posts__image-placeholder {
  background-color: var(--kf-color-paper);
  background-image: url("../images/official-wallpaper-wp.jpg");
  background-position: center;
  background-size: 260px auto;
}

.kf-related-posts__copy {
  display: grid;
  gap: 5px;
  padding: 11px 5px 12px;
}

.kf-related-posts__copy small {
  color: var(--kf-color-bronze);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.6rem;
  letter-spacing: 0.08em;
}

.kf-related-posts__copy strong {
  font-size: 0.78rem;
  font-weight: 400;
  line-height: 1.7;
}

.kf-post-pagination > * {
  width: min(46%, 300px);
}

.kf-post-pagination > *:last-child {
  text-align: right;
}

.kf-post-pagination a {
  color: var(--kf-color-ink);
  font-size: 0.82rem;
  line-height: 1.7;
  text-decoration: none;
}

.kf-post-sidebar {
  position: sticky;
  top: calc(var(--kf-admin-bar-offset) + var(--kf-sticky-header-height) + 24px);
  align-self: start;
  max-height: calc(100vh - var(--kf-admin-bar-offset) - var(--kf-sticky-header-height) - 48px);
  overflow-y: auto;
  overscroll-behavior: contain;
}

.kf-post-sidebar__panel {
  padding: 26px 22px 18px;
}

.kf-post-sidebar__panel + .kf-post-sidebar__panel {
  margin-top: 24px;
}

.kf-post-sidebar__eyebrow {
  margin: 0 0 4px;
  color: var(--kf-color-bronze);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.62rem;
  letter-spacing: 0.14em;
}

.kf-post-sidebar__title {
  position: relative;
  margin: 0 0 4px;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--kf-color-line);
  font-size: 0.92rem;
  font-weight: 500;
}

.kf-post-sidebar__title::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 96px;
  height: 1px;
  background: var(--kf-color-bronze);
  content: "";
}

.kf-post-sidebar :where(ul, .wp-block-categories-list) {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kf-post-sidebar li {
  margin: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--kf-color-line-strong) 55%, transparent);
}

.kf-post-sidebar li:last-child {
  border-bottom: 0;
}

.kf-post-sidebar li a {
  display: block;
  padding: 12px 10px;
  color: var(--kf-color-ink-soft);
  font-size: 0.8rem;
  line-height: 1.65;
  text-decoration: none;
}

.kf-post-sidebar .wp-block-latest-posts__post-date {
  display: block;
  padding: 0 10px 11px;
  color: var(--kf-color-bronze);
  font-size: 0.62rem;
}

.kf-post-series-sidebar a.is-current {
  background: color-mix(in srgb, var(--kf-color-bronze) 6%, var(--kf-color-surface));
  color: var(--kf-color-ink);
}

@media (max-width: 1209px) {
  .kf-single-layout {
    grid-template-columns: minmax(0, var(--kf-layout-main));
    justify-content: center;
  }

  .kf-post-sidebar {
    position: static;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    max-height: none;
    overflow: visible;
  }

  .kf-post-sidebar__panel + .kf-post-sidebar__panel {
    margin-top: 0;
  }

}

@media (max-width: 760px) {
  .kf-single-hero {
    background-image: var(--kf-title-mobile-image, var(--kf-title-image));
    min-height: 210px !important;
    padding-block: 8px;
  }

  .kf-single-hero .wp-block-cover__inner-container {
    width: calc(100% - 44px);
  }

  .kf-single-hero__title {
    font-size: 1.85rem;
  }

  .kf-single-layout {
    margin-top: 38px;
  }

  .kf-single-article {
    padding: 34px 24px 40px;
  }

  .kf-single-article .wp-block-post-content h2 {
    font-size: 1.25rem;
  }

  .kf-post-author {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 5px 17px;
    padding: 22px 18px;
  }

  .kf-post-author .avatar {
    width: 72px;
    height: 72px;
  }

  .kf-post-pagination {
    display: grid;
    grid-template-columns: 1fr;
  }

  .kf-post-pagination > * {
    width: 100%;
  }

  .kf-post-pagination > *:last-child {
    text-align: left;
  }

  .kf-post-sidebar {
    display: block;
  }

  .kf-post-sidebar__panel + .kf-post-sidebar__panel {
    margin-top: 24px;
  }

}

/* Food and walk posts */

.kf-food-page {
  --kf-food-paper: #fffdf9;
  --kf-food-soft: #625c53;
  --kf-food-line: #ddd5c7;
  --kf-food-gold: #806843;
  --kf-food-sage: #edf1e9;
  --kf-food-deep: #4d594f;
}

.kf-food-hero {
  display: grid;
  grid-template-columns: 43% 57%;
  width: min(var(--kf-layout-with-sidebar), calc(100% - (var(--kf-mobile-gutter) * 2)));
  min-height: 470px;
  margin: 0 auto;
  overflow: hidden;
  border-top: 1px solid var(--kf-food-line);
  border-bottom: 1px solid var(--kf-food-line);
  background: var(--kf-food-paper);
}

.kf-food-hero__copy {
  align-self: center;
  padding: 52px 54px 50px;
}

.kf-food-kicker {
  margin: 0;
  color: var(--kf-food-gold);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.67rem;
  letter-spacing: 0.2em;
  line-height: 1.5;
}

.kf-food-hero__category {
  margin: 26px 0 13px;
  color: var(--kf-food-deep);
  font-size: 0.78rem;
  letter-spacing: 0.06em;
}

.kf-food-hero__category a {
  color: inherit;
}

.kf-food-hero__title {
  margin: 0;
  color: var(--kf-color-ink);
  font-size: clamp(2.35rem, 4vw, 3.55rem);
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 1.42;
}

.kf-food-hero__rule {
  width: 72px !important;
  margin: 27px 0 22px !important;
  border-top: 1px solid var(--kf-food-gold) !important;
  border-bottom: 0 !important;
}

.kf-food-hero__meta {
  gap: 7px 16px;
  color: var(--kf-food-soft);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.69rem;
  line-height: 1.6;
}

.kf-food-hero__meta :where(p, .wp-block-post-author) {
  margin: 0;
}

.kf-food-hero__updated {
  gap: 5px;
}

.kf-food-hero__author .wp-block-post-author__avatar,
.kf-food-hero__author .wp-block-post-author__byline,
.kf-food-hero__author .wp-block-post-author__bio {
  display: none;
}

.kf-food-hero__author .wp-block-post-author__name {
  margin: 0;
}

.kf-food-hero__photo,
.kf-food-hero__featured,
.kf-food-hero__featured a {
  height: 100%;
  margin: 0;
}

.kf-food-hero__photo {
  position: relative;
  min-width: 0;
  overflow: hidden;
}

.kf-food-hero__photo::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgb(44 42 38 / 8%), transparent 32%);
  content: "";
  pointer-events: none;
}

.kf-food-hero__featured img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 0;
  object-fit: cover;
}

.kf-food-layout {
  margin-top: 52px;
}

.kf-food-article {
  padding-top: 56px;
}

.kf-food-article .wp-block-post-content h2 {
  border-bottom-color: var(--kf-food-line);
}

.kf-food-article .wp-block-post-content blockquote {
  background: color-mix(in srgb, var(--kf-food-sage) 78%, var(--kf-food-paper));
}

.kf-food-article .wp-block-post-content dl {
  margin: 0;
  border-top: 1px solid var(--kf-food-line);
}

.kf-food-article .wp-block-post-content dl > div {
  display: grid;
  grid-template-columns: 116px minmax(0, 1fr);
  border-bottom: 1px solid var(--kf-food-line);
}

.kf-food-article .wp-block-post-content dt,
.kf-food-article .wp-block-post-content dd {
  padding: 15px 4px;
}

.kf-food-article .wp-block-post-content dt {
  color: var(--kf-food-gold);
  font-size: 0.78rem;
}

.kf-food-article .wp-block-post-content dd {
  margin: 0;
}

.kf-food-back {
  margin-top: 36px;
  text-align: right;
}

.kf-food-back a {
  color: var(--kf-food-gold);
  font-size: 0.76rem;
}

.kf-food-sidebar .kf-post-sidebar__eyebrow {
  color: var(--kf-food-gold);
}

.kf-food-sidebar__archive {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kf-auto-toc ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kf-auto-toc li {
  margin: 0;
}

.kf-food-visit-section {
  margin-top: 62px;
}

.kf-food-visit-section > h2 {
  margin-top: 9px !important;
}

.kf-food-visit-section__intro {
  max-width: 44em;
  color: var(--kf-food-soft);
  font-size: 0.78rem !important;
  line-height: 1.9 !important;
}

.kf-food-visit-record {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 28px;
  margin-top: 36px;
  padding-top: 28px;
  border-top: 1px solid color-mix(in srgb, var(--kf-food-line) 78%, transparent);
}

.kf-food-visit-record__date h3 {
  margin: 0;
  color: var(--kf-food-gold);
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.04em;
}

.kf-food-visit-record__date p {
  margin: 7px 0 0 !important;
  color: var(--kf-food-soft);
  font-size: 0.64rem !important;
  line-height: 1.6 !important;
  writing-mode: vertical-rl;
}

.kf-food-visit-record__gallery {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px 18px;
}

.kf-food-visit-record__gallery figure.wp-block-image {
  width: 100% !important;
  flex-grow: 0;
}

.kf-food-visit-record__gallery img {
  width: 100%;
  aspect-ratio: 3 / 2;
  border-radius: 10px;
  object-fit: cover;
}

.kf-food-visit-record__gallery figcaption {
  position: static !important;
  margin-top: 8px !important;
  padding: 0 !important;
  background: transparent !important;
  color: var(--kf-food-soft) !important;
  font-size: 0.7rem !important;
  line-height: 1.7 !important;
  text-align: center;
}

.kf-food-visit-record__memo {
  margin-top: 18px !important;
  color: var(--kf-food-soft);
  font-size: 0.72rem !important;
}

@media (max-width: 900px) {
  .kf-food-hero {
    grid-template-columns: 47% 53%;
  }

  .kf-food-hero__copy {
    padding-right: 40px;
    padding-left: 40px;
  }
}

@media (max-width: 760px) {
  .kf-food-hero {
    grid-template-columns: 1fr;
    width: 100%;
    min-height: 0;
  }

  .kf-food-hero__copy {
    padding: 40px 25px 34px;
  }

  .kf-food-hero__title {
    font-size: 2.35rem;
  }

  .kf-food-hero__photo {
    height: 285px;
  }

  .kf-food-layout {
    margin-top: 38px;
  }

  .kf-food-article {
    padding-top: 38px;
  }

  .kf-food-back {
    text-align: left;
  }

  .kf-food-visit-record {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 28px;
    padding-top: 22px;
  }

  .kf-food-visit-record__date {
    display: flex;
    gap: 12px;
    align-items: baseline;
  }

  .kf-food-visit-record__date p {
    margin: 0 !important;
    writing-mode: horizontal-tb;
  }
}

@media (max-width: 540px) {
  .kf-food-hero__photo {
    height: 240px;
  }

  .kf-food-hero__meta {
    display: grid;
    gap: 3px;
  }

  .kf-food-article .wp-block-post-content dl > div {
    grid-template-columns: 88px minmax(0, 1fr);
  }

  .kf-food-visit-record__gallery {
    grid-template-columns: 1fr;
  }
}

/* Ryogetsu's journal posts */

.kf-journal-page {
  --kf-journal-paper: #fffefb;
  --kf-journal-green: #424a40;
  --kf-journal-gold: #8d7139;
  --kf-journal-line: #d9cfbd;
  --kf-journal-soft: #686258;
}

.kf-journal-hero {
  display: flex;
  flex-direction: column;
  width: min(var(--kf-layout-with-sidebar), calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin: 0 auto;
  color: var(--kf-color-ink);
}

.kf-journal-hero__photo,
.kf-journal-hero__featured,
.kf-journal-hero__featured a {
  height: 410px;
  margin: 0;
}

.kf-journal-hero__photo {
  overflow: hidden;
}

.kf-journal-hero__featured img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 0;
  object-fit: cover;
}

.kf-journal-hero__copy {
  position: relative;
  z-index: 2;
  width: min(900px, calc(100% - 72px));
  margin: -64px auto 0;
  padding: 34px 50px 35px;
  background: rgb(255 254 251 / 90%);
}

.kf-journal-kicker,
.kf-journal-chapter {
  margin: 0;
  color: var(--kf-journal-gold);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.65rem;
  letter-spacing: 0.17em;
  line-height: 1.6;
}

.kf-journal-hero__category {
  margin: 12px 0 8px;
  color: var(--kf-journal-green);
  font-size: 0.8rem;
  letter-spacing: 0.08em;
}

.kf-journal-hero__title {
  margin: 0;
  color: var(--kf-color-ink);
  font-size: clamp(2.05rem, 3vw, 2.85rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.65;
  white-space: nowrap;
}

.kf-journal-hero__rule {
  width: 72px !important;
  margin: 22px 0 17px !important;
  border-top: 1px solid var(--kf-journal-gold) !important;
  border-bottom: 0 !important;
}

.kf-journal-hero__meta {
  gap: 8px 28px;
  color: var(--kf-journal-soft);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.69rem;
}

.kf-journal-hero__meta :where(p, .wp-block-post-author) {
  margin: 0;
}

.kf-journal-hero__author .wp-block-post-author__avatar,
.kf-journal-hero__author .wp-block-post-author__byline,
.kf-journal-hero__author .wp-block-post-author__bio {
  display: none;
}

.kf-journal-hero__author .wp-block-post-author__name {
  margin: 0;
}

.kf-journal-layout {
  margin-top: 52px;
}

.kf-journal-article {
  padding-top: 58px;
}

.kf-journal-article .wp-block-post-content :where(p, li) {
  line-height: 2.12;
}

.kf-journal-article .wp-block-post-content p {
  text-indent: 0;
}

.kf-journal-article .wp-block-post-content h2 {
  border-bottom-color: var(--kf-journal-line);
  font-weight: 500;
  line-height: 1.75;
}

.kf-journal-section-heading {
  margin-top: 2.8em;
}

.kf-journal-section-heading .kf-journal-chapter {
  margin-bottom: 3px;
}

.kf-journal-section-heading h2,
.kf-journal-chapter + h2 {
  margin-top: 0 !important;
}

.kf-journal-article .wp-block-post-content blockquote {
  margin: 42px auto;
  padding: 27px 24px;
  border-top: 1px solid var(--kf-journal-line);
  border-bottom: 1px solid var(--kf-journal-line);
  background: transparent;
  text-align: center;
}

.kf-journal-article .wp-block-post-content blockquote p {
  color: var(--kf-journal-green);
  font-size: 1.05rem;
  letter-spacing: 0.045em;
  line-height: 2;
}

.kf-journal-article .wp-block-post-content :where(video, iframe) {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 10px;
  background: #20231f;
  object-fit: cover;
}

.kf-journal-page .kf-related-posts__kicker,
.kf-journal-sidebar .kf-post-sidebar__eyebrow {
  color: var(--kf-journal-gold);
}

.kf-journal-sidebar__archive {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kf-journal-back {
  margin-top: 25px;
  text-align: right;
}

.kf-journal-back a {
  color: var(--kf-journal-gold);
  font-size: 0.76rem;
}

@media (max-width: 900px) {
  .kf-journal-hero__copy {
    width: calc(100% - 56px);
    padding-right: 40px;
    padding-left: 40px;
  }

  .kf-journal-hero__title {
    white-space: normal;
  }
}

@media (max-width: 760px) {
  .kf-journal-hero {
    width: 100%;
  }

  .kf-journal-hero__photo,
  .kf-journal-hero__featured,
  .kf-journal-hero__featured a {
    height: 255px;
  }

  .kf-journal-hero__copy {
    width: calc(100% - 28px);
    margin-top: -36px;
    padding: 28px 24px 30px;
  }

  .kf-journal-hero__title {
    font-size: 2.05rem;
  }

  .kf-journal-layout {
    margin-top: 38px;
  }

  .kf-journal-article {
    padding-top: 40px;
  }

  .kf-journal-back {
    text-align: left;
  }
}

@media (max-width: 430px) {
  .kf-journal-hero__photo,
  .kf-journal-hero__featured,
  .kf-journal-hero__featured a {
    height: 225px;
  }

  .kf-journal-hero__title {
    font-size: 1.78rem;
  }

  .kf-journal-hero__meta {
    display: grid;
    gap: 4px;
  }

  .kf-journal-article .wp-block-post-content blockquote {
    padding-right: 8px;
    padding-left: 8px;
  }
}

/* Words from the Masters posts */

.kf-maxim-page {
  --kf-maxim-paper: #fffefb;
  --kf-maxim-green: #4e574c;
  --kf-maxim-sage: #edf0e9;
  --kf-maxim-gold: #8d7139;
  --kf-maxim-line: #d9ccb5;
  --kf-maxim-soft: #6c665c;
}

.kf-maxim-hero {
  display: flex;
  flex-direction: column;
  width: min(var(--kf-layout-with-sidebar), calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin: 0 auto;
  color: var(--kf-color-ink);
}

.kf-maxim-hero__photo,
.kf-maxim-hero__featured,
.kf-maxim-hero__featured a {
  height: 410px;
  margin: 0;
}

.kf-maxim-hero__photo {
  overflow: hidden;
}

.kf-maxim-hero__featured img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 0;
  object-fit: cover;
}

.kf-maxim-hero__paper {
  position: relative;
  z-index: 2;
  width: min(900px, calc(100% - 72px));
  margin: -64px auto 0;
  padding: 34px 50px 35px;
  background: rgb(255 254 251 / 92%);
}

.kf-maxim-kicker,
.kf-maxim-chapter {
  margin: 0;
  color: var(--kf-maxim-gold);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.65rem;
  letter-spacing: 0.17em;
  line-height: 1.6;
}

.kf-maxim-hero__teacher {
  margin: 12px 0 8px;
  color: var(--kf-maxim-green);
  font-size: 0.8rem;
  letter-spacing: 0.08em;
}

.kf-maxim-hero__title {
  margin: 0;
  color: var(--kf-color-ink);
  font-size: clamp(2.05rem, 3vw, 2.85rem);
  font-weight: 500;
  letter-spacing: 0.055em;
  line-height: 1.6;
  white-space: nowrap;
}

.kf-maxim-hero__rule {
  width: 72px !important;
  margin: 22px 0 17px !important;
  border-top: 1px solid var(--kf-maxim-gold) !important;
  border-bottom: 0 !important;
}

.kf-maxim-hero__meta {
  gap: 8px 28px;
  color: var(--kf-maxim-soft);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.69rem;
}

.kf-maxim-hero__meta :where(p, .wp-block-post-author) {
  margin: 0;
}

.kf-maxim-hero__author .wp-block-post-author__avatar,
.kf-maxim-hero__author .wp-block-post-author__byline,
.kf-maxim-hero__author .wp-block-post-author__bio {
  display: none;
}

.kf-maxim-hero__author .wp-block-post-author__name {
  margin: 0;
}

.kf-maxim-layout {
  margin-top: 52px;
}

.kf-maxim-article {
  padding-top: 58px;
}

.kf-maxim-article .wp-block-post-content :where(p, li) {
  line-height: 2.1;
}

.kf-maxim-article .wp-block-post-content h2 {
  padding-bottom: 12px;
  border-bottom-color: var(--kf-maxim-line);
  font-weight: 500;
}

.kf-maxim-article .wp-block-post-content a {
  color: var(--kf-maxim-green);
  text-decoration-color: color-mix(in srgb, var(--kf-maxim-gold) 45%, transparent);
}

.kf-maxim-section-heading {
  margin-top: 2.8em;
}

.kf-maxim-section-heading .kf-maxim-chapter {
  margin-bottom: 0;
}

.kf-maxim-section-heading h2,
.kf-maxim-chapter + h2 {
  margin-top: 0 !important;
}

.kf-maxim-article .wp-block-post-content blockquote {
  position: relative;
  margin: 44px 0;
  padding: 35px 38px 30px;
  border: 0;
  border-top: 1px solid var(--kf-maxim-line);
  border-bottom: 1px solid var(--kf-maxim-line);
  background: color-mix(in srgb, var(--kf-maxim-sage) 72%, var(--kf-maxim-paper));
  text-align: center;
}

.kf-maxim-article .wp-block-post-content blockquote p {
  margin: 0;
  color: var(--kf-maxim-green);
  font-size: 1.04rem;
  font-weight: 600;
  letter-spacing: 0.035em;
  line-height: 2.05;
}

.kf-maxim-article .wp-block-post-content blockquote cite {
  display: block;
  margin-top: 14px;
  color: var(--kf-maxim-soft);
  font-size: 0.68rem;
  font-style: normal;
  letter-spacing: 0.08em;
}

.kf-maxim-page .kf-related-posts__kicker,
.kf-maxim-sidebar .kf-post-sidebar__eyebrow {
  color: var(--kf-maxim-gold);
}

.kf-maxim-sidebar__reportage {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kf-maxim-sidebar a[aria-current="page"] {
  color: var(--kf-maxim-gold);
  font-weight: 600;
}

.kf-maxim-master > img {
  display: block;
  width: 100%;
  margin: 4px 0 14px;
  border-radius: 10px;
}

.kf-maxim-master > p:not(.kf-post-sidebar__eyebrow) {
  margin: 0;
  color: var(--kf-maxim-soft);
  font-size: 0.75rem;
  line-height: 1.8;
}

.kf-maxim-master > a {
  display: inline-block;
  margin-top: 11px;
  padding: 0;
  color: var(--kf-maxim-gold);
  font-size: 0.72rem;
  text-decoration: underline;
}

.kf-maxim-back {
  margin-top: 25px;
  text-align: right;
}

.kf-maxim-back a {
  color: var(--kf-maxim-gold);
  font-size: 0.76rem;
}

@media (max-width: 900px) {
  .kf-maxim-hero__paper {
    width: calc(100% - 56px);
    padding-right: 40px;
    padding-left: 40px;
  }

  .kf-maxim-hero__title {
    white-space: normal;
  }
}

@media (max-width: 760px) {
  .kf-maxim-hero {
    width: 100%;
  }

  .kf-maxim-hero__photo,
  .kf-maxim-hero__featured,
  .kf-maxim-hero__featured a {
    height: 255px;
  }

  .kf-maxim-hero__paper {
    width: calc(100% - 28px);
    margin-top: -36px;
    padding: 28px 24px 30px;
  }

  .kf-maxim-hero__title {
    font-size: 2rem;
  }

  .kf-maxim-layout {
    margin-top: 38px;
  }

  .kf-maxim-article {
    padding-top: 40px;
  }

  .kf-maxim-article .wp-block-post-content blockquote {
    padding: 29px 18px 26px;
  }

  .kf-maxim-article .wp-block-post-content blockquote p {
    font-size: 0.96rem;
  }

  .kf-maxim-back {
    text-align: left;
  }
}

@media (max-width: 430px) {
  .kf-maxim-hero__title {
    font-size: 1.72rem;
  }

  .kf-maxim-hero__meta {
    display: grid;
    gap: 4px;
  }
}

/* Chinese yangsheng posts */

.kf-health-page {
  --kf-health-paper: #fffefb;
  --kf-health-sage: #e8ebe0;
  --kf-health-green: #53604f;
  --kf-health-gold: #8d7139;
  --kf-health-line: #d9ccb5;
  --kf-health-soft: #6c665c;
}

.kf-health-hero {
  display: flex;
  flex-direction: column;
  width: min(var(--kf-layout-with-sidebar), calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin: 0 auto;
  color: var(--kf-color-ink);
}

.kf-health-hero__paper {
  position: relative;
  overflow: hidden;
  padding: 58px 80px 55px;
  background: rgb(255 254 251 / 97%);
  text-align: center;
}

.kf-health-rings {
  position: absolute;
  top: 50%;
  left: 52px;
  width: 180px;
  height: 180px;
  border: 1px solid rgb(141 113 57 / 31%);
  border-radius: 50%;
  transform: translateY(-50%);
}

.kf-health-rings::before,
.kf-health-rings::after {
  position: absolute;
  border: 1px solid rgb(83 96 79 / 22%);
  border-radius: 50%;
  content: "";
}

.kf-health-rings::before {
  inset: 21px;
}

.kf-health-rings::after {
  inset: 47px;
  border-color: rgb(141 113 57 / 20%);
}

.kf-health-rings span {
  position: absolute;
  z-index: 1;
  color: rgb(83 96 79 / 72%);
  font-size: 0.68rem;
}

.kf-health-rings span:nth-child(1) {
  top: 3%;
  left: 50%;
  transform: translateX(-50%);
}

.kf-health-rings span:nth-child(2) {
  top: 24%;
  right: 2%;
}

.kf-health-rings span:nth-child(3) {
  right: -2%;
  bottom: 24%;
}

.kf-health-rings span:nth-child(4) {
  bottom: 3%;
  left: 50%;
  transform: translateX(-50%);
}

.kf-health-rings span:nth-child(5) {
  top: 50%;
  left: 2%;
  transform: translateY(-50%);
}

.kf-health-rings b {
  position: absolute;
  top: 50%;
  left: 50%;
  color: rgb(141 113 57 / 55%);
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  transform: translate(-50%, -50%);
}

.kf-health-hero__paper > :not(.kf-health-rings) {
  position: relative;
  z-index: 1;
  transform: translateX(70px);
}

.kf-health-kicker,
.kf-health-chapter {
  margin: 0;
  color: var(--kf-health-gold);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.64rem;
  letter-spacing: 0.17em;
  line-height: 1.6;
}

.kf-health-hero__season {
  margin: 12px 0 9px;
  color: var(--kf-health-green);
  font-size: 0.78rem;
  letter-spacing: 0.1em;
}

.kf-health-hero__title {
  max-width: 18em;
  margin: 0 auto;
  color: var(--kf-color-ink);
  font-size: clamp(2rem, 3.2vw, 2.85rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.55;
}

.kf-health-hero__rule {
  width: 70px !important;
  margin: 22px auto 17px !important;
  border-top: 1px solid var(--kf-health-gold) !important;
  border-bottom: 0 !important;
}

.kf-health-hero__meta {
  gap: 8px 26px;
  color: var(--kf-health-soft);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.69rem;
}

.kf-health-hero__meta :where(p, .wp-block-post-author) {
  margin: 0;
}

.kf-health-hero__meta a {
  color: inherit;
}

.kf-health-hero__author .wp-block-post-author__avatar,
.kf-health-hero__author .wp-block-post-author__byline,
.kf-health-hero__author .wp-block-post-author__bio {
  display: none;
}

.kf-health-hero__author .wp-block-post-author__name {
  margin: 0;
}

.kf-health-hero__photo,
.kf-health-hero__featured,
.kf-health-hero__featured a {
  height: 450px;
  margin: 0;
}

.kf-health-hero__photo {
  overflow: hidden;
}

.kf-health-hero__featured img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 0;
  object-fit: cover;
}

.kf-health-layout {
  margin-top: 52px;
}

.kf-health-article {
  padding-top: 54px;
}

.kf-health-article .wp-block-post-content > p:first-child {
  max-width: 42em;
  margin: 0 auto 44px;
  color: var(--kf-health-green);
  font-size: 1.03rem;
  line-height: 2.05;
}

.kf-seasonal-guide {
  margin: 0 0 66px;
  padding: 27px 28px 29px;
  border: 1px solid var(--kf-health-line);
  border-radius: 12px;
  background: color-mix(in srgb, var(--kf-health-sage) 65%, var(--kf-health-paper));
}

.kf-seasonal-guide > p {
  margin: 0 0 20px !important;
  color: var(--kf-health-gold) !important;
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.67rem !important;
  letter-spacing: 0.16em;
}

.kf-seasonal-guide dl {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
  margin: 0;
}

.kf-seasonal-guide dl > div {
  padding: 3px 14px 0;
  border-left: 1px solid rgb(141 113 57 / 24%);
  text-align: center;
}

.kf-seasonal-guide dl > div:first-child {
  padding-left: 0;
  border-left: 0;
}

.kf-seasonal-guide dl > div:last-child {
  padding-right: 0;
}

.kf-seasonal-guide dt {
  margin-bottom: 7px;
  color: var(--kf-health-soft);
  font-size: 0.72rem;
}

.kf-seasonal-guide dd {
  margin: 0;
  color: var(--kf-health-green);
  font-size: 1rem;
}

.kf-health-article .wp-block-post-content :where(p, li) {
  line-height: 2.1;
}

.kf-health-article .wp-block-post-content h2 {
  padding-bottom: 13px;
  border-bottom-color: var(--kf-health-line);
  font-weight: 500;
}

.kf-health-article .wp-block-post-content a {
  color: var(--kf-health-green);
  text-decoration-color: color-mix(in srgb, var(--kf-health-gold) 48%, transparent);
}

.kf-health-section-heading {
  margin-top: 2.8em;
}

.kf-health-section-heading .kf-health-chapter {
  margin-bottom: 0;
}

.kf-health-section-heading h2,
.kf-health-chapter + h2 {
  margin-top: 0 !important;
}

.kf-health-page .kf-related-posts__kicker,
.kf-health-sidebar .kf-post-sidebar__eyebrow {
  color: var(--kf-health-gold);
}

.kf-health-sidebar__season-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kf-health-sidebar a[aria-current="page"] {
  color: var(--kf-health-gold);
  font-weight: 600;
}

.kf-health-back {
  margin-top: 25px;
  text-align: right;
}

.kf-health-back a {
  color: var(--kf-health-gold);
  font-size: 0.76rem;
}

@media (max-width: 900px) {
  .kf-health-rings {
    left: -28px;
    width: 160px;
    height: 160px;
    opacity: 0.58;
  }

  .kf-health-hero__paper > :not(.kf-health-rings) {
    transform: none;
  }

  .kf-health-hero__paper {
    padding-right: 50px;
    padding-left: 50px;
  }
}

@media (max-width: 760px) {
  .kf-health-hero {
    width: 100%;
  }

  .kf-health-hero__paper {
    padding: 43px 24px 40px;
  }

  .kf-health-rings {
    top: 13px;
    left: -48px;
    width: 126px;
    height: 126px;
    opacity: 0.55;
    transform: none;
  }

  .kf-health-rings span {
    font-size: 0.56rem;
  }

  .kf-health-rings b {
    font-size: 0.61rem;
  }

  .kf-health-hero__title {
    font-size: 1.82rem;
  }

  .kf-health-hero__meta {
    display: grid;
    gap: 4px;
  }

  .kf-health-hero__photo,
  .kf-health-hero__featured,
  .kf-health-hero__featured a {
    height: 260px;
  }

  .kf-health-layout {
    margin-top: 38px;
  }

  .kf-health-article {
    padding-top: 39px;
  }

  .kf-seasonal-guide {
    padding: 23px 20px 24px;
  }

  .kf-seasonal-guide dl > div {
    padding-right: 6px;
    padding-left: 6px;
  }

  .kf-health-back {
    text-align: left;
  }
}

@media (max-width: 430px) {
  .kf-seasonal-guide dl {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 18px;
  }

  .kf-seasonal-guide dl > div:nth-child(4) {
    border-left: 0;
  }
}

/* Field-language posts */

.kf-language-page {
  --kf-language-paper: #fffefb;
  --kf-language-sage: #e4e7dd;
  --kf-language-green: #4f5e4e;
  --kf-language-gold: #8c713d;
  --kf-language-line: #d9ccb4;
  --kf-language-soft: #6d675d;
}

.kf-language-hero {
  display: flex;
  flex-direction: column;
  width: min(var(--kf-layout-with-sidebar), calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin: 0 auto;
  color: var(--kf-color-ink);
}

.kf-language-hero__paper {
  position: relative;
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr) 170px;
  align-items: center;
  min-height: 360px;
  padding: 52px 70px;
  overflow: hidden;
  background: rgb(255 254 251 / 97%);
}

.kf-language-motif {
  position: relative;
  display: grid;
  grid-template-columns: auto 42px auto;
  align-items: center;
  justify-content: start;
  color: rgb(79 94 78 / 42%);
  font-size: clamp(2.8rem, 4.8vw, 4.6rem);
  letter-spacing: 0.04em;
}

.kf-language-motif i {
  width: 30px;
  border-top: 1px solid rgb(140 113 61 / 46%);
}

.kf-language-motif small {
  position: absolute;
  top: calc(100% + 6px);
  left: 37px;
  color: rgb(140 113 61 / 58%);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.55rem;
  letter-spacing: 0.28em;
  white-space: nowrap;
}

.kf-language-hero__copy {
  grid-column: 2;
  text-align: center;
}

.kf-language-kicker,
.kf-language-chapter {
  margin: 0;
  color: var(--kf-language-gold);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.7rem;
  letter-spacing: 0.17em;
  line-height: 1.6;
}

.kf-language-hero__series {
  margin: 12px 0 10px;
  color: var(--kf-language-green);
  font-size: 0.78rem;
  letter-spacing: 0.1em;
}

.kf-language-hero__title {
  max-width: 15em;
  margin: 0 auto;
  color: var(--kf-color-ink);
  font-size: clamp(2rem, 3.15vw, 2.8rem);
  font-weight: 500;
  letter-spacing: 0.07em;
  line-height: 1.5;
}

.kf-language-hero__rule {
  width: 70px !important;
  margin: 22px auto 17px !important;
  border-top: 1px solid var(--kf-language-gold) !important;
  border-bottom: 0 !important;
}

.kf-language-hero__meta {
  gap: 8px 26px;
  color: var(--kf-language-soft);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.78rem;
}

.kf-language-hero__meta :where(p, .wp-block-post-author) {
  margin: 0;
}

.kf-language-hero__author .wp-block-post-author__avatar,
.kf-language-hero__author .wp-block-post-author__byline,
.kf-language-hero__author .wp-block-post-author__bio {
  display: none;
}

.kf-language-hero__author .wp-block-post-author__name {
  margin: 0;
}

.kf-language-hero__photo,
.kf-language-hero__featured,
.kf-language-hero__featured a {
  height: 430px;
  margin: 0;
}

.kf-language-hero__photo {
  overflow: hidden;
}

.kf-language-hero__featured img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 0;
  object-fit: cover;
}

.kf-language-layout {
  margin-top: 52px;
}

.kf-language-article {
  padding-top: 54px;
}

.kf-language-article .wp-block-post-content :where(p, li) {
  font-size: 1rem;
  line-height: 2.1;
  text-indent: 0;
}

.kf-language-article .wp-block-post-content > p:first-child {
  margin: 0 0 44px;
  color: var(--kf-language-green);
  font-size: 1.04rem;
  line-height: 2.05;
}

.kf-language-article .wp-block-post-content h2 {
  padding-bottom: 13px;
  border-bottom-color: var(--kf-language-line);
  font-weight: 500;
}

.kf-language-article .wp-block-post-content a {
  color: var(--kf-language-green);
  text-decoration-color: color-mix(in srgb, var(--kf-language-gold) 48%, transparent);
}

.kf-language-section-heading {
  margin-top: 2.8em;
}

.kf-language-section-heading .kf-language-chapter {
  margin-bottom: 0;
}

.kf-language-section-heading h2,
.kf-language-chapter + h2 {
  margin-top: 0 !important;
}

.kf-language-phrase-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 0 66px;
  overflow: hidden;
  border: 1px solid var(--kf-language-line);
  border-radius: 12px;
  background: color-mix(in srgb, var(--kf-language-sage) 62%, var(--kf-language-paper));
}

.kf-language-phrase {
  display: grid;
  gap: 6px;
  padding: 25px 20px 24px;
  border-left: 1px solid rgb(140 113 61 / 24%);
  text-align: center;
}

.kf-language-phrase:first-child {
  border-left: 0;
}

.kf-language-phrase h3 {
  margin: 0;
  color: var(--kf-language-green);
  font-size: 1.45rem;
  font-weight: 500;
  letter-spacing: 0.08em;
}

.kf-language-phrase p {
  margin: 0 !important;
  font-size: 0.92rem !important;
  line-height: 1.65 !important;
}

.kf-language-phrase p:last-child {
  color: var(--kf-language-soft);
  font-size: 0.75rem !important;
}

.kf-language-dialogue {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 38px 0;
}

.kf-language-dialogue__item {
  display: grid;
  align-content: start;
  gap: 8px;
  margin: 0;
  padding: 28px;
  border-top: 1px solid var(--kf-language-gold);
  border-bottom: 1px solid var(--kf-language-line);
  background: rgb(255 254 251 / 72%);
}

.kf-language-dialogue__item h3 {
  margin: 0;
  color: var(--kf-language-green);
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
}

.kf-language-dialogue__item p {
  margin: 0 !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
}

.kf-language-dialogue__item p:last-child {
  color: var(--kf-language-soft);
  font-size: 0.75rem !important;
}

.kf-language-page .kf-related-posts__kicker,
.kf-language-sidebar .kf-post-sidebar__eyebrow {
  color: var(--kf-language-gold);
}

.kf-language-sidebar__field-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kf-language-sidebar li a {
  padding-left: 10px;
  font-size: 0.9rem;
  line-height: 1.75;
}

.kf-language-sidebar a[aria-current="page"] {
  color: var(--kf-language-gold);
  font-weight: 600;
}

.kf-language-back {
  margin-top: 25px;
  text-align: right;
}

.kf-language-back a {
  color: var(--kf-language-gold);
  font-size: 0.76rem;
}

@media (max-width: 980px) {
  .kf-language-hero__paper {
    grid-template-columns: 180px 1fr 70px;
    padding-right: 42px;
    padding-left: 42px;
  }
}

@media (max-width: 760px) {
  .kf-language-hero {
    width: 100%;
  }

  .kf-language-hero__paper {
    display: block;
    min-height: 0;
    padding: 44px 24px 40px;
  }

  .kf-language-motif {
    position: absolute;
    top: 24px;
    left: -27px;
    opacity: 0.45;
  }

  .kf-language-motif small {
    display: none;
  }

  .kf-language-hero__copy {
    position: relative;
    z-index: 1;
  }

  .kf-language-hero__title {
    font-size: 1.82rem;
  }

  .kf-language-hero__meta {
    display: grid;
    gap: 4px;
  }

  .kf-language-hero__photo,
  .kf-language-hero__featured,
  .kf-language-hero__featured a {
    height: 260px;
  }

  .kf-language-layout {
    margin-top: 38px;
  }

  .kf-language-article {
    padding-top: 39px;
  }

  .kf-language-phrase-strip,
  .kf-language-dialogue {
    grid-template-columns: 1fr;
  }

  .kf-language-phrase {
    border-top: 1px solid rgb(140 113 61 / 24%);
    border-left: 0;
  }

  .kf-language-phrase:first-child {
    border-top: 0;
  }

  .kf-language-back {
    text-align: left;
  }
}

/* Shared frame used by maxim, healthcare, language, and reference. */
.kf-experience-page {
  --kf-experience-gold: #8d7139;
  --kf-experience-soft: #6c665c;
}

.kf-experience-page > .kf-experience-breadcrumb {
  box-sizing: border-box;
  width: min(1120px, calc(100% - 48px));
  margin: 0 auto;
  padding: 24px 0 20px;
}

.kf-experience-hero {
  position: relative;
  display: grid;
  box-sizing: border-box;
  width: 100%;
  height: 350px;
  min-height: 350px;
  margin: 0;
  padding: 32px 24px;
  overflow: hidden;
  background: rgb(255 254 250 / 96%);
  place-items: center;
}

.kf-experience-hero__copy {
  z-index: 1;
  width: min(820px, calc(100% - 48px));
  text-align: center;
}

.kf-experience-hero__eyebrow {
  margin: 0 0 12px;
  color: var(--kf-experience-gold);
  font-size: 0.68rem;
  letter-spacing: 0.19em;
}

.kf-experience-hero__copy h1 {
  margin: 0;
  font-size: clamp(2.35rem, 4vw, 3.45rem);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
}

.kf-experience-hero__divider {
  display: block;
  width: 70px;
  margin: 20px auto 18px;
  border-top: 1px solid var(--kf-experience-gold);
}

.kf-experience-hero__lead {
  margin: 0;
  color: var(--kf-experience-soft);
  line-height: 2;
}

.kf-experience-hero__mark {
  position: absolute;
  top: 50%;
  left: max(30px, calc((100vw - 1120px) / 2));
  display: flex;
  width: 210px;
  align-items: center;
  flex-direction: column;
  color: rgb(83 96 79 / 38%);
  transform: translateY(-50%);
}

.kf-experience-hero__mark-characters {
  display: grid;
  grid-template-columns: auto 42px auto;
  align-items: center;
}

.kf-experience-hero__mark-characters span {
  font-size: 3.55rem;
  font-weight: 400;
  line-height: 1;
}

.kf-experience-hero__mark-characters i {
  width: 24px;
  margin: 0 auto;
  border-top: 1px solid rgb(141 113 57 / 38%);
}

.kf-experience-hero__mark small {
  display: block;
  margin-top: 13px;
  color: rgb(141 113 57 / 58%);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.66rem;
  letter-spacing: 0.18em;
  line-height: 1.7;
  text-align: center;
}

.kf-experience-hero__mark--note {
  width: 270px;
}

.kf-experience-hero__mark--note small {
  color: var(--kf-experience-soft);
  font-family: inherit;
  font-size: 0.72rem;
  letter-spacing: 0;
  line-height: 1.9;
}

.kf-experience-hero__mark--image img {
  display: block;
  width: 176px;
  height: auto;
  opacity: 0.12;
}

.kf-experience-hero__note {
  position: absolute;
  top: 50%;
  right: max(30px, calc((100vw - 1120px) / 2));
  width: 270px;
  margin: 0;
  color: var(--kf-experience-soft);
  font-size: 0.78rem;
  line-height: 2;
  transform: translateY(-50%);
}

.kf-experience-introduction {
  display: grid;
  box-sizing: border-box;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 44px;
  min-height: 171px;
  margin-bottom: 78px;
  padding: 0 42px;
}

.kf-experience-introduction--standalone {
  box-sizing: border-box;
  width: min(1040px, calc(100% - 48px));
  margin: 68px auto 78px;
}

.kf-experience-introduction__eyebrow {
  margin: 8px 0 0;
  color: var(--kf-experience-gold);
  font-size: 0.62rem;
  letter-spacing: 0.14em;
}

.kf-experience-introduction__body {
  display: grid;
  grid-template-columns: 380px minmax(0, 1fr);
  gap: 48px;
}

.kf-experience-introduction h2 {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.055em;
  line-height: 1.8;
}

.kf-experience-introduction__body > p {
  margin: 3px 0 0;
  color: var(--kf-experience-soft);
  line-height: 2.1;
}

.kf-experience-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 27px;
  border-bottom: 1px solid #d9ccb5;
}

.kf-experience-section-heading > div > p {
  margin: 0 0 5px;
  color: var(--kf-experience-gold);
  font-size: 0.63rem;
  letter-spacing: 0.15em;
}

.kf-experience-section-heading h2 {
  margin: 0;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--kf-experience-gold);
  font-size: 1.5rem;
  font-weight: 500;
}

.kf-experience-section-heading > time,
.kf-experience-section-heading > span,
.kf-experience-section-heading > p {
  max-width: 34em;
  margin: 0 0 12px;
  color: var(--kf-experience-soft);
  font-size: 0.75rem;
  line-height: 1.9;
}

@media (max-width: 760px) {
  .kf-experience-page > .kf-experience-breadcrumb {
    width: calc(100% - 32px);
    padding: 18px 0 16px;
  }

  .kf-experience-hero {
    height: auto;
    min-height: 0;
    padding: 48px 20px 46px;
  }

  .kf-experience-hero__copy {
    width: 100%;
  }

  .kf-experience-hero__mark {
    left: -24px;
    opacity: 0.55;
  }

  .kf-experience-hero__mark-characters span {
    font-size: 2.8rem;
  }

  .kf-experience-hero__mark--note small {
    display: none;
  }

  .kf-experience-hero__note {
    display: none;
  }

  .kf-experience-introduction {
    grid-template-columns: 1fr;
    gap: 18px;
    min-height: 0;
    margin-bottom: 56px;
    padding: 0 8px;
  }

  .kf-experience-introduction--standalone {
    width: calc(100% - 28px);
    margin: 48px auto 56px;
  }

  .kf-experience-introduction__body {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .kf-experience-introduction h2 br {
    display: none;
  }

  .kf-experience-section-heading {
    align-items: start;
  }

  .kf-experience-section-heading > time,
  .kf-experience-section-heading > span,
  .kf-experience-section-heading > p {
    max-width: 120px;
    text-align: right;
  }
}

/* Shared Chinese-experience index. */
.kf-experience-index {
  --kf-experience-index-line: #d7cab1;
  --kf-experience-index-green: #4e5c4c;
  --kf-experience-index-gold: #8c713d;
  --kf-experience-index-ink: #292821;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: min(1100px, calc(100% - 48px));
  margin: -1px auto 0;
  border: 1px solid var(--kf-experience-index-line);
  background: rgb(255 254 251 / 96%);
}

.kf-experience-index a {
  padding: 19px 16px 18px;
  border-left: 1px solid var(--kf-experience-index-line);
  color: var(--kf-experience-index-ink);
  font-size: 0.78rem;
  line-height: 1.6;
  text-align: center;
  text-decoration: none;
}

.kf-experience-index a:first-child {
  border-left: 0;
}

.kf-experience-index span {
  display: block;
  margin-bottom: 4px;
  color: var(--kf-experience-index-gold);
  font-size: 0.55rem;
  letter-spacing: 0.1em;
}

.kf-experience-index a.is-current {
  background: var(--kf-experience-index-green);
  color: #fff;
}

.kf-experience-index a.is-current span {
  color: #e8ddc7;
}

@media (max-width: 900px) {
  .kf-experience-index {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kf-experience-index a {
    border-top: 1px solid var(--kf-experience-index-line);
  }

  .kf-experience-index a:nth-child(odd) {
    border-left: 0;
  }

  .kf-experience-index a:first-child,
  .kf-experience-index a:nth-child(2) {
    border-top: 0;
  }

}

@media (max-width: 760px) {
  .kf-experience-index {
    width: calc(100% - 28px);
  }
}

@media (max-width: 680px) {
  .kf-experience-index {
    grid-template-columns: 1fr;
  }

  .kf-experience-index a,
  .kf-experience-index a:nth-child(2) {
    border-top: 1px solid var(--kf-experience-index-line);
    border-left: 0;
  }

  .kf-experience-index a:first-child {
    border-top: 0;
  }
}

.kf-healthcare-archive {
  --kf-healthcare-paper: #fffefb;
  --kf-healthcare-sage: #e8ebe0;
  --kf-healthcare-green: #53604f;
  --kf-healthcare-gold: #8d7139;
  --kf-healthcare-line: #d9ccb5;
  --kf-healthcare-ink: #292821;
  --kf-healthcare-soft: #6c665c;
  color: var(--kf-healthcare-ink);
}

.kf-healthcare-archive__mark {
  position: absolute;
  top: 50%;
  left: max(26px, calc((100vw - 1120px) / 2));
  width: 190px;
  height: 190px;
  border: 1px solid rgb(141 113 57 / 40%);
  border-radius: 50%;
  transform: translateY(-50%);
}

.kf-healthcare-archive__mark::before,
.kf-healthcare-archive__mark::after {
  position: absolute;
  inset: 20px;
  border: 1px solid rgb(83 96 79 / 31%);
  border-radius: 50%;
  content: "";
}

.kf-healthcare-archive__mark::after {
  inset: 43px;
  border-color: rgb(141 113 57 / 26%);
}

.kf-healthcare-archive__mark span {
  position: absolute;
  color: rgb(83 96 79 / 72%);
  font-size: 0.72rem;
}

.kf-healthcare-archive__mark span:nth-child(1) {
  top: 8px;
  left: 87px;
}

.kf-healthcare-archive__mark span:nth-child(2) {
  top: 48px;
  right: 12px;
}

.kf-healthcare-archive__mark span:nth-child(3) {
  right: 9px;
  bottom: 48px;
}

.kf-healthcare-archive__mark span:nth-child(4) {
  bottom: 8px;
  left: 87px;
}

.kf-healthcare-archive__mark span:nth-child(5) {
  top: 88px;
  left: 10px;
}

.kf-healthcare-archive__experience-index {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  width: min(1100px, calc(100% - 48px));
  margin: -1px auto 0;
  border: 1px solid var(--kf-healthcare-line);
  background: rgb(255 254 251 / 96%);
}

.kf-healthcare-archive__experience-index a {
  padding: 19px 16px 18px;
  border-left: 1px solid var(--kf-healthcare-line);
  color: var(--kf-healthcare-ink);
  font-size: 0.78rem;
  text-align: center;
  text-decoration: none;
}

.kf-healthcare-archive__experience-index a:first-child {
  border-left: 0;
}

.kf-healthcare-archive__experience-index span {
  display: block;
  margin-bottom: 4px;
  color: var(--kf-healthcare-gold);
  font-size: 0.55rem;
  letter-spacing: 0.1em;
}

.kf-healthcare-archive__experience-index a.is-current {
  background: var(--kf-healthcare-green);
  color: #fff;
}

.kf-healthcare-archive__experience-index a.is-current span {
  color: #e4d5b5;
}

.kf-healthcare-archive__shell {
  width: min(1040px, calc(100% - 48px));
  margin: 68px auto 26px;
}

.kf-healthcare-archive__introduction {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 44px;
  margin-bottom: 78px;
  padding: 0 42px;
}

.kf-healthcare-archive__introduction > p {
  margin: 8px 0 0;
  color: var(--kf-healthcare-gold);
  font-size: 0.62rem;
  letter-spacing: 0.14em;
}

.kf-healthcare-archive__introduction > div {
  display: grid;
  grid-template-columns: 380px minmax(0, 1fr);
  gap: 48px;
}

.kf-healthcare-archive__introduction h2 {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.055em;
  line-height: 1.8;
}

.kf-healthcare-archive__introduction > div > p {
  margin: 3px 0 0;
  color: var(--kf-healthcare-soft);
  line-height: 2.1;
}

.kf-healthcare-archive__section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 27px;
  border-bottom: 1px solid var(--kf-healthcare-line);
}

.kf-healthcare-archive__section-heading p {
  margin: 0 0 5px;
  color: var(--kf-healthcare-gold);
  font-size: 0.63rem;
  letter-spacing: 0.15em;
}

.kf-healthcare-archive__section-heading h2 {
  margin: 0;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--kf-healthcare-gold);
  font-size: 1.5rem;
  font-weight: 500;
}

.kf-healthcare-archive__section-heading > span {
  margin-bottom: 12px;
  color: var(--kf-healthcare-soft);
  font-size: 0.75rem;
}

.kf-healthcare-archive__current {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.75fr);
  min-height: 405px;
  background: rgb(255 254 251 / 92%);
}

.kf-healthcare-archive__current-image {
  min-width: 0;
  margin: 0;
  overflow: hidden;
}

.kf-healthcare-archive__current-image a {
  display: block;
  height: 100%;
}

.kf-healthcare-archive__current-image img,
.kf-healthcare-archive__current-image .kf-healthcare-archive__image-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kf-healthcare-archive__current-copy {
  align-self: center;
  padding: 42px 40px;
}

.kf-healthcare-archive__current-copy > p:first-child {
  display: flex;
  justify-content: space-between;
  margin: 0 0 13px;
  color: var(--kf-healthcare-gold);
  font-size: 0.65rem;
  letter-spacing: 0.08em;
}

.kf-healthcare-archive__current h3 {
  margin: 0 0 18px;
  font-size: 1.7rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.7;
}

.kf-healthcare-archive__current h3 a {
  color: inherit;
  text-decoration: none;
}

.kf-healthcare-archive__current-copy > p:not(:first-child) {
  margin: 0 0 21px;
  color: var(--kf-healthcare-soft);
  font-size: 0.82rem;
  line-height: 2;
}

.kf-healthcare-archive__more > a {
  display: inline-block;
  padding-bottom: 3px;
  border-bottom: 1px solid #b7a275;
  color: #725b2e;
  font-size: 0.76rem;
  text-decoration: none;
}

.kf-healthcare-archive__seasons {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--kf-healthcare-line);
  border-top: 0;
  background: rgb(255 254 251 / 72%);
}

.kf-healthcare-archive__seasons article {
  border-left: 1px solid var(--kf-healthcare-line);
}

.kf-healthcare-archive__seasons article:first-child {
  border-left: 0;
}

.kf-healthcare-archive__season-image {
  margin: 0;
  padding: 18px 18px 0;
}

.kf-healthcare-archive__season-image a {
  display: block;
  color: inherit;
  text-decoration: none;
}

.kf-healthcare-archive__season-copy {
  padding: 0 18px 13px;
}

.kf-healthcare-archive__seasons img,
.kf-healthcare-archive__seasons .kf-healthcare-archive__image-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  margin-bottom: 16px;
  border-radius: 10px;
  object-fit: cover;
}

.kf-healthcare-archive__season-label {
  display: block;
  margin-bottom: 7px;
  color: var(--kf-healthcare-gold);
  font-size: 0.58rem;
  letter-spacing: 0.14em;
}

.kf-healthcare-archive__seasons h3 {
  margin: 0 0 12px;
  font-size: 0.94rem;
  font-weight: 500;
  line-height: 1.75;
}

.kf-healthcare-archive__seasons h3 a {
  color: inherit;
  text-decoration: none;
}

.kf-healthcare-archive__season-date {
  color: var(--kf-healthcare-soft);
  font-size: 0.65rem;
  line-height: 1;
}

.kf-healthcare-archive__daily {
  margin-top: 88px;
}

.kf-healthcare-archive__daily-list {
  border-top: 1px solid var(--kf-healthcare-line);
}

.kf-healthcare-archive__daily-list article {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 38px;
  align-items: center;
  padding: 30px 8px;
  border-bottom: 1px solid var(--kf-healthcare-line);
}

.kf-healthcare-archive__daily-image {
  display: block;
  margin: 0;
  overflow: hidden;
  border-radius: 10px;
}

.kf-healthcare-archive__daily-image a {
  display: block;
}

.kf-healthcare-archive__daily-image img,
.kf-healthcare-archive__daily-image .kf-healthcare-archive__image-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 10px;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.kf-healthcare-archive__image-placeholder {
  background-color: var(--kf-color-paper);
  background-image: url("../images/official-wallpaper-wp.jpg");
  background-position: center;
  background-size: 260px auto;
}

.kf-healthcare-archive__daily-list article:hover img {
  transform: scale(1.025);
}

.kf-healthcare-archive__daily-list div > p:first-child {
  margin: 0 0 8px;
  color: var(--kf-healthcare-gold);
  font-size: 0.64rem;
  letter-spacing: 0.07em;
}

.kf-healthcare-archive__daily h3 {
  margin: 0 0 9px;
  font-size: 1.22rem;
  font-weight: 500;
  line-height: 1.65;
}

.kf-healthcare-archive__daily h3 a {
  color: inherit;
  text-decoration: none;
}

.kf-healthcare-archive__daily-list div > p:not(:first-child) {
  margin: 0;
  color: var(--kf-healthcare-soft);
  font-size: 0.81rem;
  line-height: 1.9;
}

.kf-healthcare-archive__daily-list .kf-healthcare-archive__more > a {
  display: inline-block;
  margin-top: 12px;
  color: var(--kf-healthcare-gold);
  font-size: 0.72rem;
  text-decoration: none;
}

@media (max-width: 900px) {
  .kf-healthcare-archive__experience-index {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kf-healthcare-archive__experience-index a {
    border-top: 1px solid var(--kf-healthcare-line);
  }

  .kf-healthcare-archive__experience-index a:nth-child(odd) {
    border-left: 0;
  }

  .kf-healthcare-archive__experience-index a:first-child,
  .kf-healthcare-archive__experience-index a:nth-child(2) {
    border-top: 0;
  }

  .kf-healthcare-archive__experience-index a:last-child {
    grid-column: 1 / -1;
  }

  .kf-healthcare-archive__introduction {
    grid-template-columns: 1fr;
    gap: 18px;
    padding-inline: 20px;
  }

  .kf-healthcare-archive__current {
    grid-template-columns: minmax(0, 1.2fr) minmax(290px, 0.8fr);
  }

  .kf-healthcare-archive__seasons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kf-healthcare-archive__seasons article:nth-child(odd) {
    border-left: 0;
  }

  .kf-healthcare-archive__seasons article:nth-child(n + 3) {
    border-top: 1px solid var(--kf-healthcare-line);
  }
}

@media (max-width: 760px) {
.kf-healthcare-archive__mark {
    left: -60px;
    width: 150px;
    height: 150px;
  }

  .kf-healthcare-archive__mark span {
    display: none;
  }

  .kf-healthcare-archive__experience-index {
    width: calc(100% - 28px);
  }

  .kf-healthcare-archive__shell {
    width: calc(100% - 28px);
    margin-top: 48px;
  }

  .kf-healthcare-archive__introduction {
    margin-bottom: 56px;
    padding-inline: 8px;
  }

  .kf-healthcare-archive__introduction > div {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .kf-healthcare-archive__introduction h2 br {
    display: none;
  }

  .kf-healthcare-archive__current {
    display: block;
    min-height: 0;
  }

  .kf-healthcare-archive__current-image {
    display: block;
    aspect-ratio: 16 / 10;
  }

  .kf-healthcare-archive__current-copy {
    padding: 27px 24px 29px;
  }

  .kf-healthcare-archive__current h3 {
    font-size: 1.4rem;
  }

  .kf-healthcare-archive__daily {
    margin-top: 64px;
  }

  .kf-healthcare-archive__daily-list article {
    grid-template-columns: 128px minmax(0, 1fr);
    gap: 18px;
    padding: 24px 4px;
  }

  .kf-healthcare-archive__daily-list div > p:not(:first-child) {
    display: none;
  }
}

@media (max-width: 430px) {
  .kf-healthcare-archive__experience-index {
    grid-template-columns: 1fr;
  }

  .kf-healthcare-archive__experience-index a,
  .kf-healthcare-archive__experience-index a:nth-child(2) {
    grid-column: auto;
    border-top: 1px solid var(--kf-healthcare-line);
    border-left: 0;
  }

  .kf-healthcare-archive__experience-index a:first-child {
    border-top: 0;
  }

  .kf-healthcare-archive__section-heading {
    align-items: start;
  }

  .kf-healthcare-archive__section-heading > span {
    max-width: 120px;
    text-align: right;
  }

  .kf-healthcare-archive__seasons {
    grid-template-columns: 1fr;
  }

  .kf-healthcare-archive__seasons article,
  .kf-healthcare-archive__seasons article:nth-child(odd) {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    column-gap: 17px;
    align-items: start;
    padding: 18px;
    border-top: 1px solid var(--kf-healthcare-line);
    border-left: 0;
  }

  .kf-healthcare-archive__seasons article:first-child {
    border-top: 0;
  }

  .kf-healthcare-archive__season-image {
    padding: 0;
  }

  .kf-healthcare-archive__season-copy {
    padding: 0;
  }

  .kf-healthcare-archive__seasons img,
  .kf-healthcare-archive__seasons .kf-healthcare-archive__image-placeholder {
    margin: 0;
  }

  .kf-healthcare-archive__season-label,
  .kf-healthcare-archive__seasons h3,
  .kf-healthcare-archive__season-date {
    display: block;
  }

  .kf-healthcare-archive__seasons h3 {
    margin-bottom: 8px;
  }

  .kf-healthcare-archive__daily-list article {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .kf-healthcare-archive__daily-image img,
  .kf-healthcare-archive__daily-image .kf-healthcare-archive__image-placeholder {
    aspect-ratio: 16 / 8.5;
  }
}

.kf-author-archive {
  --kf-author-paper: #fffefb;
  --kf-author-green: #4f5e4e;
  --kf-author-gold: #8d713c;
  --kf-author-line: #d9cdb6;
  --kf-author-ink: #292821;
  --kf-author-soft: #6d675d;
  color: var(--kf-author-ink);
}

.kf-author-archive__breadcrumb {
  width: min(1030px, calc(100% - 48px));
  margin: 0 auto;
  padding: 24px 0 20px;
}

.kf-author-archive__hero {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  align-items: center;
  width: min(1030px, calc(100% - 48px));
  box-sizing: border-box;
  margin: auto;
  padding: 48px 55px;
  background: var(--kf-author-paper);
}

.kf-author-archive__portrait img {
  display: block;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  object-fit: cover;
}

.kf-author-archive__hero-copy {
  max-width: 650px;
}

.kf-author-archive__hero-copy > p:first-child,
.kf-author-archive__fields > p,
.kf-author-archive__posts > header > div > p {
  margin: 0;
  color: var(--kf-author-gold);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.7rem;
  letter-spacing: 0.18em;
}

.kf-author-archive__hero-copy > p:nth-child(2) {
  margin: 12px 0 4px;
  color: var(--kf-author-green);
  font-size: 0.8rem;
}

.kf-author-archive__hero h1 {
  margin: 0 0 13px;
  font-size: 2.55rem;
  font-weight: 500;
  letter-spacing: 0.12em;
}

.kf-author-archive__hero-copy > p:nth-of-type(3),
.kf-author-archive__hero-copy > h1 + p {
  max-width: 36em;
  margin: 0;
  color: var(--kf-author-soft);
  font-size: 0.92rem;
  line-height: 1.9;
}

.kf-author-archive__hero-copy > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}

.kf-author-archive__hero-copy > div span {
  padding: 6px 10px;
  border: 1px solid var(--kf-author-line);
  border-radius: 999px;
  color: var(--kf-author-green);
  font-size: 0.67rem;
}

.kf-author-archive__fields {
  width: min(1030px, calc(100% - 48px));
  margin: 35px auto 78px;
}

.kf-author-archive__fields > div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 13px;
  border-top: 1px solid var(--kf-author-line);
  border-bottom: 1px solid var(--kf-author-line);
  background: rgb(255 254 251 / 58%);
}

.kf-author-archive__fields a {
  display: grid;
  gap: 6px;
  padding: 20px 22px;
  border-left: 1px solid var(--kf-author-line);
  color: inherit;
  font-size: 0.88rem;
  text-decoration: none;
}

.kf-author-archive__fields a:first-child {
  border-left: 0;
}

.kf-author-archive__fields span {
  color: var(--kf-author-gold);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.61rem;
  letter-spacing: 0.12em;
}

.kf-author-archive__posts {
  width: min(1030px, calc(100% - 48px));
  margin: auto;
}

.kf-author-archive__hero + .kf-author-archive__posts {
  margin-top: 78px;
}

.kf-author-archive__posts > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--kf-author-line);
}

.kf-author-archive__posts h2 {
  margin: 8px 0 0;
  font-size: 1.7rem;
  font-weight: 500;
}

.kf-author-archive__posts > header > p {
  margin: 0;
  color: var(--kf-author-soft);
  font-size: 0.78rem;
}

.kf-author-archive__posts > header strong {
  margin-right: 4px;
  color: var(--kf-author-green);
  font-size: 1.5rem;
  font-weight: 500;
}

.kf-author-archive__filter {
  display: flex;
  margin: 24px 0 32px;
  border-bottom: 1px solid var(--kf-author-line);
}

.kf-author-archive__filter a {
  padding: 11px 18px;
  color: var(--kf-author-soft);
  font-size: 0.78rem;
  text-decoration: none;
}

.kf-author-archive__filter .is-current {
  border-bottom: 2px solid var(--kf-author-green);
  color: var(--kf-author-green);
}

.kf-author-archive__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px 20px;
}

.kf-author-archive__grid article {
  overflow: hidden;
  border-radius: 12px;
  background: var(--kf-author-paper);
}

.kf-author-archive__grid a {
  display: block;
  color: inherit;
  text-decoration: none;
}

.kf-author-archive__grid img,
.kf-author-archive__grid .kf-search-results__image-placeholder {
  display: block;
  width: 100%;
  height: 185px;
  object-fit: cover;
}

.kf-author-archive__grid > article > a > span {
  display: block;
  padding: 20px 22px 23px;
}

.kf-author-archive__grid small {
  display: block;
  margin-bottom: 8px;
  color: var(--kf-author-gold);
  font-size: 0.65rem;
}

.kf-author-archive__grid strong {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.7;
}

.kf-author-archive__grid p {
  margin: 10px 0 0;
  color: var(--kf-author-soft);
  font-size: 0.78rem;
  line-height: 1.8;
}

.kf-author-archive__pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 45px;
}

.kf-author-archive__pagination a,
.kf-author-archive__pagination span {
  min-width: 38px;
  padding: 9px 12px;
  border: 1px solid var(--kf-author-line);
  color: var(--kf-author-soft);
  font-size: 0.78rem;
  text-align: center;
  text-decoration: none;
}

.kf-author-archive__pagination span[aria-current="page"] {
  border-color: var(--kf-author-green);
  background: var(--kf-author-green);
  color: #fff;
}

.kf-author-archive__pagination .is-ellipsis {
  min-width: 0;
  border-color: transparent;
  background: transparent;
}

.kf-author-archive__empty {
  padding: 38px;
  border: 1px solid var(--kf-author-line);
  border-radius: 12px;
  background: rgb(255 254 251 / 88%);
  color: var(--kf-author-soft);
  text-align: center;
}

@media (max-width: 800px) {
  .kf-author-archive__hero {
    grid-template-columns: 180px minmax(0, 1fr);
  }

  .kf-author-archive__fields > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kf-author-archive__fields a:nth-child(3) {
    border-top: 1px solid var(--kf-author-line);
    border-left: 0;
  }

  .kf-author-archive__fields a:nth-child(4) {
    border-top: 1px solid var(--kf-author-line);
  }

  .kf-author-archive__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .kf-author-archive__breadcrumb {
    width: calc(100% - 32px);
    padding: 18px 0 16px;
  }

  .kf-author-archive__hero {
    grid-template-columns: 1fr;
    width: 100%;
    padding: 38px 24px;
    text-align: center;
  }

  .kf-author-archive__portrait img {
    width: 130px;
    height: 130px;
    margin: 0 auto 22px;
  }

  .kf-author-archive__hero-copy > div {
    justify-content: center;
  }

  .kf-author-archive__fields,
  .kf-author-archive__posts {
    width: calc(100% - 28px);
  }

  .kf-author-archive__fields > div,
  .kf-author-archive__grid {
    grid-template-columns: 1fr;
  }

  .kf-author-archive__fields a,
  .kf-author-archive__fields a:nth-child(4) {
    border-top: 1px solid var(--kf-author-line);
    border-left: 0;
  }

  .kf-author-archive__fields a:first-child {
    border-top: 0;
  }

  .kf-author-archive__filter {
    overflow-x: auto;
  }

  .kf-author-archive__filter a {
    min-width: max-content;
  }

  .kf-author-archive__grid img,
  .kf-author-archive__grid .kf-search-results__image-placeholder {
    height: 220px;
  }

  .kf-author-archive__pagination {
    flex-wrap: wrap;
  }
}

.kf-search-results {
  --kf-search-paper: #fffefb;
  --kf-search-green: #4f5e4e;
  --kf-search-gold: #8d713c;
  --kf-search-line: #d9cdb6;
  --kf-search-ink: #292821;
  --kf-search-soft: #6d675d;
  display: flow-root;
  color: var(--kf-search-ink);
}

.kf-search-results__breadcrumb {
  width: min(1030px, calc(100% - 48px));
  margin: 0 auto;
  padding: 24px 0 20px;
}

.kf-search-results__hero {
  width: min(1030px, calc(100% - 48px));
  box-sizing: border-box;
  margin: auto;
  padding: 46px 70px 48px;
  border: 1px solid color-mix(in srgb, var(--kf-search-line) 78%, transparent);
  border-radius: 14px;
  background: var(--kf-search-paper);
  box-shadow: 0 14px 34px rgb(73 61 41 / 6%);
  text-align: center;
}

.kf-search-results__hero > p:first-child,
.kf-search-results__heading > div > p {
  margin: 0;
  color: var(--kf-search-gold);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.7rem;
  letter-spacing: 0.18em;
}

.kf-search-results__hero h1 {
  margin: 9px 0 12px;
  font-size: 2.15rem;
  font-weight: 500;
  letter-spacing: 0.09em;
}

.kf-search-results__hero .kf-search-results__hero-description {
  margin: 0 0 28px;
  color: var(--kf-search-soft);
  font-size: 0.9rem;
  line-height: 1.8;
}

.kf-search-results__hero form {
  display: flex;
  max-width: 690px;
  margin: auto;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--kf-search-green) 48%, var(--kf-search-line));
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 6px 18px rgb(66 73 58 / 7%);
}

.kf-search-results__hero input {
  flex: 1;
  min-width: 0;
  padding: 15px 22px;
  border: 0;
  background: transparent;
  color: var(--kf-search-ink);
  font: inherit;
  font-size: 1rem;
}

.kf-search-results__hero input:focus {
  outline: 0;
}

.kf-search-results__hero form:focus-within {
  border-color: var(--kf-search-green);
  box-shadow: 0 0 0 3px rgb(79 94 78 / 12%), 0 7px 20px rgb(66 73 58 / 8%);
}

.kf-search-results__hero button {
  min-width: 126px;
  border: 0;
  background: var(--kf-search-green);
  color: #fff;
  font: inherit;
  font-size: 0.86rem;
  letter-spacing: 0.08em;
}

.kf-search-results .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.kf-search-results__body {
  width: min(950px, calc(100% - 48px));
  margin: 50px auto 0;
}

.kf-search-results__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 27px 30px;
  border-bottom: 1px solid var(--kf-search-line);
  border-radius: 12px 12px 0 0;
  background: rgb(255 254 251 / 78%);
}

.kf-search-results__heading h2 {
  margin: 8px 0 0;
  font-size: 1.65rem;
  font-weight: 500;
}

.kf-search-results__summary {
  margin: 8px 0 0 !important;
  color: var(--kf-search-soft) !important;
  font-family: inherit !important;
  font-size: 0.8rem !important;
  letter-spacing: 0 !important;
  line-height: 1.7;
}

.kf-search-results__count {
  display: flex;
  flex: 0 0 auto;
  align-items: baseline;
  margin: 0;
  color: var(--kf-search-soft);
  font-size: 0.82rem;
}

.kf-search-results__count strong {
  margin-right: 5px;
  color: var(--kf-search-green);
  font-size: 1.65rem;
  font-weight: 500;
}

.kf-search-results__count span {
  margin-left: 12px;
  padding: 4px 9px;
  border: 1px solid color-mix(in srgb, var(--kf-search-gold) 55%, transparent);
  border-radius: 999px;
  color: var(--kf-search-gold);
  font-size: 0.68rem;
  white-space: nowrap;
}

.kf-search-results__filter {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 22px 0 32px;
}

.kf-search-results__filter a {
  padding: 9px 15px;
  border: 1px solid var(--kf-search-line);
  border-radius: 999px;
  background: rgb(255 254 251 / 68%);
  color: var(--kf-search-soft);
  font-size: 0.78rem;
  text-decoration: none;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}

.kf-search-results__filter a span {
  margin-left: 4px;
  color: var(--kf-search-gold);
  font-size: 0.68rem;
}

.kf-search-results__filter .is-current {
  border-color: var(--kf-search-green);
  background: var(--kf-search-green);
  color: #fff;
}

.kf-search-results__filter .is-current span {
  color: #f0dfb8;
}

.kf-search-results__list {
  display: grid;
  gap: 15px;
}

.kf-search-results__list article {
  position: relative;
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  align-items: center;
  gap: 26px;
  overflow: hidden;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--kf-search-line) 78%, transparent);
  border-radius: 12px;
  background: rgb(255 254 251 / 90%);
  box-shadow: 0 9px 24px rgb(73 61 41 / 5%);
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.kf-search-results__list article:hover,
.kf-search-results__list article:focus-within {
  border-color: color-mix(in srgb, var(--kf-search-green) 58%, var(--kf-search-line));
  box-shadow: 0 14px 30px rgb(73 61 41 / 9%);
  transform: translateY(-2px);
}

.kf-search-results__list article > p:empty {
  display: none;
}

.kf-search-results__list img,
.kf-search-results__image-placeholder {
  display: block;
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  height: 160px;
  min-height: 0;
  object-fit: cover;
}

.kf-search-results__image-placeholder {
  background:
    linear-gradient(rgb(255 254 251 / 50%), rgb(255 254 251 / 50%)),
    url("../images/official-wallpaper-wp.jpg") repeat;
}

.kf-search-results__list article div {
  grid-column: 2;
  grid-row: 1;
  padding: 3px 12px 3px 0;
}

.kf-search-results__meta {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  color: var(--kf-search-gold);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.68rem;
  letter-spacing: 0.1em;
}

.kf-search-results__source {
  margin-right: auto;
}

.kf-search-results__match {
  padding: 3px 8px;
  border-radius: 999px;
  background: #edf1ea;
  color: var(--kf-search-green);
  font-size: 0.62rem;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.kf-search-results__meta time {
  color: var(--kf-search-soft);
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.kf-search-results__list h3 {
  margin: 10px 0 9px;
  font-size: 1.08rem;
  font-weight: 500;
}

.kf-search-results__stretched {
  color: inherit;
  text-decoration: none;
}

.kf-search-results__stretched::after {
  position: absolute;
  inset: 0;
  content: "";
}

.kf-search-results__list h3 + p {
  margin: 0;
  color: var(--kf-search-soft);
  font-size: 0.82rem;
  line-height: 1.8;
}

.kf-search-results__list mark {
  padding: 0 0.12em;
  background: linear-gradient(transparent 58%, #eee0b8 58%);
  color: inherit;
}

.kf-search-results__read-more {
  display: block;
  margin-top: 13px;
  color: var(--kf-search-green);
  font-size: 0.74rem;
  text-align: right;
}

.kf-search-results__read-more span {
  margin-left: 5px;
}

.kf-search-results__pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 45px;
}

.kf-search-results__pagination a,
.kf-search-results__pagination span {
  box-sizing: border-box;
  min-width: 38px;
  padding: 9px 12px;
  border: 1px solid var(--kf-search-line);
  border-radius: 4px;
  color: var(--kf-search-soft);
  font-size: 0.78rem;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}

.kf-search-results__pagination span[aria-current="page"] {
  border-color: var(--kf-search-green);
  background: var(--kf-search-green);
  color: #fff;
}

.kf-search-results__pagination .is-ellipsis {
  min-width: 24px;
  padding-inline: 2px;
  border-color: transparent;
  background: transparent;
}

.kf-search-results__pagination .is-direction {
  padding-inline: 16px;
}

.kf-search-results__empty {
  padding: 45px 30px;
  border: 1px solid var(--kf-search-line);
  border-radius: 12px;
  background: rgb(255 254 251 / 90%);
  text-align: center;
}

.kf-search-results__empty h3 {
  margin: 0 0 12px;
  font-size: 1.15rem;
  font-weight: 500;
}

.kf-search-results__empty p {
  margin: 0;
  color: var(--kf-search-soft);
}

.kf-search-results__empty-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 24px;
}

.kf-search-results__empty-links a {
  padding: 8px 14px;
  border: 1px solid var(--kf-search-line);
  border-radius: 999px;
  color: var(--kf-search-green);
  font-size: 0.78rem;
  text-decoration: none;
}

@media (max-width: 760px) {
  .kf-search-results__breadcrumb {
    width: calc(100% - 32px);
    padding: 18px 0 16px;
  }

  .kf-search-results__hero {
    width: 100%;
    padding: 43px 20px;
  }

  .kf-search-results__hero form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .kf-search-results__hero button {
    min-width: 78px;
  }

  .kf-search-results__body {
    width: calc(100% - 28px);
  }

  .kf-search-results__heading {
    align-items: flex-start;
    gap: 20px;
  }

  .kf-search-results__filter {
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
  }

  .kf-search-results__filter a {
    min-width: max-content;
  }

  .kf-search-results__list article {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 14px;
  }

  .kf-search-results__list article div {
    grid-column: 1;
    grid-row: 2;
  }

  .kf-search-results__list img,
  .kf-search-results__image-placeholder {
    height: 190px;
    min-height: 0;
  }

  .kf-search-results__list article div {
    padding: 21px 8px 8px;
  }

  .kf-search-results__meta {
    gap: 10px;
    flex-wrap: wrap;
  }
}

@media (max-width: 430px) {
  .kf-search-results__heading {
    flex-direction: column;
    padding: 23px 21px;
  }

  .kf-search-results__heading h2 {
    font-size: 1.35rem;
  }

  .kf-search-results__count span {
    margin-left: 10px;
  }

}

.kf-activity-archive {
  --kf-activity-paper: #fffefb;
  --kf-activity-green: #4f5e4e;
  --kf-activity-gold: #8d713c;
  --kf-activity-line: #d9cdb6;
  --kf-activity-ink: #292821;
  --kf-activity-soft: #6d675d;
  color: var(--kf-activity-ink);
}

.kf-activity-archive__breadcrumb {
  width: min(1136px, calc(100% - 48px));
  margin: 0 auto;
  padding: 24px 0 20px;
}

.kf-activity-archive__hero {
  display: grid;
  grid-template-columns: 44% 56%;
  width: min(1136px, calc(100% - 48px));
  min-height: 470px;
  margin: 0 auto;
  background: var(--kf-activity-paper);
}

.kf-activity-archive__hero-copy {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

.kf-activity-archive__hero-copy > p:first-child,
.kf-activity-archive__intro > p:first-child,
.kf-activity-archive__latest > header p,
.kf-activity-archive__records > header p {
  margin: 0;
  color: var(--kf-activity-gold);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.7rem;
  letter-spacing: 0.18em;
}

.kf-activity-archive__hero h1 {
  margin: 16px 0 0;
  font-size: 50px;
  font-weight: 500;
  letter-spacing: 0.12em;
}

.kf-activity-archive__hero-copy > i {
  display: block;
  width: 70px;
  margin: 22px 0;
  border-top: 1px solid var(--kf-activity-gold);
}

.kf-activity-archive__hero-copy > p:last-child {
  margin: 0;
  color: var(--kf-activity-green);
  font-size: 1rem;
  letter-spacing: 0.12em;
  line-height: 2;
}

.kf-activity-archive__hero-photos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 7px;
  padding: 16px 16px 16px 0;
}

.kf-activity-archive__hero-photos img,
.kf-activity-archive__hero-photos .kf-activity-archive__image-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kf-activity-archive__hero-photos > :first-child {
  grid-row: 1 / -1;
  border-radius: 10px 0 0 10px;
}

.kf-activity-archive__hero-photos > :nth-child(2) {
  border-radius: 0 10px 0 0;
}

.kf-activity-archive__hero-photos > :nth-child(3) {
  border-radius: 0 0 10px;
}

.kf-activity-archive__intro {
  display: grid;
  grid-template-columns: 220px 1fr 1fr;
  gap: 42px;
  width: min(1030px, calc(100% - 48px));
  margin: 72px auto;
}

.kf-activity-archive__intro h2 {
  margin: 0;
  font-size: 1.75rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.75;
}

.kf-activity-archive__intro > p:last-child {
  margin: 0;
  color: var(--kf-activity-soft);
  font-size: 0.93rem;
  line-height: 2;
}

.kf-activity-archive__filter {
  display: flex;
  justify-content: center;
  width: min(1030px, calc(100% - 48px));
  margin: 0 auto 78px;
  border-top: 1px solid var(--kf-activity-line);
  border-bottom: 1px solid var(--kf-activity-line);
}

.kf-activity-archive__filter a {
  min-width: 110px;
  padding: 15px 22px;
  color: var(--kf-activity-soft);
  font-size: 0.82rem;
  text-align: center;
  text-decoration: none;
}

.kf-activity-archive__filter .is-current {
  background: var(--kf-activity-green);
  color: #fff;
}

.kf-activity-archive__latest,
.kf-activity-archive__records {
  width: min(1030px, calc(100% - 48px));
  margin: 0 auto 95px;
}

.kf-activity-archive__records {
  margin-bottom: 0;
}

.kf-activity-archive__latest > header,
.kf-activity-archive__records > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 27px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--kf-activity-line);
}

.kf-activity-archive__latest > header h2,
.kf-activity-archive__records > header h2 {
  margin: 8px 0 0;
  font-size: 1.7rem;
  font-weight: 500;
}

.kf-activity-archive__latest > header > span,
.kf-activity-archive__records > header > p {
  color: var(--kf-activity-soft);
  font-size: 0.78rem;
}

.kf-activity-archive__feature {
  display: grid;
  grid-template-columns: 58% 42%;
  overflow: hidden;
  border-radius: 12px;
  background: var(--kf-activity-paper);
}

.kf-activity-archive__feature figure {
  height: 390px;
  margin: 0;
  overflow: hidden;
}

.kf-activity-archive__feature figure img,
.kf-activity-archive__feature figure .kf-activity-archive__image-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kf-activity-archive__feature > div {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  padding: 42px;
}

.kf-activity-archive__feature > div > p:first-child {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin: 0;
  color: var(--kf-activity-gold);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.67rem;
  letter-spacing: 0.12em;
}

.kf-activity-archive__feature h3 {
  margin: 18px 0;
  font-size: 1.65rem;
  font-weight: 500;
  line-height: 1.65;
}

.kf-activity-archive__feature h3 a {
  color: inherit;
  text-decoration: none;
}

.kf-activity-archive__feature h3 + p {
  margin: 0;
  color: var(--kf-activity-soft);
  font-size: 0.9rem;
  line-height: 1.9;
}

.kf-activity-archive__feature > div > a {
  margin-top: 25px;
  color: var(--kf-activity-green);
  font-size: 0.84rem;
  text-underline-offset: 0.3em;
}

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

.kf-activity-archive__grid article {
  border-bottom: 1px solid var(--kf-activity-line);
}

.kf-activity-archive__grid a {
  display: block;
  color: inherit;
  text-decoration: none;
}

.kf-activity-archive__grid img,
.kf-activity-archive__grid .kf-activity-archive__image-placeholder {
  display: block;
  width: 100%;
  height: 180px;
  border-radius: 10px;
  object-fit: cover;
}

.kf-activity-archive__grid span {
  display: block;
  padding: 18px 4px 20px;
}

.kf-activity-archive__grid small {
  display: block;
  margin-bottom: 8px;
  color: var(--kf-activity-gold);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.64rem;
  letter-spacing: 0.1em;
}

.kf-activity-archive__grid strong {
  font-size: 0.94rem;
  font-weight: 500;
  line-height: 1.8;
}

.kf-activity-archive__pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 50px;
}

.kf-activity-archive__pagination a,
.kf-activity-archive__pagination span {
  min-width: 38px;
  padding: 9px 12px;
  border: 1px solid var(--kf-activity-line);
  color: var(--kf-activity-soft);
  font-size: 0.78rem;
  text-align: center;
  text-decoration: none;
}

.kf-activity-archive__pagination span {
  border-color: var(--kf-activity-green);
  background: var(--kf-activity-green);
  color: #fff;
}

.kf-activity-archive__image-placeholder {
  background:
    linear-gradient(rgb(255 254 251 / 50%), rgb(255 254 251 / 50%)),
    url("../images/official-wallpaper-wp.jpg") repeat;
}

.kf-activity-archive__empty {
  margin: 0;
  padding: 38px;
  border: 1px solid var(--kf-activity-line);
  border-radius: 12px;
  background: rgb(255 254 251 / 88%);
  color: var(--kf-activity-soft);
  text-align: center;
}

@media (max-width: 900px) {
  .kf-activity-archive__hero {
    grid-template-columns: 40% 60%;
  }

  .kf-activity-archive__intro {
    grid-template-columns: 160px 1fr;
  }

  .kf-activity-archive__intro > p:last-child {
    grid-column: 2;
  }

  .kf-activity-archive__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .kf-activity-archive__breadcrumb {
    width: calc(100% - 32px);
    padding: 18px 0 16px;
  }

  .kf-activity-archive__hero {
    grid-template-columns: 1fr;
    width: 100%;
  }

  .kf-activity-archive__hero-copy {
    padding: 50px 24px;
  }

  .kf-activity-archive__hero h1 {
    font-size: 38px;
  }

  .kf-activity-archive__hero-photos {
    grid-template-columns: 1.3fr 1fr;
    height: 360px;
    padding: 0 12px 12px;
  }

  .kf-activity-archive__intro {
    grid-template-columns: 1fr;
    gap: 18px;
    width: calc(100% - 28px);
    margin-block: 54px;
  }

  .kf-activity-archive__intro > p:last-child {
    grid-column: auto;
  }

  .kf-activity-archive__filter {
    justify-content: flex-start;
    width: calc(100% - 28px);
    overflow-x: auto;
  }

  .kf-activity-archive__filter a {
    min-width: max-content;
  }

  .kf-activity-archive__latest,
  .kf-activity-archive__records {
    width: calc(100% - 28px);
  }

  .kf-activity-archive__feature {
    grid-template-columns: 1fr;
  }

  .kf-activity-archive__feature figure {
    height: 260px;
  }

  .kf-activity-archive__feature > div {
    padding: 30px 25px;
  }

  .kf-activity-archive__grid {
    grid-template-columns: 1fr;
  }

  .kf-activity-archive__grid img,
  .kf-activity-archive__grid .kf-activity-archive__image-placeholder {
    height: 220px;
  }
}

@media (max-width: 430px) {
  .kf-activity-archive__hero h1 {
    font-size: 34px;
  }

  .kf-activity-archive__feature > div > p:first-child {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }

  .kf-activity-archive__pagination {
    flex-wrap: wrap;
  }
}

.kf-reference {
  --kf-reference-paper: #fffefb;
  --kf-reference-sage: #e3e6dc;
  --kf-reference-green: #4e5c4c;
  --kf-reference-gold: #8c713d;
  --kf-reference-line: #d7cab1;
  --kf-reference-ink: #292821;
  --kf-reference-soft: #6d675d;
  color: var(--kf-reference-ink);
}

.kf-reference__hero {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr) 300px;
  align-items: center;
}

.kf-reference__mark {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  color: rgb(78 92 76 / 34%);
  font-size: 4rem;
}

.kf-reference__mark i {
  width: 35px;
  border-top: 1px solid rgb(140 113 61 / 48%);
}

.kf-reference__hero-copy {
  text-align: center;
}

.kf-reference__hero-copy > p:first-child,
.kf-reference__section-heading > div > p,
.kf-reference__person-grid section > p,
.kf-reference__chronology > div > p:first-child {
  margin: 0;
  color: var(--kf-reference-gold);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.7rem;
  letter-spacing: 0.18em;
}

.kf-reference__hero h1 {
  margin: 15px 0 0;
  font-size: clamp(2.8rem, 5vw, 4.5rem);
  font-weight: 500;
  letter-spacing: 0.15em;
}

.kf-reference__hero-copy > i {
  display: block;
  width: 68px;
  margin: 20px auto;
  border-top: 1px solid var(--kf-reference-gold);
}

.kf-reference__hero-copy > p:last-child {
  margin: 0;
  color: var(--kf-reference-green);
  font-size: 1.16rem;
  letter-spacing: 0.12em;
}

.kf-reference__hero-note {
  padding: 0 46px 0 20px;
  color: var(--kf-reference-soft);
  font-size: 0.86rem;
  line-height: 2;
}

.kf-reference__index {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(1136px, calc(100% - 48px));
  margin: 0 auto 86px;
  border-top: 1px solid var(--kf-reference-line);
  border-bottom: 1px solid var(--kf-reference-line);
  background: rgb(255 254 251 / 72%);
}

.kf-reference__index a {
  display: grid;
  gap: 7px;
  padding: 24px 28px;
  border-left: 1px solid var(--kf-reference-line);
  color: inherit;
  text-decoration: none;
}

.kf-reference__index a:first-child {
  border-left: 0;
}

.kf-reference__index span {
  color: var(--kf-reference-gold);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.66rem;
  letter-spacing: 0.14em;
}

.kf-reference__index strong {
  font-size: 1.05rem;
  font-weight: 500;
}

.kf-reference__index small {
  color: var(--kf-reference-soft);
  font-size: 0.75rem;
}

.kf-reference__section {
  width: min(1030px, calc(100% - 48px));
  margin: 0 auto 100px;
}

.kf-reference__section-heading {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: end;
  margin-bottom: 32px;
  padding-bottom: 19px;
  border-bottom: 1px solid var(--kf-reference-line);
}

.kf-reference__section-heading h2 {
  margin: 8px 0 0;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.08em;
}

.kf-reference__section-heading > p {
  max-width: 34em;
  margin: 0;
  color: var(--kf-reference-soft);
  font-size: 0.9rem;
  line-height: 1.9;
}

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

.kf-reference__school-grid article {
  overflow: hidden;
  border-radius: 12px;
  background: rgb(255 254 251 / 90%);
}

.kf-reference__school-grid img {
  display: block;
  width: 100%;
  height: 230px;
  object-fit: cover;
  transition: transform 240ms ease;
}

.kf-reference__school-grid .kf-reference__school-image-link {
  display: block;
  margin: 0;
  overflow: hidden;
}

.kf-reference__school-grid .kf-reference__school-image-link:hover img {
  transform: scale(1.015);
}

.kf-reference__school-grid .kf-reference__school-image-link:focus-visible {
  outline: 2px solid var(--kf-reference-gold);
  outline-offset: -4px;
}

.kf-reference__school-grid article > div {
  padding: 27px 30px 30px;
}

.kf-reference__school-grid h3 {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 15px;
  margin: 2px 0 15px;
  font-size: 1.35rem;
  font-weight: 500;
}

.kf-reference__school-grid h3 > span {
  color: var(--kf-reference-gold);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.49em;
  font-weight: 400;
  letter-spacing: 0.12em;
  line-height: 1.4;
}

.kf-reference__school-grid h3 rt {
  color: var(--kf-reference-soft);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.48em;
  font-weight: 400;
  letter-spacing: 0.08em;
}

.kf-reference__school-grid h3 + p {
  min-height: 4.2em;
  margin: 0;
  color: var(--kf-reference-soft);
  font-size: 0.9rem;
  line-height: 1.85;
}

.kf-reference__school-grid a {
  display: inline-block;
  margin-top: 18px;
  color: var(--kf-reference-green);
  font-size: 0.82rem;
  text-underline-offset: 0.3em;
}

.kf-reference__person-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 20px;
}

.kf-reference__person-grid section {
  padding: 29px 28px;
  border-top: 2px solid var(--kf-reference-green);
  border-radius: 0 0 12px 12px;
  background: rgb(255 254 251 / 90%);
}

.kf-reference__person-grid h3 {
  margin: 9px 0 17px;
  font-size: 1.08rem;
  font-weight: 500;
}

.kf-reference__person-grid ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kf-reference__person-grid li {
  border-top: 1px solid var(--kf-reference-line);
}

.kf-reference__person-grid a {
  display: block;
  padding: 13px 4px;
  color: inherit;
  font-size: 0.86rem;
  text-decoration: none;
}

.kf-reference__person-grid a::after {
  float: right;
  color: var(--kf-reference-gold);
  content: "›";
}

.kf-reference__chronology {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(1030px, calc(100% - 48px));
  box-sizing: border-box;
  margin: 0 auto;
  padding: 42px 46px;
  border: 1px solid var(--kf-reference-line);
  border-radius: 12px;
  background: color-mix(in srgb, var(--kf-reference-sage) 62%, var(--kf-reference-paper));
}

.kf-reference__chronology h2 {
  margin: 9px 0 8px;
  font-size: 1.7rem;
  font-weight: 500;
}

.kf-reference__chronology > div > p:last-child {
  margin: 0;
  color: var(--kf-reference-soft);
  font-size: 0.9rem;
}

.kf-reference__chronology > a {
  min-width: 170px;
  padding: 17px 22px;
  border-left: 1px solid var(--kf-reference-gold);
  color: var(--kf-reference-green);
  font-size: 0.82rem;
  text-align: right;
}

.kf-reference__chronology > a span {
  display: block;
  margin-bottom: 5px;
  color: var(--kf-reference-ink);
  font-size: 1.08rem;
}

@media (max-width: 900px) {
  .kf-reference__hero {
    grid-template-columns: 180px 1fr;
  }

  .kf-reference__hero-note {
    grid-column: 1 / -1;
    padding: 0 50px 38px;
    text-align: center;
  }


  .kf-reference__school-grid img {
    height: 200px;
  }
}

@media (max-width: 760px) {
  .kf-reference__hero {
    display: block;
    position: relative;
    padding: 48px 24px;
  }

  .kf-reference__mark {
    position: absolute;
    left: -20px;
    opacity: 0.5;
    font-size: 3rem;
  }

  .kf-reference__hero-copy,
  .kf-reference__hero-note {
    position: relative;
  }

  .kf-reference__hero-note {
    padding: 26px 0 0;
    text-align: center;
  }

  .kf-reference__index {
    grid-template-columns: 1fr;
    width: 100%;
    margin-bottom: 65px;
  }

  .kf-reference__index a {
    border-top: 1px solid var(--kf-reference-line);
    border-left: 0;
  }

  .kf-reference__index a:first-child {
    border-top: 0;
  }

  .kf-reference__section,
  .kf-reference__chronology {
    width: calc(100% - 28px);
  }

  .kf-reference__section-heading {
    grid-template-columns: 1fr;
    gap: 17px;
  }

  .kf-reference__school-grid {
    grid-template-columns: 1fr;
  }

  .kf-reference__school-grid h3 + p {
    min-height: 0;
  }

  .kf-reference__chronology {
    align-items: flex-start;
    flex-direction: column;
    gap: 25px;
    padding: 32px 26px;
  }

  .kf-reference__chronology > a {
    box-sizing: border-box;
    width: 100%;
    text-align: left;
  }
}

.kf-language-archive {
  --kf-language-paper: #fffefb;
  --kf-language-cream: #f4eee2;
  --kf-language-sage: #e8ebe0;
  --kf-language-green: #53604f;
  --kf-language-gold: #8d7139;
  --kf-language-line: #d9ccb5;
  --kf-language-ink: #292821;
  --kf-language-soft: #6c665c;
  color: var(--kf-language-ink);
}

.kf-language-archive__echo {
  position: absolute;
  top: 50%;
  left: max(30px, calc((100vw - 1120px) / 2));
  display: grid;
  grid-template-columns: auto 42px auto;
  align-items: center;
  color: rgb(83 96 79 / 38%);
  transform: translateY(-50%);
}

.kf-language-archive__echo span {
  font-size: 3.55rem;
  font-weight: 400;
  line-height: 1;
}

.kf-language-archive__echo i {
  width: 24px;
  margin: 0 auto;
  border-top: 1px solid rgb(141 113 57 / 38%);
}

.kf-language-archive__echo small {
  grid-column: 1 / -1;
  margin-top: 13px;
  color: rgb(141 113 57 / 58%);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.66rem;
  font-style: normal;
  letter-spacing: 0.18em;
}

.kf-language-archive__experience-index {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  width: min(1100px, calc(100% - 48px));
  margin: -1px auto 0;
  border: 1px solid var(--kf-language-line);
  background: rgb(255 254 251 / 96%);
}

.kf-language-archive__experience-index a {
  padding: 19px 16px 18px;
  border-left: 1px solid var(--kf-language-line);
  color: var(--kf-language-ink);
  font-size: 0.78rem;
  text-align: center;
  text-decoration: none;
}

.kf-language-archive__experience-index a:first-child {
  border-left: 0;
}

.kf-language-archive__experience-index span {
  display: block;
  margin-bottom: 4px;
  color: var(--kf-language-gold);
  font-size: 0.55rem;
  letter-spacing: 0.1em;
}

.kf-language-archive__experience-index a.is-current {
  background: var(--kf-language-green);
  color: #fff;
}

.kf-language-archive__experience-index a.is-current span {
  color: #e4d5b5;
}

.kf-language-archive__shell {
  width: min(1040px, calc(100% - 48px));
  margin: 68px auto 26px;
}

.kf-language-archive__introduction {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 44px;
  margin-bottom: 78px;
  padding: 0 42px;
}

.kf-language-archive__introduction > p {
  margin: 8px 0 0;
  color: var(--kf-language-gold);
  font-size: 0.62rem;
  letter-spacing: 0.14em;
}

.kf-language-archive__introduction > div {
  display: grid;
  grid-template-columns: 380px minmax(0, 1fr);
  gap: 48px;
}

.kf-language-archive__introduction h2 {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.055em;
  line-height: 1.8;
}

.kf-language-archive__introduction > div > p {
  margin: 3px 0 0;
  color: var(--kf-language-soft);
  line-height: 2.1;
}

.kf-language-archive__section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 27px;
  border-bottom: 1px solid var(--kf-language-line);
}

.kf-language-archive__section-heading p {
  margin: 0 0 5px;
  color: var(--kf-language-gold);
  font-size: 0.63rem;
  letter-spacing: 0.15em;
}

.kf-language-archive__section-heading h2 {
  margin: 0;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--kf-language-gold);
  font-size: 1.5rem;
  font-weight: 500;
}

.kf-language-archive__section-heading > span {
  margin-bottom: 12px;
  color: var(--kf-language-soft);
  font-size: 0.75rem;
}

.kf-language-archive__field-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.65fr);
  gap: 24px;
}

.kf-language-archive__feature,
.kf-language-archive__field-secondary article {
  overflow: hidden;
  border-radius: 12px;
  background: rgb(255 254 251 / 94%);
}

.kf-language-archive__feature {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(270px, 0.85fr);
  min-height: 405px;
}

.kf-language-archive__feature-image,
.kf-language-archive__field-image,
.kf-language-archive__learning-image {
  min-width: 0;
  margin: 0;
  overflow: hidden;
}

.kf-language-archive__feature-image a,
.kf-language-archive__field-image a,
.kf-language-archive__learning-image a {
  display: block;
  height: 100%;
}

.kf-language-archive__feature-image img,
.kf-language-archive__feature-image .kf-language-archive__image-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kf-language-archive__feature > div {
  align-self: center;
  padding: 36px 34px;
}

.kf-language-archive__feature div > p:first-child,
.kf-language-archive__field-secondary article div > p:first-child,
.kf-language-archive__learning-grid article div > p:first-child {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 12px;
  color: var(--kf-language-gold);
  font-size: 0.62rem;
  letter-spacing: 0.08em;
}

.kf-language-archive__feature h3,
.kf-language-archive__field-secondary h3,
.kf-language-archive__learning-grid h3 {
  margin: 0;
  font-weight: 500;
  line-height: 1.65;
}

.kf-language-archive__feature h3 {
  font-size: 1.55rem;
}

.kf-language-archive__feature h3 a,
.kf-language-archive__field-secondary h3 a,
.kf-language-archive__learning-grid h3 a {
  color: inherit;
  text-decoration: none;
}

.kf-language-archive__feature div > p:not(:first-child),
.kf-language-archive__field-secondary article div > p:not(:first-child),
.kf-language-archive__learning-grid article div > p:not(:first-child) {
  margin: 16px 0 18px;
  color: var(--kf-language-soft);
  font-size: 0.8rem;
  line-height: 1.9;
}

.kf-language-archive__feature .kf-language-archive__more > a,
.kf-language-archive__field-secondary .kf-language-archive__more > a,
.kf-language-archive__learning-grid .kf-language-archive__more > a {
  color: var(--kf-language-gold);
  font-size: 0.73rem;
  text-decoration: underline;
  text-underline-offset: 0.3em;
}

.kf-language-archive__field-secondary {
  display: grid;
  gap: 24px;
}

.kf-language-archive__field-secondary article > .kf-language-archive__field-image {
  display: block;
  padding: 16px 16px 0;
}

.kf-language-archive__field-secondary img,
.kf-language-archive__field-secondary .kf-language-archive__image-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 10px;
  object-fit: cover;
}

.kf-language-archive__field-secondary article > div {
  padding: 22px 24px 27px;
}

.kf-language-archive__field-secondary h3 {
  font-size: 1.12rem;
}

.kf-language-archive__learning {
  margin-top: 88px;
}

.kf-language-archive__learning-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.kf-language-archive__learning-grid article {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  min-height: 262px;
  padding: 16px;
  border-radius: 12px;
  background: rgb(255 254 251 / 88%);
}

.kf-language-archive__learning-image {
  border-radius: 10px;
}

.kf-language-archive__learning-image img,
.kf-language-archive__learning-image .kf-language-archive__image-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.kf-language-archive__learning-grid article:hover img {
  transform: scale(1.025);
}

.kf-language-archive__learning-grid article > div {
  align-self: center;
  padding: 20px 18px 20px 25px;
}

.kf-language-archive__learning-grid h3 {
  font-size: 1.02rem;
}

.kf-language-archive__learning-grid article div > p:not(:first-child) {
  margin-block: 11px 14px;
  font-size: 0.76rem;
}

.kf-language-archive__image-placeholder {
  background:
    linear-gradient(rgb(255 254 251 / 55%), rgb(255 254 251 / 55%)),
    url("../images/official-wallpaper-wp.jpg") repeat;
}

@media (max-width: 900px) {
  .kf-language-archive__experience-index {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kf-language-archive__experience-index a {
    border-top: 1px solid var(--kf-language-line);
  }

  .kf-language-archive__experience-index a:nth-child(odd) {
    border-left: 0;
  }

  .kf-language-archive__experience-index a:first-child,
  .kf-language-archive__experience-index a:nth-child(2) {
    border-top: 0;
  }

  .kf-language-archive__experience-index a:last-child {
    grid-column: 1 / -1;
  }

  .kf-language-archive__introduction {
    grid-template-columns: 1fr;
    gap: 18px;
    padding-inline: 20px;
  }

  .kf-language-archive__field-grid {
    grid-template-columns: 1fr;
  }

  .kf-language-archive__field-secondary article {
    display: grid;
    grid-template-columns: 270px minmax(0, 1fr);
  }

  .kf-language-archive__field-secondary article > .kf-language-archive__field-image {
    padding: 16px 0 16px 16px;
  }

  .kf-language-archive__field-secondary img,
  .kf-language-archive__field-secondary .kf-language-archive__image-placeholder {
    height: 100%;
    aspect-ratio: auto;
  }

  .kf-language-archive__learning-grid article {
    grid-template-columns: 150px minmax(0, 1fr);
  }
}

@media (max-width: 760px) {
.kf-language-archive__echo {
    left: -24px;
    opacity: 0.55;
  }

  .kf-language-archive__echo span {
    font-size: 2.8rem;
  }

  .kf-language-archive__experience-index,
  .kf-language-archive__shell {
    width: calc(100% - 28px);
  }

  .kf-language-archive__shell {
    margin-top: 48px;
  }

  .kf-language-archive__introduction {
    margin-bottom: 56px;
    padding-inline: 8px;
  }

  .kf-language-archive__introduction > div {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .kf-language-archive__introduction h2 br {
    display: none;
  }

  .kf-language-archive__feature {
    display: block;
    min-height: 0;
  }

  .kf-language-archive__feature-image {
    display: block;
    aspect-ratio: 16 / 10;
  }

  .kf-language-archive__feature > div {
    padding: 27px 24px 29px;
  }

  .kf-language-archive__feature h3 {
    font-size: 1.35rem;
  }

  .kf-language-archive__field-secondary article {
    display: block;
  }

  .kf-language-archive__field-secondary article > .kf-language-archive__field-image {
    padding: 14px 14px 0;
  }

  .kf-language-archive__field-secondary img,
  .kf-language-archive__field-secondary .kf-language-archive__image-placeholder {
    height: auto;
    aspect-ratio: 16 / 10;
  }

  .kf-language-archive__learning {
    margin-top: 64px;
  }

  .kf-language-archive__learning-grid {
    grid-template-columns: 1fr;
  }

  .kf-language-archive__learning-grid article {
    grid-template-columns: 132px minmax(0, 1fr);
    min-height: 170px;
  }

  .kf-language-archive__learning-grid article > div {
    padding: 14px 10px 14px 20px;
  }

  .kf-language-archive__learning-grid article div > p:not(:first-child) {
    display: none;
  }
}

@media (max-width: 430px) {
  .kf-language-archive__experience-index {
    grid-template-columns: 1fr;
  }

  .kf-language-archive__experience-index a,
  .kf-language-archive__experience-index a:nth-child(2) {
    grid-column: auto;
    border-top: 1px solid var(--kf-language-line);
    border-left: 0;
  }

  .kf-language-archive__experience-index a:first-child {
    border-top: 0;
  }

  .kf-language-archive__section-heading {
    align-items: start;
  }

  .kf-language-archive__section-heading > span {
    max-width: 120px;
    text-align: right;
  }

  .kf-language-archive__learning-grid article {
    grid-template-columns: 112px minmax(0, 1fr);
    padding: 12px;
  }

  .kf-language-archive__learning-grid article > div {
    padding-left: 15px;
  }
}

.kf-maxim-archive {
  --kf-maxim-archive-paper: #fffefb;
  --kf-maxim-archive-green: #4e574c;
  --kf-maxim-archive-gold: #8d7139;
  --kf-maxim-archive-line: #d9ccb5;
  --kf-maxim-archive-ink: #292821;
  --kf-maxim-archive-soft: #6c665c;
  color: var(--kf-maxim-archive-ink);
}

.kf-maxim-archive__masthead > img {
  position: absolute;
  right: max(28px, calc((100vw - 1120px) / 2));
  bottom: -34px;
  width: 176px;
  opacity: 0.12;
}

.kf-maxim-archive .kf-experience-hero::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  background: url("../images/official-masters-words-hero-background.png") center 34% / cover no-repeat;
  content: "";
  opacity: 0.26;
  pointer-events: none;
}

.kf-maxim-archive .kf-experience-hero__mark,
.kf-maxim-archive .kf-experience-hero__note {
  z-index: 1;
}

.kf-reference .kf-experience-hero::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  background: url("../images/official-reference-materials-hero-background.png") center center / cover no-repeat;
  content: "";
  opacity: 0.28;
  pointer-events: none;
}

.kf-reference .kf-experience-hero__mark,
.kf-reference .kf-experience-hero__note {
  z-index: 1;
}

.kf-healthcare-archive .kf-experience-hero::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  background: url("../images/official-chinese-yangsheng-hero-background.png") center 62% / cover no-repeat;
  content: "";
  opacity: 0.3;
  pointer-events: none;
}

.kf-healthcare-archive .kf-experience-hero__mark,
.kf-healthcare-archive .kf-experience-hero__note {
  z-index: 1;
}

.kf-language-archive .kf-experience-hero::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  background: url("../images/official-chinese-language-in-china-hero-background.png") center 54% / cover no-repeat;
  content: "";
  opacity: 0.32;
  pointer-events: none;
}

.kf-language-archive .kf-experience-hero__mark,
.kf-language-archive .kf-experience-hero__note {
  z-index: 1;
}

.kf-maxim-archive__experience-index {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  width: min(1100px, calc(100% - 48px));
  margin: -1px auto 0;
  border: 1px solid var(--kf-maxim-archive-line);
  background: rgb(255 254 251 / 96%);
}

.kf-maxim-archive__experience-index a {
  padding: 19px 16px 18px;
  border-left: 1px solid var(--kf-maxim-archive-line);
  color: var(--kf-maxim-archive-ink);
  font-size: 0.78rem;
  text-align: center;
  text-decoration: none;
}

.kf-maxim-archive__experience-index a:first-child {
  border-left: 0;
}

.kf-maxim-archive__experience-index span {
  display: block;
  margin-bottom: 4px;
  color: var(--kf-maxim-archive-gold);
  font-size: 0.55rem;
  letter-spacing: 0.1em;
}

.kf-maxim-archive__experience-index a.is-current {
  background: var(--kf-maxim-archive-green);
  color: #fff;
}

.kf-maxim-archive__experience-index a.is-current span {
  color: #e4d5b5;
}

.kf-maxim-archive__shell {
  width: min(1040px, calc(100% - 48px));
  margin: 68px auto 26px;
}

.kf-maxim-archive__introduction {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 44px;
  margin-bottom: 78px;
  padding: 0 42px;
}

.kf-maxim-archive__introduction > p {
  margin: 8px 0 0;
  color: var(--kf-maxim-archive-gold);
  font-size: 0.62rem;
  letter-spacing: 0.14em;
}

.kf-maxim-archive__introduction > div {
  display: grid;
  grid-template-columns: 380px minmax(0, 1fr);
  gap: 48px;
}

.kf-maxim-archive__introduction h2 {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.055em;
  line-height: 1.8;
}

.kf-maxim-archive__introduction > div > p {
  margin: 3px 0 0;
  color: var(--kf-maxim-archive-soft);
  line-height: 2.1;
}

.kf-maxim-archive__section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 27px;
  border-bottom: 1px solid var(--kf-maxim-archive-line);
}

.kf-maxim-archive__section-heading p {
  margin: 0 0 5px;
  color: var(--kf-maxim-archive-gold);
  font-size: 0.63rem;
  letter-spacing: 0.15em;
}

.kf-maxim-archive__section-heading h2 {
  margin: 0;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--kf-maxim-archive-gold);
  font-size: 1.5rem;
  font-weight: 500;
}

.kf-maxim-archive__section-heading > time,
.kf-maxim-archive__section-heading > span {
  margin-bottom: 12px;
  color: var(--kf-maxim-archive-soft);
  font-size: 0.75rem;
}

.kf-maxim-archive__feature {
  position: relative;
  padding-bottom: 76px;
}

.kf-maxim-archive__feature figure {
  height: 430px;
  margin: 0;
  overflow: hidden;
}

.kf-maxim-archive__feature figure img,
.kf-maxim-archive__feature figure .kf-maxim-archive__image-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 0;
  object-fit: cover;
}

.kf-maxim-archive__feature-paper {
  position: absolute;
  right: 42px;
  bottom: 0;
  box-sizing: border-box;
  width: min(540px, calc(100% - 84px));
  padding: 31px 38px 32px;
  background: rgb(255 254 251 / 92%);
}

.kf-maxim-archive__feature-paper > p:first-child {
  margin: 0 0 8px;
  color: var(--kf-maxim-archive-gold);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
}

.kf-maxim-archive__feature-paper h3 {
  margin: 0 0 14px;
  font-size: 1.72rem;
  font-weight: 500;
  letter-spacing: 0.045em;
  line-height: 1.7;
}

.kf-maxim-archive__feature-paper h3 a {
  color: inherit;
  text-decoration: none;
}

.kf-maxim-archive__feature-paper > p:not(:first-child) {
  margin: 0 0 18px;
  color: var(--kf-maxim-archive-soft);
  font-size: 0.82rem;
  line-height: 1.9;
}

.kf-maxim-archive__feature-paper > a {
  display: inline-flex;
  gap: 16px;
  padding-bottom: 3px;
  border-bottom: 1px solid #b7a275;
  color: #725b2e;
  font-size: 0.78rem;
  text-decoration: none;
}

.kf-maxim-archive__library {
  margin-top: 86px;
}

.kf-maxim-archive__list {
  border-top: 1px solid var(--kf-maxim-archive-line);
}

.kf-maxim-archive__entry {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr) 270px;
  gap: 30px;
  align-items: center;
  padding: 30px 8px;
  border-bottom: 1px solid var(--kf-maxim-archive-line);
}

.kf-maxim-archive__entry-date {
  align-self: start;
  padding-top: 5px;
  color: var(--kf-maxim-archive-gold);
}

.kf-maxim-archive__entry-date time {
  display: block;
}

.kf-maxim-archive__entry time b {
  display: block;
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.08em;
}

.kf-maxim-archive__entry time span {
  display: block;
  margin-top: 3px;
  font-size: 0.95rem;
}

.kf-maxim-archive__entry-copy > p:first-child {
  margin: 0 0 7px;
  color: var(--kf-maxim-archive-gold);
  font-size: 0.65rem;
  letter-spacing: 0.07em;
}

.kf-maxim-archive__entry h3 {
  margin: 0 0 9px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.65;
}

.kf-maxim-archive__entry h3 a {
  color: inherit;
  text-decoration: none;
}

.kf-maxim-archive__entry-copy > p:not(:first-child) {
  margin: 0;
  color: var(--kf-maxim-archive-soft);
  font-size: 0.81rem;
  line-height: 1.85;
}

.kf-maxim-archive__entry-more {
  margin-top: 12px;
}

.kf-maxim-archive__entry-more a {
  display: inline-block;
  color: var(--kf-maxim-archive-gold);
  font-size: 0.72rem;
  text-decoration: none;
}

.kf-maxim-archive__entry-visual {
  min-width: 0;
  margin: 0;
}

.kf-maxim-archive__entry-image {
  display: block;
  overflow: hidden;
  border-radius: 10px;
}

.kf-maxim-archive__entry-image img,
.kf-maxim-archive__entry-image .kf-maxim-archive__image-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 8.4;
  border-radius: 10px;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.kf-maxim-archive__image-placeholder {
  background-color: var(--kf-color-paper);
  background-image: url("../images/official-wallpaper-wp.jpg");
  background-position: center;
  background-size: 260px auto;
}

.kf-maxim-archive__entry:hover .kf-maxim-archive__entry-image img {
  transform: scale(1.025);
}

.kf-maxim-archive__empty {
  display: grid;
  min-height: 260px;
  margin: 0;
  border: 1px solid var(--kf-maxim-archive-line);
  background: var(--kf-maxim-archive-paper);
  color: var(--kf-maxim-archive-soft);
  place-items: center;
}

@media (max-width: 900px) {
  .kf-maxim-archive__experience-index {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kf-maxim-archive__experience-index a {
    border-top: 1px solid var(--kf-maxim-archive-line);
  }

  .kf-maxim-archive__experience-index a:nth-child(odd) {
    border-left: 0;
  }

  .kf-maxim-archive__experience-index a:first-child,
  .kf-maxim-archive__experience-index a:nth-child(2) {
    border-top: 0;
  }

  .kf-maxim-archive__experience-index a:last-child {
    grid-column: 1 / -1;
  }

  .kf-maxim-archive__introduction {
    grid-template-columns: 1fr;
    gap: 18px;
    padding-inline: 20px;
  }

  .kf-maxim-archive__entry {
    grid-template-columns: 66px minmax(0, 1fr) 225px;
    gap: 22px;
  }
}

@media (max-width: 760px) {
.kf-maxim-archive__masthead > img {
    right: 10px;
    width: 120px;
  }

  .kf-maxim-archive .kf-experience-hero::before {
    background-position: right 50%;
  }

  .kf-maxim-archive__experience-index {
    width: calc(100% - 28px);
  }

  .kf-maxim-archive__shell {
    width: calc(100% - 28px);
    margin-top: 48px;
  }

  .kf-maxim-archive__introduction {
    margin-bottom: 56px;
    padding-inline: 8px;
  }

  .kf-maxim-archive__introduction > div {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .kf-maxim-archive__introduction h2 br {
    display: none;
  }

  .kf-maxim-archive__feature {
    padding-bottom: 0;
  }

  .kf-maxim-archive__feature figure {
    height: auto;
    aspect-ratio: 16 / 9;
  }

  .kf-maxim-archive__feature-paper {
    position: relative;
    right: auto;
    bottom: auto;
    width: calc(100% - 28px);
    margin: -28px auto 0;
    padding: 25px 24px 27px;
  }

  .kf-maxim-archive__feature-paper h3 {
    font-size: 1.4rem;
  }

  .kf-maxim-archive__library {
    margin-top: 64px;
  }

  .kf-maxim-archive__entry {
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 25px 4px 28px;
  }

  .kf-maxim-archive__entry-date {
    grid-row: 1 / span 2;
  }

  .kf-maxim-archive__entry-copy {
    grid-column: 2;
  }

  .kf-maxim-archive__entry-visual {
    grid-column: 2;
    grid-row: 1;
    margin-bottom: 12px;
  }

  .kf-maxim-archive__entry h3 {
    font-size: 1.08rem;
  }
}

@media (max-width: 430px) {
  .kf-maxim-archive__experience-index {
    grid-template-columns: 1fr;
  }

  .kf-maxim-archive__experience-index a,
  .kf-maxim-archive__experience-index a:nth-child(2) {
    grid-column: auto;
    border-top: 1px solid var(--kf-maxim-archive-line);
    border-left: 0;
  }

  .kf-maxim-archive__experience-index a:first-child {
    border-top: 0;
  }
}

.kf-practice-notes-archive {
  --kf-notes-paper: #fffefb;
  --kf-notes-green-dark: #3f463d;
  --kf-notes-bronze: #8d7139;
  --kf-notes-line: #d8c9ad;
  --kf-notes-ink: #2b2923;
  --kf-notes-soft: #6e695f;
  color: var(--kf-notes-ink);
}

.kf-practice-notes-archive p:empty {
  display: none;
}

.kf-practice-notes-archive__breadcrumb {
  width: min(1120px, calc(100% - 48px));
  margin: 0 auto;
  padding: 24px 0 20px;
}

.kf-practice-notes-archive__masthead {
  display: grid;
  grid-template-columns: minmax(390px, 0.88fr) minmax(540px, 1.12fr);
  min-height: 440px;
  overflow: hidden;
  background: var(--kf-notes-green-dark);
  color: #fffdf7;
}

.kf-practice-notes-archive__masthead-copy {
  display: flex;
  box-sizing: border-box;
  flex-direction: column;
  justify-content: center;
  padding: 70px 56px 70px max(56px, calc((100vw - 1120px) / 2));
}

.kf-practice-notes-archive__kicker {
  margin: 0 0 16px;
  color: #dccca9;
  font-size: 0.68rem;
  letter-spacing: 0.18em;
}

.kf-practice-notes-archive__masthead h1 {
  margin: 0;
  font-size: clamp(1.9rem, 2.15vw, 2.2rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.4;
  white-space: nowrap;
}

.kf-practice-notes-archive__masthead-copy > p:last-child {
  margin: 28px 0 0;
  color: rgb(255 253 247 / 82%);
  font-size: 0.95rem;
  line-height: 2.05;
}

.kf-practice-notes-archive__masthead-image {
  position: relative;
  min-width: 0;
  margin: 0;
}

.kf-practice-notes-archive__masthead-image::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgb(63 70 61 / 22%), transparent 28%);
  content: "";
  pointer-events: none;
}

.kf-practice-notes-archive__masthead-image > img,
.kf-practice-notes-archive__masthead-image > .kf-practice-notes-archive__image-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 0;
  object-fit: cover;
}

.kf-practice-notes-archive__masthead-image figcaption {
  position: absolute;
  right: 26px;
  bottom: 24px;
  z-index: 1;
  padding: 8px 12px;
  background: rgb(255 253 247 / 88%);
  color: var(--kf-notes-soft);
  font-size: 0.68rem;
}

.kf-practice-notes-archive__shell {
  width: min(1040px, calc(100% - 48px));
  margin: 66px auto 28px;
}

.kf-practice-notes-archive__introduction {
  display: grid;
  grid-template-columns: 165px minmax(0, 1fr);
  gap: 48px;
  margin-bottom: 78px;
  padding: 0 52px;
}

.kf-practice-notes-archive__introduction > p {
  margin: 9px 0 0;
  color: var(--kf-notes-bronze);
  font-size: 0.64rem;
  letter-spacing: 0.16em;
}

.kf-practice-notes-archive__introduction > div {
  display: grid;
  grid-template-columns: 320px minmax(320px, 1fr);
  gap: 48px;
  align-items: start;
}

.kf-practice-notes-archive__introduction h2 {
  margin: 0;
  font-size: clamp(1.55rem, 2.5vw, 2.1rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.75;
}

.kf-practice-notes-archive__introduction > div > p {
  margin: 2px 0 0;
  color: var(--kf-notes-soft);
  line-height: 2.15;
}

.kf-practice-notes-archive__section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 28px;
  border-bottom: 1px solid var(--kf-notes-line);
}

.kf-practice-notes-archive__section-heading p {
  margin: 0 0 6px;
  color: var(--kf-notes-bronze);
  font-size: 0.64rem;
  letter-spacing: 0.16em;
}

.kf-practice-notes-archive__section-heading h2 {
  margin: 0;
  padding: 0 0 13px;
  border-bottom: 2px solid var(--kf-notes-bronze);
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}

.kf-practice-notes-archive__section-heading > span {
  margin-bottom: 13px;
  color: var(--kf-notes-soft);
  font-size: 0.76rem;
}

.kf-practice-notes-archive__feature {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(340px, 0.82fr);
  background: var(--kf-notes-paper);
}

.kf-practice-notes-archive__feature-image {
  min-height: 390px;
  overflow: hidden;
}

.kf-practice-notes-archive__feature-image img,
.kf-practice-notes-archive__feature-image .kf-practice-notes-archive__image-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kf-practice-notes-archive__feature-copy {
  align-self: center;
  padding: 46px 48px;
}

.kf-practice-notes-archive__feature-label {
  margin: 0 0 11px;
  color: var(--kf-notes-bronze);
  font-size: 0.68rem;
  letter-spacing: 0.1em;
}

.kf-practice-notes-archive__feature h3 {
  margin: 0 0 20px;
  font-size: 1.75rem;
  font-weight: 500;
  letter-spacing: 0.045em;
  line-height: 1.65;
}

.kf-practice-notes-archive__feature h3 a {
  color: inherit;
  text-decoration: none;
}

.kf-practice-notes-archive__feature-copy > p:not(.kf-practice-notes-archive__feature-label) {
  margin: 0 0 25px;
  color: var(--kf-notes-soft);
  line-height: 2;
}

.kf-practice-notes-archive__read {
  display: inline-flex;
  gap: 18px;
  padding-bottom: 4px;
  border-bottom: 1px solid #b7a275;
  color: #725b2e;
  font-size: 0.84rem;
  text-decoration: none;
}

.kf-practice-notes-archive__all {
  margin-top: 82px;
}

.kf-practice-notes-archive__index {
  border-top: 1px solid var(--kf-notes-line);
}

.kf-practice-notes-archive__entry {
  display: grid;
  grid-template-columns: 74px 292px minmax(0, 1fr);
  gap: 30px;
  align-items: center;
  padding: 30px 10px;
  border-bottom: 1px solid var(--kf-notes-line);
}

.kf-practice-notes-archive__entry time {
  align-self: start;
  padding-top: 6px;
  color: var(--kf-notes-bronze);
  font-style: normal;
}

.kf-practice-notes-archive__entry time b {
  display: block;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.08em;
}

.kf-practice-notes-archive__entry time span {
  display: block;
  margin-top: 3px;
  font-size: 1rem;
}

.kf-practice-notes-archive__entry-image {
  display: block;
  overflow: hidden;
  border-radius: 10px;
}

.kf-practice-notes-archive__entry-image img,
.kf-practice-notes-archive__entry-image .kf-practice-notes-archive__image-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 8.3;
  border-radius: 10px;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.kf-practice-notes-archive__image-placeholder {
  background-color: var(--kf-color-paper);
  background-image: url("../images/official-wallpaper-wp.jpg");
  background-position: center;
  background-size: 260px auto;
}

.kf-practice-notes-archive__entry:hover .kf-practice-notes-archive__entry-image img {
  transform: scale(1.025);
}

.kf-practice-notes-archive__entry-copy > p:first-child {
  margin: 0 0 6px;
  color: var(--kf-notes-bronze);
  font-size: 0.66rem;
  letter-spacing: 0.1em;
}

.kf-practice-notes-archive__entry h3 {
  margin: 0 0 10px;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.035em;
  line-height: 1.6;
}

.kf-practice-notes-archive__entry h3 a {
  color: inherit;
  text-decoration: none;
}

.kf-practice-notes-archive__entry-copy > p:not(:first-child) {
  margin: 0;
  color: var(--kf-notes-soft);
  font-size: 0.84rem;
  line-height: 1.9;
}

.kf-practice-notes-archive__entry-copy > a {
  display: inline-flex;
  gap: 13px;
  margin-top: 13px;
  color: #725b2e;
  font-size: 0.75rem;
  text-decoration: none;
}

.kf-practice-notes-archive__back {
  margin-top: 34px;
  text-align: right;
}

.kf-practice-notes-archive__back a {
  color: var(--kf-notes-bronze);
  font-size: 0.8rem;
  text-underline-offset: 0.28em;
}

.kf-practice-notes-archive__empty {
  display: grid;
  min-height: 220px;
  margin: 0;
  border: 1px solid var(--kf-notes-line);
  background: var(--kf-notes-paper);
  color: var(--kf-notes-soft);
  place-items: center;
}

@media (max-width: 900px) {
  .kf-practice-notes-archive__masthead {
    grid-template-columns: 1fr;
  }

  .kf-practice-notes-archive__masthead-copy {
    padding: 54px 36px;
    text-align: center;
  }

  .kf-practice-notes-archive__masthead-image {
    height: 330px;
  }

  .kf-practice-notes-archive__introduction {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 0 20px;
  }

  .kf-practice-notes-archive__introduction > div {
    gap: 32px;
  }

  .kf-practice-notes-archive__feature {
    grid-template-columns: 1fr;
  }

  .kf-practice-notes-archive__feature-image {
    min-height: 0;
    aspect-ratio: 16 / 8.4;
  }

  .kf-practice-notes-archive__entry {
    grid-template-columns: 66px 235px minmax(0, 1fr);
    gap: 22px;
  }
}

@media (max-width: 760px) {
  .kf-practice-notes-archive__introduction > div {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .kf-practice-notes-archive__introduction h2 br {
    display: none;
  }
}

@media (max-width: 680px) {
  .kf-practice-notes-archive__breadcrumb {
    width: calc(100% - 32px);
    padding: 18px 0 16px;
  }

  .kf-practice-notes-archive__masthead-copy {
    padding: 38px 22px 40px;
  }

  .kf-practice-notes-archive__masthead h1 {
    font-size: 1.9rem;
    white-space: normal;
  }

  .kf-practice-notes-archive__masthead-copy > p:last-child {
    margin-top: 20px;
    font-size: 0.84rem;
  }

  .kf-practice-notes-archive__masthead-image {
    height: 230px;
  }

  .kf-practice-notes-archive__masthead-image figcaption {
    right: 12px;
    bottom: 12px;
  }

  .kf-practice-notes-archive__shell {
    width: calc(100% - 28px);
    margin-top: 42px;
  }

  .kf-practice-notes-archive__introduction {
    margin-bottom: 55px;
    padding: 0 8px;
  }

  .kf-practice-notes-archive__feature-copy {
    padding: 28px 24px 32px;
  }

  .kf-practice-notes-archive__feature h3 {
    font-size: 1.4rem;
  }

  .kf-practice-notes-archive__all {
    margin-top: 60px;
  }

  .kf-practice-notes-archive__entry {
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 24px 4px 27px;
  }

  .kf-practice-notes-archive__entry time {
    grid-row: 1 / span 2;
  }

  .kf-practice-notes-archive__entry-image,
  .kf-practice-notes-archive__entry-copy {
    grid-column: 2;
  }

  .kf-practice-notes-archive__entry-image img,
  .kf-practice-notes-archive__entry-image .kf-practice-notes-archive__image-placeholder {
    aspect-ratio: 16 / 8.8;
  }

  .kf-practice-notes-archive__entry h3 {
    font-size: 1.08rem;
  }

  .kf-practice-notes-archive__entry-copy > p:not(:first-child) {
    font-size: 0.8rem;
  }

  .kf-practice-notes-archive__back {
    margin-top: 28px;
  }
}

.kf-food-walk-archive {
  --kf-food-walk-paper: #fffdf9;
  --kf-food-walk-ink: #2c2a26;
  --kf-food-walk-soft: #625c53;
  --kf-food-walk-line: #ddd5c7;
  --kf-food-walk-gold: #806843;
  --kf-food-walk-sage: #edf1e9;
  --kf-food-walk-deep: #4d594f;
  color: var(--kf-food-walk-ink);
}

.kf-food-walk-archive__breadcrumb {
  margin-bottom: 0;
  padding: 24px 0;
}

.kf-food-walk-archive__hero {
  display: grid;
  grid-template-columns: 42% 58%;
  width: min(1080px, calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin: 0 auto;
  border-block: 1px solid var(--kf-food-walk-line);
  background: var(--kf-food-walk-paper);
}

.kf-food-walk-archive__hero-copy {
  padding: 58px 60px;
}

.kf-food-walk-archive__hero-copy > p:first-child,
.kf-food-walk-archive__kicker,
.kf-food-walk-archive__section-heading > p,
.kf-food-walk-archive__past > div > p:first-child {
  color: var(--kf-food-walk-gold);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.68rem;
  letter-spacing: 0.2em;
  line-height: 1.5;
}

.kf-food-walk-archive__hero h1 {
  margin: 22px 0;
  font-size: clamp(2.45rem, 4.5vw, 3.625rem);
  font-weight: 500;
  line-height: 1.38;
}

.kf-food-walk-archive__hero-copy > i {
  display: block;
  width: 74px;
  margin: 26px 0;
  border-top: 1px solid var(--kf-food-walk-gold);
}

.kf-food-walk-archive__hero-copy > p:last-child {
  color: var(--kf-food-walk-soft);
  font-size: 1rem;
  line-height: 2;
}

.kf-food-walk-archive__hero figure {
  align-self: stretch;
  margin: 0;
  overflow: hidden;
}

.kf-food-walk-archive__hero img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 0;
  object-fit: cover;
}

.kf-food-walk-archive__shell {
  width: min(940px, calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin: 0 auto;
  padding: 0 0 100px;
}

.kf-food-walk-archive__guide {
  display: flex;
  gap: 28px;
  align-items: center;
  padding: 28px 0;
  border-bottom: 1px solid var(--kf-food-walk-line);
}

.kf-food-walk-archive__guide span {
  margin-right: auto;
  color: var(--kf-food-walk-soft);
  font-size: 0.8rem;
}

.kf-food-walk-archive__guide a {
  color: inherit;
  font-size: 0.875rem;
  text-decoration: none;
}

.kf-food-walk-archive__intro {
  max-width: 720px;
  margin: 64px auto 72px;
  text-align: center;
}

.kf-food-walk-archive__intro h2 {
  margin: 13px 0 20px;
  font-size: 1.8rem;
  font-weight: 500;
}

.kf-food-walk-archive__intro > p:last-child {
  color: var(--kf-food-walk-soft);
  font-size: 1rem;
  line-height: 2;
}

.kf-food-walk-archive__section-heading {
  display: flex;
  gap: 26px;
  align-items: baseline;
  margin-bottom: 24px;
}

.kf-food-walk-archive__section-heading > p {
  margin: 0;
}

.kf-food-walk-archive__section-heading h2 {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 500;
}

.kf-food-walk-archive__new {
  padding: 0 0 72px;
  border-bottom: 1px solid var(--kf-food-walk-line);
}

.kf-food-walk-archive__new-grid {
  display: grid;
  grid-template-columns: 1fr;
}

.kf-food-walk-archive__new a {
  display: block;
  color: inherit;
  text-decoration: none;
}

.kf-food-walk-archive__new figure {
  position: relative;
  margin: 0;
  overflow: hidden;
}

.kf-food-walk-archive__new figure img,
.kf-food-walk-archive__image-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 0;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.kf-food-walk-archive__image-placeholder {
  background-color: var(--kf-color-paper);
  background-image: url("../images/official-wallpaper-wp.jpg");
  background-position: center;
  background-size: 260px auto;
}

.kf-food-walk-archive__new a:hover img {
  transform: scale(1.02);
}

.kf-food-walk-archive__new-story {
  border: 1px solid var(--kf-food-walk-line);
  background: var(--kf-food-walk-paper);
}

.kf-food-walk-archive__new-story > a {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
}

.kf-food-walk-archive__new-story figure {
  height: 100%;
  min-height: 330px;
}

.kf-food-walk-archive__new-story > a > div {
  padding: 24px 27px 28px;
}

.kf-food-walk-archive__new-story > a > div > p:first-child {
  display: flex;
  gap: 15px;
  color: var(--kf-food-walk-gold);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  line-height: 1.5;
}

.kf-food-walk-archive__new-story h3 {
  margin: 10px 0;
  font-size: 1.35rem;
  font-weight: 500;
  line-height: 1.55;
}

.kf-food-walk-archive__new-story > a > div > p:nth-of-type(2) {
  color: var(--kf-food-walk-soft);
  line-height: 1.8;
}

.kf-food-walk-archive__new i {
  color: var(--kf-food-walk-gold);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.68rem;
  font-style: normal;
  letter-spacing: 0.08em;
  line-height: 1.5;
}

.kf-food-walk-archive__themes {
  padding: 68px 0;
  border-bottom: 1px solid var(--kf-food-walk-line);
}

.kf-food-walk-archive__themes nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--kf-food-walk-line);
  background: var(--kf-food-walk-paper);
}

.kf-food-walk-archive__themes a {
  display: grid;
  grid-template-columns: 32px 1fr 20px;
  gap: 14px;
  padding: 27px 24px;
  color: inherit;
  text-decoration: none;
  transition: background-color 180ms ease;
}

.kf-food-walk-archive__themes a:hover,
.kf-food-walk-archive__themes a:focus-visible,
.kf-food-walk-archive__themes a[aria-current="page"] {
  background: color-mix(in srgb, var(--kf-food-walk-gold) 9%, var(--kf-food-walk-paper));
}

.kf-food-walk-archive__themes a + a {
  border-left: 1px solid var(--kf-food-walk-line);
}

.kf-food-walk-archive__themes a > span {
  color: var(--kf-food-walk-gold);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.75rem;
}

.kf-food-walk-archive__themes small {
  display: block;
  color: var(--kf-food-walk-gold);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.56rem;
  letter-spacing: 0.18em;
}

.kf-food-walk-archive__themes b {
  display: block;
  margin: 9px 0 10px;
  font-size: 1.1rem;
  font-weight: 500;
}

.kf-food-walk-archive__themes p {
  margin: 0;
  color: var(--kf-food-walk-soft);
  font-size: 0.8rem;
  line-height: 1.7;
}

.kf-food-walk-archive__themes i {
  align-self: center;
  color: var(--kf-food-walk-gold);
  font-style: normal;
}

.kf-food-walk-archive__year {
  padding: 62px 0 68px;
  border-bottom: 1px solid var(--kf-food-walk-line);
  scroll-margin-top: calc(var(--kf-sticky-header-height) + 24px);
}

.kf-food-walk-archive__year > header {
  display: flex;
  gap: 26px;
  align-items: baseline;
  margin-bottom: 24px;
}

.kf-food-walk-archive__year > header h2 {
  margin: 0;
  color: var(--kf-food-walk-gold);
  font-size: 2.35rem;
  font-weight: 400;
}

.kf-food-walk-archive__year > header p {
  color: var(--kf-food-walk-soft);
}

.kf-food-walk-archive__list {
  border-top: 1px solid var(--kf-food-walk-line);
}

.kf-food-walk-archive__list article {
  border-bottom: 1px solid var(--kf-food-walk-line);
}

.kf-food-walk-archive__list article > a {
  display: grid;
  grid-template-columns: 100px 210px minmax(0, 1fr);
  gap: 28px;
  align-items: center;
  padding: 24px 0;
  color: inherit;
  text-decoration: none;
}

.kf-food-walk-archive__list time {
  align-self: start;
  padding-top: 7px;
}

.kf-food-walk-archive__list time b {
  display: block;
  color: var(--kf-food-walk-gold);
  font-size: 1.1rem;
  font-weight: 400;
}

.kf-food-walk-archive__list time span {
  display: block;
  margin-top: 9px;
  color: var(--kf-food-walk-soft);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.625rem;
  letter-spacing: 0.08em;
  line-height: 1.5;
}

.kf-food-walk-archive__list figure {
  height: 132px;
  margin: 0;
  overflow: hidden;
}

.kf-food-walk-archive__list figure img,
.kf-food-walk-archive__list .kf-food-walk-archive__image-placeholder {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.25s;
}

.kf-food-walk-archive__list a:hover img {
  opacity: 0.85;
}

.kf-food-walk-archive__list h3 {
  margin: 0 0 9px;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.55;
}

.kf-food-walk-archive__list div > p {
  margin: 0 0 7px;
  color: var(--kf-food-walk-soft);
  line-height: 1.8;
}

.kf-food-walk-archive__list i {
  color: var(--kf-food-walk-gold);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.625rem;
  font-style: normal;
  letter-spacing: 0.1em;
}

.kf-food-walk-archive__past {
  display: grid;
  grid-template-columns: 42% 58%;
  gap: 58px;
  padding: 70px 0 10px;
}

.kf-food-walk-archive__past h2 {
  margin: 12px 0 18px;
  font-size: 1.8rem;
  font-weight: 500;
}

.kf-food-walk-archive__past > div > p:last-child {
  color: var(--kf-food-walk-soft);
  line-height: 1.9;
}

.kf-food-walk-archive__past nav {
  border-top: 1px solid var(--kf-food-walk-line);
}

.kf-food-walk-archive__past nav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 4px;
  border-bottom: 1px solid var(--kf-food-walk-line);
  color: inherit;
  text-decoration: none;
}

.kf-food-walk-archive__past nav a[aria-current="page"] {
  color: var(--kf-food-walk-gold);
}

.kf-food-walk-archive__past nav b {
  font-size: 1.18rem;
  font-weight: 400;
}

.kf-food-walk-archive__past nav span {
  color: var(--kf-food-walk-soft);
  font-size: 0.75rem;
}

.kf-food-walk-archive__empty {
  display: grid;
  min-height: 250px;
  margin: 0;
  padding: 30px;
  border: 1px solid var(--kf-food-walk-line);
  color: var(--kf-food-walk-soft);
  place-items: center;
}

@media (max-width: 760px) {
  .kf-food-walk-archive__breadcrumb {
    padding-right: 0;
    padding-left: 0;
  }

  .kf-food-walk-archive__hero {
    grid-template-columns: 1fr;
    width: 100%;
  }

  .kf-food-walk-archive__hero-copy {
    padding: 42px 25px 32px;
  }

  .kf-food-walk-archive__hero figure {
    height: 240px;
  }

  .kf-food-walk-archive__guide {
    overflow-x: auto;
  }

  .kf-food-walk-archive__guide span {
    display: none;
  }

  .kf-food-walk-archive__guide a {
    white-space: nowrap;
  }

  .kf-food-walk-archive__intro {
    text-align: left;
  }

  .kf-food-walk-archive__new-grid,
  .kf-food-walk-archive__themes nav,
  .kf-food-walk-archive__past {
    grid-template-columns: 1fr;
  }

  .kf-food-walk-archive__new-story > a {
    grid-template-columns: 1fr;
  }

  .kf-food-walk-archive__new-story figure {
    height: 280px;
    min-height: 0;
  }

  .kf-food-walk-archive__themes a + a {
    border-top: 1px solid var(--kf-food-walk-line);
    border-left: 0;
  }

  .kf-food-walk-archive__list article > a {
    grid-template-columns: 70px 105px minmax(0, 1fr);
    gap: 14px;
  }

  .kf-food-walk-archive__list figure {
    height: 100px;
  }

  .kf-food-walk-archive__list h3 {
    font-size: 1.1rem;
  }

  .kf-food-walk-archive__list div > p {
    display: none;
  }

  .kf-food-walk-archive__past {
    gap: 28px;
  }
}

@media (max-width: 480px) {
  .kf-food-walk-archive__shell {
    width: calc(100% - 36px);
  }

  .kf-food-walk-archive__list article > a {
    grid-template-columns: 62px minmax(0, 1fr);
  }

  .kf-food-walk-archive__list figure {
    grid-column: 2;
    height: 150px;
  }

  .kf-food-walk-archive__list article div {
    grid-column: 2;
  }

  .kf-food-walk-archive__list time {
    grid-row: 1 / 3;
  }

  .kf-food-walk-archive__new-story figure {
    height: 210px;
  }
}

.kf-activity-page {
  --kf-activity-paper: #fffefb;
  --kf-activity-sage: #e5e8df;
  --kf-activity-green: #4f5e4e;
  --kf-activity-gold: #8d713c;
  --kf-activity-line: #d9cdb6;
  --kf-activity-soft: #6d675d;
}

.kf-activity-hero {
  display: flex;
  flex-direction: column;
  width: min(var(--kf-layout-with-sidebar), calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin: 0 auto;
  color: var(--kf-color-ink);
}

.kf-activity-hero__paper {
  padding: 50px 70px;
  text-align: center;
  background: var(--kf-activity-paper);
}

.kf-activity-kicker,
.kf-activity-chapter {
  margin: 0;
  color: var(--kf-activity-gold);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.7rem;
  letter-spacing: 0.17em;
  line-height: 1.6;
}

.kf-activity-hero__series {
  margin: 10px 0;
  color: var(--kf-activity-green);
  font-size: 0.8rem;
  letter-spacing: 0.08em;
}

.kf-activity-hero__title {
  max-width: 18em;
  margin: 0 auto;
  color: var(--kf-color-ink);
  font-size: clamp(2rem, 3.2vw, 2.85rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.55;
}

.kf-activity-hero__rule {
  width: 70px !important;
  margin: 20px auto 15px !important;
  border-top: 1px solid var(--kf-activity-gold) !important;
  border-bottom: 0 !important;
}

.kf-activity-hero__meta {
  gap: 7px 25px;
  color: var(--kf-activity-soft);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.75rem;
}

.kf-activity-hero__meta :where(p, .wp-block-post-author) {
  margin: 0;
}

.kf-activity-hero__meta a {
  color: inherit;
}

.kf-activity-hero__author .wp-block-post-author__avatar,
.kf-activity-hero__author .wp-block-post-author__byline,
.kf-activity-hero__author .wp-block-post-author__bio {
  display: none;
}

.kf-activity-hero__author .wp-block-post-author__name {
  margin: 0;
}

.kf-activity-hero__photo,
.kf-activity-hero__featured,
.kf-activity-hero__featured a {
  height: 445px;
  margin: 0;
}

.kf-activity-hero__photo {
  overflow: hidden;
}

.kf-activity-hero__featured img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 0;
  object-fit: cover;
}

.kf-activity-layout {
  margin-top: 52px;
}

.kf-activity-article {
  padding-top: 54px;
}

.kf-activity-article .wp-block-post-content :where(p, li) {
  font-size: 1rem;
  line-height: 2.1;
}

.kf-activity-article .wp-block-post-content > p:first-child {
  margin-bottom: 34px;
  color: var(--kf-activity-green);
  font-size: 1.02rem;
}

.kf-activity-article .wp-block-post-content h2 {
  padding-bottom: 13px;
  border-bottom-color: var(--kf-activity-line);
  font-weight: 500;
}

.kf-activity-article .wp-block-post-content a {
  color: var(--kf-activity-green);
  text-decoration-color: color-mix(in srgb, var(--kf-activity-gold) 48%, transparent);
}

.kf-activity-facts {
  margin: 0 0 64px;
  padding: 25px;
  border: 1px solid var(--kf-activity-line);
  border-radius: 12px;
  background: color-mix(in srgb, var(--kf-activity-sage) 62%, var(--kf-activity-paper));
}

.kf-activity-facts dl {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  margin: 0;
}

.kf-activity-facts div {
  padding: 0 16px;
  border-left: 1px solid var(--kf-activity-line);
  text-align: center;
}

.kf-activity-facts div:first-child {
  border-left: 0;
}

.kf-activity-facts dt {
  color: var(--kf-activity-gold);
  font-size: 0.7rem;
}

.kf-activity-facts dd {
  margin: 7px 0 0;
  color: var(--kf-activity-green);
  font-size: 0.9rem;
  line-height: 1.65;
}

.kf-activity-section-heading {
  margin-top: 2.8em;
}

.kf-activity-section-heading .kf-activity-chapter {
  margin-bottom: 0;
}

.kf-activity-section-heading h2,
.kf-activity-chapter + h2 {
  margin-top: 0 !important;
}

.kf-activity-note {
  margin: 35px 0;
  padding: 24px 28px;
  border-left: 3px solid var(--kf-activity-gold);
  background: color-mix(in srgb, var(--kf-activity-sage) 55%, transparent);
}

.kf-activity-note__label {
  margin: 0 !important;
  color: var(--kf-activity-gold);
  font-size: 0.74rem !important;
}

.kf-activity-note p:last-child {
  margin: 9px 0 0 !important;
  line-height: 2 !important;
}

.kf-activity-photo-pair {
  gap: 15px;
  margin-top: 38px;
  margin-bottom: 38px;
}

.kf-activity-photo-pair .wp-block-column,
.kf-activity-photo-pair figure {
  margin: 0;
}

.kf-activity-photo-pair img {
  width: 100%;
  height: 260px;
  border-radius: 10px;
  object-fit: cover;
}

.kf-activity-page .kf-related-posts__kicker,
.kf-activity-sidebar .kf-post-sidebar__eyebrow {
  color: var(--kf-activity-gold);
}

.kf-activity-sidebar__report-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kf-activity-sidebar li a {
  padding-left: 10px;
  font-size: 0.88rem;
  line-height: 1.72;
}

.kf-activity-sidebar a[aria-current="page"] {
  color: var(--kf-activity-gold);
  font-weight: 600;
}

.kf-activity-back {
  margin-top: 25px;
  text-align: right;
}

.kf-activity-back a {
  color: var(--kf-activity-gold);
  font-size: 0.76rem;
}

@media (max-width: 760px) {
  .kf-activity-hero {
    width: 100%;
  }

  .kf-activity-hero__paper {
    padding: 42px 24px;
  }

  .kf-activity-hero__title {
    font-size: 1.82rem;
  }

  .kf-activity-hero__meta {
    display: grid;
    gap: 4px;
  }

  .kf-activity-hero__photo,
  .kf-activity-hero__featured,
  .kf-activity-hero__featured a {
    height: 260px;
  }

  .kf-activity-layout {
    margin-top: 38px;
  }

  .kf-activity-article {
    padding-top: 39px;
  }

  .kf-activity-facts {
    padding: 22px 16px;
  }

  .kf-activity-facts dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 0;
  }

  .kf-activity-facts div:nth-child(odd) {
    border-left: 0;
  }

  .kf-activity-photo-pair {
    display: grid;
    grid-template-columns: 1fr !important;
  }

  .kf-activity-photo-pair img {
    height: auto;
  }

  .kf-activity-back {
    text-align: left;
  }
}

.kf-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  width: min(var(--kf-layout-wide), calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin: 24px auto 18px;
  color: var(--kf-color-ink-soft);
  font-size: 0.75rem;
}

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

.kf-breadcrumb a::after {
  margin-left: 12px;
  color: var(--kf-color-line-strong);
  content: "/";
}

.kf-404-page {
  padding-bottom: 0;
  color: var(--kf-color-ink);
}

.kf-404-panel {
  position: relative;
  display: grid;
  place-items: center;
  width: min(var(--kf-layout-wide), calc(100% - (var(--kf-mobile-gutter) * 2)));
  min-height: 430px;
  margin: 0 auto;
  overflow: hidden;
  background: var(--kf-color-surface);
}

.kf-404-panel__number {
  position: absolute;
  right: 50px;
  bottom: -48px;
  margin: 0;
  color: color-mix(in srgb, var(--kf-color-sage) 8%, transparent);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 18rem;
  font-weight: 500;
  line-height: 1;
}

.kf-404-panel__copy {
  position: relative;
  z-index: 1;
  width: min(580px, calc(100% - 80px));
  text-align: center;
}

.kf-404-panel__eyebrow {
  margin: 0 0 16px;
  color: var(--kf-color-bronze);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.72rem;
  letter-spacing: 0.22em;
}

.kf-404-panel h1 {
  margin: 0;
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.55;
}

.kf-404-panel h1::after {
  display: block;
  width: 70px;
  height: 1px;
  margin: 24px auto;
  background: var(--kf-color-bronze);
  content: "";
}

.kf-404-panel__description {
  margin: 0;
  color: var(--kf-color-ink-soft);
  font-size: 0.9rem;
  line-height: 2;
}

.kf-404-search {
  display: grid;
  grid-template-columns: 1fr auto;
  width: min(470px, 100%);
  margin: 28px auto 0;
}

.kf-404-search input {
  min-width: 0;
  padding: 13px 16px;
  border: 1px solid var(--kf-color-line-strong);
  border-right: 0;
  border-radius: 6px 0 0 6px;
  background: #fff;
  font: inherit;
}

.kf-404-search button {
  padding: 0 24px;
  border: 1px solid var(--kf-color-sage);
  border-radius: 0 6px 6px 0;
  background: var(--kf-color-sage);
  color: #fff;
  font: inherit;
  cursor: pointer;
}

.kf-404-guides {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  width: min(var(--kf-layout-wide), calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin: 30px auto 18px;
  border-top: 1px solid var(--kf-color-line-strong);
  border-bottom: 1px solid var(--kf-color-line-strong);
  background: color-mix(in srgb, var(--kf-color-surface) 58%, transparent);
}

.kf-404-guides a {
  position: relative;
  display: grid;
  gap: 7px;
  padding: 22px 50px 22px 24px;
  border-left: 1px solid var(--kf-color-line-strong);
  color: inherit;
  text-decoration: none;
}

.kf-404-guides a:first-child {
  border-left: 0;
}

.kf-404-guides span {
  color: var(--kf-color-bronze);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.66rem;
  letter-spacing: 0.16em;
}

.kf-404-guides strong {
  font-size: 0.92rem;
  font-weight: 400;
}

.kf-404-guides i {
  position: absolute;
  top: 50%;
  right: 22px;
  color: var(--kf-color-bronze);
  font-style: normal;
  transform: translateY(-50%);
}

@media (max-width: 700px) {
  .kf-404-panel {
    min-height: 400px;
  }

  .kf-404-panel__number {
    right: -5px;
    bottom: -16px;
    font-size: 11rem;
  }

  .kf-404-panel__copy {
    width: calc(100% - 40px);
  }

  .kf-404-panel h1 {
    font-size: 1.75rem;
  }

  .kf-404-panel__description br {
    display: none;
  }

  .kf-404-guides {
    grid-template-columns: 1fr;
  }

  .kf-404-guides a {
    border-top: 1px solid var(--kf-color-line-strong);
    border-left: 0;
  }

  .kf-404-guides a:first-child {
    border-top: 0;
  }
}

@media (max-width: 430px) {
  .kf-404-search {
    grid-template-columns: 1fr;
  }

  .kf-404-search input {
    border-right: 1px solid var(--kf-color-line-strong);
    border-radius: 6px 6px 0 0;
  }

  .kf-404-search button {
    min-height: 44px;
    border-radius: 0 0 6px 6px;
  }
}

.kf-sitemap-page {
  padding-bottom: 0;
  color: var(--kf-color-ink);
}

.kf-sitemap-scene {
  position: relative;
  width: 100%;
  height: clamp(248px, 22vw, 318px);
  margin: 0;
  overflow: hidden;
  background: #efeee9;
}

.kf-sitemap-scene > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 57%;
}

.kf-sitemap-scene__title {
  position: absolute;
  inset: 50% auto auto 50%;
  width: min(600px, 54vw);
  text-align: center;
  transform: translate(-50%, -50%);
}

.kf-sitemap-scene__title > p,
.kf-sitemap-eyebrow {
  margin: 0;
  color: var(--kf-color-bronze);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.7rem;
  letter-spacing: 0.2em;
}

.kf-sitemap-scene__title h1 {
  margin: 8px 0 15px;
  font-size: 2.55rem;
  font-weight: 500;
  letter-spacing: 0.14em;
}

.kf-sitemap-page > .kf-breadcrumb {
  margin-top: 0;
  padding-top: 24px;
}

.kf-sitemap-intro {
  width: min(var(--kf-layout-wide), calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin: 0 auto;
  padding: 8px 0 0;
  text-align: center;
}

.kf-sitemap-intro p {
  margin: 0;
  color: var(--kf-color-ink-soft);
  font-size: 0.92rem;
  line-height: 2;
}

.kf-sitemap-shortcuts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  width: min(var(--kf-layout-wide), calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin: 28px auto 56px;
  border-top: 1px solid var(--kf-color-line-strong);
  border-bottom: 1px solid var(--kf-color-line-strong);
  background: color-mix(in srgb, var(--kf-color-surface) 58%, transparent);
}

.kf-sitemap-shortcuts a {
  position: relative;
  display: grid;
  gap: 5px;
  padding: 18px 50px 18px 22px;
  border-left: 1px solid var(--kf-color-line-strong);
  color: inherit;
  font-size: 0.9rem;
  text-decoration: none;
}

.kf-sitemap-shortcuts a:first-child {
  border-left: 0;
}

.kf-sitemap-shortcuts span,
.kf-sitemap-eyebrow {
  color: var(--kf-color-bronze);
}

.kf-sitemap-shortcuts span {
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.63rem;
  letter-spacing: 0.15em;
}

.kf-sitemap-shortcuts i {
  position: absolute;
  top: 50%;
  right: 22px;
  color: var(--kf-color-bronze);
  font-style: normal;
  transform: translateY(-50%);
}

.kf-sitemap-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  width: min(var(--kf-layout-wide), calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin: 0 auto;
}

.kf-sitemap-groups section {
  padding: 28px 32px 20px;
  border: 1px solid var(--kf-color-line);
  border-radius: 12px;
  background: color-mix(in srgb, var(--kf-color-surface) 88%, transparent);
}

.kf-sitemap-groups header {
  padding-bottom: 18px;
  border-bottom: 1px solid var(--kf-color-line);
}

.kf-sitemap-groups h2 {
  margin: 6px 0 0;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.06em;
}

.kf-sitemap-groups h2 a {
  color: inherit;
  text-decoration: none;
}

.kf-sitemap-description {
  margin: 10px 0 0;
  color: var(--kf-color-ink-soft);
  font-size: 0.86rem;
  line-height: 1.75;
}

.kf-sitemap-groups ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kf-sitemap-groups li {
  margin: 0;
  border-bottom: 1px solid var(--kf-color-line);
}

.kf-sitemap-groups li:last-child {
  border-bottom: 0;
}

.kf-sitemap-groups li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 8px;
  color: inherit;
  font-size: 0.88rem;
  text-decoration: none;
}

.kf-sitemap-groups li span {
  color: var(--kf-color-bronze);
}

@media (max-width: 700px) {
  .kf-sitemap-scene {
    display: flex;
    height: auto;
    flex-direction: column-reverse;
    background: var(--kf-color-surface);
  }

  .kf-sitemap-scene > img {
    height: 170px;
    object-position: center 57%;
  }

  .kf-sitemap-scene__title {
    position: static;
    width: 100%;
    box-sizing: border-box;
    padding: 30px 20px 25px;
    transform: none;
  }

  .kf-sitemap-scene__title h1 {
    font-size: 2rem;
  }

  .kf-sitemap-intro {
    padding-top: 2px;
  }

  .kf-sitemap-intro p br {
    display: none;
  }

  .kf-sitemap-shortcuts,
  .kf-sitemap-groups {
    grid-template-columns: 1fr;
  }

  .kf-sitemap-shortcuts a {
    border-top: 1px solid var(--kf-color-line-strong);
    border-left: 0;
  }

  .kf-sitemap-shortcuts a:first-child {
    border-top: 0;
  }

  .kf-sitemap-groups section {
    padding: 24px 24px 16px;
  }
}

.kf-contact-complete {
  --kf-complete-paper: #fffefb;
  --kf-complete-green: #4f5e4e;
  --kf-complete-gold: #8d713c;
  --kf-complete-line: #d9cdb6;
  --kf-complete-ink: #292821;
  --kf-complete-soft: #6d675d;
  padding-bottom: 0;
  color: var(--kf-complete-ink);
}

.kf-contact-complete__breadcrumb {
  width: min(1030px, calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin: 0 auto;
  padding: 24px 0 20px;
}

.kf-contact-complete__panel {
  width: min(1030px, calc(100% - (var(--kf-mobile-gutter) * 2)));
  box-sizing: border-box;
  margin: auto;
  padding: 54px 40px 50px;
  background: var(--kf-complete-paper);
  text-align: center;
}

.kf-contact-complete__mark {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  margin: 0 auto 18px;
  border: 1px solid rgb(79 94 78 / 55%);
  border-radius: 50%;
}

.kf-contact-complete__mark span {
  display: block;
  width: 19px;
  height: 10px;
  border-bottom: 2px solid var(--kf-complete-green);
  border-left: 2px solid var(--kf-complete-green);
  transform: translateY(-2px) rotate(-45deg);
}

.kf-contact-complete__panel > p:first-of-type,
.kf-contact-complete__note > div > p {
  margin: 0;
  color: var(--kf-complete-gold);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.7rem;
  letter-spacing: 0.2em;
}

.kf-contact-complete__panel h1 {
  margin: 10px 0 17px;
  font-size: 2.35rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.55;
}

.kf-contact-complete__panel h1::after {
  display: block;
  width: 72px;
  height: 1px;
  margin: 22px auto 0;
  background: var(--kf-complete-gold);
  content: "";
}

.kf-contact-complete__panel > p:last-of-type {
  margin: 0;
  color: var(--kf-complete-soft);
  font-size: 0.92rem;
  line-height: 2;
}

.kf-contact-complete__home {
  display: inline-flex;
  gap: 20px;
  align-items: center;
  margin-top: 27px;
  padding: 10px 6px;
  border-bottom: 1px solid var(--kf-complete-gold);
  color: var(--kf-complete-green);
  font-size: 0.86rem;
  text-decoration: none;
}

.kf-contact-complete__home span,
.kf-contact-complete__note a span {
  color: var(--kf-complete-gold);
}

.kf-contact-complete__note {
  display: grid;
  grid-template-columns: 1.05fr 1.45fr auto;
  gap: 30px;
  align-items: center;
  width: min(1030px, calc(100% - (var(--kf-mobile-gutter) * 2)));
  box-sizing: border-box;
  margin: 28px auto;
  padding: 24px 28px;
  border: 1px solid var(--kf-complete-line);
  border-radius: 12px;
  background: rgb(229 232 223 / 45%);
}

.kf-contact-complete__note h2 {
  margin: 5px 0 0;
  font-size: 1.05rem;
  font-weight: 500;
}

.kf-contact-complete__note > p {
  margin: 0;
  color: var(--kf-complete-soft);
  font-size: 0.82rem;
  line-height: 1.8;
}

.kf-contact-complete__note a {
  display: flex;
  gap: 15px;
  align-items: center;
  color: var(--kf-complete-green);
  font-size: 0.78rem;
  text-decoration: none;
  white-space: nowrap;
}

.kf-contact-complete__guides {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: min(1030px, calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin: 0 auto 18px;
  border-top: 1px solid var(--kf-complete-line);
  border-bottom: 1px solid var(--kf-complete-line);
  background: rgb(255 254 251 / 56%);
}

.kf-contact-complete__guides a {
  position: relative;
  display: grid;
  gap: 6px;
  padding: 20px 50px 20px 24px;
  border-left: 1px solid var(--kf-complete-line);
  color: inherit;
  text-decoration: none;
}

.kf-contact-complete__guides a:first-child {
  border-left: 0;
}

.kf-contact-complete__guides span {
  color: var(--kf-complete-gold);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.64rem;
  letter-spacing: 0.16em;
}

.kf-contact-complete__guides strong {
  font-size: 0.9rem;
  font-weight: 400;
}

.kf-contact-complete__guides i {
  position: absolute;
  top: 50%;
  right: 24px;
  color: var(--kf-complete-gold);
  font-style: normal;
  transform: translateY(-50%);
}

@media (max-width: 760px) {
  .kf-contact-complete__breadcrumb {
    padding: 18px 0 16px;
  }

  .kf-contact-complete__panel {
    padding: 44px 24px;
  }

  .kf-contact-complete__panel h1 {
    font-size: 1.8rem;
  }

  .kf-contact-complete__note {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .kf-contact-complete__note a {
    white-space: normal;
  }

  .kf-contact-complete__guides {
    grid-template-columns: 1fr;
  }

  .kf-contact-complete__guides a {
    border-top: 1px solid var(--kf-complete-line);
    border-left: 0;
  }

  .kf-contact-complete__guides a:first-child {
    border-top: 0;
  }
}

/* Adopted reference introduction and closing navigation, 2026-10-05. */
.kf-reference__introduction {grid-template-columns:1fr;gap:22px;padding:0 42px;max-width:1040px;margin-top:68px;margin-bottom:78px;scroll-margin-top:110px;}
.kf-reference__introduction .kf-experience-introduction__body {display:block;max-width:800px;}
.kf-reference__introduction h2 {font-size:clamp(23px,2.3vw,30px);line-height:1.85;letter-spacing:.055em;}
.kf-reference__introduction-copy {margin-top:26px;max-width:780px;color:var(--kf-experience-soft);font-size:16px;line-height:2.15;}
.kf-reference__introduction-copy p {margin:0 0 18px;}
.kf-reference__introduction-copy p:last-child {margin-bottom:0;}
@media(max-width:767px){.kf-reference__introduction {padding:0 8px;margin-top:40px;margin-bottom:52px;gap:16px;}.kf-reference__introduction h2 br {display:initial;}.kf-reference__introduction-copy {font-size:15px;line-height:2.1;margin-top:22px;}}


.kf-reference__reading-links {display:flex;justify-content:center;flex-wrap:wrap;gap:18px 48px;width:min(1030px,calc(100% - 48px));margin:38px auto 0;padding:24px 0;border-top:1px solid var(--kf-reference-line);}
.kf-reference__reading-links a {color:var(--kf-reference-green);font-size:.9rem;text-decoration:none;padding:10px 0;text-underline-offset:.3em;}
.kf-reference__reading-links a:hover {text-decoration:underline;}
.kf-reference__reading-links a:focus-visible {outline:2px solid var(--kf-reference-gold);outline-offset:5px;}
@media(max-width:767px){.kf-reference__reading-links {width:calc(100% - 28px);gap:8px 24px;}}

@media (max-width: 767px) {
  .kf-reference__person-grid {
    grid-template-columns: 1fr;
  }
}

/* Legacy content compatibility — integrated 2026-08-21. */
/*
 * Readable fallbacks for saved SWELL and Arkhe content.
 * This layer preserves information; it does not imitate either old theme.
 */

.swell-block-columns,
.ark-block-columns {
  margin-block: clamp(24px, 4vw, 42px);
}

.swell-block-columns__inner,
.ark-block-columns__inner {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: clamp(18px, 3vw, 30px);
  align-items: start;
}

.swell-block-column,
.ark-block-column {
  min-width: 0;
}

.swell-block-button {
  margin-block: 24px;
}

.swell-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55em;
  min-height: 44px;
  padding: 10px 20px;
  border: 1px solid #a98754;
  border-radius: 999px;
  color: #4c5e4f;
  text-decoration: none;
}

.swell-block-button__link:hover,
.swell-block-button__link:focus-visible {
  background: #f4efe5;
  color: #2f4335;
}

.swell-block-faq,
.swell-block-step,
.ark-block-step {
  margin-block: clamp(28px, 5vw, 48px);
}

.swell-block-faq__item {
  padding-block: 18px;
  border-bottom: 1px solid #d9c8aa;
}

.swell-block-faq__item:first-child {
  border-top: 1px solid #d9c8aa;
}

.swell-block-faq .faq_q {
  margin-bottom: 8px;
  color: #334b3b;
  font-size: 1.06em;
}

.swell-block-faq .faq_a {
  margin: 0;
}

.swell-block-step__item,
.ark-block-step__item {
  position: relative;
  margin-block: 0;
  padding: 0 0 28px 48px;
}

.swell-block-step__item::before,
.ark-block-step__item::before {
  position: absolute;
  top: 34px;
  bottom: 0;
  left: 15px;
  width: 1px;
  background: #d9c8aa;
  content: "";
}

.swell-block-step__item:last-child::before,
.ark-block-step__item:last-child::before {
  display: none;
}

.swell-block-step__number,
.ark-block-step__number {
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 1px solid #a98754;
  border-radius: 50%;
  background: #fffdf8;
  color: #7d633b;
  font-size: 9px;
  letter-spacing: 0.08em;
}

.swell-block-step__title,
.ark-block-step__title {
  margin-bottom: 8px;
  color: #334b3b;
  font-size: 1.1em;
}

/* Adopted vertical step: the "soft cards" pattern from the body guide. */
.kf-vertical-steps {
  position: relative;
  display: grid;
  gap: 14px;
  width: min(100%, 900px);
  margin: clamp(28px, 5vw, 48px) auto;
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid #d8e0d3;
  border-radius: 12px;
  background: rgba(251, 252, 249, 0.96);
  list-style: none;
}

.kf-vertical-step {
  position: relative;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 20px;
  min-width: 0;
  margin: 0;
  padding: 22px 24px;
  border: 1px solid #d8e0d3;
  border-radius: 10px;
  background: #f2f6ee;
}

.kf-vertical-step:not(:last-child)::after {
  position: absolute;
  z-index: 0;
  bottom: -15px;
  left: 48px;
  width: 1px;
  height: 14px;
  background: #aab8a5;
  content: "";
}

.kf-vertical-step__marker {
  position: relative;
  z-index: 1;
  display: grid;
  width: 50px;
  height: 50px;
  place-items: center;
  border-radius: 50%;
  background: #667a63;
  color: white;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.8rem;
  font-variant-numeric: tabular-nums;
}

.kf-vertical-step__copy {
  min-width: 0;
}

.kf-vertical-step__label {
  margin: 0 0 6px !important;
  color: var(--kf-color-bronze);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.7rem;
  line-height: 1.5;
  letter-spacing: 0.16em;
  text-align: left !important;
}

.kf-vertical-step__title {
  margin: 0 0 9px;
  color: var(--kf-color-ink);
  font-size: 1.08rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.06em;
}

.kf-vertical-step__body,
.kf-vertical-step__body p {
  color: var(--kf-color-ink-soft);
  font-size: 0.9rem;
  line-height: 1.9;
  text-align: left !important;
}

.kf-vertical-step__body > :first-child {
  margin-top: 0;
}

.kf-vertical-step__body > :last-child {
  margin-bottom: 0;
}

.swell-block-capbox,
.cap_box,
.is-style-kakko_box,
.is-style-big_kakko_box {
  margin-block: 28px;
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid #d9c8aa;
  border-radius: 10px;
  background: rgba(255, 253, 248, 0.82);
}

.cap_box_ttl {
  margin: -0.2em 0 12px;
  color: #334b3b;
  font-size: 1.04em;
}

.cap_box_content > :first-child {
  margin-top: 0;
}

.cap_box_content > :last-child {
  margin-bottom: 0;
}

.swell-block-accordion {
  margin-block: 30px;
}

.swell-block-accordion__item {
  border-bottom: 1px solid #d9c8aa;
}

.swell-block-accordion__title {
  padding: 16px 2px;
  color: #334b3b;
  cursor: pointer;
}

.swell-block-accordion__body {
  padding: 0 2px 20px;
}

.swell-block-accordion__icon {
  display: none;
}

.ark-block-boxLinks {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 18px;
  margin-block: 30px;
}

.kf-legacy-box-link {
  overflow: hidden;
  border: 1px solid #d9c8aa;
  border-radius: 12px;
  background: #fffdf8;
}

.kf-legacy-box-link > img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.kf-legacy-box-link__body {
  padding: 18px;
}

.kf-legacy-box-link__body .arkb-boxLink__title {
  margin-top: 0;
  font-size: 1.08em;
}

.kf-legacy-box-link__body a[data-arkb-link],
.kf-legacy-box-link__link {
  display: inline-block;
  margin-top: 12px;
  color: #7d633b;
}

.kf-legacy-post-link {
  margin-block: 24px;
  border-block: 1px solid #d9c8aa;
}

.kf-legacy-post-link a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 2px;
  color: #334b3b;
  text-decoration: none;
}

.kf-legacy-post-link br {
  display: none;
}

.kf-legacy-post-link__thumb {
  display: block;
  overflow: hidden;
  flex: 0 0 132px;
  width: 132px;
  height: 84px;
  border-radius: 3px;
  background: #f2eee5;
}

.kf-legacy-post-link__thumb img,
.kf-legacy-post-link__thumb .life-image-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
}

.kf-legacy-post-link__copy {
  display: grid;
  gap: 3px;
}

.kf-legacy-post-link small {
  color: #8a7048;
  font-size: 11px;
  letter-spacing: 0.08em;
}

.kf-legacy-post-list {
	display: block;
	margin-block: 28px;
	border-top: 1px solid rgba(97, 87, 70, 0.2);
}

.kf-legacy-post-list a {
	display: block;
	padding: 17px 4px 16px;
	border-bottom: 1px solid rgba(97, 87, 70, 0.2);
	color: #28251f;
	text-decoration: none;
}

.kf-legacy-post-list a:hover strong,
.kf-legacy-post-list a:focus-visible strong {
	color: #1769aa;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.kf-legacy-post-list__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 12px;
	align-items: center;
	margin-bottom: 6px;
	color: #6d6a63;
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.45;
}

.kf-legacy-post-list__meta time::before {
	content: "◷";
	margin-right: 0.28em;
}

.kf-legacy-post-list__category::before {
	content: "■";
	margin-right: 0.35em;
	font-size: 0.72em;
	vertical-align: 0.08em;
}

.kf-legacy-post-list strong {
	display: block;
	font-size: clamp(15px, 1.35vw, 17px);
	font-weight: 600;
	line-height: 1.55;
}

.kf-legacy-speech-balloon {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: start;
  margin-block: 24px;
  padding: 16px 18px;
  border: 1px solid #d9c8aa;
  border-radius: 12px;
  background: rgba(255, 253, 248, 0.82);
}

.kf-legacy-speech-balloon > img {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  object-fit: cover;
}

.kf-legacy-speech-balloon__name {
  margin: 0 0 4px;
  color: #7d633b;
  font-size: 12px;
}

.kf-legacy-speech-balloon :last-child,
.kf-legacy-blog-part :last-child {
  margin-bottom: 0;
}

.kf-legacy-speech-label {
  margin-block: 24px;
  padding: 12px 16px;
  border-left: 2px solid #a98754;
  background: rgba(244, 239, 229, 0.72);
  color: #334b3b;
}

@media (max-width: 600px) {
	.kf-legacy-post-list {
		margin-block: 22px;
	}

	.kf-legacy-post-list a {
		padding: 15px 2px 14px;
	}

  .swell-block-step__item,
  .ark-block-step__item {
    padding-left: 42px;
  }

  .kf-vertical-steps {
    gap: 12px;
    padding: 14px;
  }

  .kf-vertical-step {
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 14px;
    padding: 18px 16px;
  }

  .kf-vertical-step:not(:last-child)::after {
    bottom: -13px;
    left: 36px;
    height: 12px;
  }

  .kf-vertical-step__marker {
    width: 42px;
    height: 42px;
    font-size: 0.72rem;
  }

  .kf-vertical-step__title {
    font-size: 1rem;
  }

  .kf-vertical-step__body,
  .kf-vertical-step__body p {
    font-size: 0.86rem;
  }
}

/* Quiet sequence: a theme-owned step pattern for cultural and shrine articles. */
.kf-vertical-steps--quiet {
  display: block;
  width: min(100%, 760px);
  margin: clamp(32px, 6vw, 56px) auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.kf-vertical-steps--quiet .kf-vertical-step {
  display: block;
  margin: 0;
  padding: clamp(30px, 5vw, 42px) clamp(18px, 5vw, 46px) clamp(36px, 6vw, 52px);
  border: 0;
  border-top: 1px dashed rgba(124, 119, 107, 0.26);
  border-radius: 0;
  background: transparent;
  text-align: center;
}

.kf-vertical-steps--quiet .kf-vertical-step:last-child {
  border-bottom: 1px dashed rgba(124, 119, 107, 0.26);
}

.kf-vertical-steps--quiet .kf-vertical-step:not(:last-child)::after {
  position: absolute;
  z-index: 1;
  bottom: -11px;
  left: 50%;
  width: 0;
  height: 0;
  border-top: 11px solid rgba(141, 138, 130, 0.24);
  border-right: 12px solid transparent;
  border-left: 12px solid transparent;
  background: transparent;
  content: "";
  transform: translateX(-50%);
}

.kf-vertical-steps--quiet .kf-vertical-step__marker {
  display: flex;
  gap: 0;
  align-items: center;
  justify-content: center;
  width: max-content;
  height: auto;
  margin: 0 auto 18px;
  border-radius: 0;
  background: transparent;
  color: var(--kf-gold-400);
  font-family: var(--kf-font-serif-ja);
  font-size: 1.625rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.12em;
}

.kf-vertical-steps--quiet .kf-vertical-step__marker small {
  display: inline;
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

.kf-vertical-steps--quiet .kf-vertical-step__copy {
  width: min(100%, 620px);
  margin: 0 auto;
  text-align: center;
}

.kf-vertical-steps--quiet .kf-vertical-step__label {
  display: none;
}

.kf-vertical-steps--quiet .kf-vertical-step__title {
  margin: 0 0 15px;
  color: var(--kf-color-ink);
  font-size: 1.12rem;
  font-weight: 600;
  line-height: 1.75;
  letter-spacing: 0.035em;
  text-align: center;
}

.kf-vertical-steps--quiet .kf-vertical-step__body,
.kf-vertical-steps--quiet .kf-vertical-step__body p {
  color: var(--kf-color-ink-soft);
  font-size: 0.94rem;
  line-height: 2;
  text-align: center !important;
}

.kf-vertical-steps--quiet .kf-vertical-step__body p + p {
  margin-top: 1.45em;
}

@media (max-width: 600px) {
  .kf-vertical-steps--quiet {
    margin: 30px auto 40px;
    padding: 0;
  }

  .kf-vertical-steps--quiet .kf-vertical-step {
    padding: 27px 10px 36px;
  }

  .kf-vertical-steps--quiet .kf-vertical-step__marker {
    width: max-content;
    height: auto;
    margin-bottom: 15px;
    font-size: 1.4375rem;
  }

  .kf-vertical-steps--quiet .kf-vertical-step__marker small {
    font-size: inherit;
  }

  .kf-vertical-steps--quiet .kf-vertical-step__title {
    font-size: 1.03rem;
  }

  .kf-vertical-steps--quiet .kf-vertical-step__body,
  .kf-vertical-steps--quiet .kf-vertical-step__body p {
    font-size: 0.88rem;
    line-height: 1.95;
  }
}

/* Front page canonical composition — integrated 2026-08-21. */
/*
 * Kungfu Life front page — canonical stylesheet
 * Generated from the adopted 2026-08-19 composition.
 * One selector per responsive context; historical draft overrides are excluded.
 */

.kf-hybrid-preview {
  --kf-hybrid-paper: #f7f3eb;
  --kf-hybrid-paper-deep: #eee6d7;
  --kf-hybrid-line: color-mix(in srgb, var(--kf-color-bronze-soft) 74%, transparent);
}

.kf-hybrid-preview .kf-heading-icon-row {
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
  align-items: center;
}

.kf-hybrid-preview .kf-heading-icon {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  margin: 0;
}

.kf-hybrid-preview .kf-heading-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.kf-hybrid-preview .kf-heading-icon--lulu {
  height: 48px;
}

.kf-hybrid-preview .kf-heading-icon--first-visit {
  flex-basis: 52px;
  width: 52px;
  height: 46px;
}

.kf-hybrid-preview .kf-heading-icon--teachers {
  flex-basis: 48px;
  width: 48px;
  height: 46px;
}

.kf-hybrid-preview .kf-first__heading {
  align-items: center;
}

.kf-hybrid-preview :is(.kf-traditions__heading,
.kf-news__heading,
.kf-kichijoji__heading) {
  gap: 6px;
}

.kf-hybrid-preview .kf-heading-icon-row + .kf-section-kicker,
.kf-hybrid-preview .kf-first__heading + .kf-section-kicker {
  margin-inline-start: 48px;
}

.kf-hybrid-preview .kf-traditions__heading + .kf-section-kicker,
.kf-hybrid-preview .kf-kichijoji__heading + .kf-section-kicker {
  margin-inline-start: 52px;
}

.kf-hybrid-preview .kf-news__heading + .kf-section-kicker {
  margin-inline-start: 44px;
}

.kf-hybrid-preview .kf-first__heading + .kf-section-kicker {
  margin-inline-start: 58px;
}

.kf-hybrid-preview .kf-teachers .kf-heading-icon-row + .kf-section-kicker {
  margin-inline-start: 54px;
}

.kf-hybrid-preview .preview-navigation a {
  display: inline-block;
  padding-block: 7px;
  border-bottom: 1px solid transparent;
  color: var(--kf-color-ink-soft);
}

.kf-hybrid-preview .preview-navigation a::after {
  content: none;
}

.kf-hybrid-preview .preview-navigation a:hover {
  border-bottom-color: var(--kf-color-bronze-soft);
  color: var(--kf-color-bronze);
}

.kf-hybrid-preview .preview-navigation a:hover::after {
  content: none;
}

.kf-hybrid-preview .site-main :where(p,
li) > a:not(.wp-block-button__link) {
  border-bottom: 0;
  color: var(--kf-color-bronze);
  text-decoration-line: underline;
  text-decoration-color: color-mix(in srgb, var(--kf-color-bronze) 44%, transparent);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.32em;
  transition: color 160ms ease, text-decoration-color 160ms ease;
}

.kf-hybrid-preview .site-main :where(p,
li) > a:not(.wp-block-button__link):hover {
  color: var(--kf-color-sage);
  text-decoration-color: var(--kf-color-sage);
}

.kf-hybrid-preview .kf-reference-link a,
.kf-hybrid-preview .kf-teacher__links a,
.kf-hybrid-preview .kf-tradition__links a {
  border-bottom: 0;
}

.kf-hybrid-preview .kf-teacher__links a::after {
  content: "  ›";
  display: inline-block;
  color: var(--kf-color-bronze-soft);
  text-decoration: none;
}

.kf-hybrid-preview .kf-teacher__links a:hover::after {
  transform: none;
}

.kf-hybrid-preview .site-main :is(.kf-news-item__title,
.kf-kichijoji-item__title) a {
  color: var(--kf-color-ink);
  text-decoration: none;
  transition: color 160ms ease;
}

.kf-hybrid-preview .site-main :is(.kf-news-item__title,
.kf-kichijoji-item__title) a:hover {
  color: var(--kf-color-bronze);
}

.kf-hybrid-preview :is(.kf-video-letter,
.kf-memoir) :where(p,
li) > a:not(.wp-block-button__link) {
  color: #fff;
  text-decoration-color: rgba(255, 255, 255, 0.54);
}

.kf-hybrid-preview :is(.kf-video-letter,
.kf-memoir) :where(p,
li) > a:not(.wp-block-button__link):hover {
  color: #fff;
  text-decoration-color: #fff;
}

.kf-hybrid-preview .kf-practice {
  background: var(--kf-hybrid-paper);
}

.kf-hybrid-preview .kf-practice__inner {
  padding-top: 74px;
  padding-bottom: 76px;
}

.kf-hybrid-preview .kf-practice__grid {
  grid-template-columns: minmax(250px, 0.72fr) minmax(0, 1.28fr);
  gap: 54px;
  margin-top: 38px;
}

.kf-hybrid-preview .kf-practice__aside {
  gap: 32px;
}

.kf-hybrid-preview .kf-practice__intro,
.kf-hybrid-preview .kf-practice-time {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.kf-hybrid-preview .kf-practice-time {
  padding-top: 25px;
  border-top: 1px solid var(--kf-color-line-strong);
}

.kf-hybrid-preview .kf-practice-steps {
  gap: 10px;
  padding-left: 25px;
  border-left: 2px solid #d9cfbc;
}

.kf-hybrid-preview .kf-practice-step {
  padding: 15px 18px 16px;
  border: 1px solid var(--kf-color-line);
  background: #fff;
}

.kf-hybrid-preview .kf-practice-step:first-child {
  padding: 15px 18px 16px;
  border-top: 1px solid var(--kf-color-line);
}

.kf-hybrid-preview .kf-practice-step::before {
  top: 21px;
  left: -32px;
  width: 12px;
  height: 12px;
  border: 3px solid var(--kf-hybrid-paper);
}

.kf-hybrid-preview .kf-practice-step:first-child::before {
  top: 21px;
}

.kf-hybrid-preview .kf-practice__other {
  margin: 30px 0 0 calc(36% + 54px);
  padding-top: 18px;
  border-top: 1px solid var(--kf-color-line-strong);
  color: var(--kf-color-ink-soft);
  font-size: 0.875rem;
  line-height: 1.85;
}

.kf-hybrid-preview .kf-teachers__inner {
  padding-top: 78px;
  padding-bottom: 76px;
}

.kf-hybrid-preview .kf-teacher {
  position: relative;
  z-index: 1;
}

.kf-hybrid-preview .kf-teacher__portrait img {
  filter: saturate(0.82) contrast(0.98);
}

.kf-hybrid-preview .kf-teachers__note {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin-inline: auto;
  padding: 20px 26px 0;
  background: #eeeae2;
  text-align: center;
}

.kf-hybrid-preview .kf-news__inner {
  padding-top: 72px;
  padding-bottom: 68px;
}

.kf-hybrid-preview .kf-news__brush {
  flex-basis: 38px;
  width: 38px;
}

.kf-hybrid-preview .kf-kichijoji {
  background: var(--kf-hybrid-paper);
}

.kf-hybrid-preview .kf-kichijoji__inner {
  padding-top: 70px;
  padding-bottom: 76px;
  border-top: 1px solid var(--kf-color-line);
}

.kf-hybrid-preview .kf-kichijoji-item {
  border: 0;
  background: transparent;
}

.kf-hybrid-preview .kf-kichijoji-item__body {
  padding: 22px 0 0;
  border-top: 0;
}

.kf-hybrid-preview .kf-kichijoji-item__image img {
  aspect-ratio: 1.9 / 1;
  filter: saturate(0.82) contrast(0.98);
}

.kf-hybrid-preview .kf-final-trial {
  background: var(--kf-hybrid-paper-deep);
}

.kf-hybrid-preview .kf-final-trial__inner {
  position: relative;
  padding-top: 70px;
  padding-bottom: 72px;
}

.kf-world-grammar-preview :is( .kf-classes__inner,
.kf-practice__inner,
.kf-teachers__inner,
.kf-traditions__inner ) {
  --kf-world-rail-color: rgba(231, 221, 201, 0.42);
  --kf-world-heading-top: 74px;
  position: relative;
  z-index: 1;
  width: min(var(--kf-world-wide), calc(100% - (var(--kf-mobile-gutter) * 2)));
  padding-right: 60px;
  padding-left: calc(var(--kf-world-rail) + var(--kf-world-rail-gap));
  background-image: linear-gradient(
    180deg,
    var(--kf-world-rail-color) 0,
    var(--kf-world-rail-color) 148px,
    transparent 252px
  );
  background-repeat: no-repeat;
  background-position: left top;
  background-size: var(--kf-world-rail) 252px;
}

.kf-world-grammar-preview .kf-practice__inner {
  --kf-world-rail-color: rgba(219, 222, 208, 0.48);
}

.kf-world-grammar-preview :is( .kf-classes__inner,
.kf-practice__inner,
.kf-teachers__inner,
.kf-traditions__inner )::after {
  content: "";
  position: absolute;
  top: calc(var(--kf-world-heading-top) - 15px);
  left: 22px;
  width: 52px;
  height: 1px;
  background: linear-gradient(90deg, var(--kf-world-line), transparent);
}

.kf-world-grammar-preview :is( .kf-classes,
.kf-practice,
.kf-teachers ) .kf-heading-icon-row {
  position: relative;
}

.kf-world-grammar-preview :is( .kf-classes,
.kf-practice,
.kf-teachers ) .kf-heading-icon {
  position: absolute;
  top: 50%;
  left: calc(-1 * (var(--kf-world-rail-gap) + 75px));
  width: 52px;
  height: 52px;
  transform: translateY(-50%);
}

.kf-world-grammar-preview .kf-teachers .kf-heading-icon--teachers {
  width: 54px;
  height: 52px;
}

.kf-world-grammar-preview .kf-traditions__heading {
  position: relative;
}

.kf-world-grammar-preview .kf-traditions__book {
  position: absolute;
  top: 50%;
  left: calc(-1 * (var(--kf-world-rail-gap) + 77px));
  width: 54px;
  transform: translateY(-50%);
}

.kf-world-grammar-preview :is( .kf-classes__inner,
.kf-practice__inner,
.kf-teachers__inner,
.kf-traditions__inner ) > .kf-section-kicker {
  position: absolute;
  top: calc(var(--kf-world-heading-top) + 58px);
  left: 18px;
  width: 80px;
  margin: 0;
  color: color-mix(in srgb, var(--kf-color-bronze) 78%, var(--kf-color-ink-soft));
  font-size: 0.5625rem;
  letter-spacing: 0.14em;
  line-height: 1.65;
  text-align: left;
  overflow-wrap: normal;
  word-break: keep-all;
}

.kf-world-grammar-preview .kf-practice__inner > .kf-section-kicker {
  top: calc(var(--kf-world-heading-top) + 60px);
}

.kf-world-grammar-preview :is( .kf-classes,
.kf-practice,
.kf-teachers ) .kf-heading-icon-row::after {
  content: "";
  flex: 0 0 54px;
  height: 1px;
  margin-left: 12px;
  background: linear-gradient(90deg, var(--kf-world-line), transparent);
}

.kf-world-grammar-preview .kf-traditions__heading::after {
  flex: 0 0 72px;
  margin-left: 14px;
  background: linear-gradient(90deg, var(--kf-world-line), transparent);
}

.kf-world-grammar-preview .kf-practice {
  position: relative;
  overflow: hidden;
  background: var(--kf-world-paper-body);
}

.kf-world-grammar-preview .kf-teachers {
  position: relative;
  overflow: hidden;
  background: #ebe6dc;
}

.kf-world-grammar-preview .kf-traditions {
  position: relative;
  overflow: hidden;
  background: var(--kf-world-paper-record);
}

.kf-world-grammar-preview :is(.kf-classes,
.kf-traditions)::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  background-image: var(--kf-site-wallpaper-image);
  background-position: var(--kf-site-wallpaper-position);
  background-size: var(--kf-site-wallpaper-size);
  opacity: 0.24;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(90deg, #000 0, transparent 15%, transparent 85%, #000 100%);
  mask-image: linear-gradient(90deg, #000 0, transparent 15%, transparent 85%, #000 100%);
}

.kf-world-grammar-preview .kf-teacher + .kf-teacher {
  position: relative;
  border-top: 0;
}

.kf-world-grammar-preview .kf-teacher + .kf-teacher::before {
  content: "";
  position: absolute;
  top: 0;
  right: 8%;
  left: 8%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--kf-world-line) 18%, var(--kf-world-line) 82%, transparent);
}

.kf-world-grammar-preview .kf-traditions__grid::after {
  content: none;
}

.kf-world-grammar-preview .kf-tradition:first-child,
.kf-world-grammar-preview .kf-tradition:last-child {
  padding-inline: 0;
}

.kf-world-grammar-preview .kf-tradition__photo {
  position: relative;
}

.kf-world-grammar-preview .kf-tradition__photo::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -9px;
  width: 62%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--kf-world-line));
  pointer-events: none;
}

.kf-world-grammar-preview .kf-memoir {
  min-height: 390px;
  border-top: 18px solid var(--kf-world-paper-record);
}

.kf-world-grammar-preview .kf-memoir__kicker {
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(222, 195, 139, 0.44);
}

.kf-story-flow-preview {
  --kf-story-thread: color-mix(in srgb, var(--kf-color-bronze-soft) 66%, transparent);
  --kf-story-thread-quiet: color-mix(in srgb, var(--kf-color-bronze-soft) 34%, transparent);
  --kf-story-sage: #e6e6dc;
  --kf-story-record: #f5eee0;
}

.kf-story-flow-preview .kf-video-letter__player {
  box-shadow: none;
}

.kf-story-flow-preview .kf-practice__grid {
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
  gap: 44px;
}

.kf-story-flow-preview .kf-practice__grid::before {
  content: none;
}

.kf-story-flow-preview .kf-practice__aside {
  gap: 0;
  padding-top: 2px;
}

.kf-story-flow-preview .kf-practice__intro,
.kf-story-flow-preview .kf-practice-time {
  border: 0;
  border-radius: 0;
  background: transparent;
}

.kf-story-flow-preview .kf-practice__intro {
  padding: 0 8px 28px 0;
  border-bottom: 1px solid var(--kf-story-thread);
}

.kf-story-flow-preview .kf-practice-time {
  padding: 26px 8px 0 0;
}

.kf-story-flow-preview .kf-practice-steps {
  gap: 0;
  padding-left: 30px;
  border-left: 1px solid var(--kf-story-thread);
}

.kf-story-flow-preview .kf-practice-step {
  padding: 20px 76px 21px 22px;
  border: 0;
  border-top: 1px solid var(--kf-story-thread-quiet);
  background: rgba(255, 254, 251, 0.38);
}

.kf-story-flow-preview .kf-practice-step:last-child {
  border-bottom: 1px solid var(--kf-story-thread-quiet);
}

.kf-story-flow-preview .kf-practice-step:nth-child(even) {
  background: rgba(242, 238, 229, 0.52);
}

.kf-story-flow-preview .kf-practice-step::before {
  top: 24px;
  left: -36px;
  width: 11px;
  height: 11px;
  border-width: 4px;
  border-color: var(--kf-world-paper-body);
  background: var(--kf-color-bronze);
}

.kf-story-flow-preview .kf-practice-step__number {
  position: absolute;
  top: 18px;
  right: 18px;
  margin: 0;
  color: color-mix(in srgb, var(--kf-color-bronze) 58%, transparent);
  font-size: 0.625rem;
  letter-spacing: 0.18em;
}

.kf-story-flow-preview .kf-practice-step__title {
  margin-bottom: 6px;
}

.kf-story-flow-preview .kf-teachers__spread {
  gap: 72px;
}

.kf-story-flow-preview .kf-teacher {
  gap: 48px;
}

.kf-story-flow-preview .kf-teacher__portrait {
  position: relative;
}

.kf-story-flow-preview .kf-teacher:nth-child(even) .kf-teacher__portrait::after {
  right: auto;
  left: -12px;
  border-right: 0;
  border-left: 1px solid var(--kf-story-thread);
}

.kf-story-flow-preview .kf-teachers__note {
  width: min(720px, 82%);
  margin-inline: auto;
  text-align: center;
}

.kf-story-flow-preview .kf-traditions {
  background-color: var(--kf-story-record);
}

.kf-story-flow-preview .kf-traditions::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 150px;
  background: linear-gradient(180deg, transparent, rgba(45, 40, 34, 0.09));
  pointer-events: none;
}

.kf-story-flow-preview .kf-traditions__inner {
  z-index: 1;
}

.kf-story-flow-preview .kf-traditions__grid {
  gap: 58px;
}

.kf-story-flow-preview .kf-tradition {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  column-gap: 15px;
  align-content: start;
}

.kf-story-flow-preview .kf-tradition:last-child {
  grid-template-columns: minmax(0, 1fr) 24px;
}

.kf-story-flow-preview .kf-tradition > :not(.kf-tradition__en) {
  grid-column: 2;
}

.kf-story-flow-preview .kf-tradition:last-child > :not(.kf-tradition__en) {
  grid-column: 1;
}

.kf-story-flow-preview .kf-tradition__en {
  grid-column: 1;
  grid-row: 1 / span 7;
  align-self: start;
  justify-self: center;
  margin: 0;
  padding-top: 3px;
  color: color-mix(in srgb, var(--kf-color-bronze) 78%, var(--kf-color-ink-soft));
  font-size: 0.625rem;
  letter-spacing: 0.18em;
  line-height: 1.35;
  writing-mode: vertical-rl;
}

.kf-story-flow-preview .kf-tradition:last-child .kf-tradition__en {
  grid-column: 2;
}

.kf-story-flow-preview .kf-tradition__photo {
  margin-bottom: 24px;
}

.kf-story-flow-preview .kf-tradition__photo::after {
  right: auto;
  left: 0;
  width: 74%;
  background: linear-gradient(90deg, var(--kf-story-thread), transparent);
}

.kf-story-flow-preview .kf-tradition:last-child .kf-tradition__photo::after {
  right: 0;
  left: auto;
  background: linear-gradient(90deg, transparent, var(--kf-story-thread));
}

.kf-story-flow-preview .kf-memoir {
  min-height: 410px;
  border-top: 0;
}

.kf-story-flow-preview .kf-memoir::after {
  background: linear-gradient(
    90deg,
    rgba(31, 28, 24, 0.9) 0%,
    rgba(31, 28, 24, 0.72) 48%,
    rgba(31, 28, 24, 0.28) 77%,
    rgba(31, 28, 24, 0.13) 100%
  );
}

.kf-story-flow-preview .kf-memoir__title,
.kf-story-flow-preview .kf-memoir__lead,
.kf-story-flow-preview .kf-memoir__content > .wp-block-buttons {
  grid-column: 2;
}

.kf-story-flow-preview .kf-memoir__title {
  grid-row: 1;
}

.kf-story-flow-preview .kf-memoir__kicker {
  grid-column: 1;
  grid-row: 1 / span 3;
  align-self: stretch;
  margin: 0;
  padding: 8px 26px 0 0;
  border-right: 1px solid rgba(222, 195, 139, 0.66);
  border-bottom: 0;
  line-height: 1.8;
}

.kf-story-flow-preview .kf-memoir__lead {
  grid-row: 2;
}

.kf-story-flow-preview .kf-memoir__content > .wp-block-buttons {
  grid-row: 3;
}

.kf-motion-field-preview {
  --kf-motion-celadon: #9cae9d;
  --kf-motion-sage: #899b87;
  --kf-motion-olive: #aaa17a;
  --kf-motion-clay: #b58f69;
  --kf-motion-earth: #9d7253;
}

.kf-motion-field-preview .kf-practice {
  background: radial-gradient(ellipse at 86% 16%, rgba(169, 187, 170, 0.34), transparent 35%),
    radial-gradient(ellipse at 18% 88%, rgba(218, 190, 141, 0.26), transparent 38%),
    linear-gradient(180deg, #edf0e8 0%, #f3f0e7 48%, #efe5d6 100%);
}

.kf-motion-field-preview .kf-practice__inner {
  --kf-world-rail-color: rgba(179, 193, 180, 0.46);
}

.kf-motion-field-preview .kf-practice-steps {
  border-left: 2px solid transparent;
  border-image: linear-gradient(
    180deg,
    var(--kf-motion-celadon),
    var(--kf-motion-sage) 26%,
    var(--kf-motion-olive) 52%,
    var(--kf-motion-clay) 76%,
    var(--kf-motion-earth)
  ) 1;
}

.kf-motion-field-preview .kf-practice-step {
  --kf-motion-accent: var(--kf-motion-celadon);
  --kf-motion-paper: rgba(245, 248, 243, 0.78);
  border-left: 3px solid var(--kf-motion-accent);
  background: linear-gradient(90deg, color-mix(in srgb, var(--kf-motion-accent) 15%, transparent), transparent 38%), var(--kf-motion-paper);
}

.kf-motion-field-preview .kf-practice-step:nth-child(2) {
  --kf-motion-accent: var(--kf-motion-sage);
  --kf-motion-paper: rgba(238, 242, 234, 0.78);
}

.kf-motion-field-preview .kf-practice-step:nth-child(3) {
  --kf-motion-accent: var(--kf-motion-olive);
  --kf-motion-paper: rgba(246, 242, 230, 0.8);
}

.kf-motion-field-preview .kf-practice-step:nth-child(4) {
  --kf-motion-accent: var(--kf-motion-clay);
  --kf-motion-paper: rgba(244, 233, 220, 0.78);
}

.kf-motion-field-preview .kf-practice-step:nth-child(5) {
  --kf-motion-accent: var(--kf-motion-earth);
  --kf-motion-paper: rgba(239, 222, 201, 0.8);
}

.kf-motion-field-preview .kf-practice-step:nth-child(even) {
  background: linear-gradient(90deg, color-mix(in srgb, var(--kf-motion-accent) 15%, transparent), transparent 38%), var(--kf-motion-paper);
}

.kf-motion-field-preview .kf-practice-step::before {
  border-color: color-mix(in srgb, var(--kf-motion-paper) 84%, #fff);
  background: var(--kf-motion-accent);
}

.kf-motion-field-preview .kf-practice-step__number {
  color: color-mix(in srgb, var(--kf-motion-accent) 82%, var(--kf-color-ink-soft));
}

.kf-motion-field-preview .kf-practice__intro {
  border-bottom-color: color-mix(in srgb, var(--kf-motion-sage) 58%, transparent);
}

.kf-motion-field-preview .kf-practice-time__title {
  color: color-mix(in srgb, var(--kf-motion-earth) 72%, var(--kf-color-ink));
}

.kf-motion-field-preview .kf-practice-time__block {
  background: #dde2d7;
}

.kf-motion-field-preview .kf-practice-time__block--joined {
  background: #d4c39e;
}

.kf-motion-line-preview .kf-practice {
  background: linear-gradient(180deg, #f5f3ed 0%, #f7f4ed 58%, #f2e9dc 100%);
}

.kf-motion-line-preview .kf-practice__inner {
  --kf-world-rail-color: rgba(201, 209, 199, 0.4);
}

.kf-motion-line-preview .kf-practice-step,
.kf-motion-line-preview .kf-practice-step:nth-child(even) {
  background: rgba(255, 254, 250, 0.88);
}

.kf-motion-line-preview .kf-practice-steps {
  gap: 8px;
}

.kf-motion-line-preview .kf-practice-step:nth-child(1) {
  border-left-color: var(--kf-motion-celadon);
}

.kf-motion-line-preview .kf-practice-step:nth-child(2) {
  border-left-color: var(--kf-motion-sage);
}

.kf-motion-line-preview .kf-practice-step:nth-child(3) {
  border-left-color: var(--kf-motion-olive);
}

.kf-motion-line-preview .kf-practice-step:nth-child(4) {
  border-left-color: var(--kf-motion-clay);
}

.kf-motion-line-preview .kf-practice-step:nth-child(5) {
  border-left-color: var(--kf-motion-earth);
}

.kf-motion-line-preview .kf-practice-step::before {
  border-color: #f6f2e9;
}

.kf-motion-line-preview .kf-practice__intro {
  position: relative;
  padding-left: 18px;
  border-bottom-color: rgba(137, 155, 135, 0.42);
}

.kf-motion-line-preview .kf-practice__intro::before {
  content: "";
  position: absolute;
  top: 4px;
  bottom: 32px;
  left: 0;
  width: 2px;
  background: linear-gradient(180deg, var(--kf-motion-sage), transparent);
}

.kf-motion-line-preview .kf-practice-time__block {
  background: #e7e7e0;
}

.kf-motion-line-preview .kf-practice-time__block--joined {
  background: #d9c8a4;
}

.kf-first--threshold .kf-first__inner {
  padding-top: 68px;
  padding-bottom: 72px;
}

.kf-first--threshold .kf-first__header {
  position: relative;
  margin-bottom: 38px;
}

.kf-first--threshold .kf-first__heading {
  gap: 12px 24px;
}

.kf-first--threshold .kf-heading-icon--first-visit {
  flex-basis: 64px;
  width: 64px;
  height: 64px;
}

.kf-first--threshold .kf-first__heading + .kf-section-kicker {
  margin-top: -9px;
  margin-inline-start: 72px;
}

.kf-first--threshold .kf-first__intro {
  padding-top: 2px;
}

.kf-threshold {
  display: grid;
  grid-template-columns: minmax(250px, 0.9fr) minmax(0, 2.1fr);
  gap: clamp(38px, 5vw, 68px);
  align-items: start;
}

.kf-threshold__guide {
  display: grid;
  grid-template-columns: 116px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
  padding: 25px 0 28px;
  border-top: 1px solid rgba(154, 123, 69, 0.46);
  border-bottom: 1px solid rgba(154, 123, 69, 0.28);
}

.kf-threshold__guide-copy {
  grid-column: 2;
  padding-top: 3px;
}

.kf-threshold__role,
.kf-threshold__name,
.kf-threshold__line {
  margin: 0;
}

.kf-threshold__role {
  color: var(--kf-color-bronze);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.6875rem;
  letter-spacing: 0.16em;
}

.kf-threshold__name {
  margin-top: 5px;
  font-size: 1.125rem;
}

.kf-threshold__name span {
  margin-left: 0.35em;
  color: var(--kf-color-ink-soft);
  font-size: 0.7rem;
  font-weight: 400;
}

.kf-threshold__line {
  margin-top: 18px;
  color: #574c3c;
  font-size: 0.875rem;
  line-height: 1.95;
}

.kf-threshold__line::before {
  content: "“";
  display: block;
  height: 19px;
  margin-left: -3px;
  color: rgba(157, 124, 63, 0.66);
  font-family: Georgia, serif;
  font-size: 1.75rem;
  line-height: 1;
}

.kf-threshold__lulu {
  grid-column: 1;
  grid-row: 1;
  align-self: start;
  width: 116px;
  margin: 0;
  pointer-events: none;
}

.kf-threshold__lulu img {
  display: block;
  width: 100%;
  height: auto;
}

.kf-threshold__main {
  min-width: 0;
}

.kf-threshold__lead {
  max-width: 34em;
  margin: 0 0 25px;
  color: #3a372f;
  font-size: clamp(1.12rem, 1.7vw, 1.45rem);
  font-weight: 600;
  letter-spacing: 0.055em;
  line-height: 1.75;
}

.kf-assurances {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 clamp(32px, 4.5vw, 64px);
}

.kf-assurance {
  position: relative;
  min-height: 196px;
  padding: 22px 0 25px;
  border-top: 1px solid rgba(154, 123, 69, 0.34);
}

.kf-assurance__mark,
.kf-assurance__title,
.kf-assurance > p:last-child {
  margin: 0;
}

.kf-assurance__mark {
  margin-bottom: 9px;
  color: var(--kf-color-bronze);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.65625rem;
  letter-spacing: 0.2em;
}

.kf-assurance__title {
  margin-bottom: 9px;
  font-size: 1rem;
  letter-spacing: 0.035em;
  line-height: 1.65;
}

.kf-assurance > p:last-child {
  color: var(--kf-color-ink-soft);
  font-size: 0.875rem;
  line-height: 1.9;
}

.kf-first-promise {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  gap: 26px;
  align-items: start;
  margin-top: 10px;
  padding: 21px 24px 22px;
  background: rgba(99, 115, 91, 0.1);
}

.kf-first-promise__label,
.kf-first-promise__title,
.kf-first-promise p {
  margin: 0;
}

.kf-first-promise__label {
  padding-top: 2px;
  color: #5e6c59;
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.15em;
}

.kf-first-promise__title {
  margin-bottom: 5px;
  font-size: 0.9375rem;
}

.kf-first-promise p:last-child {
  color: var(--kf-color-ink-soft);
  font-size: 0.8125rem;
  line-height: 1.8;
}

.kf-first--threshold .kf-first__faq {
  margin: 19px 0 0;
  text-align: right;
}

.kf-world-grammar-preview :is( .kf-first__inner,
.kf-news__inner,
.kf-kichijoji__inner ) {
  --kf-world-rail-color: rgba(231, 221, 201, 0.46);
  --kf-world-heading-top: 66px;
  position: relative;
  z-index: 1;
  width: min(var(--kf-world-wide), calc(100% - (var(--kf-mobile-gutter) * 2)));
  padding-right: 60px;
  padding-left: calc(var(--kf-world-rail) + var(--kf-world-rail-gap));
  background-image: linear-gradient(
    180deg,
    var(--kf-world-rail-color) 0,
    var(--kf-world-rail-color) 148px,
    transparent 252px
  );
  background-repeat: no-repeat;
  background-position: left top;
  background-size: var(--kf-world-rail) 252px;
}

.kf-world-grammar-preview .kf-first__inner {
  --kf-world-rail-color: rgba(219, 222, 208, 0.5);
  --kf-world-heading-top: 68px;
}

.kf-world-grammar-preview .kf-kichijoji__inner {
  --kf-world-rail-color: rgba(238, 227, 206, 0.54);
  --kf-world-heading-top: 56px;
}

.kf-world-grammar-preview :is( .kf-first__inner,
.kf-news__inner,
.kf-kichijoji__inner )::after {
  content: "";
  position: absolute;
  top: calc(var(--kf-world-heading-top) - 15px);
  left: 22px;
  width: 52px;
  height: 1px;
  background: linear-gradient(90deg, var(--kf-world-line), transparent);
}

.kf-world-grammar-preview :is( .kf-first__header,
.kf-news__heading,
.kf-kichijoji__heading ) {
  position: relative;
}

.kf-world-grammar-preview .kf-first__heading {
  display: flex;
  gap: 10px 26px;
  align-items: baseline;
}

.kf-world-grammar-preview :is( .kf-first__heading .kf-heading-icon,
.kf-news__brush,
.kf-kichijoji__tea-motif ) {
  position: absolute;
  top: 50%;
  left: calc(-1 * (var(--kf-world-rail-gap) + 75px));
  width: 52px;
  height: 52px;
  margin: 0;
  transform: translateY(-50%);
}

.kf-world-grammar-preview :is( .kf-first__heading .kf-heading-icon,
.kf-news__brush,
.kf-kichijoji__tea-motif ) img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.kf-world-grammar-preview .kf-first__heading .kf-heading-icon-row {
  position: relative;
}

.kf-world-grammar-preview .kf-first__heading .kf-heading-icon-row::after,
.kf-world-grammar-preview :is(.kf-news__heading,
.kf-kichijoji__heading)::after {
  content: "";
  flex: 0 0 54px;
  height: 1px;
  margin-left: 12px;
  background: linear-gradient(90deg, var(--kf-world-line), transparent);
}

.kf-world-grammar-preview .kf-first__header > .kf-section-kicker,
.kf-world-grammar-preview :is(.kf-news__inner,
.kf-kichijoji__inner) > .kf-section-kicker {
  position: absolute;
  top: calc(var(--kf-world-heading-top) + 58px);
  left: 18px;
  width: 80px;
  margin: 0;
  color: color-mix(in srgb, var(--kf-color-bronze) 78%, var(--kf-color-ink-soft));
  font-size: 0.5625rem;
  letter-spacing: 0.14em;
  line-height: 1.65;
  text-align: left;
  overflow-wrap: normal;
  word-break: keep-all;
}

.kf-world-grammar-preview .kf-first__header > .kf-section-kicker {
  top: 70px;
  left: calc(-1 * (var(--kf-world-rail-gap) + 78px));
}

.kf-world-grammar-preview .kf-practice__grid {
  position: relative;
  grid-template-columns: minmax(275px, 0.66fr) minmax(0, 1.34fr);
  gap: clamp(44px, 5vw, 64px);
}

.kf-world-grammar-preview .kf-practice__grid::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -28px;
  right: -60px;
  bottom: -28px;
  left: 34%;
  background: linear-gradient(180deg, rgba(221, 230, 219, 0.28), rgba(245, 239, 225, 0.18) 52%, rgba(226, 202, 170, 0.2)),
    rgba(255, 253, 248, 0.48);
}

.kf-world-grammar-preview .kf-practice-steps {
  margin-right: -38px;
}

.kf-world-grammar-preview .kf-practice-step {
  padding-right: 92px;
}

.kf-world-grammar-preview .kf-practice__lulu {
  width: min(330px, 100%);
  transform: translateX(44px);
}

.kf-first--threshold {
  background: linear-gradient(90deg, rgba(219, 222, 208, 0.24) 0, rgba(219, 222, 208, 0.1) 26%, transparent 26%),
    linear-gradient(180deg, #eee7d7 0%, #f1ebdf 100%);
}

.kf-first--threshold .kf-first__heading .kf-heading-icon {
  width: 62px;
  height: 62px;
  left: calc(-1 * (var(--kf-world-rail-gap) + 80px));
}

.kf-first--threshold .kf-threshold {
  grid-template-columns: minmax(292px, 0.96fr) minmax(0, 2.04fr);
  gap: clamp(38px, 4.5vw, 56px);
}

.kf-first--threshold .kf-threshold__guide {
  padding-top: 30px;
  border-top-color: rgba(154, 123, 69, 0.54);
}

.kf-first--threshold .kf-threshold__main {
  position: relative;
  margin-top: -14px;
  margin-right: -38px;
  padding: 38px 42px 34px;
  background: rgba(255, 253, 248, 0.5);
}

.kf-first--threshold .kf-threshold__main::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 38%;
  height: 3px;
  background: linear-gradient(90deg, rgba(99, 115, 91, 0.7), rgba(157, 124, 63, 0.38), transparent);
}

.kf-first--threshold .kf-threshold__lead {
  max-width: 31em;
  margin-bottom: 31px;
  font-size: clamp(1.2rem, 1.8vw, 1.55rem);
}

.kf-first--threshold .kf-assurance {
  min-height: 184px;
}

.kf-first--threshold .kf-first-promise {
  margin-right: -18px;
  margin-left: -18px;
  padding-right: 30px;
  padding-left: 30px;
  background: rgba(99, 115, 91, 0.12);
}

.kf-world-grammar-preview .kf-memoir,
.kf-world-grammar-preview .kf-memoir__content {
  min-height: 500px;
}

.kf-world-grammar-preview .kf-memoir::after {
  background: linear-gradient(
    90deg,
    rgba(25, 31, 27, 0.94) 0%,
    rgba(25, 31, 27, 0.78) 43%,
    rgba(25, 31, 27, 0.34) 72%,
    rgba(25, 31, 27, 0.08) 100%
  );
}

.kf-world-grammar-preview .kf-memoir__image img {
  object-position: 60% center;
  filter: brightness(0.82) saturate(0.84);
}

.kf-world-grammar-preview .kf-memoir__title {
  font-size: clamp(1.75rem, 2.5vw, 2.15rem);
  line-height: 1.55;
}

.kf-world-grammar-preview .kf-memoir__lead {
  max-width: 640px;
  font-size: 1rem;
  line-height: 2.05;
}

.kf-world-grammar-preview .kf-class-card__photo {
  position: relative;
  overflow: hidden;
}

.kf-world-grammar-preview .kf-class-card__photo::after {
  content: var(--kf-class-photo-label, "このクラスを見る　↗");
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 9px 14px;
  background: rgba(112, 108, 96, 0.9);
  color: #fffdf8;
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  pointer-events: none;
}

.kf-class-card__photo--course {
  --kf-class-photo-label: "このコースを見る　↗";
}

.kf-world-grammar-preview .kf-teachers__inner {
  --kf-world-rail-color: rgba(220, 211, 193, 0.52);
  --kf-world-heading-top: 78px;
  padding-top: 78px;
  padding-bottom: 86px;
}

.kf-world-grammar-preview .kf-teachers__spread {
  gap: 0;
  margin-top: 0;
}

.kf-world-grammar-preview .kf-teacher {
  grid-template-columns: minmax(190px, 0.58fr) minmax(0, 1.42fr);
  gap: clamp(32px, 5vw, 66px);
  align-items: center;
  min-height: 390px;
  padding: 42px 0;
}

.kf-world-grammar-preview .kf-teacher:nth-child(even) {
  grid-template-columns: minmax(0, 1.42fr) minmax(190px, 0.58fr);
}

.kf-world-grammar-preview .kf-teacher:nth-child(even) .kf-teacher__portrait {
  grid-column: 2;
}

.kf-world-grammar-preview .kf-teacher:nth-child(even) .kf-teacher__body {
  grid-column: 1;
  grid-row: 1;
}

.kf-world-grammar-preview .kf-teacher__portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kf-teacher__signature {
  max-width: 22em;
  margin: 28px 0 13px;
  font-size: clamp(1.25rem, 2.1vw, 1.75rem);
  font-weight: 600;
  letter-spacing: 0.055em;
  line-height: 1.8;
}

.kf-teacher__glimpse {
  max-width: 34em;
  margin: 0 0 25px;
  color: var(--kf-color-ink-soft);
  font-size: 0.88rem;
}

.kf-world-grammar-preview .kf-teachers__note {
  max-width: 720px;
  margin-top: 18px;
  margin-inline: auto;
}

.kf-world-grammar-preview .kf-traditions__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(24px, 4vw, 48px);
  margin-top: 42px;
}

.kf-world-grammar-preview .kf-tradition,
.kf-world-grammar-preview .kf-tradition:last-child {
  display: grid;
  grid-template-rows: 330px 1fr;
  padding: 0;
  background: rgba(255, 253, 248, 0.72);
}

.kf-world-grammar-preview .kf-tradition__photo,
.kf-world-grammar-preview .kf-tradition:last-child .kf-tradition__photo {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  height: 100%;
  margin: 0;
}

.kf-world-grammar-preview .kf-tradition__photo a,
.kf-world-grammar-preview .kf-tradition__photo img {
  display: block;
  width: 100%;
  height: 100%;
}

.kf-world-grammar-preview .kf-tradition__photo img {
  object-fit: cover;
  filter: saturate(0.72) brightness(0.88);
}

.kf-world-grammar-preview .kf-tradition__origin {
  margin: 0 0 16px;
  color: var(--kf-color-bronze);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.68rem;
  letter-spacing: 0.15em;
}

.kf-world-grammar-preview .kf-tradition__title {
  margin: 0;
  font-size: clamp(1.45rem, 2.3vw, 2rem);
}

.kf-world-grammar-preview .kf-tradition__en {
  position: static;
  width: auto;
  margin: 5px 0 19px;
  color: rgba(118, 91, 45, 0.72);
  font-size: 0.65rem;
  letter-spacing: 0.16em;
  writing-mode: horizontal-tb;
}

.kf-tradition__glimpse {
  min-height: 3.8em;
  margin: 0 0 22px;
  color: var(--kf-color-ink-soft);
  font-size: 0.9rem;
  line-height: 1.9;
}

.kf-world-grammar-preview .kf-memoir__content {
  padding-left: 30px;
  border-left: 1px solid rgba(222, 195, 139, 0.66);
  grid-template-columns: 166px minmax(0, 650px);
  column-gap: 42px;
  padding-top: 70px;
  padding-bottom: 70px;
}

.kf-world-grammar-preview {
  --kf-world-wide: 1120px;
  --kf-world-rail: 96px;
  --kf-world-rail-gap: 36px;
  --kf-world-line: color-mix(in srgb, var(--kf-color-bronze-soft) 68%, transparent);
  --kf-world-paper-present: #f8f4ec;
  --kf-world-paper-body: #f3efe7;
  --kf-world-paper-record: #f6f0e5;
  --kf-surface-ink: #2f382f;
  --kf-surface-gold: #a18443;
  --kf-surface-gold-soft: rgba(161, 132, 67, 0.34);
  --kf-surface-green-soft: rgba(106, 122, 101, 0.22);
}

.kf-world-grammar-preview .kf-class-card {
  background: rgba(255, 253, 248, 0.82);
  position: relative;
  box-shadow: inset 0 1px 0 rgba(161, 132, 67, 0.24);
}

.kf-world-grammar-preview .kf-class-card::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 34%;
  height: 2px;
  background: linear-gradient(90deg, var(--kf-surface-gold), transparent);
  opacity: 0.72;
  pointer-events: none;
}

.kf-world-grammar-preview .kf-class-card:nth-child(2)::before {
  right: 0;
  left: auto;
  background: linear-gradient(270deg, color-mix(in srgb, var(--kf-surface-green-soft) 72%, var(--kf-surface-gold)), transparent);
}

.kf-world-grammar-preview .kf-teacher__portrait {
  width: 100%;
  max-width: 260px;
  aspect-ratio: 4 / 5;
  margin: 0;
  position: relative;
}

.kf-world-grammar-preview .kf-teacher__portrait::after {
  content: "";
  position: absolute;
  inset: 9px -9px -9px 9px;
  z-index: -1;
  border-right: 1px solid var(--kf-surface-gold-soft);
  border-bottom: 1px solid var(--kf-surface-gold-soft);
  pointer-events: none;
}

.kf-world-grammar-preview .kf-tradition {
  box-shadow: inset 0 1px 0 rgba(161, 132, 67, 0.22);
}

.kf-world-grammar-preview .kf-tradition__body {
  position: relative;
  grid-column: 1;
  grid-row: 2;
  padding: 30px 34px 34px;
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.18), rgba(255, 253, 248, 0.48));
}

.kf-world-grammar-preview .kf-kichijoji-item {
  position: relative;
}

.kf-world-grammar-preview .kf-kichijoji-item:nth-child(2)::before {
  background: linear-gradient(90deg, rgba(78, 107, 77, 0.7), transparent);
}

.kf-world-grammar-preview .kf-final-trial__inner {
  position: relative;
}

.kf-world-grammar-preview .kf-final-trial__inner::before,
.kf-world-grammar-preview .kf-final-trial__inner::after {
  content: "";
  position: absolute;
  left: 50%;
  width: min(118px, 26vw);
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, var(--kf-surface-gold), transparent);
  opacity: 0.62;
}

.kf-world-grammar-preview .kf-final-trial__inner::before {
  top: 28px;
}

.kf-world-grammar-preview .kf-final-trial__inner::after {
  bottom: 28px;
}

.kf-world-grammar-preview .kf-news {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(69, 72, 63, 0.1) 0, transparent 34px),
    #faf8f2;
}

.kf-world-grammar-preview .kf-news::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  left: 0;
  height: 86px;
  background: linear-gradient(90deg, rgba(106, 122, 101, 0.13), rgba(161, 132, 67, 0.06) 48%, transparent 82%);
  pointer-events: none;
  -webkit-mask-image: linear-gradient(180deg, #000, transparent);
  mask-image: linear-gradient(180deg, #000, transparent);
}

.kf-world-grammar-preview .kf-news__inner {
  --kf-world-rail-color: rgba(232, 219, 195, 0.52);
  --kf-world-heading-top: 56px;
  position: relative;
  z-index: 1;
}

.kf-world-grammar-preview .kf-news-list {
  position: relative;
}

.kf-world-grammar-preview .kf-kichijoji {
  position: relative;
  overflow: hidden;
  background: linear-gradient(90deg, rgba(161, 132, 67, 0.035), transparent 36%, rgba(106, 122, 101, 0.035)),
    var(--kf-hybrid-paper);
}

.kf-world-grammar-preview .kf-kichijoji-item__image {
  position: relative;
  isolation: isolate;
  overflow: visible;
}

.kf-world-grammar-preview .kf-kichijoji-item__image::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 10px -10px -10px 10px;
  background: rgba(170, 137, 78, 0.15);
  pointer-events: none;
}

.kf-world-grammar-preview .kf-kichijoji-item:nth-child(2) .kf-kichijoji-item__image::before {
  inset: 10px 10px -10px -10px;
  background: rgba(91, 118, 86, 0.14);
}

.kf-world-grammar-preview .kf-kichijoji-item::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  height: 2px;
  background: linear-gradient(90deg, rgba(153, 116, 55, 0.78), transparent);
  pointer-events: none;
  width: 54%;
  opacity: 0.78;
}

.kf-world-grammar-preview .kf-final-trial {
  position: relative;
  overflow: hidden;
  background: linear-gradient(90deg, rgba(161, 132, 67, 0.07), transparent 27%, transparent 73%, rgba(106, 122, 101, 0.06)),
    var(--kf-hybrid-paper-deep);
}

.kf-world-grammar-preview .kf-final-trial::before,
.kf-world-grammar-preview .kf-final-trial::after {
  content: "";
  position: absolute;
  top: 50%;
  width: clamp(32px, 8vw, 118px);
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(161, 132, 67, 0.42));
  pointer-events: none;
}

.kf-world-grammar-preview .kf-final-trial::before {
  left: clamp(16px, 5vw, 72px);
}

.kf-world-grammar-preview .kf-final-trial::after {
  right: clamp(16px, 5vw, 72px);
  transform: rotate(180deg);
}

.kf-world-grammar-preview .kf-classes::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  background: linear-gradient(180deg, rgba(248, 244, 236, 0.2), rgba(248, 244, 236, 0.68)),
    url("../images/background-paper-table-v1-web.webp") center / cover no-repeat;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 15%, #000 82%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0, #000 15%, #000 82%, transparent 100%);
  opacity: 0.31;
}

.kf-world-grammar-preview .kf-teachers::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 108px;
  right: max(-84px, calc((100vw - 1360px) / 2));
  width: min(430px, 35vw);
  height: 670px;
  background: url("../images/motif-taihu-rock-bamboo-v1-web.webp") right center / contain no-repeat;
  filter: saturate(0.52) sepia(0.08);
  pointer-events: none;
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 13%, #000 76%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0, #000 13%, #000 76%, transparent 100%);
  opacity: 0.11;
}

.kf-world-grammar-preview .kf-traditions::before {
  background-image: linear-gradient(180deg, rgba(246, 240, 229, 0.9) 0%, rgba(246, 240, 229, 0.35) 38%, rgba(246, 240, 229, 0.72) 100%),
    url("../images/background-ink-garden-title-v1-web.webp");
  background-position: center, center bottom;
  background-size: cover, cover;
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 18%, #000 92%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0, #000 18%, #000 92%, transparent 100%);
  opacity: 0.56;
}

.kf-world-grammar-preview .kf-hero-fact {
  position: relative;
  min-width: 0;
  padding: 22px 20px 21px;
  border-top: 1px solid rgba(161, 132, 67, 0.27);
  border-right: 1px solid rgba(161, 132, 67, 0.23);
  border-bottom: 1px solid rgba(161, 132, 67, 0.27);
  background: rgba(252, 249, 242, 0.72);
  text-align: center;
  box-shadow: inset 0 2px 0 rgba(161, 132, 67, 0.24);
}

.kf-world-grammar-preview .kf-hero-fact:nth-child(2) {
  background: rgba(248, 245, 237, 0.78);
  box-shadow: inset 0 2px 0 rgba(140, 119, 77, 0.29);
}

.kf-world-grammar-preview .kf-classes__inner {
  --kf-world-rail-color: rgba(238, 227, 206, 0.56);
  --kf-world-heading-top: 56px;
  background-image: linear-gradient(
    180deg,
    rgba(238, 227, 206, 0.56) 0,
    rgba(238, 227, 206, 0.56) 148px,
    transparent 252px
  );
}

.kf-world-grammar-preview .kf-hero-fact:first-child {
  border-left: 1px solid rgba(161, 132, 67, 0.23);
}

.kf-world-grammar-preview .kf-hero-fact:nth-child(3) {
  background: rgba(241, 242, 233, 0.76);
  box-shadow: inset 0 2px 0 rgba(98, 119, 92, 0.3);
  border-right: 1px solid rgba(98, 119, 92, 0.25);
}

.kf-world-grammar-preview .kf-hero-facts::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  background-image: var(--kf-site-wallpaper-image);
  background-position: var(--kf-site-wallpaper-position);
  background-size: var(--kf-site-wallpaper-size);
  opacity: 0.2;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(90deg, #000 0, transparent 19%, transparent 81%, #000 100%);
  mask-image: linear-gradient(90deg, #000 0, transparent 19%, transparent 81%, #000 100%);
  content: none;
}

.kf-world-grammar-preview .kf-hero-facts__grid::before,
.kf-world-grammar-preview .kf-hero-facts__grid::after {
  content: "";
  position: absolute;
  z-index: 2;
  right: 0;
  left: 0;
  height: 1px;
  pointer-events: none;
}

.kf-world-grammar-preview .kf-hero-facts__grid::before {
  position: absolute;
  bottom: 0;
  left: calc(var(--kf-world-rail) + var(--kf-world-rail-gap));
  width: 1px;
  pointer-events: none;
  content: none;
  top: 0;
  height: 2px;
  background: linear-gradient(90deg, rgba(161, 132, 67, 0.78), rgba(145, 126, 82, 0.46) 54%, rgba(89, 112, 84, 0.58));
}

.kf-world-grammar-preview .kf-hero-facts__grid::after {
  bottom: 0;
  background: linear-gradient(90deg, rgba(161, 132, 67, 0.28), rgba(145, 126, 82, 0.18) 54%, rgba(89, 112, 84, 0.3));
}

.kf-world-grammar-preview .kf-hero-fact,
.kf-world-grammar-preview .kf-hero-fact:nth-child(2),
.kf-world-grammar-preview .kf-hero-fact:nth-child(3) {
  position: relative;
  padding: 24px 24px 23px;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.kf-world-grammar-preview .kf-hero-fact + .kf-hero-fact::before {
  content: "";
  position: absolute;
  top: 17px;
  bottom: 17px;
  left: 0;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(151, 130, 86, 0.34) 22%, rgba(151, 130, 86, 0.34) 78%, transparent);
}

.kf-world-grammar-preview .kf-hero-fact__main,
.kf-hub-mobile-nav .kf-hero-fact__main {
  line-height: 1.55;
  font-size: 0.93rem;
  letter-spacing: 0.06em;
}

.kf-world-grammar-preview .kf-hero-fact__sub,
.kf-hub-mobile-nav .kf-hero-fact__sub {
  color: color-mix(in srgb, var(--kf-color-ink-soft) 88%, var(--kf-color-bronze));
  margin-top: 6px;
  font-size: 0.69rem;
  letter-spacing: 0.04em;
}

.kf-world-grammar-preview .kf-classes {
  position: relative;
  overflow: hidden;
  background-color: var(--kf-world-paper-present);
  background-image: none;
  border-top: 1px solid rgba(161, 132, 67, 0.12);
}

.kf-world-grammar-preview .kf-hero-facts {
  position: relative;
  overflow: hidden;
  background: var(--kf-world-paper-present);
  border-bottom: 0;
  padding: 28px 0 38px;
  border: 0;
  background-color: var(--kf-color-paper);
  background-image: var(--kf-site-wallpaper-image);
  background-position: var(--kf-site-wallpaper-position);
  background-size: var(--kf-site-wallpaper-size);
  padding-top: 0;
}

.kf-world-grammar-preview .kf-hero-facts__grid {
  z-index: 1;
  box-sizing: border-box;
  padding-right: 0;
  padding-left: 0;
  display: grid;
  position: relative;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(960px, calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin: 0 auto;
  padding: 0;
  border: 0;
  background: linear-gradient(
    102deg,
    rgba(250, 245, 235, 0.96) 0%,
    rgba(248, 245, 238, 0.97) 50%,
    rgba(240, 243, 234, 0.96) 100%
  );
  border-right: 1px solid rgba(98, 119, 92, 0.28);
  border-left: 1px solid rgba(161, 132, 67, 0.27);
}

.kf-world-grammar-preview .kf-hero-fact:first-child,
.kf-world-grammar-preview .kf-hero-fact:nth-child(3) {
  border-right: 0;
  border-left: 0;
}

.kf-world-grammar-preview :is( .kf-classes__inner,
.kf-practice__inner,
.kf-teachers__inner,
.kf-traditions__inner,
.kf-first__inner,
.kf-news__inner,
.kf-kichijoji__inner )::after {
  content: none !important;
}

.kf-world-grammar-preview :is( .kf-classes,
.kf-practice,
.kf-teachers ) .kf-heading-icon-row::after,
.kf-world-grammar-preview .kf-traditions__heading::after,
.kf-world-grammar-preview .kf-first__heading .kf-heading-icon-row::after,
.kf-world-grammar-preview :is(.kf-news__heading,
.kf-kichijoji__heading)::after {
  content: none !important;
  flex-basis: 0;
  margin-left: 0;
}

.kf-world-grammar-preview .kf-traditions__inner {
  --kf-world-rail-color: rgba(232, 219, 195, 0.56);
  --kf-world-heading-top: 56px;
  padding-top: 76px;
  padding-bottom: 210px;
}

.kf-world-grammar-preview .kf-traditions::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: 0;
  left: 0;
  background: url("../images/ornament-cloud-ruyi-divider-v1-web.webp") center bottom / min(520px, 46vw) auto no-repeat,
    linear-gradient(180deg, transparent, rgba(45, 40, 34, 0.07));
  pointer-events: none;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 24%, #000 76%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 24%, #000 76%, transparent 100%);
  opacity: 0.64;
  bottom: 18px;
  height: 174px;
  background-position: center center, center center;
  background-size: min(520px, 46vw) auto, auto;
}

.kf-world-grammar-preview .kf-news-list::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -18px;
  width: 1px;
  background: linear-gradient(180deg, rgba(161, 132, 67, 0.58), rgba(106, 122, 101, 0.32), transparent);
  pointer-events: none;
  content: none;
}

.kf-world-grammar-preview .kf-hero__eyebrow {
  letter-spacing: 0.2em;
}

.kf-world-grammar-preview .kf-hero__actions .wp-block-button__link {
  min-width: 202px;
  min-height: 46px;
  padding: 0.72rem 1.35rem;
  border: 1px solid rgba(112, 108, 96, 0.9);
  border-radius: 999px;
  background: rgba(112, 108, 96, 0.9);
  color: #fff;
  font-size: 0.84rem;
  font-weight: 600;
  letter-spacing: 0.07em;
  line-height: 1.4;
}

.kf-world-grammar-preview .kf-hero__actions .wp-block-button__link::after {
  content: "›";
  margin-left: 13px;
  color: rgba(255, 255, 255, 0.88);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 1.05em;
  font-weight: 400;
  line-height: 1;
}

.kf-world-grammar-preview .kf-hero__actions .wp-block-button__link:hover {
  border-color: var(--kf-gold-300);
  background: var(--kf-gold-100);
  color: var(--kf-color-ink);
}

.kf-world-grammar-preview .kf-hero__actions .wp-block-button__link:hover::after {
  color: var(--kf-gold-700);
}

.kf-world-grammar-preview .site-brand__official-logo {
  display: block;
  width: clamp(260px, 27vw, 320px);
  line-height: 0;
}

.kf-world-grammar-preview .site-brand__official-logo img {
  display: block;
  width: 100%;
  height: auto;
}

.kf-world-grammar-preview .site-header .preview-navigation {
  font-family: var(--wp--preset--font-family--serif);
  font-size: 0.86rem;
  font-weight: 500;
  letter-spacing: 0.045em;
  line-height: 1.5;
}

.kf-world-grammar-preview .site-header .preview-navigation a {
  color: color-mix(in srgb, var(--kf-color-ink) 82%, var(--kf-color-ink-soft));
}

.kf-world-grammar-preview .site-header .preview-navigation a:hover {
  color: var(--kf-color-bronze);
}

body.kf-world-grammar-preview {
  --wp--preset--font-family--serif: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
  --wp--preset--font-family--sans: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
  font-family: var(--wp--preset--font-family--serif);
  font-weight: 400;
}

body.kf-world-grammar-preview :is(button,
input,
select,
textarea) {
  font-family: inherit;
}

.wpcf7-form-control-wrap {
  display: block;
  max-width: 100%;
}

.wpcf7 :is(input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="date"],
input[type="number"],
select) {
  box-sizing: border-box;
  display: block;
  width: 50%;
  max-width: 100%;
  margin-right: auto;
  margin-left: 0;
  font-size: 1rem;
  line-height: 1.6;
}

.wpcf7 textarea {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  font-size: 1rem;
  line-height: 1.7;
}

@media (max-width: 700px) {
  .wpcf7 :is(input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="date"],
  input[type="number"],
  select) {
    width: 100%;
  }

  .page-id-47 .entry-content .cf7 :is(input[type="text"], input[type="email"], select, textarea) {
    appearance: none;
    border: 1px solid #817a6c;
    border-radius: 6px;
    background-color: #fff;
    color: #2e2b24;
    padding: 10px 12px;
    font-size: 16px;
    box-shadow: none;
  }

  .page-id-47 .entry-content .cf7 select {
    height: auto;
    min-height: 44px;
    padding-right: 34px;
  }

  .page-id-47 .entry-content .cf7 :is(input[type="text"], input[type="email"], select, textarea):focus {
    border-color: #416f80;
    outline: 2px solid #416f80;
    outline-offset: 2px;
  }

  .page-id-47 .entry-content .cf7__button {
    position: relative;
    grid-template-columns: minmax(0, 1fr) 100px;
    grid-template-rows: var(--kf-button-min-height) auto;
    row-gap: 16px;
  }

  .page-id-47 .entry-content .cf7__button::before {
    padding: 12px;
    border: 1px solid #6d9eaf;
    border-radius: 12px;
    background: #eef7f8;
    font-size: 0.875rem;
  }

  .page-id-47 .entry-content .cf7__button::after {
    width: 100px;
  }

  .page-id-47 .entry-content .cf7__button > p::after {
    position: absolute;
    z-index: 1;
    top: calc(50% + 31px);
    right: 100px;
    width: 12px;
    height: 12px;
    border-top: 1px solid #6d9eaf;
    border-right: 1px solid #6d9eaf;
    background: #eef7f8;
    transform: translateY(-50%) rotate(45deg);
    content: "";
    pointer-events: none;
  }
}

.kf-world-grammar-preview .kf-tradition__en,
.kf-world-grammar-preview .kf-tradition:last-child .kf-tradition__en {
  width: 100%;
  justify-self: start;
  text-align: left;
}

.kf-story-flow-preview .kf-teacher + .kf-teacher::before {
  right: 0;
  left: 0;
  background: var(--kf-story-thread);
}

.kf-world-grammar-preview .kf-teachers__note,
.kf-story-flow-preview .kf-teachers__note,
.kf-hybrid-preview .kf-teachers__note {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  column-gap: 24px;
  align-items: baseline;
  width: 100%;
  max-width: none;
  margin: 26px 0 0;
  padding: 17px 22px 18px;
  border-top: 1px solid rgba(161, 132, 67, 0.42);
  border-bottom: 1px solid rgba(161, 132, 67, 0.2);
  background: rgba(255, 253, 248, 0.42);
  text-align: left;
}

.kf-teachers__note-label,
.kf-teachers__note-text {
  margin: 0;
}

.kf-teachers__note-label {
  color: var(--kf-color-bronze);
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  white-space: nowrap;
}

.kf-teachers__note-text {
  color: var(--kf-color-ink-soft);
  font-size: 0.88rem;
  line-height: 1.9;
}

.kf-story-flow-preview .kf-teacher__portrait::after {
  position: absolute;
  right: -12px;
  bottom: -12px;
  width: 64%;
  height: 54%;
  border-right: 1px solid var(--kf-story-thread);
  border-bottom: 1px solid var(--kf-story-thread);
  pointer-events: none;
  content: none;
  display: none;
}

.kf-world-grammar-preview .kf-final-trial::before,
.kf-world-grammar-preview .kf-final-trial::after,
.kf-world-grammar-preview .kf-final-trial__inner::before,
.kf-world-grammar-preview .kf-final-trial__inner::after {
  content: none !important;
  display: none !important;
}

.kf-comic {
  background: linear-gradient(90deg, rgba(161, 132, 67, 0.045), transparent 26%, transparent 74%, rgba(106, 122, 101, 0.04)),
    #f3eee4;
}

.kf-comic__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 250px);
  gap: clamp(42px, 5vw, 66px);
  align-items: center;
  width: min(var(--kf-layout-wide), calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin-inline: auto;
  padding: clamp(50px, 5vw, 58px) var(--kf-layout-inset);
}

.kf-comic__copy {
  max-width: 540px;
}

.kf-comic__kicker {
  margin: 0 0 11px;
  color: var(--kf-color-bronze);
  font-size: 0.72rem;
  letter-spacing: 0.2em;
}

.kf-comic__title {
  margin: 0;
  font-size: 1.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.5;
}

.kf-comic__description {
  max-width: 35em;
  margin: 17px 0 0;
  color: var(--kf-color-ink-soft);
  font-size: 0.9rem;
  line-height: 1.9;
}

.kf-comic__actions {
  justify-content: flex-start;
  margin-top: 22px;
}

.kf-comic__work {
  width: 100%;
  max-width: 250px;
  margin: 0 0 0 auto;
}

.kf-comic__cover {
  margin: 0;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.kf-comic__cover a {
  display: block;
  width: 100%;
  height: 100%;
}

.kf-comic__cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kf-comic__credit {
  margin: 9px 0 0;
  color: var(--kf-color-ink-soft);
  font-size: 0.68rem;
  line-height: 1.75;
}

.kf-comic__actions .wp-block-button__link {
  min-height: 40px;
  padding: 0.56rem 1.18rem;
  font-size: 0.82rem;
}

.kf-story-flow-preview .kf-memoir__content {
  display: grid;
  grid-template-rows: auto auto auto;
  align-content: center;
  padding-left: var(--kf-layout-inset);
  border-left: 0;
}

@media (max-width: 520px) {
  .kf-hybrid-preview .kf-traditions__heading + .kf-section-kicker {
    margin-inline-start: 46px;
  }

  .kf-hybrid-preview .kf-kichijoji__heading + .kf-section-kicker {
    margin-inline-start: 44px;
  }

}

@media (max-width: 760px) {
  .kf-hybrid-preview .kf-practice__inner,
  .kf-hybrid-preview .kf-news__inner,
  .kf-hybrid-preview .kf-kichijoji__inner {
    padding-top: 54px;
    padding-bottom: 56px;
  }

  .kf-hybrid-preview .kf-practice__grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .kf-hybrid-preview .kf-practice__other {
    margin-left: 0;
  }

  .kf-world-grammar-preview :is( .kf-classes__inner,
  .kf-practice__inner,
  .kf-teachers__inner,
  .kf-traditions__inner ) {
    width: 100%;
    background-image: none;
  }

  .kf-world-grammar-preview :is(.kf-classes__inner,
  .kf-practice__inner) {
    padding: 58px var(--kf-mobile-gutter) 56px;
  }

  .kf-world-grammar-preview :is(.kf-teachers__inner,
  .kf-traditions__inner) {
    padding-top: 38px;
    padding-right: var(--kf-mobile-gutter);
    padding-left: var(--kf-mobile-gutter);
  }

  .kf-world-grammar-preview .kf-teachers__inner {
    padding-bottom: 40px;
  }

  .kf-world-grammar-preview :is( .kf-classes__inner,
  .kf-practice__inner,
  .kf-teachers__inner,
  .kf-traditions__inner )::after {
    content: none;
  }

  .kf-world-grammar-preview :is( .kf-classes,
  .kf-practice,
  .kf-teachers ) .kf-heading-icon,
  .kf-world-grammar-preview .kf-traditions__book {
    position: static;
    width: 42px;
    height: 42px;
    transform: none;
  }

  .kf-world-grammar-preview .kf-teachers .kf-heading-icon--teachers {
    width: 48px;
    height: 46px;
  }

  .kf-world-grammar-preview :is( .kf-classes__inner,
  .kf-practice__inner,
  .kf-teachers__inner,
  .kf-traditions__inner ) > .kf-section-kicker {
    position: static;
    width: auto;
    margin-top: 7px;
    font-size: 0.6875rem;
    text-align: left;
  }

  .kf-world-grammar-preview :is(.kf-classes__inner,
  .kf-practice__inner) > .kf-section-kicker {
    margin-left: 48px;
  }

  .kf-world-grammar-preview :is( .kf-classes,
  .kf-practice,
  .kf-teachers ) .kf-heading-icon-row::after,
  .kf-world-grammar-preview .kf-traditions__heading::after {
    content: none;
  }

  .kf-world-grammar-preview :is(.kf-classes,
  .kf-traditions)::before {
    opacity: 0.13;
    -webkit-mask-image: linear-gradient(180deg, #000, transparent 120px);
    mask-image: linear-gradient(180deg, #000, transparent 120px);
  }

  .kf-world-grammar-preview .kf-memoir {
    border-top-width: 12px;
  }

}

@media (min-width: 981px) {
  .kf-story-flow-preview .kf-video-letter__grid {
    grid-template-columns: minmax(560px, 1.35fr) minmax(280px, 0.65fr);
    gap: 32px;
  }

}

@media (min-width: 761px) and (max-width: 980px) {
  .kf-story-flow-preview .kf-video-letter__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .kf-story-flow-preview .kf-video-letter__player {
    width: min(680px, 100%);
    margin-inline: auto;
  }

  .kf-story-flow-preview .kf-video-letter__copy {
    width: min(680px, 100%);
    margin-inline: auto;
  }

}

@media (max-width: 760px) {
  .kf-story-flow-preview .kf-practice__grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .kf-story-flow-preview .kf-practice__intro {
    padding-right: 0;
  }

  .kf-story-flow-preview .kf-practice-time {
    padding-right: 0;
  }

  .kf-story-flow-preview .kf-practice-step {
    padding: 19px 48px 20px 18px;
  }

  .kf-story-flow-preview .kf-teacher {
    gap: 24px;
  }

  .kf-story-flow-preview .kf-teacher__portrait::after {
    right: -9px;
    bottom: -9px;
  }

  .kf-story-flow-preview .kf-teacher:nth-child(even) .kf-teacher__portrait::after {
    left: -9px;
  }

  .kf-story-flow-preview .kf-teachers__note {
    width: 100%;
  }

  .kf-story-flow-preview .kf-tradition:last-child .kf-tradition__en {
    width: auto;
    margin: 5px 0 14px;
    padding: 0;
    font-size: 0.6875rem;
    text-align: left;
    justify-self: auto;
    writing-mode: horizontal-tb;
  }

  .kf-story-flow-preview .kf-tradition__en {
    width: auto;
    padding: 0;
    text-align: left;
    justify-self: auto;
    writing-mode: horizontal-tb;
  }

  .kf-story-flow-preview .kf-memoir,
  .kf-story-flow-preview .kf-memoir__content {
    min-height: 390px;
  }

  .kf-story-flow-preview .kf-memoir__content {
    display: block;
    padding-left: var(--kf-mobile-gutter);
  }

  .kf-story-flow-preview .kf-memoir__kicker {
    margin: 0 0 18px;
    padding: 0 0 12px;
    border-right: 0;
    border-bottom: 1px solid rgba(222, 195, 139, 0.44);
  }

  .kf-motion-field-preview .kf-practice {
    background: radial-gradient(ellipse at 90% 10%, rgba(169, 187, 170, 0.28), transparent 28%),
      linear-gradient(180deg, #edf0e8 0%, #f3f0e7 52%, #efe5d6 100%);
  }

  .kf-motion-field-preview .kf-practice-step {
    border-left-width: 2px;
  }

  .kf-motion-line-preview .kf-practice {
    background: linear-gradient(180deg, #f5f3ed 0%, #f7f4ed 58%, #f2e9dc 100%);
  }

}

@media (max-width: 900px) {
  .kf-threshold {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .kf-threshold__guide {
    grid-template-columns: 112px minmax(0, 1fr);
  }

  .kf-threshold__lulu {
    width: 112px;
  }

}

@media (max-width: 680px) {
  .kf-first--threshold .kf-first__inner {
    padding-top: 52px;
    padding-bottom: 56px;
  }

  .kf-first--threshold .kf-first__header {
    margin-bottom: 30px;
  }

  .kf-first--threshold .kf-first__heading {
    display: block;
  }

  .kf-first--threshold .kf-heading-icon--first-visit {
    flex-basis: 54px;
    width: 54px;
    height: 54px;
  }

  .kf-first--threshold .kf-first__intro {
    margin-top: 7px;
    margin-left: 60px;
  }

  .kf-first--threshold .kf-first__heading + .kf-section-kicker {
    margin-top: 7px;
    margin-inline-start: 60px;
  }

  .kf-threshold__guide {
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 16px;
    padding-top: 19px;
  }

  .kf-threshold__line {
    margin-top: 13px;
    font-size: 0.8125rem;
  }

  .kf-threshold__lulu {
    width: 96px;
  }

  .kf-threshold__lead {
    margin-bottom: 20px;
    font-size: 1.05rem;
  }

  .kf-assurances {
    grid-template-columns: 1fr;
  }

  .kf-assurance {
    min-height: 0;
    padding: 20px 0 22px;
  }

  .kf-first-promise {
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 4px;
    padding: 18px;
  }

  .kf-first--threshold .kf-first__faq {
    text-align: left;
  }

}

@media (max-width: 760px) {
  .kf-world-grammar-preview :is( .kf-first__inner,
  .kf-news__inner,
  .kf-kichijoji__inner ) {
    width: 100%;
    padding: 52px var(--kf-mobile-gutter);
    background-image: linear-gradient(90deg, var(--kf-world-rail-color), transparent 72%);
    background-repeat: no-repeat;
    background-size: 100% 12px;
  }

  .kf-world-grammar-preview :is( .kf-first__inner,
  .kf-news__inner,
  .kf-kichijoji__inner )::after {
    content: none;
  }

  .kf-world-grammar-preview .kf-first__heading {
    display: block;
  }

  .kf-world-grammar-preview :is( .kf-first__heading .kf-heading-icon,
  .kf-news__brush,
  .kf-kichijoji__tea-motif ) {
    position: static;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    transform: none;
  }

  .kf-world-grammar-preview .kf-first__heading .kf-heading-icon-row::after,
  .kf-world-grammar-preview :is(.kf-news__heading,
  .kf-kichijoji__heading)::after {
    content: none;
  }

  .kf-world-grammar-preview .kf-first__header > .kf-section-kicker,
  .kf-world-grammar-preview :is(.kf-news__inner,
  .kf-kichijoji__inner) > .kf-section-kicker {
    position: static;
    width: auto;
    margin-top: 7px;
    margin-left: 52px;
    font-size: 0.6875rem;
  }

  .kf-world-grammar-preview .kf-first__intro {
    margin-left: 52px;
  }

}

@media (max-width: 900px) {
  .kf-first--threshold .kf-threshold {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .kf-first--threshold .kf-threshold__main {
    margin-top: 0;
    margin-right: 0;
  }

}

@media (max-width: 760px) {
  .kf-world-grammar-preview .kf-practice__grid {
    grid-template-columns: 1fr;
  }

  .kf-world-grammar-preview .kf-practice__grid::before {
    content: none;
  }

  .kf-world-grammar-preview .kf-practice-steps {
    margin-right: 0;
  }

  .kf-world-grammar-preview .kf-practice-step {
    padding-right: 48px;
  }

  .kf-world-grammar-preview .kf-practice__lulu {
    width: min(160px, 48vw);
    transform: none;
  }

  .kf-first--threshold {
    background: linear-gradient(180deg, #eee7d7 0%, #f1ebdf 100%);
  }

  .kf-first--threshold .kf-first__heading .kf-heading-icon {
    width: 48px;
    height: 48px;
  }

  .kf-first--threshold .kf-threshold__main {
    padding: 28px 20px 25px;
  }

  .kf-first--threshold .kf-first-promise {
    margin-right: 0;
    margin-left: 0;
    padding: 18px;
  }

  .kf-world-grammar-preview .kf-memoir,
  .kf-world-grammar-preview .kf-memoir__content {
    min-height: 430px;
  }

  .kf-world-grammar-preview .kf-memoir__content {
    display: block;
  }

  .kf-world-grammar-preview .kf-memoir__title {
    font-size: 1.5rem;
  }

}

@media (max-width: 420px) {
  :is(.kf-trial-bridge__actions,
  .kf-final-trial__actions) {
    width: 100%;
    gap: 10px;
  }

  :is(.kf-trial-bridge__actions,
  .kf-final-trial__actions) .wp-block-button {
    flex: 1 1 0;
    min-width: 0;
  }

  :is(.kf-trial-bridge__actions,
  .kf-final-trial__actions) .wp-block-button__link {
    width: 100%;
    min-width: 0;
    padding-inline: 10px;
  }

}

@media (max-width: 760px) {
  .kf-world-grammar-preview .kf-teacher,
  .kf-world-grammar-preview .kf-teacher:nth-child(even) {
    grid-template-columns: 1fr;
    gap: 26px;
    min-height: 0;
    padding: 32px 0;
  }

  .kf-world-grammar-preview .kf-teacher:nth-child(even) .kf-teacher__portrait,
  .kf-world-grammar-preview .kf-teacher:nth-child(even) .kf-teacher__body {
    grid-column: 1;
    grid-row: auto;
  }

  .kf-world-grammar-preview .kf-teacher__portrait {
    width: min(210px, 68vw);
    margin-inline: auto;
  }

  .kf-world-grammar-preview .kf-traditions__grid {
    grid-template-columns: 1fr;
  }

  .kf-world-grammar-preview .kf-tradition,
  .kf-world-grammar-preview .kf-tradition:last-child {
    grid-template-rows: 240px 1fr;
    border-top: 0;
    box-shadow: none;
  }

  .kf-world-grammar-preview .kf-tradition__body {
    padding: 26px 24px 29px;
  }

  .kf-tradition__glimpse {
    min-height: 0;
  }

  .kf-world-grammar-preview .kf-teacher__portrait::after {
    inset: 7px -7px -7px 7px;
  }

  .kf-world-grammar-preview .kf-final-trial__inner::before {
    top: 20px;
  }

  .kf-world-grammar-preview .kf-final-trial__inner::after {
    bottom: 20px;
  }

}

@media (prefers-reduced-motion: reduce) {
  .kf-world-grammar-preview *,
  .kf-world-grammar-preview *::before,
  .kf-world-grammar-preview *::after {
    scroll-behavior: auto !important;
    animation: none !important;
    transition: none !important;
  }

}

@media (max-width: 760px) {
  .kf-world-grammar-preview .kf-news-list::after {
    content: none;
  }

  .kf-world-grammar-preview .kf-kichijoji-item__image::before,
  .kf-world-grammar-preview .kf-kichijoji-item:nth-child(2) .kf-kichijoji-item__image::before {
    inset: 7px -7px -7px 7px;
  }

  .kf-world-grammar-preview .kf-final-trial::before,
  .kf-world-grammar-preview .kf-final-trial::after {
    content: none;
  }

  .kf-world-grammar-preview .kf-final-trial__actions {
    flex-direction: column;
    align-items: stretch;
    width: min(260px, 100%);
    margin-inline: auto;
    gap: 11px;
  }

  .kf-world-grammar-preview .kf-final-trial__actions .wp-block-button {
    flex: 0 0 auto;
    width: 100%;
  }

  .kf-world-grammar-preview .kf-final-trial__actions .wp-block-button__link {
    width: 100%;
    white-space: nowrap;
  }

  .kf-world-grammar-preview .kf-classes::after {
    opacity: 0.24;
  }

  .kf-world-grammar-preview .kf-teachers::before {
    top: 160px;
    right: -82px;
    width: 250px;
    height: 540px;
    opacity: 0.066;
  }

  .kf-world-grammar-preview .kf-traditions::before {
    background-size: auto, auto 88%;
    opacity: 0.45;
  }

  .kf-world-grammar-preview .kf-hero-facts::before {
    opacity: 0.15;
    -webkit-mask-image: linear-gradient(90deg, #000, transparent 30%, transparent 70%, #000);
    mask-image: linear-gradient(90deg, #000, transparent 30%, transparent 70%, #000);
  }

  .kf-world-grammar-preview .kf-hero-facts__grid::before {
    content: none;
  }

  .kf-world-grammar-preview .kf-hero-fact:first-child {
    border-top: 2px solid rgba(161, 132, 67, 0.36);
  }

  .kf-world-grammar-preview .kf-hero-fact:last-child {
    border-bottom-color: rgba(98, 119, 92, 0.32);
  }

  .kf-world-grammar-preview .kf-hero-facts__grid {
    padding: 0;
    grid-template-columns: 1fr;
    width: calc(100% - (var(--kf-mobile-gutter) * 2));
  }

  .kf-world-grammar-preview .kf-hero-fact,
  .kf-world-grammar-preview .kf-hero-fact:nth-child(2),
  .kf-world-grammar-preview .kf-hero-fact:nth-child(3) {
    border-top: 0;
    border-right: 1px solid rgba(161, 132, 67, 0.23);
    border-bottom: 1px solid rgba(161, 132, 67, 0.22);
    border-left: 1px solid rgba(161, 132, 67, 0.23);
    box-shadow: none;
    padding: 16px 18px;
    border: 0;
    background: transparent;
  }

  .kf-world-grammar-preview .kf-hero-fact + .kf-hero-fact::before {
    top: 0;
    right: 18px;
    bottom: auto;
    left: 18px;
    width: auto;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(151, 130, 86, 0.32) 20%, rgba(151, 130, 86, 0.32) 80%, transparent);
  }

  .kf-world-grammar-preview .kf-hero-facts {
    padding-block: 14px;
    padding: 18px 0 27px;
    padding-top: 0;
  }

  .kf-world-grammar-preview .kf-traditions__inner {
    padding-bottom: 144px;
  }

  .kf-world-grammar-preview .kf-traditions::after {
    opacity: 0.54;
    bottom: 15px;
    height: 114px;
    background-position: center center, center center;
    background-size: min(340px, 80vw) auto, auto;
  }

}

@media (min-width: 761px) {
  .kf-world-grammar-preview :is( .kf-classes__inner,
  .kf-practice__inner,
  .kf-teachers__inner,
  .kf-traditions__inner,
  .kf-news__inner,
  .kf-kichijoji__inner ) > .kf-section-kicker {
    left: 8px;
    width: 80px;
    margin: 0 !important;
    text-align: center;
  }

  .kf-world-grammar-preview .kf-classes__inner > .kf-section-kicker {
    top: 110px;
  }

  .kf-world-grammar-preview .kf-practice__inner > .kf-section-kicker {
    top: 128px;
  }

  .kf-world-grammar-preview .kf-teachers__inner > .kf-section-kicker {
    top: 132px;
  }

  .kf-world-grammar-preview .kf-traditions__inner > .kf-section-kicker {
    top: 131px;
  }

  .kf-world-grammar-preview .kf-news__inner > .kf-section-kicker {
    top: 126px;
  }

  .kf-world-grammar-preview .kf-kichijoji__inner > .kf-section-kicker {
    top: 125px;
  }

  .kf-world-grammar-preview .kf-first__header > .kf-section-kicker {
    left: calc(-1 * (var(--kf-world-rail-gap) + 88px));
    width: 80px;
    margin: 0 !important;
    text-align: center;
  }

}

@media (max-width: 760px) {
  .kf-world-grammar-preview :is( .kf-classes__inner,
  .kf-practice__inner ) > .kf-section-kicker {
    margin: 7px 0 0 48px !important;
    text-align: left;
  }

  .kf-world-grammar-preview .kf-traditions__inner > .kf-section-kicker {
    margin-left: 48px;
    margin: 7px 0 0 46px !important;
    text-align: left;
  }

  .kf-world-grammar-preview .kf-teachers__inner > .kf-section-kicker {
    margin-left: 54px;
    margin: 7px 0 0 54px !important;
    text-align: left;
  }

  .kf-world-grammar-preview .kf-first__header > .kf-section-kicker {
    margin: 7px 0 0 52px !important;
    text-align: left;
  }

  .kf-world-grammar-preview :is( .kf-news__inner,
  .kf-kichijoji__inner ) > .kf-section-kicker {
    margin: 7px 0 0 50px !important;
    text-align: left;
  }

}

@media (min-width: 761px) {
  .kf-world-grammar-preview .kf-hero-facts__grid {
    width: auto;
    margin-left: calc(
      max(var(--kf-mobile-gutter), ((100% - var(--kf-world-wide)) / 2))
      + var(--kf-world-rail)
    );
    margin-right: calc(
      max(var(--kf-mobile-gutter), ((100% - var(--kf-world-wide)) / 2))
      + 61px
    );
  }

  .kf-world-grammar-preview .kf-hero-fact,
  .kf-world-grammar-preview .kf-hero-fact:nth-child(2),
  .kf-world-grammar-preview .kf-hero-fact:nth-child(3) {
    padding: 25px 24px 24px;
  }

  .kf-world-grammar-preview .kf-hero-fact__main {
    font-size: 0.96rem;
    letter-spacing: 0.055em;
    line-height: 1.55;
  }

  .kf-world-grammar-preview .kf-hero-fact__sub {
    margin-top: 5px;
    color: color-mix(in srgb, var(--kf-color-ink-soft) 78%, transparent);
    font-size: 0.68rem;
    line-height: 1.55;
  }

  .kf-world-grammar-preview .kf-hero-fact + .kf-hero-fact::before {
    top: 22px;
    bottom: 22px;
    background: linear-gradient(
      180deg,
      transparent,
      rgba(151, 130, 86, 0.27) 24%,
      rgba(151, 130, 86, 0.27) 76%,
      transparent
    );
  }

}

@media (max-width: 520px) {
  .kf-world-grammar-preview .kf-hero__actions .wp-block-button__link {
    min-width: 194px;
    min-height: 46px;
  }

}

@media (max-width: 900px) and (min-width: 761px) {
  .kf-world-grammar-preview .site-brand__official-logo {
    width: clamp(220px, 28vw, 252px);
  }

}

@media (max-width: 760px) {
  .site-brand__official-logo,
  .kf-world-grammar-preview .site-brand__official-logo {
    width: min(260px, calc(100vw - 136px));
  }

  .kf-world-grammar-preview .kf-teachers__note,
  .kf-story-flow-preview .kf-teachers__note,
  .kf-hybrid-preview .kf-teachers__note {
    grid-template-columns: 1fr;
    row-gap: 6px;
    margin-top: 20px;
    padding: 15px 16px 16px;
  }

  /* Each home section owns its inner gutter; avoid nested WordPress padding. */
  .kf-world-grammar-preview .site-main {
    --kf-mobile-gutter: 34px;
  }

  .kf-world-grammar-preview .site-main > .wp-block-group.alignfull {
    padding-inline: 0;
  }

  .kf-comic__inner {
    width: 100%;
    grid-template-columns: 1fr;
    gap: 31px;
    padding: 50px var(--kf-mobile-gutter) 54px;
  }

  .kf-comic__copy,
  .kf-comic__work {
    max-width: none;
    margin-inline: 0;
  }

  .kf-comic__work {
    width: 100%;
    margin-inline: auto;
  }

  .kf-comic__cover {
    width: min(250px, 85%);
    margin-inline: auto;
  }

  .kf-comic__description {
    line-height: 1.95;
  }

  .kf-comic__copy .wp-block-buttons.kf-comic__actions {
    justify-content: center;
  }

}

/* Latest-news article: adopted post-news-v1, generated from the saved public post blocks. */
.news-post {
  --news-post-paper: rgba(255, 254, 250, 0.98);
  --news-post-soft: #f4efe3;
  --news-post-line: #d8c9ad;
  --news-post-bronze: #8d7139;
  --news-post-green: #657064;
  --news-post-ink: #29271f;
  color: var(--news-post-ink);
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}

.site-brand__official-logo img {
  display: block;
  width: 100%;
}

body:has(.preview-navigation) {
  margin: 0;
  background: var(--kf-color-paper, #f7f3ea);
  color: var(--kf-color-ink, #2e2b24);
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}

.site-header__inner:has(.preview-navigation) {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.preview-navigation ul {
  display: flex;
  gap: 23px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.preview-navigation a {
  color: var(--kf-color-ink-soft, #59554d);
  font-size: 0.86rem;
  font-weight: 500;
  letter-spacing: 0.045em;
  text-decoration: none;
}

.preview-navigation a:hover,
.preview-navigation a[aria-current="page"] {
  color: var(--kf-color-bronze, #8d7139);
}

.news-post .page-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 16px;
  width: min(var(--kf-layout-without-sidebar), calc(100% - 48px));
  margin: 0 auto;
  padding: 24px 28px 20px;
  color: var(--kf-color-ink-soft);
  font-size: 0.84rem;
}

.news-post .page-breadcrumb > * + *::before {
  margin-right: 16px;
  color: var(--kf-color-line-strong);
  content: "/";
}

.news-post .page-breadcrumb a {
  color: inherit;
  text-decoration: none;
}

.news-post-hero {
  position: relative;
  min-height: 340px;
  overflow: hidden;
  color: #fffdf7;
  background:
    linear-gradient(90deg, rgba(33, 31, 27, 0.82) 0%, rgba(40, 38, 32, 0.58) 47%, rgba(40, 38, 32, 0.12) 100%),
    var(--news-post-hero-image, linear-gradient(135deg, #565c53, #8d826c)) center 54% / cover no-repeat;
}

.news-post-hero__inner {
  box-sizing: border-box;
  width: min(var(--kf-layout-without-sidebar), calc(100% - 48px));
  margin-inline: auto;
  padding: 76px 38px 64px;
}

.news-post-hero__eyebrow {
  margin: 0 0 17px;
  color: #e9d8a9;
  font-size: 0.7rem;
  letter-spacing: 0.19em;
}

.news-post-hero h1 {
  max-width: 18em;
  margin: 0;
  color: inherit;
  font-size: clamp(1.9rem, 3.1vw, 2.6rem);
  font-weight: 500;
  letter-spacing: 0.045em;
  line-height: 1.55;
}

.news-post-hero__meta {
  display: flex;
  gap: 18px;
  margin-top: 25px;
  color: rgba(255, 255, 255, 0.84);
  font-size: 0.75rem;
}

.news-post-hero__meta span {
  padding-left: 18px;
  border-left: 1px solid rgba(255, 255, 255, 0.45);
}

.news-post-article {
  box-sizing: border-box;
  width: min(var(--kf-layout-without-sidebar), calc(100% - 48px));
  margin: 48px auto 0;
  padding: 54px 66px 62px;
  border-radius: 12px;
  background: var(--news-post-paper);
}


@media (max-width: 760px) {
  .preview-navigation {
    display: none;
  }

  .news-post .page-breadcrumb {
    width: calc(100% - 28px);
    padding: 18px 6px 16px;
  }

  .news-post .page-breadcrumb span {
    display: none;
  }

  .news-post-hero {
    min-height: 310px;
    background-position: 57% center;
  }

  .news-post-hero__inner {
    width: calc(100% - 28px);
    padding: 58px 18px 48px;
  }

  .news-post-hero h1 {
    font-size: 1.75rem;
  }

  .news-post-hero__meta {
    flex-wrap: wrap;
  }

  .news-post-article {
    width: calc(100% - 28px);
    margin-top: 38px;
    padding: 34px 23px 42px;
  }

}

/* Opt-in body blueprint: shared samples, with an article reading rhythm.
 * Component appearance stays in the canonical sample definitions below. */
.kf-blueprint-article {
  background: var(--kf-color-content-background);
}

.kf-blueprint-content {
  min-width: 0;
  color: var(--kf-color-ink);
  font-size: 1rem;
  line-height: 1.9;
  overflow-wrap: anywhere;
}

.kf-blueprint-content > * {
  margin-block: 0 24px;
}

.kf-blueprint-content :where(iframe, video) {
  max-width: 100%;
}

.kf-blueprint-content > .kf-sample-heading-a2 {
  margin-block: 64px 24px;
}

.kf-blueprint-content > :first-child {
  margin-top: 0;
}

.kf-blueprint-content > :last-child {
  margin-bottom: 0;
}

.kf-blueprint-content :is(ul, ol) {
  padding-inline-start: 1.4em;
}

.kf-blueprint-content li + li {
  margin-top: 8px;
}

.kf-blueprint-content :is(mark, .swl-marker) {
  color: inherit;
  background: var(--kf-gold-100);
}

.kf-blueprint-content > .wp-block-image,
.kf-blueprint-content > p:has(> img:only-child) {
  margin-inline: auto;
  text-align: center;
}

.kf-blueprint-content .wp-block-image img,
.kf-blueprint-content > p > img:only-child {
  display: block;
  max-width: 100%;
  height: auto;
  margin-inline: auto;
}

.kf-blueprint-content figcaption {
  margin-top: 8px;
  color: var(--kf-color-ink-soft);
  font-size: 0.8rem;
  text-align: center;
}

.kf-blueprint-content .is-style-kf-editorial table {
  min-width: var(--kf-table-min-width, 0);
}

.kf-blueprint-content .is-style-kf-editorial thead th {
  background: var(--kf-gold-050);
  font-weight: 500;
}

.kf-blueprint-content .kf-sample-notice > :is(p, ul, ol) + :is(p, ul, ol) {
  margin-top: 16px;
}

/* Inline emphasis is not the notice's pill-shaped label. */
.kf-blueprint-content .kf-sample-notice :is(p, li) strong {
  display: inline;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-size: inherit;
  letter-spacing: inherit;
}

.kf-blueprint-content .kf-sample-table-wrap:focus-visible {
  outline: 2px solid var(--kf-color-bronze);
  outline-offset: 3px;
}

@media (max-width: 760px) {
  .kf-blueprint-content > .kf-sample-heading-a2 {
    margin-top: 40px;
  }

  .kf-blueprint-content > .kf-sample-heading-a2:first-child {
    margin-top: 0;
  }

  .kf-blueprint-content .kf-sample-button {
    width: 100%;
  }
}

/* Kichijoji Kung Fu Life overview: adopted archive-kungfu-life-v1. */
.life-archive {
  --life-paper: #fffefb;
  --life-cream: #f3ecdd;
  --life-green: #e9eee7;
  --life-line: #d8c9ad;
  --life-bronze: #8d7139;
  --life-ink: #29271f;
  color: var(--life-ink);
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}

/* WordPress may insert empty paragraphs between shortcode grid items. */
.life-archive p:empty {
  display: none;
}

.life-archive .page-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 16px;
  width: min(1120px, calc(100% - 48px));
  margin: 0 auto;
  padding: 24px 28px 20px;
  color: var(--kf-color-ink-soft);
  font-size: 0.84rem;
}

.life-archive .page-breadcrumb > * + *::before {
  margin-right: 16px;
  color: var(--kf-color-line-strong);
  content: "/";
}

.life-archive .page-breadcrumb a {
  color: inherit;
  text-decoration: none;
}

.life-masthead {
  position: relative;
  display: block;
  width: 100%;
  height: 390px;
  min-height: 390px;
  margin: 0;
  overflow: hidden;
  background: #f3eee3;
}

.life-masthead__copy {
  position: relative;
  z-index: 2;
  display: flex;
  box-sizing: border-box;
  width: min(1100px, calc(100% - 48px));
  height: 100%;
  margin: 0 auto;
  flex-direction: column;
  justify-content: center;
  padding: 64px 48px;
  color: #fffefb;
  text-shadow: 0 1px 9px rgba(23, 25, 19, 0.42);
}

.life-masthead__copy > p:first-child {
  margin: 0 0 12px;
  color: #ead8b5;
  font-size: 0.7rem;
  letter-spacing: 0.19em;
}

.life-masthead h1 {
  max-width: 520px;
  margin: 0;
  font-size: clamp(2.15rem, 3.6vw, 2.9rem);
  font-weight: 500;
  letter-spacing: 0.065em;
  line-height: 1.45;
}

.life-masthead__copy > p:last-child {
  max-width: 29em;
  margin: 23px 0 0;
  color: rgba(255, 254, 251, 0.92);
  font-size: 1rem;
  letter-spacing: 0.04em;
}

.life-masthead__pictures {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block;
  overflow: hidden;
}

.life-masthead__pictures::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(90deg, rgba(27, 27, 21, 0.68) 0%, rgba(30, 31, 24, 0.46) 40%, rgba(30, 31, 24, 0.12) 73%, rgba(30, 31, 24, 0.08) 100%);
  content: "";
}

.life-masthead__pictures figure {
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
}

.life-masthead__pictures img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.78) contrast(0.96);
}

.life-masthead__pictures img {
  object-position: center 56%;
}

.life-shell {
  width: min(1100px, calc(100% - 48px));
  margin: 0 auto;
}


.life-introduction {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 44px;
  min-height: 171px;
  margin: 0 0 78px;
  padding: 64px 42px 0;
}

.life-introduction__eyebrow {
  margin: 8px 0 0;
  color: var(--life-bronze);
  font-size: 0.62rem;
  letter-spacing: 0.14em;
}

.life-introduction__body {
  display: grid;
  grid-template-columns: 380px minmax(0, 1fr);
  gap: 48px;
}

.life-introduction h2 {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.055em;
  line-height: 1.8;
}

.life-introduction__body > p {
  margin: 3px 0 0;
  color: #5f5a51;
  line-height: 2.1;
}

.life-pickups-section {
  margin-bottom: 82px;
}

.life-section__header .life-section__note {
  max-width: 28em;
  margin: 0 0 14px;
  color: #6d675d;
  font-size: 0.82rem;
  letter-spacing: 0.03em;
}

.life-pickups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.life-pickup {
  --life-pickup-accent: #8d7950;
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(181, 158, 111, 0.42);
  border-top: 3px solid var(--life-pickup-accent);
  background: rgba(255, 254, 250, 0.96);
}

.life-pickup--practice {
  --life-pickup-accent: #827f65;
}

.life-pickup--park {
  --life-pickup-accent: #687966;
}

.life-pickup--food {
  --life-pickup-accent: #98785e;
}

.life-pickup__gateway {
  color: inherit;
  text-decoration: none;
}

.life-pickup__gateway::after {
  position: absolute;
  z-index: 2;
  inset: 0;
  content: "";
}

.life-pickup > header {
  min-height: 128px;
  padding: 25px 29px 23px;
  background: linear-gradient(135deg, rgba(247, 244, 235, 0.96), rgba(255, 254, 250, 0.96));
}

.life-pickup > header p {
  margin: 0 0 8px;
  color: var(--life-pickup-accent);
  font-size: 0.62rem;
  letter-spacing: 0.15em;
}

.life-pickup > header h3 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.045em;
  line-height: 1.55;
}

.life-pickup > header span {
  display: block;
  margin-top: 7px;
  color: #777066;
  font-size: 0.75rem;
}

.life-pickup__image {
  display: block;
  aspect-ratio: 16 / 8.7;
  overflow: hidden;
  background: #e9e5db;
}

.life-pickup__image img,
.life-pickup__image .life-image-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease, filter 0.45s ease;
}

.life-pickup:hover .life-pickup__image img {
  filter: brightness(1.04);
  transform: scale(1.018);
}

.life-pickup__copy {
  display: flex;
  min-height: 158px;
  flex: 1;
  flex-direction: column;
  padding: 25px 29px 24px;
}

.life-pickup__read {
  color: inherit;
  text-decoration: none;
}

.life-pickup__copy > p {
  margin: 0 0 18px;
  color: #625d54;
  font-size: 0.84rem;
  line-height: 1.9;
}

.life-pickup__read {
  display: flex;
  justify-content: space-between;
  margin-top: auto;
  color: #725f38;
  font-size: 0.78rem;
}

.life-pickup:hover .life-pickup__read {
  color: #3f4d3f;
}

.life-doors {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 64px;
  border: 1px solid var(--life-line);
  background: rgba(255, 254, 250, 0.95);
}

.life-doors a {
  display: flex;
  min-height: 126px;
  flex-direction: column;
  justify-content: center;
  padding: 24px 28px;
  color: inherit;
  text-decoration: none;
}

.life-doors a + a {
  border-left: 1px solid var(--life-line);
}

.life-doors span {
  color: var(--life-bronze);
  font-size: 0.62rem;
  letter-spacing: 0.13em;
}

.life-doors strong {
  margin-top: 7px;
  font-size: 1.08rem;
  font-weight: 500;
}

.life-doors small {
  margin-top: 7px;
  color: #716b60;
  font-size: 0.73rem;
}

.life-doors a:hover {
  background: #f4efe3;
}

.life-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(320px, 0.84fr);
  margin-bottom: 78px;
  background: rgba(255, 254, 250, 0.97);
}

.life-feature__image {
  min-height: 420px;
  overflow: hidden;
}

.life-feature__image img,
.life-feature__image .life-image-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.life-feature__copy {
  align-self: center;
  padding: 42px 46px;
}

.life-label {
  margin: 0 0 9px;
  color: var(--life-bronze);
  font-size: 0.67rem;
  letter-spacing: 0.15em;
}

.life-feature time {
  color: #787064;
  font-size: 0.75rem;
}

.life-feature h2 {
  margin: 15px 0 20px;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.55;
}

.life-feature h2 a,
.life-practice h3 a {
  color: inherit;
  text-decoration: none;
}

.life-feature__copy > p:not(.life-label) {
  margin: 0 0 24px;
  color: #5f5a51;
  line-height: 2;
}

.life-read {
  display: inline-flex;
  gap: 16px;
  padding-bottom: 4px;
  border-bottom: 1px solid #b7a275;
  color: #725b2e;
  font-size: 0.86rem;
  text-decoration: none;
}

.life-section + .life-section {
  margin-top: 78px;
}

.life-section__header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 27px;
  border-bottom: 1px solid var(--life-line);
}

.life-section__header p {
  margin: 0 0 6px;
  color: var(--life-bronze);
  font-size: 0.65rem;
  letter-spacing: 0.15em;
}

.life-section__header h2 {
  margin: 0;
  padding-bottom: 12px;
  border-bottom: 3px solid var(--life-bronze);
  font-size: 1.55rem;
  font-weight: 500;
  letter-spacing: 0.055em;
  line-height: 1.55;
}

.life-section__header > a {
  margin-bottom: 13px;
  color: #725b2e;
  font-size: 0.8rem;
  text-decoration: none;
}

.life-grid {
  display: grid;
  gap: 22px;
}

.life-grid--park {
  grid-template-columns: 1.3fr 0.85fr 0.85fr;
}

.life-card {
  min-width: 0;
  background: var(--life-paper);
}

.life-card > a {
  display: flex;
  height: 100%;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
}

.life-card img,
.life-card .life-image-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 1.65 / 1;
  object-fit: cover;
}

.life-card > a > div {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 24px 25px 25px;
}

.life-card p {
  margin: 0;
  color: #6a6459;
  font-size: 0.78rem;
  line-height: 1.8;
}

.life-card p span {
  margin-left: 12px;
  color: var(--life-bronze);
}

.life-card h3 {
  margin: 13px 0 18px;
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.75;
}

.life-card__arrow {
  margin-top: auto;
  color: #725b2e;
  font-size: 0.79rem;
}

.life-card--text {
  background: var(--life-cream);
}

.life-card--green {
  background: var(--life-green);
}

.life-practice {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: var(--life-paper);
}

.life-practice__image {
  min-height: 340px;
}

.life-practice img,
.life-practice .life-image-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.life-practice > div {
  align-self: center;
  padding: 38px 44px;
}

.life-practice h3 {
  margin: 0 0 17px;
  font-size: 1.45rem;
  font-weight: 500;
  line-height: 1.65;
}

.life-practice > div > p:not(.life-label) {
  margin: 0 0 23px;
  color: #5f5a51;
  line-height: 2;
}

.life-list {
  border-top: 1px solid var(--life-line);
}

.life-list a {
  display: grid;
  grid-template-columns: 100px 145px 1fr auto;
  gap: 20px;
  align-items: center;
  padding: 20px 7px;
  border-bottom: 1px solid var(--life-line);
  color: inherit;
  text-decoration: none;
}

.life-list time {
  color: var(--life-bronze);
  font-size: 0.76rem;
}

.life-list span {
  color: #756f64;
  font-size: 0.75rem;
}

.life-list strong {
  font-size: 0.94rem;
  font-weight: 500;
}

.life-list i {
  color: var(--life-bronze);
  font-style: normal;
}

.life-list a:hover {
  background: rgba(255, 254, 250, 0.72);
}

.life-pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 50px;
}

.life-pagination > * {
  display: grid;
  min-width: 39px;
  height: 39px;
  place-items: center;
  border: 1px solid var(--life-line);
  color: #5f594e;
  font-size: 0.83rem;
  text-decoration: none;
}

.life-pagination span {
  border-color: var(--life-bronze);
  background: var(--life-bronze);
  color: #fff;
}

.life-pagination a:last-child {
  padding-inline: 15px;
}

.life-image-placeholder {
  display: grid;
  place-items: center;
  min-height: 180px;
  color: rgba(84, 77, 64, 0.5);
  background: linear-gradient(135deg, #ebe4d6, #dfe6dc);
  font-size: 0.7rem;
  letter-spacing: 0.18em;
}

.life-archive__empty {
  width: min(1100px, calc(100% - 48px));
  margin: 48px auto;
  padding: 40px;
  background: var(--life-paper);
  text-align: center;
}

@media (max-width: 900px) {
  .life-masthead {
    height: 350px;
    min-height: 350px;
  }

  .life-masthead__copy {
    width: min(1100px, calc(100% - 48px));
    padding: 48px 36px;
    text-align: left;
  }

  .life-masthead__pictures {
    height: 100%;
  }

  .life-introduction {
    grid-template-columns: 140px minmax(0, 1fr);
    gap: 32px;
    padding-inline: 24px;
  }

  .life-introduction__body {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
  }

  .life-pickup > header {
    padding-inline: 24px;
  }

  .life-pickup__copy {
    padding-inline: 24px;
  }

  .life-doors {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .life-doors a:nth-child(3) {
    border-top: 1px solid var(--life-line);
    border-left: 0;
  }

  .life-doors a:nth-child(4) {
    border-top: 1px solid var(--life-line);
  }

  .life-grid--park {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .life-card--large {
    grid-column: 1 / -1;
  }

  .life-practice {
    grid-template-columns: 1fr;
  }

  .life-practice__image {
    min-height: 0;
    aspect-ratio: 1.9 / 1;
  }
}

@media (max-width: 680px) {
  .life-archive .page-breadcrumb {
    width: calc(100% - 28px);
    padding: 18px 6px 16px;
  }

  .life-masthead {
    height: 300px;
    min-height: 300px;
  }

  .life-masthead__copy {
    width: calc(100% - 28px);
    padding: 36px 20px;
  }

  .life-masthead h1 {
    font-size: 2rem;
    white-space: normal;
  }

  .life-masthead__pictures {
    height: 100%;
  }

  .life-masthead__copy > p:last-child {
    font-size: 0.88rem;
  }

  .life-shell {
    width: calc(100% - 28px);
    margin: 0 auto;
  }


  .life-introduction {
    grid-template-columns: 1fr;
    gap: 18px;
    min-height: 0;
    margin-bottom: 56px;
    padding: 44px 8px 0;
  }

  .life-introduction__body {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .life-introduction h2 br {
    display: none;
  }

  .life-pickups-section {
    margin-bottom: 58px;
  }

  .life-section__header .life-section__note {
    margin-bottom: 15px;
  }

  .life-pickups {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .life-pickup > header {
    min-height: 0;
    padding: 22px 23px 20px;
  }

  .life-pickup__copy {
    min-height: 0;
    padding: 23px;
  }

  .life-doors {
    grid-template-columns: 1fr;
    margin-bottom: 45px;
  }

  .life-doors a {
    min-height: 105px;
    padding: 20px 23px;
  }

  .life-doors a + a {
    border-top: 1px solid var(--life-line);
    border-left: 0;
  }

  .life-feature {
    grid-template-columns: 1fr;
    margin-bottom: 55px;
  }

  .life-feature__image {
    min-height: 0;
    aspect-ratio: 1.65 / 1;
  }

  .life-feature__copy {
    padding: 28px 24px 32px;
  }

  .life-grid--park {
    grid-template-columns: 1fr;
  }

  .life-card--large {
    grid-column: auto;
  }

  .life-section + .life-section {
    margin-top: 58px;
  }

  .life-section__header {
    display: block;
  }

  .life-section__header > a {
    display: inline-block;
    margin: 0 0 13px;
  }

  .life-practice > div {
    padding: 28px 24px 31px;
  }

  .life-list a {
    grid-template-columns: 1fr auto;
    gap: 8px 14px;
    padding: 17px 5px;
  }

  .life-list time,
  .life-list span {
    grid-row: 1;
  }

  .life-list span {
    text-align: right;
  }

  .life-list strong {
    grid-column: 1 / -1;
  }

  .life-list i {
    display: none;
  }

  .life-pagination {
    flex-wrap: wrap;
  }
}

/* Inokashira Park letter post — canonical integrated styles. */
.letter-post{background:var(--kf-color-paper);color:var(--letter-ink);font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",YuMincho,serif}
.letter-post .page-breadcrumb{display:flex;flex-wrap:wrap;gap:7px 16px;width:min(var(--kf-layout-with-sidebar),calc(100% - (var(--kf-mobile-gutter)*2)));margin:0 auto;padding-top:22px;padding-bottom:20px;color:var(--kf-color-ink-soft);font-size:.845rem}.letter-post .page-breadcrumb>*+*::before{margin-right:16px;color:var(--kf-color-line-strong);content:"/"}.letter-post .page-breadcrumb a{color:inherit;text-decoration:none}
.letter-hero{position:relative;display:grid;grid-template-columns:minmax(340px,.72fr) minmax(0,1.48fr);width:min(var(--kf-layout-with-sidebar),calc(100% - (var(--kf-mobile-gutter)*2)));margin:0 auto;background:#edf1eb}
.letter-hero figure{min-height:510px;margin:0}.letter-hero figure img{display:block;width:100%;height:100%;object-fit:cover}.letter-hero__copy{display:flex;box-sizing:border-box;flex-direction:column;justify-content:center;padding:58px 54px;color:var(--letter-ink)}
.letter-month{display:flex;gap:13px;align-items:center;margin-bottom:34px;color:var(--letter-gold)}.letter-month b{font-size:4.6rem;font-weight:400;line-height:.8}.letter-month span{padding-left:13px;border-left:1px solid rgba(155,121,57,.45);font-size:.62rem;letter-spacing:.13em;line-height:1.7}
.letter-hero__label{margin:0 0 12px;color:var(--letter-gold);font-size:.65rem;letter-spacing:.18em}.letter-hero h1{margin:0;font-size:clamp(2.35rem,4vw,3.2rem);font-weight:500;letter-spacing:.08em;line-height:1.35}.letter-hero h1+p{margin:20px 0 0;font-size:.88rem;line-height:1.9}.letter-hero__meta{display:flex;gap:16px;margin-top:28px;padding-top:17px;border-top:1px solid rgba(155,121,57,.32);color:#696a64;font-size:.7rem}
.letter-layout{display:grid;grid-template-columns:minmax(0,var(--kf-layout-main)) minmax(280px,var(--kf-layout-sidebar));gap:var(--kf-layout-column-gap);width:min(var(--kf-layout-with-sidebar),calc(100% - (var(--kf-mobile-gutter)*2)));margin:48px auto 0;align-items:start}
.letter-article{box-sizing:border-box;min-width:0;width:100%;margin:0;padding:68px 54px;border-radius:12px;background:rgba(255,255,253,.99)}
.letter-sidebar .kf-post-sidebar__eyebrow{color:var(--letter-gold)}.letter-sidebar__archive{margin:0;padding:0;list-style:none}
.letter-content{font-size:1rem;line-height:1.9}.letter-content>*:first-child{margin-top:0}.letter-content p{line-height:1.9}.letter-content p+p{margin-top:19px}.letter-content h2,.letter-content h3{position:relative;margin:66px 0 28px;padding-bottom:17px;border-bottom:1px solid var(--letter-line);font-weight:600;letter-spacing:.06em}.letter-content h2{font-size:1.55rem}.letter-content h3{font-size:1.25rem}.letter-content h2::after,.letter-content h3::after{position:absolute;bottom:-1px;left:0;width:38%;height:1px;background:var(--letter-gold);content:""}.letter-content figure{margin:58px 0 0}.letter-content img{height:auto;border-radius:7px}.letter-content figcaption{margin-top:11px;color:#74736d;font-size:.72rem;line-height:1.65}.letter-content blockquote{margin:42px 0;padding:26px 30px;border-left:3px solid #8c9b8d;background:#f2f4ef}.letter-content blockquote p{margin:0;font-size:1.02rem;font-weight:600;line-height:2}
.letter-lead{margin:0;padding:26px 30px;border-left:3px solid #8c9b8d;background:#f2f4ef;font-size:1.02rem;font-weight:600;letter-spacing:.03em;line-height:2}
.letter-section{margin-top:66px}.letter-section__season{margin:0 0 9px;color:var(--letter-gold);font-size:.62rem;letter-spacing:.18em}.letter-section h2{position:relative;margin:0 0 28px;padding-bottom:17px;border-bottom:1px solid var(--letter-line);font-size:1.55rem;font-weight:600;letter-spacing:.06em}.letter-section h2::after{position:absolute;bottom:-1px;left:0;width:38%;height:1px;background:var(--letter-gold);content:""}.letter-section p:not(.letter-section__season){margin:0;font-size:.94rem;line-height:2.15}.letter-section p+p{margin-top:19px!important}
.letter-photo{margin:58px 0 0}.letter-photo img{display:block;width:100%;border-radius:7px}.letter-photo figcaption{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;margin-top:11px;color:#74736d;font-size:.72rem;line-height:1.65}.letter-photo figcaption time{color:var(--letter-gold);letter-spacing:.08em}
.letter-observation{display:grid;grid-template-columns:125px minmax(0,1fr);gap:28px;align-items:center;margin-top:64px;padding:26px 30px;border-top:1px solid var(--letter-line);border-bottom:1px solid var(--letter-line)}.letter-observation>span{color:var(--letter-gold);font-size:.6rem;letter-spacing:.14em}.letter-observation h2{margin:0 0 5px;font-size:1.06rem}.letter-observation p{margin:0;color:#66645e;font-size:.82rem;line-height:1.8}
.letter-pagination{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:64px}.letter-pagination a{padding:20px 22px;border:1px solid rgba(217,205,183,.8);border-radius:8px;color:#393c37;text-decoration:none}.letter-pagination a:last-child{text-align:right}.letter-pagination span{display:block;margin-bottom:5px;color:var(--letter-gold);font-size:.58rem;letter-spacing:.13em}
@media(max-width:1209px){.letter-layout{grid-template-columns:minmax(0,var(--kf-layout-main));justify-content:center}}
@media(max-width:900px){.letter-hero{grid-template-columns:.75fr 1.25fr}.letter-hero figure{min-height:430px}.letter-hero__copy{padding:42px 32px}.letter-month b{font-size:3.7rem}.letter-layout{margin-top:30px}}
@media(max-width:680px){.letter-post .page-breadcrumb{padding:16px 20px}.letter-hero{grid-template-columns:1fr;width:100%}.letter-hero figure{min-height:320px}.letter-hero__copy{padding:34px 26px 39px}.letter-month{margin-bottom:23px}.letter-month b{font-size:3.25rem}.letter-hero h1{font-size:2.25rem}.letter-layout{width:calc(100% - 28px);margin-top:20px}.letter-article{padding:38px 23px}.letter-lead{padding:21px 20px;font-size:.92rem}.letter-section{margin-top:50px}.letter-section h2{font-size:1.3rem}.letter-observation{grid-template-columns:1fr;gap:8px;padding:22px 18px}.letter-pagination{grid-template-columns:1fr}.letter-pagination a:last-child{text-align:left}}

/* Park-letter editorial series — approved body-design-guide components. */
body.kf-park-letter-editorial .letter-post {
  background-color: var(--kf-color-paper);
  background-image: var(--kf-site-wallpaper-image);
  background-position: var(--kf-site-wallpaper-position);
  background-repeat: var(--kf-site-wallpaper-repeat);
  background-size: var(--kf-site-wallpaper-size);
}

body.kf-park-letter-editorial .letter-content h2.wp-block-heading.kf-editorial-section-heading {
  position: relative;
  margin: 64px 0 24px;
  padding: 0 0 16px;
  border: 0;
  border-bottom: 1px solid var(--kf-color-line-strong);
  color: var(--kf-color-ink);
  font-size: var(--kf-body-h2-size);
  font-weight: 400;
  letter-spacing: 0.12em;
  line-height: var(--kf-body-h2-line-height);
  text-wrap: pretty;
}

body.kf-park-letter-editorial .letter-content h2.wp-block-heading.kf-editorial-section-heading::before {
  display: block;
  margin: 0 0 8px;
  color: var(--kf-color-bronze);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  line-height: 1.7;
  content: attr(data-kf-en);
}

body.kf-park-letter-editorial .letter-content h2.wp-block-heading.kf-editorial-section-heading::after {
  content: none;
}

body.kf-park-letter-editorial .letter-content > h2.wp-block-heading.kf-editorial-section-heading:first-child {
  margin-top: 0;
}

body.kf-park-letter-editorial .letter-content > figure.wp-block-image.is-resized {
  width: fit-content;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}

/* Keep legacy two-photo rows from inheriting both the column-block spacing
 * and the general park-letter figure spacing. */
body.kf-park-letter-editorial .letter-content > .swell-block-columns figure.wp-block-image {
  margin-top: 0;
}

body.kf-park-letter-editorial .letter-content > figure.wp-block-image + p:has(+ .kf-park-letter-related-page) {
  margin-top: 26px;
  margin-bottom: 26px;
}

body.kf-park-letter-editorial .letter-content > h2.kf-editorial-section-heading + .wp-block-gallery {
  margin-top: 40px;
  margin-bottom: 26px;
}

.kf-article-information {
  margin-top: 64px;
}

.kf-article-information > .kf-editorial-section-heading {
  margin-top: 0 !important;
}

.kf-article-information__item {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 18px;
  padding: 20px 22px;
}

.kf-article-information__item + .kf-article-information__item {
  border-top: 1px solid var(--kf-color-line);
}

.kf-article-note-mark {
  margin-right: 0.08em;
  color: #b64f49;
  font-weight: 600;
}

body.kf-park-letter-editorial .kf-article-information + p {
  margin-top: 18px;
  color: color-mix(in srgb, var(--kf-color-ink-soft) 82%, transparent);
  font-size: 0.76rem;
  text-align: right;
}

@media (max-width: 680px) {
  body.kf-park-letter-editorial .letter-content h2.wp-block-heading.kf-editorial-section-heading {
    margin-top: 52px;
    font-size: 1.5rem;
  }

  .kf-article-information {
    margin-top: 52px;
  }

  .kf-article-information__item {
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 12px;
    padding: 17px 15px;
  }
}

/* Practice-place archive — canonical integrated styles. */
.places-archive{--pp-paper:#fffefb;--pp-green:#e8eee7;--pp-dark:#4f5a50;--pp-line:#d5c7aa;--pp-gold:#92743b;--pp-ink:#2a2923;color:var(--pp-ink);font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",YuMincho,serif}
.places-archive p:empty{display:none}
.places-archive .page-breadcrumb{display:flex;flex-wrap:wrap;gap:7px 16px;width:min(1120px,calc(100% - 48px));margin:0 auto;padding:24px 0 20px;color:var(--kf-color-ink-soft);font-size:.84rem}.places-archive .page-breadcrumb>*+*::before{margin-right:16px;color:var(--kf-color-line-strong);content:"/"}.places-archive .page-breadcrumb a{color:inherit;text-decoration:none}
.places-cover{display:flex;min-height:clamp(230px,25vw,315px);align-items:center;background:linear-gradient(90deg,rgba(38,46,39,.68) 0%,rgba(38,46,39,.34) 58%,rgba(38,46,39,.16) 100%),url("../images/official-nogawa-park-practice.jpg") center 52%/cover no-repeat}.places-cover__inner{width:min(1120px,calc(100% - 48px));margin:0 auto;color:#fff}.places-cover__inner p{margin:0 0 13px;font-size:.66rem;letter-spacing:.2em}.places-cover__inner h1{margin:0;font-size:clamp(2rem,3.4vw,3rem);font-weight:500;letter-spacing:.06em;line-height:1.35;text-shadow:0 1px 8px rgba(20,25,20,.2)}
.places-map-hero{box-sizing:border-box;display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:58px;width:min(1120px,calc(100% - 48px));margin:42px auto 0;padding:54px 56px;background:rgba(255,254,251,.97)}.places-map-hero__copy{align-self:center}.places-kicker{margin:0 0 15px;color:var(--pp-gold);font-size:.62rem;letter-spacing:.16em}.places-map-hero h2{margin:0;font-size:clamp(1.75rem,2.5vw,2.35rem);font-weight:500;letter-spacing:.04em;line-height:1.55}.places-map-hero__copy>p:last-child{margin:24px 0 0;color:#596057;font-size:.86rem;line-height:2}
.places-guide-map{margin:0}.places-guide-map figcaption{margin:0 0 7px;color:var(--pp-gold);font-size:.62rem;letter-spacing:.14em;text-align:right}.places-guide-map svg{display:block;width:100%;height:auto;overflow:visible}.places-guide-map>p{margin:6px 0 0;color:#777168;font-size:.68rem;text-align:right}.map-land{fill:#e8eee7;stroke:#c9bea7;stroke-width:1.4}.map-boundary{fill:none;stroke:#d7cebb;stroke-width:1}.map-rail{fill:none;stroke:#a17e3c;stroke-width:2.2}.map-place circle{fill:#6d776d}.map-place text{fill:#3f463f;font-size:13px;text-anchor:middle}.map-origin circle:first-child{fill:#4f5a50}.map-origin__ring{fill:none;stroke:#92743b;stroke-width:1.2}.map-origin text{fill:#fff;font-size:9px;letter-spacing:.08em;text-anchor:middle}.map-origin text+text{font-size:13px;letter-spacing:.04em}.map-hit rect{fill:transparent;stroke:transparent}.map-hit:hover rect,.map-hit:focus rect{fill:rgba(255,254,251,.45);stroke:#92743b;stroke-width:1.2}.map-origin:hover .map-origin__ring,.map-origin:focus .map-origin__ring{stroke-width:2.4}
.places-journal{width:min(1060px,calc(100% - 48px));margin:68px auto 0}.spot-regions{display:grid;gap:76px}.spot-region{scroll-margin-top:110px}.spot-region__heading{display:grid;grid-template-columns:330px 1fr 112px;gap:24px;align-items:start;margin-bottom:24px;padding:0 0 21px;border-bottom:1px solid var(--pp-line)}.spot-region__heading>p{grid-column:3;margin:-2px 0 0;color:#718579;font-size:1.55rem;font-weight:500;letter-spacing:.08em;line-height:1.25;text-align:right}.spot-region__heading>p::before{display:block;margin:0 0 7px;color:var(--pp-gold);font-size:.52rem;font-weight:500;letter-spacing:.2em;line-height:1;text-align:right;content:"AREA"}.spot-region:first-child .spot-region__heading>p::before{content:"ORIGIN"}.spot-region__heading h3{grid-column:1;grid-row:1;margin:0;font-size:1.42rem;font-weight:500;line-height:1.55;white-space:nowrap}.spot-region__heading div{grid-column:2;grid-row:1}.spot-region__heading div p{margin:0;color:#66635c;font-size:.8rem;line-height:1.8}
.spot-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px}.spot-card{position:relative;grid-column:span 3;overflow:hidden;background:rgba(255,254,251,.96);color:inherit;text-decoration:none}.spot-card img,.spot-card .life-image-placeholder{display:block;width:100%;aspect-ratio:1.9/1;object-fit:cover;filter:saturate(.8) contrast(.97);transition:filter .25s ease}.spot-card>div{padding:17px 18px 19px}.spot-card small{color:var(--pp-gold);font-size:.63rem;letter-spacing:.06em}.spot-card h4{min-height:2.9em;margin:6px 0 11px;font-size:.94rem;font-weight:500;line-height:1.45}.spot-card h4 a{color:inherit;text-decoration:none}.spot-card h4 a::after{position:absolute;inset:0;content:""}.spot-card time{color:#8a867d;font-size:.65rem}.spot-card:hover img{filter:saturate(1) contrast(1)}.spot-card:hover h4{color:#745b2c}.spot-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.55fr);min-height:330px;border-top:4px solid var(--pp-dark)}.spot-card:first-child img{height:100%;aspect-ratio:auto}.spot-card:first-child>div{display:flex;flex-direction:column;justify-content:center;padding:36px 34px}.spot-card:first-child h4{min-height:0;margin:10px 0 18px;font-size:1.34rem;line-height:1.65}.spot-card:first-child h4::after{display:block;margin-top:22px;color:#745b2c;font-size:.72rem;font-weight:400;letter-spacing:.03em;content:"この場所を見る →"}.spot-list:has(>.spot-card:nth-child(2):last-child) .spot-card:first-child{grid-column:span 3;display:block;min-height:0;border-top:0}.spot-list:has(>.spot-card:nth-child(2):last-child) .spot-card:first-child img{height:auto;aspect-ratio:1.9/1}.spot-list:has(>.spot-card:nth-child(2):last-child) .spot-card:first-child>div{display:block;padding:17px 18px 19px}.spot-list:has(>.spot-card:nth-child(2):last-child) .spot-card:first-child h4{min-height:2.9em;margin:6px 0 11px;font-size:.94rem;line-height:1.45}.spot-list:has(>.spot-card:nth-child(2):last-child) .spot-card:first-child h4::after{display:none}
.spot-card>br{display:none}.spot-card>div>p{margin:0}
.places-note{box-sizing:border-box;width:min(760px,calc(100% - 48px));margin:74px auto 0;padding:38px 46px;border-left:4px solid var(--pp-dark);background:var(--pp-green)}.places-note>p:first-child{margin:0 0 9px;color:var(--pp-gold);font-size:.66rem;letter-spacing:.18em}.places-note h2{margin:0 0 14px;font-size:1.35rem;font-weight:500}.places-note>p:not(:first-child){margin:0;color:#5a6059;line-height:1.9}
@media(max-width:1100px) and (min-width:901px){.places-map-hero{grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:36px;padding:44px 40px}.places-guide-map{min-width:0}.places-guide-map svg{max-width:100%}}
@media(max-width:900px){.places-map-hero{grid-template-columns:1fr;gap:35px;padding:44px}.places-map-hero__copy{text-align:center}.places-map-hero__copy>p:last-child{max-width:560px;margin-right:auto;margin-left:auto}.places-guide-map{max-width:680px;margin:0 auto}.spot-region__heading{grid-template-columns:300px 1fr 96px}.spot-card:first-child{grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr)}}
@media(max-width:680px){.places-archive .page-breadcrumb{padding:18px 20px 16px}.places-cover{min-height:190px;background-position:center center}.places-cover__inner{width:calc(100% - 40px)}.places-cover__inner p{margin-bottom:9px;font-size:.58rem}.places-cover__inner h1{font-size:1.75rem}.places-map-hero{width:calc(100% - 28px);margin-top:20px;padding:31px 20px 25px}.places-map-hero h2{font-size:1.65rem}.places-map-hero__copy>p:last-child{font-size:.8rem}.places-guide-map figcaption{margin-bottom:0;text-align:left}.places-guide-map svg{margin-top:-4px}.map-place text{font-size:20px}.map-origin text{font-size:14px}.map-origin text+text{font-size:19px}.places-journal{width:calc(100% - 28px);margin-top:46px}.spot-regions{gap:55px}.spot-region__heading{grid-template-columns:1fr 72px;gap:8px 10px}.spot-region__heading h3{grid-column:1;grid-row:1;font-size:clamp(.9rem,4vw,1.1rem);white-space:normal}.spot-region__heading>p{grid-column:2;grid-row:1;font-size:1.05rem}.spot-region__heading div{grid-column:1/-1;grid-row:2;margin-top:6px}.spot-list{grid-template-columns:1fr;gap:16px}.spot-card,.spot-card:first-child,.spot-list:has(>.spot-card:nth-child(2):last-child) .spot-card:first-child{grid-column:1;display:grid;grid-template-columns:42% 1fr;min-height:0;border-top:0}.spot-card img,.spot-card:first-child img,.spot-list:has(>.spot-card:nth-child(2):last-child) .spot-card:first-child img{height:100%;aspect-ratio:auto}.spot-card>div,.spot-card:first-child>div,.spot-list:has(>.spot-card:nth-child(2):last-child) .spot-card:first-child>div{display:block;padding:15px}.spot-card h4,.spot-card:first-child h4,.spot-list:has(>.spot-card:nth-child(2):last-child) .spot-card:first-child h4{min-height:0;margin:6px 0 9px;font-size:.94rem;line-height:1.45}.spot-card:first-child h4::after{display:none}.places-note{width:calc(100% - 28px);margin-top:48px;padding:28px 25px}}

/* Practice-place post — canonical integrated styles. */
.practice-post{--place-green:#526156;--place-green-pale:#edf1eb;--place-paper:#fffefa;--place-gold:#9b7939;--place-line:#d9cdb7;color:var(--kf-color-ink);font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",YuMincho,serif}.practice-post .page-breadcrumb{display:flex;flex-wrap:wrap;gap:7px 16px;width:min(var(--kf-layout-with-sidebar),calc(100% - (var(--kf-mobile-gutter)*2)));margin:0 auto;padding-top:22px;padding-bottom:20px;color:var(--kf-color-ink-soft);font-size:.84rem}.practice-post .page-breadcrumb>*+*::before{margin-right:16px;color:var(--kf-color-line-strong);content:"/"}.practice-post .page-breadcrumb a{color:inherit;text-decoration:none}
.practice-hero{display:flex;min-height:clamp(330px,34vw,475px);align-items:flex-end;color:#fff;background:linear-gradient(90deg,rgba(28,37,30,.77) 0%,rgba(28,37,30,.42) 48%,rgba(28,37,30,.12) 100%),var(--practice-hero-image,linear-gradient(#526156,#526156)) center/cover no-repeat}.practice-hero__inner{box-sizing:border-box;width:min(var(--kf-layout-with-sidebar),calc(100% - (var(--kf-mobile-gutter)*2)));margin:0 auto;padding:72px var(--kf-layout-inset) 68px}.practice-hero__eyebrow{margin:0 0 12px;color:#f3dfad;font-size:.66rem;letter-spacing:.18em}.practice-hero__area{margin:0 0 8px;font-size:.8rem;letter-spacing:.08em}.practice-hero h1{max-width:14em;margin:0;font-size:clamp(2.25rem,4vw,3.55rem);font-weight:500;letter-spacing:.055em;line-height:1.38}.practice-hero__summary{max-width:48em;margin:17px 0 0;font-size:.94rem;letter-spacing:.04em}.practice-hero__meta{display:flex;flex-wrap:wrap;gap:8px 17px;margin-top:25px;color:rgba(255,255,255,.84);font-size:.7rem}.practice-hero__meta a{color:inherit;text-underline-offset:.3em}
.practice-layout{display:grid;grid-template-columns:minmax(0,var(--kf-layout-main)) minmax(280px,var(--kf-layout-sidebar));gap:var(--kf-layout-column-gap);width:min(var(--kf-layout-with-sidebar),calc(100% - (var(--kf-mobile-gutter)*2)));margin:42px auto 0;align-items:start}.practice-article,.practice-sidebar__panel{border-radius:12px;background:rgba(255,255,253,.99)}.practice-article{box-sizing:border-box;min-width:0;padding:54px 58px}.practice-content{font-size:.94rem;line-height:2.05}.practice-content>*:first-child{margin-top:0}.practice-content h2,.practice-content h3{position:relative;margin:58px 0 26px;padding-bottom:16px;border-bottom:1px solid var(--place-line);font-weight:600;letter-spacing:.05em}.practice-content h2{font-size:1.42rem}.practice-content h3{font-size:1.2rem}.practice-content h2::after,.practice-content h3::after{position:absolute;bottom:-1px;left:0;width:36%;height:1px;background:var(--place-gold);content:""}.practice-content p{margin:0;line-height:2.05}.practice-content p+p{margin-top:20px}.practice-content figure{margin:58px 0 0}.practice-content img{height:auto;border-radius:8px}.practice-content figcaption{margin-top:10px;color:#78746d;font-size:.72rem}.practice-content .wp-block-gallery{gap:12px}.section-kicker{margin:0 0 10px!important;color:var(--place-gold);font-size:.62rem!important;letter-spacing:.16em}

/* Center standalone article photos without changing galleries or column image groups. */
.practice-post .practice-content > figure.wp-block-image {
  text-align: center;
}

.practice-post .practice-content > figure.wp-block-image img {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

/* Practice-place articles: adopted body-guide headings and information blocks. */
.practice-post .practice-content {
  font-size: 1rem;
  line-height: 1.9;
}

.practice-post .practice-content p {
  line-height: 1.9;
}

.practice-content h2.kf-practice-editorial-heading {
  margin: 64px 0 24px;
  padding: 0 0 16px;
  border: 0;
  border-bottom: 1px solid var(--place-line);
  color: var(--kf-color-ink);
  font-size: var(--kf-body-h2-size);
  font-weight: 400;
  letter-spacing: 0.12em;
  line-height: var(--kf-body-h2-line-height);
}

.practice-content h2.kf-practice-editorial-heading::before {
  display: block;
  margin: 0 0 var(--kf-heading-eyebrow-gap);
  color: var(--place-gold);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  line-height: var(--kf-heading-eyebrow-line-height);
  content: attr(data-kf-en);
}

.practice-content h2.kf-practice-editorial-heading::after {
  content: none;
}

.practice-content > h2.kf-practice-editorial-heading:first-child {
  margin-top: 0;
}

.practice-content > h2.kf-practice-editorial-heading + .wp-block-gallery {
  margin-top: 0;
}

.practice-post .practice-content > .wp-block-gallery {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px !important;
}

.practice-post .practice-content > .wp-block-gallery > .wp-block-image {
  display: block !important;
  width: auto !important;
  margin: 0 !important;
}

.practice-post .practice-content > .wp-block-gallery > .wp-block-image img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.kf-practice-suitability__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kf-practice-suitability__list li {
  position: relative;
  min-width: 0;
  padding: 20px 20px 18px 48px;
  border: 1px solid color-mix(in srgb, var(--place-line) 82%, transparent);
  border-radius: 10px;
  background: color-mix(in srgb, var(--place-green-pale) 72%, #fff);
}

.kf-practice-suitability__list li::before {
  position: absolute;
  top: 21px;
  left: 20px;
  color: var(--place-green);
  font-size: 1rem;
  content: "✓";
}

.kf-practice-suitability__list strong,
.kf-practice-suitability__list span {
  display: block;
}

.kf-practice-suitability__list strong {
  font-weight: 500;
}

.kf-practice-suitability__list span {
  margin-top: 5px;
  color: var(--kf-color-ink-soft);
  font-size: 0.82rem;
  line-height: 1.7;
}

.practice-post .kf-practice-suitability__list {
  gap: 18px;
}

.practice-post .kf-practice-suitability__list li {
  isolation: isolate;
  box-sizing: border-box;
  min-height: 128px;
  overflow: hidden;
  padding: 23px 26px 22px 64px;
  border: 0;
  border-radius: 20px 20px 20px 7px;
  background: linear-gradient(135deg, #fbfff8 0%, #eef8e9 100%);
  box-shadow: 0 9px 22px rgb(74 92 61 / 10%);
}

.practice-post .kf-practice-suitability__list li:nth-child(2) {
  border-radius: 20px 20px 7px;
  background: linear-gradient(135deg, #faffff 0%, #eaf7f6 100%);
}

.practice-post .kf-practice-suitability__list li:nth-child(even) {
  border-radius: 20px 20px 7px;
  background: linear-gradient(135deg, #faffff 0%, #eaf7f6 100%);
}

.practice-post .kf-practice-suitability__list li:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

.practice-post .kf-practice-suitability__list li::before {
  top: 29px;
  left: 28px;
  display: block;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #5f9660;
  font-size: 1rem;
  line-height: 1;
}

.practice-post .kf-practice-suitability__list li:nth-child(2)::before {
  color: #438c8b;
}

.practice-post .kf-practice-suitability__list li:nth-child(even)::before {
  color: #438c8b;
}

.practice-post .kf-practice-suitability__list li::after {
  content: none;
}

.practice-post .kf-practice-suitability__list li:nth-child(2)::after {
  content: none;
}

.practice-post .kf-practice-suitability__list strong,
.practice-post .kf-practice-suitability__list span {
  position: relative;
  z-index: 1;
  font-size: 1rem;
  line-height: 1.75;
}

.practice-post .kf-practice-suitability__list strong {
  color: var(--kf-color-ink);
  font-size: 1.08rem;
  line-height: 1.55;
}

.practice-post .kf-practice-suitability__list strong::before {
  display: block;
  margin-bottom: 5px;
  color: #789069;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.58rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  line-height: 1.3;
  content: attr(data-kf-en);
}

.practice-post .kf-practice-suitability__list li:nth-child(2) strong::before {
  color: #5b9290;
}

.practice-post .kf-practice-suitability__list li:nth-child(even) strong::before {
  color: #5b9290;
}

.practice-post .kf-practice-suitability__list span {
  margin-top: 8px;
  color: #53564f;
}

/* Practice match reads as a quiet list rather than a card grid. */
.kf-practice-suitability--compact-list .kf-practice-suitability__list {
  display: block;
  border-top: 0;
}

.practice-post .kf-practice-suitability--compact-list .kf-practice-suitability__list li,
.practice-post .kf-practice-suitability--compact-list .kf-practice-suitability__list li:nth-child(even),
.practice-post .kf-practice-suitability--compact-list .kf-practice-suitability__list li:last-child:nth-child(odd) {
  display: grid;
  grid-template-columns: minmax(150px, 0.55fr) minmax(0, 1fr);
  grid-column: auto;
  align-items: center;
  min-height: 0;
  padding: 17px 4px;
  overflow: visible;
  border: 0;
  border-bottom: 1px solid var(--place-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.practice-post .kf-practice-suitability--compact-list .kf-practice-suitability__list li::before,
.practice-post .kf-practice-suitability--compact-list .kf-practice-suitability__list li:nth-child(even)::before {
  display: none;
  content: none;
}

.practice-post .kf-practice-suitability--compact-list .kf-practice-suitability__list strong {
  grid-column: 1;
  grid-row: 1;
}

.practice-post .kf-practice-suitability--compact-list .kf-practice-suitability__list span {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  color: var(--kf-color-ink-soft);
}

@media (max-width: 680px) {
  .practice-post .kf-practice-suitability--compact-list .kf-practice-suitability__list li,
  .practice-post .kf-practice-suitability--compact-list .kf-practice-suitability__list li:nth-child(even),
  .practice-post .kf-practice-suitability--compact-list .kf-practice-suitability__list li:last-child:nth-child(odd) {
    grid-template-columns: 1fr;
    gap: 3px 0;
    padding: 15px 2px;
  }

  .practice-post .kf-practice-suitability--compact-list .kf-practice-suitability__list span {
    grid-column: 1;
    grid-row: 2;
  }
}

.kf-practice-profile__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kf-practice-profile__list li {
  --profile-accent: #6d9b83;
  min-width: 0;
  padding: 18px 20px 16px;
  border: 1px solid #d8e5dc;
  border-radius: 12px 12px 12px 4px;
  background: linear-gradient(145deg, #fdfffc 0%, #f2f8f3 100%);
}

.kf-practice-profile__list li:nth-child(2) {
  --profile-accent: #b87f88;
  border-color: #ead9dc;
  background: linear-gradient(145deg, #fffdfd 0%, #fbf2f4 100%);
}

.kf-practice-profile__list li:nth-child(3) {
  --profile-accent: #b58a43;
  border-color: #eadfc9;
  background: linear-gradient(145deg, #fffefa 0%, #faf5e9 100%);
}

.kf-practice-profile__list li:nth-child(4) {
  --profile-accent: #5c8e9b;
  border-color: #d4e4e7;
  background: linear-gradient(145deg, #fcffff 0%, #edf6f7 100%);
}

.kf-practice-profile__name {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
}

.kf-practice-profile__name strong {
  font-size: 1rem;
  font-weight: 500;
}

.kf-practice-profile__name small {
  color: var(--profile-accent);
  font-size: 0.76rem;
  letter-spacing: 0.04em;
}

.kf-practice-profile__axis {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  align-items: center;
  margin: 17px 3px 8px;
}

.kf-practice-profile__axis::before {
  position: absolute;
  right: 4px;
  left: 4px;
  height: 1px;
  background: color-mix(in srgb, var(--profile-accent) 32%, #d9d7cf);
  content: "";
}

.kf-practice-profile__axis i {
  z-index: 1;
  width: 8px;
  height: 8px;
  justify-self: center;
  border-radius: 50%;
  background: #d8d8d1;
}

.kf-practice-profile__axis i.is-active {
  width: 14px;
  height: 14px;
  background: var(--profile-accent);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--profile-accent) 17%, transparent);
}

.kf-practice-profile__range {
  display: flex;
  justify-content: space-between;
  color: #77756e;
  font-size: 0.72rem;
  line-height: 1.5;
}

.practice-content > .pb-rating-graph {
  margin-top: 0;
  padding: 26px 24px;
  border: 1px solid color-mix(in srgb, var(--place-line) 76%, transparent);
  border-radius: 10px;
  background: #fffefb;
  box-shadow: 0 8px 20px rgb(72 62 44 / 5%);
}

.kf-practice-conditions__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.kf-practice-conditions__grid article {
  padding: 22px 23px;
  border: 1px solid color-mix(in srgb, var(--place-line) 78%, transparent);
  border-radius: 10px;
  background: #fffefb;
}

.kf-practice-conditions__grid article > p:first-child {
  margin: 0 0 12px;
  color: var(--place-gold);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.08em;
}

.kf-practice-conditions__grid ul {
  margin: 0;
  padding-left: 1.2em;
}

.kf-practice-conditions__grid li + li {
  margin-top: 6px;
}

.practice-post .kf-practice-conditions__panel {
  overflow: hidden;
  border: 1px solid #d9cfbc;
  border-top: 0;
  border-radius: 0 0 10px 10px;
  background: #fffdfa;
  box-shadow: 0 9px 22px rgb(72 62 44 / 7%);
}

.practice-post .kf-practice-conditions--with-lulu > h2.kf-practice-editorial-heading {
  margin-top: 54px;
  margin-bottom: 0;
  padding: 17px 24px;
  border: 1px solid #7fa06e;
  border-radius: 13px 13px 0 0;
  background: linear-gradient(105deg, #78a268 0%, #9abb72 55%, #b3c783 100%);
  color: #fff;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-shadow: 0 1px 2px rgb(59 85 49 / 20%);
  text-align: center;
  box-shadow: 0 7px 18px rgb(83 112 66 / 14%), inset 0 1px rgb(255 255 255 / 28%);
}

.practice-post .kf-practice-conditions--with-lulu > h2.kf-practice-editorial-heading::before {
  display: inline-block;
  margin: 0 12px 0 0;
  color: #fff0ad;
  font-size: 0.72rem;
  line-height: 1;
  content: "✦";
}

.practice-post .kf-practice-conditions--with-lulu > h2.kf-practice-editorial-heading::after {
  position: static;
  display: inline-block;
  width: auto;
  height: auto;
  margin-left: 12px;
  background: transparent;
  color: #fff0ad;
  font-size: 0.72rem;
  line-height: 1;
  content: "✦";
}

.practice-post .kf-practice-conditions__main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 240px;
  gap: 24px;
  min-height: 262px;
  align-items: stretch;
  padding: 28px 28px 18px;
}

.practice-post .kf-practice-facilities {
  padding-top: 4px;
}

.practice-post .kf-practice-conditions__label {
  margin: 0 0 14px;
  color: #8d6a35;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.12em;
}

.practice-post .kf-practice-conditions--caution-led .kf-practice-conditions__label {
  display: flex;
  gap: 12px;
  align-items: baseline;
}

.practice-post .kf-practice-conditions--caution-led .kf-practice-conditions__label::after {
  flex: 1;
  height: 1px;
  background: #dfd2bb;
  content: "";
}

.practice-post .kf-practice-facilities ul {
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
}

.practice-post .kf-practice-facilities li {
  position: relative;
  min-height: 0;
  padding: 12px 0 12px 32px;
  border: 0;
  border-bottom: 1px solid #ddd4c2;
  border-radius: 0;
  background: transparent;
  font-size: 1rem;
  line-height: 1.65;
}

.practice-post .kf-practice-facilities li::before {
  position: absolute;
  top: 13px;
  left: 3px;
  display: block;
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
  color: #7eaa70;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
  content: "✓";
}

.practice-post .kf-practice-conditions--caution-led .kf-practice-facilities li {
  padding-left: 22px;
}

.practice-post .kf-practice-conditions--caution-led .kf-practice-facilities li::before {
  top: 23px;
  left: 5px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #a78a58;
  content: "";
}

.practice-post .kf-practice-lulu-guide {
  position: relative;
  min-height: 270px;
}

.practice-post .kf-practice-lulu-figure {
  margin: 0;
}

.practice-post .kf-practice-lulu-balloon {
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  width: 210px;
  min-height: 0;
  margin: 0 auto;
  padding: 14px 16px;
  border: 1px solid #b4a993;
  border-radius: 11px;
  background: #fff;
  color: #36352f;
  font-size: 1rem;
  line-height: 1.65;
  text-align: center;
}

.practice-post .kf-practice-lulu-balloon::before,
.practice-post .kf-practice-lulu-balloon::after {
  position: absolute;
  left: 62px;
  width: 0;
  height: 0;
  transform: translateX(-50%);
  border-right: 12px solid transparent;
  border-left: 12px solid transparent;
  content: "";
}

.practice-post .kf-practice-lulu-balloon::before {
  bottom: -14px;
  border-top: 14px solid #b4a993;
}

.practice-post .kf-practice-lulu-balloon::after {
  bottom: -12px;
  border-right-width: 11px;
  border-left-width: 11px;
  border-top: 13px solid #fff;
}

.practice-post .kf-practice-lulu-guide__image {
  position: absolute;
  z-index: 1;
  right: 23px;
  bottom: -5px;
  width: 170px;
  max-width: none;
  height: auto;
  border-radius: 0;
  filter: drop-shadow(0 7px 6px rgb(73 61 38 / 15%));
}

.practice-post .kf-practice-season-notes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0 22px 22px;
  border-top: 0;
  background: transparent;
  list-style: none;
}

.practice-post .kf-practice-cautions-label {
  display: flex;
  gap: 12px;
  align-items: baseline;
  margin: 2px 22px 14px;
  color: #9a575a;
  font-size: 1.02rem;
  font-weight: 500;
  letter-spacing: 0.1em;
}

.practice-post .kf-practice-cautions-label::before {
  display: none;
  content: none;
}

.practice-post .kf-practice-cautions-label::after {
  flex: 1;
  height: 1px;
  background: #ead4d4;
  content: "";
}

.practice-post .kf-practice-season-notes:has(li:nth-child(4)):not(:has(li:nth-child(5))) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.practice-post .kf-practice-season-notes li {
  isolation: isolate;
  position: relative;
  box-sizing: border-box;
  min-width: 0;
  min-height: 178px;
  overflow: hidden;
  padding: 20px 18px 18px;
  border: 0;
  border-radius: 17px 17px 17px 6px;
  background: linear-gradient(145deg, #f8ffff 0%, #e8f8f6 100%);
  font-size: 1rem;
  line-height: 1.75;
  box-shadow: 0 8px 20px rgb(65 105 99 / 10%);
}

.practice-post .kf-practice-season-notes li.is-morning {
  background: linear-gradient(145deg, #f8ffff 0%, #e8f8f6 100%);
}

.practice-post .kf-practice-season-notes li.is-blossom {
  border-radius: 17px 17px 6px;
  background: linear-gradient(145deg, #fffafb 0%, #ffecef 100%);
  box-shadow: 0 8px 20px rgb(153 91 104 / 9%);
}

.practice-post .kf-practice-season-notes li.is-summer {
  background: linear-gradient(145deg, #fffdf6 0%, #fff3cf 100%);
  box-shadow: 0 8px 20px rgb(159 119 49 / 10%);
}

.practice-post .kf-practice-season-notes li.is-facilities {
  background: linear-gradient(145deg, #fffdf9 0%, #fff1e6 100%);
  box-shadow: 0 8px 20px rgb(177 103 55 / 9%);
}

.practice-post .kf-practice-season-notes li.is-access {
  background: linear-gradient(145deg, #f8feff 0%, #e7f8fa 100%);
  box-shadow: 0 8px 20px rgb(39 139 151 / 9%);
}

.practice-post .kf-practice-season-notes li.is-ground {
  background: linear-gradient(145deg, #fbfdfb 0%, #edf5eb 100%);
  box-shadow: 0 8px 20px rgb(77 116 84 / 9%);
}

.practice-post .kf-practice-season-notes li.is-environment {
  background: linear-gradient(145deg, #f9feff 0%, #edf7f8 100%);
  box-shadow: 0 8px 20px rgb(62 128 139 / 9%);
}

.practice-post .kf-practice-season-notes li.is-space {
  background: linear-gradient(145deg, #fbfdf9 0%, #eef6e9 100%);
  box-shadow: 0 8px 20px rgb(86 124 76 / 9%);
}

.practice-post .kf-practice-season-notes li.is-safety {
  background: linear-gradient(145deg, #fffafa 0%, #fff0ed 100%);
  box-shadow: 0 8px 20px rgb(160 72 62 / 9%);
}

.practice-post .kf-practice-season-notes li + li {
  border-left-width: 1px;
}

.practice-post .kf-practice-season-notes strong,
.practice-post .kf-practice-season-notes span {
  display: block;
}

.practice-post .kf-practice-season-notes strong {
  position: relative;
  display: block;
  min-height: 60px;
  margin-bottom: 8px;
  padding: 22px 68px 0 0;
  color: #317a76;
  font-size: 1.12rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.4;
}

.practice-post .kf-practice-season-notes strong::before {
  position: absolute;
  z-index: 1;
  top: -5px;
  right: 0;
  width: 62px;
  height: 62px;
  background: url("../images/practice-icon-sunrise.png") center / contain no-repeat;
  content: "";
}

.practice-post .kf-practice-season-notes strong::after {
  position: absolute;
  top: 0;
  left: 0;
  color: #4e9993;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.57rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  line-height: 1;
  content: attr(data-kf-en);
}

.practice-post .kf-practice-season-notes .is-blossom strong::before {
  background-image: url("../images/practice-icon-sakura.png");
}

.practice-post .kf-practice-season-notes .is-blossom strong {
  color: #a45f6d;
}

.practice-post .kf-practice-season-notes .is-blossom strong::after {
  color: #c17d88;
}

.practice-post .kf-practice-season-notes .is-summer strong::before {
  background-image: url("../images/practice-icon-morning-glory.png");
}

.practice-post .kf-practice-season-notes .is-summer strong {
  color: #8b6a2b;
}

.practice-post .kf-practice-season-notes .is-summer strong::after {
  color: #b18431;
}

.practice-post .kf-practice-season-notes .is-facilities strong::before {
  background-image: url("../images/practice-icon-facilities.png");
}

.practice-post .kf-practice-season-notes .is-facilities strong {
  color: #a15e32;
}

.practice-post .kf-practice-season-notes .is-facilities strong::after {
  color: #be7c4e;
}

.practice-post .kf-practice-season-notes .is-access strong::before {
  background-image: url("../images/practice-icon-access.png");
}

.practice-post .kf-practice-season-notes .is-access strong {
  color: #247b84;
}

.practice-post .kf-practice-season-notes .is-access strong::after {
  color: #4597a0;
}

.practice-post .kf-practice-season-notes .is-ground strong::before {
  background-image: url("../images/practice-icon-ground.png");
}

.practice-post .kf-practice-season-notes .is-ground strong {
  color: #53765b;
}

.practice-post .kf-practice-season-notes .is-ground strong::after {
  color: #72917a;
}

.practice-post .kf-practice-season-notes .is-environment strong::before {
  background-image: url("../images/practice-icon-access.png");
}

.practice-post .kf-practice-season-notes .is-environment strong {
  color: #347983;
}

.practice-post .kf-practice-season-notes .is-environment strong::after {
  color: #5797a0;
}

.practice-post .kf-practice-season-notes .is-space strong::before {
  background-image: url("../images/practice-icon-ground.png");
}

.practice-post .kf-practice-season-notes .is-space strong {
  color: #5b7a50;
}

.practice-post .kf-practice-season-notes .is-space strong::after {
  color: #79966f;
}

.practice-post .kf-practice-season-notes .is-safety strong::before {
  background-image: url("../images/practice-icon-safety.png");
}

.practice-post .kf-practice-season-notes .is-safety strong {
  color: #9d4f46;
}

.practice-post .kf-practice-season-notes .is-safety strong::after {
  color: #bd7167;
}

.practice-post .kf-practice-season-notes li::before {
  position: absolute;
  z-index: -1;
  top: -35px;
  right: -34px;
  width: 132px;
  height: 132px;
  border-radius: 50%;
  background: rgb(84 186 178 / 12%);
  content: "";
}

.practice-post .kf-practice-season-notes li.is-blossom::before {
  background: rgb(235 137 157 / 12%);
}

.practice-post .kf-practice-season-notes li.is-summer::before {
  background: rgb(236 185 74 / 13%);
}

.practice-post .kf-practice-season-notes li.is-facilities::before {
  background: rgb(232 145 85 / 11%);
}

.practice-post .kf-practice-season-notes li.is-access::before {
  background: rgb(46 174 185 / 11%);
}

.practice-post .kf-practice-season-notes li.is-ground::before {
  background: rgb(105 152 105 / 10%);
}

.practice-post .kf-practice-season-notes li.is-environment::before {
  background: rgb(62 157 169 / 10%);
}

.practice-post .kf-practice-season-notes li.is-space::before {
  background: rgb(108 151 91 / 10%);
}

.practice-post .kf-practice-season-notes li.is-safety::before {
  background: rgb(213 91 77 / 10%);
}

.practice-post .kf-practice-season-notes span {
  color: #403e38;
  line-height: 1.75;
}

.kf-practice-information .kf-information-list__item {
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr);
  gap: 22px;
  padding: 18px 20px;
}

.kf-practice-information .kf-information-list__item + .kf-information-list__item {
  border-top: 1px solid color-mix(in srgb, var(--place-line) 70%, transparent);
}

.kf-practice-information__links {
  display: grid;
  gap: 9px;
}

.kf-practice-information__links a {
  color: #735b2f;
  overflow-wrap: anywhere;
  text-underline-offset: 0.28em;
}

.kf-practice-nearby {
  margin-top: 64px;
}

.kf-practice-nearby--standalone {
  margin-top: 0;
}

.kf-practice-nearby--standalone + .kf-practice-nearby--standalone {
  margin-top: 18px;
}

.kf-practice-nearby .kf-practice-editorial-heading {
  margin-top: 0;
}

.kf-food-walk-nearby.kf-practice-nearby .kf-food-walk-nearby__card img,
.kf-food-walk-nearby.kf-practice-nearby .kf-food-walk-nearby__card .life-image-placeholder {
  height: 88px;
  min-height: 0;
  aspect-ratio: auto;
  border-radius: 2px;
  filter: saturate(0.9) contrast(0.98);
}

.kf-food-walk-nearby.kf-practice-nearby .kf-food-walk-nearby__grid {
  grid-template-columns: 1fr;
  width: 94%;
  gap: 18px;
  margin-right: auto;
  margin-left: auto;
}

.kf-food-walk-nearby.kf-practice-nearby .kf-food-walk-nearby__card {
  position: relative;
}

.kf-food-walk-nearby.kf-practice-nearby .kf-food-walk-nearby__card > a {
  position: relative;
  display: grid;
  overflow: visible;
  grid-template-columns: 150px minmax(0, 1fr);
  min-height: 126px;
  align-items: center;
  padding: 20px 20px 18px;
  border: 1px solid #d9cfbd;
  border-radius: 4px;
  background: #fffefa;
  box-shadow: none;
}

.kf-food-walk-nearby.kf-practice-nearby .kf-food-walk-nearby__copy {
  min-height: 0;
  padding: 0 0 0 20px;
}

.kf-food-walk-nearby.kf-practice-nearby .kf-food-walk-nearby__copy small {
  position: absolute;
  top: -9px;
  left: 18px;
  display: inline-block;
  padding: 0 8px;
  background: #fffefa;
  color: #8a6b36;
  font-size: calc(0.64rem + 1px);
  letter-spacing: 0.08em;
  line-height: 1.5;
}

.kf-food-walk-nearby.kf-practice-nearby .kf-food-walk-nearby__copy strong {
  margin-top: 0;
  font-size: calc(0.96rem + 1px);
  line-height: 1.65;
}

.kf-food-walk-nearby.kf-practice-nearby .kf-food-walk-nearby__copy strong::after {
  margin-left: 7px;
  color: #9a855f;
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.68rem;
  font-weight: 400;
  content: "→";
}

.kf-food-walk-nearby.kf-practice-nearby .kf-food-walk-nearby__action {
  display: none;
}

.kf-food-walk-nearby.kf-practice-nearby .kf-food-walk-nearby__excerpt {
  display: -webkit-box;
  overflow: hidden;
  margin-top: 7px;
  color: #6c675f;
  font-size: 0.76rem;
  line-height: 1.75;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.kf-food-walk-nearby.kf-practice-nearby .kf-food-walk-nearby__card:nth-last-child(-n + 2) > a {
  border-bottom: 1px solid #d9cfbd;
}

.kf-food-walk-nearby.kf-practice-nearby .kf-food-walk-nearby__card > a:hover,
.kf-food-walk-nearby.kf-practice-nearby .kf-food-walk-nearby__card > a:focus-visible {
  border-color: #b9a680;
  background: #fffdf7;
  box-shadow: 0 5px 14px rgb(72 62 44 / 5%);
  transform: none;
}

@media (max-width: 680px) {
  .practice-content h2.kf-practice-editorial-heading {
    margin-top: 50px;
  }

  .practice-post .kf-practice-conditions__main {
    grid-template-columns: minmax(0, 1fr) 200px;
    gap: 18px;
    padding: 24px 22px 18px;
  }

  .kf-food-walk-nearby.kf-practice-nearby .kf-food-walk-nearby__grid {
    width: 100%;
    gap: 16px;
  }

  .kf-food-walk-nearby.kf-practice-nearby .kf-food-walk-nearby__card img,
  .kf-food-walk-nearby.kf-practice-nearby .kf-food-walk-nearby__card .life-image-placeholder {
    height: 78px;
    min-height: 0;
    aspect-ratio: auto;
  }

  .kf-food-walk-nearby.kf-practice-nearby .kf-food-walk-nearby__card > a {
    grid-template-columns: 104px minmax(0, 1fr);
    min-height: 114px;
    padding: 18px 13px 15px;
    border-bottom: 1px solid #d9cfbd;
  }

  .kf-food-walk-nearby.kf-practice-nearby .kf-food-walk-nearby__copy {
    min-height: 0;
    padding: 0 0 0 14px;
  }

  .kf-food-walk-nearby.kf-practice-nearby .kf-food-walk-nearby__copy small {
    left: 12px;
  }

  .kf-food-walk-nearby.kf-practice-nearby .kf-food-walk-nearby__copy strong {
    font-size: calc(0.88rem + 1px);
  }

  .kf-food-walk-nearby.kf-practice-nearby .kf-food-walk-nearby__copy strong::after {
    content: none;
  }

  .kf-food-walk-nearby.kf-practice-nearby .kf-food-walk-nearby__excerpt {
    margin-top: 5px;
    font-size: 0.7rem;
    line-height: 1.65;
  }

  .kf-food-walk-nearby.kf-practice-nearby .kf-food-walk-nearby__card:last-child > a {
    border-bottom: 1px solid #d9cfbd;
  }

  .practice-post .kf-practice-lulu-balloon {
    width: 190px;
    min-height: 0;
    padding: 14px 16px;
  }

  .practice-post .kf-practice-lulu-guide__image {
    right: 10px;
    width: 150px;
  }

  .practice-post .kf-practice-season-notes {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 0 18px 20px;
  }

  .practice-post .kf-practice-season-notes:has(li:nth-child(4)):not(:has(li:nth-child(5))) {
    grid-template-columns: 1fr;
  }

  .kf-practice-suitability__list,
  .kf-practice-profile__list,
  .kf-practice-conditions__grid {
    grid-template-columns: 1fr;
  }

  .practice-post .kf-practice-suitability__list li {
    min-height: 153px;
  }

  .practice-post .practice-content > .wp-block-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kf-practice-information .kf-information-list__item {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 17px 18px;
  }
}

@media (max-width: 420px) {
  .practice-post .kf-practice-conditions--with-lulu > h2.kf-practice-editorial-heading {
    padding: 13px 15px;
    font-size: 0.98rem;
  }

  .practice-post .kf-practice-facilities ul {
    grid-template-columns: 1fr;
  }

  .practice-post .kf-practice-conditions__main {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 22px 20px 10px;
  }

  .practice-post .kf-practice-lulu-guide {
    min-height: 274px;
  }

  .practice-post .kf-practice-lulu-balloon {
    width: 210px;
  }

  .practice-post .kf-practice-lulu-guide__image {
    right: 50%;
    bottom: -5px;
    width: 158px;
    transform: translateX(50%);
  }
}

.practice-content .swell-block-postLink {
  margin: 0;
  border-top: 1px solid var(--place-line);
}

.practice-content .swell-block-postLink:last-child {
  border-bottom: 1px solid var(--place-line);
}

.practice-content .p-blogCard__inner {
  position: relative;
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  min-height: 150px;
  padding: 18px 16px;
}

.practice-content .p-blogCard__caption {
  position: absolute;
  z-index: 1;
  top: 24px;
  left: 22px;
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(255, 254, 250, 0.93);
  color: var(--place-gold);
  font-size: 0.62rem;
  letter-spacing: 0.08em;
}

.practice-content .p-blogCard__thumb,
.practice-content .c-postThumb__figure {
  display: block;
  width: 100%;
  margin: 0;
}

.practice-content .p-blogCard__thumb img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 7px;
  object-fit: cover;
}

.practice-content .p-blogCard__body {
  min-width: 0;
}

.practice-content .p-blogCard__title {
  display: block;
  color: #435449;
  font-size: 1rem;
  line-height: 1.75;
  text-decoration: none;
}

.practice-content .p-blogCard__excerpt {
  display: -webkit-box;
  overflow: hidden;
  margin-top: 9px;
  color: var(--kf-color-ink-soft);
  font-size: 0.76rem;
  line-height: 1.75;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

@media (max-width: 680px) {
  .practice-content .p-blogCard__inner {
    grid-template-columns: 116px minmax(0, 1fr);
    gap: 14px;
    min-height: 108px;
    padding: 13px 4px;
  }

  .practice-content .p-blogCard__caption {
    top: 17px;
    left: 8px;
  }

  .practice-content .p-blogCard__title {
    font-size: 0.88rem;
  }

  .practice-content .p-blogCard__excerpt {
    display: none;
  }
}
.post-author{display:grid;grid-template-columns:92px minmax(0,1fr);gap:24px;align-items:center;margin-top:62px!important;padding:27px 28px;border:1px solid rgba(205,189,158,.62);border-radius:12px;background:#fffefb}.post-author img{display:block;width:92px;height:92px;border-radius:50%;object-fit:cover}.post-author__label{margin:0 0 3px!important;color:var(--place-gold);font-size:.67rem;letter-spacing:.12em}.post-author h2{margin:0 0 7px;font-size:1.08rem}.post-author p{margin:0;font-size:.8rem;line-height:1.8}.post-author a{display:inline-block;margin-top:9px;color:#735b2f;font-size:.75rem;text-underline-offset:.3em}
.manual-related{margin-top:62px!important}.manual-related>h2{position:relative;margin:0 0 26px;padding-bottom:16px;border-bottom:1px solid var(--place-line);font-size:1.42rem;font-weight:600}.manual-related>h2::after{position:absolute;bottom:-1px;left:0;width:36%;height:1px;background:var(--place-gold);content:""}.manual-related>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.manual-related a{padding:18px;border-radius:8px;background:var(--place-green-pale);color:#333a34;font-size:.82rem;text-decoration:none}.manual-related a span{display:block;margin-bottom:5px;color:#758077;font-size:.62rem}
.after-practice{display:grid;grid-template-columns:minmax(190px,34%) minmax(0,1fr);gap:30px;align-items:center;margin-top:62px;padding:18px;border-top:1px solid var(--place-line);border-bottom:1px solid var(--place-line);background:rgba(255,254,250,.58)}.after-practice__image{display:block;overflow:hidden;border-radius:7px}.after-practice__image img,.after-practice__image .life-image-placeholder{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.after-practice__copy{padding:8px 20px 8px 0}.after-practice__copy h2{margin:0 0 13px;font-size:1.3rem;font-weight:600;letter-spacing:.06em}.after-practice__lead{margin:0;color:#5e5b55;font-size:.86rem;line-height:1.9}.after-practice__name{margin:12px 0 0;font-size:1rem;line-height:1.65}.after-practice__link{display:inline-block;margin-top:15px;color:#735b2f;font-size:.78rem;text-underline-offset:.34em}
.post-pagination{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:62px;padding-top:27px;border-top:1px solid var(--place-line)}.post-pagination a{color:#343934;text-decoration:none}.post-pagination a:last-child{text-align:right}.post-pagination a span{display:block;margin-bottom:4px;color:var(--place-gold);font-size:.6rem;letter-spacing:.12em}
.practice-sidebar{position:sticky;top:calc(var(--kf-admin-bar-offset) + var(--kf-sticky-header-height) + 24px);align-self:start;box-sizing:border-box;max-height:calc(100vh - var(--kf-admin-bar-offset) - var(--kf-sticky-header-height) - 48px);overflow-y:auto}.practice-sidebar__panel{padding:26px 22px}.practice-sidebar__panel+.practice-sidebar__panel{margin-top:24px}.practice-sidebar__panel h2{position:relative;margin:0 0 15px;padding-bottom:12px;border-bottom:1px solid var(--place-line);font-size:.94rem;line-height:1.6}.practice-sidebar__panel h2::after{position:absolute;bottom:-1px;left:0;width:100px;height:1px;background:var(--place-gold);content:""}.practice-sidebar__panel h2 span{display:block;color:var(--place-gold);font-size:.51rem;font-weight:400;letter-spacing:.13em}.practice-sidebar ul{margin:0;padding:0;list-style:none}.practice-sidebar li+li{border-top:1px solid rgba(205,189,158,.5)}.practice-sidebar nav a{display:block;padding:10px 2px;color:#625f58;font-size:.76rem;text-decoration:none}.practice-sidebar nav a.is-current{color:#405045;font-weight:600}.practice-sidebar__panel--guide nav a{position:relative;padding-left:14px}.practice-sidebar__panel--guide nav a::before{position:absolute;top:50%;left:2px;width:3px;height:3px;border-radius:50%;background:rgba(118,91,35,.42);content:"";transform:translateY(-50%)}
@media(max-width:1209px){.practice-layout{grid-template-columns:minmax(0,var(--kf-layout-main));justify-content:center}.practice-sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:22px;max-height:none;overflow:visible}.practice-sidebar__panel+.practice-sidebar__panel{margin-top:0}}
@media(max-width:680px){.practice-post .page-breadcrumb{padding:16px 20px}.practice-hero{min-height:360px;background-position:58% center}.practice-hero__inner{padding:52px 28px 45px}.practice-hero h1{font-size:2rem}.practice-hero__summary{font-size:.8rem}.practice-layout{width:calc(100% - 28px);margin-top:20px}.practice-article{padding:34px 22px}.practice-content h2,.practice-content h3{margin-top:48px}.post-author,.manual-related{margin-top:48px!important}.post-author{grid-template-columns:70px 1fr;padding:22px}.post-author img{width:70px;height:70px}.manual-related>div{grid-template-columns:1fr}.after-practice{grid-template-columns:1fr;gap:20px;margin-top:48px;padding:14px}.after-practice__image{width:82%;margin:0 auto}.after-practice__copy{padding:3px 8px 10px}.post-pagination{grid-template-columns:1fr}.post-pagination a:last-child{text-align:left}.practice-sidebar{grid-template-columns:1fr}}

/* Chinese study-abroad journal — adopted intro, story and full-index designs. */
.study-post,.study-index{--study-hero-overlay:linear-gradient(90deg,rgba(25,29,26,.76) 0%,rgba(35,39,35,.56) 40%,rgba(35,39,35,.36) 65%,rgba(35,39,35,.10) 100%);--study-gold:#967536;--study-line:#d5c7aa;--study-green:#eef0e8;--study-paper:#fffefb;color:var(--kf-color-ink);font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",YuMincho,serif}
.study-post .page-breadcrumb,.study-index .page-breadcrumb{display:flex;flex-wrap:wrap;gap:7px 16px;width:min(var(--kf-layout-with-sidebar),calc(100% - (var(--kf-mobile-gutter)*2)));margin:0 auto;padding:22px 0 20px;color:var(--kf-color-ink-soft);font-size:.84rem}.study-post .page-breadcrumb>*+*::before,.study-index .page-breadcrumb>*+*::before{margin-right:16px;color:var(--kf-color-line-strong);content:"/"}.study-post .page-breadcrumb a,.study-index .page-breadcrumb a{color:inherit;text-decoration:none}
.study-post-hero{display:flex;min-height:clamp(300px,26vw,380px);align-items:center;color:#fff;background:var(--study-hero-overlay),var(--study-hero-image,url("../images/study-abroad-hero-fallback.jpg")) center/cover no-repeat}.study-post-hero__inner{box-sizing:border-box;width:min(var(--kf-layout-with-sidebar),calc(100% - (var(--kf-mobile-gutter)*2)));margin:0 auto;padding:56px var(--kf-layout-inset)}.study-post-hero__eyebrow{margin:0 0 13px;color:#f2ddaa;font-size:.67rem;letter-spacing:.18em}.study-post-hero__series{margin:0 0 10px;color:rgba(255,253,247,.9);font-size:1.02rem;letter-spacing:.09em}.study-post-hero h1{max-width:17em;margin:0;font-size:clamp(2.15rem,3.7vw,3.2rem);font-weight:500;letter-spacing:.055em;line-height:1.42}.study-post-hero__meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:24px;color:rgba(255,255,255,.84);font-size:.7rem}.study-post-hero__meta a{color:inherit;text-underline-offset:.3em}
.study-post-layout{display:grid;grid-template-columns:minmax(0,var(--kf-layout-main)) minmax(280px,var(--kf-layout-sidebar));gap:var(--kf-layout-column-gap);width:min(var(--kf-layout-with-sidebar),calc(100% - (var(--kf-mobile-gutter)*2)));margin:48px auto 0;align-items:start}.study-post-article,.study-sidebar__panel{box-sizing:border-box;border-radius:12px;background:rgba(255,255,253,.99)}.study-post-article{min-width:0;padding:50px 58px 54px}.study-post-cover{margin:0 0 44px}.study-post-cover img{display:block;width:100%;height:auto;aspect-ratio:1200/630;border-radius:0;object-fit:cover}
.study-post-content{font-size:1rem;line-height:1.8}.study-post-content>*:first-child{margin-top:0}.study-post-content>p:first-child{margin:0 0 44px;font-size:1.05rem;line-height:1.8}.study-post-content p{line-height:1.8}.study-post-content p+p{margin-top:20px}.study-post-content h2,.study-post-content h3{position:relative;margin:62px 0 27px;padding-bottom:16px;border-bottom:1px solid var(--study-line);font-weight:600;letter-spacing:.055em}.study-post-content h2{font-size:1.45rem}.study-post-content h3{font-size:1.2rem}.study-post-content h2::after,.study-post-content h3::after{position:absolute;bottom:-1px;left:0;width:36%;height:1px;background:var(--study-gold);content:""}.study-post-content blockquote{margin:34px 0;padding:24px 28px;border-left:3px solid #879283;background:#f0f2ed}.study-post-content blockquote p{margin:0;font-size:1.02rem}.study-post-content figure{margin:54px 0 0}.study-post-content img{height:auto;border-radius:8px}.study-post-content figcaption{margin-top:10px;color:#77736b;font-size:.72rem}.study-post-content .has-text-align-right{text-align:right}.study-post-content .swell-block-button,.study-post-content .wp-block-buttons{margin-top:35px}.study-post-content .swell-block-button__link,.study-post-content .wp-block-button__link{display:inline-block;padding:12px 25px;border:1px solid var(--study-gold);border-radius:999px;background:transparent;color:#6f5729;text-decoration:none}
/* Journal afterstory: a fine top rule with a right-aligned disclosure arrow. */
.study-post-content .kf-story-afterword { margin: 28px 0 0; }
.study-post-content .kf-story-afterword > summary {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 5px;
  width: 100%;
  min-height: 44px;
  box-sizing: border-box;
  padding: 14px 4px;
  border-top: 1px solid #dedad1;
  color: #777167;
  font-size: inherit;
  line-height: 1.6;
  letter-spacing: .08em;
  cursor: pointer;
  list-style: none;
}
.study-post-content .kf-story-afterword > summary::before {
  content: '';
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  align-self: center;
  transform: translateY(1px);
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2026%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M22%201.5C15%203%209.5%206%207%2010l-.2%203-1.4-1.7C4.2%2014%204.5%2016.5%204.8%2019c3.5-1.1%206.6-2.7%209.4-5l-2.7-.8%204.5-1.3C18.5%208.6%2020.2%205%2022%201.5ZM5.6%2018.4C8.7%2013.2%2013.3%208.5%2018%206.4c-4.5%203.2-8.3%207.4-12.4%2012Z%22%2F%3E%3Cpath%20d%3D%22M5.3%2019.4C3.6%2021%202.8%2023.1%202.5%2025c1.4-1.5%202.1-3.6%202.8-5.6Z%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2026%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M22%201.5C15%203%209.5%206%207%2010l-.2%203-1.4-1.7C4.2%2014%204.5%2016.5%204.8%2019c3.5-1.1%206.6-2.7%209.4-5l-2.7-.8%204.5-1.3C18.5%208.6%2020.2%205%2022%201.5ZM5.6%2018.4C8.7%2013.2%2013.3%208.5%2018%206.4c-4.5%203.2-8.3%207.4-12.4%2012Z%22%2F%3E%3Cpath%20d%3D%22M5.3%2019.4C3.6%2021%202.8%2023.1%202.5%2025c1.4-1.5%202.1-3.6%202.8-5.6Z%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}
.study-post-content .kf-story-afterword > summary::-webkit-details-marker { display: none; }
.study-post-content .kf-story-afterword > summary::marker { content: ''; }
.study-post-content .kf-story-afterword > summary::after {
  content: '';
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  margin-left: auto;
  margin-right: 3px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
}
.study-post-content .kf-story-afterword[open] > summary::after { transform: translateY(2px) rotate(225deg); }
.study-post-content .kf-story-afterword > summary:hover { color: #67542e;  }
.study-post-content .kf-story-afterword > summary:focus-visible {
  outline: 2px solid #8c7648;
  outline-offset: 4px;
}
.study-post-content .kf-story-afterword > p { margin: 20px 0; }
.study-post-content .kf-story-afterword > p:last-child { margin-bottom: 0; }

.study-post-companions{display:grid;grid-template-columns:minmax(0,356px);justify-content:center;margin-top:24px}.study-post-companions br{display:none}.study-post-companions a{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:18px;box-sizing:border-box;padding:14px 18px;border:1px solid var(--study-line);border-radius:8px;background:var(--study-paper);color:#67542e;font-size:.82rem;line-height:1.65;text-decoration:none}.study-post-companions a:not([aria-disabled="true"]):hover,.study-post-companions a:not([aria-disabled="true"]):focus-visible{border-color:var(--study-gold);background:#fffdf8}
.study-post-companions a.study-post-companions__illustrated{justify-content:center;gap:12px;background:#f8f5ed;border-color:#c7b58e}.study-post-companions__text{display:flex;flex:0 1 auto;min-width:0;flex-direction:column;gap:3px}.study-post-companions__byline{font-size:.68rem;line-height:1.5;color:#786b55}.study-post-companions__title{font-size:.82rem;line-height:1.65;overflow-wrap:anywhere}.study-post-companions__action{display:inline-block;white-space:nowrap}.study-post-companions a[aria-disabled="true"]{cursor:default}.study-post-companions__status{display:inline-block;white-space:nowrap}.study-post-companions a .study-post-companions__portrait{display:block;flex:0 0 36px;width:36px;height:36px;object-fit:contain;border-radius:0}.study-post-companions a.study-post-companions__illustrated:not([aria-disabled="true"]):hover,.study-post-companions a.study-post-companions__illustrated:not([aria-disabled="true"]):focus-visible{background:#f1ebde;border-color:var(--study-gold)}

.study-chapter-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:64px;padding:25px 0;border-top:1px solid var(--study-line);border-bottom:1px solid var(--study-line)}.study-chapter-nav>a{color:var(--kf-color-ink);line-height:1.7;text-decoration:none}.study-chapter-nav>a:last-child{text-align:right}.study-chapter-nav>a span{display:block;color:var(--study-gold);font-size:.61rem;letter-spacing:.14em}
.study-post-author{display:grid;grid-template-columns:92px minmax(0,1fr);gap:24px;align-items:center;margin-top:58px;padding:27px 28px;border:1px solid rgba(205,189,158,.62);border-radius:12px;background:var(--study-paper)}.study-post-author img{display:block;width:92px;height:92px;border-radius:50%;object-fit:cover;object-position:54% 43%}.study-post-author>div>p:first-child{margin:0 0 3px;color:var(--study-gold);font-size:.67rem;letter-spacing:.12em}.study-post-author h2{margin:0 0 7px;font-size:1.08rem}.study-post-author>div>p:not(:first-child){margin:0;font-size:.8rem;line-height:1.8}.study-post-author a{display:inline-block;margin-top:9px;color:#735b2f;font-size:.75rem;text-underline-offset:.3em}
.study-sidebar{position:sticky;top:calc(var(--kf-admin-bar-offset) + var(--kf-sticky-header-height) + 24px);align-self:start;box-sizing:border-box;max-height:calc(100vh - var(--kf-admin-bar-offset) - var(--kf-sticky-header-height) - 48px);overflow-y:auto}.study-sidebar__panel{padding:0 22px 25px}.study-sidebar__panel+.study-sidebar__panel{margin-top:24px}.study-sidebar__panel>header{padding:23px 0 11px}.study-sidebar__panel>header>p{margin:0 0 3px;color:var(--study-gold);font-size:.55rem;letter-spacing:.14em}.study-sidebar__panel>header h2{position:relative;margin:0;padding-bottom:11px;border-bottom:1px solid var(--study-line);font-size:1rem;line-height:1.55}.study-sidebar__panel>header h2::after{position:absolute;bottom:-1px;left:0;width:96px;height:1px;background:var(--study-gold);content:""}.study-sidebar ul{margin:0;padding:0;list-style:none}.study-sidebar a{position:relative;display:block;padding:11px 3px 11px 16px;color:#4f4d47;font-size:.78rem;line-height:1.65;text-decoration:none}.study-sidebar a::before{position:absolute;top:50%;left:4px;width:3px;height:3px;border-radius:50%;background:rgba(118,91,35,.42);content:"";transform:translateY(-50%)}.study-sidebar a.is-current{color:#765b23;font-weight:600}.study-sidebar a.is-current::before{background:#765b23}.study-sidebar__chapter{border-top:1px solid rgba(139,122,88,.22)}.study-sidebar__chapter:last-child{border-bottom:1px solid rgba(139,122,88,.22)}.study-sidebar__chapter summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;background:rgba(238,236,229,.58);color:#302f2a;font-size:.78rem;font-weight:600;line-height:1.55;cursor:pointer;list-style:none}.study-sidebar__chapter summary::-webkit-details-marker{display:none}.study-sidebar__chapter summary::after{color:#765b23;content:"+";font-size:.95rem;font-weight:400}.study-sidebar__chapter[open] summary::after{content:"−"}.study-sidebar__chapter nav{padding:3px 0 5px}.study-sidebar__chapter a{padding-left:22px}
.study-index .page-breadcrumb{width:min(var(--kf-layout-wide),calc(100% - (var(--kf-mobile-gutter)*2)))}.study-index-hero{display:flex;min-height:280px;align-items:center;color:#fff;background:var(--study-hero-overlay),var(--study-index-image,url("../images/study-abroad-hero-fallback.jpg")) center/cover no-repeat}.study-index-hero__inner{box-sizing:border-box;width:min(var(--kf-layout-wide),calc(100% - (var(--kf-mobile-gutter)*2)));margin:0 auto;padding:48px var(--kf-layout-inset)}.study-index-hero__inner>p:first-child{margin:0 0 9px;color:#f2ddaa;font-size:.67rem;letter-spacing:.18em}.study-index-hero__inner>p:nth-child(2){margin:0 0 8px;color:rgba(255,253,247,.9);font-size:1.02rem;letter-spacing:.08em}.study-index-hero h1{margin:0;font-size:clamp(2.1rem,3.7vw,3.2rem);font-weight:500;letter-spacing:.055em}.study-index-hero__inner>p:last-child{margin:16px 0 0;color:rgba(255,255,255,.86);font-size:.9rem}.study-index-layout{width:min(var(--kf-layout-wide),calc(100% - (var(--kf-mobile-gutter)*2)));margin:48px auto 0}.study-index-article{overflow:hidden;border-radius:12px;background:rgba(255,255,253,.99)}
.study-index-intro{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:54px;padding:48px 56px;background:#f7f3e9}.study-index-intro>div>p:first-child,.study-index-future>p:first-child{margin:0 0 8px;color:var(--study-gold);font-size:.64rem;letter-spacing:.16em}.study-index-intro h2,.study-index-future h2{margin:0 0 14px;font-size:1.45rem;font-weight:600}.study-index-intro>div>p:last-child,.study-index-future>p:last-child{margin:0;color:var(--kf-color-ink-soft);font-size:.88rem;line-height:1.95}.study-index-intro nav{display:flex;flex-direction:column;justify-content:center;border-top:1px solid var(--study-line)}.study-index-intro nav a{display:flex;justify-content:space-between;padding:14px 4px;border-bottom:1px solid var(--study-line);color:var(--kf-color-ink);font-size:.86rem;text-decoration:none}.study-index-intro nav span{color:var(--study-gold)}
.study-index-chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 56px;background:#fffefb}.study-index-chapters>*{display:flex;min-height:102px;flex-direction:column;justify-content:center;padding:0 25px;border-right:1px solid var(--study-line);color:var(--kf-color-ink);text-decoration:none}.study-index-chapters>*:nth-child(3n+1){border-left:1px solid var(--study-line)}.study-index-chapters span{color:var(--study-gold);font-size:.75rem;letter-spacing:.12em}.study-index-chapters small{margin-top:3px;color:var(--kf-color-ink-soft);font-size:.68rem}.study-index-chapters div{color:var(--kf-color-ink-soft)}
.study-index-section{padding:68px 56px 0;scroll-margin-top:calc(var(--kf-sticky-header-height) + 22px)}.study-index-section>header{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding-bottom:22px;border-bottom:1px solid var(--study-line)}.study-index-section>header p{margin:0 0 5px;color:var(--study-gold);font-size:.75rem;letter-spacing:.16em}.study-index-section>header h2{margin:0;font-size:1.55rem;font-weight:600}.study-index-section>header h2 small{font-size:.65em;font-weight:400}.study-index-section>header strong{color:rgba(116,91,39,.46);font-size:1.9rem;font-weight:400;letter-spacing:.08em}.study-index-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;margin:0;padding:0;list-style:none;counter-reset:story 0}.study-index-list li{position:relative;counter-increment:story;padding-left:4.5rem;border-bottom:1px solid rgba(205,189,158,.55)}.study-index-list li::before{position:absolute;top:18px;left:0;color:var(--kf-color-ink);content:"第" counter(story) "話";font-size:.875rem;line-height:1.8;white-space:nowrap}.study-index-list a,.study-index-list__planned{display:block;padding:16px 0;color:#0d70b8;font-size:1rem;line-height:1.8;text-decoration:none}.study-index-list a:hover{color:#876a2d}.study-index-future{margin:68px 56px 0;padding:32px 36px 34px;border-radius:10px;background:var(--study-green)}

.study-index-list__planned {
  color: var(--kf-color-ink-soft);
}

.study-index-list--supplement li { padding-left: 0; }
.study-index-list--supplement li::before { content: none; }

.study-index-section--forthcoming > header strong {
  color: var(--kf-color-ink-soft);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
}

.study-index-section:last-child {
  padding-bottom: 56px;
}

.site-main .study-index .study-index-list li > a:not(.wp-block-button__link) {
  color: #0d70b8;
  text-decoration: none;
  text-decoration-line: none;
}

.site-main .study-index .study-index-list li > a:not(.wp-block-button__link):hover,
.site-main .study-index .study-index-list li > a:not(.wp-block-button__link):focus-visible {
  color: #876a2d;
  text-decoration: none;
  text-decoration-line: none;
}
/* Study-abroad series overview followed by the complete episode index. */
.study-index--overview .study-index-hero{min-height:390px}
.study-overview-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(1100px,calc(100% - (var(--kf-mobile-gutter)*2)));margin:0 auto;border-right:1px solid var(--study-line);border-bottom:1px solid var(--study-line);background:rgba(255,254,251,.98)}
.study-overview-nav a{display:flex;min-height:76px;flex-direction:column;justify-content:center;padding:0 24px;border-left:1px solid var(--study-line);color:var(--kf-color-ink);font-size:.88rem;text-align:center;text-decoration:none}
.study-overview-nav a small{margin:var(--kf-nav-english-margin, 7px 0 0);color:var(--study-gold);font-size:.58rem;letter-spacing:.13em}.study-overview-nav a.is-current{background:#eef0e8}
.study-overview-shell{width:min(1100px,calc(100% - (var(--kf-mobile-gutter)*2)));margin:0 auto}
.study-overview-introduction{display:grid;grid-template-columns:180px minmax(0,1fr);gap:44px;padding:64px 42px 76px}.study-overview-introduction>p{margin:8px 0 0;color:var(--study-gold);font-size:.62rem;letter-spacing:.15em}.study-overview-introduction>div{display:grid;grid-template-columns:380px minmax(0,1fr);gap:48px}.study-overview-introduction h2{margin:0;font-size:1.8rem;font-weight:500;letter-spacing:.055em;line-height:1.8}.study-overview-introduction>div>p{margin:3px 0 0;color:#5f5a51;line-height:2.1}
.study-overview-doors{margin-bottom:76px}.study-overview-doors>header{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:27px;padding-bottom:20px;border-bottom:1px solid var(--study-line)}.study-overview-doors>header>div>p{margin:0 0 6px;color:var(--study-gold);font-size:.65rem;letter-spacing:.15em}.study-overview-doors>header h2{margin:0;font-size:1.55rem;font-weight:500;letter-spacing:.055em}.study-overview-doors>header>p{margin:0;color:#6d675d;font-size:.875rem;line-height:1.8}
.study-overview-doors>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.study-overview-doors article{position:relative;display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid rgba(181,158,111,.45);border-top:3px solid #8c7648;background:rgba(255,254,251,.98)}.study-overview-doors article.is-current{border-top-color:#5f715f}.study-overview-doors article>header{min-height:0;padding:24px 25px 22px;background:linear-gradient(135deg,rgba(247,244,235,.97),rgba(255,254,251,.97))}.study-overview-doors article>header p{margin:0 0 8px;color:var(--study-gold);font-size:.58rem;letter-spacing:.13em}.study-overview-doors article>header h3{margin:0;font-size:1.25rem;font-weight:500;line-height:1.6}.study-overview-doors article>header h3 a{color:inherit;text-decoration:none}.study-overview-doors article>header h3 a::after{position:absolute;z-index:2;inset:0;content:""}.study-overview-doors article>header .study-overview-doors__lead{margin:7px 0 0;color:#777066;font-size:.8125rem;letter-spacing:normal;line-height:1.8}
.study-overview-doors figure{aspect-ratio:16/9;margin:0;overflow:hidden;background:#e8e4d9}.study-overview-doors figure img{display:block;width:100%;height:100%;object-fit:cover;transition:filter .45s ease,transform .45s ease}.study-overview-doors article:hover figure img{filter:brightness(1.04);transform:scale(1.018)}.study-overview-doors article>div{display:flex;min-height:172px;flex:1;flex-direction:column;padding:23px 25px}.study-overview-doors article>div>p{margin:0;color:#625d54;font-size:.875rem;line-height:1.9}.study-overview-doors article>div>.study-overview-doors__action{display:flex;justify-content:flex-end;text-align:right;gap:12px;margin-top:auto;padding-top:20px;color:#725f38;font-size:1rem;line-height:1.8}
.study-index--overview .study-index-layout{margin-top:0}.study-index-all-head{padding:54px 56px 30px;scroll-margin-top:calc(var(--kf-sticky-header-height) + 22px)}.study-index-all-head>p:first-child{margin:0 0 7px;color:var(--study-gold);font-size:.64rem;letter-spacing:.16em}.study-index-all-head h2{margin:0;font-size:1.65rem;font-weight:500;letter-spacing:.055em}.study-index-all-head>p:last-child{margin:12px 0 0;color:var(--kf-color-ink-soft);font-size:.84rem;line-height:1.9}
@media(max-width:900px){.study-overview-introduction{grid-template-columns:140px minmax(0,1fr);gap:32px;padding-inline:24px}.study-overview-introduction>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.study-overview-doors>div{grid-template-columns:1fr}.study-overview-doors article{display:grid;grid-template-columns:180px minmax(220px,.9fr) minmax(0,1.1fr)}.study-overview-doors article>header{min-height:0}.study-overview-doors figure{height:100%;aspect-ratio:auto}.study-overview-doors article>div{min-height:0}}
@media(max-width:680px){.study-index--overview .study-index-hero{min-height:300px}.study-overview-nav{grid-template-columns:1fr;width:calc(100% - 28px)}.study-overview-nav a{min-height:68px;border-top:1px solid var(--study-line)}.study-overview-shell{width:calc(100% - 28px)}.study-overview-introduction{grid-template-columns:1fr;gap:18px;padding:44px 8px 56px}.study-overview-introduction>div{grid-template-columns:1fr;gap:16px}.study-overview-introduction h2 br{display:none}.study-overview-doors{margin-bottom:54px}.study-overview-doors>header{display:block}.study-overview-doors>header>p{margin:12px 0 0}.study-overview-doors article{display:flex}.study-overview-doors article>header{padding:22px 23px 20px}.study-overview-doors figure{height:auto;aspect-ratio:16/9}.study-overview-doors article>div{padding:23px}.study-index-all-head{padding:40px 24px 20px}}
@media(max-width:1209px){.study-post-layout{grid-template-columns:minmax(0,var(--kf-layout-main));justify-content:center}.study-sidebar{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-height:none;overflow:visible}.study-sidebar__panel+.study-sidebar__panel{margin-top:0}}
@media(min-width:761px){.study-post-hero h1{max-width:none;font-size:var(--study-hero-title-size,clamp(2.15rem,3.7vw,3.2rem))}.study-post-hero h1[data-title-fit]{white-space:nowrap}}
@media(max-width:760px){.study-post .page-breadcrumb,.study-index .page-breadcrumb{padding:16px 20px}.study-post-hero{min-height:300px;background-position:55% center}.study-post-hero__inner{padding:40px 28px}.study-post-hero h1{font-size:2rem}.study-post-layout{width:calc(100% - 28px);margin-top:20px}.study-post-article{padding:34px 22px}.study-post-cover{margin-bottom:32px}.study-post-content>p:first-child{margin-bottom:34px;font-size:1.05rem}.study-post-content h2,.study-post-content h3{margin-top:48px}.study-chapter-nav{grid-template-columns:1fr;margin-top:48px}.study-chapter-nav>a:last-child{text-align:left}.study-post-author{grid-template-columns:70px minmax(0,1fr);margin-top:48px;padding:22px}.study-post-author img{width:70px;height:70px}.study-sidebar{display:none}.study-index-hero{min-height:300px;background-image:var(--study-hero-overlay),var(--study-index-mobile-image,var(--study-index-image,url("../images/study-abroad-hero-fallback.jpg")))}.study-index-hero__inner{padding:42px 28px}.study-index-layout{width:calc(100% - 28px);margin-top:24px}.study-index-intro{grid-template-columns:1fr;gap:28px;padding:34px 24px}.study-index-chapters{grid-template-columns:1fr;padding:0 24px}.study-index-chapters>*{min-height:82px;border-right:0;border-bottom:1px solid var(--study-line)}.study-index-chapters>*:nth-child(3n+1){border-left:0}.study-index-section{padding:52px 24px 0}.study-index-section>header{align-items:flex-start}.study-index-section>header strong{font-size:1.2rem}.study-index-section>header h2{font-size:1.35rem}.study-index-list{grid-template-columns:1fr}.study-index-future{margin:52px 24px 34px;padding:28px 24px}}


/* Beijing arrival: keep the hazy aerial photograph visible behind the title. */
body.postid-506 .study-post-hero {
  --study-hero-overlay: linear-gradient(90deg, rgba(25,29,26,.24) 0%, rgba(35,39,35,.12) 40%, rgba(35,39,35,.02) 65%, rgba(35,39,35,0) 100%);
}

/* Journal headers: opt in per article while reviewing the new image treatment. */

.study-post--responsive .study-post-hero{position:relative;isolation:isolate;overflow:hidden;background:none}
.study-post--responsive .study-post-hero::before{position:absolute;inset:-1px;z-index:-2;content:"";background:var(--study-hero-image) var(--study-hero-position,center 62%)/cover no-repeat;filter:var(--study-hero-filter,none)}
.study-post--responsive .study-post-hero::after{position:absolute;inset:0;z-index:-1;content:"";background:var(--study-hero-overlay)}
@media(max-width:760px){
  .study-post .page-breadcrumb{box-sizing:border-box;width:calc(100% - 28px);min-height:48px;padding:10px 6px;gap:4px 10px;align-items:center}
  .study-post .page-breadcrumb>*+*::before{margin-right:10px}
  
  
  
  .study-post--responsive .study-post-hero{min-height:260px}
  .study-post--responsive .study-post-hero::before{--study-hero-blur:var(--study-hero-mobile-blur,0px);background-image:var(--study-hero-mobile-image,var(--study-hero-image));background-position:var(--study-hero-mobile-position,var(--study-hero-position,center 55%))}
  
  .study-post--responsive .study-post-hero__inner{padding:32px 18px}
}

/* Chinese-experience overview: four distinct editorial collections. */
.kf-reportage-hub>.kf-breadcrumb{box-sizing:border-box;width:min(1200px,calc(100% - (var(--kf-mobile-gutter)*2)));margin:0 auto;padding:20px 0}.kf-reportage-hub__hero{display:flex;min-height:390px;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(31,37,34,.76),rgba(43,47,43,.36)),var(--reportage-hero-image) center 42%/cover no-repeat}.kf-reportage-hub__hero>div{box-sizing:border-box;width:min(1200px,calc(100% - (var(--kf-mobile-gutter)*2)));margin:0 auto;padding:58px 72px}.kf-reportage-hub__hero p:first-child{margin:0 0 15px;color:#efdcae;font-size:.66rem;letter-spacing:.18em}.kf-reportage-hub__hero h1{margin:0;font-size:clamp(2.5rem,4.2vw,4rem);font-weight:500;letter-spacing:.08em}.kf-reportage-hub__hero p:last-child{margin:18px 0 0;color:rgba(255,255,255,.88);font-size:1rem;letter-spacing:.07em}.kf-reportage-hub__shell{width:min(1100px,calc(100% - (var(--kf-mobile-gutter)*2)));margin:0 auto}.kf-reportage-hub__introduction{display:grid;grid-template-columns:180px minmax(0,1fr);gap:44px;padding:72px 42px 80px}.kf-reportage-hub__introduction>p{margin:8px 0 0;color:var(--kf-color-bronze);font-size:.62rem;letter-spacing:.15em}.kf-reportage-hub__introduction>div{display:grid;grid-template-columns:minmax(330px,.9fr) minmax(0,1.1fr);gap:58px}.kf-reportage-hub__introduction h2{margin:0;font-size:1.85rem;font-weight:500;letter-spacing:.055em;line-height:1.75}.kf-reportage-hub__introduction>div>p{margin:3px 0 0;color:var(--kf-color-ink-soft);font-size:.9rem;line-height:2.1}.kf-reportage-hub__collections>header{display:flex;align-items:end;justify-content:space-between;margin-bottom:28px;border-bottom:1px solid var(--kf-color-line)}.kf-reportage-hub__collections>header>div>p{margin:0 0 6px;color:var(--kf-color-bronze);font-size:.65rem;letter-spacing:.15em}.kf-reportage-hub__collections>header h2{margin:0;padding-bottom:12px;border-bottom:3px solid var(--kf-color-bronze);font-size:1.55rem;font-weight:500;letter-spacing:.055em}.kf-reportage-hub__collections>header>p{margin:0 0 14px;color:var(--kf-color-ink-soft);font-size:.82rem}.kf-reportage-hub__collections>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}.kf-reportage-hub__collections article{position:relative;display:flex;flex-direction:column;min-height:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--kf-color-line) 84%,transparent);border-top:3px solid color-mix(in srgb,var(--kf-color-bronze) 78%,#fff);background:rgba(255,254,251,.98)}.kf-reportage-hub__collections figure{flex:none;min-height:0;aspect-ratio:3/2;margin:0;overflow:hidden;background:#e6e4dd}.kf-reportage-hub__collections img{display:block;width:100%;height:100%;object-fit:cover;transition:filter .45s ease}.kf-reportage-hub__collections article>div{display:flex;flex:1;min-width:0;min-height:218px;flex-direction:column;padding:28px 27px 25px}.kf-reportage-hub__collections h3{margin:0;font-size:clamp(1.25rem,2vw,1.5rem);font-weight:500;line-height:1.65}.kf-reportage-hub__collections h3 a{color:inherit;text-decoration:none}.kf-reportage-hub__collections h3 a::after{position:absolute;z-index:2;inset:0;content:""}.kf-reportage-hub__collections article>div>p{margin:16px 0 0;color:var(--kf-color-ink-soft);font-size:.78rem;line-height:1.9}.kf-reportage-hub__collections article>div>span{display:flex;justify-content:space-between;margin-top:auto;color:#725f38;font-size:.75rem}.kf-reportage-hub__collections article:hover img{filter:brightness(1.04)}.kf-reportage-hub__collections article:hover{border-top-color:#6f7d69}.kf-reportage-hub__reference{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:36px;align-items:center;margin-top:38px;padding:29px 34px;border:1px solid color-mix(in srgb,var(--kf-color-line) 82%,transparent);background:#f5f4ee}.kf-reportage-hub__reference>div>p{margin:0 0 5px;color:var(--kf-color-bronze);font-size:.59rem;letter-spacing:.14em}.kf-reportage-hub__reference h2{margin:0;font-size:1.1rem;font-weight:500}.kf-reportage-hub__reference>p{margin:0;color:var(--kf-color-ink-soft);font-size:.8rem;line-height:1.85}.kf-reportage-hub__reference>a{padding:12px 20px;border:1px solid var(--kf-color-line);color:#67542e;font-size:.78rem;text-decoration:none;white-space:nowrap}.kf-reportage-hub__reference>a span{margin-left:28px}
@media(max-width:900px){.kf-reportage-hub__introduction{grid-template-columns:140px minmax(0,1fr);gap:30px;padding-inline:24px}.kf-reportage-hub__introduction>div{grid-template-columns:1fr;gap:24px}.kf-reportage-hub__reference{grid-template-columns:1fr auto}.kf-reportage-hub__reference>div{grid-column:1/-1}}
@media(max-width:680px){.kf-reportage-hub>.kf-breadcrumb{width:100%;padding:16px 20px}.kf-reportage-hub__hero{min-height:300px;background-position:56% center}.kf-reportage-hub__hero>div{width:100%;padding:48px 28px}.kf-reportage-hub__hero h1{font-size:2.35rem}.kf-reportage-hub__shell{width:calc(100% - 28px)}.kf-reportage-hub__introduction{grid-template-columns:1fr;gap:18px;padding:46px 8px 58px}.kf-reportage-hub__introduction>div{gap:17px}.kf-reportage-hub__introduction h2 br{display:none}.kf-reportage-hub__collections>header{display:block}.kf-reportage-hub__collections>header>p{margin-bottom:15px}.kf-reportage-hub__collections>div{grid-template-columns:1fr;gap:18px}.kf-reportage-hub__collections article>div{padding:24px}.kf-reportage-hub__reference{grid-template-columns:1fr;gap:18px;padding:26px 23px}.kf-reportage-hub__reference>div{grid-column:auto}.kf-reportage-hub__reference>a{text-align:center}}

/* Front page: use one 1200px outer frame without breaking the decorative rail. */
@media (min-width: 761px) {
  .kf-world-grammar-preview .kf-hero-facts__grid {
    width: min(1200px, calc(100% - (var(--kf-mobile-gutter) * 2)));
    max-width: 1200px;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .kf-world-grammar-preview .kf-classes__inner {
    width: min(1200px, calc(100% - (var(--kf-mobile-gutter) * 2)));
  }
}

/*
 * Unified navigation sidebars.
 * The Chinese-reportage sidebar is the visual standard for fixed pages,
 * ordinary posts, practice-place posts and study-abroad journal posts.
 * Content callouts inside articles are intentionally excluded.
 */
:is(
  .kf-page-context-sidebar__panel,
  .kf-post-sidebar__panel,
  .practice-sidebar__panel,
  .study-sidebar__panel
) {
  box-sizing: border-box;
  padding: 26px 22px 18px;
  border: 1px solid color-mix(in srgb, var(--kf-color-line) 72%, transparent);
  border-radius: 12px;
  background: color-mix(in srgb, var(--kf-color-surface) 97%, transparent);
}

:is(
  .kf-page-context-sidebar__panel,
  .kf-post-sidebar__panel,
  .practice-sidebar__panel,
  .study-sidebar__panel
) + :is(
  .kf-page-context-sidebar__panel,
  .kf-post-sidebar__panel,
  .practice-sidebar__panel,
  .study-sidebar__panel
) {
  margin-top: 24px;
}

.kf-page-context-sidebar__panel > p,
.kf-post-sidebar__eyebrow,
.practice-sidebar__eyebrow,
.study-sidebar__panel > header > p {
  margin: 0 0 4px;
  color: var(--kf-color-bronze);
  font-family: var(--wp--preset--font-family--sans);
  font-size: 0.62rem;
  font-weight: 400;
  letter-spacing: 0.14em;
  line-height: 1.5;
}

.study-sidebar__panel > header {
  padding: 0;
}

.kf-page-context-sidebar__panel h2,
.kf-post-sidebar__title,
.practice-sidebar__panel h2,
.study-sidebar__panel > header h2 {
  position: relative;
  margin: 0 0 4px;
  padding: 0 0 13px;
  border-bottom: 1px solid var(--kf-color-line);
  color: var(--kf-color-ink);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

.kf-page-context-sidebar__panel h2::after,
.kf-post-sidebar__title::after,
.practice-sidebar__panel h2::after,
.study-sidebar__panel > header h2::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 96px;
  height: 1px;
  background: var(--kf-color-bronze);
  content: "";
}

:is(.kf-page-context-sidebar, .kf-post-sidebar, .practice-sidebar, .study-sidebar) :is(ul, ol) {
  margin: 0;
  padding: 0;
  list-style: none;
}

:is(.kf-page-context-sidebar, .kf-post-sidebar, .practice-sidebar, .study-sidebar) li {
  margin: 0;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--kf-color-line-strong) 55%, transparent);
}

:is(.kf-page-context-sidebar, .kf-post-sidebar, .practice-sidebar, .study-sidebar) li:last-child {
  border-bottom: 0;
}

.site-main :is(.kf-page-context-sidebar, .kf-post-sidebar, .practice-sidebar, .study-sidebar) nav li > a:not(.wp-block-button__link) {
  position: static;
  display: block;
  padding: 12px 10px;
  border: 0;
  background: transparent;
  color: var(--kf-color-ink-soft);
  font-size: 0.85rem;
  font-weight: 400;
  line-height: 1.65;
  text-decoration: none;
  text-decoration-line: none;
  text-decoration-color: transparent;
  box-shadow: none;
  transition: color 160ms ease, background-color 160ms ease;
}

.site-main :is(.kf-page-context-sidebar, .kf-post-sidebar, .practice-sidebar, .study-sidebar) nav li > a:not(.wp-block-button__link)::before {
  content: none;
}

.site-main :is(.kf-page-context-sidebar, .kf-post-sidebar, .practice-sidebar, .study-sidebar) nav li > a:not(.wp-block-button__link):hover,
.site-main :is(.kf-page-context-sidebar, .kf-post-sidebar, .practice-sidebar, .study-sidebar) nav li > a:not(.wp-block-button__link):focus-visible {
  color: var(--kf-color-bronze);
  text-decoration: none;
  text-decoration-line: none;
}

.site-main :is(.kf-page-context-sidebar, .kf-post-sidebar, .practice-sidebar, .study-sidebar) nav li > a:not(.wp-block-button__link):is(.is-current, [aria-current="page"]) {
  border-left: 0;
  background: color-mix(in srgb, var(--kf-color-bronze) 6%, var(--kf-color-surface));
  color: var(--kf-color-ink);
  font-weight: 400;
  box-shadow: none;
}

/* Keep the journal chapter accordion functional while matching its typography. */
.study-sidebar__chapter {
  border-top: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--kf-color-line-strong) 55%, transparent);
}

.study-sidebar__chapter:last-child {
  border-bottom: 0;
}

.study-sidebar__chapter summary {
  padding: 14px 13px 14px 15px;
  border-left: 3px solid var(--kf-color-bronze);
  background: color-mix(in srgb, var(--study-green, #eef0e8) 72%, var(--kf-color-surface));
  color: var(--kf-color-ink);
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.65;
}

.study-sidebar__chapter[open] summary {
  border-bottom: 1px solid color-mix(in srgb, var(--kf-color-line-strong) 62%, transparent);
  background: color-mix(in srgb, var(--study-green, #eef0e8) 92%, var(--kf-color-surface));
}

.study-sidebar__chapter nav {
  padding: 5px 10px 8px 16px;
  background: var(--kf-color-surface);
}

.study-sidebar__chapter nav a {
  padding: 10px 7px;
  font-size: 0.79rem;
}

.study-sidebar__panel--contents > .study-sidebar__chapter:first-of-type {
  margin-top: 10px;
}

.study-sidebar__panel--contents > .study-sidebar__chapter + .study-sidebar__chapter {
  margin-top: 8px;
}

.study-sidebar__series > ul {
  margin: 0 0 2px;
  padding: 0 0 0 12px;
}

.site-main .study-sidebar .study-sidebar__series > ul a:not(.wp-block-button__link) {
  padding: 9px 10px;
  font-size: 0.79rem;
}

.study-sidebar__chapter > ul {
  margin: 0;
  padding: 0;
}

.study-sidebar__planned {
  display: block;
  padding: 11px 10px 11px 18px;
  color: color-mix(in srgb, var(--kf-color-ink-soft) 72%, transparent);
  font-size: 0.78rem;
  line-height: 1.65;
}

@media (max-width: 1209px) {
  :is(
    .kf-page-context-sidebar__panel,
    .kf-post-sidebar__panel,
    .practice-sidebar__panel,
    .study-sidebar__panel
  ) + :is(
    .kf-page-context-sidebar__panel,
    .kf-post-sidebar__panel,
    .practice-sidebar__panel,
    .study-sidebar__panel
  ) {
    margin-top: 0;
  }
}

@media (max-width: 760px) {
  .kf-post-sidebar__panel + .kf-post-sidebar__panel {
    margin-top: 24px;
  }
}

@media (max-width: 680px) {
  .practice-sidebar__panel + .practice-sidebar__panel {
    margin-top: 24px;
  }
}

/* Final study-abroad sidebar: quiet chapter tabs and a compact bullet list. */
.study-sidebar__panel--contents > .study-sidebar__chapter {
  margin-top: 7px;
  border: 0;
}

.study-sidebar__panel--contents > .study-sidebar__chapter:first-of-type {
  margin-top: 8px;
}

.study-sidebar__chapter summary,
.study-sidebar__chapter[open] summary {
  padding: 13px 14px;
  border: 0;
  background: #f4f4f2;
  color: var(--kf-color-ink);
  font-size: 0.88rem;
  font-weight: 600;
}

.study-sidebar__chapter summary::after {
  width: 0;
  height: 0;
  border-top: 5px solid #343330;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  color: transparent;
  content: "";
}

.study-sidebar__chapter[open] summary::after {
  border-top: 0;
  border-right: 4px solid transparent;
  border-bottom: 5px solid #343330;
  border-left: 4px solid transparent;
  content: "";
}

.study-sidebar__chapter nav {
  padding: 9px 8px 12px 14px;
  background: var(--kf-color-surface);
}

.study-sidebar__chapter nav ul {
  list-style: none;
}

.study-sidebar__chapter > ul {
  padding: 9px 8px 12px 14px;
  list-style: none;
}

.study-sidebar__chapter nav li,
.study-sidebar__chapter > ul > li {
  display: list-item;
  position: relative;
  margin: 0;
  border: 0;
}

.study-sidebar__chapter nav li::before,
.study-sidebar__chapter > ul > li::before {
  position: absolute;
  top: 0.82em;
  left: -3px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #8e887d;
  content: "";
}

.study-sidebar__planned {
  padding: 3px 3px 3px 11px;
  font-size: 0.85rem;
  line-height: 1.55;
}

.site-main .study-sidebar__chapter nav li > a:not(.wp-block-button__link) {
  padding: 3px 3px 3px 11px;
  border: 0;
  color: #0d70b8;
  font-size: 0.85rem;
  line-height: 1.55;
}

.site-main .study-sidebar__chapter nav li > a:not(.wp-block-button__link).is-current {
  margin: 0;
  padding: 3px 3px 3px 11px;
  border: 0;
  background: transparent;
  color: #c45a65;
  font-weight: 600;
}

.study-sidebar__chapter nav li:has(> a.is-current) {
  margin-left: 0;
  padding-left: 0;
  background: transparent;
}

/* Final shared sidebar for latest-news posts. */

.news-post-layout {
  display: grid;
  grid-template-columns: minmax(0, var(--kf-layout-main)) minmax(280px, var(--kf-layout-sidebar));
  gap: var(--kf-layout-column-gap);
  align-items: start;
  width: min(var(--kf-layout-with-sidebar), calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin: 48px auto 0;
}

.news-post-layout .news-post-article {
  width: auto;
  margin: 0;
}

@media (max-width: 1209px) {
  .news-post-layout {
    grid-template-columns: minmax(0, var(--kf-layout-main));
    justify-content: center;
  }
}

@media (max-width: 760px) {
  .news-post-layout {
    width: calc(100% - 28px);
    margin-top: 38px;
  }

  .news-post-layout .news-post-article {
    width: auto;
    margin: 0;
  }
}

/* Shared structure for the two four-area overview pages. */
.life-archive .page-breadcrumb,
.kf-reportage-hub > .kf-breadcrumb {
  box-sizing: border-box;
  width: min(1100px, calc(100% - 48px));
  margin: 0 auto;
  padding: 24px 0 20px;
}

.life-masthead,
.kf-reportage-hub__hero {
  height: 390px;
  min-height: 390px;
}

.kf-reportage-hub__hero > div {
  display: flex;
  box-sizing: border-box;
  width: min(1100px, calc(100% - 48px));
  height: 100%;
  margin: 0 auto;
  flex-direction: column;
  justify-content: center;
  padding: 64px 48px;
}

.kf-reportage-hub__hero p:first-child {
  margin: 0 0 12px;
  font-size: 0.7rem;
  letter-spacing: 0.19em;
}

.kf-reportage-hub__hero h1 {
  max-width: 520px;
  margin: 0;
  font-size: clamp(2.15rem, 3.6vw, 2.9rem);
  font-weight: 500;
  letter-spacing: 0.065em;
  line-height: 1.45;
}

.kf-reportage-hub__hero p:last-child {
  max-width: 29em;
  margin: 23px 0 0;
  font-size: 1rem;
  letter-spacing: 0.04em;
}

.kf-section-nav--english-first{--kf-nav-english-margin:0 0 5px;}
.kf-hub-mobile-nav {
  display: none;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: min(1100px, calc(100% - 48px));
  margin: 0 auto;
  border: 1px solid var(--kf-color-line);
  background: rgba(255, 254, 250, 0.96);
}

.kf-hub-mobile-nav a {
  display: flex;
  min-height: 76px;
  flex-direction: column;
  justify-content: center;
  padding: 15px 20px;
  color: var(--kf-color-ink-soft);
  font-size: 0.82rem;
  text-align: center;
}

.kf-hub-mobile-nav a + a {
  border-left: 1px solid var(--kf-color-line);
}

.kf-reportage-hub__shell {
  width: min(1100px, calc(100% - 48px));
}

.kf-reportage-hub__introduction {
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 44px;
  min-height: 171px;
  margin: 0 0 78px;
  padding: 64px 42px 0;
}

.kf-reportage-hub__introduction > div {
  grid-template-columns: 380px minmax(0, 1fr);
  gap: 48px;
}

.kf-reportage-hub__introduction h2 {
  font-size: 1.8rem;
  line-height: 1.8;
}

.kf-reportage-hub__introduction > div > p {
  line-height: 2.1;
}

@media (max-width: 900px) {
  .life-masthead,
  .kf-reportage-hub__hero {
    height: 350px;
    min-height: 350px;
  }

  .kf-reportage-hub__hero > div {
    padding: 48px 36px;
  }

  .kf-hub-mobile-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kf-hub-mobile-nav a:nth-child(3) {
    border-top: 1px solid var(--kf-color-line);
    border-left: 0;
  }

  .kf-hub-mobile-nav a:nth-child(4) {
    border-top: 1px solid var(--kf-color-line);
  }

  .kf-reportage-hub__introduction {
    grid-template-columns: 140px minmax(0, 1fr);
    gap: 32px;
    padding-inline: 24px;
  }

  .kf-reportage-hub__introduction > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
  }
}

@media (max-width: 680px) {
  .life-archive .page-breadcrumb,
  .kf-reportage-hub > .kf-breadcrumb {
    width: calc(100% - 28px);
    padding: 18px 6px 16px;
  }

  .life-masthead,
  .kf-reportage-hub__hero {
    height: 300px;
    min-height: 300px;
  }

  .kf-reportage-hub__hero > div {
    width: calc(100% - 28px);
    padding: 36px 20px;
  }

  .kf-reportage-hub__hero h1 {
    font-size: 2rem;
  }

  .kf-reportage-hub__hero p:last-child {
    font-size: 0.88rem;
  }

  .kf-hub-mobile-nav {
    display: grid;
    grid-template-columns: 1fr;
    width: calc(100% - 28px);
  }

  .kf-hub-mobile-nav a + a,
  .kf-hub-mobile-nav a:nth-child(4) {
    border-top: 1px solid var(--kf-color-line);
    border-left: 0;
  }

  .kf-reportage-hub__shell {
    width: calc(100% - 28px);
  }

  .kf-reportage-hub__introduction {
    grid-template-columns: 1fr;
    gap: 18px;
    min-height: 0;
    margin-bottom: 56px;
    padding: 44px 8px 0;
  }

  .kf-reportage-hub__introduction > div {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .kf-reportage-hub__introduction h2 br {
    display: none;
  }
}

/* Canonical link treatment; explicit notice links retain their approved underline. */

html a:any-link:not(.kf-sample-notice__link, .kf-sample-text-link--inline, .study-reading-return a, :where(:is(body.kf-reference-reading, .kf-reference-design-sample) :is(.entry-content, .kf-reference-person-content, .kf-reference-form-content) > :is(p, ul, ol) a:not(:has(img)))),
html a:any-link:not(.kf-sample-notice__link, .kf-sample-text-link--inline, .study-reading-return a, :where(:is(body.kf-reference-reading, .kf-reference-design-sample) :is(.entry-content, .kf-reference-person-content, .kf-reference-form-content) > :is(p, ul, ol) a:not(:has(img)))):hover,
html a:any-link:not(.kf-sample-notice__link, .kf-sample-text-link--inline, .study-reading-return a, :where(:is(body.kf-reference-reading, .kf-reference-design-sample) :is(.entry-content, .kf-reference-person-content, .kf-reference-form-content) > :is(p, ul, ol) a:not(:has(img)))):focus,
html a:any-link:not(.kf-sample-notice__link, .kf-sample-text-link--inline, .study-reading-return a, :where(:is(body.kf-reference-reading, .kf-reference-design-sample) :is(.entry-content, .kf-reference-person-content, .kf-reference-form-content) > :is(p, ul, ol) a:not(:has(img)))):focus-visible {
  text-decoration: none !important;
  text-decoration-line: none !important;
}

/* Local-only body design guide. All selectors stay inside this page. */

.kf-body-guide {
  color: var(--kf-color-ink);
}

.kf-body-guide > .kf-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
  padding: 22px 0 20px;
  color: var(--kf-color-ink-soft);
  font-size: 0.82rem;
}

.kf-body-guide > .kf-breadcrumb > * + *::before {
  margin-right: 18px;
  color: var(--kf-color-line-strong);
  content: "/";
}

.kf-body-guide__hero {
  min-height: 280px;
  display: grid;
  place-items: center;
  border-block: 1px solid var(--kf-color-line);
  background:
    linear-gradient(90deg, rgba(255, 253, 248, 0.96), rgba(247, 243, 233, 0.88)),
    url("../images/official-wallpaper-wp.jpg") repeat;
  text-align: center;
}

.kf-body-guide__hero > div {
  width: min(860px, calc(100% - 48px));
  padding: 52px 24px;
}

.kf-body-guide__hero p:first-child,
.kf-body-guide__section-title > p,
.kf-body-guide__sample > header p,
.kf-body-guide__wide-sample > header p,
.kf-body-guide__intro > p,
.kf-body-guide__decision > p:first-child,
.kf-sample-heading-b2 > p,
.kf-sample-heading-b3 > p,
.kf-sample-image-heading p,
.kf-sample-media > div > p {
  margin: 0;
  color: var(--kf-color-bronze);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.72rem;
  letter-spacing: 0.18em;
}

.kf-body-guide__hero h1 {
  margin: 16px 0 18px;
  font-size: clamp(2.15rem, 5vw, 3.5rem);
  font-weight: 400;
  letter-spacing: 0.08em;
}

.kf-body-guide__hero p:last-child {
  margin: 0;
  color: var(--kf-color-ink-soft);
  font-size: 0.98rem;
  line-height: 2;
}

.kf-body-guide__shell {
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
  padding: 72px 0 0;
}

.kf-body-guide__intro {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 48px;
  margin-bottom: 88px;
  padding: 40px 48px;
  border: 1px solid var(--kf-color-line);
  border-radius: 12px;
  background: rgba(255, 253, 248, 0.92);
}

.kf-body-guide__intro h2,
.kf-body-guide__decision h2 {
  margin: 0 0 14px;
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 400;
  letter-spacing: 0.06em;
}

.kf-body-guide__intro div > p,
.kf-body-guide__decision > p:last-child {
  margin: 0;
  color: var(--kf-color-ink-soft);
  line-height: 2;
}

.kf-body-guide__section {
  margin-top: 96px;
}

.kf-body-guide__section-title {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr) auto;
  align-items: end;
  gap: 24px;
  margin-bottom: 30px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--kf-color-line-strong);
}

.kf-body-guide__section-title h2 {
  margin: 0;
  font-size: clamp(1.8rem, 3vw, 2.35rem);
  font-weight: 400;
  letter-spacing: 0.08em;
}

.kf-body-guide__section-title > span {
  color: var(--kf-color-ink-soft);
  font-size: 0.82rem;
}

.kf-body-guide__comparison {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  margin-top: 28px;
}

.kf-body-guide__sample,
.kf-body-guide__wide-sample {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--kf-color-line);
  border-radius: 12px;
  background: rgba(255, 253, 248, 0.94);
}

.kf-body-guide__sample > header,
.kf-body-guide__wide-sample > header {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 18px 24px;
  border-bottom: 1px solid var(--kf-color-line);
  background: color-mix(in srgb, var(--kf-color-paper) 44%, white);
}

.kf-body-guide__sample > header > b {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: var(--kf-color-ink-soft);
  color: white;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
}

.kf-body-guide__sample > header h3,
.kf-body-guide__wide-sample > header h3 {
  margin: 3px 0 0;
  font-size: 1rem;
  font-weight: 400;
}

.kf-body-guide__canvas,
.kf-body-guide__wide-sample > :not(header) {
  padding: 32px;
}

.kf-body-guide__canvas > p,
.kf-sample-copy > p {
  color: var(--kf-color-ink-soft);
  line-height: 1.9;
}

.kf-body-guide__canvas > p + h3,
.kf-body-guide__canvas > p + .kf-sample-heading-b3 {
  margin-top: 42px;
}

.kf-body-guide__canvas > p + h4 {
  margin-top: 34px;
}

.kf-sample-heading-a2 {
  margin: 0 0 20px;
  padding: 0 0 14px 18px;
  border-bottom: 1px solid var(--kf-color-line-strong);
  border-left: 4px solid var(--kf-color-bronze);
  font-size: var(--kf-body-h2-size);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: var(--kf-body-h2-line-height);
}

.kf-sample-heading-a3 {
  margin: 0 0 18px;
  padding: 12px 16px;
  border-left: 3px solid var(--kf-color-line-strong);
  background: var(--kf-gold-050);
  font-size: 1.35rem;
  font-weight: 500;
}

.kf-sample-heading-a4 {
  position: relative;
  margin: 0 0 15px;
  padding-left: 18px;
  font-size: 1.05rem;
  font-weight: 600;
}

.kf-sample-heading-a4::before {
  position: absolute;
  top: 0.62em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--kf-color-bronze);
  content: "";
}

/* Both adopted B heading formats use the same compact eyebrow rhythm. */
.kf-sample-heading-b2 > p,
.kf-sample-heading-b3 > p {
  line-height: var(--kf-heading-eyebrow-line-height);
}

.kf-sample-heading-b2 {
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--kf-color-line-strong);
}

.kf-sample-heading-b2 h2 {
  margin: var(--kf-heading-eyebrow-gap) 0 0;
  font-size: var(--kf-body-h2-size);
  font-weight: 400;
  letter-spacing: 0.12em;
  line-height: var(--kf-body-h2-line-height);
}

/* The reading companion and blueprint share the adopted B small-heading scale. */
.kf-sample-heading-b3,
.study-post--reading {
  --kf-body-h3-size: 1.42rem;
  --kf-body-h3-line-height: 1.4;
}

.kf-sample-heading-b3 {
  margin-bottom: 20px;
}

.kf-sample-heading-b3 h3 {
  margin: var(--kf-heading-eyebrow-gap) 0 0;
  font-size: var(--kf-body-h3-size);
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: var(--kf-body-h3-line-height);
}

.kf-sample-heading-b4 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 15px;
  font-size: 1.05rem;
  font-weight: 400;
  letter-spacing: 0.08em;
}

.kf-sample-heading-b4::after {
  width: 54px;
  height: 1px;
  background: var(--kf-color-line-strong);
  content: "";
}

/* Opt-in B reading rhythm, including imported two-column content. */
.kf-body-heading-rhythm > .kf-sample-heading-b2 {
  margin: 64px 0 24px;
}

/* The shared wrapper owns the single rule; remove the imported H2 rule. */
.kf-body-heading-rhythm > .kf-sample-heading-b2 > h2 {
  padding: 0;
  border: 0;
  background: transparent;
}

.kf-body-heading-rhythm > .kf-sample-heading-b3 {
  margin: 40px 0 20px;
}

.kf-body-heading-rhythm > .kf-sample-heading-b2 + .kf-sample-heading-b3 {
  margin-top: 24px;
}

.kf-body-heading-rhythm > .kf-sample-heading-b3 > h3 {
  font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.42rem);
  line-height: 1.5;
}

.kf-body-heading-rhythm > :is(.kf-sample-heading-b2, .kf-sample-heading-b3) + .swell-block-columns {
  margin-top: 24px;
}

.kf-body-heading-rhythm .swell-block-column > :first-child {
  margin-top: 0;
}

.kf-body-heading-rhythm .swell-block-column > :last-child {
  margin-bottom: 0;
}

.kf-body-heading-rhythm .swell-block-column .wp-block-image img {
  width: 100%;
  height: auto;
  margin-inline: 0;
}

.kf-body-heading-rhythm > :first-child {
  margin-top: 0;
}

@media (max-width: 760px) {
  .kf-body-heading-rhythm > .kf-sample-heading-b2:not(:first-child) {
    margin-top: 40px;
  }
}

/* Adopted B heading for rendered article sections outside the reference hub. */
.entry-content > .kf-site-heading-b,
.kf-blueprint-content > .kf-site-heading-b,
.kf-content-section > .kf-site-heading-b {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  margin: 66px 0 25px;
  padding: 0 0 16px;
  border: 0;
  border-bottom: 1px solid var(--kf-color-line-strong);
  background: transparent;
  color: var(--kf-color-ink);
  font-size: var(--kf-body-h2-size);
  font-weight: 400;
  letter-spacing: 0.12em;
  line-height: var(--kf-body-h2-line-height);
  text-align: left;
}

.entry-content > .kf-site-heading-b::before,
.kf-blueprint-content > .kf-site-heading-b::before,
.kf-content-section > .kf-site-heading-b::before {
  display: block;
  margin: 0 0 var(--kf-heading-eyebrow-gap);
  color: var(--kf-color-bronze);
  content: attr(data-kf-en);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.68rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  line-height: var(--kf-heading-eyebrow-line-height);
}

.entry-content > .kf-site-heading-b::after,
.kf-blueprint-content > .kf-site-heading-b::after,
.kf-content-section > .kf-site-heading-b::after {
  display: none;
  content: none;
}

/* Shared opt-in chronology: date, event title, then unchanged narrative. */
.kf-blueprint-content .kf-chronology {
  margin: 0 0 32px;
  padding: 0 0 0 12px;
  list-style: none;
}

.kf-chronology > li {
  position: relative;
  margin: 0;
  padding: 0 0 32px 28px;
  border-left: 1px solid var(--kf-color-line-strong);
}

.kf-blueprint-content .kf-chronology > li + li {
  margin-top: 0;
}

.kf-chronology > li:last-child {
  padding-bottom: 0;
  border-color: transparent;
}

.kf-chronology > li::before {
  position: absolute;
  top: 0.55em;
  left: -5px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--kf-color-bronze);
  content: "";
}

.kf-chronology .kf-chronology__date {
  margin: 0 0 6px;
  color: var(--kf-color-bronze);
  font-size: 0.9rem;
  font-variant-numeric: tabular-nums;
  line-height: 1.6;
}

.kf-chronology > li > h3 {
  margin: 0 0 10px;
  padding: 0;
  border: 0;
  background: none;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
}

.kf-chronology .kf-chronology__description {
  margin: 0;
  font-size: 1rem;
  line-height: 1.9;
}

/* Reusable photo grid: equal frames, intact images, aligned captions. */
.kf-blueprint-content .kf-photo-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px 24px;
}

.kf-blueprint-content .kf-photo-grid > figure.wp-block-image {
  width: 100%;
  min-width: 0;
  margin-block: 0;
}

.kf-photo-grid__frame {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 260px;
  background: var(--kf-gold-050);
}

.kf-blueprint-content .kf-photo-grid__frame > img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
}

.kf-blueprint-content .kf-photo-grid figcaption {
  margin: 10px 0 0;
  line-height: 1.7;
}

.kf-photo-grid.kf-gallery-lightbox-ready > figure {
  cursor: zoom-in;
}

.kf-photo-grid > figure:focus-visible {
  outline: 2px solid var(--kf-color-bronze);
  outline-offset: 4px;
}

@media (max-width: 760px) {
  .kf-blueprint-content .kf-photo-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.kf-title-word {
  display: inline-block;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .kf-blueprint-content > .kf-site-heading-b {
    margin-top: 40px;
  }

  .kf-chronology > li {
    padding-left: 22px;
    padding-bottom: 28px;
  }
}

.kf-body-guide__wide-sample {
  margin-top: 28px;
}

.kf-body-guide__comparison > .kf-body-guide__wide-sample {
  margin-top: 0;
}

.kf-sample-image-heading-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.kf-sample-image-heading {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  align-items: center;
  gap: 22px;
  min-width: 0;
  padding: 24px;
  border: 1px solid var(--kf-color-line);
  border-radius: 8px;
  background: white;
}

.kf-sample-image-heading > p:empty {
  display: none;
}

.kf-sample-image-heading figure {
  display: grid;
  width: 96px;
  height: 96px;
  margin: 0;
  place-items: center;
  border-radius: 50%;
  background: var(--kf-gold-050);
}

.kf-sample-image-heading img {
  width: 80px;
  height: 80px;
  object-fit: contain;
}

#martial-heading-icons .kf-sample-image-heading img {
  transform: scale(0.76);
  transform-origin: center;
}

.kf-sample-image-heading > div {
  min-width: 0;
}

.kf-sample-image-heading h2 {
  margin: 7px 0 8px;
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: 0.08em;
}

.kf-sample-image-heading span {
  display: block;
  color: var(--kf-color-ink-soft);
  line-height: 1.8;
}

.kf-sample-image-heading small {
  display: block;
  margin-top: 12px;
  color: var(--kf-color-bronze);
  font-size: 0.72rem;
  letter-spacing: 0.06em;
}

.kf-sample-copy mark {
  padding: 0.1em 0.35em;
  background: var(--kf-gold-100);
  color: inherit;
}

.kf-sample-lists {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
}

.kf-sample-lists h3,
.kf-sample-lists h4 {
  margin: 0 0 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--kf-color-line);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}

.kf-sample-lists ul,
.kf-sample-lists ol {
  margin: 0;
  padding-left: 1.4rem;
}

.kf-sample-lists li {
  margin: 0.7rem 0;
  line-height: 1.7;
}

.kf-sample-check-list {
  padding-left: 0 !important;
  list-style: none;
}

.kf-sample-check-list li {
  position: relative;
  padding-left: 1.75rem;
}

.kf-sample-check-list li::before {
  position: absolute;
  left: 0;
  color: #66745f;
  content: "✓";
  font-weight: 600;
}

.kf-body-guide__wide-sample > .kf-step-comparison__intro {
  padding: 26px 32px 0;
  color: var(--kf-color-ink-soft);
}

.kf-step-comparison__intro p {
  margin: 0;
  line-height: 1.9;
}

.kf-body-guide__wide-sample > .kf-step-comparison__list {
  display: grid;
  gap: 30px;
  padding: 28px 32px 36px;
}

.kf-step-study {
  overflow: hidden;
  border: 1px solid var(--kf-color-line);
  border-radius: 10px;
  background: rgba(255, 254, 251, 0.96);
}

.kf-step-study__header {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  padding: 22px 28px;
  border-bottom: 1px solid var(--kf-color-line);
  background: var(--kf-gold-050);
}

.kf-step-study__header > p:empty {
  display: none;
}

.kf-step-study__header > b {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 50%;
  background: #68645c;
  color: white;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.9rem;
  font-weight: 400;
}

.kf-step-study__header p,
.kf-step-study__copy > p {
  margin: 0;
  color: var(--kf-color-bronze);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.7rem;
  letter-spacing: 0.16em;
}

.kf-step-study__header h4 {
  margin: 4px 0 3px;
  font-size: 1.16rem;
  font-weight: 500;
  letter-spacing: 0.07em;
}

.kf-step-study__header span {
  color: var(--kf-color-ink-soft);
  font-size: 0.82rem;
  line-height: 1.7;
}

.kf-step-study__steps {
  margin: 0;
  padding: 30px 32px 34px;
  list-style: none;
}

.kf-step-study__steps li {
  min-width: 0;
}

.kf-step-study__marker {
  font-variant-numeric: tabular-nums;
}

.kf-step-study__copy h5 {
  margin: 6px 0 9px;
  color: var(--kf-color-ink);
  font-size: 1.08rem;
  font-weight: 500;
  letter-spacing: 0.06em;
}

.kf-step-study__copy > span {
  display: block;
  color: var(--kf-color-ink-soft);
  font-size: 0.9rem;
  line-height: 1.9;
}

/* A: a quiet timeline with the least decoration. */
.kf-step-study--line .kf-step-study__steps li {
  position: relative;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 22px;
  padding-bottom: 34px;
}

.kf-step-study--line .kf-step-study__steps li:last-child {
  padding-bottom: 0;
}

.kf-step-study--line .kf-step-study__steps li:not(:last-child)::after {
  position: absolute;
  top: 42px;
  bottom: 6px;
  left: 21px;
  width: 1px;
  background: #bec9ba;
  content: "";
}

.kf-step-study--line .kf-step-study__marker {
  position: relative;
  z-index: 1;
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid #9cac97;
  border-radius: 50%;
  background: #fffefa;
  color: #52624e;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.78rem;
}

/* B: soft cards that keep each stage visually self-contained. */
.kf-step-study--cards .kf-step-study__header > b {
  background: #637660;
}

/* C: editorial rows with generous numbers and restrained rules. */
.kf-step-study--editorial .kf-step-study__header > b {
  background: #9c7a35;
}

.kf-step-study--editorial .kf-step-study__steps {
  padding-top: 8px;
  padding-bottom: 8px;
}

.kf-step-study--editorial .kf-step-study__steps li {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  align-items: start;
  gap: 24px;
  padding: 28px 0;
  border-bottom: 1px solid var(--kf-color-line);
}

.kf-step-study--editorial .kf-step-study__steps li:last-child {
  border-bottom: 0;
}

.kf-step-study--editorial .kf-step-study__marker {
  color: rgba(156, 122, 53, 0.58);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2.45rem;
  line-height: 1;
  letter-spacing: 0.02em;
}

.kf-sample-table-wrap {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

.kf-sample-table-wrap:focus-visible {
  outline: 2px solid var(--kf-color-bronze);
  outline-offset: 3px;
}

.kf-sample-table-wrap table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
  background: white;
}

.kf-sample-table-wrap caption {
  padding: 0 0 12px;
  color: var(--kf-color-ink-soft);
  font-size: 0.8rem;
  text-align: left;
}

.kf-sample-table-wrap th,
.kf-sample-table-wrap td {
  padding: 15px 18px;
  border: 1px solid var(--kf-color-line);
  line-height: 1.6;
  text-align: left;
  vertical-align: middle;
}

.kf-sample-table-wrap thead th {
  border-bottom: 1px solid var(--kf-color-line);
  background: #d2cabb;
  color: #24231f;
  font-size: 1.02rem;
  font-weight: 600;
}

.kf-sample-table-wrap tbody th {
  background: var(--kf-gold-050);
  font-weight: 500;
}

/* Opt-in two-column records: stack year and copy on phones, no horizontal scroll. */
@media (max-width: 760px) {
  .kf-sample-table-wrap.is-style-kf-editorial.kf-sample-table-wrap--stack {
    overflow-x: visible;
  }

  .kf-sample-table-wrap.is-style-kf-editorial.kf-sample-table-wrap--stack table {
    width: 100%;
    min-width: 0;
    table-layout: auto;
  }

  .kf-sample-table-wrap.is-style-kf-editorial.kf-sample-table-wrap--stack :is(tbody, tr, th, td) {
    display: block;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
  }

  .kf-sample-table-wrap.is-style-kf-editorial.kf-sample-table-wrap--stack tr + tr {
    border-top: 1px solid var(--kf-color-line);
  }

  .kf-sample-table-wrap.is-style-kf-editorial.kf-sample-table-wrap--stack th {
    padding: 10px 16px;
    border: 0;
    text-align: left;
  }

  .kf-sample-table-wrap.is-style-kf-editorial.kf-sample-table-wrap--stack td {
    padding: 12px 16px 18px;
    border: 0;
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

.kf-sample-table--compact {
  min-width: 460px !important;
}

.kf-sample-status {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  background: #e7eee4;
  color: #465641;
  font-size: 0.78rem;
  white-space: nowrap;
}

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

.kf-sample-notice {
  padding: 22px 24px;
  border: 1px solid var(--kf-color-line);
  border-radius: 8px;
  background: rgba(255, 253, 248, 0.94);
}

.kf-sample-notice strong {
  display: inline-block;
  margin-bottom: 12px;
  padding: 4px 11px;
  border-radius: 999px;
  font-size: 0.78rem;
  letter-spacing: 0.12em;
}

.kf-sample-notice p {
  margin: 0;
  line-height: 1.8;
}

.kf-sample-notice .kf-sample-notice__link {
  display: inline-block;
  margin-top: 6px;
  font-weight: 500;
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

.kf-news-archive-notice {
  margin-block-end: 1.6em;
}

.kf-body-guide__wide-sample > .kf-news-archive-notice {
  margin: 28px;
}

.kf-sample-notice--important {
  background: #fcfaf4;
}

.kf-sample-notice--important strong {
  background: #eee4c8;
  color: #6d5929;
}

.kf-sample-notice--note {
  background: #f8faf7;
}

.kf-sample-notice--note strong {
  background: #e4ebe1;
  color: #52614d;
}

.kf-sample-notice--caution {
  background: #fcf8f7;
}

.kf-sample-notice--caution strong {
  background: #f0e2df;
  color: #7b514a;
}

.kf-sample-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
}

/* Shared body buttons; contact CTAs use the approved background variants. */
body .site-main a.kf-contact-button[href],
.kf-sample-button,
:is(.entry-content, .study-post-content, .practice-content, .kf-blueprint-content) :is(.swell-block-button__link, .wp-block-button__link):not(:where(.kf-class-selector__cta *, .kf-hero *, .kf-trial-bridge *, .kf-final-trial *, .kf-video-letter *, .kf-faq-contact *, .kf-comic__actions *)) {
  display: inline-flex;
  box-sizing: border-box;
  max-width: 100%;
  min-height: var(--kf-button-min-height);
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: var(--kf-button-padding);
  border: 1px solid var(--kf-button-primary);
  border-radius: var(--kf-button-radius);
  background: white;
  color: var(--kf-button-primary);
  box-shadow: none;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.6;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.kf-sample-button > span,
.kf-sample-button > svg {
  flex: 0 0 auto;
}

:is(.entry-content, .study-post-content, .practice-content, .kf-blueprint-content) .swell-block-button__link:not(:has(svg)):not(:where(.kf-class-selector__cta *, .kf-hero *, .kf-trial-bridge *, .kf-final-trial *, .kf-video-letter *, .kf-faq-contact *))::after {
  flex: 0 0 auto;
  content: "→";
}

body .site-main a.kf-contact-button[href],
.kf-sample-button--primary,
:is(.entry-content, .study-post-content, .practice-content, .kf-blueprint-content) :is(.swell-block-button__link, .wp-block-button__link)[href$="/contact/"]:not(:where(.kf-class-selector__cta *, .kf-hero *, .kf-trial-bridge *, .kf-final-trial *, .kf-video-letter *, .kf-faq-contact *, .kf-comic__actions *)) {
  border-color: var(--kf-button-primary);
  background: var(--kf-button-primary);
  color: var(--kf-contact-text, #fff);
}

body .site-main a.kf-contact-button[href]:is(:hover, :focus-visible),
.kf-sample-button--primary:hover,
.kf-sample-button--primary:focus-visible,
:is(.entry-content, .study-post-content, .practice-content, .kf-blueprint-content) :is(.swell-block-button__link, .wp-block-button__link)[href$="/contact/"]:not(:where(.kf-class-selector__cta *, .kf-hero *, .kf-trial-bridge *, .kf-final-trial *, .kf-video-letter *, .kf-faq-contact *, .kf-comic__actions *)):is(:hover, :focus-visible) {
  border-color: var(--kf-button-primary-hover);
  background: var(--kf-button-primary-hover);
  color: var(--kf-contact-text, #fff);
}

.kf-sample-button--secondary {
  background: white;
  color: var(--kf-button-primary);
}

.kf-sample-button--secondary:hover,
.kf-sample-button--secondary:focus-visible,
:is(.entry-content, .study-post-content, .practice-content, .kf-blueprint-content) :is(.swell-block-button__link, .wp-block-button__link):not([href$="/contact/"]):not(:where(.kf-class-selector__cta *, .kf-hero *, .kf-trial-bridge *, .kf-final-trial *, .kf-video-letter *, .kf-faq-contact *, .kf-comic__actions *)):is(:hover, :focus-visible) {
  background: var(--kf-gold-050);
  color: var(--kf-button-primary-hover);
}

.kf-sample-button:focus-visible {
  outline: 2px solid var(--kf-button-primary);
  outline-offset: 3px;
}


/* Contact tokens also cover dedicated page buttons without duplicating geometry. */
.kf-trial-actions > .kf-sample-button--primary,
body .site-main a.kf-contact-button[href] {
  width: min(240px, 100%);
  min-width: 0;
}
.kf-contact-button {
  --kf-button-primary: #79cf2b;
  --kf-button-primary-hover: #67ba1f;
  --kf-button-padding: 12px 38px;
  --kf-contact-text: #fff;
}
.kf-contact-button--inverse {
  --kf-button-primary: #fff;
  --kf-button-primary-hover: #f5f1e8;
  --kf-contact-text: #405c46;
}
body .site-main a.kf-contact-button[href]::before,
body .site-main a.kf-contact-button[href]::after {
  content: none;
}
@media (max-width: 760px) {
  .kf-contact-button { --kf-button-padding: 12px 26px; }
}

/* Essay endings reuse the blueprint's related-page cards. */
.kf-article-end {
  margin-top: 48px;
}

.kf-related-page--portrait-photo .kf-related-page__body figure {
  height: 116px;
}

.kf-related-page--portrait-photo .kf-related-page__body figure img {
  object-fit: contain;
}

.kf-trial-actions {
  --kf-button-primary: #79cf2b;
  --kf-button-primary-hover: #67ba1f;
  --kf-button-padding: 12px 38px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  text-align: center;
}

body .site-main a.kf-sample-text-link[href$="/trial/"],
.kf-trial-actions > .kf-sample-text-link {
  width: auto;
  min-height: 0;
  margin: 0;
  padding: 4px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-size: 0.9rem;
  font-weight: 400;
  text-decoration: underline;
  text-underline-offset: 4px;
}

@media (max-width: 760px) {
  .kf-trial-actions {
    --kf-button-padding: 12px 26px;
  }
}

.kf-sample-text-link {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  padding: 10px 4px;
  color: var(--kf-color-bronze);
}

.kf-sample-text-link:hover,
.kf-sample-text-link:focus-visible {
  color: var(--kf-color-ink);
}

/* Inline references keep the paragraph's flow and expose the link with a line. */
.kf-sample-text-link--inline {
  display: inline;
  padding: 0;
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

/* Opt-in text references share the reference pages' blue, underlined style. */
.kf-blueprint-content a.kf-reference-text-link {
  color: #1769aa;
  font-weight: 600;
  text-decoration-color: rgb(23 105 170 / 52%);
  text-underline-offset: 0.22em;
}

.kf-blueprint-content a.kf-reference-text-link:hover,
.kf-blueprint-content a.kf-reference-text-link:focus-visible {
  color: #0f4f86;
  text-decoration-color: currentColor;
}

.kf-button-palette {
  margin-top: 28px;
}

.kf-body-guide__wide-sample > .kf-button-palette__intro {
  padding: 24px 28px 0;
}

.kf-button-palette__intro p {
  margin: 0;
  color: var(--kf-color-ink-soft);
  line-height: 1.8;
}

.kf-body-guide__wide-sample > .kf-button-palette__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  padding: 24px 28px 30px;
}

.kf-button-palette__item {
  --kf-button-solid: #b84f4a;
  --kf-button-solid-hover: #a84440;
  --kf-button-pale: #f8e4e1;
  --kf-button-pale-hover: #f2d6d1;
  --kf-button-ink: #7a342f;
  --kf-button-line: #dda39b;
  padding: 22px;
  border: 1px solid color-mix(in srgb, var(--kf-button-line) 62%, white);
  border-radius: 9px;
  background: color-mix(in srgb, var(--kf-button-pale) 38%, white);
}

.kf-button-palette__item--apricot {
  --kf-button-solid: #b7653f;
  --kf-button-solid-hover: #9f5534;
  --kf-button-pale: #fae8db;
  --kf-button-pale-hover: #f5dccb;
  --kf-button-ink: #7d3e25;
  --kf-button-line: #ddaa8a;
}

.kf-button-palette__item--vermilion {
  --kf-button-solid: #a94337;
  --kf-button-solid-hover: #96372e;
  --kf-button-pale: #f7dfda;
  --kf-button-pale-hover: #f1d0ca;
  --kf-button-ink: #783128;
  --kf-button-line: #d89388;
}

.kf-button-palette__item--saffron {
  --kf-button-solid: #936b21;
  --kf-button-solid-hover: #7e5718;
  --kf-button-pale: #f7ebcb;
  --kf-button-pale-hover: #f1dfaf;
  --kf-button-ink: #6f4d13;
  --kf-button-line: #d6ba74;
}

.kf-button-palette__item--rose {
  --kf-button-solid: #a84f70;
  --kf-button-solid-hover: #933f5e;
  --kf-button-pale: #f6e0e8;
  --kf-button-pale-hover: #f0d2dd;
  --kf-button-ink: #74334a;
  --kf-button-line: #d99ab0;
}

.kf-button-palette__item--plum {
  --kf-button-solid: #76506d;
  --kf-button-solid-hover: #65425d;
  --kf-button-pale: #eee2ec;
  --kf-button-pale-hover: #e6d5e2;
  --kf-button-ink: #55394f;
  --kf-button-line: #b99ab3;
}

.kf-button-palette__item--indigo {
  --kf-button-solid: #526580;
  --kf-button-solid-hover: #435570;
  --kf-button-pale: #e2e8f0;
  --kf-button-pale-hover: #d6dfea;
  --kf-button-ink: #384a64;
  --kf-button-line: #9dacbf;
}

.kf-button-palette__item--celadon {
  --kf-button-solid: #4f7772;
  --kf-button-solid-hover: #3f6661;
  --kf-button-pale: #dfece8;
  --kf-button-pale-hover: #d2e3de;
  --kf-button-ink: #315752;
  --kf-button-line: #94b6af;
}

.kf-button-palette--vivid .kf-button-palette__item {
  background: rgba(255, 253, 248, 0.98);
}

.kf-button-palette__item--vivid-coral {
  --kf-button-solid: #c74f45;
  --kf-button-solid-hover: #b33f36;
  --kf-button-pale: #ffe1dc;
  --kf-button-pale-hover: #ffd4cd;
  --kf-button-ink: #8d2f29;
  --kf-button-line: #e5978f;
}

.kf-button-palette__item--vivid-orange {
  --kf-button-solid: #c45e20;
  --kf-button-solid-hover: #ad4d16;
  --kf-button-pale: #ffe6d2;
  --kf-button-pale-hover: #ffd9ba;
  --kf-button-ink: #873a0f;
  --kf-button-line: #e3a172;
}

.kf-button-palette__item--vivid-red {
  --kf-button-solid: #bd392f;
  --kf-button-solid-hover: #a92e26;
  --kf-button-pale: #ffdcd6;
  --kf-button-pale-hover: #ffcec6;
  --kf-button-ink: #86231d;
  --kf-button-line: #e18b81;
}

.kf-button-palette__item--vivid-gold {
  --kf-button-solid: #9b7000;
  --kf-button-solid-hover: #855f00;
  --kf-button-pale: #fff0b8;
  --kf-button-pale-hover: #ffe99d;
  --kf-button-ink: #725000;
  --kf-button-line: #d6b753;
}

.kf-button-palette__item--vivid-crimson {
  --kf-button-solid: #b93f6a;
  --kf-button-solid-hover: #a5315a;
  --kf-button-pale: #ffe0eb;
  --kf-button-pale-hover: #ffd1e1;
  --kf-button-ink: #842646;
  --kf-button-line: #df91ad;
}

.kf-button-palette__item--vivid-violet {
  --kf-button-solid: #7c4aa2;
  --kf-button-solid-hover: #6b3b91;
  --kf-button-pale: #efe2f8;
  --kf-button-pale-hover: #e7d4f4;
  --kf-button-ink: #593176;
  --kf-button-line: #b995d0;
}

.kf-button-palette__item--vivid-blue {
  --kf-button-solid: #3373a8;
  --kf-button-solid-hover: #286493;
  --kf-button-pale: #dfecfa;
  --kf-button-pale-hover: #cfe2f6;
  --kf-button-ink: #23547d;
  --kf-button-line: #89afd1;
}

.kf-button-palette__item--vivid-teal {
  --kf-button-solid: #258178;
  --kf-button-solid-hover: #197067;
  --kf-button-pale: #d9f1ec;
  --kf-button-pale-hover: #c9e9e3;
  --kf-button-ink: #155f57;
  --kf-button-line: #7dbdb5;
}

.kf-button-palette--bright-green .kf-button-palette__item {
  background: rgba(255, 255, 253, 0.99);
}

.kf-button-palette--bright-green .kf-button-swatch {
  border-radius: 999px;
  font-weight: 600;
}

.kf-button-palette__item--bright-leaf {
  --kf-button-solid: #56d83f;
  --kf-button-solid-hover: #45c831;
  --kf-button-pale: #e2fadb;
  --kf-button-pale-hover: #d5f6cc;
  --kf-button-ink: #256d18;
  --kf-button-line: #95e584;
}

.kf-button-palette__item--bright-spring {
  --kf-button-solid: #79cf2b;
  --kf-button-solid-hover: #67ba1f;
  --kf-button-pale: #ecf9d6;
  --kf-button-pale-hover: #e1f3c0;
  --kf-button-ink: #4c7614;
  --kf-button-line: #b5df7c;
}

.kf-button-palette__item--bright-emerald {
  --kf-button-solid: #18b969;
  --kf-button-solid-hover: #109f59;
  --kf-button-pale: #d7f6e4;
  --kf-button-pale-hover: #c7efd7;
  --kf-button-ink: #087444;
  --kf-button-line: #77d5a3;
}

.kf-button-palette__item--bright-jade {
  --kf-button-solid: #13ad8b;
  --kf-button-solid-hover: #0a9677;
  --kf-button-pale: #d5f5ed;
  --kf-button-pale-hover: #c4ece2;
  --kf-button-ink: #086e59;
  --kf-button-line: #71d2ba;
}

.kf-button-palette__item > header {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  gap: 3px 12px;
  margin-bottom: 18px;
}

.kf-button-palette__item > header p {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--kf-button-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.68rem;
  letter-spacing: 0.14em;
}

.kf-button-palette__item > header h4 {
  margin: 0;
  color: var(--kf-color-ink);
  font-size: 1.16rem;
  font-weight: 400;
}

.kf-button-palette__item > header span {
  color: var(--kf-color-ink-soft);
  font-size: 0.76rem;
}

.kf-button-palette__buttons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.kf-button-palette__buttons > div > span {
  display: block;
  margin: 0 0 6px 2px;
  color: var(--kf-color-ink-soft);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.62rem;
  letter-spacing: 0.12em;
}

.kf-button-swatch {
  display: inline-flex;
  width: 100%;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 11px 14px;
  border: 1px solid transparent;
  border-radius: 6px;
  font: inherit;
  font-size: 0.82rem;
  line-height: 1.55;
  text-align: center;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.kf-button-swatch--solid {
  border-color: var(--kf-button-solid);
  background: var(--kf-button-solid);
  box-shadow: 0 4px 10px color-mix(in srgb, var(--kf-button-solid) 20%, transparent);
  color: white;
}

.kf-button-swatch--solid:hover,
.kf-button-swatch--solid:focus-visible {
  border-color: var(--kf-button-solid-hover);
  background: var(--kf-button-solid-hover);
}

.kf-button-swatch--tint {
  border-color: var(--kf-button-line);
  background: var(--kf-button-pale);
  color: var(--kf-button-ink);
}

.kf-button-swatch--tint:hover,
.kf-button-swatch--tint:focus-visible {
  background: var(--kf-button-pale-hover);
}

.kf-button-swatch:focus-visible {
  outline: 2px solid var(--kf-button-ink);
  outline-offset: 3px;
}

.kf-sample-faq details {
  border-bottom: 1px solid var(--kf-color-line);
}

.kf-sample-faq details:first-child {
  border-top: 1px solid var(--kf-color-line);
}

.kf-sample-faq summary {
  position: relative;
  padding: 18px 46px 18px 0;
  cursor: pointer;
  font-weight: 500;
  list-style: none;
}

.kf-sample-faq summary::-webkit-details-marker {
  display: none;
}

.kf-sample-faq summary::after {
  position: absolute;
  top: 50%;
  right: 8px;
  width: 26px;
  height: 26px;
  border: 1px solid var(--kf-color-line-strong);
  border-radius: 50%;
  content: "+";
  line-height: 24px;
  text-align: center;
  transform: translateY(-50%);
}

.kf-sample-faq details[open] summary::after {
  content: "−";
}

.kf-sample-faq details p {
  margin: 0;
  padding: 0 46px 20px 0;
  color: var(--kf-color-ink-soft);
  line-height: 1.9;
}

.kf-sample-figure {
  margin: 0;
}

.kf-sample-figure img,
.kf-sample-media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 7px;
}

.kf-sample-figure figcaption {
  margin-top: 10px;
  color: var(--kf-color-ink-soft);
  font-size: 0.78rem;
  line-height: 1.7;
  text-align: center;
}

.kf-sample-media {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: 36px;
}

.kf-sample-media figure {
  margin: 0;
}

.kf-sample-media h4 {
  margin: 8px 0 16px;
  font-size: 1.45rem;
  font-weight: 400;
  letter-spacing: 0.07em;
}

.kf-sample-media > div > p:not(:first-child) {
  color: var(--kf-color-ink-soft);
  line-height: 1.9;
}

.kf-sample-media a {
  color: var(--kf-color-bronze);
}

.kf-sample-media a:hover,
.kf-sample-media a:focus-visible {
  color: var(--kf-color-ink);
}

/* Shared long-form flow and event introduction, assembled from the practical
 * heading, figure, notice, table, and related-link patterns in the body guide. */
.kf-content-flow {
  display: grid;
  gap: 64px;
}

.kf-content-section {
  min-width: 0;
}

.kf-content-section > p {
  color: var(--kf-color-ink-soft);
  line-height: 1.9;
}

.kf-event-intro__eyebrow {
  margin: 0 0 9px;
  color: var(--kf-color-bronze);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.7rem;
  letter-spacing: 0.18em;
}

.kf-event-intro__copy h2 {
  margin: 0;
  color: var(--kf-color-ink);
  font-size: var(--kf-body-h2-size);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: var(--kf-body-h2-line-height);
}

.kf-event-intro__copy > p:not(.kf-event-intro__eyebrow) {
  max-width: 49rem;
  margin: 18px 0 0;
  color: var(--kf-color-ink-soft);
  line-height: 2;
}

.kf-event-intro__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 24px;
  border-top: 1px solid var(--kf-color-line);
  border-bottom: 1px solid var(--kf-color-line);
}

.kf-event-intro__facts > span {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
  padding: 12px 14px;
}

.kf-event-intro__facts > span + span {
  border-left: 1px solid var(--kf-color-line);
}

.kf-event-intro__facts strong {
  color: var(--kf-color-ink);
  font-size: 0.88rem;
  font-weight: 500;
}

.kf-event-intro__facts small {
  color: var(--kf-color-ink-soft);
  font-size: 0.65rem;
  line-height: 1.55;
}

/* Wuqinxi event feature: five inherited practices shown with source photography. */
.kf-wuqinxi-animals {
  padding: 38px 34px 32px;
  border-top: 1px solid var(--kf-color-line-strong);
  border-bottom: 1px solid var(--kf-color-line-strong);
  background: rgba(255, 253, 248, 0.76);
}

.kf-wuqinxi-animals__header {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
  align-items: end;
  gap: 34px;
}

.kf-wuqinxi-animals__header > div > p {
  margin: 0 0 9px;
  color: var(--kf-color-bronze);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.66rem;
  letter-spacing: 0.18em;
}

.kf-wuqinxi-animals__header h2 {
  margin: 0;
  color: var(--kf-color-ink);
  font-size: var(--kf-body-h2-size);
  font-weight: 500;
  letter-spacing: 0.07em;
  line-height: var(--kf-body-h2-line-height);
}

.kf-wuqinxi-animals__header > p {
  margin: 0;
  color: var(--kf-color-ink-soft);
  font-size: 0.86rem;
  line-height: 1.95;
}

.kf-wuqinxi-animals__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-top: 30px;
}

.kf-wuqinxi-animal {
  min-width: 0;
  border-top: 2px solid #8b7952;
  border-bottom: 1px solid var(--kf-color-line);
  background: rgba(255, 255, 255, 0.9);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.kf-wuqinxi-animal:hover,
.kf-wuqinxi-animal:has(a:focus-visible) {
  box-shadow: 0 10px 24px rgba(58, 51, 38, 0.11);
  transform: translateY(-2px);
}

.kf-wuqinxi-animal > a {
  display: flex;
  height: 100%;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
}

.kf-wuqinxi-animal figure {
  overflow: hidden;
  aspect-ratio: 3 / 2;
  margin: 0;
  background: #e8e6dd;
}

.kf-wuqinxi-animal img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: filter 0.25s ease, transform 0.3s ease;
}

.kf-wuqinxi-animal:hover img {
  filter: saturate(1.04) contrast(1.02);
  transform: scale(1.025);
}

.kf-wuqinxi-animal > a > div {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 16px 15px 18px;
}

.kf-wuqinxi-animal p {
  margin: 0 0 7px;
  color: var(--kf-color-bronze);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.61rem;
  letter-spacing: 0.12em;
}

.kf-wuqinxi-animal h3 {
  display: flex;
  align-items: baseline;
  gap: 7px;
  margin: 0 0 11px;
  color: var(--kf-color-ink);
  font-size: 1.08rem;
  font-weight: 500;
  letter-spacing: 0.06em;
}

.kf-wuqinxi-animal h3 small {
  color: var(--kf-color-ink-soft);
  font-size: 0.56rem;
  font-weight: 400;
}

.kf-wuqinxi-animal div > span {
  color: var(--kf-color-ink-soft);
  font-size: 0.72rem;
  line-height: 1.75;
}

.kf-wuqinxi-animal i {
  margin-top: auto;
  padding-top: 14px;
  color: var(--kf-color-bronze);
  font-size: 0.68rem;
  font-style: normal;
}

.kf-wuqinxi-animals__source {
  display: inline-flex;
  align-items: center;
  gap: 34px;
  margin-top: 25px;
  color: var(--kf-color-bronze);
  font-size: 0.8rem;
  text-decoration: none;
}

.kf-wuqinxi-animals__source:hover,
.kf-wuqinxi-animals__source:focus-visible {
  color: var(--kf-color-ink);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

/* Wuqinxi closing actions: one visual system with a clear primary route. */
.kf-wuqinxi-contact {
  padding: 36px 34px 34px;
  border-top: 1px solid var(--kf-color-line-strong);
  border-bottom: 1px solid var(--kf-color-line-strong);
  background: rgba(255, 253, 248, 0.78);
}

.kf-wuqinxi-contact > p {
  max-width: 52rem;
  margin-bottom: 27px;
}

.kf-wuqinxi-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--kf-color-line);
}

.kf-wuqinxi-action {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 108px;
  flex-direction: column;
  justify-content: center;
  gap: 7px;
  padding: 20px 48px 20px 23px;
  background: rgba(255, 255, 255, 0.88);
  color: var(--kf-color-ink);
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.kf-wuqinxi-action + .kf-wuqinxi-action {
  border-left: 1px solid var(--kf-color-line);
}

.kf-wuqinxi-action--primary {
  background: #e8efe5;
  color: #304437;
}

.kf-wuqinxi-action:hover,
.kf-wuqinxi-action:focus-visible {
  background: #f3eee2;
  color: var(--kf-color-bronze);
}

.kf-wuqinxi-action--primary:hover,
.kf-wuqinxi-action--primary:focus-visible {
  background: #dce8d9;
  color: #263b2d;
}

.kf-wuqinxi-action small {
  color: var(--kf-color-bronze);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.61rem;
  letter-spacing: 0.16em;
}

.kf-wuqinxi-action strong {
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.7;
}

.kf-wuqinxi-action > span {
  position: absolute;
  right: 22px;
  top: 50%;
  color: var(--kf-color-bronze);
  font-family: Georgia, "Times New Roman", serif;
  transform: translateY(-50%);
}

@media (max-width: 1000px) {
  .kf-wuqinxi-animals__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .kf-event-intro__facts {
    grid-template-columns: 1fr;
    margin-top: 20px;
  }

  .kf-event-intro__facts > span {
    padding: 10px 0;
  }

  .kf-event-intro__facts > span + span {
    border-top: 1px solid var(--kf-color-line);
    border-left: 0;
  }

  .kf-wuqinxi-animals,
  .kf-wuqinxi-contact {
    padding: 28px 18px;
  }

  .kf-wuqinxi-animals__header {
    grid-template-columns: 1fr;
    gap: 17px;
  }

  .kf-wuqinxi-animals__header h2 {
    font-size: 1.55rem;
  }

  .kf-wuqinxi-animals__grid {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 24px;
  }

  .kf-wuqinxi-animal > a {
    display: grid;
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
  }

  .kf-wuqinxi-animal figure {
    min-height: 178px;
    aspect-ratio: auto;
  }

  .kf-wuqinxi-animal > a > div {
    padding: 15px 14px 16px;
  }

  .kf-wuqinxi-animal div > span {
    font-size: 0.69rem;
  }

  .kf-wuqinxi-animals__source {
    justify-content: space-between;
    gap: 15px;
    width: 100%;
    line-height: 1.7;
  }

  .kf-wuqinxi-actions {
    grid-template-columns: 1fr;
  }

  .kf-wuqinxi-action + .kf-wuqinxi-action {
    border-top: 1px solid var(--kf-color-line);
    border-left: 0;
  }
}

/* Wuqinxi event information: a compact fact panel for an irregular outdoor event. */
.kf-event-guide {
  overflow: hidden;
  border-top: 1px solid var(--kf-color-line-strong);
  border-bottom: 1px solid var(--kf-color-line-strong);
  background: rgba(255, 253, 248, 0.82);
}

.kf-event-guide__note {
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 0;
  padding: 17px 28px;
  border-bottom: 1px solid var(--kf-color-line);
  color: var(--kf-color-ink-soft);
  font-size: 0.84rem;
  line-height: 1.8;
}

.kf-event-guide__note span {
  flex: 0 0 auto;
  color: var(--kf-color-bronze);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.66rem;
  letter-spacing: 0.17em;
}

.kf-event-guide__details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}

.kf-event-guide__item {
  box-sizing: border-box;
  min-width: 0;
  padding: 24px 30px 26px;
  border-bottom: 1px solid var(--kf-color-line);
}

.kf-event-guide__item:nth-child(odd):not(.kf-event-guide__item--wide) {
  border-left: 1px solid var(--kf-color-line);
}

.kf-event-guide__item:nth-last-child(-n + 2) {
  border-bottom: 0;
}

.kf-event-guide__item--wide {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: 118px minmax(0, 1fr);
  align-items: center;
  gap: 22px;
}

.kf-event-guide__item dt {
  margin: 0 0 10px;
  color: var(--kf-color-bronze);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
}

.kf-event-guide__item--wide dt {
  margin: 0;
}

.kf-event-guide__item dd:not(.kf-person-summary) {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 7px 16px;
  margin: 0;
}

.kf-person-summary {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  align-items: start;
  gap: 16px;
  margin: 0;
}

.kf-person-summary__copy > strong,
.kf-person-summary__copy > small {
  display: block;
}

.kf-person-summary__copy > small {
  margin: 6px 0 10px;
}

.kf-event-guide__item strong {
  color: var(--kf-color-ink);
  font-size: 1.12rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}

.kf-event-guide__item a {
  color: var(--kf-color-bronze);
  text-decoration: none;
}

.kf-event-guide__item a:hover,
.kf-event-guide__item a:focus-visible {
  color: var(--kf-color-ink);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.kf-event-guide__item small {
  color: var(--kf-color-ink-soft);
  font-size: 0.78rem;
  line-height: 1.7;
}

.kf-event-guide__free {
  padding: 3px 13px;
  border-radius: 999px;
  background: #e7eee4;
  color: #465641 !important;
  font-size: 0.86rem !important;
}

.kf-sample-lists > .kf-related-link {
  height: 100%;
}

.kf-body-guide__wide-sample > .kf-related-link-study__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 22px;
  padding: 28px;
}

.kf-related-link-study__sample {
  min-width: 0;
  padding: 18px;
  border: 1px solid var(--kf-color-line);
  border-radius: 9px;
  background: rgba(255, 253, 248, 0.78);
}

.kf-related-link-study__sample > header {
  margin-bottom: 14px;
}

.kf-related-link-study__sample > header p {
  margin: 0 0 4px;
  color: var(--kf-color-bronze);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.66rem;
  letter-spacing: 0.14em;
}

.kf-related-link-study__sample > header h4 {
  margin: 0;
  font-size: 1rem;
  font-weight: 400;
}

.kf-related-link {
  position: relative;
  overflow: hidden;
  color: var(--kf-color-ink);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.kf-related-link figure {
  overflow: hidden;
  margin: 0;
  background: var(--kf-color-paper);
}

.kf-related-link img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: filter 0.25s ease, transform 0.25s ease;
}

.kf-related-link:hover,
.kf-related-link:has(.kf-related-link__stretched:focus-visible) {
  border-color: var(--kf-color-bronze);
  color: var(--kf-color-ink);
  box-shadow: 0 10px 24px rgba(66, 55, 38, 0.1);
  transform: translateY(-1px);
}

.kf-related-link:hover img,
.kf-related-link:has(.kf-related-link__stretched:focus-visible) img {
  filter: saturate(1.05) contrast(1.02);
  transform: scale(1.02);
}

.kf-related-link:has(.kf-related-link__stretched:focus-visible) {
  outline: 2px solid var(--kf-color-bronze);
  outline-offset: 3px;
}

.kf-related-link__stretched {
  color: inherit;
  text-decoration: none;
}

.kf-related-link__stretched::after {
  position: absolute;
  z-index: 4;
  inset: 0;
  content: "";
}

.kf-related-link__stretched:focus-visible {
  outline: 0;
}

.kf-related-link__copy {
  min-width: 0;
}

.kf-related-link__copy small {
  display: block;
  margin-bottom: 7px;
  color: var(--kf-color-bronze);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.62rem;
  letter-spacing: 0.12em;
}

.kf-related-link__copy strong {
  display: block;
  font-size: 0.94rem;
  font-weight: 500;
  line-height: 1.7;
}

.kf-related-link__copy p {
  margin: 10px 0 0;
  color: var(--kf-color-ink-soft);
  font-size: 0.76rem;
  line-height: 1.75;
}

.kf-related-link__copy span {
  display: block;
  margin-top: 14px;
  color: var(--kf-color-bronze);
  font-size: 0.72rem;
}

.kf-related-link--horizontal {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  min-height: 238px;
  border: 1px solid var(--kf-color-line);
  border-radius: 8px;
  background: white;
}

.kf-related-link--horizontal .kf-related-link__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 22px;
}

.kf-related-link--horizontal .kf-related-link__copy span {
  margin-top: auto;
  padding-top: 16px;
}

.kf-related-link--portrait {
  display: block;
  border: 1px solid var(--kf-color-line);
  border-radius: 8px;
  background: white;
}

.kf-related-link--portrait figure {
  aspect-ratio: 16 / 8.6;
}

.kf-related-link--portrait .kf-related-link__copy {
  padding: 19px 22px 21px;
}

.kf-related-link--compact {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  align-items: center;
  min-height: 120px;
  border-top: 1px solid var(--kf-color-line-strong);
  border-bottom: 1px solid var(--kf-color-line-strong);
  background: rgba(255, 255, 255, 0.7);
}

.kf-related-link--compact figure {
  align-self: stretch;
}

.kf-related-link--compact .kf-related-link__copy {
  padding: 16px 18px;
}

.kf-related-link--compact .kf-related-link__copy span {
  margin-top: 9px;
}

.kf-related-link--overlay {
  z-index: 0;
  display: flex;
  min-height: 238px;
  align-items: flex-end;
  border-radius: 8px;
  background: #253026;
}

.kf-related-link--overlay::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(180deg, rgba(15, 20, 17, 0.05) 18%, rgba(15, 20, 17, 0.82) 100%);
  content: "";
}

.kf-related-link--overlay > img {
  position: absolute;
  z-index: -2;
  inset: 0;
}

.kf-related-link--overlay .kf-related-link__copy {
  width: 100%;
  padding: 26px;
  color: white;
}

.kf-related-link--overlay .kf-related-link__copy small,
.kf-related-link--overlay .kf-related-link__copy span {
  color: #f3dfae;
}

.kf-related-link--overlay .kf-related-link__copy strong {
  max-width: 28em;
  color: white;
  font-size: 1.05rem;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.42);
}

/* Related-page component study: a Local comparison based on SWELL's framed
 * related-page link, translated into the association's paper-and-seal world. */
.kf-body-guide__wide-sample > .kf-related-link-study__grid {
  grid-template-columns: 1fr;
  align-items: stretch;
  gap: 24px;
}

.kf-related-link-study__sample {
  padding: 22px;
}

.kf-related-link-study__sample > header {
  margin-bottom: 24px;
  padding-bottom: 13px;
  border-bottom: 1px solid color-mix(in srgb, var(--kf-color-line-strong) 72%, transparent);
}

.kf-related-link-study__sample > header p {
  margin-bottom: 6px;
  color: #6b5022;
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.13em;
}

.kf-related-link-study__sample > header h4 {
  color: var(--kf-color-ink);
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5;
}

.kf-related-page {
  position: relative;
  margin: 10px 0 0;
  padding: 32px 26px 24px;
  border: 1px solid #c8bda8;
  border-radius: 7px;
  background: rgba(255, 255, 252, 0.96);
}

.kf-related-page > h5 {
  position: absolute;
  top: 0;
  left: 22px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0 11px;
  background: #fffdf8;
  color: #3d3b34;
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.4;
  transform: translateY(-52%);
}

.kf-related-page__body {
  position: relative;
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  align-items: stretch;
  gap: 25px;
  min-height: 132px;
}

.kf-related-page__body figure {
  overflow: hidden;
  height: 100%;
  min-height: 132px;
  margin: 0;
  border-radius: 5px;
  background: var(--kf-color-paper);
}

.kf-related-page__body img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: filter 0.22s ease, transform 0.22s ease;
}

.kf-related-page__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: 3px 0;
}

.kf-related-page__kind {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 8px;
  padding: 3px 9px;
  border-radius: 999px;
  background: #eee7d5;
  color: #6a552d;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.05em;
}

.kf-related-page__copy strong {
  display: block;
  font-size: 1.08rem;
  font-weight: 500;
  line-height: 1.65;
}

.kf-related-page__stretched {
  color: var(--kf-color-ink);
  text-decoration: none;
}

.kf-related-page__stretched::after {
  position: absolute;
  z-index: 3;
  inset: 0;
  content: "";
}

.kf-related-page__stretched:focus-visible {
  outline: 0;
}

.kf-related-page__copy p {
  margin: 8px 0 0;
  color: var(--kf-color-ink-soft);
  font-size: 0.8rem;
  line-height: 1.75;
}

.kf-related-page__action {
  margin-top: auto;
  padding-top: 10px;
  color: var(--kf-color-bronze);
  font-size: 0.74rem;
}

.kf-related-page:hover,
.kf-related-page:has(.kf-related-page__stretched:focus-visible) {
  border-color: #a98c55;
  box-shadow: 0 10px 24px rgba(73, 62, 43, 0.09);
}

.kf-related-page:hover img,
.kf-related-page:has(.kf-related-page__stretched:focus-visible) img {
  filter: saturate(1.04) contrast(1.02);
  transform: scale(1.018);
}

.kf-related-page:has(.kf-related-page__stretched:focus-visible) {
  outline: 2px solid var(--kf-color-bronze);
  outline-offset: 3px;
}

.kf-related-page-stack {
  display: grid;
  gap: 18px;
}

.kf-related-page-stack > .kf-related-page {
  margin-top: 0;
}

.kf-related-page--rule > h5::before {
  width: 20px;
  height: 3px;
  border-radius: 3px;
  background: linear-gradient(90deg, #b86c77 0 42%, #72886d 42% 100%);
  content: "";
}

.kf-related-page--seal {
  border-color: #d4b5af;
  background: linear-gradient(90deg, rgba(248, 238, 232, 0.52), rgba(255, 255, 252, 0.96) 24%);
}

.kf-related-page--seal > h5 {
  left: 19px;
  padding: 5px 13px 5px 9px;
  border-radius: 4px;
  background: #a94b45;
  color: white;
  font-size: 0.86rem;
}

.kf-related-page--seal > h5::before {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.72);
  content: "連";
  font-size: 0.68rem;
  line-height: 1;
}

.kf-related-page--two-tone {
  border-color: #c8bda8;
}

.kf-related-page--two-tone::before {
  position: absolute;
  top: -1px;
  right: -1px;
  left: -1px;
  height: 4px;
  border-radius: 7px 7px 0 0;
  background: linear-gradient(90deg, #b86c77 0 36%, #72886d 36% 68%, #b59a5b 68% 100%);
  content: "";
}

.kf-related-page--two-tone > h5 {
  top: 4px;
}

.kf-related-page--bronze {
  padding-top: 52px;
  border-color: #c8b082;
  background: linear-gradient(135deg, rgba(248, 241, 222, 0.72), rgba(255, 255, 252, 0.98) 42%);
}

.kf-related-page--bronze > h5 {
  top: 0;
  left: 0;
  padding: 9px 18px;
  border-radius: 6px 0 6px 0;
  background: #967238;
  color: white;
  font-size: 0.88rem;
  transform: none;
}

/* Related reading: a small editorial doorway rather than a generic card.
 * The class notebook is the content-specific motif; the studio photograph
 * and concrete next-step copy do the rest of the work. */
.kf-body-guide__wide-sample > .kf-related-link-study__grid {
  gap: 38px;
}

.kf-related-link-study__sample {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.kf-related-link-study__sample > header {
  width: min(var(--kf-layout-without-sidebar), 100%);
  margin: 0 auto 14px;
  padding: 0;
  border: 0;
}

.kf-related-link-study__sample > header p {
  margin-bottom: 4px;
  font-size: 0.68rem;
}

.kf-related-link-study__sample > header h4 {
  font-size: 1.02rem;
}

.kf-related-page--editorial {
  box-sizing: border-box;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: 0 auto;
  padding: 14px 18px 14px 14px;
  border: 1px solid rgba(92, 82, 67, 0.24);
  border-radius: 1px;
  background: #fbfaf7;
  box-shadow: none;
}

.kf-related-page--with-sidebar {
  width: min(var(--kf-content-with-sidebar), 100%);
}

.kf-related-page--without-sidebar {
  width: min(var(--kf-layout-without-sidebar), 100%);
}

.kf-related-page--editorial .kf-related-page__body {
  z-index: 1;
  grid-template-columns: 164px minmax(0, 1fr);
  gap: 20px;
  min-height: 116px;
}

.kf-related-page--without-sidebar .kf-related-page__body {
  grid-template-columns: 184px minmax(0, 1fr);
}

.kf-related-page--editorial .kf-related-page__body figure {
  min-height: 116px;
  border-radius: 0;
  box-shadow: none;
}

.kf-related-page--editorial .kf-related-page__body img {
  filter: saturate(0.88) contrast(1.025);
}

/* Greeting pages: keep portrait and landscape thumbnails equally compact. */
.kf-greeting-related-page .kf-related-page__body figure,
.kf-message-related-page .kf-related-page__body figure {
  height: 116px;
}

.kf-related-page--editorial .kf-related-page__copy {
  position: relative;
  justify-content: flex-start;
  padding: 0 112px 0 0;
}

.kf-related-page__heading {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: -1px 0 6px;
}

.kf-related-page__heading > img {
  width: 38px;
  height: 38px;
  object-fit: contain;
  filter: none;
}

.kf-related-page__heading > div {
  min-width: 0;
}

.kf-related-page__heading span {
  display: block;
  margin-bottom: 1px;
  color: #76664d;
  font-size: 0.57rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  line-height: 1.2;
}

.kf-related-page__heading h5 {
  position: static;
  margin: 0;
  padding: 0;
  background: transparent;
  color: #37332d;
  font-size: 0.79rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.35;
  transform: none;
}

.kf-related-page--editorial .kf-related-page__kind {
  position: absolute;
  top: 5px;
  right: 2px;
  margin: 0;
  padding: 2px 0 3px;
  border-bottom: 1px solid rgba(118, 102, 77, 0.46);
  border-radius: 0;
  background: transparent;
  color: #6c6357;
  font-size: 0.61rem;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.kf-related-page--editorial .kf-related-page__copy strong {
  max-width: 35em;
  color: var(--kf-color-ink);
  font-size: 1.01rem;
  font-weight: 500;
  letter-spacing: 0.025em;
  line-height: 1.55;
}

.kf-related-page--editorial .kf-related-page__copy p {
  max-width: 46em;
  margin: 4px 0 0;
  color: #5d5850;
  font-size: 0.75rem;
  line-height: 1.62;
}

.kf-related-page--editorial .kf-related-page__action {
  position: absolute;
  right: 2px;
  bottom: 3px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  margin-top: auto;
  padding-top: 5px;
  color: #514b42;
  font-size: 0.69rem;
  font-weight: 600;
  letter-spacing: 0.05em;
}

.kf-related-page--editorial .kf-related-page__action i {
  display: grid;
  width: 18px;
  height: 18px;
  place-items: center;
  border-radius: 50%;
  border: 1px solid #81745f;
  background: transparent;
  color: #514b42;
  font-size: 0.7rem;
  font-style: normal;
  line-height: 1;
  transition: background 0.22s ease, transform 0.22s ease;
}

.kf-related-page--editorial:hover,
.kf-related-page--editorial:has(.kf-related-page__stretched:focus-visible) {
  border-color: rgba(92, 82, 67, 0.42);
  background: #f8f6f1;
  box-shadow: 0 8px 18px rgba(57, 50, 40, 0.07);
  transform: translateY(-1px);
}

.kf-related-page--editorial:hover .kf-related-page__action i,
.kf-related-page--editorial:has(.kf-related-page__stretched:focus-visible) .kf-related-page__action i {
  border-color: #514b42;
  background: #514b42;
  color: #fff;
  transform: translateX(2px);
}

/* Approved quiet-link variation: warm neutrals and an unfilled hover arrow. */
.kf-related-page--quiet-link .kf-related-page__stretched {
  color: var(--kf-color-ink);
}

.kf-related-page--quiet-link .kf-related-page__action {
  color: #76664d;
}

.kf-related-page--quiet-link .kf-related-page__stretched:hover,
.kf-related-page--quiet-link .kf-related-page__stretched:focus-visible {
  color: #655739;
}

.kf-related-page--editorial.kf-related-page--quiet-link .kf-related-page__kind {
  font-size: 0.68rem;
}

.kf-related-page--quiet-link .kf-related-page__action i {
  border-color: #81745f;
  background: transparent;
  color: #6c6357;
}

.kf-related-page--editorial.kf-related-page--quiet-link:hover .kf-related-page__action i,
.kf-related-page--editorial.kf-related-page--quiet-link:has(.kf-related-page__stretched:focus-visible) .kf-related-page__action i {
  border-color: #76664d;
  background: transparent;
  color: #514b42;
  transform: translateX(2px);
}

.kf-related-page--quiet-link + .kf-related-page--quiet-link {
  margin-top: 16px;
}

.kf-body-guide__decision {
  margin-top: 96px;
  padding: 48px;
  border: 1px solid var(--kf-color-line);
  background: rgba(255, 253, 248, 0.94);
  text-align: center;
}

.kf-body-guide__decision h2 {
  margin-top: 10px;
}

/* Local design blueprint: approved site-wide rules only. */
.kf-body-guide--blueprint .kf-body-guide__hero {
  min-height: 320px;
}

.kf-body-guide--blueprint .kf-body-guide__hero > div {
  width: min(920px, calc(100% - 48px));
}

.kf-body-guide--blueprint .kf-body-guide__intro {
  margin-bottom: 32px;
}

.kf-body-guide__principles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 32px;
}

.kf-body-guide__principles article {
  padding: 26px 28px;
  border: 1px solid var(--kf-color-line);
  border-radius: 10px;
  background: rgba(255, 253, 248, 0.92);
}

.kf-body-guide__principles b {
  color: var(--kf-color-bronze);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.76rem;
  font-weight: 400;
  letter-spacing: 0.16em;
}

.kf-body-guide__principles h2 {
  margin: 12px 0 9px;
  font-size: 1.08rem;
  font-weight: 500;
  letter-spacing: 0.06em;
}

.kf-body-guide__principles p {
  margin: 0;
  color: var(--kf-color-ink-soft);
  font-size: 0.88rem;
  line-height: 1.85;
}

.kf-body-guide__index {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  margin: 0 0 96px;
  border: 1px solid var(--kf-color-line);
  border-radius: 10px;
  background: var(--kf-color-line);
}

.kf-body-guide__index a {
  display: grid;
  min-height: 88px;
  align-content: center;
  gap: 6px;
  padding: 16px 14px;
  border: 0;
  background: rgba(255, 253, 248, 0.98);
  color: var(--kf-color-ink);
  font-size: 0.82rem;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.kf-body-guide__index a:hover,
.kf-body-guide__index a:focus-visible {
  background: var(--kf-gold-050);
  color: var(--kf-color-bronze);
}

.kf-body-guide__index span {
  color: var(--kf-color-bronze);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.68rem;
  letter-spacing: 0.14em;
}

.kf-body-guide--blueprint .kf-body-guide__section {
  scroll-margin-top: 28px;
}

.kf-blueprint-colors {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.kf-blueprint-colors > div {
  display: grid;
  gap: 7px;
  color: var(--kf-color-ink-soft);
  font-size: 0.78rem;
}

.kf-blueprint-colors i {
  display: block;
  width: 100%;
  height: 54px;
  border: 1px solid var(--kf-color-line);
  border-radius: 5px;
}

.kf-blueprint-colors i.is-ink {
  background: var(--kf-color-ink);
}

.kf-blueprint-colors i.is-paper {
  background: var(--kf-color-content-background);
}

.kf-blueprint-colors i.is-bronze {
  background: var(--kf-color-bronze);
}

.kf-blueprint-colors i.is-line {
  background: var(--kf-color-line-strong);
}

.kf-blueprint-colors strong {
  color: var(--kf-color-ink);
  font-weight: 500;
}

.kf-blueprint-rhythm {
  display: grid;
  gap: 0;
}

.kf-blueprint-rhythm p {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  gap: 16px;
  margin: 0;
  padding: 13px 0;
  border-bottom: 1px solid var(--kf-color-line);
  color: var(--kf-color-ink-soft);
  font-size: 0.86rem;
  line-height: 1.75;
}

.kf-blueprint-rhythm p:first-child {
  padding-top: 0;
}

.kf-blueprint-rhythm p:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.kf-blueprint-rhythm strong {
  color: var(--kf-color-ink);
  font-weight: 500;
}

.kf-blueprint-status {
  display: inline-block;
  margin-bottom: 24px;
  padding: 5px 11px;
  border: 1px solid var(--kf-color-line);
  border-radius: 999px;
  background: var(--kf-gold-050);
  color: var(--kf-color-bronze);
  font-size: 0.72rem;
  letter-spacing: 0.06em;
}

.kf-blueprint-usage {
  margin: 24px 0 0 !important;
  padding: 14px 16px;
  border-left: 3px solid var(--kf-color-line-strong);
  background: var(--kf-gold-050);
  color: var(--kf-color-ink-soft);
  font-size: 0.82rem;
  line-height: 1.8;
}

.kf-blueprint-rule-list {
  margin: 24px 0 0;
  padding: 22px 24px 22px 2.6rem;
  border-top: 1px solid var(--kf-color-line);
  color: var(--kf-color-ink-soft);
  font-size: 0.84rem;
  line-height: 1.8;
}

.kf-blueprint-rule-list li + li {
  margin-top: 6px;
}

.kf-body-guide--blueprint .kf-related-link-study__grid {
  grid-template-columns: 1fr;
}

.kf-body-guide--blueprint .kf-related-link-study__sample {
  max-width: 920px;
  margin-inline: auto;
}

.kf-body-guide__archive-intro {
  margin: 112px 0 8px;
  padding: 46px 48px;
  border: 1px solid var(--kf-color-line-strong);
  border-radius: 12px;
  background:
    linear-gradient(90deg, rgba(247, 243, 233, 0.97), rgba(255, 253, 248, 0.96)),
    url("../images/official-wallpaper-wp.jpg") repeat;
}

.kf-body-guide__archive-intro > p:first-child {
  margin: 0 0 12px;
  color: var(--kf-color-bronze);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.72rem;
  letter-spacing: 0.18em;
}

.kf-body-guide__archive-intro h2 {
  margin: 0 0 14px;
  font-size: clamp(1.65rem, 3vw, 2.2rem);
  font-weight: 400;
  letter-spacing: 0.08em;
}

.kf-body-guide__archive-intro > p:last-child {
  max-width: 58em;
  margin: 0;
  color: var(--kf-color-ink-soft);
  line-height: 2;
}

.kf-body-guide__section--library {
  scroll-margin-top: 28px;
}

.kf-body-guide__archive-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  margin: 0 0 28px;
  padding: 20px 24px;
  border-left: 3px solid var(--kf-color-line-strong);
  background: rgba(255, 253, 248, 0.92);
}

.kf-body-guide__archive-note strong {
  color: var(--kf-color-bronze);
  font-weight: 500;
  white-space: nowrap;
}

.kf-body-guide__archive-note p {
  margin: 0;
  color: var(--kf-color-ink-soft);
  line-height: 1.85;
}

.kf-asset-library .kf-sample-image-heading-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kf-icon-selection.kf-asset-library .kf-sample-image-heading.kf-sample-image-heading--candidate {
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 14px;
  padding: 14px;
}

.kf-asset-library .kf-sample-image-heading figure {
  width: 78px;
  height: 78px;
}

.kf-asset-library .kf-sample-image-heading img {
  width: 68px;
  height: 68px;
}

.kf-asset-library .kf-sample-image-heading h2 {
  margin: 5px 0 6px;
  font-size: 1.15rem;
  line-height: 1.45;
}

.kf-asset-library .kf-sample-image-heading span {
  font-size: 0.76rem;
  line-height: 1.6;
}

.kf-asset-library :is(.kf-decoration-sample, .kf-wallpaper-sample) small {
  display: block;
  overflow-wrap: anywhere;
  margin-top: 9px;
  color: var(--kf-color-bronze);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.62rem;
  line-height: 1.5;
}

.kf-body-guide--blueprint .kf-body-guide__decision {
  border-radius: 12px 12px 0 0;
}

@media (max-width: 900px) {
  .kf-body-guide__section-title {
    grid-template-columns: 1fr auto;
  }

  .kf-body-guide__section-title > p {
    grid-column: 1 / -1;
  }

  .kf-body-guide__comparison,
  .kf-sample-notices,
  .kf-body-guide__wide-sample > .kf-button-palette__grid,
  .kf-body-guide__wide-sample > .kf-related-link-study__grid {
    grid-template-columns: 1fr;
  }

  .kf-body-guide__principles {
    grid-template-columns: 1fr;
  }

  .kf-body-guide__index {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .kf-asset-library .kf-sample-image-heading-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kf-sample-lists {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .kf-content-flow {
    gap: 50px;
  }

  .kf-event-intro__copy h2 {
    font-size: 1.55rem;
  }

  .kf-event-intro__copy > p:not(.kf-event-intro__eyebrow) {
    margin-top: 14px;
    font-size: 0.9rem;
    line-height: 1.95;
  }

  .kf-event-guide__note {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
    padding: 15px 18px;
  }

  .kf-event-guide__details {
    grid-template-columns: 1fr;
  }

  .kf-event-guide__item,
  .kf-event-guide__item--wide {
    display: block;
    grid-column: auto;
    padding: 20px 18px 21px;
    border-bottom: 1px solid var(--kf-color-line);
    border-left: 0 !important;
  }

  .kf-event-guide__item:nth-last-child(2) {
    border-bottom: 1px solid var(--kf-color-line);
  }

  .kf-event-guide__item:last-child {
    border-bottom: 0;
  }

  .kf-body-guide > .kf-breadcrumb,
  .kf-body-guide__shell {
    width: calc(100% - 28px);
  }

  .kf-body-guide > .kf-breadcrumb {
    padding-inline: 6px;
  }

  .kf-body-guide__hero {
    min-height: 250px;
  }

  .kf-body-guide__hero > div {
    width: calc(100% - 28px);
    padding: 40px 10px;
  }

  .kf-body-guide__shell {
    padding: 48px 0 0;
  }

  .kf-body-guide__intro {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 64px;
    padding: 28px 24px;
  }

  .kf-body-guide__index {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 72px;
  }

  .kf-body-guide__index a {
    min-height: 72px;
  }

  .kf-blueprint-colors {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kf-blueprint-rhythm p {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .kf-body-guide__archive-intro {
    margin-top: 80px;
    padding: 32px 24px;
  }

  .kf-body-guide__archive-note {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 18px 20px;
  }

  .kf-asset-library .kf-sample-image-heading-list {
    grid-template-columns: 1fr;
  }

  .kf-body-guide__section {
    margin-top: 72px;
  }

  .kf-body-guide__section-title {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .kf-body-guide__section-title > p {
    grid-column: auto;
  }

  .kf-body-guide__section-title > span {
    margin-top: 5px;
  }

  .kf-body-guide__canvas,
  .kf-body-guide__wide-sample > :not(header) {
    padding: 24px 20px;
  }

  .kf-body-guide__wide-sample > .kf-step-comparison__intro {
    padding: 22px 20px 0;
  }

  .kf-body-guide__wide-sample > .kf-step-comparison__list {
    gap: 22px;
    padding: 22px 16px 26px;
  }

  .kf-step-study__header {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 14px;
    padding: 19px 18px;
  }

  .kf-step-study__header > b {
    width: 36px;
    height: 36px;
  }

  .kf-step-study__steps {
    padding: 24px 18px 28px;
  }

  .kf-step-study--line .kf-step-study__steps li {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 16px;
    padding-bottom: 28px;
  }

  .kf-step-study--line .kf-step-study__steps li:not(:last-child)::after {
    left: 18px;
  }

  .kf-step-study--line .kf-step-study__marker {
    width: 38px;
    height: 38px;
  }

  .kf-step-study--editorial .kf-step-study__steps li {
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 16px;
    padding: 24px 0;
  }

  .kf-step-study--editorial .kf-step-study__marker {
    font-size: 1.9rem;
  }

  .kf-sample-image-heading,
  .kf-sample-media {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .kf-sample-image-heading-list {
    grid-template-columns: 1fr;
  }

  .kf-sample-image-heading img {
    width: 64px;
    height: 64px;
  }

  .kf-sample-image-heading figure {
    width: 76px;
    height: 76px;
  }

  .kf-sample-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .kf-sample-button {
    width: 100%;
  }

  .kf-body-guide__wide-sample > .kf-button-palette__intro {
    padding: 22px 18px 0;
  }

  .kf-body-guide__wide-sample > .kf-button-palette__grid {
    gap: 14px;
    padding: 20px 18px 24px;
  }

  .kf-button-palette__item {
    padding: 18px;
  }

  .kf-button-palette__buttons {
    grid-template-columns: 1fr;
  }

  .kf-body-guide__wide-sample > .kf-related-link-study__grid {
    gap: 16px;
    padding: 20px 18px 24px;
  }

  .kf-related-link-study__sample {
    padding: 15px;
  }

  .kf-related-link--horizontal {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .kf-related-link--horizontal figure {
    aspect-ratio: 16 / 8.6;
  }

  .kf-related-link--horizontal .kf-related-link__copy {
    padding: 19px 20px 21px;
  }

  .kf-related-link--compact {
    grid-template-columns: 96px minmax(0, 1fr);
  }

  .kf-related-link--compact .kf-related-link__copy {
    padding: 14px;
  }

  .kf-related-link--overlay {
    min-height: 220px;
  }

  .kf-related-page {
    padding: 30px 16px 18px;
  }

  .kf-related-page__body {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .kf-related-page__body figure {
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 7.5;
  }

  .kf-related-page__copy strong {
    font-size: 1rem;
  }

  .kf-related-page--bronze {
    padding-top: 52px;
  }

  .kf-related-page--editorial {
    padding: 12px;
  }

  .kf-related-page--editorial .kf-related-page__body,
  .kf-related-page--without-sidebar .kf-related-page__body {
    grid-template-columns: 102px minmax(0, 1fr);
    gap: 12px;
    min-height: 104px;
  }

  .kf-related-page--editorial .kf-related-page__body figure {
    height: 100%;
    min-height: 104px;
    aspect-ratio: auto;
  }

  .kf-related-page--editorial .kf-related-page__copy {
    position: relative;
    padding-right: 0;
  }

  .kf-related-page__heading {
    flex-shrink: 0;
    gap: 6px;
    margin-bottom: 5px;
  }

  .kf-related-page__heading > img {
    width: 30px;
    height: 30px;
  }

  .kf-related-page__heading span {
    display: none;
  }

  .kf-related-page__heading h5 {
    font-size: 0.7rem;
  }

  .kf-related-page--editorial .kf-related-page__kind {
    position: static;
    flex-shrink: 0;
    margin: 0 0 4px;
    padding: 2px 7px 3px;
    font-size: 0.56rem;
  }

  .kf-related-page--editorial.kf-related-page--quiet-link .kf-related-page__kind {
    font-size: 0.62rem;
  }

  .kf-related-page--editorial .kf-related-page__copy strong {
    flex-shrink: 0;
    font-size: 0.87rem;
    line-height: 1.5;
  }

  .kf-related-page--editorial .kf-related-page__summary {
    display: none;
  }

  .kf-related-page--editorial .kf-related-page__action {
    display: none;
  }

  .kf-body-guide__decision {
    margin-top: 72px;
    padding: 36px 24px;
  }
}

/* Keep candidate cards compact after the generic guide-card rules above. */
.kf-icon-selection .kf-sample-image-heading.kf-sample-image-heading--candidate {
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 16px;
  padding: 16px;
}

@media (max-width: 700px) {
  .kf-icon-selection .kf-sample-image-heading.kf-sample-image-heading--candidate {
    grid-template-columns: 84px minmax(0, 1fr);
  }
}

/* Intermediate classes: one restrained structure for the two advanced paths. */

body.kf-intermediate-class-page .kf-page-article {
  padding: 48px 50px 58px;
}

body.kf-intermediate-class-page .kf-page-layout--with-sidebar .kf-page-article > .entry-content {
  width: 100%;
  max-width: none;
}

.kf-intermediate {
  width: 100%;
  color: var(--kf-color-ink);
}

.kf-intermediate p {
  margin: 0;
  line-height: 1.95;
}

.kf-intermediate__opening {
  position: relative;
  display: grid;
  grid-template-columns: minmax(190px, 0.68fr) minmax(0, 1.32fr);
  gap: 36px;
  align-items: center;
  overflow: hidden;
  padding: 30px;
  border: 1px solid color-mix(in srgb, var(--kf-color-line-strong) 72%, transparent);
  border-top: 3px solid color-mix(in srgb, var(--kf-color-bronze) 70%, transparent);
  background: linear-gradient(145deg, #faf8f2, #f1f4ec);
}

.kf-intermediate__opening::after {
  position: absolute;
  right: -58px;
  bottom: -76px;
  width: 190px;
  height: 190px;
  border: 1px solid rgba(138, 115, 68, 0.12);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.kf-intermediate__opening figure {
  position: relative;
  z-index: 1;
  margin: 0;
}

.kf-intermediate__opening figure::before {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 100%;
  height: 100%;
  border: 1px solid color-mix(in srgb, var(--kf-color-bronze) 40%, transparent);
  content: "";
}

.kf-intermediate__opening img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.kf-intermediate-class-page--taichi .kf-intermediate__opening img {
  object-position: 54% center;
}

.kf-intermediate-class-page--bagua .kf-intermediate__opening img {
  object-position: center 20%;
}

.kf-intermediate__opening-copy {
  position: relative;
  z-index: 1;
}

.kf-intermediate__eyebrow,
.kf-intermediate__section-head p,
.kf-intermediate__instructors > p,
.kf-intermediate__eligibility > p:first-child {
  color: var(--kf-color-bronze);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.66rem;
  letter-spacing: 0.18em;
  line-height: 1.55;
}

.kf-intermediate__stage {
  display: inline-flex;
  margin: 10px 0 14px;
  padding: 4px 10px;
  border: 1px solid rgba(91, 111, 85, 0.28);
  border-radius: 999px;
  color: #596b55;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
}

.kf-intermediate__opening h2 {
  margin: 0 0 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--kf-color-line-strong);
  color: var(--kf-color-ink);
  font-size: clamp(1.45rem, 2.5vw, 1.9rem);
  font-weight: 400;
  letter-spacing: 0.09em;
  line-height: 1.65;
}

.kf-intermediate__opening-copy > p:not(.kf-intermediate__eyebrow) + p {
  margin-top: 13px;
}

.kf-intermediate__section {
  margin-top: 74px;
}

.kf-intermediate__section-head {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 0 15px;
  align-items: start;
  margin-bottom: 25px;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--kf-color-line-strong);
}

.kf-intermediate__section-head > img {
  grid-column: 1;
  grid-row: 2;
  display: block;
  width: 48px;
  height: 48px;
  object-fit: contain;
}

.kf-intermediate__section-head > div {
  display: contents;
}

.kf-intermediate__section-head p {
  grid-column: 2;
  grid-row: 1;
  margin-bottom: 4px;
}

.kf-intermediate__section-head h2 {
  grid-column: 2;
  grid-row: 2;
  margin: 0;
  color: var(--kf-color-ink);
  font-size: clamp(1.45rem, 2.4vw, 1.82rem);
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.55;
}

.kf-intermediate__section-lead {
  width: min(100%, 680px);
  color: var(--kf-color-ink-soft);
}

.kf-intermediate__facets {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 25px;
}

.kf-intermediate__facets article {
  min-width: 0;
  padding: 24px 21px 25px;
  border: 1px solid var(--kf-color-line);
  border-top: 3px solid color-mix(in srgb, var(--kf-color-bronze) 62%, transparent);
  background: color-mix(in srgb, var(--kf-color-surface) 96%, var(--kf-color-paper));
}

.kf-intermediate__facets span,
.kf-intermediate__venue span,
.kf-intermediate__flow small,
.kf-intermediate__instructor-grid article > div > span {
  color: var(--kf-color-bronze);
  font-size: 0.64rem;
  letter-spacing: 0.12em;
  line-height: 1.55;
}

.kf-intermediate__facets h3 {
  margin: 11px 0 10px;
  color: var(--kf-color-ink);
  font-size: 1.02rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.6;
}

.kf-intermediate__facets p {
  color: var(--kf-color-ink-soft);
  font-size: 0.84rem;
}

.kf-intermediate__heritage {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(250px, 0.92fr);
  margin-top: 74px;
  border: 1px solid color-mix(in srgb, var(--kf-color-line) 76%, transparent);
  background: #f8f5ed;
}

.kf-intermediate__heritage-copy {
  padding: 38px 36px 40px;
}

.kf-intermediate__heritage .kf-intermediate__section-head {
  margin-bottom: 22px;
}

.kf-intermediate__heritage-copy > p + p {
  margin-top: 14px;
}

.kf-intermediate__heritage-copy > a,
.kf-intermediate__venue a,
.kf-intermediate__instructor-grid article > div > a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 18px;
  color: #536650;
  font-size: 0.8rem;
  font-weight: 500;
  text-decoration: none;
}

.kf-intermediate__heritage > figure {
  min-height: 100%;
  margin: 0;
  overflow: hidden;
}

.kf-intermediate__heritage > figure img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
}

.kf-intermediate-class-page--taichi .kf-intermediate__heritage > figure img {
  object-position: 58% center;
}

.kf-intermediate__flow {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 15px;
  border: 1px solid color-mix(in srgb, var(--kf-color-line) 75%, transparent);
  background: #fbfaf7;
  list-style: none;
}

.kf-intermediate__flow li {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
  padding: 22px 24px;
  background: #eef3eb;
}

.kf-intermediate__flow li > span {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 50%;
  background: #667a61;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
}

.kf-intermediate__flow h3 {
  margin: 5px 0 6px;
  color: var(--kf-color-ink);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.55;
}

.kf-intermediate__flow p {
  color: var(--kf-color-ink-soft);
  font-size: 0.84rem;
}

.kf-intermediate__venue {
  display: grid;
  grid-template-columns: minmax(240px, 0.9fr) minmax(0, 1.1fr);
  min-height: 300px;
  overflow: hidden;
  border: 1px solid var(--kf-color-line);
  background: #f8f5ed;
}

.kf-intermediate__venue figure {
  margin: 0;
}

.kf-intermediate__venue figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kf-intermediate__venue > div {
  align-self: center;
  padding: 32px 34px;
}

.kf-intermediate__venue h3 {
  margin: 12px 0 18px;
  color: var(--kf-color-ink);
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.6;
}

.kf-intermediate__venue p + p {
  margin-top: 10px;
}

.kf-intermediate__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 16px 0 0;
  border-top: 1px solid var(--kf-color-line);
  border-left: 1px solid var(--kf-color-line);
}

.kf-intermediate__facts > div {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  min-width: 0;
  border-right: 1px solid var(--kf-color-line);
  border-bottom: 1px solid var(--kf-color-line);
}

.kf-intermediate__facts dt,
.kf-intermediate__facts dd {
  margin: 0;
  padding: 16px 17px;
  line-height: 1.7;
}

.kf-intermediate__facts dt {
  background: #f4f1e8;
  color: var(--kf-color-ink-soft);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.06em;
}

.kf-intermediate__facts dd {
  font-size: 0.86rem;
}

.kf-intermediate__instructors {
  margin-top: 40px;
  padding-top: 30px;
  border-top: 1px solid var(--kf-color-line-strong);
}

.kf-intermediate__instructors > p {
  margin-bottom: 5px;
}

.kf-intermediate__instructors > h3 {
  margin: 0 0 22px;
  color: var(--kf-color-ink);
  font-size: 1.18rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.6;
}

.kf-intermediate__instructor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--kf-color-line);
  border-bottom: 1px solid var(--kf-color-line);
}

.kf-intermediate__instructor-grid article {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 17px;
  align-items: start;
  padding: 28px 25px 28px 0;
}

.kf-intermediate__instructor-grid article + article {
  padding-right: 0;
  padding-left: 25px;
  border-left: 1px solid var(--kf-color-line);
}

.kf-intermediate__avatar img {
  display: block;
  width: 70px;
  height: 70px;
  border: 2px solid #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 1px var(--kf-color-line-strong);
  object-fit: cover;
}

.kf-intermediate__instructor-grid h4 {
  margin: 4px 0 8px;
  color: var(--kf-color-ink);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.5;
}

.kf-intermediate__instructor-grid p {
  color: var(--kf-color-ink-soft);
  font-size: 0.78rem;
}

.kf-intermediate__instructor-note {
  margin: 18px 0 0;
  color: var(--kf-color-ink-soft);
  font-size: 0.76rem;
  text-align: center;
}

.kf-intermediate__eligibility {
  margin-top: 74px;
  padding: 40px 42px 42px;
  border: 1px solid color-mix(in srgb, var(--kf-color-line-strong) 78%, transparent);
  background: linear-gradient(145deg, #faf6ed, #eef3e9);
  text-align: center;
}

.kf-intermediate__eligibility h2 {
  margin: 7px 0 17px;
  color: var(--kf-color-ink);
  font-size: clamp(1.35rem, 2.3vw, 1.7rem);
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.6;
}

.kf-intermediate__eligibility > p:not(:first-child) {
  width: min(100%, 650px);
  margin-inline: auto;
}

.kf-intermediate__eligibility > small {
  display: block;
  width: min(100%, 650px);
  margin: 14px auto 0;
  color: var(--kf-color-ink-soft);
  font-size: 0.76rem;
  line-height: 1.8;
  text-align: left;
}

.kf-intermediate__eligibility > small span {
  margin-right: 3px;
  color: #a75c50;
}

.kf-intermediate__eligibility > div {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 25px;
}

.kf-intermediate__eligibility > div a {
  display: inline-flex;
  min-height: 48px;
  min-width: 210px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  box-sizing: border-box;
  padding: 11px 20px;
  border: 1px solid #61745d;
  border-radius: 999px;
  color: #52654f;
  font-size: 0.82rem;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
}

.kf-intermediate__eligibility > div a.is-primary {
  background: #61745d;
  color: #fff;
}

.kf-intermediate__heritage-copy > a:hover,
.kf-intermediate__heritage-copy > a:focus-visible,
.kf-intermediate__venue a:hover,
.kf-intermediate__venue a:focus-visible,
.kf-intermediate__instructor-grid article > div > a:hover,
.kf-intermediate__instructor-grid article > div > a:focus-visible {
  color: var(--kf-color-ink);
}

.kf-intermediate__eligibility > div a:hover,
.kf-intermediate__eligibility > div a:focus-visible {
  background: #52654f;
  color: #fff;
}

@media (max-width: 760px) {
  body.kf-intermediate-class-page .kf-page-article {
    padding: 30px 20px 40px;
  }

  .kf-intermediate__opening {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 22px;
  }

  .kf-intermediate__opening figure {
    width: min(100%, 280px);
    margin-inline: auto;
  }

  .kf-intermediate__opening h2 {
    font-size: 1.42rem;
  }

  .kf-intermediate__section,
  .kf-intermediate__heritage,
  .kf-intermediate__eligibility {
    margin-top: 58px;
  }

  .kf-intermediate__section-head {
    grid-template-columns: 44px minmax(0, 1fr);
    column-gap: 11px;
  }

  .kf-intermediate__section-head > img {
    width: 40px;
    height: 40px;
  }

  .kf-intermediate__section-head h2 {
    font-size: 1.35rem;
  }

  .kf-intermediate__facets,
  .kf-intermediate__heritage,
  .kf-intermediate__venue,
  .kf-intermediate__facts,
  .kf-intermediate__instructor-grid {
    grid-template-columns: 1fr;
  }

  .kf-intermediate__facets article {
    padding: 22px 20px;
  }

  .kf-intermediate__heritage > figure {
    grid-row: 1;
  }

  .kf-intermediate__heritage > figure img {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }

  .kf-intermediate__heritage-copy {
    padding: 28px 22px 30px;
  }

  .kf-intermediate__flow {
    padding: 10px;
  }

  .kf-intermediate__flow li {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 14px;
    padding: 19px 17px;
  }

  .kf-intermediate__flow li > span {
    width: 38px;
    height: 38px;
  }

  .kf-intermediate__venue {
    min-height: 0;
  }

  .kf-intermediate__venue figure img {
    aspect-ratio: 4 / 3;
  }

  .kf-intermediate__venue > div {
    padding: 27px 22px 29px;
  }

  .kf-intermediate__facts > div {
    grid-template-columns: 82px minmax(0, 1fr);
  }

  .kf-intermediate__facts dt,
  .kf-intermediate__facts dd {
    padding: 14px 13px;
  }

  .kf-intermediate__instructor-grid article,
  .kf-intermediate__instructor-grid article + article {
    padding: 24px 0;
    border-left: 0;
  }

  .kf-intermediate__instructor-grid article + article {
    border-top: 1px solid var(--kf-color-line);
  }

  .kf-intermediate__eligibility {
    padding: 32px 20px 34px;
  }

  .kf-intermediate__eligibility > div {
    display: grid;
  }

  .kf-intermediate__eligibility > div a {
    width: 100%;
    min-width: 0;
  }
}

/* Shared practice-content pages: one structure for Taijiquan and Baguazhang. */

body.kf-class-practice-page .kf-page-layout--wide {
  width: min(1120px, calc(100% - (var(--kf-mobile-gutter) * 2)));
}

body.kf-class-practice-page .kf-page-article {
  padding: 58px 62px 66px;
}

body.kf-class-practice-page .kf-page-layout--wide .kf-page-article > .entry-content {
  width: 100%;
  max-width: 920px;
}

body.kf-class-practice-page .kf-page-title-scene__title {
  font-size: clamp(1.8rem, 3.6vw, 2.8rem);
  letter-spacing: 0.08em;
}

.kf-class-practice {
  width: 100%;
  max-width: none;
  color: var(--kf-color-ink);
}

.kf-class-practice p {
  margin: 0;
  line-height: 1.95;
}

.kf-class-practice__intro {
  display: grid;
  grid-template-columns: minmax(240px, 0.72fr) minmax(0, 1.28fr);
  gap: 48px;
  align-items: start;
}

.kf-class-practice__intro-image {
  margin: 0;
}

.kf-class-practice__intro-image img {
  display: block;
  width: 100%;
  aspect-ratio: 2 / 3;
  border: 1px solid color-mix(in srgb, var(--kf-color-line-strong) 72%, transparent);
  border-radius: 2px;
  object-fit: cover;
}

.kf-class-practice__intro-copy {
  padding-top: 12px;
}

.kf-class-practice__eyebrow,
.kf-class-practice__section-head > p,
.kf-class-practice__trial span {
  color: var(--kf-color-bronze);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.68rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  line-height: 1.6;
}

.kf-class-practice__intro-copy > .kf-class-practice__eyebrow {
  margin-bottom: 9px;
}

.kf-class-practice__intro h2 {
  margin: 0 0 24px;
  padding: 0 0 15px;
  border-bottom: 1px solid var(--kf-color-line-strong);
  color: var(--kf-color-ink);
  font-size: clamp(1.55rem, 2.7vw, 2rem);
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.65;
}

.kf-class-practice__intro-copy > p:not(.kf-class-practice__eyebrow) + p {
  margin-top: 15px;
}

.kf-class-practice__secondary {
  margin-top: 24px;
  padding: 0;
  border: 0;
}

.kf-class-practice__secondary h3 {
  margin: 0 0 10px;
  color: var(--kf-color-ink);
  font-size: 1.04rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.7;
}

.kf-class-practice__section {
  margin-top: 80px;
}

.kf-class-practice__section-head {
  position: relative;
  min-height: 58px;
  margin-bottom: 30px;
  padding: 0 0 16px 72px;
  border-bottom: 1px solid var(--kf-color-line-strong);
}

.kf-class-practice__section-head::before {
  position: absolute;
  top: 18px;
  left: 0;
  width: 50px;
  height: 50px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
}

body.kf-class-practice-page--taichi .kf-class-practice__section-head--foundation::before {
  background-image: url("../images/heading-icons/heading-taijitu-v3.png");
}

body.kf-class-practice-page--bagua .kf-class-practice__section-head--foundation::before {
  background-image: url("../images/heading-icons/heading-bagua-v1.png");
}

.kf-class-practice__section-head--practice::before {
  background-image: url("../images/heading-icon-candidates/new/C13-practice-notebook.png");
}

.kf-class-practice__section-head--classes::before {
  background-image: url("../images/heading-icon-candidates/new/C18-access-signpost.png");
}

.kf-class-practice__section-head > p {
  margin-bottom: 6px;
}

.kf-class-practice__section-head h2 {
  margin: 0;
  color: var(--kf-color-ink);
  font-size: clamp(1.5rem, 2.5vw, 1.9rem);
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.6;
}

.kf-class-practice__foundation {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.9fr);
  gap: 42px;
  align-items: center;
}

.kf-class-practice__foundation.is-text-only {
  display: block;
}

.kf-class-practice__foundation.is-text-only .kf-class-practice__prose {
  width: min(100%, 760px);
}

.kf-class-practice__prose p + p {
  margin-top: 18px;
}

.kf-class-practice__foundation figure {
  margin: 0;
}

.kf-class-practice__foundation img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 2px;
}

.kf-class-practice__foundation figcaption,
.kf-class-practice__gallery figcaption {
  margin-top: 8px;
  color: var(--kf-color-ink-soft);
  font-size: 0.7rem;
  line-height: 1.6;
  text-align: center;
}

.kf-class-practice__trial {
  display: flex;
  justify-content: space-between;
  gap: 28px;
  align-items: center;
  margin: 64px 0 0;
  padding: 25px 28px;
  border: 1px solid var(--kf-color-line);
  border-radius: 9px;
  background: color-mix(in srgb, var(--kf-color-paper) 72%, var(--kf-color-surface));
}

.kf-class-practice__trial span {
  display: block;
  margin-bottom: 5px;
}

.kf-class-practice__trial p {
  color: var(--kf-color-ink-soft);
  font-size: 0.9rem;
}

.kf-class-practice__trial > a,
.kf-class-practice__actions a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 14px;
  box-sizing: border-box;
  padding: 11px 22px;
  border: 1px solid #62765e;
  border-radius: 999px;
  color: #4f624c;
  font-size: 0.86rem;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.kf-class-practice__trial > a:hover,
.kf-class-practice__trial > a:focus-visible,
.kf-class-practice__actions a:hover,
.kf-class-practice__actions a:focus-visible {
  background: #62765e;
  color: #fff;
  transform: translateY(-1px);
}

.kf-class-practice__steps {
  display: grid;
  gap: 42px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kf-class-practice__steps > li {
  position: relative;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 22px;
  margin: 0;
  padding: 34px 38px 38px;
  border: 1px solid color-mix(in srgb, var(--kf-color-line) 70%, #fff);
  background: #fff;
  box-shadow: 0 8px 22px rgba(63, 55, 42, 0.07);
}

.kf-class-practice__steps > li:not(:last-child)::after {
  position: absolute;
  bottom: -29px;
  left: 50%;
  border-top: 10px solid #dededb;
  border-right: 9px solid transparent;
  border-left: 9px solid transparent;
  content: "";
  transform: translateX(-50%);
}

.kf-class-practice__number {
  display: block;
  width: 42px;
  height: auto;
  color: var(--kf-color-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0;
  line-height: 1;
  text-align: center;
}

.kf-class-practice__number::before {
  display: block;
  margin-bottom: 3px;
  content: "STEP";
  font-size: 0.58rem;
  letter-spacing: 0.05em;
}

.kf-class-practice__number::after {
  display: block;
  content: attr(data-step);
  font-size: 1.55rem;
  line-height: 1;
}

.kf-class-practice__step-label {
  margin: 0 0 14px !important;
  color: var(--kf-color-ink);
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.6 !important;
}

.kf-class-practice__step-label::before {
  content: "【";
}

.kf-class-practice__step-label::after {
  content: "】";
}

.kf-class-practice__step-body h3 {
  margin: 0 0 13px;
  color: var(--kf-color-ink);
  font-size: 1.22rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.65;
}

.kf-class-practice__step-copy > p + p {
  margin-top: 13px;
}

.kf-class-practice__gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin-top: 24px;
}

.kf-class-practice__gallery figure {
  flex: 1 1 180px;
  max-width: 238px;
  margin: 0;
}

.kf-class-practice__gallery img {
  display: block;
  width: 100%;
  aspect-ratio: 2 / 3;
  border-radius: 2px;
  object-fit: cover;
}

body.kf-class-practice-page--bagua .kf-class-practice__steps > li.has-media:has(.kf-class-practice__gallery figure:only-child) .kf-class-practice__step-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, 0.68fr);
  gap: 34px;
  align-items: start;
}

body.kf-class-practice-page--bagua .kf-class-practice__steps > li.has-media:has(.kf-class-practice__gallery figure:only-child) .kf-class-practice__gallery {
  grid-column: 2;
  grid-row: 1;
  justify-content: stretch;
  margin-top: 0;
}

body.kf-class-practice-page--bagua .kf-class-practice__steps > li.has-media:has(.kf-class-practice__gallery figure:only-child) .kf-class-practice__gallery figure {
  width: min(100%, 250px);
  flex: none;
  max-width: none;
  margin-inline: auto;
}

.kf-class-practice__studio {
  margin: 0 0 24px;
  overflow: hidden;
  border-radius: 4px;
}

.kf-class-practice__studio img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 6;
  object-fit: cover;
}

.kf-class-practice__classes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.kf-class-practice__classes article {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  padding: 27px 26px 25px;
  border: 1px solid var(--kf-color-line);
  border-top: 3px solid color-mix(in srgb, var(--kf-color-bronze) 68%, transparent);
  border-radius: 7px;
  background: color-mix(in srgb, var(--kf-color-surface) 94%, var(--kf-color-paper));
}

.kf-class-practice__status {
  margin-bottom: 12px;
  padding: 4px 9px;
  border-radius: 999px;
  background: #efede8;
  color: #6b675e;
  font-size: 0.67rem;
  line-height: 1.45;
}

.kf-class-practice__status.is-open {
  background: #edf3e9;
  color: #536650;
}

.kf-class-practice__classes h3 {
  margin: 0 0 5px;
  color: var(--kf-color-ink);
  font-size: 1.22rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.55;
}

.kf-class-practice__schedule {
  color: var(--kf-color-bronze);
  font-weight: 500;
  letter-spacing: 0.04em;
}

.kf-class-practice__schedule-note {
  margin-top: 2px !important;
  color: var(--kf-color-ink-soft);
  font-size: 0.72rem;
}

.kf-class-practice__classes article > p:not(.kf-class-practice__schedule, .kf-class-practice__schedule-note) {
  margin-top: 17px;
  color: var(--kf-color-ink-soft);
  font-size: 0.87rem;
}

.kf-class-practice__classes article > a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: auto;
  padding-top: 22px;
  color: #566953;
  font-size: 0.82rem;
  font-weight: 500;
  text-decoration: none;
}

.kf-class-practice__classes article > a:hover,
.kf-class-practice__classes article > a:focus-visible {
  color: var(--kf-color-ink);
}

.kf-class-practice__final {
  margin-top: 78px;
  padding: 42px 36px 40px;
  border: 1px solid color-mix(in srgb, var(--kf-color-line-strong) 78%, transparent);
  border-radius: 10px;
  background: linear-gradient(145deg, #f8f4eb, #eef2ea);
  text-align: center;
}

.kf-class-practice__final > .kf-class-practice__eyebrow {
  margin-bottom: 7px;
}

.kf-class-practice__final h2 {
  margin: 0 0 13px;
  color: var(--kf-color-ink);
  font-size: clamp(1.45rem, 2.4vw, 1.82rem);
  font-weight: 400;
  letter-spacing: 0.09em;
  line-height: 1.65;
}

.kf-class-practice__final > p:not(.kf-class-practice__eyebrow) {
  width: min(100%, 650px);
  margin-inline: auto;
  color: var(--kf-color-ink-soft);
  font-size: 0.9rem;
}

.kf-class-practice__actions {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 24px;
}

.kf-class-practice__actions a {
  min-width: 210px;
}

.kf-class-practice__actions a.is-primary {
  border-color: #62765e;
  background: #62765e;
  color: #fff;
}

.kf-class-practice__actions a.is-primary:hover,
.kf-class-practice__actions a.is-primary:focus-visible {
  background: #4f624c;
}

@media (max-width: 760px) {
  body.kf-class-practice-page .kf-page-layout--wide {
    width: calc(100% - 28px);
  }

  body.kf-class-practice-page .kf-page-article {
    padding: 34px 22px 40px;
  }

  body.kf-class-practice-page .kf-page-title-scene__title {
    font-size: clamp(1.55rem, 7.2vw, 2rem);
    line-height: 1.55;
  }

  .kf-class-practice__intro {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .kf-class-practice__intro-image {
    width: min(260px, 82%);
    margin-inline: auto;
  }

  .kf-class-practice__intro-copy {
    padding-top: 0;
  }

  .kf-class-practice__intro h2 {
    font-size: 1.45rem;
  }

  .kf-class-practice__section {
    margin-top: 62px;
  }

  .kf-class-practice__section-head {
    min-height: 46px;
    margin-bottom: 24px;
    padding: 0 0 13px 56px;
  }

  .kf-class-practice__section-head::before {
    top: 15px;
    width: 42px;
    height: 42px;
  }

  .kf-class-practice__section-head h2 {
    font-size: 1.42rem;
  }

  .kf-class-practice__foundation {
    grid-template-columns: 1fr;
    gap: 25px;
  }

  .kf-class-practice__trial {
    display: grid;
    gap: 18px;
    margin-top: 48px;
    padding: 22px 20px;
  }

  .kf-class-practice__trial > a {
    width: 100%;
  }

  .kf-class-practice__steps > li {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 12px;
    padding: 25px 18px 28px;
  }

  .kf-class-practice__steps {
    gap: 34px;
  }

  .kf-class-practice__steps > li:not(:last-child)::after {
    bottom: -23px;
  }

  .kf-class-practice__number {
    width: 36px;
  }

  .kf-class-practice__number::before {
    font-size: 0.52rem;
  }

  .kf-class-practice__number::after {
    font-size: 1.32rem;
  }

  .kf-class-practice__step-body h3 {
    font-size: 1.08rem;
  }

  .kf-class-practice__gallery {
    gap: 10px;
    width: calc(100% + 48px);
    margin-left: -48px;
  }

  .kf-class-practice__gallery figure {
    flex-basis: calc(50% - 5px);
    max-width: none;
  }

  .kf-class-practice__gallery figure:only-child {
    max-width: 72%;
  }

  body.kf-class-practice-page--bagua .kf-class-practice__steps > li.has-media:has(.kf-class-practice__gallery figure:only-child) .kf-class-practice__step-body {
    display: block;
  }

  body.kf-class-practice-page--bagua .kf-class-practice__steps > li.has-media:has(.kf-class-practice__gallery figure:only-child) .kf-class-practice__gallery {
    margin-top: 24px;
  }

  body.kf-class-practice-page--bagua .kf-class-practice__steps > li.has-media:has(.kf-class-practice__gallery figure:only-child) .kf-class-practice__gallery figure:only-child {
    width: auto;
    max-width: 72%;
  }

  .kf-class-practice__studio img {
    aspect-ratio: 4 / 3;
  }

  .kf-class-practice__classes {
    grid-template-columns: 1fr;
  }

  .kf-class-practice__classes article {
    padding: 24px 22px;
  }

  .kf-class-practice__final {
    margin-top: 62px;
    padding: 32px 20px;
  }

  .kf-class-practice__actions {
    display: grid;
  }

  .kf-class-practice__actions a {
    width: 100%;
    min-width: 0;
  }
}

/* Shared detail-page components for the practical class pages. */

.kf-class-detail-page .entry-content {
  color: var(--kf-color-ink);
}

.kf-class-detail-page .kf-class-opening {
  position: relative;
  z-index: 0;
  box-sizing: border-box;
  overflow: visible;
  width: 100%;
  max-width: none !important;
  margin-top: 0;
  margin-right: 0 !important;
  margin-bottom: 76px;
  margin-left: 0 !important;
  padding: 0;
  border-radius: 0;
  background: transparent;
}

.kf-class-detail-page .kf-class-studio-note {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 42px;
  margin: 0;
  padding: 30px 36px 32px;
  border-top: 1px solid rgba(150, 112, 78, 0.24);
  border-bottom: 1px solid rgba(150, 112, 78, 0.24);
  background: rgba(255, 252, 245, 0.96);
}



.kf-class-detail-page .kf-class-studio-note h3 {
  margin: 0 0 11px;
  color: #292822;
  font-size: 1.35rem;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.04em;
}

.kf-class-detail-page .kf-class-studio-note__points {
  display: grid;
  gap: 8px;
  margin: 17px 0 0;
}

.kf-class-detail-page .kf-class-studio-note__points p {
  position: relative;
  margin: 0;
  padding-left: 18px;
  color: #44443e;
  font-size: 0.94rem;
  font-weight: 500;
  line-height: 1.7;
}

.kf-class-detail-page .kf-class-studio-note__points p::before {
  position: absolute;
  top: 0.72em;
  left: 1px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #7b9075;
  content: "";
}

.kf-class-detail-page .kf-class-studio-note__points p + p::before {
  background: #b79055;
}

.kf-class-detail-page .kf-class-studio-note__detail > p {
  margin: 0;
  color: #55534c;
  font-size: 0.85rem;
  line-height: 1.85;
}

.kf-class-detail-page .kf-class-studio-note__detail {
  padding-left: 42px;
  border-left: 1px solid var(--kf-color-line);
}



.kf-class-detail-page .kf-class-studio-note__first-copy {
  font-size: 0.9rem !important;
  line-height: 1.9 !important;
}

.kf-class-detail-page .kf-class-studio-note__price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 12px;
  margin-top: 16px !important;
  padding: 13px 16px;
  background: #f4efe5;
}

.kf-class-detail-page .kf-class-studio-note__price span {
  color: #7b6345;
  font-size: 0.76rem;
  letter-spacing: 0.05em;
}

.kf-class-detail-page .kf-class-studio-note__price strong {
  color: #302e29;
  font-size: 1.24rem;
  font-weight: 500;
}

.kf-class-detail-page .kf-class-studio-note__price small {
  flex-basis: 100%;
  color: #686158;
  font-size: 0.75rem;
}

.kf-class-detail-page .kf-class-studio-note ul {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

.kf-class-detail-page .kf-class-studio-note li {
  margin: 0;
  padding: 5px 10px;
  border: 1px solid rgba(110, 132, 105, 0.34);
  border-radius: 999px;
  background: rgba(239, 244, 236, 0.82);
  color: #52604f;
  font-size: 0.69rem;
  line-height: 1.5;
}

.kf-class-detail-page .kf-class-opening__copy {
  position: relative;
  box-sizing: border-box;
  max-width: none;
  margin-right: auto;
  margin-left: auto;
  padding: 72px 90px 66px;
  background: var(--kf-color-content-background);
  text-align: center;
}

/* The Bagua introduction carries a single, quiet dragon through the sky.
 * The illustration stays page-specific so the shared class template remains clean. */
:is(.kf-bagua-class-page, .kf-chenstyle-taichi-class-page) .kf-class-opening__copy {
  isolation: isolate;
  overflow: hidden;
}

:is(.kf-bagua-class-page, .kf-chenstyle-taichi-class-page) .kf-class-opening__copy::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  content: "";
  pointer-events: none;
}

:is(.kf-bagua-class-page, .kf-chenstyle-taichi-class-page) .kf-class-opening__copy > * {
  position: relative;
  z-index: 1;
}

.kf-bagua-class-page .kf-class-opening__copy::before {
  background: url("../images/bagua-soaring-dragon-background-v1.png") center top / cover no-repeat;
  opacity: 0.24;
}

.kf-chenstyle-taichi-class-page .kf-class-opening__copy::before {
  background: url("../images/chenstyle-white-tiger-pearl-background-v1.png") center top / cover no-repeat;
  opacity: 0.2;
}





.kf-class-detail-page .kf-class-opening h2 {
  max-width: 760px;
  margin: 0 auto;
  color: #292822;
  font-size: clamp(2rem, 3.3vw, 2.75rem);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.055em;
}

.kf-class-detail-page .kf-class-opening h2 span {
  display: block;
}

.kf-class-detail-page .kf-class-opening__lead {
  max-width: 760px;
  margin: 24px auto 0;
  color: #56544d;
  font-size: 1rem;
  line-height: 2.1;
}

.kf-class-detail-page .kf-class-detail-panel {
  box-sizing: border-box;
  width: min(var(--kf-layout-without-sidebar), 100%);
  margin: 0 auto;
  padding: 56px 56px 64px;
  border-radius: 18px;
  background: var(--kf-color-content-background);
}

.kf-class-detail-page .kf-class-detail-panel > .entry-content {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin: 0;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.kf-class-detail-page .kf-class-features-heading,
.kf-class-detail-page .entry-content > h2.wp-block-heading {
  position: relative;
  box-sizing: border-box;
  padding: 0 0 17px;
  border-bottom: 1px solid var(--kf-color-line-strong);
  border-left: 0;
  color: #292822;
  font-size: clamp(1.55rem, 2.4vw, 1.85rem);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0.05em;
}

.kf-class-detail-page .kf-class-features-heading::after,
.kf-class-detail-page .entry-content > h2.wp-block-heading::after,
.kf-class-guide-index .kf-class-selector__section-head::after {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 92px;
  height: 3px;
  border-radius: 2px;
  background: var(--kf-class-accent, linear-gradient(90deg, #b86c77 0 38%, #72886d 38% 100%));
  content: "";
}

.kf-class-detail-page .kf-class-features-heading {
  width: 100%;
  min-height: 68px;
  margin: 0 0 30px;
  padding-left: 70px;
}

.kf-class-detail-page .kf-class-features-heading__icon,
.kf-class-detail-page .entry-content > h2.wp-block-heading:is(
  :has(+ .kf-class-guide-sheet),
  :has(+ .kf-vertical-steps),
  :has(+ p + .swell-block-button),
  :has(+ p + .kf-class-trial-response + .swell-block-button),
  :has(+ .kf-legacy-post-link),
  :has(+ .kf-class-practice-reading)
)::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 58px;
  height: 58px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
}

.kf-class-detail-page .kf-class-features-heading__icon {
  background-image: url("../images/heading-icons/heading-classes-v1.png");
}

.kf-class-detail-page .kf-class-features-lead {
  width: min(100%, 900px);
  margin: -4px auto 30px;
  color: #56544d;
  font-size: 0.96rem;
  line-height: 2;
}

/* The same lead is preserved in the stored page content; the introduction
 * component above presents it once in the intended visual position. */
.kf-class-detail-page .entry-content > h2.wp-block-heading:first-child {
  display: none;
}

.kf-class-detail-page .entry-content > h2.wp-block-heading {
  margin: 72px 0 30px;
}

/* Keep the class page practical: use adopted heading artwork only where it
 * clarifies a main information or action chapter. */
.kf-class-detail-page .entry-content > h2.wp-block-heading:is(
  :has(+ .kf-class-guide-sheet),
  :has(+ .kf-vertical-steps),
  :has(+ p + .swell-block-button),
  :has(+ p + .kf-class-trial-response + .swell-block-button),
  :has(+ .kf-legacy-post-link),
  :has(+ .kf-class-practice-reading)
) {
  min-height: 68px;
  padding-left: 70px;
}

.kf-class-detail-page .entry-content > h2.wp-block-heading:has(+ .kf-class-guide-sheet)::before {
  background-image: url("../images/heading-icon-candidates/new/C18-access-signpost.png");
}

.kf-class-detail-page .entry-content > h2.wp-block-heading:has(+ .kf-vertical-steps)::before {
  background-image: url("../images/heading-icon-candidates/new/C19-schedule-calendar.png");
}

.kf-class-detail-page .entry-content > h2.wp-block-heading:is(
  :has(+ p + .swell-block-button),
  :has(+ p + .kf-class-trial-response + .swell-block-button)
)::before {
  background-image: url("../images/heading-icon-candidates/new/C01-trial-gate.png");
}

.kf-class-detail-page .entry-content > h2.wp-block-heading:is(
  :has(+ .kf-legacy-post-link),
  :has(+ .kf-class-practice-reading)
)::before {
  background-image: url("../images/heading-icon-candidates/prior/B05-kingfisher.png");
}

/* The practice doorway uses the martial art itself, not the generic bird motif. */
:is(.kf-chenstyle-taichi-class-page, .kf-bagua-class-page) .entry-content > h2.wp-block-heading:is(
  :has(+ .kf-legacy-post-link),
  :has(+ .kf-class-practice-reading)
)::before {
  top: 0;
  transform: translateY(-5px) scale(0.76);
  transform-origin: center;
}

.kf-chenstyle-taichi-class-page .entry-content > h2.wp-block-heading:is(
  :has(+ .kf-legacy-post-link),
  :has(+ .kf-class-practice-reading)
)::before {
  background-image: url("../images/heading-icons/heading-taijitu-v3.png");
}

.kf-bagua-class-page .entry-content > h2.wp-block-heading:is(
  :has(+ .kf-legacy-post-link),
  :has(+ .kf-class-practice-reading)
)::before {
  background-image: url("../images/heading-icons/heading-bagua-v1.png");
}

.kf-class-detail-page .entry-content > h2.wp-block-heading:is(
  :has(+ p + .swell-block-button),
  :has(+ p + .kf-class-trial-response + .swell-block-button)
) {
  margin-bottom: 38px;
}

.kf-class-detail-page .swell-block-capbox {
  width: min(100%, 900px);
  margin: 0 auto 64px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.kf-class-detail-page .swell-block-capbox .cap_box_ttl {
  display: none;
}

.kf-class-detail-page .swell-block-capbox .cap_box_content {
  padding: 0;
}

.kf-class-detail-page .swell-block-capbox ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kf-class-detail-page .swell-block-capbox li {
  position: relative;
  margin: 0;
  padding: 24px 22px 24px 50px;
  border: 1px solid var(--kf-color-line);
  border-top: 4px solid var(--kf-class-accent, #7b9075);
  border-radius: 7px;
  background: var(--kf-class-green-wash, linear-gradient(145deg, rgba(255, 253, 248, 0.96), rgba(237, 243, 234, 0.78)));
  line-height: 1.9;
}

.kf-class-detail-page .swell-block-capbox li:nth-child(2) {
  border-top-color: var(--kf-class-accent, #b86c77);
  background: var(--kf-class-green-wash, linear-gradient(145deg, rgba(255, 253, 248, 0.96), rgba(249, 236, 232, 0.78)));
}

.kf-class-detail-page .swell-block-capbox li:last-child {
  grid-column: 1 / -1;
  border-top-color: var(--kf-class-gold, #b79a5a);
  background: var(--kf-class-gold-wash, linear-gradient(145deg, rgba(255, 253, 248, 0.96), rgba(248, 242, 222, 0.8)));
}

.kf-class-detail-page .swell-block-capbox li::before {
  position: absolute;
  top: 23px;
  left: 22px;
  color: var(--kf-class-accent, #6e8469);
  content: "●";
  font-size: 0.62rem;
  font-weight: 600;
}

.kf-class-detail-page .swell-block-capbox li:nth-child(2)::before {
  color: var(--kf-class-accent, #b86c77);
}

.kf-class-detail-page .swell-block-capbox li:last-child::before {
  color: var(--kf-class-gold, #ad8e49);
}

.kf-class-detail-page .kf-class-fit-guide {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 34px;
  width: min(100%, 900px);
  margin: -18px auto 64px;
  padding-top: 28px;
  border-top: 1px solid var(--kf-color-line);
}

.kf-class-detail-page .kf-class-fit-guide h3 {
  margin: 0 0 15px;
  color: #35332d;
  font-size: 1.08rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.05em;
}

.kf-class-detail-page .kf-class-fit-guide h3:nth-of-type(1) {
  grid-column: 1;
  grid-row: 1;
}

.kf-class-detail-page .kf-class-fit-guide h3:nth-of-type(2) {
  grid-column: 2;
  grid-row: 1;
}

.kf-class-detail-page .kf-class-fit-guide ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kf-class-detail-page .kf-class-fit-guide ul:nth-of-type(1) {
  grid-column: 1;
  grid-row: 2;
}

.kf-class-detail-page .kf-class-fit-guide ul:nth-of-type(2) {
  grid-column: 2;
  grid-row: 2;
}

.kf-class-detail-page .kf-class-fit-guide li {
  position: relative;
  margin: 0;
  padding: 8px 0 8px 24px;
  color: #59574f;
  font-size: 0.9rem;
  line-height: 1.85;
}

.kf-class-detail-page .kf-class-fit-guide li::before {
  position: absolute;
  top: 0.78em;
  left: 2px;
  color: #72886d;
  content: "○";
  font-size: 0.78rem;
}

.kf-class-detail-page .kf-class-fit-guide ul:nth-of-type(2) li::before {
  color: #a88750;
  content: "△";
}

.kf-class-detail-page .kf-class-guide-sheet {
  width: min(100%, 900px);
  margin: 0 auto 64px;
}

.kf-class-detail-page .kf-class-guide-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  border-top: 1px solid var(--kf-color-line-strong);
  border-bottom: 1px solid var(--kf-color-line-strong);
}

.kf-class-detail-page .kf-class-guide-summary__item {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 16px;
  margin: 0;
  padding: 24px 22px;
  border-bottom: 1px solid var(--kf-color-line);
}

.kf-class-detail-page .kf-class-guide-summary__item:nth-child(odd) {
  padding-left: 0;
  border-right: 1px solid var(--kf-color-line);
}

.kf-class-detail-page .kf-class-guide-summary__item:nth-child(even) {
  padding-right: 0;
}

.kf-class-detail-page .kf-class-guide-summary__item:nth-last-child(-n + 2) {
  border-bottom: 0;
}

.kf-class-detail-page .kf-class-guide-summary dt {
  margin: 0;
  color: #8a6a45;
  font-size: 1.05rem;
  font-weight: 500;
  letter-spacing: 0.06em;
}

.kf-class-detail-page .kf-class-guide-summary dd {
  min-width: 0;
  margin: 0;
  color: #4d4b45;
  line-height: 1.8;
}

.kf-class-detail-page .kf-class-guide-summary dd > strong {
  display: inline;
  color: #292822;
  font-size: 1.05rem;
  font-weight: 500;
}

.kf-class-detail-page .kf-class-guide-summary dd > a {
  margin-left: 12px;
  color: #6c7e67;
  font-size: 0.78rem;
  text-decoration: none;
}

.kf-class-detail-page .kf-class-guide-summary dd > a:hover,
.kf-class-detail-page .kf-class-guide-summary dd > a:focus-visible {
  color: #292822;
}

.kf-class-detail-page .kf-class-guide-summary small {
  display: block;
  margin-top: 7px;
  color: #66635b;
  font-size: 0.82rem;
  line-height: 1.75;
}

.kf-class-detail-page .kf-class-access-map {
  width: min(100%, 760px);
  margin: 40px auto 0;
}

.kf-class-detail-page .kf-class-access-map img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid rgba(183, 154, 90, 0.34);
  border-radius: 0;
}

.kf-class-detail-page .kf-class-access-map figcaption {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 18px;
  align-items: baseline;
  margin: 0;
  padding: 14px 2px 13px;
  border-bottom: 1px solid var(--kf-color-line);
}

.kf-class-detail-page .kf-class-access-map figcaption > span {
  color: #8a6a45;
  font-size: 0.68rem;
  letter-spacing: 0.16em;
}

.kf-class-detail-page .kf-class-access-map figcaption > strong {
  color: #35332d;
  font-size: 0.96rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}

.kf-class-detail-page .kf-class-access-map figcaption > a {
  color: #637860;
  font-size: 0.78rem;
  text-decoration: none;
}

.kf-class-detail-page .kf-class-access-map figcaption > a:hover,
.kf-class-detail-page .kf-class-access-map figcaption > a:focus-visible {
  color: #292822;
}

.kf-class-guide-instructors {
  margin-top: 42px;
  margin-bottom: 40px;
}

.kf-class-detail-page .kf-class-guide-sheet h3 {
  margin: 0 0 18px;
  color: #292822;
  font-size: 1.16rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
}


.kf-class-guide-instructors > h3 {
  padding-bottom: 13px;
  border-bottom: 1px solid var(--kf-color-line-strong);
}

.kf-class-guide-instructors__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kf-class-guide-instructors article {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
  padding: 22px 28px 20px 0;
}

.kf-class-guide-instructors__grid > article:only-child {
  grid-column: 1 / -1;
  width: min(620px, 100%);
  margin-inline: auto;
  padding-right: 0;
}

.kf-class-guide-instructors article + article {
  padding-right: 0;
  padding-left: 28px;
  border-left: 1px solid var(--kf-color-line);
}

.kf-class-guide-instructors__avatar {
  display: block;
  width: 100px;
  height: 100px;
  overflow: hidden;
  border: 1px solid rgba(183, 154, 90, 0.42);
  border-radius: 50%;
  background: #f5f0e7;
}

.kf-class-guide-instructors__avatar img {
  display: block;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  object-fit: cover;
  transition: transform 0.25s ease;
}

.kf-class-guide-instructors__avatar:hover img,
.kf-class-guide-instructors__avatar:focus-visible img {
  transform: scale(1.035);
}

.kf-class-guide-instructors__copy > span {
  color: #8a6a45;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
}

.kf-class-guide-instructors h4 {
  margin: 7px 0 10px;
  color: #292822;
  font-size: 1.08rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}

.kf-class-guide-instructors__copy p {
  margin: 0 0 12px;
  color: #5b5952;
  font-size: 0.87rem;
  line-height: 1.85;
}

.kf-class-guide-instructors__copy > a {
  color: #6c7e67;
  font-size: 0.8rem;
  text-decoration: none;
}

.kf-class-guide-instructors__copy > a:hover,
.kf-class-guide-instructors__copy > a:focus-visible {
  color: #292822;
}

.kf-class-guide-instructors__note {
  margin: 0;
  padding: 15px 18px 0;
  border-top: 1px solid var(--kf-color-line);
  color: #5d5a52;
  font-size: 0.82rem;
  line-height: 1.8;
  text-align: center;
}

.kf-class-detail-page .kf-class-trial-response {
  margin: -20px 0 28px;
  color: #6a665d;
  font-size: inherit;
  line-height: 1.7;
  text-align: left;
}

/* The migrated page contains the same trial prompt twice. Keep the final CTA. */
.kf-class-detail-page .kf-class-guide-sheet + p,
.kf-class-detail-page .kf-class-guide-sheet + p + .swell-block-button {
  display: none;
}

.kf-class-detail-page .pb-rating-graph {
  margin: 28px 0 10px;
  padding: 26px 28px;
  border: 1px solid var(--kf-color-line);
  border-radius: 8px;
  background: rgba(255, 253, 248, 0.94);
}

.kf-class-detail-page .pb-rating-graph__label {
  background: #d2cabb;
  color: #24231f;
}

.kf-class-detail-page .pb-rating-graph__scale[data-check="1"] .__shape svg {
  fill: #fff;
}

:where(.kf-class-detail-page, .kf-class-guide-index) .swell-block-button {
  width: min(400px, 100%);
  margin: 22px auto 8px;
}

.kf-class-detail-page .entry-content > h2.wp-block-heading + p + .swell-block-button {
  margin-top: 30px;
}

:where(.kf-class-detail-page, .kf-class-guide-index) .swell-block-button__link {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 13px 22px;
  border: 1px solid #79cf2b;
  border-radius: 999px;
  background: #79cf2b;
  box-shadow: 0 8px 16px rgba(83, 151, 24, 0.24);
  color: #fff;
  font-weight: 600;
  letter-spacing: 0.03em;
  transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

:where(.kf-class-detail-page, .kf-class-guide-index) .swell-block-button__link:hover,
:where(.kf-class-detail-page, .kf-class-guide-index) .swell-block-button__link:focus-visible {
  border-color: #67ba1f;
  background: #67ba1f;
  box-shadow: 0 10px 20px rgba(73, 136, 19, 0.3);
  color: #fff;
  transform: translateY(-1px);
}

:where(.kf-class-detail-page, .kf-class-guide-index) .swell-block-button__link:focus-visible {
  outline: 2px solid rgba(103, 186, 31, 0.46);
  outline-offset: 3px;
}

:where(.kf-class-detail-page, .kf-class-guide-index) .swell-block-button__link svg {
  width: 1em;
  fill: currentColor;
}

.kf-class-detail-page .kf-legacy-post-link {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: min(var(--kf-layout-without-sidebar), 100%);
  margin-top: 0;
  margin-right: auto;
  margin-left: auto;
  border: 0;
  border-radius: 4px;
  background:
    radial-gradient(circle at 91% 5%, rgba(184, 108, 119, 0.12), transparent 30%),
    linear-gradient(112deg, rgba(255, 253, 248, 0.99), rgba(244, 239, 224, 0.96));
  box-shadow: 0 12px 28px rgba(73, 62, 43, 0.09);
  transition: background 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
}

.kf-class-detail-page .kf-legacy-post-link::before {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  background: linear-gradient(#b86c77, #b79a5a 52%, #72886d);
  content: "";
}

.kf-class-detail-page .kf-legacy-post-link a {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: 98px;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 22px 28px 22px 32px;
  color: var(--kf-color-ink);
}

.kf-class-detail-page .kf-legacy-post-link a:hover,
.kf-class-detail-page .kf-legacy-post-link a:focus-visible {
  background: transparent;
  color: var(--kf-color-ink);
}

.kf-class-detail-page .kf-legacy-post-link:hover,
.kf-class-detail-page .kf-legacy-post-link:has(a:focus-visible) {
  background:
    radial-gradient(circle at 91% 5%, rgba(184, 108, 119, 0.16), transparent 30%),
    linear-gradient(112deg, #fffdf8, #f2ead6);
  box-shadow: 0 15px 32px rgba(73, 62, 43, 0.13);
  transform: translateY(-1px);
}

.kf-class-detail-page .kf-legacy-post-link small {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 7px;
  color: var(--kf-color-bronze);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.09em;
}

.kf-class-detail-page .kf-legacy-post-link small::before {
  color: #96606a;
  content: "PRACTICE DETAILS";
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.59rem;
  font-weight: 600;
  letter-spacing: 0.15em;
}

.kf-class-detail-page .kf-legacy-post-link strong {
  display: block;
  font-size: 1.08rem;
  font-weight: 500;
  letter-spacing: 0.035em;
  line-height: 1.65;
}

.kf-class-detail-page .kf-legacy-post-link a > span:last-child {
  display: grid;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: #72886d;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.83rem;
  line-height: 1;
  transition: background 0.22s ease, transform 0.22s ease;
}

.kf-class-detail-page .kf-legacy-post-link:hover a > span:last-child,
.kf-class-detail-page .kf-legacy-post-link:has(a:focus-visible) a > span:last-child {
  background: #617a57;
  transform: translateX(2px);
}

.kf-class-detail-page .kf-class-practice-reading {
  margin: 0 auto;
}

/* The adopted 840px related-reading sample keeps portrait and landscape
 * source images within the same compact 146px doorway. */
.kf-class-detail-page .kf-class-practice-reading .kf-related-page__body figure {
  height: 116px;
}

@media (max-width: 680px) {
  .kf-class-detail-page .kf-class-opening {
    margin-bottom: 54px;
    padding: 0;
  }

  .kf-class-detail-page .kf-class-studio-note {
    grid-template-columns: 1fr;
    gap: 22px;
    margin: 0;
    padding: 23px 24px 24px;
  }

  .kf-class-detail-page .kf-class-studio-note__detail {
    order: -1;
    padding: 0 0 22px;
    border-bottom: 1px solid var(--kf-color-line);
    border-left: 0;
  }

  .kf-class-detail-page .kf-class-studio-note h3 {
    font-size: 1.2rem;
  }

  .kf-class-detail-page .kf-class-opening__copy {
    padding: 48px 24px 42px;
    text-align: left;
  }

  :is(.kf-bagua-class-page, .kf-chenstyle-taichi-class-page) .kf-class-opening__copy::before {
    background-position: 62% center;
    background-size: auto 92%;
    opacity: 0.16;
  }

  .kf-class-detail-page .kf-class-opening h2 {
    font-size: 1.72rem;
  }

  .kf-class-detail-page .kf-class-opening h2 span {
    display: inline;
  }

  .kf-class-detail-page .kf-class-opening__lead {
    font-size: 0.94rem;
    line-height: 2;
  }

  .kf-class-detail-page .kf-class-detail-panel {
    padding: 34px 20px 42px;
    border-radius: 14px;
  }

  .kf-class-detail-page .kf-class-features-heading,
  .kf-class-detail-page .entry-content > h2.wp-block-heading {
    margin-bottom: 22px;
    padding-bottom: 15px;
    font-size: 1.4rem;
  }



  .kf-class-detail-page .kf-class-features-lead {
    margin-bottom: 24px;
    font-size: 0.92rem;
    line-height: 1.95;
  }

  .kf-class-detail-page .swell-block-capbox ul {
    grid-template-columns: 1fr;
  }

  .kf-class-detail-page .swell-block-capbox li:last-child {
    grid-column: auto;
  }

  .kf-class-detail-page .kf-class-fit-guide {
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: -10px;
    margin-bottom: 48px;
  }

  .kf-class-detail-page .kf-class-fit-guide > * {
    grid-area: auto !important;
  }

  .kf-class-detail-page .kf-class-fit-guide h3:nth-of-type(2) {
    margin-top: 28px;
  }

  .kf-class-detail-page .entry-content > h2.wp-block-heading {
    margin-top: 48px;
    padding-left: 14px;
  }

  .kf-class-detail-page .kf-class-features-heading,
  .kf-class-detail-page .entry-content > h2.wp-block-heading:is(
    :has(+ .kf-class-guide-sheet),
    :has(+ .kf-vertical-steps),
    :has(+ p + .swell-block-button),
    :has(+ p + .kf-class-trial-response + .swell-block-button),
    :has(+ .kf-legacy-post-link),
    :has(+ .kf-class-practice-reading)
  ) {
    min-height: 50px;
    padding-left: 52px;
  }

  .kf-class-detail-page .kf-class-features-heading__icon,
  .kf-class-detail-page .entry-content > h2.wp-block-heading:is(
    :has(+ .kf-class-guide-sheet),
    :has(+ .kf-vertical-steps),
    :has(+ p + .swell-block-button),
    :has(+ p + .kf-class-trial-response + .swell-block-button),
    :has(+ .kf-legacy-post-link),
    :has(+ .kf-class-practice-reading)
  )::before {
    width: 42px;
    height: 42px;
  }

  :is(.kf-chenstyle-taichi-class-page, .kf-bagua-class-page) .entry-content > h2.wp-block-heading:is(
    :has(+ .kf-legacy-post-link),
    :has(+ .kf-class-practice-reading)
  )::before {
    transform: translateY(-3.5px) scale(0.76);
  }

  .kf-class-detail-page .kf-class-practice-reading .kf-related-page__body figure {
    height: 104px;
  }

  .kf-class-detail-page .kf-class-guide-sheet {
    margin-bottom: 48px;
  }

  .kf-class-detail-page .kf-class-guide-summary {
    grid-template-columns: 1fr;
  }

  .kf-class-detail-page .kf-class-guide-summary__item,
  .kf-class-detail-page .kf-class-guide-summary__item:nth-child(odd),
  .kf-class-detail-page .kf-class-guide-summary__item:nth-child(even) {
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 12px;
    padding: 18px 0;
    border-right: 0;
    border-bottom: 1px solid var(--kf-color-line);
  }

  .kf-class-detail-page .kf-class-guide-summary__item:last-child {
    border-bottom: 0;
  }

  .kf-class-detail-page .kf-class-guide-summary dd > strong {
    font-size: 1rem;
  }

  .kf-class-detail-page .kf-class-guide-summary dt {
    font-size: 1rem;
  }

  .kf-class-detail-page .kf-class-guide-summary dd > a {
    display: block;
    margin: 5px 0 0;
  }

  .kf-class-detail-page .kf-class-access-map {
    margin-top: 30px;
  }

  .kf-class-detail-page .kf-class-access-map figcaption {
    grid-template-columns: 1fr;
    gap: 5px;
    padding: 12px 0;
  }

  .kf-class-detail-page .kf-class-access-map figcaption > span {
    grid-column: auto;
  }

  .kf-class-detail-page .kf-class-access-map figcaption > strong {
    font-size: 0.9rem;
  }

  .kf-class-detail-page .kf-class-access-map figcaption > a {
    margin-top: 2px;
  }

  .kf-class-guide-instructors {
    margin-top: 34px;
  }

  .kf-class-guide-instructors__grid {
    grid-template-columns: 1fr;
  }

  .kf-class-guide-instructors article,
  .kf-class-guide-instructors article + article {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 20px 0;
    border-left: 0;
  }

  .kf-class-guide-instructors article + article {
    border-top: 1px solid var(--kf-color-line);
  }

  .kf-class-guide-instructors__note {
    padding-right: 0;
    padding-left: 0;
    text-align: left;
  }

  .kf-class-detail-page .kf-class-trial-response {
    margin-top: -16px;
  }

  .kf-class-detail-page .pb-rating-graph {
    padding: 20px 18px;
  }

  .kf-class-detail-page .kf-legacy-post-link a {
    min-height: 88px;
    gap: 16px;
    padding: 18px 18px 18px 22px;
  }

  .kf-class-detail-page .kf-legacy-post-link small {
    margin-bottom: 5px;
    font-size: 0.66rem;
  }

  .kf-class-detail-page .kf-legacy-post-link small::before {
    display: none;
  }

  .kf-class-detail-page .kf-legacy-post-link strong {
    font-size: 0.95rem;
    line-height: 1.6;
  }

  .kf-class-detail-page .kf-legacy-post-link a > span:last-child {
    flex-basis: 30px;
    width: 30px;
    height: 30px;
  }

  :where(.kf-class-detail-page, .kf-class-guide-index) .swell-block-button {
    width: min(300px, 100%);
  }

  .kf-class-detail-page .kf-page-title-scene {
    min-height: 280px !important;
    background-position: center;
  }

}

/* Shared no-sidebar frame used by each completed practical class page. */
@media (min-width: 681px) {
  .kf-class-detail-page .kf-page-title-scene {
    min-height: clamp(420px, 36vw, 500px) !important;
    background-position: center 60%;
  }
}

.kf-class-detail-page .kf-page-article,
.kf-wide-content-page .kf-page-article {
  width: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.kf-class-detail-page .kf-page-article > .entry-content,
.kf-wide-content-page .kf-page-article > .entry-content {
  box-sizing: border-box;
  width: min(var(--kf-layout-without-sidebar), 100%);
  max-width: var(--kf-layout-without-sidebar);
  margin-right: auto;
  margin-left: auto;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.kf-class-detail-page .kf-page-layout--sidebar {
  position: relative;
  z-index: 2;
}

.kf-class-detail-page .kf-page-context-sidebar,
.kf-intermediate-class-page .kf-page-context-sidebar {
  display: none;
}

@media (min-width: 901px) {
  .kf-class-detail-page .kf-page-layout--sidebar {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    width: min(var(--kf-layout-without-sidebar), calc(100% - (var(--kf-mobile-gutter) * 2)));
    margin-top: -68px;
  }

  .kf-class-detail-page .kf-page-article {
    grid-column: 1;
    grid-row: 1;
  }

  .kf-intermediate-class-page .kf-page-layout--sidebar {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    width: min(var(--kf-layout-without-sidebar), calc(100% - (var(--kf-mobile-gutter) * 2)));
  }
}

@media (max-width: 900px) {
  .kf-class-detail-page .kf-page-layout--sidebar {
    margin-top: -36px;
  }
}

.kf-decoration-sample-list,
.kf-wallpaper-sample-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.kf-decoration-sample,
.kf-wallpaper-sample {
  overflow: hidden;
  margin: 0;
  border: 1px solid var(--kf-color-line);
  border-radius: 8px;
  background: #fff;
}

.kf-decoration-sample figure,
.kf-wallpaper-sample figure {
  display: grid;
  height: 190px;
  margin: 0;
  place-items: center;
  border-bottom: 1px solid var(--kf-color-line);
  background-color: #faf8f2;
}

.kf-decoration-sample img {
  width: 100%;
  height: 176px;
  object-fit: contain;
}

.kf-decoration-sample > div,
.kf-wallpaper-sample > div {
  padding: 16px 18px 18px;
}

.kf-decoration-sample p,
.kf-wallpaper-sample p {
  margin: 0;
  color: var(--kf-color-bronze);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.12em;
}

.kf-decoration-sample h5,
.kf-wallpaper-sample h5 {
  margin: 5px 0;
  font-size: 1.02rem;
  font-weight: 400;
}

.kf-decoration-sample span,
.kf-wallpaper-sample span {
  color: var(--kf-color-ink-soft);
  font-size: 0.8rem;
}

@media (max-width: 700px) {
  .kf-decoration-sample-list,
  .kf-wallpaper-sample-list {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   History — completed composition adapted to the current theme
   ========================================================= */

.kf-history-page {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.kf-history-page > .wp-block-post-content {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.kf-history-page .kfh-page {
  --paper: #fbfaf6;
  --paper-warm: #f4ecdc;
  --paper-deep: #ece1cd;
  --ink: #2f2b24;
  --ink-soft: #6d6558;
  --gold: #a88750;
  --gold-light: #d8c6a3;
  --sage: #788175;
  --sage-dark: #586157;
  --red: #9e5b4b;
  --line: #d9c9ab;
  --shadow: 0 14px 35px rgba(57, 48, 34, 0.08);
  --content: var(--kf-layout-with-sidebar);
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin: 0;
  overflow: hidden;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--wp--preset--font-family--serif);
  line-height: 1.9;
  letter-spacing: 0.035em;
}

.kf-history-page .kfh-masthead,
.kf-history-page .kfh-closing {
  width: 100%;
  margin-inline: 0;
}

.kf-history-page .kfh-page *,
.kf-history-page .kfh-page *::before,
.kf-history-page .kfh-page *::after {
  box-sizing: border-box;
}

.kf-history-page .kfh-page img {
  display: block;
  max-width: 100%;
}

.kf-history-page .kfh-page a {
  color: inherit;
}

.kf-history-page .kfh-page h1,
.kf-history-page .kfh-page h2,
.kf-history-page .kfh-page h3 {
  margin-block-start: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  color: inherit;
}

.kf-history-page .kfh-page h1::before,
.kf-history-page .kfh-page h1::after,
.kf-history-page .kfh-page h2::before,
.kf-history-page .kfh-page h2::after,
.kf-history-page .kfh-page h3::before,
.kf-history-page .kfh-page h3::after {
  display: none !important;
  content: none !important;
}

.kf-history-page .kfh-era {
  scroll-margin-top: calc(var(--kf-admin-bar-offset) + var(--kf-sticky-header-height) + 64px);
}

.kf-history-page .kfh-masthead {
  position: relative;
  isolation: isolate;
  display: grid;
  min-height: 520px;
  padding: 82px 24px 72px;
  place-items: center;
  color: #fff;
  text-align: center;
  background:
    linear-gradient(135deg, rgba(67, 67, 57, 0.88), rgba(92, 83, 65, 0.73)),
    url("../images/official-shunko-stay-henan.jpg") center 42% / cover;
}

.kf-history-page .kfh-masthead::before,
.kf-history-page .kfh-masthead::after {
  position: absolute;
  z-index: -1;
  inset: 26px;
  border: 1px solid rgba(255, 255, 255, 0.36);
  content: "";
  pointer-events: none;
}

.kf-history-page .kfh-masthead::after {
  inset: 34px;
  border-color: rgba(216, 198, 163, 0.25);
}

.kf-history-page .kfh-masthead__inner {
  max-width: 790px;
}

.kf-history-page .kfh-masthead__mark {
  width: 66px;
  margin: 0 auto 20px;
  filter: drop-shadow(0 5px 12px rgba(0, 0, 0, 0.24));
}

.kf-history-page .kfh-masthead__eyebrow {
  margin: 0 0 12px;
  font-family: Georgia, serif;
  font-size: 12px;
  letter-spacing: 0.28em;
}

.kf-history-page .kfh-masthead h1 {
  margin: 0;
  font-size: clamp(38px, 6vw, 66px);
  font-weight: 600;
  letter-spacing: 0.13em;
  text-indent: 0.13em;
}

.kf-history-page .kfh-masthead__lead {
  max-width: 680px;
  margin: 24px auto 0;
  font-size: clamp(15px, 2vw, 18px);
  line-height: 2.15;
}

.kf-history-page .kfh-intro {
  padding: 74px 24px 66px;
  background: rgba(251, 250, 246, 0.9);
}

.kf-history-page .kfh-intro__inner {
  max-width: var(--content);
  margin: auto;
  text-align: center;
}

.kf-history-page .kfh-intro__ornament {
  width: 78px;
  margin: 0 auto 18px;
}

.kf-history-page .kfh-intro h2 {
  margin: 0 0 18px;
  font-size: clamp(25px, 4vw, 34px);
}

.kf-history-page .kfh-intro p {
  max-width: 760px;
  margin: 0 auto;
  color: var(--ink-soft);
}

.kf-history-page .kfh-milestones {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  max-width: var(--content);
  margin: 48px auto 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--shadow);
}

.kf-history-page .kfh-milestone {
  padding: 24px 18px 20px;
  text-align: center;
}

.kf-history-page .kfh-milestone + .kfh-milestone {
  border-left: 1px solid var(--line);
}

.kf-history-page .kfh-milestone strong {
  display: block;
  color: var(--gold);
  font-size: 28px;
  line-height: 1.2;
}

.kf-history-page .kfh-milestone span {
  display: block;
  margin-top: 7px;
  color: var(--ink-soft);
  font-size: 13px;
}

.kf-history-page .kfh-era-nav {
  position: sticky;
  z-index: 20;
  top: calc(var(--kf-admin-bar-offset) + var(--kf-sticky-header-height));
  padding: 14px 20px;
  border-block: 1px solid rgba(168, 135, 80, 0.28);
  background: rgba(250, 248, 241, 0.94);
  backdrop-filter: blur(12px);
}

.kf-history-page .kfh-era-nav__inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  max-width: var(--content);
  margin: auto;
}

.kf-history-page .kfh-era-nav a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 11px;
  border-radius: 999px;
  color: var(--ink-soft);
  font-size: 12px;
  text-decoration: none;
  transition: 0.2s ease;
}

.kf-history-page .kfh-era-nav a:hover,
.kf-history-page .kfh-era-nav a:focus-visible {
  color: var(--ink);
  background: var(--paper-deep);
}

.kf-history-page .kfh-era-nav b {
  display: grid;
  flex: 0 0 28px;
  height: 28px;
  border-radius: 50%;
  place-items: center;
  color: #fff;
  background: var(--gold);
  font: 700 11px/1 Georgia, serif;
}

.kf-history-page .kfh-era {
  position: relative;
  padding: 96px clamp(18px, 3vw, 46px);
}

.kf-history-page .kfh-era:nth-of-type(even) {
  background: rgba(244, 236, 220, 0.72);
}

.kf-history-page .kfh-era:nth-of-type(odd) {
  background:
    linear-gradient(rgba(251, 250, 246, 0.9), rgba(251, 250, 246, 0.9)),
    url("../images/background-moon-cloud-lattice-v1-web.webp") center / 540px auto repeat;
}

.kf-history-page .kfh-era__inner {
  max-width: var(--content);
  margin: auto;
}

.kf-history-page .kfh-era__head {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) 112px;
  align-items: end;
  gap: 26px;
  margin-bottom: 54px;
  padding-left: clamp(60px, 9vw, 130px);
}

.kf-history-page .kfh-era__number {
  align-self: start;
  justify-self: end;
  margin-top: 27px;
  color: var(--gold-light);
  font: 700 82px/0.8 Georgia, serif;
  letter-spacing: -0.08em;
  transform: translateY(8px);
}

.kf-history-page .kfh-era__number--adjusted .kfh-era__zero {
  display: inline-block;
  font-size: 1em;
}

.kf-history-page .kfh-era__number--adjusted .kfh-era__digit {
  display: inline-block;
  font-size: 1.22em;
  transform: translateY(0.08em);
}

.kf-history-page .kfh-era__period {
  display: block;
  margin-bottom: 8px;
  color: var(--gold);
  font: 700 13px/1.5 Georgia, serif;
  letter-spacing: 0.16em;
}

.kf-history-page .kfh-era h2 {
  margin: 0;
  font-size: clamp(27px, 4vw, 40px);
  letter-spacing: 0.08em;
}

.kf-history-page .kfh-era__summary {
  margin: 10px 0 0;
  color: var(--ink-soft);
}

.kf-history-page .kfh-era__motif {
  width: 96px;
  max-height: 104px;
  object-fit: contain;
  justify-self: end;
}

.kf-history-page .kfh-era__motif--brush {
  width: 168px;
  max-height: 112px;
}

.kf-history-page .kfh-era__motif--rock {
  width: 110px;
  max-height: 130px;
}

.kf-history-page .kfh-era__motif--gate {
  width: 150px;
  max-height: 118px;
}

.kf-history-page .kfh-timeline {
  --society-width: 30%;
  --axis-width: 58px;
  position: relative;
}

.kf-history-page .kfh-timeline::before {
  position: absolute;
  top: 14px;
  bottom: 12px;
  left: calc(var(--society-width) + (var(--axis-width) / 2));
  width: 1px;
  background: linear-gradient(var(--gold-light), var(--gold), var(--gold-light));
  content: "";
}

.kf-history-page .kfh-event {
  display: grid;
  grid-template-columns: minmax(190px, var(--society-width)) var(--axis-width) minmax(0, 1fr);
  align-items: start;
  margin: 0 0 34px;
}

.kf-history-page .kfh-timeline__labels {
  display: grid;
  grid-template-columns: minmax(190px, var(--society-width)) var(--axis-width) minmax(0, 1fr);
  margin: 0 0 18px;
  color: var(--gold);
  font: 700 11px/1.5 sans-serif;
  letter-spacing: 0.16em;
}

.kf-history-page .kfh-timeline__labels span:first-child {
  padding-right: 24px;
  text-align: right;
}

.kf-history-page .kfh-timeline__labels span:last-child {
  padding-left: 24px;
}

.kf-history-page .kfh-event__society {
  padding: 12px 24px 0 0;
  color: var(--ink-soft);
  line-height: 1.55;
  text-align: right;
}

.kf-history-page .kfh-event__society time {
  display: block;
  margin-bottom: 5px;
  color: var(--ink);
  font: 500 28px/1.1 Georgia, var(--wp--preset--font-family--serif);
  letter-spacing: -0.015em;
}

.kf-history-page .kfh-event__society span {
  display: block;
  font-size: 13px;
}

.kf-history-page .kfh-event__date {
  display: block;
  margin: 0 0 8px;
  color: var(--gold);
  font: 500 23px/1.2 Georgia, serif;
  letter-spacing: 0.02em;
}

.kf-history-page .kfh-event__node {
  z-index: 2;
  width: 13px;
  height: 13px;
  margin: 19px auto 0;
  border: 3px solid var(--paper);
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 0 1px var(--gold);
}

.kf-history-page .kfh-event__card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(168, 135, 80, 0.28);
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 10px 28px rgba(61, 50, 34, 0.06);
}

.kf-history-page .kfh-event--photo .kfh-event__card {
  grid-template-columns: minmax(0, 1fr) clamp(248px, 27vw, 336px);
}

.kf-history-page .kfh-event__photo {
  order: 2;
  align-self: center;
  width: calc(100% - 16px);
  height: auto;
  aspect-ratio: 16 / 9;
  margin: 16px 16px 16px 0;
  border: 1px solid rgba(168, 135, 80, 0.24);
  border-radius: 3px;
  object-fit: cover;
}

.kf-history-page .kfh-event__body {
  order: 1;
  padding: 24px 28px 25px;
}

.kf-history-page .kfh-event__tag {
  display: inline-block;
  margin-bottom: 9px;
  padding: 3px 10px;
  border-radius: 999px;
  color: #7b6035;
  background: var(--paper-warm);
  font-size: 11px;
  letter-spacing: 0.12em;
}

.kf-history-page .kfh-event h3 {
  margin: 0;
  font-size: clamp(19px, 2.4vw, 24px);
  letter-spacing: 0.04em;
}

.kf-history-page .kfh-event p {
  margin: 10px 0 0;
  color: var(--ink-soft);
  font-size: 15px;
}

.kf-history-page .kfh-event--quiet .kfh-event__card {
  background: rgba(255, 255, 255, 0.62);
}

.kf-history-page .kfh-archive {
  margin: 46px 0 0 calc(30% + 58px);
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background:
    linear-gradient(rgba(255, 253, 247, 0.88), rgba(255, 253, 247, 0.88)),
    url("../images/background-paper-table-v1-web.webp") center / cover;
}

.kf-history-page .kfh-archive summary {
  padding: 18px 22px;
  font-weight: 600;
  list-style: none;
  cursor: pointer;
}

.kf-history-page .kfh-archive summary::-webkit-details-marker {
  display: none;
}

.kf-history-page .kfh-archive summary::after {
  float: right;
  color: var(--gold);
  content: "＋";
}

.kf-history-page .kfh-archive[open] summary::after {
  content: "−";
}

.kf-history-page .kfh-archive__body {
  padding: 0 22px 22px;
  border-top: 1px solid var(--line);
}

.kf-history-page .kfh-archive__body ul {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.kf-history-page .kfh-archive__body li {
  display: grid;
  grid-template-columns: 86px 1fr;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px dashed rgba(168, 135, 80, 0.25);
  color: var(--ink-soft);
  font-size: 14px;
}

.kf-history-page .kfh-archive__body time {
  color: var(--gold);
  font-family: Georgia, serif;
}

.kf-history-page .kfh-closing {
  padding: 78px 24px 52px;
  color: #fff;
  text-align: center;
  background: var(--sage-dark);
}

.kf-history-page .kfh-closing h2 {
  margin: 0 0 14px;
  font-size: clamp(26px, 4vw, 38px);
}

.kf-history-page .kfh-closing p {
  max-width: 670px;
  margin: auto;
  color: rgba(255, 255, 255, 0.78);
}

.kf-history-page .kfh-closing__line {
  width: min(520px, 78vw);
  height: 1px;
  margin: 30px auto 0;
  background: linear-gradient(90deg, transparent, var(--gold-light), transparent);
}

.kf-history-page .kfh-closing__cloud {
  width: min(680px, 86vw);
  max-height: 124px;
  margin: 24px auto 0;
  object-fit: contain;
  filter: drop-shadow(0 4px 14px rgba(0, 0, 0, 0.08));
}

@media (max-width: 900px) {
  .kf-history-page .kfh-page {
    width: 100%;
    line-height: 1.8;
  }

  .kf-history-page .kfh-masthead,
  .kf-history-page .kfh-closing {
    width: 100%;
  }

  .kf-history-page .kfh-masthead {
    min-height: 440px;
    padding-inline: 28px;
  }

  .kf-history-page .kfh-masthead::before {
    inset: 14px;
  }

  .kf-history-page .kfh-masthead::after {
    display: none;
  }

  .kf-history-page .kfh-milestones {
    grid-template-columns: 1fr;
    margin-top: 36px;
  }

  .kf-history-page .kfh-milestone + .kfh-milestone {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .kf-history-page .kfh-era-nav {
    position: static;
    padding: 12px;
  }

  .kf-history-page .kfh-era-nav__inner {
    grid-template-columns: 1fr 1fr;
  }

  .kf-history-page .kfh-era-nav a {
    border-radius: 12px;
    background: rgba(244, 236, 220, 0.72);
  }

  .kf-history-page .kfh-era {
    padding: 72px 18px;
  }

  .kf-history-page .kfh-era__head {
    grid-template-columns: 74px 1fr;
    gap: 12px;
    margin-bottom: 42px;
    padding-left: 0;
  }

  .kf-history-page .kfh-era__number {
    align-self: start;
    font-size: 58px;
    transform: translateY(5px);
  }

  .kf-history-page .kfh-era__motif {
    grid-column: 2;
    width: 70px;
    justify-self: start;
  }

  .kf-history-page .kfh-era__motif--brush {
    width: 120px;
    max-height: 82px;
  }

  .kf-history-page .kfh-era__motif--rock {
    width: 78px;
    max-height: 94px;
  }

  .kf-history-page .kfh-era__motif--gate {
    width: 112px;
    max-height: 88px;
  }

  .kf-history-page .kfh-timeline {
    --society-width: 0px;
    --axis-width: 35px;
  }

  .kf-history-page .kfh-timeline::before {
    left: 17px;
  }

  .kf-history-page .kfh-timeline__labels {
    display: none;
  }

  .kf-history-page .kfh-event {
    grid-template-columns: 35px minmax(0, 1fr);
    margin-bottom: 22px;
  }

  .kf-history-page .kfh-event__society {
    grid-row: 1;
    grid-column: 2;
    margin: 0 0 9px;
    padding: 10px 13px;
    border-left: 3px solid var(--gold-light);
    background: rgba(255, 255, 255, 0.48);
    text-align: left;
  }

  .kf-history-page .kfh-event__society time {
    display: inline;
    margin-right: 8px;
    font-size: 18px;
  }

  .kf-history-page .kfh-event__society span {
    display: inline;
    font-size: 12px;
  }

  .kf-history-page .kfh-event__society span + span::before {
    margin-inline: 4px;
    color: var(--gold);
    content: "／";
  }

  .kf-history-page .kfh-event--no-society .kfh-event__society {
    display: none;
  }

  .kf-history-page .kfh-event--no-society .kfh-event__node,
  .kf-history-page .kfh-event--no-society .kfh-event__card {
    grid-row: 1;
  }

  .kf-history-page .kfh-event__node {
    grid-row: 1 / span 2;
    grid-column: 1;
    margin-top: 13px;
  }

  .kf-history-page .kfh-event__card {
    grid-row: 2;
    grid-column: 2;
  }

  .kf-history-page .kfh-event--photo .kfh-event__card {
    grid-template-columns: 1fr;
  }

  .kf-history-page .kfh-event__photo {
    order: 1;
    width: calc(100% - 28px);
    aspect-ratio: 16 / 9;
    margin: 14px 14px 0;
    border: 1px solid rgba(168, 135, 80, 0.24);
  }

  .kf-history-page .kfh-event__body {
    order: 2;
    padding: 22px 20px 23px;
  }

  .kf-history-page .kfh-event p {
    font-size: 14px;
  }

  .kf-history-page .kfh-archive {
    margin-left: 35px;
  }

  .kf-history-page .kfh-archive__body li {
    grid-template-columns: 68px 1fr;
    gap: 8px;
  }
}

@media (max-width: 520px) {
  .kf-history-page .kfh-page {
    width: 100%;
  }

  .kf-history-page .kfh-masthead {
    min-height: 420px;
    padding: 70px 28px 62px;
  }

  .kf-history-page .kfh-masthead h1 {
    font-size: clamp(34px, 12vw, 48px);
  }

  .kf-history-page .kfh-intro {
    padding: 58px 22px 54px;
  }

  .kf-history-page .kfh-milestone {
    padding-block: 20px;
  }

  .kf-history-page .kfh-era-nav a {
    gap: 7px;
    padding: 8px;
    font-size: 11px;
  }

  .kf-history-page .kfh-era-nav b {
    flex-basis: 25px;
    height: 25px;
  }

  .kf-history-page .kfh-era {
    padding: 60px 14px;
  }

  .kf-history-page .kfh-era__head {
    grid-template-columns: 61px minmax(0, 1fr);
    margin-bottom: 34px;
  }

  .kf-history-page .kfh-era__number {
    margin-top: 22px;
    font-size: 49px;
  }

  .kf-history-page .kfh-era h2 {
    font-size: clamp(24px, 8vw, 31px);
  }

  .kf-history-page .kfh-event__body {
    padding: 19px 16px 21px;
  }

  .kf-history-page .kfh-event h3 {
    font-size: 19px;
  }

  .kf-history-page .kfh-archive summary {
    padding: 16px;
  }

  .kf-history-page .kfh-archive__body {
    padding: 0 16px 18px;
  }

  .kf-history-page .kfh-closing {
    padding: 66px 22px 44px;
  }
}

/* =========================================================
   Full chronology — world history left, martial history right
   ========================================================= */

.kf-history-all-page {
  width: 100%;
  max-width: none;
}

.kf-history-all-page .kf-page-layout--wide {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  padding: clamp(46px, 6vw, 88px) clamp(18px, 4vw, 54px) clamp(72px, 8vw, 112px);
  background:
    linear-gradient(rgba(251, 250, 246, 0.9), rgba(251, 250, 246, 0.9)),
    url("../images/background-moon-cloud-lattice-v1-web.webp") center top / 540px auto repeat;
}

.kf-history-all-page .kf-page-article {
  box-sizing: border-box;
  width: min(1180px, 100%);
  max-width: none;
  margin: 0 auto;
  padding: clamp(34px, 5vw, 68px) clamp(18px, 4vw, 56px) clamp(44px, 6vw, 78px);
  border: 1px solid rgba(168, 135, 80, 0.3);
  border-radius: 18px;
  background: var(--kf-color-content-background);
  box-shadow: 0 18px 46px rgba(57, 48, 34, 0.08);
}

.kf-history-all-page .kf-page-article > .entry-content {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  color: #2f2b24;
  font-family: var(--wp--preset--font-family--serif);
}

.kf-history-all-page .entry-content > p:first-child {
  max-width: 760px;
  margin: 0 auto clamp(46px, 6vw, 72px);
  color: #6d6558;
  font-size: clamp(15px, 1.55vw, 17px);
  line-height: 2;
  text-align: center;
}

.kf-history-all-page .entry-content > .ark-block-container,
.kf-history-all-page .entry-content > .ark-block-container > .wp-block-group {
  width: 100%;
  max-width: none !important;
  margin: 0;
  padding: 0;
}

.kf-history-all__timeline {
  --kf-history-axis: 116px;
  position: relative;
  width: 100%;
}

.kf-history-all__timeline::before {
  position: absolute;
  z-index: 0;
  top: 54px;
  bottom: 16px;
  left: 50%;
  width: 1px;
  background: linear-gradient(#d8c6a3, #a88750 12%, #a88750 88%, #d8c6a3);
  content: "";
}

.kf-history-all__labels,
.kf-history-all__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--kf-history-axis) minmax(0, 1fr);
}

.kf-history-all__labels {
  position: relative;
  z-index: 1;
  align-items: center;
  margin-bottom: 34px;
  color: #8d7139;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.18em;
}

.kf-history-all__labels span:first-child {
  padding-right: 28px;
  text-align: right;
}

.kf-history-all__labels span:last-child {
  padding-left: 28px;
}

.kf-history-all__row {
  position: relative;
  z-index: 1;
  align-items: start;
  margin-bottom: 26px;
}

.kf-history-all__events {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.kf-history-all__events--world {
  grid-column: 1;
  padding-right: 22px;
}

.kf-history-all__events--martial {
  grid-column: 3;
  padding-left: 22px;
}

.kf-history-all__axis {
  display: grid;
  grid-column: 2;
  justify-items: center;
  gap: 8px;
  padding-top: 15px;
  color: #8d7139;
}

.kf-history-all__axis time {
  display: block;
  padding: 3px 8px;
  border: 1px solid rgba(168, 135, 80, 0.28);
  border-radius: 999px;
  background: #fffdf8;
  font: 500 12px/1.45 Georgia, var(--wp--preset--font-family--serif);
  letter-spacing: 0.01em;
  text-align: center;
  white-space: nowrap;
}

.kf-history-all__axis span {
  display: block;
  width: 11px;
  height: 11px;
  border: 3px solid #fffdf8;
  border-radius: 50%;
  background: #a88750;
  box-shadow: 0 0 0 1px #a88750;
}

.kf-history-all__item {
  min-width: 0;
  padding: 18px 20px;
  border: 1px solid rgba(168, 135, 80, 0.28);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 8px 24px rgba(57, 48, 34, 0.055);
}

.kf-history-all__item--world {
  border-right: 3px solid rgba(158, 91, 75, 0.62);
  text-align: right;
}

.kf-history-all__item--martial {
  border-left: 3px solid rgba(120, 129, 117, 0.76);
}

.kf-history-all__item h4 {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: #2f2b24;
  font-size: clamp(15px, 1.45vw, 17px);
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.035em;
}

.kf-history-all__item h4::before,
.kf-history-all__item h4::after {
  display: none !important;
  content: none !important;
}

.kf-history-all__item p {
  margin: 8px 0 0;
  color: #6d6558;
  font-size: 13px;
  line-height: 1.75;
}

.kf-history-all__item p:empty {
  display: none;
}

.kf-history-all__item a {
  color: #775f34;
  text-decoration-color: rgba(119, 95, 52, 0.42);
  text-underline-offset: 0.18em;
}

.kf-history-all__item a:hover,
.kf-history-all__item a:focus-visible {
  color: #9e5b4b;
}

.kf-history-all-page .entry-content > p:last-child {
  margin: 42px 0 0;
  color: #8b8172;
  font-size: 12px;
  letter-spacing: 0.08em;
}

@media (max-width: 760px) {
  .kf-history-all-page .kf-page-layout--wide {
    padding: 34px 12px 64px;
  }

  .kf-history-all-page .kf-page-article {
    padding: 34px 16px 46px;
    border-radius: 12px;
  }

  .kf-history-all-page .entry-content > p:first-child {
    margin-bottom: 40px;
    text-align: left;
  }

  .kf-history-all__timeline {
    --kf-history-axis: 54px;
  }

  .kf-history-all__timeline::before {
    top: 50px;
    left: 27px;
  }

  .kf-history-all__labels {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin: 0 0 28px 54px;
  }

  .kf-history-all__labels span:nth-child(2) {
    display: none;
  }

  .kf-history-all__labels span:first-child,
  .kf-history-all__labels span:last-child {
    padding: 0;
    text-align: left;
  }

  .kf-history-all__row {
    grid-template-columns: var(--kf-history-axis) minmax(0, 1fr);
    margin-bottom: 24px;
  }

  .kf-history-all__axis {
    grid-row: 1;
    grid-column: 1;
    padding-top: 13px;
  }

  .kf-history-all__axis time {
    max-width: 52px;
    padding: 3px 5px;
    font-size: 10px;
    white-space: normal;
  }

  .kf-history-all__events--world,
  .kf-history-all__events--martial {
    grid-column: 2;
    padding: 0;
  }

  .kf-history-all__events--world {
    grid-row: 1;
  }

  .kf-history-all__events--martial {
    grid-row: 2;
    margin-top: 10px;
  }

  .kf-history-all__events:empty {
    display: none;
  }

  .kf-history-all__item {
    position: relative;
    padding: 34px 15px 15px;
  }

  .kf-history-all__item::before {
    position: absolute;
    top: 11px;
    left: 15px;
    color: #8d7139;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.14em;
  }

  .kf-history-all__item--world {
    border-right-width: 1px;
    border-left: 3px solid rgba(158, 91, 75, 0.62);
    text-align: left;
  }

  .kf-history-all__item--world::before {
    content: "世界史";
  }

  .kf-history-all__item--martial::before {
    content: "武術史";
  }
}

/* History-all final composition: match the adopted association-history design. */
.kf-history-page.kf-history-all-page .kfha-page {
  --content: var(--kf-layout-with-sidebar);
  background: var(--paper);
}

.kf-history-page.kf-history-all-page .kfha-masthead {
  background:
    linear-gradient(135deg, rgba(48, 47, 39, 0.86), rgba(82, 70, 49, 0.66)),
    url("../images/official-gugong.jpg") center 48% / cover;
}

.kf-history-page.kf-history-all-page .kfha-masthead .kfh-masthead__mark {
  width: 78px;
}

.kf-history-page.kf-history-all-page .kfha-intro {
  position: relative;
  overflow: hidden;
}

.kf-history-page.kf-history-all-page .kfha-era .kfh-era__head {
  grid-template-columns: 120px minmax(0, 1fr) 168px;
}

.kf-history-page.kf-history-all-page .kfha-era__motif--map {
  width: 82px;
  max-height: 82px;
}

.kf-history-page.kf-history-all-page .kf-history-all__timeline {
  --society-width: 30%;
  --axis-width: 58px;
}

.kf-history-page.kf-history-all-page .kf-history-all__timeline::before {
  top: 14px;
  bottom: 12px;
  left: calc(var(--society-width) + (var(--axis-width) / 2));
}

.kf-history-page.kf-history-all-page .kf-history-all__labels,
.kf-history-page.kf-history-all-page .kf-history-all__row {
  grid-template-columns: minmax(190px, var(--society-width)) var(--axis-width) minmax(0, 1fr);
}

.kf-history-page.kf-history-all-page .kf-history-all__labels {
  margin-bottom: 18px;
}

.kf-history-page.kf-history-all-page .kf-history-all__row {
  margin-bottom: 34px;
}

.kf-history-page.kf-history-all-page .kf-history-all__events {
  align-content: start;
  gap: 12px;
}

.kf-history-page.kf-history-all-page .kf-history-all__events--world {
  grid-column: 1;
  padding: 12px 24px 0 0;
}

.kf-history-page.kf-history-all-page .kf-history-all__events--martial {
  grid-column: 3;
  padding: 0;
}

.kf-history-page.kf-history-all-page .kf-history-all__axis {
  display: block;
  grid-column: 2;
  padding: 0;
}

.kf-history-page.kf-history-all-page .kf-history-all__item {
  padding: 0;
}

.kf-history-page.kf-history-all-page .kf-history-all__item--world {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-align: right;
}

.kf-history-page.kf-history-all-page .kf-history-all__world-date {
  display: block;
  margin-bottom: 7px;
  color: var(--ink);
  font: 500 28px/1.15 Georgia, var(--wp--preset--font-family--serif);
  letter-spacing: -0.015em;
}

.kf-history-page.kf-history-all-page .kf-history-all__item--world h4 {
  color: var(--ink-soft);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.65;
}

.kf-history-page.kf-history-all-page .kf-history-all__item--world p {
  color: var(--ink-soft);
  font-size: 12px;
}

.kf-history-page.kf-history-all-page .kf-history-all__item--martial {
  border: 1px solid rgba(168, 135, 80, 0.28);
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 10px 28px rgba(61, 50, 34, 0.06);
}

.kf-history-page.kf-history-all-page .kf-history-all__item--martial .kfh-event__body {
  padding: 23px 28px 24px;
}

.kf-history-page.kf-history-all-page .kf-history-all__item--martial h4 {
  color: var(--ink);
  font-size: clamp(18px, 2vw, 23px);
  font-weight: 500;
  line-height: 1.65;
}

.kf-history-page.kf-history-all-page .kf-history-all__item--martial p {
  color: var(--ink-soft);
  font-size: 14px;
}

.kf-history-page.kf-history-all-page .kf-history-all__item--martial a {
  color: inherit;
  text-decoration-color: rgba(168, 135, 80, 0.5);
}

.kf-history-page.kf-history-all-page .kfha-closing__credit {
  margin-top: 18px;
  color: rgba(255, 255, 255, 0.55);
  font-size: 11px;
  letter-spacing: 0.12em;
}

.kf-history-page.kf-history-all-page .kfha-closing__back {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  margin-top: 28px;
  padding: 12px 22px;
  border: 1px solid #d8c6a3;
  border-radius: 999px;
  color: #3e392f;
  background: #e4d4b5;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-decoration: none;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.kf-history-page.kf-history-all-page .kfha-closing__back::after {
  color: #775f34;
  content: "→";
}

.kf-history-page.kf-history-all-page .kfha-closing__back:hover,
.kf-history-page.kf-history-all-page .kfha-closing__back:focus-visible {
  border-color: #f4ecdc;
  background: #f4ecdc;
}

@media (max-width: 900px) {
  .kf-history-page.kf-history-all-page .kfha-era .kfh-era__head {
    grid-template-columns: 74px 1fr;
  }

  .kf-history-page.kf-history-all-page .kf-history-all__timeline {
    --society-width: 0px;
    --axis-width: 35px;
  }

  .kf-history-page.kf-history-all-page .kf-history-all__timeline::before {
    left: 17px;
  }

  .kf-history-page.kf-history-all-page .kf-history-all__labels {
    display: none;
  }

  .kf-history-page.kf-history-all-page .kf-history-all__row {
    grid-template-columns: 35px minmax(0, 1fr);
    margin-bottom: 24px;
  }

  .kf-history-page.kf-history-all-page .kf-history-all__axis {
    grid-row: 1 / span 2;
    grid-column: 1;
    margin-top: 14px;
  }

  .kf-history-page.kf-history-all-page .kf-history-all__events--world,
  .kf-history-page.kf-history-all-page .kf-history-all__events--martial {
    grid-column: 2;
    padding: 0;
  }

  .kf-history-page.kf-history-all-page .kf-history-all__events--world {
    grid-row: 1;
    margin-bottom: 9px;
    padding: 10px 13px;
    border-left: 3px solid var(--gold-light);
    background: rgba(255, 255, 255, 0.48);
  }

  .kf-history-page.kf-history-all-page .kf-history-all__events--martial {
    grid-row: 2;
  }

  .kf-history-page.kf-history-all-page .kf-history-all__events:empty {
    display: none;
  }

  .kf-history-page.kf-history-all-page .kf-history-all__row:not(:has(.kf-history-all__item--world)) .kf-history-all__events--martial {
    grid-row: 1;
  }

  .kf-history-page.kf-history-all-page .kf-history-all__item::before {
    content: none;
  }

  .kf-history-page.kf-history-all-page .kf-history-all__item--world {
    border: 0;
    text-align: left;
  }

  .kf-history-page.kf-history-all-page .kf-history-all__world-date {
    display: inline;
    margin: 0 8px 0 0;
    font-size: 18px;
  }

  .kf-history-page.kf-history-all-page .kf-history-all__item--world h4 {
    display: inline;
    font-size: 12px;
  }

  .kf-history-page.kf-history-all-page .kf-history-all__item--martial .kfh-event__body {
    padding: 21px 20px 22px;
  }
}

@media (max-width: 520px) {
  .kf-history-page.kf-history-all-page .kfha-masthead h1 {
    font-size: clamp(32px, 10vw, 44px);
  }

  .kf-history-page.kf-history-all-page .kfha-masthead .kfh-masthead__lead {
    font-size: 14px;
  }

  .kf-history-page.kf-history-all-page .kf-history-all__item--martial h4 {
    font-size: 18px;
  }
}

/* Shared Kichijoji Kung Fu Life section index. */
.kf-kichijoji-section-nav {
  --park-line: #d8c9ad;
  --park-green: #e9eee7;
  --park-ink: #29271f;
  --park-bronze: #8d7139;
  box-sizing: border-box;
  width: min(1100px, calc(100% - 48px));
  margin: 0 auto;
  border-top: 0;
}

/*
 * The four Kichijoji entrances share one full-bleed masthead rhythm.
 * The copy remains aligned to the 1100px reading grid while the photograph
 * reaches the viewport edge, and the four-way index begins immediately below.
 */
.kf-kichijoji-archive-hero {
  width: 100%;
  margin-inline: 0;
  overflow: hidden;
}

.kf-kichijoji-archive-hero > figure {
  min-width: 0;
  min-height: 0;
  align-self: stretch;
  overflow: hidden;
}

.kf-kichijoji-archive-hero > figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.park-shell {
  margin-top: 0;
}

@media (min-width: 901px) {
  .park-hero__copy {
    padding-left: max(48px, calc((100vw - 1100px) / 2 + 48px));
  }
}

@media (min-width: 761px) {
  .kf-kichijoji-archive-hero > figure {
    position: relative;
    height: auto;
  }

  .kf-kichijoji-archive-hero > figure img {
    position: absolute;
    inset: 0;
  }

  .kf-food-walk-archive__hero-copy {
    padding-left: max(60px, calc((100vw - 1100px) / 2 + 60px));
  }
}

.park-shell > .kf-kichijoji-section-nav {
  width: 100%;
  margin: 0 0 63px;
}

.kf-kichijoji-section-nav a:not(.is-current):hover,
.kf-kichijoji-section-nav a:not(.is-current):focus-visible {
  background: #f6f3eb;
}

@media (max-width: 760px) {
  .kf-kichijoji-section-nav {
    grid-template-columns: 1fr;
    width: calc(100% - 28px);
    margin-top: 0;
    margin-bottom: 0;
  }

  .park-shell > .kf-kichijoji-section-nav {
    width: 100%;
    margin-top: 0;
    margin-bottom: 40px;
  }

  .kf-kichijoji-section-nav a {
    border-left: 0;
    border-top: 1px solid var(--park-line);
    min-height: 64px;
    padding: 12px 9px;
    font-size: 0.76rem;
  }

  .kf-kichijoji-section-nav a:first-child {
    border-top: 0;
  }
}

/*
 * Shared archive breadcrumb.  Kichijoji and the four Chinese-experience
 * entrances use one readable size, line-height and horizontal measure.
 */
.site-main .kf-archive-breadcrumb {
  display: flex;
  box-sizing: border-box;
  width: min(1100px, calc(100% - 48px));
  min-height: 68px;
  margin: 0 auto;
  padding: 20px 0;
  flex-wrap: wrap;
  gap: 0;
  align-items: center;
  color: var(--kf-color-ink-soft);
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
  font-size: 14px;
  font-kerning: normal;
  letter-spacing: 0.02em;
  line-height: 2;
}

.site-main .kf-archive-breadcrumb > a,
.site-main .kf-archive-breadcrumb > span {
  margin: 0;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-decoration: none;
}

.site-main .kf-archive-breadcrumb > p:empty {
  display: none;
}

/* One separator mechanism for both legacy breadcrumb markups. */
.site-main .kf-archive-breadcrumb > * + *::before {
  content: none;
}

.site-main .kf-archive-breadcrumb > a::after {
  display: inline-block;
  margin: 0 14px;
  color: var(--kf-color-line-strong);
  content: "/";
  font: inherit;
  letter-spacing: 0;
}

/* Align the four Kichijoji archive entrances without flattening their identity. */
@media (min-width: 761px) {
  .kf-kichijoji-archive-hero {
    height: 420px;
    min-height: 420px;
    grid-template-rows: minmax(0, 1fr);
  }

  .kf-practice-notes-archive__masthead-copy {
    padding-top: 52px;
    padding-bottom: 52px;
  }

  .kf-food-walk-archive__hero-copy {
    padding-top: 42px;
    padding-bottom: 42px;
  }

  .kf-food-walk-archive__hero h1 {
    margin-top: 18px;
    margin-bottom: 18px;
    line-height: 1.28;
  }

  .kf-food-walk-archive__hero-copy > i {
    margin-top: 18px;
    margin-bottom: 18px;
  }

  .kf-food-walk-archive__hero-copy > p:last-child {
    line-height: 1.8;
  }
}

@media (max-width: 760px) {
  .site-main .kf-archive-breadcrumb {
    width: calc(100% - 28px);
    min-height: 58px;
    padding: 14px 0;
    font-size: 14px;
    line-height: 1.8;
  }

  .park-shell {
    margin-top: 0;
  }
}

/* Shared title typography for the FAQ, trial and contact sibling pages. */
.kf-faq-page .kf-page-title-scene__eyebrow,
.page-id-47 .kf-page-title-scene__eyebrow {
  margin-bottom: 14px;
  font-size: 0.68rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  line-height: 1.8;
}

.kf-faq-page .kf-page-title-scene__title,
.page-id-47 .kf-page-title-scene__title {
  font-size: clamp(1.9rem, 3.5vw, 2.65rem);
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.5;
}

@media (max-width: 700px) {
  .kf-faq-page .kf-page-title-scene__title {
    font-size: clamp(1.65rem, 7.8vw, 2.2rem);
  }

  .page-id-47 .kf-page-title-scene__title {
    font-size: clamp(1.25rem, 6vw, 1.6rem);
    white-space: nowrap;
  }
}

/* Dedicated archive for 功夫四コマ「ルールーの功夫生活」. */
.kf-comic-page {
  background: #f5f1e8;
  color: var(--kf-color-ink);
}

.kf-comic-page__scene {
  position: relative;
  width: 100%;
  margin: 0;
  overflow: hidden;
  background: #ece9e3;
  line-height: 0;
}

.kf-comic-page__scene > img {
  display: block;
  width: 100%;
  height: auto;
}

.kf-comic-page__scene > p:empty,
.kf-comic-page__scene-title > p:empty {
  display: none;
}

.kf-comic-page__scene-title {
  position: absolute;
  z-index: 1;
  top: 4%;
  left: 50%;
  width: min(900px, calc(100% - 48px));
  color: #3f3a34;
  text-align: center;
  transform: translateX(-50%);
  line-height: normal;
}

.kf-comic-page__scene-title p {
  margin: 0 0 13px;
  color: #725d3d;
  font-size: 0.76rem;
  letter-spacing: 0.24em;
  line-height: 1.5;
}

.kf-comic-page__scene-title h1 {
  margin: 0;
  font-size: clamp(2rem, 3.7vw, 2.9rem);
  font-weight: 500;
  letter-spacing: 0.07em;
  line-height: 1.5;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.72);
}

.kf-comic-page__breadcrumb {
  width: min(1040px, calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin-inline: auto;
  padding-block: 18px;
}

.kf-comic-page__hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: clamp(48px, 7vw, 86px);
  align-items: center;
  width: min(1040px, calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin-inline: auto;
  padding: clamp(54px, 7vw, 78px) clamp(38px, 6vw, 72px);
  border: 1px solid rgba(154, 126, 72, 0.2);
  background: #fbf9f4;
}

.kf-comic-page__hero-copy {
  max-width: 620px;
}

.kf-comic-page__eyebrow,
.kf-comic-episode__header > p {
  margin: 0 0 16px;
  color: var(--kf-color-bronze);
  font-size: 0.76rem;
  letter-spacing: 0.22em;
  line-height: 1.5;
}

.kf-comic-page__hero h2 {
  margin: 0;
  font-size: clamp(1.65rem, 3vw, 2.2rem);
  font-weight: 500;
  letter-spacing: 0.045em;
  line-height: 1.5;
}

.kf-comic-page__lead {
  max-width: 38em;
  margin: 24px 0 0;
  color: var(--kf-color-ink-soft);
  font-size: 1rem;
  line-height: 1.9;
}

.kf-comic-page__cover {
  margin: 0;
  aspect-ratio: 1;
  overflow: hidden;
}

.kf-comic-page__cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kf-comic-episode {
  width: min(1040px, calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin: clamp(34px, 5vw, 58px) auto 0;
  padding: clamp(42px, 6vw, 72px);
  border: 1px solid rgba(154, 126, 72, 0.18);
  background: #fff;
}

.kf-comic-episode__header {
  width: min(900px, 100%);
  margin: 0 auto clamp(30px, 4vw, 44px);
  text-align: center;
}

.kf-comic-episode__header > p {
  margin-bottom: 11px;
}

.kf-comic-episode__header h2 {
  margin: 0;
  font-size: clamp(1.65rem, 3vw, 2.35rem);
  font-weight: 500;
  letter-spacing: 0.07em;
  line-height: 1.55;
}

.kf-comic-episode__art {
  width: min(900px, 100%);
  margin: 0 auto;
}

.kf-comic-episode__art a,
.kf-comic-episode__art img {
  display: block;
  width: 100%;
}

.kf-comic-episode__art a {
  border: 1px solid rgba(77, 69, 56, 0.18);
  background: #fff;
  box-shadow: 0 14px 34px rgba(68, 56, 36, 0.08);
}

.kf-comic-episode__art img {
  height: auto;
}

.kf-comic-episode__art figcaption {
  margin-top: 12px;
  color: var(--kf-color-ink-soft);
  font-size: 0.8rem;
  text-align: center;
}

.kf-comic-transcript {
  width: min(900px, 100%);
  margin: clamp(32px, 5vw, 52px) auto 0;
  border-block: 1px solid var(--kf-color-line);
}

.kf-comic-transcript summary {
  padding: 18px 4px;
  color: var(--kf-color-ink);
  font-size: 1rem;
  cursor: pointer;
}

.kf-comic-transcript__body {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 34px;
  padding: 6px 4px 28px;
}

.kf-comic-transcript__body section {
  margin: 0;
}

.kf-comic-transcript__body h3 {
  margin: 0 0 8px;
  color: var(--kf-color-bronze);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.12em;
}

.kf-comic-transcript__body p {
  margin: 0 0 7px;
  font-size: 1rem;
  line-height: 1.8;
}

.kf-comic-transcript__body strong {
  font-weight: 600;
}

.kf-comic-episode__credit {
  width: min(900px, 100%);
  margin: 20px auto 0;
  color: var(--kf-color-ink-soft);
  font-size: 0.78rem;
  line-height: 1.8;
}

@media (max-width: 700px) {
  .kf-comic-page__scene {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    background: #f5f4f1;
  }

  .kf-comic-page__scene > img {
    width: 100%;
    height: 222px;
    border-top: 1px solid rgba(77, 69, 56, 0.12);
    object-fit: cover;
    object-position: center center;
  }

  .kf-comic-page__scene-title {
    position: static;
    order: -1;
    width: calc(100% - 36px);
    margin-inline: auto;
    padding-block: 18px 22px;
    transform: none;
  }

  .kf-comic-page__scene-title p {
    margin-bottom: 8px;
    font-size: 0.65rem;
  }

  .kf-comic-page__scene-title h1 {
    font-size: clamp(1.35rem, 6.2vw, 1.8rem);
    letter-spacing: 0.035em;
  }

  .kf-comic-page__scene-title h1 > span {
    display: block;
  }

  .kf-comic-page__breadcrumb {
    padding-block: 13px;
  }

  .kf-comic-page__hero {
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 38px 24px 28px;
  }

  .kf-comic-page__hero h2 {
    font-size: clamp(1.15rem, 5vw, 1.4rem);
    letter-spacing: 0.025em;
  }

  .kf-comic-page__lead {
    margin-top: 18px;
  }

  .kf-comic-page__cover {
    width: min(230px, 76%);
    margin-inline: auto;
  }

  .kf-comic-episode {
    padding: 34px 0 38px;
  }

  .kf-comic-episode__header {
    margin-bottom: 25px;
    padding-inline: 8px;
  }

  .kf-comic-episode__header h2 {
    font-size: clamp(1.45rem, 7vw, 1.85rem);
  }

  .kf-comic-transcript,
  .kf-comic-episode__credit {
    width: calc(100% - 32px);
  }

  .kf-comic-transcript__body {
    grid-template-columns: 1fr;
  }
}
/* About hub — a quiet index for the association's five core pages. */
.kf-about-hub-page .kf-page-article {
  padding-top: 52px;
}

.kf-about-hub {
  width: min(100%, 660px);
  margin-inline: auto;
}

.kf-about-hub__lead {
  max-width: 36em;
  margin: 0 0 38px;
  color: #49443d;
  font-size: 1rem;
  letter-spacing: 0.025em;
  line-height: 2;
}

.kf-about-hub__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid rgba(112, 94, 67, 0.38);
  border-left: 1px solid rgba(112, 94, 67, 0.38);
}

.kf-about-hub__item {
  position: relative;
  display: flex;
  min-height: 214px;
  box-sizing: border-box;
  flex-direction: column;
  padding: 27px 28px 24px;
  border-right: 1px solid rgba(112, 94, 67, 0.38);
  border-bottom: 1px solid rgba(112, 94, 67, 0.38);
  background: rgba(255, 255, 252, 0.74);
  color: #322f2a;
  text-decoration: none;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.kf-about-hub__item:hover,
.kf-about-hub__item:focus-visible {
  z-index: 1;
  background: #fff;
  box-shadow: 0 10px 26px rgba(66, 55, 40, 0.08);
}

.kf-about-hub__item:focus-visible {
  outline: 2px solid #93764a;
  outline-offset: -2px;
}



.kf-about-hub__item h2 {
  margin: 0 0 11px;
  padding: 0;
  border: 0;
  color: #302d28;
  font-size: 1.28rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.55;
}

.kf-about-hub__item h2::before,
.kf-about-hub__item h2::after {
  display: none !important;
  content: none !important;
}

.kf-about-hub__item p {
  margin: 0;
  color: #5d5750;
  font-size: 0.85rem;
  line-height: 1.85;
}

.kf-about-hub__item i {
  margin-top: auto;
  padding-top: 18px;
  color: #765b34;
  font-size: 0.75rem;
  font-style: normal;
  letter-spacing: 0.06em;
}

.kf-about-hub__history {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  margin-top: 28px;
  padding: 24px 28px;
  border-top: 1px solid rgba(112, 94, 67, 0.38);
  border-bottom: 1px solid rgba(112, 94, 67, 0.38);
}



.kf-about-hub__history strong {
  display: block;
  color: #302d28;
  font-size: 1.12rem;
  font-weight: 500;
  letter-spacing: 0.06em;
}

.kf-about-hub__history a {
  color: #5b482b;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-decoration: none;
}

.kf-about-hub__history a:hover,
.kf-about-hub__history a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.25em;
}

@media (max-width: 680px) {
  .kf-about-hub-page .kf-page-article {
    padding-top: 38px;
  }

  .kf-about-hub__lead {
    margin-bottom: 30px;
  }

  .kf-about-hub__grid {
    grid-template-columns: 1fr;
  }

  .kf-about-hub__item {
    min-height: 0;
    padding: 24px 22px 21px;
  }

  .kf-about-hub__item i {
    padding-top: 14px;
  }

  .kf-about-hub__history {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 22px;
  }
}

/* Cheng-style overview refinements: mobile alignment, steps, forms and links. */
body.page-id-78 .entry-content > h4 {
  margin: 36px 0 15px;
  padding: 0 0 10px 14px;
  border-bottom: 1px dotted color-mix(in srgb, var(--kf-color-line) 72%, transparent);
  border-left: 2px solid var(--kf-color-line-strong);
}

body.page-id-78 .entry-content > h4::before {
  display: none;
  content: none;
}

body.page-id-78 .entry-content > .wp-block-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  list-style: none;
}

body.page-id-78 .entry-content > .wp-block-list > li {
  margin: 0;
  padding: 14px 17px;
  border: 1px solid color-mix(in srgb, var(--kf-color-line) 72%, transparent);
  background: color-mix(in srgb, var(--kf-color-surface) 88%, transparent);
  line-height: 1.85;
}

body.page-id-78 .entry-content > .wp-block-list > li:nth-child(-n + 2) {
  grid-column: 1 / -1;
  padding-block: 17px;
  background: color-mix(in srgb, var(--kf-color-paper) 62%, white);
}

body.page-id-78 .entry-content > .wp-block-list a {
  display: inline-block;
  margin-bottom: 3px;
  color: var(--kf-color-bronze);
  font-size: 1.02rem;
  font-weight: 600;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.24em;
}

body.page-id-78 .entry-content > .kf-legacy-post-link {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: 18px 0;
  border: 1px solid color-mix(in srgb, var(--kf-color-line) 80%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--kf-color-surface) 94%, var(--kf-color-paper));
  box-shadow: 0 8px 22px rgb(73 62 43 / 6%);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

body.page-id-78 .entry-content > .kf-legacy-post-link::before {
  position: absolute;
  z-index: 1;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(var(--kf-color-bronze), #72886d);
  content: "";
}

body.page-id-78 .entry-content > .kf-legacy-post-link:hover,
body.page-id-78 .entry-content > .kf-legacy-post-link:has(a:focus-visible) {
  border-color: var(--kf-color-line-strong);
  box-shadow: 0 12px 28px rgb(73 62 43 / 10%);
  transform: translateY(-1px);
}

body.page-id-78 .entry-content > .kf-legacy-post-link > a {
  position: relative;
  z-index: 2;
  display: grid;
  min-height: 110px;
  grid-template-columns: 154px minmax(0, 1fr) 32px;
  align-items: center;
  gap: 22px;
  padding: 14px 18px 14px 20px;
  color: var(--kf-color-ink);
}

body.page-id-78 .entry-content > .kf-legacy-post-link .kf-legacy-post-link__thumb {
  width: 154px;
  height: 96px;
  border-radius: 5px;
}

body.page-id-78 .entry-content > .kf-legacy-post-link .kf-legacy-post-link__copy {
  gap: 6px;
}

body.page-id-78 .entry-content > .kf-legacy-post-link small {
  color: var(--kf-color-bronze);
  font-size: 0.69rem;
  font-weight: 500;
  letter-spacing: 0.12em;
}

body.page-id-78 .entry-content > .kf-legacy-post-link strong {
  font-size: 1.04rem;
  font-weight: 500;
  letter-spacing: 0.035em;
  line-height: 1.65;
}

body.page-id-78 .entry-content > .kf-legacy-post-link > a > span:last-child {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 50%;
  background: #72886d;
  color: white;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.78rem;
  line-height: 1;
}

@media (max-width: 760px) {
  body.page-id-78 .entry-content > :is(.swell-block-columns, .ark-block-columns):has(figure) figure {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: center;
  }

  body.page-id-78 .entry-content > :is(.swell-block-columns, .ark-block-columns):has(figure) figure a {
    display: block;
    width: fit-content;
    margin-inline: auto;
  }

  body.page-id-78 .entry-content > :is(.swell-block-columns, .ark-block-columns):has(figure) figure img {
    margin-inline: auto !important;
  }

  body.page-id-78 .entry-content > h4 {
    margin-top: 32px;
    padding-left: 11px;
  }

  body.page-id-78 .entry-content > .wp-block-list {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 0;
  }

  body.page-id-78 .entry-content > .wp-block-list > li,
  body.page-id-78 .entry-content > .wp-block-list > li:nth-child(-n + 2) {
    grid-column: auto;
    padding: 14px 15px;
  }

  body.page-id-78 .entry-content > .kf-legacy-post-link {
    margin-block: 14px;
  }

  body.page-id-78 .entry-content > .kf-legacy-post-link > a {
    min-height: 0;
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 12px;
    padding: 12px 12px 12px 15px;
  }

  body.page-id-78 .entry-content > h2:has(+ .kf-legacy-post-link + .kf-legacy-post-link) {
    font-size: 1.22rem;
    letter-spacing: 0.025em;
  }

  body.page-id-78 .entry-content > .kf-legacy-post-link .kf-legacy-post-link__thumb {
    width: 84px;
    height: 62px;
  }

  body.page-id-78 .entry-content > .kf-legacy-post-link small {
    font-size: 0.63rem;
    letter-spacing: 0.08em;
  }

  body.page-id-78 .entry-content > .kf-legacy-post-link strong {
    font-size: 0.9rem;
  }

  body.page-id-78 .entry-content > .kf-legacy-post-link > a > span:last-child {
    display: none;
  }
}

/* Cheng-style overview — quiet, weighty traditional finish. */
body.page-id-78 .kf-page-article {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--kf-color-line) 70%, transparent);
  background-color: var(--kf-color-content-background);
  background-image: none;
  box-shadow: 0 16px 38px rgb(44 42 38 / 6%);
}

body.page-id-78 .kf-page-article::before,
body.page-id-78 .kf-page-article::after {
  position: absolute;
  z-index: 0;
  pointer-events: none;
  content: "";
}

body.page-id-78 .kf-page-article::before {
  display: none;
  content: none;
}

body.page-id-78 .kf-page-article::after {
  right: -54px;
  bottom: 132px;
  width: 290px;
  height: 400px;
  background: url("../images/motif-taihu-rock-bamboo-v1-web.webp") right bottom / contain no-repeat;
  opacity: 0.065;
}

body.page-id-78 .kf-page-article > * {
  position: relative;
  z-index: 1;
}

/* Hua Tuo Wuqinxi overview — finish with the same quiet frame as Baguazhang. */
body.page-id-58 .kf-page-article {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--kf-color-line) 70%, transparent);
  background-color: var(--kf-color-content-background);
  background-image: none;
  box-shadow: 0 16px 38px rgb(44 42 38 / 6%);
}

body.page-id-58 .kf-page-article > * {
  position: relative;
  z-index: 1;
}

.kf-section-guide {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: 0 0 64px;
  padding: 34px 34px 30px;
  border: 1px solid color-mix(in srgb, var(--kf-color-line-strong) 74%, transparent);
  background-color: #fbfaf7;
  box-shadow: 0 12px 28px rgb(52 45 35 / 6%);
}

.kf-section-guide::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  background: url("../images/bagua-soaring-dragon-background-v1.png") 57% 35% / cover no-repeat;
  content: "";
  opacity: 0.2;
  pointer-events: none;
}

.kf-section-guide > * {
  position: relative;
  z-index: 1;
}

.kf-section-guide__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 26px;
  text-align: center;
}

.kf-section-guide__heading span {
  display: flex;
  align-items: center;
  gap: 11px;
  color: #96606a;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.2em;
}

.kf-section-guide__heading span::before,
.kf-section-guide__heading span::after {
  width: 24px;
  height: 1px;
  background: #b86c77;
  content: "";
}

.kf-section-guide__heading p {
  margin: 12px 0 0;
  color: #292822;
  font-size: clamp(1.45rem, 2.5vw, 1.9rem);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.55;
}

.kf-section-guide ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 0;
  margin: 0;
  padding: 16px 24px 14px;
  border-top: 1px solid rgb(154 129 88 / 36%);
  border-bottom: 1px solid rgb(154 129 88 / 24%);
  background: rgb(255 254 251 / 74%);
  list-style: none;
}

.kf-section-guide li {
  margin: 0;
  border-top: 1px solid rgb(143 123 88 / 17%);
}

.kf-section-guide li:nth-child(-n + 2) {
  border-top: 0;
}

.kf-section-guide li:nth-child(even) {
  padding-left: 24px;
  border-left: 1px solid rgb(143 123 88 / 22%);
}

.kf-section-guide li:nth-child(odd) {
  padding-right: 24px;
}

.kf-section-guide a {
  display: grid;
  grid-template-columns: 2.1em minmax(0, 1fr);
  gap: 9px;
  align-items: baseline;
  padding: 9px 2px 10px;
  color: var(--kf-color-ink);
  text-decoration: none !important;
}

.kf-section-guide a > span {
  color: #9a655f;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.66rem;
  letter-spacing: 0.08em;
}

.kf-section-guide a > b {
  font-size: 0.88rem;
  font-weight: 500;
  letter-spacing: 0.025em;
  line-height: 1.55;
}

.kf-section-guide a:hover,
.kf-section-guide a:focus-visible {
  color: #7a4e4f;
}

.kf-section-guide a:focus-visible {
  outline: 1px solid #a96870;
  outline-offset: 3px;
}

body.page-id-78 .entry-content > h2 {
  position: relative;
}

body.page-id-78 .entry-content > h2::after {
  display: none;
  content: none;
}

body.page-id-78 .entry-content > h2:first-child {
  min-height: 0;
  padding-right: 0;
}

body.page-id-78 .entry-content > h2:first-child::after {
  display: none;
  content: none;
}

body.page-id-78 .entry-content > h2:has(+ .kf-cheng-related-page)::after {
  display: none;
  content: none;
}

body.page-id-78 .entry-content > h3 {
  padding: 0 0 12px;
  border-left: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--kf-color-line-strong) 70%, transparent);
  background: transparent;
}

body.page-id-78 .entry-content > :is(.swell-block-columns, .ark-block-columns):has(figure) {
  border: 1px solid color-mix(in srgb, var(--kf-color-line) 76%, transparent);
  background: rgb(255 255 253 / 96%);
  box-shadow: 0 7px 20px rgb(44 42 38 / 4%);
}

body.page-id-78 .entry-content > .wp-block-list > li:nth-child(-n + 2) {
  border-left: 1px solid color-mix(in srgb, var(--kf-color-line) 72%, transparent);
  background: rgb(255 255 253 / 96%);
}

body.page-id-78 .entry-content > h4 {
  padding-left: 0;
  border-left: 0;
  border-bottom-style: solid;
}

body.page-id-78 .entry-content > .kf-legacy-post-link::before {
  display: none;
  content: none;
}

body.page-id-78 .entry-content p a,
body.page-id-78 .entry-content > .wp-block-list a {
  color: #1769aa;
  font-weight: 600;
  text-decoration-color: rgb(23 105 170 / 52%);
  text-decoration-line: underline !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.22em;
}

body.page-id-78 .entry-content p a:hover,
body.page-id-78 .entry-content p a:focus-visible,
body.page-id-78 .entry-content > .wp-block-list a:hover,
body.page-id-78 .entry-content > .wp-block-list a:focus-visible {
  color: #0f4f86;
  text-decoration-color: currentColor;
}

body.page-id-78 .entry-content > .swell-block-columns:not(:has(figure)) > .swell-block-columns__inner {
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
}

body.page-id-78 .entry-content .swell-block-button {
  display: flex;
  width: 100%;
  margin: 22px 0 10px;
  justify-content: center;
  text-align: center;
}

body.page-id-78 .entry-content .swell-block-button__link {
  width: auto !important;
  min-width: 148px !important;
  min-height: 42px;
  gap: 9px;
  padding: 9px 20px 10px;
  border: 1px solid #cbbfaa;
  border-radius: 4px;
  background: #fbfaf7;
  box-shadow: 0 3px 8px rgb(72 61 43 / 6%);
  color: #5d5343;
  font-size: 0.85rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.5;
  text-decoration: none;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

body.page-id-78 .entry-content .swell-block-button__link::after {
  color: #88724d;
  content: "\2192";
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.86rem;
  line-height: 1;
}

body.page-id-78 .entry-content .swell-block-button__link:hover,
body.page-id-78 .entry-content .swell-block-button__link:focus-visible {
  border-color: #aa9878;
  background: #f6f1e7;
  box-shadow: 0 5px 12px rgb(72 61 43 / 9%);
  color: #3f382d;
  transform: translateY(-1px);
}

body.page-id-78 .entry-content .swell-block-button__link:focus-visible {
  outline: 2px solid rgb(49 95 145 / 34%);
  outline-offset: 4px;
}

@media (max-width: 760px) {
  body.page-id-78 .kf-page-article::before {
    display: none;
    content: none;
  }

  body.page-id-78 .kf-page-article::after {
    right: -70px;
    bottom: 80px;
    width: 210px;
    height: 300px;
    opacity: 0.045;
  }

  .kf-section-guide {
    margin-bottom: 46px;
    padding: 26px 16px 22px;
  }

  .kf-section-guide__heading {
    margin-bottom: 20px;
  }

  .kf-section-guide__heading p {
    margin-top: 9px;
    font-size: 1.3rem;
    letter-spacing: 0.07em;
  }

  .kf-section-guide ol {
    grid-template-columns: minmax(0, 1fr);
    padding: 10px 15px;
  }

  .kf-section-guide li:nth-child(-n + 2) {
    border-top: 1px solid rgb(143 123 88 / 17%);
  }

  .kf-section-guide li:first-child {
    border-top: 0;
  }

  .kf-section-guide li:nth-child(even),
  .kf-section-guide li:nth-child(odd) {
    padding-inline: 0;
    border-left: 0;
  }

  .kf-section-guide a {
    padding-block: 8px;
  }

  body.page-id-78 .entry-content > h2:first-child {
    min-height: 0;
    padding-right: 0;
  }

  body.page-id-78 .entry-content > h2:first-child::after {
    display: none;
    content: none;
  }

  body.page-id-78 .entry-content > h2:has(+ .kf-cheng-related-page)::after {
    display: none;
    content: none;
  }

  body.page-id-78 .entry-content .swell-block-button {
    margin-top: 18px;
  }

  body.page-id-78 .entry-content .swell-block-button__link {
    min-width: 144px !important;
  }
}

/* Cheng-style lineage profiles — unboxed biographical portraits. */
body.page-id-78 .entry-content > .kf-lineage-heading {
  position: relative;
  display: flex;
  margin: 86px 0 0;
  padding: 28px 20px 27px;
  flex-direction: column;
  align-items: center;
  border: 0;
  border-top: 1px solid rgb(153 130 89 / 34%);
  border-bottom: 1px solid rgb(153 130 89 / 48%);
  background: linear-gradient(90deg, transparent, rgb(246 242 233 / 62%) 20%, rgb(246 242 233 / 62%) 80%, transparent);
  text-align: center;
}

body.page-id-78 .entry-content > .kf-lineage-heading::before {
  position: absolute;
  top: -4px;
  left: 50%;
  width: 7px;
  height: 7px;
  border: 1px solid #9a655e;
  background: #fff;
  content: "";
  transform: translateX(-50%) rotate(45deg);
}

body.page-id-78 .entry-content > .kf-lineage-heading::after {
  position: absolute;
  bottom: -4px;
  left: 50%;
  width: 7px;
  height: 7px;
  border: 1px solid #9a655e;
  background: #fff;
  content: "";
  transform: translateX(-50%) rotate(45deg);
}

.kf-lineage-heading__role,
.kf-lineage-heading__name,
.kf-lineage-heading__school {
  display: block;
}

.kf-lineage-heading__role {
  color: #925d56;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  line-height: 1.4;
}

.kf-lineage-heading__name {
  margin-top: 9px;
  color: #2f2c27;
  font-size: clamp(1.65rem, 3vw, 2rem);
  font-weight: 500;
  letter-spacing: 0.14em;
  line-height: 1.45;
}

.kf-lineage-heading__school {
  margin-top: 7px;
  color: #655c50;
  font-size: 0.92rem;
  font-weight: 500;
  letter-spacing: 0.09em;
  line-height: 1.5;
}

body.page-id-78 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) {
  margin: 0;
  padding: 38px 0 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.page-id-78 .entry-content > .kf-lineage-heading + .swell-block-columns:has(figure) > .swell-block-columns__inner,
body.page-id-78 .entry-content > .kf-lineage-heading + .ark-block-columns:has(figure) > .ark-block-columns__inner {
  grid-template-columns: minmax(0, 250px) minmax(0, 1fr) !important;
  gap: 50px !important;
}

body.page-id-78 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) > div > :first-child {
  padding: 0;
  border: 0;
}

body.page-id-78 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) figure a {
  display: block;
  width: fit-content;
  margin-inline: auto;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.page-id-78 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) figure img {
  max-width: 230px;
  border: 0 !important;
  box-shadow: none !important;
}

body.page-id-78 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) figcaption {
  margin-top: 17px;
  color: #6e6455;
  font-size: 0.71rem;
  letter-spacing: 0.07em;
}

body.page-id-78 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) .is-style-big_kakko_box {
  color: #403c35;
  font-size: 0.97rem;
  line-height: 2.08;
}

body.page-id-78 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) .is-style-big_kakko_box::before {
  display: inline-block;
  margin-bottom: 20px;
  padding: 0 0 7px;
  border-bottom: 1px solid rgb(153 130 89 / 38%);
  color: #846d49;
  content: "人物略伝";
  font-family: serif;
  font-size: 0.73rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  line-height: 1.4;
}

body.page-id-78 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) .is-style-big_kakko_box::after {
  display: none;
  content: none;
}

body.page-id-78 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) + .swell-block-columns:not(:has(figure)) {
  position: relative;
  margin: 0;
  padding: 29px 0 58px;
  border: 0;
  border-bottom: 0;
  background: transparent;
  box-shadow: none;
}

body.page-id-78 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) + .swell-block-columns:not(:has(figure))::after {
  display: none;
  content: none;
}

body.page-id-78 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) + .swell-block-columns:not(:has(figure)) > .swell-block-columns__inner {
  padding-top: 25px;
  border-top: 0;
}

body.page-id-78 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) + .swell-block-columns:not(:has(figure)) p {
  color: #48433b;
  line-height: 2;
}

body.page-id-78 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) + .swell-block-columns:not(:has(figure)) .swell-block-button {
  margin: 28px auto 0;
  justify-content: center;
}

body.page-id-78 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) + .swell-block-columns:not(:has(figure)) .swell-block-button__link {
  display: inline-flex;
  width: 218px !important;
  max-width: 100%;
  min-width: 218px !important;
  min-height: 46px;
  margin-inline: auto;
  padding: 10px 23px 11px;
  border: 1px solid var(--kf-color-line-strong);
  border-radius: 2px;
  background: color-mix(in srgb, var(--kf-color-surface) 96%, var(--kf-color-paper));
  box-shadow: none;
  color: var(--kf-color-bronze);
  font-weight: 600;
  gap: 12px;
}

body.page-id-78 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) + .swell-block-columns:not(:has(figure)) .swell-block-button__link::after {
  width: 30px;
  height: 7px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  color: currentColor;
  content: "";
  transform: skewX(42deg) translateY(-2px);
}

body.page-id-78 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) + .swell-block-columns:not(:has(figure)) .swell-block-button__link:hover,
body.page-id-78 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) + .swell-block-columns:not(:has(figure)) .swell-block-button__link:focus-visible {
  border-color: var(--kf-color-bronze-soft);
  background: var(--kf-gold-050);
  box-shadow: none;
  color: var(--kf-gold-700);
  transform: none;
}

@media (max-width: 760px) {
  body.page-id-78 .entry-content > .kf-lineage-heading {
    margin-top: 68px;
    padding: 23px 12px 22px;
  }

  .kf-lineage-heading__role {
    font-size: 0.86rem;
  }

  .kf-lineage-heading__name {
    margin-top: 8px;
    font-size: 1.55rem;
  }

  .kf-lineage-heading__school {
    margin-top: 6px;
    font-size: 0.84rem;
  }

  body.page-id-78 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) {
    padding-top: 31px;
  }

  body.page-id-78 .entry-content > .kf-lineage-heading + .swell-block-columns:has(figure) > .swell-block-columns__inner,
  body.page-id-78 .entry-content > .kf-lineage-heading + .ark-block-columns:has(figure) > .ark-block-columns__inner {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 30px !important;
  }

  body.page-id-78 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) figure img {
    max-width: 220px;
  }

  body.page-id-78 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) .is-style-big_kakko_box {
    font-size: 0.93rem;
    line-height: 1.98;
  }

  body.page-id-78 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) + .swell-block-columns:not(:has(figure)) {
    margin-bottom: 0;
    padding: 24px 0 46px;
  }

body.page-id-78 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) + .swell-block-columns:not(:has(figure)) > .swell-block-columns__inner {
    padding-top: 22px;
  }

}

/* Cheng-style overview: clarify branch hierarchy and present forms as one list. */
body.page-id-78 .entry-content > .kf-style-branch-heading {
  margin: 44px 0 0;
  padding: 1px 0 1px 17px;
  border: 0;
  border-left: 2px solid #a59d8d;
  background: transparent;
  color: #322f29;
  font-size: 1.17rem;
  font-weight: 600;
  letter-spacing: 0.045em;
  line-height: 1.6;
}

body.page-id-78 .entry-content > .kf-style-branch-heading::before {
  display: none;
  content: none;
}

body.page-id-78 .entry-content > .kf-style-branch-heading + p {
  margin: 0 0 42px;
  padding: 19px 0 0 19px;
  color: var(--kf-color-ink-soft);
  font-size: 0.96rem;
  line-height: 1.9;
}

body.page-id-78 .entry-content > .kf-style-branch-heading--subgroup {
  margin-top: 49px;
}

body.page-id-78 .entry-content > .kf-style-branch-heading--subgroup + p::first-line {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
}

body.page-id-78 .entry-content > #baguazhang-forms + .wp-block-list {
  display: block;
  columns: auto;
  column-count: 1;
  column-width: auto;
  margin: 26px 0 0;
  padding: 0;
  border: 0;
  border-top: 1px solid color-mix(in srgb, var(--kf-color-line) 72%, transparent);
  background: transparent;
  list-style: none;
}

body.page-id-78 .entry-content > #baguazhang-forms + .wp-block-list > li,
body.page-id-78 .entry-content > #baguazhang-forms + .wp-block-list > li:nth-child(-n + 2) {
  position: relative;
  display: block;
  margin: 0;
  padding: 16px 12px 17px 28px;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--kf-color-line) 72%, transparent);
  background: transparent;
  color: var(--kf-color-ink-soft);
  line-height: 1.85;
}

body.page-id-78 .entry-content > #baguazhang-forms + .wp-block-list > li::before {
  position: absolute;
  top: 1.48em;
  left: 7px;
  width: 6px;
  height: 6px;
  border: 1px solid #a6756e;
  background: #fff;
  content: "";
  transform: rotate(45deg);
}

body.page-id-78 .entry-content > #baguazhang-forms + .wp-block-list a {
  display: inline;
  margin: 0;
  color: var(--kf-color-link, #1769aa);
  font-size: 1.04rem;
  font-weight: 600;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.24em;
}

@media (max-width: 760px) {
  body.page-id-78 .entry-content > .kf-style-branch-heading {
    margin-top: 38px;
    padding: 1px 0 1px 14px;
    font-size: 1.08rem;
  }

  body.page-id-78 .entry-content > .kf-style-branch-heading + p {
    margin-bottom: 36px;
    padding: 16px 0 0 16px;
  }

  body.page-id-78 .entry-content > #baguazhang-forms + .wp-block-list > li,
  body.page-id-78 .entry-content > #baguazhang-forms + .wp-block-list > li:nth-child(-n + 2) {
    padding: 14px 6px 15px 24px;
  }

  body.page-id-78 .entry-content > #baguazhang-forms + .wp-block-list > li::before {
    left: 4px;
  }
}

/* Chen-style Taijiquan overview — white tiger, circular movement and lineage. */
.kf-chenstyle-taichi-page .kf-page-article {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--kf-color-line) 70%, transparent);
  background: var(--kf-color-content-background);
  box-shadow: 0 16px 38px rgb(44 42 38 / 6%);
}

.kf-chenstyle-taichi-page .kf-page-article::after {
  position: absolute;
  z-index: 0;
  right: -64px;
  bottom: 132px;
  width: 300px;
  height: 410px;
  background: url("../images/motif-taihu-rock-bamboo-v1-web.webp") right bottom / contain no-repeat;
  content: "";
  opacity: 0.052;
  pointer-events: none;
}

.kf-chenstyle-taichi-page .kf-page-article > * {
  position: relative;
  z-index: 1;
}

.kf-chenstyle-taichi-page .kf-page-layout--wide .kf-page-article > .entry-content {
  width: min(100%, 760px);
}

.kf-taichi-opening {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: 0 0 56px;
  padding: 66px 46px 58px;
  border: 0;
  background: #fff;
  text-align: center;
}

.kf-taichi-opening::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  background: url("../images/chenstyle-white-tiger-pearl-background-v1.png") center 34% / cover no-repeat;
  content: "";
  opacity: 0.22;
  pointer-events: none;
}

.kf-taichi-opening::after {
  display: none;
  content: none;
}

.kf-taichi-opening > * {
  position: relative;
  z-index: 1;
}

.kf-taichi-opening__eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 0 0 20px !important;
  color: #96606a;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.2em;
}

.kf-taichi-opening__eyebrow::before,
.kf-taichi-opening__eyebrow::after {
  width: 25px;
  height: 1px;
  background: #b66d77;
  content: "";
}

.kf-taichi-opening h2 {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #292823;
  font-size: clamp(1.85rem, 3.25vw, 2.2rem);
  font-weight: 500;
  letter-spacing: 0.07em;
  line-height: 1.72;
}

.kf-taichi-opening h2::before,
.kf-taichi-opening h2::after {
  display: none;
  content: none;
}

.kf-taichi-opening__lead {
  max-width: 650px;
  margin: 26px auto 0 !important;
  padding: 24px 0 0;
  border-top: 1px solid rgb(154 129 88 / 40%);
  color: #4d4941;
  font-size: 0.94rem;
  letter-spacing: 0.018em;
  line-height: 2.05;
}

.kf-taichi-section-guide::before {
  background: url("../images/chenstyle-white-tiger-pearl-background-v1.png") center 34% / cover no-repeat;
  opacity: 0.2;
}

.kf-chenstyle-taichi-page .entry-content > h2 {
  position: relative;
  margin: 72px 0 24px;
  padding: 0 0 14px 18px;
  border: 0;
  border-left: 4px solid var(--kf-color-bronze);
  border-bottom: 1px solid var(--kf-color-line-strong);
  background: transparent;
  color: var(--kf-color-ink);
  font-size: var(--kf-body-h2-size);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: var(--kf-body-h2-line-height);
}

.kf-chenstyle-taichi-page .entry-content > h3:not(.kf-taichi-lineage-heading):not(.kf-taichi-branch-heading) {
  margin: 48px 0 21px;
  padding: 1px 0 10px 16px;
  border: 0;
  border-left: 2px solid #a69a84;
  border-bottom: 1px solid rgb(160 143 111 / 28%);
  background: transparent;
  color: #35322c;
  font-size: 1.15rem;
  font-weight: 600;
  letter-spacing: 0.045em;
  line-height: 1.65;
}

.kf-chenstyle-taichi-page .entry-content > h4 {
  --kf-reference-h4-marker-space: 0px;
  --kf-reference-h4-marker-display: none;
  margin: 39px 0 16px;
  padding: 0 0 11px;
  border: 0;
  border-bottom: 1px solid rgb(160 137 96 / 38%);
  background: transparent;
  color: #463e31;
  font-size: 1.08rem;
  font-weight: 600;
  letter-spacing: 0.025em;
  line-height: 1.7;
}

.kf-chenstyle-taichi-page .entry-content > p {
  color: #48443c;
  line-height: 2;
}

.kf-chenstyle-taichi-page .entry-content p a {
  color: #1769aa;
  font-weight: 600;
  text-decoration-color: rgb(23 105 170 / 52%);
  text-decoration-line: underline !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.22em;
}

.kf-chenstyle-taichi-page .entry-content p a:hover,
.kf-chenstyle-taichi-page .entry-content p a:focus-visible {
  color: #0f4f86;
  text-decoration-color: currentColor;
}

.kf-chenstyle-taichi-page .entry-content > figure,
body.page-id-78 .entry-content > figure,
body.page-id-58 .entry-content > figure {
  width: fit-content;
  max-width: 100%;
  margin: 30px auto 36px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  text-align: center;
}

.kf-chenstyle-taichi-page .entry-content > figure img,
body.page-id-78 .entry-content > figure img,
body.page-id-58 .entry-content > figure img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin-inline: auto !important;
  border: 0 !important;
  box-shadow: none !important;
}

.kf-chenstyle-taichi-page .entry-content > figure figcaption,
body.page-id-78 .entry-content > figure figcaption,
body.page-id-58 .entry-content > figure figcaption {
  margin: 12px 6px 3px;
  color: #736a5d;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  text-align: center;
}

.kf-chenstyle-taichi-page .entry-content > .kf-taichi-genealogy {
  margin: 30px 0 66px;
  padding: 26px 30px;
  border-top: 1px solid rgb(153 130 89 / 44%);
  border-bottom: 1px solid rgb(153 130 89 / 44%);
  background: linear-gradient(90deg, transparent, rgb(247 244 237 / 78%) 12%, rgb(247 244 237 / 78%) 88%, transparent);
  color: #514b41;
  font-size: 0.9rem;
  line-height: 2.18;
}

.kf-chenstyle-taichi-page .entry-content > .kf-taichi-lineage-heading {
  position: relative;
  display: flex;
  margin: 86px 0 0;
  padding: 28px 20px 27px;
  flex-direction: column;
  align-items: center;
  border: 0;
  border-top: 1px solid rgb(153 130 89 / 34%);
  border-bottom: 1px solid rgb(153 130 89 / 48%);
  background: linear-gradient(90deg, transparent, rgb(246 242 233 / 62%) 20%, rgb(246 242 233 / 62%) 80%, transparent);
  text-align: center;
}

.kf-chenstyle-taichi-page .entry-content > .kf-taichi-lineage-heading::before,
.kf-chenstyle-taichi-page .entry-content > .kf-taichi-lineage-heading::after {
  position: absolute;
  left: 50%;
  width: 7px;
  height: 7px;
  border: 1px solid #9a655e;
  background: #fff;
  content: "";
  transform: translateX(-50%) rotate(45deg);
}

.kf-chenstyle-taichi-page .entry-content > .kf-taichi-lineage-heading::before {
  top: -4px;
}

.kf-chenstyle-taichi-page .entry-content > .kf-taichi-lineage-heading::after {
  bottom: -4px;
}

.kf-chenstyle-taichi-page .entry-content > .kf-taichi-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) {
  margin: 0;
  padding: 38px 0 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.kf-chenstyle-taichi-page .entry-content > .kf-taichi-lineage-heading + .swell-block-columns:has(figure) > .swell-block-columns__inner,
.kf-chenstyle-taichi-page .entry-content > .kf-taichi-lineage-heading + .ark-block-columns:has(figure) > .ark-block-columns__inner {
  grid-template-columns: minmax(0, 250px) minmax(0, 1fr) !important;
  gap: 48px !important;
  align-items: start !important;
}

.kf-chenstyle-taichi-page .entry-content > .kf-taichi-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) figure {
  margin: 0;
}

.kf-chenstyle-taichi-page .entry-content > .kf-taichi-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) figure a {
  display: block;
  width: fit-content;
  margin-inline: auto;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.kf-chenstyle-taichi-page .entry-content > .kf-taichi-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) figure img {
  max-width: 230px;
  border: 0 !important;
  box-shadow: none !important;
}

.kf-chenstyle-taichi-page .entry-content > .kf-taichi-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) figcaption {
  margin-top: 16px;
  color: #6d6457;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-align: center;
}

.kf-chenstyle-taichi-page .entry-content > .kf-taichi-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) .is-style-big_kakko_box {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #403c35;
  font-size: 0.96rem;
  line-height: 2.04;
}

.kf-chenstyle-taichi-page .entry-content > .kf-taichi-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) .is-style-big_kakko_box::before {
  display: inline-block;
  margin-bottom: 19px;
  padding: 0 0 7px;
  border-bottom: 1px solid rgb(153 130 89 / 38%);
  color: #846d49;
  content: "人物略伝";
  font-family: serif;
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  line-height: 1.4;
}

.kf-chenstyle-taichi-page .entry-content > .kf-taichi-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) .is-style-big_kakko_box::after {
  display: none;
  content: none;
}

.kf-chenstyle-taichi-page .entry-content .swell-block-button {
  display: flex;
  width: 100%;
  margin: 27px auto 48px;
  justify-content: center;
  text-align: center;
}

.kf-chenstyle-taichi-page .entry-content .swell-block-button__link {
  display: inline-flex;
  width: 218px !important;
  max-width: 100%;
  min-width: 218px !important;
  min-height: 46px;
  margin-inline: auto;
  padding: 10px 23px 11px;
  border: 1px solid var(--kf-color-line-strong);
  border-radius: 2px;
  background: color-mix(in srgb, var(--kf-color-surface) 96%, var(--kf-color-paper));
  box-shadow: none;
  color: var(--kf-color-bronze);
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-decoration: none !important;
}

.kf-chenstyle-taichi-page .entry-content .swell-block-button__link::after {
  width: 30px;
  height: 7px;
  margin-left: 12px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  color: currentColor;
  content: "";
  transform: skewX(42deg) translateY(-2px);
}

.kf-chenstyle-taichi-page .entry-content .swell-block-button__link:hover,
.kf-chenstyle-taichi-page .entry-content .swell-block-button__link:focus-visible {
  border-color: var(--kf-color-bronze-soft);
  background: var(--kf-gold-050);
  box-shadow: none;
  color: var(--kf-gold-700);
  transform: none;
}

.kf-chenstyle-taichi-page .entry-content > .kf-taichi-branch-heading {
  margin: 43px 0 0;
  padding: 1px 0 1px 17px;
  border: 0;
  border-left: 2px solid #a59d8d;
  background: transparent;
  color: #322f29;
  font-size: 1.17rem;
  font-weight: 600;
  letter-spacing: 0.045em;
  line-height: 1.6;
}

.kf-chenstyle-taichi-page .entry-content > .kf-taichi-branch-heading + p {
  margin: 0 0 39px;
  padding: 18px 0 0 19px;
  color: var(--kf-color-ink-soft);
  font-size: 0.96rem;
  line-height: 1.92;
}

.kf-chenstyle-taichi-page .entry-content > #taijiquan-forms + .wp-block-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 30px;
  margin: 26px 0 0;
  padding: 0;
  border-top: 1px solid color-mix(in srgb, var(--kf-color-line) 72%, transparent);
  list-style: none;
}

.kf-chenstyle-taichi-page .entry-content > #taijiquan-forms + .wp-block-list > li {
  position: relative;
  margin: 0;
  padding: 15px 6px 16px 24px;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--kf-color-line) 72%, transparent);
  background: transparent;
  color: var(--kf-color-ink-soft);
  line-height: 1.65;
}

.kf-chenstyle-taichi-page .entry-content > #taijiquan-forms + .wp-block-list a {
  color: inherit;
  font-weight: 600;
  text-decoration: none;
}

.kf-chenstyle-taichi-page .entry-content > #taijiquan-forms + .wp-block-list a:hover,
.kf-chenstyle-taichi-page .entry-content > #taijiquan-forms + .wp-block-list a:focus-visible {
  color: var(--kf-color-bronze);
}

.kf-chenstyle-taichi-page .entry-content > #taijiquan-forms + .wp-block-list > li::before {
  position: absolute;
  top: 1.35em;
  left: 5px;
  width: 6px;
  height: 6px;
  border: 1px solid #a6756e;
  background: #fff;
  content: "";
  transform: rotate(45deg);
}

.kf-chenstyle-taichi-page .entry-content > .kf-legacy-post-link {
  position: relative;
  overflow: hidden;
  margin: 18px 0;
  border: 1px solid color-mix(in srgb, var(--kf-color-line) 78%, transparent);
  background: #fffdfa;
  box-shadow: 0 7px 20px rgb(44 42 38 / 4%);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.kf-chenstyle-taichi-page .entry-content > .kf-legacy-post-link:hover,
.kf-chenstyle-taichi-page .entry-content > .kf-legacy-post-link:has(a:focus-visible) {
  border-color: color-mix(in srgb, var(--kf-color-line-strong) 94%, transparent);
  box-shadow: 0 10px 24px rgb(44 42 38 / 7%);
  transform: translateY(-1px);
}

.kf-chenstyle-taichi-page .entry-content > .kf-legacy-post-link > a {
  display: grid;
  grid-template-columns: 154px minmax(0, 1fr) 28px;
  gap: 21px;
  align-items: center;
  min-height: 116px;
  padding: 14px 18px 14px 14px;
  color: #3f3b34;
  text-decoration: none !important;
}

.kf-chenstyle-taichi-page .entry-content > .kf-legacy-post-link .kf-legacy-post-link__thumb {
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 10;
}

.kf-chenstyle-taichi-page .entry-content > .kf-legacy-post-link .kf-legacy-post-link__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kf-chenstyle-taichi-page .entry-content > .kf-legacy-post-link small {
  display: block;
  margin-bottom: 7px;
  color: #846d49;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.67rem;
  letter-spacing: 0.16em;
}

.kf-chenstyle-taichi-page .entry-content > .kf-legacy-post-link strong {
  color: #39362f;
  font-size: 1.02rem;
  font-weight: 500;
  letter-spacing: 0.035em;
}

.kf-chenstyle-taichi-page .entry-content > .kf-legacy-post-link > a > span:last-child {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid #9c8154;
  border-radius: 50%;
  color: #876f48;
  font-family: Georgia, "Times New Roman", serif;
}

@media (max-width: 760px) {
  .kf-chenstyle-taichi-page .kf-page-article::after {
    right: -72px;
    bottom: 70px;
    width: 210px;
    height: 300px;
    opacity: 0.04;
  }

  .kf-taichi-opening {
    margin-bottom: 44px;
    padding: 44px 19px 42px;
  }

  .kf-taichi-opening::before {
    background-position: 56% 32%;
    background-size: auto 100%;
    opacity: 0.18;
  }

  .kf-taichi-opening h2 {
    font-size: clamp(1.36rem, 6.6vw, 1.72rem);
    letter-spacing: 0.055em;
    line-height: 1.72;
  }

  .kf-taichi-opening h2 br {
    display: none;
  }

  .kf-taichi-opening__lead {
    margin-top: 20px !important;
    padding-top: 19px;
    font-size: 0.9rem;
    line-height: 1.92;
    text-align: left;
  }

  .kf-chenstyle-taichi-page .entry-content > h2 {
    margin: 58px 0 24px;
    padding: 0 0 14px 14px;
    font-size: var(--kf-body-h2-size);
  }

  .kf-chenstyle-taichi-page .entry-content > h3:not(.kf-taichi-lineage-heading):not(.kf-taichi-branch-heading) {
    margin-top: 40px;
    padding-left: 13px;
    font-size: 1.06rem;
  }

  .kf-chenstyle-taichi-page .entry-content > .kf-taichi-genealogy {
    margin-top: 24px;
    padding: 21px 14px;
    font-size: 0.84rem;
    line-height: 2.05;
  }

  .kf-chenstyle-taichi-page .entry-content > .kf-taichi-lineage-heading {
    margin-top: 68px;
    padding: 23px 12px 22px;
  }

  .kf-chenstyle-taichi-page .entry-content > .kf-taichi-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) {
    padding-top: 31px;
  }

  .kf-chenstyle-taichi-page .entry-content > .kf-taichi-lineage-heading + .swell-block-columns:has(figure) > .swell-block-columns__inner,
  .kf-chenstyle-taichi-page .entry-content > .kf-taichi-lineage-heading + .ark-block-columns:has(figure) > .ark-block-columns__inner {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 29px !important;
  }

  .kf-chenstyle-taichi-page .entry-content > .kf-taichi-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) figure img {
    max-width: 220px;
  }

  .kf-chenstyle-taichi-page .entry-content > .kf-taichi-branch-heading {
    margin-top: 38px;
    padding-left: 14px;
    font-size: 1.08rem;
  }

  .kf-chenstyle-taichi-page .entry-content > .kf-taichi-branch-heading + p {
    margin-bottom: 35px;
    padding: 16px 0 0 16px;
  }

  .kf-chenstyle-taichi-page .entry-content > #taijiquan-forms + .wp-block-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .kf-chenstyle-taichi-page .entry-content > .kf-legacy-post-link > a {
    grid-template-columns: 100px minmax(0, 1fr) 24px;
    gap: 13px;
    min-height: 102px;
    padding: 11px 12px 11px 11px;
  }

  .kf-chenstyle-taichi-page .entry-content > .kf-legacy-post-link strong {
    font-size: 0.9rem;
  }

  .kf-chenstyle-taichi-page .entry-content > .kf-legacy-post-link > a > span:last-child {
    width: 24px;
    height: 24px;
  }
}

/* Shared unboxed prologue for the two reference overviews. */
.kf-martial-opening {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: 0 0 56px;
  padding: 66px 46px 58px;
  border: 0;
  background: #fff;
  text-align: center;
}

.kf-martial-opening::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  background-position: center 34%;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
  opacity: 0.22;
  pointer-events: none;
}

.kf-bagua-opening::before {
  background-image: url("../images/bagua-soaring-dragon-background-v1.png");
}

.kf-bagua-opening::before,
.kf-taichi-opening::before {
  inset: 8px 18px;
  background-position: center center;
  background-size: 108% auto;
}

.kf-hunyuan-opening::before {
  background-image: url("../images/hunyuan-heaven-human-unity-background-v1.png");
  background-position: center 48%;
  opacity: 0.29;
}

.kf-wuqinxi-opening::before {
  inset: 0;
  background-image: url("../images/wuqinxi-five-animals-background-v1.png");
  background-position: center center;
  background-size: cover;
  -webkit-mask-image: none;
  mask-image: none;
  opacity: 0.22;
}

.kf-martial-opening::after,
.kf-martial-opening h2::before,
.kf-martial-opening h2::after,
.kf-martial-opening__lead::before,
.kf-martial-opening__lead::after,
.kf-taichi-opening__lead::before,
.kf-taichi-opening__lead::after {
  display: none;
  content: none;
}

.kf-martial-opening > * {
  position: relative;
  z-index: 1;
}

.kf-martial-opening__eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 0 0 20px !important;
  color: #96606a;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.2em;
}

.kf-martial-opening__eyebrow::before,
.kf-martial-opening__eyebrow::after {
  width: 25px;
  height: 1px;
  background: #b66d77;
  content: "";
}

.kf-martial-opening h2 {
  margin: 0;
  padding: 0;
  border: 0 !important;
  background: transparent;
  color: #292823;
  font-size: clamp(1.85rem, 3.25vw, 2.2rem);
  font-weight: 500;
  letter-spacing: 0.07em;
  line-height: 1.72;
}

/* Hunyuan opening title: on wide screens, wrap only at the <wbr> after 「、」. */
@media (min-width: 761px) {
  #kf-hunyuan-opening-title {
    word-break: keep-all;
  }
}

.kf-martial-opening__lead,
.kf-taichi-opening__lead {
  max-width: 650px;
  margin: 26px auto 0 !important;
  padding: 0;
  border: 0;
  color: #4d4941;
  font-size: 0.94rem;
  letter-spacing: 0.018em;
  line-height: 2.05;
}

@media (max-width: 760px) {
  .kf-martial-opening {
    margin-bottom: 44px;
    padding: 44px 19px 42px;
  }

  .kf-martial-opening::before {
    background-position: 56% 32%;
    background-size: auto 100%;
    opacity: 0.18;
  }

  .kf-bagua-opening::before,
  .kf-taichi-opening::before,
  .kf-wuqinxi-opening::before {
    inset: 6px 10px;
    background-position: center center;
    background-size: 114% auto;
  }

  .kf-wuqinxi-opening::before {
    inset: 0;
    background-position: center center;
    background-size: cover;
    opacity: 0.2;
  }

  .kf-martial-opening h2 {
    font-size: clamp(1.36rem, 6.6vw, 1.72rem);
    letter-spacing: 0.055em;
    line-height: 1.72;
  }

  .kf-martial-opening h2 br {
    display: none;
  }

  .kf-martial-opening__lead,
  .kf-taichi-opening__lead {
    margin-top: 20px !important;
    padding: 0;
    font-size: 0.9rem;
    line-height: 1.92;
    text-align: left;
  }
}

/* Editorial heading standard B — the shared body-heading treatment outside
 * the reference-materials hub. */
:is(body.page-id-78, body.page-id-104, body.page-id-106, body.page-id-58) .entry-content > h2 {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  min-height: 0;
  margin: 72px 0 24px !important;
  padding: 0 0 16px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--kf-color-line-strong) !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
  color: var(--kf-color-ink);
  font-size: var(--kf-body-h2-size);
  font-weight: 400;
  letter-spacing: 0.12em;
  line-height: var(--kf-body-h2-line-height);
  text-align: left;
  text-wrap: pretty;
}

:is(body.page-id-78, body.page-id-104, body.page-id-106, body.page-id-58) .entry-content > h2::after {
  display: none !important;
  background: none !important;
  content: none !important;
}

:is(body.page-id-78, body.page-id-104, body.page-id-106, body.page-id-58) .entry-content > h2::before {
  display: none !important;
  background: none !important;
  content: none !important;
}

:is(body.page-id-78, body.page-id-104, body.page-id-106, body.page-id-58) .entry-content > h2[data-kf-en]::before {
  display: block !important;
  margin: 0 0 8px !important;
  color: var(--kf-color-bronze) !important;
  content: attr(data-kf-en) !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.68rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  line-height: 1.7;
}

:is(body.page-id-78, body.page-id-104, body.page-id-106, body.page-id-58) .entry-content > h3:not(.kf-lineage-heading):not(.kf-taichi-lineage-heading):not(.kf-hunyuan-lineage-heading) {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  margin: 58px 0 26px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
  color: var(--kf-color-ink);
  font-size: 1.42rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.55;
  text-align: left;
  text-wrap: pretty;
}

:is(body.page-id-78, body.page-id-104, body.page-id-106, body.page-id-58) .entry-content > h3:not(.kf-lineage-heading):not(.kf-taichi-lineage-heading):not(.kf-hunyuan-lineage-heading)::after {
  display: none !important;
  background: none !important;
  content: none !important;
}

:is(body.page-id-78, body.page-id-104, body.page-id-106, body.page-id-58) .entry-content > h3:not(.kf-lineage-heading):not(.kf-taichi-lineage-heading):not(.kf-hunyuan-lineage-heading)::before {
  display: none !important;
  background: none !important;
  content: none !important;
}

:is(body.page-id-78, body.page-id-104, body.page-id-106, body.page-id-58) .entry-content > h3[data-kf-en]:not(.kf-lineage-heading):not(.kf-taichi-lineage-heading):not(.kf-hunyuan-lineage-heading)::before {
  display: block !important;
  margin: 0 0 7px !important;
  color: var(--kf-color-bronze) !important;
  content: attr(data-kf-en) !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.66rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  line-height: 1.7;
}

:is(body.page-id-78, body.page-id-104, body.page-id-106, body.page-id-58) .entry-content > h4 {
  position: relative;
  display: flex;
  box-sizing: border-box;
  width: 100%;
  align-items: center;
  gap: 12px;
  margin: 34px 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
  color: var(--kf-color-ink);
  font-size: 1.05rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.65;
  text-align: left;
  text-wrap: pretty;
}

:is(body.page-id-78, body.page-id-104, body.page-id-106, body.page-id-58) .entry-content > h4::before {
  display: none !important;
  background: none !important;
  content: none !important;
}

:is(body.page-id-78, body.page-id-104, body.page-id-106, body.page-id-58) .entry-content > h4::after {
  display: block !important;
  width: 54px !important;
  height: 1px !important;
  background: var(--kf-color-line-strong) !important;
  content: "" !important;
}

@media (max-width: 700px) {
  :is(body.page-id-78, body.page-id-104, body.page-id-106, body.page-id-58) .entry-content > h2 {
    margin: 58px 0 24px !important;
    padding: 0 0 14px !important;
  }

  :is(body.page-id-78, body.page-id-104, body.page-id-106, body.page-id-58) .entry-content > h3:not(.kf-lineage-heading):not(.kf-taichi-lineage-heading):not(.kf-hunyuan-lineage-heading) {
    margin: 44px 0 23px !important;
    padding: 0 !important;
    font-size: 1.16rem;
  }

  :is(body.page-id-78, body.page-id-104, body.page-id-106, body.page-id-58) .entry-content > h4 {
    margin: 30px 0 12px !important;
    padding: 0 !important;
    font-size: 1rem;
  }
}

/* Cheng-style Baguazhang final refinements. */
body.page-id-78 .kf-section-guide a > span {
  font-size: 0.74rem;
  letter-spacing: 0.14em;
}

body.page-id-78 .entry-content > #baguazhang-forms + .wp-block-list > li::before {
  display: none !important;
  content: none !important;
}

body.page-id-78 .entry-content > .kf-style-branch-heading + p {
  margin-bottom: 31px;
  padding: 7px 0 0;
  line-height: 1.82;
}

body.page-id-78 .entry-content > #baguazhang-forms + .wp-block-list {
  border-top: 0;
}

body.page-id-78 .entry-content > #baguazhang-forms + .wp-block-list > li,
body.page-id-78 .entry-content > #baguazhang-forms + .wp-block-list > li:nth-child(-n + 2) {
  padding-left: 0;
}

body.page-id-78 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) + .swell-block-columns:not(:has(figure)) {
  padding-bottom: 24px;
}

body.page-id-78 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) + .swell-block-columns:not(:has(figure)) + .kf-lineage-heading {
  margin-top: 44px;
}

@media (max-width: 700px) {
  body.page-id-78 .entry-content > .kf-style-branch-heading + p {
    margin-bottom: 26px;
    padding-top: 5px;
  }

  body.page-id-78 .entry-content > #baguazhang-forms + .wp-block-list > li,
  body.page-id-78 .entry-content > #baguazhang-forms + .wp-block-list > li:nth-child(-n + 2) {
    padding-left: 0;
  }

  body.page-id-78 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) + .swell-block-columns:not(:has(figure)) {
    padding-bottom: 22px;
  }

  body.page-id-78 .entry-content > .kf-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) + .swell-block-columns:not(:has(figure)) + .kf-lineage-heading {
    margin-top: 38px;
  }
}

/* Hunyuan Taijiquan overview — align with the completed Cheng-style page. */
body.page-id-106 .kf-page-article {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--kf-color-line) 70%, transparent);
  background-color: var(--kf-color-content-background);
  background-image: none;
  box-shadow: 0 16px 38px rgb(44 42 38 / 6%);
}

body.page-id-106 .kf-page-article::after {
  position: absolute;
  z-index: 0;
  right: -54px;
  bottom: 132px;
  width: 290px;
  height: 400px;
  background: url("../images/motif-taihu-rock-bamboo-v1-web.webp") right bottom / contain no-repeat;
  content: "";
  opacity: 0.055;
  pointer-events: none;
}

body.page-id-106 .kf-page-article > * {
  position: relative;
  z-index: 1;
}

.kf-martial-opening:is(.kf-bagua-opening, .kf-taichi-opening, .kf-hunyuan-opening, .kf-wuqinxi-opening) {
  margin-bottom: 64px;
  padding: 48px 46px 40px;
  border: 1px solid rgb(154 129 88 / 24%);
}

.kf-martial-opening :is(.kf-bagua-section-guide, .kf-taichi-section-guide, .kf-hunyuan-section-guide, .kf-wuqinxi-section-guide) {
  position: relative;
  z-index: 1;
  max-width: 650px;
  margin: 24px auto 0;
  padding: 18px 0 0;
  border-top: 1px solid rgb(154 129 88 / 34%);
  background: transparent;
  box-shadow: none;
  text-align: center;
}

.kf-martial-opening :is(.kf-bagua-section-guide, .kf-taichi-section-guide, .kf-hunyuan-section-guide, .kf-wuqinxi-section-guide)::before,
.kf-martial-opening :is(.kf-bagua-section-guide, .kf-taichi-section-guide, .kf-hunyuan-section-guide, .kf-wuqinxi-section-guide)::after {
  display: none;
  content: none;
}

.kf-martial-opening :is(.kf-bagua-section-guide, .kf-taichi-section-guide, .kf-hunyuan-section-guide, .kf-wuqinxi-section-guide) .kf-section-guide__heading {
  margin-bottom: 13px;
}

.kf-martial-opening :is(.kf-bagua-section-guide, .kf-taichi-section-guide, .kf-hunyuan-section-guide, .kf-wuqinxi-section-guide) .kf-section-guide__heading span {
  display: block;
  color: #96606a;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.22em;
}

.kf-martial-opening :is(.kf-bagua-section-guide, .kf-taichi-section-guide, .kf-hunyuan-section-guide, .kf-wuqinxi-section-guide) .kf-section-guide__heading span::before,
.kf-martial-opening :is(.kf-bagua-section-guide, .kf-taichi-section-guide, .kf-hunyuan-section-guide, .kf-wuqinxi-section-guide) .kf-section-guide__heading span::after {
  display: none;
  content: none;
}

.kf-martial-opening :is(.kf-bagua-section-guide, .kf-taichi-section-guide, .kf-hunyuan-section-guide, .kf-wuqinxi-section-guide) .kf-section-guide__heading p {
  margin: 0;
  color: #292822;
  font-size: clamp(1.1rem, 2vw, 1.28rem);
  font-weight: 500;
  letter-spacing: 0.09em;
  line-height: 1.55;
}

.kf-martial-opening :is(.kf-bagua-section-guide, .kf-taichi-section-guide, .kf-hunyuan-section-guide, .kf-wuqinxi-section-guide) ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 0;
  margin: 0;
  padding: 13px 20px 11px;
  border-top: 1px solid rgb(154 129 88 / 30%);
  border-bottom: 1px solid rgb(154 129 88 / 18%);
  background: rgb(255 254 251 / 56%);
  list-style: none;
}

.kf-martial-opening :is(.kf-bagua-section-guide, .kf-taichi-section-guide, .kf-hunyuan-section-guide, .kf-wuqinxi-section-guide) li {
  margin: 0;
  border-top: 1px solid rgb(143 123 88 / 15%);
}

.kf-martial-opening :is(.kf-bagua-section-guide, .kf-taichi-section-guide, .kf-hunyuan-section-guide, .kf-wuqinxi-section-guide) li:nth-child(-n + 2) {
  border-top: 0;
}

.kf-martial-opening :is(.kf-bagua-section-guide, .kf-taichi-section-guide, .kf-hunyuan-section-guide, .kf-wuqinxi-section-guide) li:nth-child(even) {
  padding-left: 22px;
  border-left: 1px solid rgb(143 123 88 / 18%);
}

.kf-martial-opening :is(.kf-bagua-section-guide, .kf-taichi-section-guide, .kf-hunyuan-section-guide, .kf-wuqinxi-section-guide) li:nth-child(odd) {
  padding-right: 22px;
}

.kf-martial-opening :is(.kf-bagua-section-guide, .kf-taichi-section-guide, .kf-hunyuan-section-guide, .kf-wuqinxi-section-guide) a {
  display: grid;
  grid-template-columns: 2.1em minmax(0, 1fr) auto;
  gap: 9px;
  align-items: baseline;
  padding: 8px 2px 9px;
  color: var(--kf-color-ink);
  text-align: left;
  text-decoration: none !important;
}

.kf-martial-opening :is(.kf-bagua-section-guide, .kf-taichi-section-guide, .kf-hunyuan-section-guide, .kf-wuqinxi-section-guide) a::after {
  align-self: center;
  color: rgb(154 101 95 / 72%);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.9rem;
  line-height: 1;
  content: "›";
}

.kf-martial-opening :is(.kf-bagua-section-guide, .kf-taichi-section-guide, .kf-hunyuan-section-guide, .kf-wuqinxi-section-guide) a > span {
  color: #9a655f;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.74rem;
  letter-spacing: 0.14em;
}

.kf-martial-opening :is(.kf-bagua-section-guide, .kf-taichi-section-guide, .kf-hunyuan-section-guide, .kf-wuqinxi-section-guide) a > b {
  font-size: 0.86rem;
  font-weight: 500;
  letter-spacing: 0.025em;
  line-height: 1.55;
}

.kf-martial-opening :is(.kf-bagua-section-guide, .kf-taichi-section-guide, .kf-hunyuan-section-guide, .kf-wuqinxi-section-guide) a:hover,
.kf-martial-opening :is(.kf-bagua-section-guide, .kf-taichi-section-guide, .kf-hunyuan-section-guide, .kf-wuqinxi-section-guide) a:focus-visible {
  color: #7a4e4f;
}

.kf-martial-opening :is(.kf-bagua-section-guide, .kf-taichi-section-guide, .kf-hunyuan-section-guide, .kf-wuqinxi-section-guide) a:focus-visible {
  outline: 1px solid #a96870;
  outline-offset: 3px;
}

body.page-id-106 .entry-content > p:empty {
  display: none;
}

body.page-id-106 .entry-content > figure {
  width: fit-content;
  max-width: 100%;
  margin: 30px auto 36px;
  padding: 0;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: center;
}

body.page-id-106 .entry-content > figure img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin-inline: auto !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.page-id-106 .entry-content > figure figcaption {
  margin: 12px 6px 3px;
  color: #736a5d;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  text-align: center;
}

body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading {
  position: relative;
  display: flex;
  margin: 80px 0 0 !important;
  padding: 28px 20px 27px !important;
  flex-direction: column;
  align-items: center;
  border: 0 !important;
  border-top: 1px solid rgb(153 130 89 / 34%) !important;
  border-bottom: 1px solid rgb(153 130 89 / 48%) !important;
  background: linear-gradient(90deg, transparent, rgb(246 242 233 / 62%) 20%, rgb(246 242 233 / 62%) 80%, transparent) !important;
  text-align: center;
}

body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading::before,
body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading::after {
  position: absolute !important;
  left: 50% !important;
  display: block !important;
  width: 7px !important;
  height: 7px !important;
  border: 1px solid #9a655e !important;
  border-radius: 0 !important;
  background: #fff !important;
  content: "" !important;
  transform: translateX(-50%) rotate(45deg) !important;
}

body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading::before {
  top: -4px !important;
}

body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading::after {
  bottom: -4px !important;
}

body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + p:empty + :is(.swell-block-columns, .ark-block-columns):has(figure),
body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) {
  margin: 0;
  padding: 38px 0 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + p:empty + .swell-block-columns:has(figure) > .swell-block-columns__inner,
body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + .swell-block-columns:has(figure) > .swell-block-columns__inner,
body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + p:empty + .ark-block-columns:has(figure) > .ark-block-columns__inner,
body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + .ark-block-columns:has(figure) > .ark-block-columns__inner {
  grid-template-columns: minmax(0, 250px) minmax(0, 1fr) !important;
  gap: 50px !important;
  align-items: start !important;
}

body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + p:empty + :is(.swell-block-columns, .ark-block-columns):has(figure) > div > :first-child,
body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) > div > :first-child {
  padding: 0;
  border: 0;
}

body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + p:empty + :is(.swell-block-columns, .ark-block-columns):has(figure) figure,
body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) figure {
  text-align: center;
}

body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + p:empty + :is(.swell-block-columns, .ark-block-columns):has(figure) figure a,
body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) figure a {
  display: block;
  width: fit-content;
  margin-inline: auto;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + p:empty + :is(.swell-block-columns, .ark-block-columns):has(figure) figure img,
body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) figure img {
  display: block !important;
  max-width: 230px;
  margin-inline: auto !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + p:empty + :is(.swell-block-columns, .ark-block-columns):has(figure) figcaption,
body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) figcaption {
  margin-top: 17px;
  color: #6e6455;
  font-size: 0.71rem;
  letter-spacing: 0.07em;
  text-align: center;
}

body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + p:empty + :is(.swell-block-columns, .ark-block-columns):has(figure) .is-style-big_kakko_box,
body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) .is-style-big_kakko_box {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #403c35;
  font-size: 0.97rem;
  line-height: 2.08;
}

body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + p:empty + :is(.swell-block-columns, .ark-block-columns):has(figure) .is-style-big_kakko_box::before,
body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) .is-style-big_kakko_box::before {
  display: inline-block;
  margin-bottom: 20px;
  padding: 0 0 7px;
  border-bottom: 1px solid rgb(153 130 89 / 38%);
  color: #846d49;
  content: "人物略伝";
  font-family: serif;
  font-size: 0.73rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  line-height: 1.4;
}

body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + p:empty + :is(.swell-block-columns, .ark-block-columns):has(figure) .is-style-big_kakko_box::after,
body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) .is-style-big_kakko_box::after {
  display: none;
  content: none;
}

body.page-id-106 .entry-content .swell-block-button {
  display: flex;
  width: 100%;
  margin: 28px auto 24px;
  justify-content: center;
  text-align: center;
}

body.page-id-106 .entry-content .swell-block-button__link {
  display: inline-flex;
  width: 218px !important;
  max-width: 100%;
  min-width: 218px !important;
  min-height: 46px;
  margin-inline: auto;
  padding: 10px 23px 11px;
  border: 1px solid var(--kf-color-line-strong);
  border-radius: 2px;
  background: color-mix(in srgb, var(--kf-color-surface) 96%, var(--kf-color-paper));
  box-shadow: none;
  color: var(--kf-color-bronze);
  font-size: 0.85rem;
  font-weight: 600;
  gap: 12px;
  letter-spacing: 0.08em;
  text-decoration: none !important;
}

body.page-id-106 .entry-content .swell-block-button__link::after {
  width: 30px;
  height: 7px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  color: currentColor;
  content: "";
  transform: skewX(42deg) translateY(-2px);
}

body.page-id-106 .entry-content .swell-block-button__link:hover,
body.page-id-106 .entry-content .swell-block-button__link:focus-visible {
  border-color: var(--kf-color-bronze-soft);
  background: var(--kf-gold-050);
  box-shadow: none;
  color: var(--kf-gold-700);
  transform: none;
}

body.page-id-106 .entry-content > h4 {
  padding-left: 0 !important;
}

body.page-id-106 .entry-content > h4::before,
body.page-id-106 .entry-content > #hunyuan-taijiquan-forms + .wp-block-list > li::before {
  display: none !important;
  content: none !important;
}

body.page-id-106 .entry-content > #hunyuan-taijiquan-forms + .wp-block-list {
  display: block;
  columns: auto;
  column-count: 1;
  column-width: auto;
  margin: 26px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
  list-style: none;
}

body.page-id-106 .entry-content > #hunyuan-taijiquan-forms + .wp-block-list > li {
  display: block;
  margin: 0;
  padding: 16px 0 17px;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--kf-color-line) 72%, transparent);
  background: transparent;
  color: var(--kf-color-ink-soft);
  line-height: 1.85;
}

@media (max-width: 760px) {
  body.page-id-106 .kf-page-article::after {
    right: -70px;
    bottom: 80px;
    width: 210px;
    height: 300px;
    opacity: 0.04;
  }

  body.page-id-106 .kf-hunyuan-opening::before {
    background-position: center 48%;
    background-size: auto 100%;
    opacity: 0.23;
  }

  .kf-martial-opening:is(.kf-bagua-opening, .kf-taichi-opening, .kf-hunyuan-opening, .kf-wuqinxi-opening) {
    padding: 38px 22px 34px;
  }

  .kf-martial-opening :is(.kf-bagua-section-guide, .kf-taichi-section-guide, .kf-hunyuan-section-guide, .kf-wuqinxi-section-guide) {
    margin-top: 22px;
    padding-top: 16px;
  }

  .kf-martial-opening :is(.kf-bagua-section-guide, .kf-taichi-section-guide, .kf-hunyuan-section-guide, .kf-wuqinxi-section-guide) ol {
    grid-template-columns: minmax(0, 1fr);
    padding: 11px 16px 10px;
  }

  .kf-martial-opening :is(.kf-bagua-section-guide, .kf-taichi-section-guide, .kf-hunyuan-section-guide, .kf-wuqinxi-section-guide) li:nth-child(-n + 2),
  .kf-martial-opening :is(.kf-bagua-section-guide, .kf-taichi-section-guide, .kf-hunyuan-section-guide, .kf-wuqinxi-section-guide) li {
    border-top: 1px solid rgb(143 123 88 / 15%);
  }

  .kf-martial-opening :is(.kf-bagua-section-guide, .kf-taichi-section-guide, .kf-hunyuan-section-guide, .kf-wuqinxi-section-guide) li:first-child {
    border-top: 0;
  }

  .kf-martial-opening :is(.kf-bagua-section-guide, .kf-taichi-section-guide, .kf-hunyuan-section-guide, .kf-wuqinxi-section-guide) li:nth-child(even),
  .kf-martial-opening :is(.kf-bagua-section-guide, .kf-taichi-section-guide, .kf-hunyuan-section-guide, .kf-wuqinxi-section-guide) li:nth-child(odd) {
    padding-right: 0;
    padding-left: 0;
    border-left: 0;
  }

  body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading {
    margin-top: 68px !important;
    padding: 23px 12px 22px !important;
  }

  body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + p:empty + :is(.swell-block-columns, .ark-block-columns):has(figure),
  body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) {
    padding-top: 31px;
  }

  body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + p:empty + .swell-block-columns:has(figure) > .swell-block-columns__inner,
  body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + .swell-block-columns:has(figure) > .swell-block-columns__inner,
  body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + p:empty + .ark-block-columns:has(figure) > .ark-block-columns__inner,
  body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + .ark-block-columns:has(figure) > .ark-block-columns__inner {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 30px !important;
  }

  body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + p:empty + :is(.swell-block-columns, .ark-block-columns):has(figure) figure img,
  body.page-id-106 .entry-content > .kf-hunyuan-lineage-heading + :is(.swell-block-columns, .ark-block-columns):has(figure) figure img {
    max-width: 220px;
  }

  body.page-id-106 .entry-content > #hunyuan-taijiquan-forms + .wp-block-list > li {
    padding: 14px 0 15px;
  }
}

/* Keep reference A above the retired overview-only B overrides in the
 * cascade. The detailed shape is defined once in the canonical block above. */
body.kf-page-context--reference .entry-content > h2 {
  padding: 0 0 14px 18px !important;
  border-bottom: 1px solid var(--kf-color-line-strong) !important;
  border-left: 4px solid var(--kf-color-bronze) !important;
  font-weight: 500;
  letter-spacing: 0.05em;
}

body.kf-page-context--reference .entry-content > h3:not(.kf-lineage-heading):not(.kf-taichi-lineage-heading):not(.kf-hunyuan-lineage-heading):not(.kf-taichi-branch-heading) {
  padding: 12px 16px !important;
  border-left: 3px solid var(--kf-color-line-strong) !important;
  background: var(--kf-gold-050) !important;
  font-weight: 500;
  letter-spacing: 0.06em;
}

@media (max-width: 700px) {
  body.kf-page-context--reference .entry-content > h2 {
    padding: 0 0 13px 14px !important;
  }
}

/* China reportage posts: adopted body-blueprint treatment. */
body.kf-reportage-post .kf-single-article {
  min-width: 0;
  background: #fffefb;
}

body.kf-reportage-post .kf-single-article .wp-block-post-content {
  min-width: 0;
  color: var(--kf-color-ink);
}

body.kf-reportage-post .kf-single-article .wp-block-post-content > .kf-site-heading-b {
  margin: 64px 0 26px;
}

body.kf-reportage-post .kf-single-article .wp-block-post-content > .kf-site-heading-b:first-child {
  margin-top: 0;
}

body.kf-reportage-post .kf-single-article .wp-block-post-content > .kf-site-heading-b3 {
  position: relative;
  margin: 46px 0 20px;
  padding: 0 0 11px;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--kf-color-line-strong) 72%, transparent);
  background: transparent;
  color: var(--kf-color-ink);
  font-size: var(--kf-body-h3-size);
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: var(--kf-body-h3-line-height);
}

body.kf-reportage-post .kf-single-article .wp-block-post-content > .kf-site-heading-b3::before {
  display: block;
  margin: 0 0 6px;
  color: var(--kf-color-bronze);
  content: attr(data-kf-en);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.62rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  line-height: 1.6;
}

body.kf-reportage-post .kf-single-article .wp-block-post-content > .kf-site-heading-b4 {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 34px 0 16px;
  color: var(--kf-color-ink);
  font-size: var(--kf-body-h4-size);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: var(--kf-body-h4-line-height);
}

body.kf-reportage-post .kf-single-article .wp-block-post-content > .kf-site-heading-b4::after {
  width: 54px;
  height: 1px;
  background: var(--kf-color-line-strong);
  content: "";
}

body.kf-reportage-post .kf-single-article .wp-block-post-content > :is(.wp-block-image, figure.wp-block-image) {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

body.kf-reportage-post .kf-single-article .wp-block-post-content > :is(.wp-block-image, figure.wp-block-image) img,
body.kf-reportage-post .kf-single-article .wp-block-post-content > p > img:only-child {
  display: block;
  max-width: 100%;
  height: auto;
  margin-right: auto;
  margin-left: auto;
}

body.kf-reportage-post .kf-single-article .wp-block-post-content :is(ul, ol) {
  padding-left: 1.45em;
}

body.kf-reportage-post .kf-single-article .wp-block-post-content .wp-block-table {
  max-width: 100%;
  overflow-x: auto;
}

body.kf-reportage-post .kf-single-article .wp-block-post-content table {
  width: 100%;
  border-collapse: collapse;
  background: #fffefb;
}

body.kf-reportage-post .kf-single-article .wp-block-post-content :is(th, td) {
  padding: 13px 15px;
  border: 1px solid var(--kf-color-line);
  text-align: left;
  vertical-align: top;
}

body.kf-reportage-post .kf-single-article .wp-block-post-content th {
  background: color-mix(in srgb, var(--kf-color-bronze) 8%, #fffefb);
  font-weight: 500;
}

@media (max-width: 1209px) {
  body.kf-reportage-post .kf-single-layout {
    grid-template-columns: minmax(0, 1fr);
    width: min(var(--kf-layout-main), calc(100% - (var(--kf-mobile-gutter) * 2)));
  }
}

@media (max-width: 680px) {
  body.kf-reportage-post .kf-single-hero__title {
    max-width: 100%;
    overflow-wrap: anywhere;
    font-size: clamp(1.5rem, 7.5vw, 1.85rem);
    line-height: 1.55;
  }

  body.kf-reportage-post .kf-single-article .wp-block-post-content > .kf-site-heading-b {
    margin-top: 50px;
  }

  body.kf-reportage-post .kf-single-article .wp-block-post-content > .kf-site-heading-b3 {
    margin-top: 38px;
  }
}

/* Inline related pages: the site-blueprint quiet white card. */
:is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link {
  box-sizing: border-box;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100%;
  margin: 34px auto 38px;
  padding: 14px 18px 14px 14px;
  border: 1px solid rgba(92, 82, 67, 0.24);
  border-radius: 1px;
  background: #fbfaf7;
  box-shadow: none;
  transition: background-color 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
}

:is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link > a {
  position: relative;
  display: grid;
  grid-template-columns: 164px minmax(0, 1fr);
  align-items: stretch;
  gap: 20px;
  min-height: 116px;
  padding: 0;
  color: var(--kf-color-ink);
  background: transparent !important;
  text-decoration: none !important;
}

:is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link:not(:has(.kf-legacy-post-link__thumb)) > a {
  grid-template-columns: minmax(0, 1fr);
}

:is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link__thumb {
  display: block;
  overflow: hidden;
  width: 164px;
  height: 116px;
  min-height: 116px;
  border-radius: 0;
  background: var(--kf-color-paper);
}

:is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link__thumb img,
:is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link__thumb .life-image-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  filter: saturate(0.88) contrast(1.025);
  transition: filter 0.22s ease, transform 0.22s ease;
}

:is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link__copy {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0;
  padding: 0 112px 0 0;
}

:is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link__heading {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: -1px 0 6px;
}

:is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link__heading > img {
  display: block;
  box-sizing: border-box;
  width: 38px;
  height: 38px;
  margin: 0;
  padding: var(--kf-course-icon-inset, 0);
  object-fit: contain;
}

.kf-legacy-post-link__icon--course {
  --kf-course-icon-inset: 5px;
}

:is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link__heading > span {
  display: block;
  min-width: 0;
}

:is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link__heading small {
  display: block;
  margin: 0 0 1px;
  color: #76664d;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.57rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  line-height: 1.2;
}

:is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link__heading b {
  display: block;
  color: #37332d;
  font-size: 0.79rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.35;
}

:is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link__kind {
  position: absolute;
  top: 5px;
  right: 2px;
  display: block;
  width: fit-content;
  margin: 0;
  padding: 2px 0 3px;
  border-bottom: 1px solid rgba(118, 102, 77, 0.46);
  color: #6c6357;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.4;
}

:is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link__copy > strong {
  display: block;
  max-width: 35em;
  color: var(--kf-color-ink);
  font-size: 1.01rem;
  font-weight: 500;
  letter-spacing: 0.025em;
  line-height: 1.55;
}

:is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link__summary {
  display: block;
  max-width: 46em;
  margin: 4px 0 0;
  color: #5d5850;
  font-size: 0.75rem;
  line-height: 1.62;
}

:is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link__action {
  position: absolute;
  right: 2px;
  bottom: 3px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  padding-top: 5px;
  color: #76664d;
  font-size: 0.69rem;
  font-weight: 600;
  letter-spacing: 0.05em;
}

:is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link__action i {
  display: grid;
  width: 18px;
  height: 18px;
  place-items: center;
  border: 1px solid #81745f;
  border-radius: 50%;
  color: #6c6357;
  font-size: 0.7rem;
  font-style: normal;
  line-height: 1;
  transition: transform 0.22s ease;
}

:is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link:hover,
:is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link:has(> a:focus-visible) {
  border-color: rgba(92, 82, 67, 0.42);
  background: #f8f6f1;
  box-shadow: 0 8px 18px rgba(57, 50, 40, 0.07);
  transform: translateY(-1px);
}

:is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link:hover .kf-legacy-post-link__thumb img,
:is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link:has(> a:focus-visible) .kf-legacy-post-link__thumb img {
  filter: saturate(1.02) contrast(1.025);
  transform: scale(1.018);
}

:is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link:hover .kf-legacy-post-link__action i,
:is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link:has(> a:focus-visible) .kf-legacy-post-link__action i {
  transform: translateX(2px);
}

:is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link > a:focus-visible {
  outline: 2px solid var(--kf-color-bronze);
  outline-offset: 5px;
}

@media (max-width: 700px) {
  :is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link {
    margin-block: 28px 32px;
    padding: 12px;
  }

  :is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link > a {
    grid-template-columns: 102px minmax(0, 1fr);
    gap: 12px;
    min-height: 104px;
  }

  :is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link__thumb {
    width: 102px;
    height: 104px;
    min-height: 104px;
  }

  :is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link__copy {
    padding-right: 0;
  }

  :is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link__heading {
    gap: 6px;
    margin-bottom: 5px;
  }

  :is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link__heading > img {
    width: 30px;
    height: 30px;
  }

  .kf-legacy-post-link__icon--course {
    --kf-course-icon-inset: 4px;
  }

  :is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link__heading small {
    display: none;
  }

  :is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link__heading b {
    font-size: 0.7rem;
  }

  :is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link__kind {
    position: static;
    flex-shrink: 0;
    margin: 0 0 4px;
    padding: 2px 7px 3px;
    border: 0;
    background: #eee7d5;
    font-size: 0.62rem;
  }

  :is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link__copy > strong {
    flex-shrink: 0;
    font-size: 0.87rem;
    line-height: 1.5;
  }

  :is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link__summary,
  :is(.entry-content, .study-post-content, .kf-blueprint-content) .kf-legacy-post-link__action {
    display: none;
  }
}

/* Site footer: keep the legal information on one quiet closing line. */
.site-footer__inner {
  position: relative;
}

.site-footer__rule {
  display: none;
}

.site-footer__legal-row {
  position: absolute;
  right: var(--kf-layout-inset);
  bottom: 0;
  margin: 0;
}

.site-footer__bottom {
  min-height: 22px;
}

@media (max-width: 760px) {
  .site-footer__legal-row {
    position: static;
    justify-content: center;
    margin: 0 0 12px;
  }

  .site-footer__bottom {
    min-height: 0;
    justify-content: center;
    text-align: center;
  }

  .site-footer__bottom .site-footer__note {
    width: 100%;
    text-align: center;
  }
}

/* Study-abroad journal: adopt the site-wide article blueprint. */
body.kf-reportage-post--study-abroad .study-post-article {
  min-width: 0;
  background: #fffefb;
}

body.kf-reportage-post--study-abroad .study-post-content {
  min-width: 0;
  color: var(--kf-color-ink);
  font-size: 1rem;
  line-height: 2.05;
}

body.kf-reportage-post--study-abroad .study-post-content p {
  color: color-mix(in srgb, var(--kf-color-ink) 90%, var(--kf-color-ink-soft));
  line-height: 2.05;
}

body.kf-reportage-post--study-abroad .study-post-content > .kf-site-heading-b {
  margin: 64px 0 26px;
}

body.kf-reportage-post--study-abroad .study-post-content > .kf-site-heading-b:first-child {
  margin-top: 0;
}

body.kf-reportage-post--study-abroad .study-post-content > .kf-site-heading-b3 {
  position: relative;
  margin: 46px 0 20px;
  padding: 0 0 11px;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--kf-color-line-strong) 72%, transparent);
  background: transparent;
  color: var(--kf-color-ink);
  font-size: var(--kf-body-h3-size);
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: var(--kf-body-h3-line-height);
}

body.kf-reportage-post--study-abroad .study-post-content > .kf-site-heading-b3::before {
  display: block;
  margin: 0 0 6px;
  color: var(--kf-color-bronze);
  content: attr(data-kf-en);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.62rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  line-height: 1.6;
}

body.kf-reportage-post--study-abroad .study-post-content > .kf-site-heading-b3::after {
  content: none;
}

body.kf-reportage-post--study-abroad .study-post-content > .kf-site-heading-b4 {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 34px 0 16px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--kf-color-ink);
  font-size: var(--kf-body-h4-size);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: var(--kf-body-h4-line-height);
}

body.kf-reportage-post--study-abroad .study-post-content > .kf-site-heading-b4::after {
  width: 54px;
  height: 1px;
  background: var(--kf-color-line-strong);
  content: "";
}

body.kf-reportage-post--study-abroad .study-post:not(.study-post--reading) .study-post-content figure.wp-block-image,
body.kf-reportage-post--study-abroad .study-post:not(.study-post--reading) .study-post-content > p:has(> img, > a > img) {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100%;
  float: none;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

body.kf-reportage-post--study-abroad .study-post:not(.study-post--reading) .study-post-content figure.wp-block-image img,
body.kf-reportage-post--study-abroad .study-post:not(.study-post--reading) .study-post-content > p > img,
body.kf-reportage-post--study-abroad .study-post:not(.study-post--reading) .study-post-content > p > a > img {
  display: block;
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100%;
  height: auto !important;
  margin-right: auto;
  margin-left: auto;
}

body.kf-reportage-post--study-abroad .study-post-content figcaption {
  text-align: center;
}

body.kf-reportage-post--study-abroad .study-post-content blockquote {
  margin: 42px 0;
  padding: 24px 30px;
  border: 0;
  border-top: 1px solid var(--kf-color-line-strong);
  border-bottom: 1px solid var(--kf-color-line-strong);
  background: color-mix(in srgb, var(--kf-color-paper) 72%, transparent);
}

body.kf-reportage-post--study-abroad .study-post-content :is(ul, ol) {
  padding-left: 1.45em;
}

body.kf-reportage-post--study-abroad .study-post-content .wp-block-table {
  max-width: 100%;
  overflow-x: auto;
}

body.kf-reportage-post--study-abroad .study-post-content table {
  width: 100%;
  border-collapse: collapse;
  background: #fffefb;
}

body.kf-reportage-post--study-abroad .study-post-content :is(th, td) {
  padding: 13px 15px;
  border: 1px solid var(--kf-color-line);
  text-align: left;
  vertical-align: top;
}

body.kf-reportage-post--study-abroad .study-post-content th {
  background: color-mix(in srgb, var(--kf-color-bronze) 8%, #fffefb);
  font-weight: 500;
}

@media (max-width: 680px) {
  body.kf-reportage-post--study-abroad .study-post-content > .kf-site-heading-b {
    margin-top: 50px;
  }

  body.kf-reportage-post--study-abroad .study-post-content > .kf-site-heading-b3 {
    margin-top: 38px;
  }
}

/* Reusable gentle saturation treatment for documentary photographs. */
.wp-block-image.photo-calm img{filter:saturate(.78)}

/* Quiet, text-only journal navigation; the illustrated reading link stays distinct. */
.study-post-navigation{margin-top:40px}
.study-story-pagination{display:flex;justify-content:center;align-items:center;gap:var(--study-pagination-gap,10px);font-size:.85rem;line-height:1.65}
.study-story-pagination a{display:inline-flex;align-items:center;min-height:44px;padding:0 3px;color:#0d70b8;text-decoration:none;white-space:nowrap}
.study-story-pagination>span{color:#b7a789;font-size:.75rem}
.study-story-pagination a:hover,.study-story-pagination a:focus-visible{color:var(--kf-color-bronze);text-decoration:none}
.study-story-pagination a:focus-visible{outline:2px solid var(--study-gold);outline-offset:3px}

/* Journal navigation: shared across all journal entries; independent of photos. */
.study-navigation-direction{display:none}
@media(max-width:760px){
 .study-post .page-breadcrumb{flex-wrap:wrap;white-space:normal;overflow-x:visible}
 .study-post .page-breadcrumb>*{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
}
@media(max-width:680px){
 .study-post:not(.study-post--classic-footer) .kf-post-footer-story-navigation{gap:12px}
 .study-post:not(.study-post--classic-footer) .kf-post-footer-story-navigation>span:empty{display:none}
 .study-post:not(.study-post--classic-footer) .kf-post-footer-story-navigation>a{box-sizing:border-box;min-width:0;min-height:96px;padding:12px;grid-template-columns:18px 56px minmax(0,1fr);gap:10px}
 .study-post:not(.study-post--classic-footer) .kf-post-footer-story-navigation>a.kf-post-footer-story-navigation__next{grid-template-columns:minmax(0,1fr) 56px 18px}
 .study-post:not(.study-post--classic-footer) .kf-post-footer-story-navigation__image,.study-post:not(.study-post--classic-footer) .kf-post-footer-story-navigation__image img{width:56px;height:48px}
 .study-post:not(.study-post--classic-footer) .kf-post-footer-story-navigation i{height:48px}
 .study-post:not(.study-post--classic-footer) .kf-post-footer-story-navigation strong{min-width:0;overflow-wrap:anywhere}
 .study-post .study-navigation-direction{display:block;margin-bottom:4px;font-size:.68rem;color:var(--kf-color-ink-soft)}
}


.study-post--classic-footer .study-navigation-direction{display:block;margin-bottom:4px;font-size:.68rem;font-weight:400;color:var(--kf-color-ink-soft)}

/* Reading essays: contemporary Japanese editorial typography and a fountain nib. */
body.kf-reportage-post--study-abroad .study-post--reading .study-post-content>h2{position:relative;margin:64px 0 36px;padding:0 0 26px;border:0;background:none;color:#30352f;font-size:1.9rem;font-weight:500;line-height:1.65;letter-spacing:.035em;text-align:left}
body.kf-reportage-post--study-abroad .study-post--reading .study-post-content>h2:first-child{margin-top:0}
body.kf-reportage-post--study-abroad .study-post--reading .study-post-content>h2::before{content:"";display:block;position:static;width:18px;height:33px;margin:0 0 12px;transform:none;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2044%22%3E%3Cdefs%3E%3Cmask%20id%3D%22cut%22%3E%3Crect%20width%3D%2224%22%20height%3D%2244%22%20fill%3D%22white%22%2F%3E%3Cpath%20d%3D%22M12%200v22%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2223%22%20r%3D%222.4%22%2F%3E%3C%2Fmask%3E%3C%2Fdefs%3E%3Cpath%20fill%3D%22%23a58b56%22%20mask%3D%22url%28%23cut%29%22%20d%3D%22M10%201h4c0%2010%204%2018%209%2022-5%207-7%2014-7%2020H8c0-6-2-13-7-20C6%2019%2010%2011%2010%201Z%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
body.kf-reportage-post--study-abroad .study-post--reading .study-post-content>h2::after{content:"";display:block;position:absolute;left:0;bottom:0;transform:none;width:130px;height:3px;border:0;background:linear-gradient(#a58b56,#a58b56) left center/56px 3px no-repeat,linear-gradient(#6e726e,#6e726e) left center/130px 1px no-repeat}
body.kf-reportage-post--study-abroad .study-post--reading .study-post-content>h3{position:relative;margin:44px 0 22px;padding:0 0 0 18px;border:0;background:none;color:#30352f;font-size:1.375rem;line-height:1.6;font-weight:500;letter-spacing:.04em}
body.kf-reportage-post--study-abroad .study-post--reading .study-post-content>h3::before{content:"";display:block;position:absolute;left:0;top:.22em;transform:none;width:3px;height:1.12em;margin:0;font-size:inherit;background:#ae9769}
body.kf-reportage-post--study-abroad .study-post--reading .study-post-content>h3::after{content:none}
@media(max-width:680px){body.kf-reportage-post--study-abroad .study-post--reading .study-post-content>h2{font-size:1.55rem;line-height:1.7;margin-bottom:30px}body.kf-reportage-post--study-abroad .study-post--reading .study-post-content>h2::before{width:16px;height:29px}}
.study-reading-return{display:var(--reading-return-display,flex);text-align:var(--reading-return-align,start);flex-wrap:wrap;gap:14px 28px;margin-top:var(--reading-return-margin,40px);padding-top:var(--reading-return-padding,24px);border-top:var(--reading-return-border,1px solid var(--study-line));font-size:.85rem}
.study-reading-footer{--reading-return-display:block;--reading-return-align:center;--reading-return-margin:16px;--reading-return-padding:0;--reading-return-border:0;border-top:1px solid var(--study-line);padding-top:24px}
.study-reading-footer--button{--study-pagination-gap:5px;--reading-link-padding:12px 24px;--reading-link-border:1px solid var(--study-line);--reading-link-radius:4px;--reading-link-background:#f8f5ed;--reading-return-margin:24px}
.study-reading-return__source,.study-reading-return__title{display:block}
.study-reading-return__source{font-size:.7rem;margin-bottom:4px}
body.kf-reportage-post--study-abroad .study-post--reading .study-reading-return a{display:inline-block;align-self:flex-start;max-width:100%;padding:var(--reading-link-padding,10px 4px);min-height:44px;box-sizing:border-box;border:var(--reading-link-border,0);border-radius:var(--reading-link-radius,0);background:var(--reading-link-background,transparent);color:#67542e;text-decoration:none;line-height:1.8;transition:color .15s}
body.kf-reportage-post--study-abroad .study-post--reading .study-reading-return a:hover{color:#8a6d3b}
body.kf-reportage-post--study-abroad .study-post--reading .study-reading-return a:focus-visible{outline:2px solid #806735;outline-offset:4px}
@media(max-width:680px){body.kf-reportage-post--study-abroad .study-post--reading .study-post-content>h3{font-size:1.25rem}.study-post--reading .study-post-hero h1{font-size:1.8rem;line-height:1.5}.study-reading-return{flex-direction:column}}

/* Report-paper surface: one continuous ruling grid for the complete essay. */
body.kf-reportage-post--study-abroad .study-post--paper .study-post-article{position:relative;border:1px solid #d9d4c7;border-radius:0;background-color:#fffefa;background-image:linear-gradient(#ffffff80,#ffffff80),url('../images/reading-paper-v1.webp');background-repeat:repeat;background-size:auto,512px 512px;box-shadow:0 2px 3px #51483912,2px 4px 0 -1px #f8f6ef,2px 4px 0 0 #ded9ce,0 10px 24px #5148390d}
.study-post--paper .study-post-article::before{content:"";position:absolute;left:27px;top:30px;bottom:30px;width:1px;background:#ad9c782b;pointer-events:none}
body.kf-reportage-post--study-abroad .study-post--paper .study-post-content{--paper-row:2.5rem}
body.kf-reportage-post--study-abroad .study-post--paper .study-paper-body{display:flow-root;background-image:linear-gradient(to bottom,transparent calc(100% - 1px),#8c8b7f24 1px);background-size:100% var(--paper-row);background-repeat:repeat-y;padding-top:var(--paper-row);padding-bottom:var(--paper-row)}
body.kf-reportage-post--study-abroad .study-post--paper .study-post-content .study-paper-body>p{color:#29313a;font-size:1rem;line-height:var(--paper-row);margin:0;padding:0 .5em;background:none}
body.kf-reportage-post--study-abroad .study-post--paper .study-post-content .study-paper-body>p+p{margin-top:0;padding-top:var(--paper-row)}
body.kf-reportage-post--study-abroad .study-post--paper .study-post-content>h2{padding:0 0 24px 58px;min-height:56px;margin:0;line-height:1.65;border:0;background:none}
body.kf-reportage-post--study-abroad .study-post--paper .study-post-content>h2::before{position:absolute;left:0;top:0;bottom:auto;width:56px;height:56px;margin:0;background-image:url('../images/ryogetsu-pen-portrait-v1.webp')}
body.kf-reportage-post--study-abroad .study-post--paper .study-post-content>h2::after{content:"";width:100%;height:3px;box-sizing:border-box;border-bottom:3px double #a69e8980;background:none}
body.kf-reportage-post--study-abroad .study-post--paper .study-post-content .study-paper-body>h3{display:block;width:auto;max-width:100%;box-sizing:border-box;margin:0;padding:var(--paper-row) .375em 0;border:0;border-radius:0;background:none;box-shadow:none;font-size:1.375rem;color:#30352f;letter-spacing:.04em;font-weight:600;line-height:var(--paper-row)}
body.kf-reportage-post--study-abroad .study-post--paper .study-post-content .study-paper-body>h3::before,body.kf-reportage-post--study-abroad .study-post--paper .study-post-content .study-paper-body>h3::after{content:none}
@media(max-width:760px){
 body.kf-reportage-post--study-abroad .study-post--paper .study-post-article{padding:28px 22px 34px}
 .study-post--paper .study-post-article::before{left:10px;top:20px;bottom:20px}
 body.kf-reportage-post--study-abroad .study-post--paper .study-post-content>h2{padding-left:50px;padding-bottom:20px;min-height:48px;line-height:1.7}
 body.kf-reportage-post--study-abroad .study-post--paper .study-post-content>h2::before{width:48px;height:48px}
}

@media(max-width:760px){body.kf-reportage-post--study-abroad .study-post--paper .study-post-content .study-paper-body>h3{font-size:1.25rem}}

/* The first writing line always follows one empty ruled row. */
body.kf-reportage-post--study-abroad .study-post--paper .study-post-content .study-paper-body>h3:first-child{padding-top:0}

body.postid-1901 .study-post-hero{--study-hero-overlay:linear-gradient(90deg,rgba(25,29,26,.52) 0%,rgba(35,39,35,.34) 40%,rgba(35,39,35,.10) 65%,rgba(35,39,35,0) 100%)}@media(max-width:760px){body.postid-1901 .study-post-hero h1{max-width:60%;font-size:1.5rem;line-height:1.5;letter-spacing:.03em}}

/* Episode 29: keep the shared hero dimensions and lighten the night scene. */
body.postid-4987 .study-post--responsive .study-post-hero {
  --study-hero-overlay: linear-gradient(90deg, rgba(12,16,20,.60) 0%, rgba(12,16,20,.38) 35%, rgba(12,16,20,.14) 65%, rgba(12,16,20,.04) 100%);
}
body.postid-4987 .study-post--responsive .study-post-hero::before {
  filter: none;
  background-position: center bottom;
}
body.postid-4987 .study-post-hero__inner {
  text-shadow: 0 2px 5px rgba(0,0,0,.85);
}

/* Memoir: one line of space above photos; preserve spacing below. */
body.kf-reportage-post--study-abroad .study-post:not(.study-post--reading) .study-post-content > p + figure.wp-block-image { margin-top: 28px; }

/* Jinshui River: retain the sunset while keeping the title legible. */
body.postid-11550 .study-post--responsive .study-post-hero{--study-hero-overlay:linear-gradient(90deg,rgba(25,29,26,.28) 0%,rgba(35,39,35,.18) 40%,rgba(35,39,35,.08) 100%)}
body.postid-11550 .study-post-hero__inner{text-shadow:0 2px 5px rgba(0,0,0,.85)}

/* Category-top navigation: keep the compact links on smartphones only. */
@media (min-width: 681px) {
  .study-overview-nav,
  .kf-experience-index,
  .kf-kichijoji-section-nav {
    display: none;
  }
}

/* Study-abroad story pages on smartphones: slightly larger, darker text for reading. */
@media (max-width: 760px) {
  body.kf-reportage-post--study-abroad .study-post-content p {
    font-size: 17px;
    color: #1f1d1a;
  }

  body.kf-reportage-post--study-abroad .study-post-content figcaption {
    font-size: 13px;
    color: #57534b;
  }

  body.kf-reportage-post--study-abroad .study-post-companions__byline,
  body.kf-reportage-post--study-abroad .study-post-companions__status {
    font-size: 12px;
    color: #5f5443;
  }

  body.kf-reportage-post--study-abroad .study-post-companions__text,
  body.kf-reportage-post--study-abroad .study-post-companions__title,
  body.kf-reportage-post--study-abroad .study-post-companions__action {
    font-size: 14.5px;
    color: #4e3f22;
  }

  body.kf-reportage-post--study-abroad .study-story-pagination a {
    font-size: 15px;
  }
}

/* 陳式太極拳の親ページ：「普及・競技のための套路」の見出しの下の段落は字下げしない（作業連絡012、2026-10-10） */
.kf-chenstyle-taichi-page .entry-content > #taijiquan-standardized-forms ~ .kf-taichi-branch-heading + p {
  padding-left: 0;
}

/* 「もっと深く知る」のページ：大見出し「暮らしの中で確かめたこと。」をPC幅で二行に収める（2026-10-10） */
@media (min-width: 901px) {
  .kf-reportage-hub__introduction > div {
    grid-template-columns: 400px minmax(0, 1fr);
  }
}

@media (max-width: 1100px) and (min-width: 901px) {
  .kf-reportage-hub__introduction > div {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }
}

/* Reference form pages: intro paragraph above the name list */
.kf-reference-form-content > .kf-form-intro {
	margin-bottom: 42px;
}

.kf-reference-form-content > .kf-form-intro + p {
	border-top: 1px solid color-mix(in srgb, var(--kf-color-line) 72%, transparent);
}

@media (max-width: 700px) {
	.kf-reference-form-content > .kf-form-intro {
		margin-bottom: 32px;
	}
}

/* Kungfu comic — serial layout (2026-10-15): current episode, episode list, then the series introduction. */
.kf-comic-page > .kf-comic-episode {
  margin-top: 0;
}

.kf-comic-episode__pager {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  width: min(900px, 100%);
  margin: clamp(28px, 4vw, 40px) auto 0;
}

.kf-comic-episode__pager:empty {
  display: none;
}

.kf-comic-episode__pager a {
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-width: 48%;
  color: var(--kf-color-ink);
  font-size: 0.95rem;
  line-height: 1.6;
  text-decoration: none;
}

.kf-comic-episode__pager a span {
  color: var(--kf-color-bronze);
  font-size: 0.74rem;
  letter-spacing: 0.16em;
}

.kf-comic-episode__pager-prev span::before {
  content: "← ";
}

.kf-comic-episode__pager-next {
  margin-left: auto;
  text-align: right;
}

.kf-comic-episode__pager-next span::after {
  content: " →";
}

.kf-comic-episode__pager a:hover,
.kf-comic-episode__pager a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.3em;
}

.kf-comic-list {
  width: min(1040px, calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin: clamp(34px, 5vw, 58px) auto 0;
  padding: clamp(42px, 6vw, 64px) clamp(38px, 6vw, 72px);
  border: 1px solid rgba(154, 126, 72, 0.2);
  background: #fbf9f4;
}

.kf-comic-list__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: clamp(26px, 4vw, 36px);
}

.kf-comic-list__header h2 {
  margin: 0;
  font-size: clamp(1.45rem, 2.6vw, 1.9rem);
  font-weight: 500;
  letter-spacing: 0.045em;
  line-height: 1.5;
}

.kf-comic-list__start {
  flex: none;
  padding: 10px 22px;
  border: 1px solid rgba(114, 93, 61, 0.55);
  color: var(--kf-color-ink);
  font-size: 0.92rem;
  letter-spacing: 0.06em;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.kf-comic-list__start::after {
  content: " →";
}

.kf-comic-list__start:hover,
.kf-comic-list__start:focus-visible {
  background: #725d3d;
  color: #fff;
}

.kf-comic-list__items {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kf-comic-list__items li {
  margin: 0;
}

.kf-comic-card {
  display: block;
  height: 100%;
  border: 1px solid rgba(77, 69, 56, 0.16);
  background: #fff;
  color: var(--kf-color-ink);
  text-decoration: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.kf-comic-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 12 / 5;
  object-fit: cover;
}

.kf-comic-card__meta {
  display: block;
  padding: 14px 16px 16px;
}

.kf-comic-card__number {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--kf-color-bronze);
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  line-height: 1.5;
}

.kf-comic-card__number em {
  padding: 1px 8px;
  border: 1px solid currentColor;
  font-size: 0.66rem;
  font-style: normal;
  letter-spacing: 0.08em;
}

.kf-comic-card__title {
  display: block;
  margin-top: 6px;
  font-size: 1.02rem;
  line-height: 1.6;
}

.kf-comic-card:hover,
.kf-comic-card:focus-visible {
  border-color: rgba(114, 93, 61, 0.6);
  box-shadow: 0 10px 24px rgba(68, 56, 36, 0.1);
  transform: translateY(-2px);
}

.kf-comic-card[aria-current="page"] {
  border-color: rgba(114, 93, 61, 0.6);
}

.kf-comic-list + .kf-comic-page__hero {
  margin-top: clamp(34px, 5vw, 58px);
}

@media (max-width: 700px) {
  .kf-comic-episode__pager {
    flex-direction: column;
    gap: 18px;
    width: calc(100% - 32px);
  }

  .kf-comic-episode__pager a {
    max-width: 100%;
  }

  .kf-comic-list {
    padding: 34px 20px 28px;
  }

  .kf-comic-list__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  .kf-comic-list__items {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

/* Kungfu comic — characters (2026-10-15): small cards, one large card opens below. */
.kf-comic-cast {
  width: min(1040px, calc(100% - (var(--kf-mobile-gutter) * 2)));
  margin: clamp(34px, 5vw, 58px) auto 0;
  padding: clamp(42px, 6vw, 64px) clamp(38px, 6vw, 72px);
  border: 1px solid rgba(154, 126, 72, 0.2);
  background: #fbf9f4;
}

.kf-comic-cast__header {
  margin-bottom: clamp(26px, 4vw, 36px);
}

.kf-comic-cast__header h2 {
  margin: 0;
  font-size: clamp(1.45rem, 2.6vw, 1.9rem);
  font-weight: 500;
  letter-spacing: 0.045em;
  line-height: 1.5;
}

.kf-comic-cast__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kf-comic-cast__cards li {
  margin: 0;
}

.kf-comic-cast__card {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(77, 69, 56, 0.16);
  border-radius: 0;
  background: #fff;
  color: var(--kf-color-ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.kf-comic-cast__card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  background: #f0ebe1;
}

.kf-comic-cast__card-body {
  display: block;
  padding: 14px 16px 16px;
}

.kf-comic-cast__name {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-size: 1.15rem;
  line-height: 1.5;
}

.kf-comic-cast__name small,
.kf-comic-cast__detail h3 small {
  color: var(--kf-color-ink-soft);
  font-size: 0.74rem;
  letter-spacing: 0.08em;
}

.kf-comic-cast__kind {
  display: block;
  margin: 4px 0 0;
  color: var(--kf-color-bronze);
  font-size: 0.76rem;
  letter-spacing: 0.06em;
  line-height: 1.6;
}

.kf-comic-cast__quote {
  display: block;
  margin-top: 10px;
  color: var(--kf-color-ink-soft);
  font-size: 0.88rem;
  line-height: 1.8;
}

.kf-comic-cast__more {
  display: inline-block;
  margin-top: 12px;
  padding-bottom: 2px;
  border-bottom: 1px solid rgba(114, 93, 61, 0.45);
  font-size: 0.82rem;
  letter-spacing: 0.06em;
}

.kf-comic-cast__more::after {
  content: " ＋";
}

.kf-comic-cast__card[aria-expanded="true"] .kf-comic-cast__more::after {
  content: " −";
}

.kf-comic-cast__card:hover,
.kf-comic-cast__card:focus-visible {
  border-color: rgba(114, 93, 61, 0.6);
  box-shadow: 0 10px 24px rgba(68, 56, 36, 0.1);
  transform: translateY(-2px);
}

.kf-comic-cast__card[aria-expanded="true"] {
  border-color: #725d3d;
  box-shadow: 0 0 0 1px #725d3d;
}

.kf-comic-cast__panels {
  margin-top: 24px;
}

.kf-comic-cast__panel {
  display: grid;
  grid-template-columns: minmax(0, 340px) minmax(0, 1fr);
  gap: clamp(26px, 4vw, 48px);
  align-items: start;
  padding: clamp(26px, 4vw, 40px);
  border: 1px solid rgba(114, 93, 61, 0.35);
  background: #fff;
  scroll-margin-top: 96px;
}

.kf-comic-cast__panel + .kf-comic-cast__panel {
  margin-top: 24px;
}

.kf-comic-cast__panel[hidden] {
  display: none;
}

.kf-comic-cast__portrait {
  margin: 0;
}

.kf-comic-cast__portrait img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: cover;
}

.kf-comic-cast__detail h3 {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 6px 0 18px;
  font-size: clamp(1.5rem, 2.6vw, 1.9rem);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.4;
}

.kf-comic-cast__detail dl {
  margin: 0;
}

.kf-comic-cast__detail dt {
  color: var(--kf-color-bronze);
  font-size: 0.76rem;
  letter-spacing: 0.1em;
  line-height: 1.6;
}

.kf-comic-cast__detail dd {
  margin: 2px 0 0;
  font-size: 0.98rem;
  line-height: 1.8;
}

.kf-comic-cast__intro {
  margin: 20px 0 0;
  font-size: 1rem;
  line-height: 1.95;
}

.kf-comic-cast__detail .kf-comic-cast__facts {
  display: grid;
  gap: 14px;
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid var(--kf-color-line);
}

.kf-comic-cast__close {
  display: none;
  margin-top: 26px;
  padding: 9px 22px;
  border: 1px solid rgba(114, 93, 61, 0.55);
  border-radius: 0;
  background: transparent;
  color: var(--kf-color-ink);
  font: inherit;
  font-size: 0.88rem;
  letter-spacing: 0.06em;
  cursor: pointer;
}

.kf-comic-cast.is-ready .kf-comic-cast__close {
  display: inline-block;
}

.kf-comic-cast__close:hover,
.kf-comic-cast__close:focus-visible {
  background: #725d3d;
  color: #fff;
}

@media (max-width: 700px) {
  .kf-comic-cast {
    padding: 34px 20px 28px;
  }

  .kf-comic-cast__cards {
    display: flex;
    gap: 14px;
    margin-inline: -20px;
    padding: 2px 20px 10px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .kf-comic-cast__cards li {
    flex: 0 0 62%;
    scroll-snap-align: start;
  }

  .kf-comic-cast__card:hover,
  .kf-comic-cast__card:focus-visible {
    transform: none;
  }

  .kf-comic-cast__panel {
    grid-template-columns: 1fr;
    padding: 22px 18px 26px;
  }

  .kf-comic-cast__portrait {
    width: min(260px, 78%);
    margin-inline: auto;
  }
}

.kf-yt-facade__link {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}

.kf-yt-facade__thumb {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kf-yt-facade__play {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 68px;
  height: 48px;
  border-radius: 14px;
  background: rgba(33, 33, 33, 0.8);
  transform: translate(-50%, -50%);
  transition: background-color 0.2s ease;
}

.kf-yt-facade__play::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 54%;
  border-style: solid;
  border-width: 11px 0 11px 19px;
  border-color: transparent transparent transparent #fff;
  transform: translate(-50%, -50%);
}

.kf-yt-facade__link:hover .kf-yt-facade__play,
.kf-yt-facade__link:focus-visible .kf-yt-facade__play {
  background: #f00;
}

