/*
Theme Name: KOBUY theme
Theme URI: https://kobuy.co.jp/
Author: KOBUY Web Renewal Project
Description: KOBUYの移行版・刷新版で共有する専用テーマ。
 Version: 0.1.14
Requires at least: 6.4
Requires PHP: 8.1
Text Domain: kobuy-theme
*/

:root {
  --kobuy-blue: #006eb0;
  --kobuy-blue-dark: #00588e;
  --kobuy-navy: #0e2e45;
  --kobuy-ink: #18313f;
  --kobuy-muted: #5f7480;
  --kobuy-line: #d6e2ea;
  --kobuy-surface: #f1f7fa;
  --kobuy-white: #fff;
  --kobuy-shadow: 0 18px 48px rgba(14, 46, 69, 0.08);
  --kobuy-container: 1200px;
}

html { scroll-behavior: smooth; }

/* User case articles: preserve the original interview content while keeping
 * banners, portraits, captions and embeds inside a stable reading layout. */
.case-article-hero { padding: 48px 0 76px; background: linear-gradient(145deg, #f7fbfd, var(--kobuy-surface)); border-bottom: 1px solid var(--kobuy-line); }
.case-article-hero h1 { max-width: 900px; margin: 0 0 18px; }
.case-article-hero__lead { max-width: 780px; color: #40545f; font-size: 1.05rem; }
.case-article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 250px; gap: 64px; align-items: start; }
.case-article__content { min-width: 0; width: min(860px, 100%); }
.case-article__body { overflow-wrap: anywhere; }
.case-article__body .sqs-html-content { margin: 26px 0; }
.case-article__body p { line-height: 2; }
.case-article__body h2, .case-article__body h3, .case-article__body h4 { margin: 54px 0 22px; color: var(--kobuy-navy); line-height: 1.55; }
.case-article__body h3 { padding-left: 16px; border-left: 4px solid var(--kobuy-blue); font-size: 1.55rem; }
.case-article__body img { display: block; max-width: 100% !important; height: auto !important; margin: 34px auto; }
.case-article__body > p:first-child img,
.case-article__body > p:first-child a img { width: 100%; max-height: 520px; object-fit: cover; }
.case-article__body figure { max-width: 100% !important; margin: 38px auto; }
.case-article__body figure.wp-caption { width: min(240px, 100%) !important; }
.case-article__body figure.wp-caption img { width: 100% !important; margin: 0 auto 8px; }
.case-article__body figcaption { color: var(--kobuy-muted); font-size: .8rem; text-align: center; }
.case-article__body iframe { display: block; width: min(100%, 854px) !important; height: auto !important; aspect-ratio: 16 / 9; margin: 46px auto; border: 0; }
.case-video-section { margin: 0 0 50px; }
.case-video-section h2 { margin-top: 0; }
.case-video { overflow: hidden; margin: 24px 0 48px; border-radius: 12px; background: #071b27; box-shadow: var(--kobuy-shadow); }
.case-video iframe { display: block; width: 100% !important; height: auto !important; min-height: 0; aspect-ratio: 16 / 9; margin: 0 !important; border: 0; }
.case-article__aside { position: sticky; top: 110px; padding: 24px; border: 1px solid var(--kobuy-line); border-radius: 12px; background: var(--kobuy-surface); }
.case-article__aside .eyebrow { margin-bottom: 12px; }
.case-article__aside h2 { margin: 0 0 10px; font-size: 1.3rem; }
.case-article__aside p { margin-bottom: 20px; color: var(--kobuy-muted); }
.case-article__next { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 76px; padding-top: 28px; border-top: 1px solid var(--kobuy-line); }

@media (max-width: 900px) {
  .case-article-layout { grid-template-columns: 1fr; gap: 42px; }
  .case-article__aside { position: static; }
}

@media (max-width: 680px) {
  .case-article-hero { padding: 42px 0 58px; }
  .case-article-hero h1 { font-size: 2rem; }
  .case-article__body h3 { font-size: 1.3rem; }
  .case-article__body figure.wp-caption { width: min(210px, 100%) !important; }
  .case-article__next { align-items: stretch; flex-direction: column; }
}

/* Company information and office maps. */
.company-overview { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: 72px; align-items: start; }
.company-overview__intro { position: sticky; top: 112px; }
.company-overview__intro h2 { margin: 0 0 22px; font-size: clamp(1.9rem, 3vw, 2.7rem); }
.company-overview__intro > p:not(.eyebrow) { color: var(--kobuy-muted); line-height: 2; }
.company-highlight { display: flex; align-items: end; gap: 18px; margin: 32px 0 26px; padding: 24px; border-radius: 12px; color: #fff; background: linear-gradient(145deg, var(--kobuy-navy), var(--kobuy-blue-dark)); }
.company-highlight strong { font-size: clamp(2.35rem, 5vw, 4.2rem); line-height: .85; }
.company-highlight strong small { margin-left: 4px; font-size: .9rem; }
.company-highlight span { max-width: 150px; font-size: .82rem; line-height: 1.55; opacity: .86; }
.company-profile { margin: 0; border-top: 1px solid var(--kobuy-line); }
.company-profile > div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 26px; padding: 19px 0; border-bottom: 1px solid var(--kobuy-line); }
.company-profile dt { color: var(--kobuy-muted); font-size: .84rem; font-weight: 800; letter-spacing: .05em; }
.company-profile dd { margin: 0; color: var(--kobuy-ink); line-height: 1.8; }
.company-profile ul { margin: 0; padding-left: 1.2em; }
.company-offices { overflow: hidden; }
.company-office-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.company-office-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid var(--kobuy-line); border-radius: 14px; background: #fff; box-shadow: var(--kobuy-shadow); }
.company-office-card__body { flex: 1; padding: 28px; }
.company-office-card__label { margin: 0 0 8px; color: var(--kobuy-blue); font-size: .72rem; font-weight: 900; letter-spacing: .14em; }
.company-office-card h3 { margin: 0 0 18px; font-size: 1.55rem; }
.company-office-card address { min-height: 7.6em; color: var(--kobuy-muted); font-style: normal; line-height: 1.8; }
.company-office-card address span { display: block; color: var(--kobuy-ink); font-weight: 700; }
.company-office-card__contact { display: flex; flex-direction: column; gap: 2px; margin: 18px 0; font-size: .9rem; }
.company-office-card__contact a { color: var(--kobuy-ink); text-decoration: none; }
.company-office-card__map { aspect-ratio: 4 / 3; background: #dbe7ec; }
.company-office-card__map iframe { display: block; width: 100%; height: 100%; border: 0; }

/* Learning center: clean WordPress layout replacing imported Squarespace CSS. */
.learning-center-hero .page-hero__lead { max-width: 850px; line-height: 1.9; }
.learning-access-panel { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr); overflow: hidden; padding: 0; border: 1px solid var(--kobuy-line); border-radius: 18px; background: #fff; box-shadow: var(--kobuy-shadow); }
.learning-access-panel__intro { padding: 54px; color: #fff; background: linear-gradient(145deg, var(--kobuy-navy), var(--kobuy-blue-dark)); }
.learning-access-panel__intro .eyebrow { color: #9bd8ff; }
.learning-access-panel__intro h2 { margin: 0 0 22px; color: #fff; font-size: clamp(1.8rem, 3vw, 2.55rem); }
.learning-access-panel__intro > p:not(.eyebrow) { margin-bottom: 30px; color: rgba(255,255,255,.82); line-height: 1.9; }
.learning-access-panel__form { padding: 48px; }
.learning-access-panel__form h3 { margin-top: 0; }
.learning-access-panel__form .notice { margin-top: 0; }
.learning-access-hours { display: grid; gap: 6px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--kobuy-line); }
.learning-access-hours span { color: var(--kobuy-blue-dark); font-size: 1.1rem; font-weight: 800; }
.learning-access-hours small { margin-top: 6px; color: var(--kobuy-muted); line-height: 1.7; }
.learning-audience-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.learning-audience-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 18px; align-items: start; min-height: 230px; padding: 28px; border: 1px solid var(--kobuy-line); border-radius: 14px; color: var(--kobuy-ink); background: #fff; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.learning-audience-card:hover { transform: translateY(-3px); border-color: #9dc8dd; box-shadow: var(--kobuy-shadow); }
.learning-audience-card__number { color: var(--kobuy-blue); font-size: .76rem; font-weight: 900; letter-spacing: .12em; }
.learning-audience-card strong { display: block; margin-bottom: 14px; font-size: 1.2rem; line-height: 1.5; }
.learning-audience-card small { display: block; color: var(--kobuy-muted); font-size: .86rem; line-height: 1.8; }
.learning-audience-card b { color: var(--kobuy-blue); font-size: 1.35rem; }
.learning-training-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }

@media (max-width: 960px) {
  .company-overview { grid-template-columns: 1fr; gap: 44px; }
  .company-overview__intro { position: static; }
  .company-office-grid, .learning-audience-grid { grid-template-columns: 1fr; }
  .company-office-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .85fr); }
  .company-office-card address { min-height: 0; }
  .company-office-card__map { height: 100%; min-height: 320px; aspect-ratio: auto; }
  .learning-access-panel { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .company-profile > div { grid-template-columns: 1fr; gap: 6px; }
  .company-highlight { align-items: flex-start; flex-direction: column; }
  .company-office-card { display: flex; }
  .company-office-card__body, .learning-access-panel__intro, .learning-access-panel__form { padding: 30px 24px; }
  .company-office-card__map { min-height: 250px; }
  .learning-audience-card { min-height: 0; }
  .learning-training-list { grid-template-columns: 1fr; }
}

/* Homepage closing CTA lane. The imported Squarespace section originally
 * retained a single-column, full-width image treatment, which made the two
 * illustrations dominate the bottom of the page. Keep both CTAs together in
 * a compact two-card layout and let the artwork scale inside a fixed frame. */
.migration-home__content .region > .page-section:nth-child(15) {
  background: #f4f8fa;
}
.migration-home__content .region > .page-section:nth-child(15) .content-wrapper,
.migration-home__content .region > .page-section:nth-child(15) .content {
  height: auto !important;
  min-height: 0 !important;
}
.migration-home__content .region > .page-section:nth-child(15) .fluid-engine {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: auto auto auto auto !important;
  align-items: stretch !important;
  gap: 0 28px !important;
  max-width: 1000px !important;
  padding: 88px 0 104px !important;
}
.migration-home__content .region > .page-section:nth-child(15) .fe-block {
  position: static !important;
  inset: auto !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
}
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(1) {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(2) {
  grid-column: 1 !important;
  grid-row: 2 !important;
}
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(3) {
  grid-column: 1 !important;
  grid-row: 3 !important;
}
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(4) {
  grid-column: 1 !important;
  grid-row: 4 !important;
}
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(5) {
  grid-column: 2 !important;
  grid-row: 2 !important;
}
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(6) {
  grid-column: 2 !important;
  grid-row: 3 !important;
}
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(7) {
  grid-column: 2 !important;
  grid-row: 1 !important;
}
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(8) {
  grid-column: 2 !important;
  grid-row: 4 !important;
}
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(1),
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(7) {
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 250px !important;
  padding: 12px !important;
  background: #fff;
  border: 1px solid var(--kobuy-line);
  border-bottom: 0;
  border-radius: 14px 14px 0 0;
  overflow: hidden;
}
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(1) .sqs-block,
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(7) .sqs-block,
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(1) .sqs-block-content,
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(7) .sqs-block-content,
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(1) .fluid-image-component-root,
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(7) .fluid-image-component-root,
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(1) .fluid-image-animation-wrapper,
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(7) .fluid-image-animation-wrapper,
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(1) .fluid-image-container,
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(7) .fluid-image-container,
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(1) .js-content-mode-element-wrapper,
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(7) .js-content-mode-element-wrapper,
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(1) .js-content-mode-element,
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(7) .js-content-mode-element {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(1) img,
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(7) img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
}
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(2),
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(3),
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(4),
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(5),
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(6),
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(8) {
  padding: 0 24px;
  background: #fff;
  border-left: 1px solid var(--kobuy-line);
  border-right: 1px solid var(--kobuy-line);
}
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(2),
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(5) {
  padding-top: 22px;
}
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(3),
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(6) {
  padding-top: 10px;
}
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(4),
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(8) {
  padding-top: 16px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--kobuy-line);
  border-radius: 0 0 14px 14px;
}
.migration-home__content .region > .page-section:nth-child(15) p,
.migration-home__content .region > .page-section:nth-child(15) h3 {
  margin: 0;
}
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(2) p,
.migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(5) p {
  color: var(--kobuy-muted);
  font-size: .98rem;
  line-height: 1.8;
}
.migration-home__content .region > .page-section:nth-child(15) h3 {
  color: var(--kobuy-ink);
  font-size: 1.45rem;
}
.migration-home__content .region > .page-section:nth-child(15) .sqs-block-button-container {
  justify-content: flex-start;
}
.migration-home__content .region > .page-section:nth-child(15) .sqs-block-button-element {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 22px;
  border-radius: 999px;
  white-space: nowrap;
}

@media (max-width: 680px) {
  .migration-home__content .region > .page-section:nth-child(15) .fluid-engine {
    display: flex !important;
    flex-direction: column !important;
    padding: 64px 16px 76px !important;
  }
  .migration-home__content .region > .page-section:nth-child(15) .fe-block,
  .migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(n) {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
  }
  .migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(1) { order: 1 !important; }
  .migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(2) { order: 2 !important; }
  .migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(3) { order: 3 !important; }
  .migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(4) { order: 4 !important; }
  .migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(7) { order: 5 !important; }
  .migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(5) { order: 6 !important; }
  .migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(6) { order: 7 !important; }
  .migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(8) { order: 8 !important; }
  .migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(1),
  .migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(7) {
    display: flex !important;
    min-height: 0 !important;
    height: 220px !important;
    padding: 8px !important;
  }
  .migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(7) {
    margin-top: 36px !important;
  }
  .migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(2),
  .migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(3),
  .migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(4),
  .migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(5),
  .migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(6),
  .migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(8) {
    padding-left: 20px;
    padding-right: 20px;
  }
  .migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(2),
  .migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(5) {
    padding-top: 20px;
  }
  .migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(4),
  .migration-home__content .region > .page-section:nth-child(15) .fe-block:nth-child(8) {
    padding-bottom: 24px;
  }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--kobuy-ink);
  background: var(--kobuy-white);
  font-family: -apple-system, BlinkMacSystemFont, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-size: 16px;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
h1, h2, h3 { color: var(--kobuy-navy); line-height: 1.45; letter-spacing: .02em; }
h1 { font-size: clamp(2.3rem, 5vw, 4.2rem); }
h2 { font-size: clamp(1.75rem, 3vw, 2.65rem); }
h3 { font-size: 1.1rem; }
p { margin: 0 0 1em; }
.container { width: min(var(--kobuy-container), calc(100% - 48px)); margin-inline: auto; }
.section { padding: 96px 0; }
.section--blue { background: var(--kobuy-surface); }
.section--navy { background: var(--kobuy-navy); color: #d8e5ed; }
.section--navy h2, .section--navy h3 { color: var(--kobuy-white); }
.eyebrow { margin: 0 0 14px; color: var(--kobuy-blue); font-size: .75rem; font-weight: 800; letter-spacing: .16em; }
.eyebrow::before { content: ""; display: inline-block; width: 24px; height: 2px; margin: 0 10px 4px 0; background: currentColor; }
.section-heading { max-width: 780px; margin-bottom: 46px; }
.section-heading h2 { margin: 0 0 16px; }
.section-lead { max-width: 740px; color: var(--kobuy-muted); font-size: 1.05rem; }
.button-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 11px 22px; border: 1px solid transparent; border-radius: 8px; font-weight: 800; text-decoration: none; transition: .16s ease; }
.button:hover { transform: translateY(-2px); }
.button--primary { background: var(--kobuy-blue); color: #fff; box-shadow: 0 8px 20px rgba(0,110,176,.2); }
.button--primary:hover { background: var(--kobuy-blue-dark); }
.button--white { background: #fff; color: var(--kobuy-navy); }
.button--outline { border-color: var(--kobuy-blue); color: var(--kobuy-blue-dark); }
.button--secondary { border-color: var(--kobuy-line); background: #fff; color: var(--kobuy-blue-dark); }
.video-frame { margin: 28px 0; overflow: hidden; border-radius: 10px; background: #071b27; }
.video-frame video, .video-frame iframe { display: block; width: 100%; min-height: 320px; border: 0; }
.text-link { color: var(--kobuy-blue-dark); font-weight: 800; text-decoration: none; }
.text-link:hover { color: var(--kobuy-blue); }
.skip-link { position: fixed; left: 16px; top: 10px; z-index: 1000; transform: translateY(-160%); padding: 10px 16px; background: var(--kobuy-navy); color: #fff; border-radius: 6px; }
.skip-link:focus { transform: translateY(0); }
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--kobuy-line); backdrop-filter: blur(12px); }
.header-inner { min-height: 76px; display: flex; align-items: center; gap: 22px; }
.brand { display: inline-flex; align-items: center; flex-shrink: 0; text-decoration: none; }
.brand img { width: 146px; }
.site-nav { margin-left: auto; }
.site-nav ul { display: flex; align-items: center; gap: 24px; padding: 0; margin: 0; list-style: none; }
.site-nav a { color: #324650; font-size: .88rem; font-weight: 800; text-decoration: none; }
.site-nav a:hover { color: var(--kobuy-blue); }
.menu-toggle { display: none; margin-left: auto; border: 1px solid var(--kobuy-line); background: #fff; border-radius: 7px; padding: 9px 12px; color: var(--kobuy-navy); font-weight: 800; }
.header-contact { white-space: nowrap; }
.hero { overflow: hidden; padding: 102px 0 90px; background: radial-gradient(circle at 85% 12%, rgba(0,110,176,.15), transparent 26%), linear-gradient(145deg, #fff, #f4f9fc); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(380px, .9fr); gap: 74px; align-items: center; }
.hero h1 { max-width: 760px; margin: 0 0 22px; font-weight: 900; }
.hero h1 em { color: var(--kobuy-blue); font-style: normal; }
.hero-lead { max-width: 720px; color: #40545f; font-size: 1.08rem; }
.hero-note { margin-top: 16px; color: var(--kobuy-muted); font-size: .86rem; }
.system-map { position: relative; min-height: 420px; display: grid; place-items: center; padding: 46px; background: rgba(255,255,255,.84); border: 1px solid #cfe0ea; border-radius: 28px; box-shadow: var(--kobuy-shadow); }
.system-map::before, .system-map::after { content: ""; position: absolute; background: linear-gradient(90deg, transparent, var(--kobuy-blue), transparent); opacity: .7; }
.system-map::before { left: 17%; right: 17%; top: 50%; height: 1px; }
.system-map::after { top: 18%; bottom: 18%; left: 50%; width: 1px; background: linear-gradient(transparent, var(--kobuy-blue), transparent); }
.system-core { position: relative; z-index: 1; width: 220px; padding: 28px; background: #fff; border: 2px solid var(--kobuy-blue); border-radius: 16px; text-align: center; box-shadow: 0 16px 34px rgba(0,110,176,.16); }
.system-core img { width: 150px; margin: 0 auto 10px; }
.system-core span { color: var(--kobuy-muted); font-size: .78rem; font-weight: 800; }
.system-label { position: absolute; z-index: 2; left: 50%; transform: translateX(-50%); padding: 7px 14px; background: var(--kobuy-navy); color: #fff; border-radius: 999px; font-size: .72rem; font-weight: 800; white-space: nowrap; }
.system-label--top { top: 24px; }
.system-label--bottom { bottom: 24px; }
.system-side { position: absolute; z-index: 2; top: 50%; display: grid; gap: 10px; transform: translateY(-50%); }
.system-side--left { left: 18px; }
.system-side--right { right: 18px; }
.system-side span { min-width: 100px; padding: 9px 10px; background: #fff; border: 1px solid var(--kobuy-line); border-radius: 7px; color: var(--kobuy-navy); font-size: .75rem; font-weight: 800; text-align: center; box-shadow: 0 6px 14px rgba(14,46,69,.05); }
.proof-strip { padding: 48px 0 56px; border-block: 1px solid var(--kobuy-line); }
.proof-strip__heading { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-bottom: 22px; }
.proof-strip__heading p { margin: 0; font-weight: 800; }
.logo-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.logo-card { min-height: 120px; display: flex; align-items: center; justify-content: center; padding: 20px; border: 1px solid var(--kobuy-line); border-radius: 10px; }
.logo-card img { max-height: 48px; object-fit: contain; }
.card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.card { padding: 28px; background: #fff; border: 1px solid var(--kobuy-line); border-radius: 12px; box-shadow: 0 8px 26px rgba(14,46,69,.04); }
.card h3 { margin: 0 0 12px; }
.card p { color: var(--kobuy-muted); font-size: .92rem; }
.role-card { display: flex; flex-direction: column; min-height: 242px; }
.role-card .card-index { margin-bottom: auto; color: var(--kobuy-blue); font-size: .75rem; font-weight: 900; letter-spacing: .12em; }
.workflow-list { display: grid; grid-template-columns: repeat(6, 1fr); padding: 0; margin: 0; list-style: none; }
.workflow-list li { min-height: 152px; padding: 22px 18px; border: 1px solid var(--kobuy-line); border-right: 0; background: #fff; }
.workflow-list li:last-child { border-right: 1px solid var(--kobuy-line); }
.workflow-list li:first-child { border-radius: 10px 0 0 10px; }
.workflow-list li:last-child { border-radius: 0 10px 10px 0; }
.workflow-list span { display: block; margin-bottom: 16px; color: var(--kobuy-blue); font-size: .72rem; font-weight: 900; }
.workflow-list strong { color: var(--kobuy-navy); font-size: .86rem; }
.case-card { overflow: hidden; display: flex; flex-direction: column; padding: 0; }
.case-card__image { aspect-ratio: 16/9; overflow: hidden; background: var(--kobuy-surface); }
.case-card__image img { width: 100%; height: 100%; object-fit: cover; }
.case-card__body { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.case-card__meta { margin-bottom: 12px; color: var(--kobuy-blue); font-size: .78rem; font-weight: 800; }
.case-card h3 { margin-bottom: 12px; font-size: 1.05rem; }
.case-card h3 a { text-decoration: none; }
.case-card__body .text-link { margin-top: auto; }
.section-actions { margin-top: 28px; }
.refresh-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) auto; gap: 24px; align-items: center; margin-top: 32px; padding: 24px 28px; border: 1px solid #cfe0ea; border-radius: 12px; background: rgba(255,255,255,.72); }
.preview-badge { display: inline-flex; align-items: center; padding: 6px 10px; border: 1px solid #b6d5df; border-radius: 999px; color: var(--kobuy-blue-dark); background: #eef8fa; font-size: .68rem; font-weight: 800; letter-spacing: .04em; white-space: nowrap; }
.refresh-panel h3 { margin: 0; font-size: 1.08rem; }
.refresh-panel p { margin: 0; color: var(--kobuy-muted); font-size: .9rem; }
.refresh-panel .eyebrow { margin-bottom: 8px; }
.refresh-link-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.refresh-link-card { display: grid; gap: 10px; min-height: 156px; padding: 26px; border: 1px solid var(--kobuy-line); border-radius: 12px; background: #fff; color: var(--kobuy-navy); text-decoration: none; box-shadow: 0 8px 26px rgba(14,46,69,.04); transition: .16s ease; }
.refresh-link-card:hover { transform: translateY(-2px); border-color: var(--kobuy-blue); box-shadow: var(--kobuy-shadow); }
.refresh-link-card .card-index { color: var(--kobuy-blue); font-size: .72rem; font-weight: 900; letter-spacing: .1em; }
.refresh-link-card strong { font-size: 1.15rem; }
.refresh-link-card span:last-child { align-self: end; color: var(--kobuy-blue-dark); font-size: .84rem; font-weight: 800; }
.cta { padding: 78px 0; background: linear-gradient(125deg, var(--kobuy-navy), var(--kobuy-blue-dark)); color: #dceaf2; }
.cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 48px; }
.cta h2 { max-width: 700px; margin: 0 0 14px; color: #fff; }
.cta p { max-width: 720px; margin: 0; }
.page-hero { padding: 48px 0 78px; background: linear-gradient(145deg, #f7fbfd, var(--kobuy-surface)); border-bottom: 1px solid var(--kobuy-line); }
.breadcrumbs { margin-bottom: 48px; color: var(--kobuy-muted); font-size: .78rem; }
.breadcrumbs a { text-decoration: none; }
.page-hero h1 { max-width: 900px; margin: 0 0 14px; }
.page-hero__lead { max-width: 780px; color: #40545f; font-size: 1.05rem; }
.refresh-detail .page-hero h1 em { color: var(--kobuy-blue); font-style: normal; }
.refresh-detail .content-grid__main h2 { margin-top: 0; }
.refresh-detail .card-index { color: var(--kobuy-blue); font-size: .75rem; font-weight: 900; letter-spacing: .1em; }
.refresh-detail .workflow-list li p { margin: 12px 0 0; color: var(--kobuy-muted); font-size: .82rem; line-height: 1.65; }
.refresh-detail .refresh-link-grid { margin-top: 24px; }
.content-grid { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 72px; align-items: start; }
.content-grid__main { min-width: 0; }
.content-grid__aside { padding: 22px; background: var(--kobuy-surface); border-radius: 10px; }
.content-grid__aside ul { padding-left: 20px; margin-bottom: 0; }
.entry-content { color: #334b58; }
.entry-content h2 { margin-top: 48px; }
.entry-content h3 { margin-top: 32px; }
.entry-content a { color: var(--kobuy-blue-dark); }
.entry-content img { margin-block: 24px; }
.migration-summary-list ul { margin: 0; padding: 0; list-style: none; }
.migration-summary-list li { display: flex; justify-content: space-between; gap: 20px; padding: 12px 0; border-bottom: 1px solid #dfe8eb; }
.migration-summary-list time { flex: 0 0 auto; color: #6f858d; font-size: .9em; }
.migration-summary-empty { color: #6f858d; }
.post-list { display: grid; gap: 14px; }
.post-card { padding: 24px; border: 1px solid var(--kobuy-line); border-radius: 10px; background: #fff; }
.post-card__meta { margin-bottom: 6px; color: var(--kobuy-blue); font-size: .78rem; font-weight: 800; }
.post-card h2, .post-card h3 { margin: 0 0 8px; font-size: 1.2rem; }
.post-card h2 a, .post-card h3 a { text-decoration: none; }
.post-card p { color: var(--kobuy-muted); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.form-field { display: grid; gap: 7px; }
.form-field--full { grid-column: 1 / -1; }
.form-field label { color: var(--kobuy-navy); font-weight: 800; }
.form-field input, .form-field textarea { width: 100%; padding: 12px 14px; border: 1px solid #b7cbd6; border-radius: 7px; background: #fff; }
.form-field select { width: 100%; padding: 12px 14px; border: 1px solid #b7cbd6; border-radius: 7px; background: #fff; }
.form-field textarea { min-height: 160px; resize: vertical; }
.form-note { color: var(--kobuy-muted); font-size: .82rem; }
.notice { margin-bottom: 24px; padding: 16px 18px; border: 1px solid #9ec8da; border-radius: 8px; background: var(--kobuy-surface); }
.notice--success { border-color: #9ac7a2; background: #f2fbf3; }
.notice--error { border-color: #d6a2a2; background: #fff5f5; }
.training-survey { margin-top: 48px; padding-top: 34px; border-top: 1px solid var(--kobuy-line); }
.training-survey h2 { margin-top: 0; font-size: 1.65rem; }
.training-survey__fieldset { min-width: 0; padding: 22px; margin: 22px 0 0; border: 1px solid var(--kobuy-line); border-radius: 9px; background: #fbfdfe; }
.training-survey__fieldset legend { padding: 0 6px; color: var(--kobuy-navy); font-weight: 800; }
.training-survey__options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 18px; margin: 6px 0 12px; }
.training-survey__inline-options { display: flex; flex-wrap: wrap; gap: 16px; }
.training-survey__option { display: inline-flex; gap: 8px; align-items: flex-start; color: #334b58; font-size: .92rem; line-height: 1.5; }
.training-survey__option input { flex: 0 0 auto; margin-top: .35em; }
.training-survey__consent { margin-top: 26px; }
.training-survey__honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.site-footer { padding: 48px 0 24px; background: var(--kobuy-navy); color: #c5d7e2; }
.footer-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 32px; }
.footer-brand img { width: 150px; margin-bottom: 16px; }
.site-footer h2 { color: #fff; font-size: 1rem; }
.site-footer ul { padding: 0; margin: 0; list-style: none; }
.site-footer li { margin-bottom: 7px; }
.site-footer a { color: #d8e5ed; text-decoration: none; }
.site-footer a:hover { color: #fff; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 38px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.15); font-size: .78rem; }
.footer-trust { display: grid; grid-template-columns: minmax(240px, .7fr) minmax(0, 1.3fr); gap: 42px; align-items: center; margin-top: 42px; padding-top: 34px; border-top: 1px solid rgba(255,255,255,.15); }
.footer-trust__eyebrow { margin: 0 0 5px; color: #78c7f4; font-size: .68rem; font-weight: 900; letter-spacing: .14em; }
.site-footer .footer-trust h2 { margin: 0 0 10px; font-size: 1.25rem; }
.footer-trust__copy > p:last-child { max-width: 390px; margin: 0; color: #c5d7e2; font-size: .86rem; line-height: 1.75; }
.footer-trust__badges { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.footer-trust__badges figure { display: grid; grid-template-columns: minmax(120px, 1fr) minmax(120px, .8fr); gap: 14px; align-items: center; min-width: 0; margin: 0; padding: 13px; border-radius: 10px; background: #fff; }
.footer-trust__badges img { display: block; width: 100%; max-height: 98px; object-fit: contain; }
.footer-trust__badges figcaption { color: var(--kobuy-ink); font-size: .76rem; font-weight: 800; line-height: 1.55; }
.footer-trust__badges figcaption span { color: var(--kobuy-muted); font-size: .7rem; font-weight: 700; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
:focus-visible { outline: 3px solid rgba(0,110,176,.35); outline-offset: 3px; }

/*
 * The migrated home page keeps its editorial images full-bleed, while its
 * copy follows the same centered reading width as the rest of the theme.
 */
.migration-home__content .fe-block {
  width: min(var(--kobuy-container), calc(100% - 48px));
  max-width: var(--kobuy-container);
  margin-inline: auto;
}
.migration-home__content .fe-block:has(.sqs-block-image),
.migration-home__content .fe-block:has(.gallery-grid) {
  width: 100%;
  max-width: none;
}
.migration-home__content .gallery-section {
  width: 100%;
}
.migration-home__content .gallery-grid-wrapper {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
  width: 100%;
  margin: 0;
}
.migration-home__content .gallery-grid-item {
  min-width: 0;
  aspect-ratio: 4 / 2.25;
  margin: 0;
  overflow: hidden;
  background: #fff;
}
.migration-home__content .gallery-grid-item-wrapper {
  width: 100%;
  height: 100%;
}
.migration-home__content .gallery-grid-item img {
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
}

@media (max-width: 900px) {
  .hero-grid, .content-grid { grid-template-columns: 1fr; }
  .system-map { min-height: 360px; }
  .workflow-list { grid-template-columns: repeat(3, 1fr); }
  .workflow-list li, .workflow-list li:last-child { border-right: 1px solid var(--kobuy-line); border-radius: 0; }
  .card-grid { grid-template-columns: repeat(2, 1fr); }
  .refresh-panel { grid-template-columns: 1fr 1fr; }
  .refresh-panel .text-link { grid-column: 1 / -1; }
  .refresh-link-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-trust { grid-template-columns: 1fr; gap: 22px; }
  .footer-trust__copy > p:last-child { max-width: 680px; }
}

@media (max-width: 992px) {
  .migration-home__content .gallery-grid-wrapper {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .container,
  .migration-home__content .fe-block {
    width: min(var(--kobuy-container), calc(100% - 32px));
  }
  .section { padding: 68px 0; }
  .site-nav { display: none; }
  .site-nav.is-open { display: block; position: absolute; left: 0; right: 0; top: 76px; padding: 18px 16px; background: #fff; border-bottom: 1px solid var(--kobuy-line); box-shadow: var(--kobuy-shadow); }
  .site-nav.is-open ul { display: grid; gap: 0; }
  .site-nav.is-open li { padding: 10px 0; border-bottom: 1px solid var(--kobuy-line); }
  .menu-toggle { display: block; }
  .header-contact { display: none; }
  .hero { padding: 68px 0; }
  .hero h1 { font-size: 2.35rem; }
  .system-map { min-height: 300px; padding: 28px; }
  .system-side span { min-width: 78px; font-size: .68rem; }
  .system-side--left { left: 8px; }
  .system-side--right { right: 8px; }
  .system-core { width: 170px; padding: 22px 15px; }
  .system-core img { width: 125px; }
  .system-label { font-size: .62rem; }
  .proof-strip__heading, .cta__inner, .footer-bottom { display: grid; }
  .logo-grid, .card-grid, .form-grid { grid-template-columns: 1fr; }
  .refresh-panel { grid-template-columns: 1fr; padding: 22px; }
  .refresh-panel .text-link { grid-column: auto; }
  .form-field--full { grid-column: auto; }
  .training-survey__options { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
  .footer-trust__badges { grid-template-columns: 1fr; }
  .footer-trust__badges figure { grid-template-columns: minmax(120px, 1fr) minmax(130px, .8fr); }
}

/* Editorial landing pages: executive messages, book, FAQ and case indexes. */
.message-list { display: grid; gap: 28px; }
.message-card { display: grid; grid-template-columns: minmax(250px, .82fr) minmax(0, 1.18fr); overflow: hidden; border: 1px solid var(--kobuy-line); border-radius: 14px; background: #fff; box-shadow: 0 10px 30px rgba(14,46,69,.05); }
.message-card__media { min-height: 280px; overflow: hidden; background: var(--kobuy-surface); }
.message-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s ease; }
.message-card__media:hover img { transform: scale(1.025); }
.message-card__body { display: flex; flex-direction: column; padding: 34px 38px; }
.message-card__number { margin: 0 0 16px; color: var(--kobuy-blue); font-size: .72rem; font-weight: 900; letter-spacing: .14em; }
.message-card__person, .message-article__person { margin: 0 0 12px; color: var(--kobuy-muted); font-size: .88rem; font-weight: 800; }
.message-card h2 { margin: 0 0 16px; font-size: clamp(1.25rem, 2.3vw, 1.8rem); }
.message-card h2 a { text-decoration: none; }
.message-card__body > p:not(.message-card__number):not(.message-card__person) { color: var(--kobuy-muted); }
.message-card .text-link { margin-top: auto; }
.message-article-hero { padding: 74px 0 80px; background: linear-gradient(145deg, #f7fbfd, #eaf4f8); border-bottom: 1px solid var(--kobuy-line); }
.message-article-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr); gap: 72px; align-items: center; }
.message-article-hero h1 { max-width: 760px; margin: 0 0 20px; font-size: clamp(2.1rem, 4vw, 3.5rem); }
.message-article__lead { max-width: 720px; color: #40545f; font-size: 1.08rem; }
.message-article-hero__image { width: 100%; max-height: 410px; border-radius: 14px; object-fit: cover; box-shadow: var(--kobuy-shadow); }
.message-video { overflow: hidden; margin: 0 0 48px; border-radius: 12px; background: #071b27; box-shadow: var(--kobuy-shadow); }
.message-video iframe { display: block; width: 100%; aspect-ratio: 16 / 9; min-height: 320px; border: 0; }
.message-article__aside { display: grid; gap: 12px; }
.message-article__aside p { margin: 0; color: var(--kobuy-muted); }
.message-article__next { margin-top: 68px; padding-top: 26px; border-top: 1px solid var(--kobuy-line); }

.book-hero { padding: 64px 0 92px; background: radial-gradient(circle at 84% 18%, rgba(176,255,0,.2), transparent 30%), linear-gradient(135deg, #1a1a1a, #343434); color: #f8fbfd; }
.book-hero__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(300px, .7fr); gap: 84px; align-items: center; }
.book-hero .breadcrumbs, .book-hero h1, .book-hero .book-hero__subtitle { color: #fff; }
.book-hero .eyebrow { color: #b0ff00; }
.book-hero h1 { margin: 0 0 6px; font-size: clamp(3rem, 7vw, 6rem); letter-spacing: .04em; }
.book-hero__subtitle { margin: 0 0 26px; font-size: clamp(1.3rem, 2.4vw, 2rem); font-weight: 800; }
.book-hero__lead { max-width: 700px; margin-bottom: 30px; color: #d8e1e6; font-size: 1.06rem; }
.book-hero .button--primary { background: #b0ff00; color: #17200e; box-shadow: none; }
.book-hero .button--primary:hover { background: #c5ff4d; }
.book-hero .button--outline { border-color: rgba(255,255,255,.45); color: #fff; }
.book-hero__cover { display: flex; justify-content: center; }
.book-hero__cover img { width: min(100%, 360px); max-height: 560px; object-fit: contain; filter: drop-shadow(0 22px 28px rgba(0,0,0,.38)); }
.book-topic-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.book-topic-grid .card { min-height: 220px; }
.book-topic-grid .card-index { color: var(--kobuy-blue); font-size: .76rem; font-weight: 900; letter-spacing: .12em; }
.book-details { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: 72px; align-items: start; }
.book-facts { margin: 0; border-top: 1px solid var(--kobuy-line); }
.book-facts div { display: grid; grid-template-columns: 120px 1fr; gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--kobuy-line); }
.book-facts dt { color: var(--kobuy-muted); font-weight: 800; }
.book-facts dd { margin: 0; color: var(--kobuy-ink); }
.button--on-dark { border-color: rgba(255,255,255,.4); color: #fff; }
.button--on-dark:hover { border-color: #fff; color: #fff; }

.faq-audience-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; max-width: 900px; margin: 0 auto; }
.faq-audience-card { display: grid; grid-template-columns: 112px 1fr; gap: 22px; align-items: center; padding: 24px; border: 1px solid var(--kobuy-line); border-radius: 14px; background: #fff; color: var(--kobuy-navy); text-decoration: none; box-shadow: 0 10px 30px rgba(14,46,69,.05); transition: .16s ease; }
.faq-audience-card:hover { transform: translateY(-2px); border-color: var(--kobuy-blue); box-shadow: var(--kobuy-shadow); }
.faq-audience-card__image { width: 112px; height: 112px; overflow: hidden; border-radius: 12px; background: var(--kobuy-surface); }
.faq-audience-card__image img { width: 100%; height: 100%; object-fit: cover; }
.faq-audience-card__label { display: grid; width: 112px; height: 112px; place-items: center; border-radius: 12px; background: linear-gradient(145deg, var(--kobuy-blue), var(--kobuy-blue-dark)); color: #fff; font-size: .72rem; font-weight: 900; letter-spacing: .12em; }
.faq-audience-card strong, .faq-audience-card small { display: block; }
.faq-audience-card strong { margin-bottom: 8px; font-size: 1.1rem; }
.faq-audience-card small { color: var(--kobuy-blue-dark); font-weight: 800; line-height: 1.6; }
.faq-shell { max-width: 920px; }
.faq-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 28px; padding: 18px 22px; border: 1px solid #cfe0ea; border-radius: 10px; background: var(--kobuy-surface); }
.faq-toolbar p { margin: 0; color: var(--kobuy-muted); font-size: .9rem; }
.faq-toolbar .text-link { flex: 0 0 auto; }
.faq-list { border-top: 1px solid var(--kobuy-line); }
.faq-list details { border-bottom: 1px solid var(--kobuy-line); }
.faq-list summary { display: flex; gap: 20px; align-items: center; justify-content: space-between; padding: 24px 4px; color: var(--kobuy-navy); font-size: 1.05rem; font-weight: 800; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: '+'; flex: 0 0 auto; color: var(--kobuy-blue); font-size: 1.4rem; font-weight: 400; }
.faq-list details[open] summary::after { content: '−'; }
.faq-answer { padding: 0 54px 22px 4px; color: var(--kobuy-muted); }
.faq-answer p { margin: 0; }
.faq-jump { padding-bottom: 34px; }
.faq-section { scroll-margin-top: 110px; }

.case-index-toolbar { display: flex; justify-content: space-between; gap: 24px; align-items: center; margin-bottom: 32px; padding-bottom: 18px; border-bottom: 1px solid var(--kobuy-line); }
.case-index-toolbar p { margin: 0; color: var(--kobuy-muted); }
.case-index-toolbar__links { display: flex; flex-wrap: wrap; gap: 16px; }
.case-index-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.case-index-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--kobuy-line); border-radius: 12px; background: #fff; box-shadow: 0 8px 26px rgba(14,46,69,.04); }
.case-index-card__image { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--kobuy-surface); }
.case-index-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s ease; }
.case-index-card__image:hover img { transform: scale(1.025); }
.case-index-card__body { display: flex; flex: 1; flex-direction: column; padding: 22px; }
.case-index-card__meta { margin: 0 0 10px; color: var(--kobuy-blue); font-size: .78rem; font-weight: 800; }
.case-index-card h2 { margin: 0 0 12px; font-size: 1.1rem; }
.case-index-card h2 a { text-decoration: none; }
.case-index-card__body > p:not(.case-index-card__meta) { color: var(--kobuy-muted); font-size: .9rem; }
.case-index-card .text-link { margin-top: auto; }

.collection-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.collection-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid var(--kobuy-line); border-radius: 12px; background: #fff; box-shadow: 0 8px 26px rgba(14,46,69,.04); }
.collection-card__image { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--kobuy-surface); }
.collection-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s ease; }
.collection-card__image:hover img { transform: scale(1.025); }
.collection-card__body { display: flex; flex: 1; flex-direction: column; padding: 22px; }
.collection-card h2 { margin: 0 0 12px; font-size: 1.08rem; line-height: 1.6; }
.collection-card h2 a { text-decoration: none; }
.collection-card p { color: var(--kobuy-muted); font-size: .9rem; }
.collection-card .text-link { margin-top: auto; }
.collection-card--text-only { min-height: 260px; }

@media (max-width: 900px) {
  .message-article-hero__grid, .book-hero__grid, .book-details { grid-template-columns: 1fr; gap: 42px; }
  .message-article-hero__image { max-height: 360px; }
  .book-hero__cover { order: -1; }
  .book-hero__cover img { max-height: 460px; }
  .book-topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .case-index-grid, .collection-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .message-card { grid-template-columns: 1fr; }
  .message-card__media { min-height: 0; aspect-ratio: 16 / 9; }
  .message-card__body { padding: 26px 22px 28px; }
  .message-article-hero { padding: 48px 0 62px; }
  .message-video iframe { min-height: 0; }
  .book-hero { padding: 42px 0 68px; }
  .book-hero h1 { font-size: 3.1rem; }
  .book-topic-grid, .faq-audience-grid, .case-index-grid, .collection-grid { grid-template-columns: 1fr; }
  .book-facts div { grid-template-columns: 92px 1fr; gap: 14px; }
  .faq-toolbar, .case-index-toolbar { display: grid; }
  .faq-list summary { padding: 20px 0; font-size: .98rem; }
  .faq-answer { padding: 0 26px 20px 0; }
}

@media (max-width: 768px) {
  .migration-home__content .gallery-grid-wrapper {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 576px) {
  .migration-home__content .gallery-grid-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Homepage case studies: normalize both migrated summary lanes to the same
 * card grid and keep every banner inside a 16:9 frame. */
.migration-home__content .region > .page-section:nth-child(11),
.migration-home__content .region > .page-section:nth-child(12) {
  background: #eef3f6;
}
.migration-home__content .region > .page-section:nth-child(11) .fluid-engine,
.migration-home__content .region > .page-section:nth-child(12) .fluid-engine {
  padding: 88px 0 104px;
}
.migration-home__content .region > .page-section:nth-child(11) .summary-block-wrapper,
.migration-home__content .region > .page-section:nth-child(12) .summary-block-wrapper {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.migration-home__content .region > .page-section:nth-child(11) .summary-item,
.migration-home__content .region > .page-section:nth-child(12) .summary-item {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #d7e1e7;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(14, 46, 69, .05);
}
.migration-home__content .region > .page-section:nth-child(11) .summary-thumbnail-outer-container,
.migration-home__content .region > .page-section:nth-child(12) .summary-thumbnail-outer-container,
.migration-home__content .region > .page-section:nth-child(11) .summary-thumbnail-container,
.migration-home__content .region > .page-section:nth-child(12) .summary-thumbnail-container,
.migration-home__content .region > .page-section:nth-child(11) .summary-thumbnail,
.migration-home__content .region > .page-section:nth-child(12) .summary-thumbnail {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}
.migration-home__content .region > .page-section:nth-child(11) .summary-thumbnail-image,
.migration-home__content .region > .page-section:nth-child(12) .summary-thumbnail-image {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  object-fit: cover !important;
}
.migration-home__content .region > .page-section:nth-child(11) .summary-content,
.migration-home__content .region > .page-section:nth-child(12) .summary-content {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 18px 20px 22px;
}
.migration-home__content .region > .page-section:nth-child(11) .summary-title,
.migration-home__content .region > .page-section:nth-child(12) .summary-title {
  margin: 8px 0 12px;
  color: #111;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.55;
}
.migration-home__content .region > .page-section:nth-child(11) .summary-title a,
.migration-home__content .region > .page-section:nth-child(12) .summary-title a {
  color: inherit;
  text-decoration: none;
}
.migration-home__content .region > .page-section:nth-child(11) .summary-metadata,
.migration-home__content .region > .page-section:nth-child(12) .summary-metadata {
  color: #68757c;
  font-size: .78rem;
}
.migration-home__content .region > .page-section:nth-child(11) .summary-read-more-link,
.migration-home__content .region > .page-section:nth-child(12) .summary-read-more-link {
  margin-top: auto;
  color: var(--kobuy-blue-dark);
  font-size: .84rem;
  font-weight: 800;
  text-decoration: none;
}

/* Homepage executive messages: the source images are wide interview stills,
 * so never stretch them into the old portrait-sized Squarespace blocks. */
.migration-home__content .region > .page-section:nth-child(13) {
  background: #fff;
}
.migration-home__content .region > .page-section:nth-child(13) .fluid-engine {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: auto auto auto auto;
  gap: 18px 24px;
  padding: 88px 0 104px;
}
.migration-home__content .region > .page-section:nth-child(13) .fe-block {
  position: static !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
}
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(1),
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(2) {
  grid-column: 1 / -1;
}
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(3),
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(5),
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(7) {
  grid-row: 3;
}
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(4),
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(6),
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(8) {
  grid-row: 4;
  align-self: start;
}
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(3),
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(4) { grid-column: 1; }
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(5),
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(6) { grid-column: 2; }
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(7),
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(8) { grid-column: 3; }
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(n+3):nth-child(-n+7) .sqs-block,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(n+3):nth-child(-n+7) .sqs-block-content,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(n+3):nth-child(-n+7) .fluid-image-component-root,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(n+3):nth-child(-n+7) .fluid-image-animation-wrapper,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(n+3):nth-child(-n+7) .fluid-image-container {
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
}
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(3) .fluid-image-container,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(5) .fluid-image-container,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(7) .fluid-image-container {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #eef3f6;
}
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(3) img,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(5) img,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(7) img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  object-fit: cover !important;
}
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(4) p,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(6) p,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(8) p {
  margin: 0;
  padding: 18px 18px 20px;
  border: 1px solid #d7e1e7;
  border-top: 0;
  color: #111;
  font-size: 1rem;
  line-height: 1.65;
}
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(4) a,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(6) a,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(8) a {
  color: #111;
  text-decoration: none;
}
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(4) .sqs-block-content,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(6) .sqs-block-content,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(8) .sqs-block-content,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(4) .sqs-text-block-container,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(6) .sqs-text-block-container,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(8) .sqs-text-block-container,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(4) .sqs-html-content,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(6) .sqs-html-content,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(8) .sqs-html-content {
  height: 100%;
}
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(4) .sqs-html-content p,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(6) .sqs-html-content p,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(8) .sqs-html-content p {
  height: 100%;
  box-sizing: border-box;
}

@media (max-width: 680px) {
  .migration-home__content .region > .page-section:nth-child(11) .fluid-engine,
  .migration-home__content .region > .page-section:nth-child(12) .fluid-engine,
  .migration-home__content .region > .page-section:nth-child(13) .fluid-engine {
    display: block;
    padding: 64px 16px 76px;
  }
  .migration-home__content .region > .page-section:nth-child(11) .summary-block-wrapper,
  .migration-home__content .region > .page-section:nth-child(12) .summary-block-wrapper {
    grid-template-columns: 1fr;
  }
  .migration-home__content .region > .page-section:nth-child(11) .summary-item,
  .migration-home__content .region > .page-section:nth-child(12) .summary-item {
    margin-bottom: 20px;
  }
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(1),
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(2),
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(3),
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(4),
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(5),
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(6),
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(7),
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(8) {
    display: block;
    width: 100% !important;
    margin-bottom: 16px !important;
  }
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(4),
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(6),
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(8) {
    margin-bottom: 28px !important;
  }
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(3) img,
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(5) img,
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(7) img {
    min-height: 0 !important;
  }
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(4) .sqs-block-content,
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(6) .sqs-block-content,
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(8) .sqs-block-content,
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(4) .sqs-text-block-container,
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(6) .sqs-text-block-container,
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(8) .sqs-text-block-container,
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(4) .sqs-html-content,
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(6) .sqs-html-content,
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(8) .sqs-html-content,
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(4) .sqs-html-content p,
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(6) .sqs-html-content p,
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(8) .sqs-html-content p {
    height: auto;
  }
}

/*
 * Imported Squarespace pages and articles. The source HTML remains editable
 * in WordPress, while these wrappers recreate its full-width lane rhythm.
 */
.legacy-page { background: #fff; }
.legacy-page__content {
  width: 100%;
  max-width: none;
  color: #2c3b43;
}
.legacy-page__content > .sections { width: 100%; }
.legacy-page__content .page-section {
  width: 100%;
  min-height: 0;
  padding: 92px 0 108px;
  overflow: hidden;
}
.legacy-page__content .page-section.white { background: #fff; }
.legacy-page__content .page-section.light { background: #eef3f6; }
.legacy-page__content .content-wrapper,
.legacy-page__content .content {
  width: 100%;
}
.legacy-page__content .content-wrapper {
  width: min(1200px, calc(100% - 48px));
  margin-inline: auto;
}
.legacy-page__content [data-fluid-engine] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 46px 72px;
  align-items: center;
}
.legacy-page__content .fe-block { min-width: 0; }
.legacy-page__content .sqs-html-content { color: #334b58; }
.legacy-page__content .sqs-html-content p { margin: 0 0 1.15em; }
.legacy-page__content h2,
.legacy-page__content h3,
.legacy-page__content h4 { margin: 0 0 22px; color: #111; }
.legacy-page__content h2 { font-size: clamp(2.35rem, 4.2vw, 4rem); line-height: 1.28; }
.legacy-page__content h3 { font-size: clamp(1.8rem, 3.1vw, 2.9rem); line-height: 1.35; }
.legacy-page__content h4 { font-size: 1.08rem; line-height: 1.65; }
.legacy-page__content a { color: #3275ad; }
.legacy-page__content img { width: 100%; height: auto; margin: 0; }
.legacy-page__content .sqs-block-image img { object-fit: cover; }
.legacy-page__content .sqs-block-button a,
.legacy-page__content a.sqs-block-button-element {
  display: inline-flex;
  min-width: 210px;
  min-height: 58px;
  align-items: center;
  justify-content: center;
  padding: 15px 24px;
  border-radius: 0;
  background: #10069f;
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}
.legacy-page__content .page-section:first-child {
  padding-top: 112px;
  padding-bottom: 126px;
}
.legacy-page__content .page-section:first-child [data-fluid-engine] {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
}
.legacy-page__content .page-section:first-child .fe-block:nth-child(1) { grid-column: 1; grid-row: 1 / span 2; }
.legacy-page__content .page-section:first-child .fe-block:nth-child(2) { grid-column: 2; grid-row: 1; }
.legacy-page__content .page-section:first-child .fe-block:nth-child(3) { grid-column: 1; grid-row: 3; }
.legacy-page__content .page-section:first-child .fe-block:nth-child(4) { grid-column: 2; grid-row: 2 / span 2; }
.legacy-page__content .page-section:nth-child(2) [data-fluid-engine] {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
}
.legacy-page__content .page-section:nth-child(2) .fe-block:nth-child(1) { grid-column: 1; grid-row: 1 / span 2; }
.legacy-page__content .page-section:nth-child(2) .fe-block:nth-child(2),
.legacy-page__content .page-section:nth-child(2) .fe-block:nth-child(3) { grid-column: 2; }
.legacy-page__content .page-section:nth-child(3) { padding-top: 112px; padding-bottom: 122px; }
.legacy-page__content .page-section:nth-child(9) [data-fluid-engine],
.legacy-page__content .page-section:nth-child(10) [data-fluid-engine],
.legacy-page__content .page-section:nth-child(11) [data-fluid-engine] {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.legacy-page__content .page-section:nth-child(10) .fe-block:nth-child(n+3),
.legacy-page__content .page-section:nth-child(11) .fe-block:nth-child(n+3) {
  padding: 18px;
  border: 1px solid #d7e0e5;
  background: #fff;
}
.legacy-page__content .page-section:nth-child(10) .fe-block:nth-child(n+3) img,
.legacy-page__content .page-section:nth-child(11) .fe-block:nth-child(n+3) img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.legacy-page__content .page-section.kobuy-layout--prose [data-fluid-engine] {
  display: block !important;
  width: min(900px, 100%);
  max-width: 900px;
  margin-inline: auto;
}
.legacy-page__content .page-section.kobuy-layout--prose .fe-block {
  width: 100%;
  max-width: none;
  margin: 0 0 30px;
}
.legacy-page__content .page-section.kobuy-layout--prose .fe-block:last-child { margin-bottom: 0; }

.legacy-article-page { background: #fff; }
.legacy-article-shell {
  width: min(1080px, calc(100% - 48px));
  margin-inline: auto;
  padding: 92px 0 132px;
}
.legacy-article {
  width: min(840px, 100%);
  margin-inline: auto;
  color: #334b58;
}
.legacy-article > h1 {
  margin: 0 0 48px;
  color: #111;
  font-size: clamp(2.1rem, 4.1vw, 2.75rem);
  line-height: 1.45;
}
.legacy-article__eyebrow {
  margin: 0 0 18px;
  color: #3275ad;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .08em;
}
.legacy-article__hero {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  margin: 0 0 52px;
}
.legacy-article .sqs-html-content { margin: 0; }
.legacy-article p { line-height: 2.08; }
.legacy-article h2,
.legacy-article h3,
.legacy-article h4 {
  margin: 60px 0 24px;
  color: #111;
  line-height: 1.55;
}
.legacy-article h3 {
  padding-left: 16px;
  border-left: 4px solid #3275ad;
  font-size: 1.55rem;
}
.legacy-article h2 { font-size: 2rem; }
.legacy-article h4 { font-size: 1.15rem; }
.legacy-article a { color: #3275ad; }
.legacy-article img:not(.legacy-article__hero) {
  width: 100%;
  height: auto;
  margin: 34px 0;
}
.legacy-article figure.wp-caption {
  width: min(180px, 100%) !important;
  margin: 38px auto;
}
.legacy-article figure.wp-caption img { width: 100%; margin: 0; }
.legacy-article figcaption { color: #71828a; font-size: .8rem; text-align: center; }
.legacy-article__next {
  margin-top: 84px;
  padding-top: 28px;
  border-top: 1px solid #d8e0e4;
}

.legacy-collection-hero {
  padding: 84px 0 96px;
  background: #000;
  color: #fff;
}
.legacy-collection-hero__label {
  margin: 0 0 20px;
  color: #fff;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .16em;
}
.legacy-collection-hero h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(2.6rem, 5vw, 4.8rem);
  line-height: 1.2;
}
.legacy-collection { padding: 96px 0 126px; background: #fff; }
.legacy-collection__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px 24px;
}
.legacy-collection-card { min-width: 0; background: #fff; }
.legacy-collection-card__image { display: block; overflow: hidden; background: #eef3f6; }
.legacy-collection-card__image img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  transition: transform .2s ease;
}
.legacy-collection-card__image:hover img { transform: scale(1.025); }
.legacy-collection-card__body { padding: 18px 2px 0; }
.legacy-collection-card__meta {
  margin: 0 0 10px;
  color: #3275ad;
  font-size: .78rem;
  font-weight: 800;
}
.legacy-collection-card h2 {
  margin: 0 0 16px;
  font-size: 1.12rem;
  line-height: 1.65;
}
.legacy-collection-card h2 a { text-decoration: none; }

.legacy-contact-page {
  padding: 116px 0 136px;
  background: #fff;
}
.legacy-contact-page__intro,
.legacy-contact-page__form {
  width: min(600px, calc(100% - 48px));
  margin-inline: auto;
}
.legacy-contact-page__intro h1 {
  margin: 0;
  color: #111;
  font-size: clamp(2.3rem, 4vw, 3.1rem);
  line-height: 1.3;
}
.legacy-contact-page__label {
  margin: 0 0 26px;
  color: #111;
  font-size: 1.15rem;
  letter-spacing: .08em;
}
.legacy-contact-page__intro > p:last-child {
  margin-bottom: 62px;
  color: #5f6c72;
}
.legacy-contact-form .form-grid { grid-template-columns: 1fr; }
.legacy-contact-form .form-field--full { grid-column: auto; }
.legacy-contact-form .form-note { margin-top: 24px; }
.legacy-contact-page__topics {
  width: min(900px, calc(100% - 48px));
  margin: 90px auto 0;
  padding: 34px 0 0;
  border-top: 1px solid #d8e0e4;
  color: #334b58;
}
.legacy-contact-page__topics ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  padding: 0;
  margin: 22px 0 0;
  list-style: none;
}
.legacy-contact-page__topics li {
  padding: 14px;
  background: #eef3f6;
  color: #334b58;
  font-size: .88rem;
}

@media (max-width: 900px) {
  .legacy-page__content .content-wrapper,
  .legacy-article-shell { width: min(100% - 40px, 840px); }
  .legacy-page__content [data-fluid-engine] { gap: 34px 40px; }
}

@media (max-width: 680px) {
  .legacy-page__content .page-section,
  .legacy-page__content .page-section:first-child,
  .legacy-page__content .page-section:nth-child(3) {
    padding: 66px 0 78px;
  }
  .legacy-page__content .content-wrapper,
  .legacy-article-shell { width: calc(100% - 32px); }
  .legacy-page__content [data-fluid-engine],
  .legacy-page__content .page-section:first-child [data-fluid-engine],
  .legacy-page__content .page-section:nth-child(2) [data-fluid-engine] {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .legacy-page__content .page-section:first-child .fe-block,
  .legacy-page__content .page-section:nth-child(2) .fe-block {
    grid-column: auto;
    grid-row: auto;
  }
  .legacy-page__content h2 { font-size: 2.25rem; }
  .legacy-page__content h3 { font-size: 1.85rem; }
  .legacy-article-shell { padding: 68px 0 92px; }
  .legacy-article > h1 { margin-bottom: 34px; font-size: 2rem; }
  .legacy-article__hero { margin-bottom: 38px; }
  .legacy-article h3 { margin-top: 46px; font-size: 1.3rem; }
  .legacy-collection-hero { padding: 62px 0 72px; }
  .legacy-collection { padding: 66px 0 84px; }
  .legacy-collection__grid { grid-template-columns: 1fr; gap: 34px; }
  .legacy-contact-page { padding: 72px 0 88px; }
  .legacy-contact-page__intro,
  .legacy-contact-page__form,
  .legacy-contact-page__topics { width: calc(100% - 32px); }
  .legacy-contact-page__intro > p:last-child { margin-bottom: 42px; }
  .legacy-contact-page__topics { margin-top: 60px; }
  .legacy-contact-page__topics ul { grid-template-columns: 1fr; }
}

/*
 * Top page lanes aligned to the current kobuy.co.jp (Squarespace) design.
 * The migrated page keeps its editable content and assets; these rules only
 * standardize the lane geometry and remain scoped to the home page.
 */
.header-utility {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 61;
  font-size: .78rem;
  line-height: 1.2;
}
.header-utility a {
  color: #111;
  text-decoration: none;
}
.header-utility a:hover { text-decoration: underline; }
.site-header {
  min-height: 90px;
  border-bottom: 0;
  box-shadow: 0 4px 10px rgba(0, 0, 0, .18);
}
.header-inner { min-height: 90px; }
.brand img { width: 175px; }
.site-nav ul { gap: 20px; }
.site-nav a {
  color: #111;
  font-size: .84rem;
  white-space: nowrap;
}
.header-contact {
  min-height: 64px;
  padding: 14px 32px;
  border-radius: 0;
  background: #10069f;
  box-shadow: none;
}

.migration-home__content .region > .page-section {
  width: 100%;
  margin: 0;
  border: 0;
}
.migration-home__content .region > .page-section .content-wrapper,
.migration-home__content .region > .page-section .content,
.migration-home__content .region > .page-section .fluid-engine {
  width: 100%;
}
.migration-home__content .region > .page-section:not(:first-child) .fluid-engine {
  max-width: 1000px;
  margin-inline: auto;
}
.migration-home__content .region > .page-section:not(:first-child) .fe-block {
  width: 100%;
  max-width: none;
  margin: 0;
}
.migration-home__content .region > .page-section .fe-block h2,
.migration-home__content .region > .page-section .fe-block h3,
.migration-home__content .region > .page-section .fe-block h4,
.migration-home__content .region > .page-section .fe-block p {
  margin-top: 0;
}

/* First lane: left copy, right polygon image. */
.migration-home__content .region > .page-section:first-child {
  height: 745px;
  min-height: 745px;
  overflow: hidden;
  background: #fff;
}
.migration-home__content .region > .page-section:first-child .content-wrapper,
.migration-home__content .region > .page-section:first-child .content,
.migration-home__content .region > .page-section:first-child .fluid-engine {
  height: 745px;
  min-height: 745px;
  position: relative;
}
.migration-home__content .region > .page-section:first-child .fe-block {
  position: absolute;
  z-index: 1;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
}
.migration-home__content .region > .page-section:first-child .fe-block:nth-child(1) {
  top: 24px;
  left: 46.875%;
  width: 53.125%;
  height: 615px;
  z-index: 0;
}
.migration-home__content .region > .page-section:first-child .fe-block:nth-child(1) .sqs-block,
.migration-home__content .region > .page-section:first-child .fe-block:nth-child(1) .sqs-block-content,
.migration-home__content .region > .page-section:first-child .fe-block:nth-child(1) .fluid-image-component-root,
.migration-home__content .region > .page-section:first-child .fe-block:nth-child(1) .fluid-image-animation-wrapper,
.migration-home__content .region > .page-section:first-child .fe-block:nth-child(1) .fluid-image-container {
  width: 100%;
  height: 100%;
}
.migration-home__content .region > .page-section:first-child .fe-block:nth-child(1) .fluid-image-container {
  overflow: hidden;
  clip-path: polygon(93.85% 0, 118.85% 50%, 93.85% 100%, 18.85% 100%, 43.85% 50%, 18.85% 0);
}
.migration-home__content .region > .page-section:first-child .fe-block:nth-child(1) img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}
.migration-home__content .region > .page-section:first-child .fe-block:nth-child(2),
.migration-home__content .region > .page-section:first-child .fe-block:nth-child(3),
.migration-home__content .region > .page-section:first-child .fe-block:nth-child(4),
.migration-home__content .region > .page-section:first-child .fe-block:nth-child(5),
.migration-home__content .region > .page-section:first-child .fe-block:nth-child(6) {
  left: 15.34%;
  width: 38%;
}
.migration-home__content .region > .page-section:first-child .fe-block:nth-child(2) { top: 60px; }
.migration-home__content .region > .page-section:first-child .fe-block:nth-child(3) { top: 170px; width: 31%; }
.migration-home__content .region > .page-section:first-child .fe-block:nth-child(4) { top: 390px; width: 31%; }
.migration-home__content .region > .page-section:first-child .fe-block:nth-child(5) { top: 500px; width: 31%; }
.migration-home__content .region > .page-section:first-child .fe-block:nth-child(6) { top: 574px; width: 27.3%; }
.migration-home__content .region > .page-section:first-child h2,
.migration-home__content .region > .page-section:first-child h3,
.migration-home__content .region > .page-section:first-child h4,
.migration-home__content .region > .page-section:first-child p {
  margin: 0;
  color: #111;
}
.migration-home__content .region > .page-section:first-child h3 {
  font-size: clamp(1.7rem, 1.9vw, 1.95rem);
  line-height: 1.36;
}
.migration-home__content .region > .page-section:first-child h2 {
  color: #000;
  font-size: clamp(2.8rem, 3.18vw, 3.2rem);
  font-weight: 800;
  line-height: 1.29;
}
.migration-home__content .region > .page-section:first-child h2 strong { color: var(--kobuy-blue); }
.migration-home__content .region > .page-section:first-child .fe-block:nth-child(4) p {
  font-size: .94rem;
  font-weight: 700;
  line-height: 2;
}
.migration-home__content .region > .page-section:first-child .fe-block:nth-child(5) h4 {
  color: #3275ad;
  font-size: 1.32rem;
  line-height: 1.38;
}
.migration-home__content .region > .page-section:first-child .fe-block:nth-child(6) .sqs-block-button-element,
.migration-home__content .region > .page-section:first-child .fe-block:nth-child(6) a {
  display: flex;
  width: 100%;
  min-height: 64px;
  align-items: center;
  justify-content: center;
  padding: 16px 24px;
  border: 0;
  border-radius: 0;
  background: #3679b7;
  color: #fff;
  font-size: 1rem;
  text-align: center;
  text-decoration: none;
}

/* Content lanes retain the airy, editorial rhythm of the reference site. */
.migration-home__content .region > .page-section:nth-child(2) {
  min-height: 325px;
  background: #fff;
}
.migration-home__content .region > .page-section:nth-child(2) .fluid-engine {
  padding: 74px 0 94px;
}
.migration-home__content .region > .page-section:nth-child(2) h3,
.migration-home__content .region > .page-section:nth-child(4) h3 {
  color: #111;
  font-size: 2rem;
  line-height: 1.35;
}
.migration-home__content .migration-summary-list ul {
  display: grid;
  gap: 0;
  padding: 0;
  margin: 24px 0 0;
  list-style: none;
}
.migration-home__content .migration-summary-list li {
  display: flex;
  justify-content: space-between;
  gap: 28px;
  padding: 14px 0;
  border-bottom: 1px solid #d4d4d4;
}
.migration-home__content .migration-summary-list a {
  color: #111;
  font-weight: 700;
  text-decoration: none;
}
.migration-home__content .migration-summary-list time {
  flex: 0 0 auto;
  color: #666;
  font-size: .85rem;
}
.migration-home__content .region > .page-section:nth-child(3) {
  min-height: 720px;
  background: #000;
  color: #fff;
}
.migration-home__content .region > .page-section:nth-child(3) .fluid-engine {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .95fr);
  grid-template-rows: auto auto auto auto;
  column-gap: 64px;
  padding: 100px 0;
}
.migration-home__content .region > .page-section:nth-child(3) .fe-block:nth-child(1) { grid-column: 1; grid-row: 1; }
.migration-home__content .region > .page-section:nth-child(3) .fe-block:nth-child(2) { grid-column: 2; grid-row: 1 / span 4; }
.migration-home__content .region > .page-section:nth-child(3) .fe-block:nth-child(3) { grid-column: 1; grid-row: 2; }
.migration-home__content .region > .page-section:nth-child(3) .fe-block:nth-child(4) { grid-column: 1; grid-row: 3; }
.migration-home__content .region > .page-section:nth-child(3) .fe-block:nth-child(5) { grid-column: 1; grid-row: 4; }
.migration-home__content .region > .page-section:nth-child(3) h2,
.migration-home__content .region > .page-section:nth-child(3) p { color: #fff; }
.migration-home__content .region > .page-section:nth-child(3) h2 {
  font-size: clamp(2rem, 3.2vw, 3rem);
  line-height: 1.45;
}
.migration-home__content .region > .page-section:nth-child(3) .fe-block:nth-child(2) .fluid-image-container,
.migration-home__content .region > .page-section:nth-child(3) .fe-block:nth-child(2) img {
  width: 100%;
  height: 520px;
  object-fit: cover;
}
.migration-home__content .region > .page-section:nth-child(3) .fe-block:nth-child(5) a,
.migration-home__content .region > .page-section:nth-child(4) .fe-block:last-child a {
  color: var(--kobuy-blue-dark);
  font-weight: 800;
  text-decoration: underline;
}
.migration-home__content .region > .page-section:nth-child(3) .fe-block:nth-child(5) a {
  color: #fff;
  text-decoration: none;
}
.migration-home__content .region > .page-section:nth-child(4) {
  min-height: 520px;
  background: #eef3f6;
}
.migration-home__content .region > .page-section:nth-child(4) .fluid-engine {
  padding: 96px 0 120px;
}
.migration-home__content .region > .page-section:nth-child(5) {
  position: relative;
  height: 504px;
  min-height: 504px;
  overflow: hidden;
  background: #fff;
}
.migration-home__content .region > .page-section:nth-child(5) > .section-border {
  position: absolute;
  inset: 0;
  z-index: 0;
  height: 100%;
  overflow: hidden;
}
.migration-home__content .region > .page-section:nth-child(5) > .section-border img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  opacity: .58;
}
.migration-home__content .region > .page-section:nth-child(5) > .content-wrapper {
  position: relative;
  z-index: 1;
  height: 100%;
}
.migration-home__content .region > .page-section:nth-child(5) .fluid-engine {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 12px;
  align-content: start;
  height: 100%;
  min-height: 0;
  padding: 64px 0;
}
.migration-home__content .region > .page-section:nth-child(5) .fe-block:nth-child(1),
.migration-home__content .region > .page-section:nth-child(5) .fe-block:nth-child(2),
.migration-home__content .region > .page-section:nth-child(5) .fe-block:nth-child(3) { grid-column: 2; }
.migration-home__content .region > .page-section:nth-child(5) .fe-block:nth-child(1) h2,
.migration-home__content .region > .page-section:nth-child(5) .fe-block:nth-child(1) h3 { font-size: 2.2rem; color: #111; }
.migration-home__content .region > .page-section:nth-child(5) .fe-block:nth-child(2) p { max-width: 500px; font-size: 1.05rem; }

/* Two-card lanes: image / headline / description pairs. */
.migration-home__content .region > .page-section:nth-child(6),
.migration-home__content .region > .page-section:nth-child(7),
.migration-home__content .region > .page-section:nth-child(8) {
  background: #eef3f6;
}
.migration-home__content .region > .page-section:nth-child(6) .fluid-engine,
.migration-home__content .region > .page-section:nth-child(7) .fluid-engine,
.migration-home__content .region > .page-section:nth-child(8) .fluid-engine {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: auto auto auto;
  column-gap: 56px;
  row-gap: 18px;
  padding: 96px 0 112px;
}
.migration-home__content .region > .page-section:nth-child(6) .fe-block:nth-child(2),
.migration-home__content .region > .page-section:nth-child(6) .fe-block:nth-child(5),
.migration-home__content .region > .page-section:nth-child(7) .fe-block:nth-child(2),
.migration-home__content .region > .page-section:nth-child(7) .fe-block:nth-child(6),
.migration-home__content .region > .page-section:nth-child(8) .fe-block:nth-child(2),
.migration-home__content .region > .page-section:nth-child(8) .fe-block:nth-child(5) { display: none; }
.migration-home__content .region > .page-section:nth-child(6) .fe-block:nth-child(1),
.migration-home__content .region > .page-section:nth-child(7) .fe-block:nth-child(1),
.migration-home__content .region > .page-section:nth-child(8) .fe-block:nth-child(1) { grid-column: 1; grid-row: 1; }
.migration-home__content .region > .page-section:nth-child(6) .fe-block:nth-child(3),
.migration-home__content .region > .page-section:nth-child(7) .fe-block:nth-child(3),
.migration-home__content .region > .page-section:nth-child(8) .fe-block:nth-child(3) { grid-column: 1; grid-row: 2; }
.migration-home__content .region > .page-section:nth-child(6) .fe-block:nth-child(4),
.migration-home__content .region > .page-section:nth-child(7) .fe-block:nth-child(4),
.migration-home__content .region > .page-section:nth-child(8) .fe-block:nth-child(4) { grid-column: 1; grid-row: 3; }
.migration-home__content .region > .page-section:nth-child(6) .fe-block:nth-child(6),
.migration-home__content .region > .page-section:nth-child(7) .fe-block:nth-child(5),
.migration-home__content .region > .page-section:nth-child(8) .fe-block:nth-child(6) { grid-column: 2; grid-row: 1; }
.migration-home__content .region > .page-section:nth-child(6) .fe-block:nth-child(7),
.migration-home__content .region > .page-section:nth-child(7) .fe-block:nth-child(7),
.migration-home__content .region > .page-section:nth-child(8) .fe-block:nth-child(7) { grid-column: 2; grid-row: 2; }
.migration-home__content .region > .page-section:nth-child(6) .fe-block:nth-child(8),
.migration-home__content .region > .page-section:nth-child(7) .fe-block:nth-child(8),
.migration-home__content .region > .page-section:nth-child(8) .fe-block:nth-child(8) { grid-column: 2; grid-row: 3; }
.migration-home__content .region > .page-section:nth-child(6) .sqs-block-image,
.migration-home__content .region > .page-section:nth-child(7) .sqs-block-image,
.migration-home__content .region > .page-section:nth-child(8) .sqs-block-image,
.migration-home__content .region > .page-section:nth-child(6) .sqs-block-image img,
.migration-home__content .region > .page-section:nth-child(7) .sqs-block-image img,
.migration-home__content .region > .page-section:nth-child(8) .sqs-block-image img {
  width: 100%;
  height: 330px;
  object-fit: cover;
}
.migration-home__content .region > .page-section:nth-child(6) h4,
.migration-home__content .region > .page-section:nth-child(7) h4,
.migration-home__content .region > .page-section:nth-child(8) h4 {
  color: #111;
  font-size: 1.5rem;
}

/* Company logo strip and case lanes. */
.migration-home__content .region > .page-section:nth-child(9) .fluid-engine {
  padding: 72px 0 32px;
}
.migration-home__content .region > .page-section:nth-child(9) h3 { color: #111; font-size: 2rem; }
.migration-home__content .region > .gallery-section {
  min-height: 675px;
  background: #fff;
}
.migration-home__content .region > .page-section:nth-child(10),
.migration-home__content .region > .page-section:nth-child(11) {
  background: #eef3f6;
}
.migration-home__content .region > .page-section:nth-child(10) .fluid-engine,
.migration-home__content .region > .page-section:nth-child(11) .fluid-engine {
  padding: 96px 0 112px;
}
.migration-home__content .region > .page-section:nth-child(10) h3,
.migration-home__content .region > .page-section:nth-child(11) h3 { color: #111; font-size: 2rem; }
.migration-home__content .region > .page-section:nth-child(10) .summary-block-wrapper,
.migration-home__content .region > .page-section:nth-child(11) .summary-block-wrapper {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.migration-home__content .region > .page-section:nth-child(10) .summary-item,
.migration-home__content .region > .page-section:nth-child(11) .summary-item {
  min-width: 0;
  background: #fff;
  border: 1px solid #d7e1e7;
}

/* Interview lane. */
.migration-home__content .region > .page-section:nth-child(13) {
  background: #fff;
}
.migration-home__content .region > .page-section:nth-child(13) .fluid-engine {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: auto auto auto;
  gap: 20px 28px;
  padding: 112px 0;
}
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(1),
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(2) { grid-column: 1 / -1; }
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(3),
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(4) { grid-column: 1; }
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(5),
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(6) { grid-column: 2; }
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(7),
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(8) { grid-column: 3; }
.migration-home__content .region > .page-section:nth-child(13) .sqs-block-image,
.migration-home__content .region > .page-section:nth-child(13) .sqs-block-image img {
  width: 100%;
  height: 300px;
  object-fit: cover;
}

@media (max-width: 900px) {
  .site-nav ul { gap: 12px; }
  .site-nav a { font-size: .76rem; }
  .header-contact { padding-inline: 20px; }
  .migration-home__content .region > .page-section:first-child,
  .migration-home__content .region > .page-section:first-child .content-wrapper,
  .migration-home__content .region > .page-section:first-child .content,
  .migration-home__content .region > .page-section:first-child .fluid-engine {
    height: 700px;
    min-height: 700px;
  }
  .migration-home__content .region > .page-section:first-child .fe-block:nth-child(1) {
    left: 47%;
    width: 53%;
    height: 560px;
  }
  .migration-home__content .region > .page-section:first-child .fe-block:nth-child(2),
  .migration-home__content .region > .page-section:first-child .fe-block:nth-child(3),
  .migration-home__content .region > .page-section:first-child .fe-block:nth-child(4),
  .migration-home__content .region > .page-section:first-child .fe-block:nth-child(5),
  .migration-home__content .region > .page-section:first-child .fe-block:nth-child(6) { left: 8%; }
  .migration-home__content .region > .page-section:first-child .fe-block:nth-child(3) { top: 160px; }
  .migration-home__content .region > .page-section:first-child .fe-block:nth-child(4) { top: 370px; }
  .migration-home__content .region > .page-section:first-child .fe-block:nth-child(5) { top: 478px; }
  .migration-home__content .region > .page-section:first-child .fe-block:nth-child(6) { top: 548px; }
}

@media (max-width: 680px) {
  .header-utility { display: none; }
  .site-header { min-height: 76px; }
  .header-inner { min-height: 76px; }
  .brand img { width: 140px; }
  .header-contact { display: none; }
  .migration-home__content .region > .page-section:first-child,
  .migration-home__content .region > .page-section:first-child .content-wrapper,
  .migration-home__content .region > .page-section:first-child .content,
  .migration-home__content .region > .page-section:first-child .fluid-engine {
    height: auto;
    min-height: 0;
  }
  .migration-home__content .region > .page-section:first-child .fluid-engine {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 42px 16px 72px;
  }
  .migration-home__content .region > .page-section:first-child .fe-block {
    position: static;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    height: auto !important;
  }
  .migration-home__content .region > .page-section:first-child .fe-block:nth-child(1) {
    order: 6;
    height: 280px !important;
    margin-top: 42px;
  }
  .migration-home__content .region > .page-section:first-child .fe-block:nth-child(1) .fluid-image-container { height: 280px; }
  .migration-home__content .region > .page-section:first-child .fe-block:nth-child(2) { order: 1; }
  .migration-home__content .region > .page-section:first-child .fe-block:nth-child(3) { order: 2; margin-top: 24px; }
  .migration-home__content .region > .page-section:first-child .fe-block:nth-child(4) { order: 3; margin-top: 28px; }
  .migration-home__content .region > .page-section:first-child .fe-block:nth-child(5) { order: 4; margin-top: 28px; }
  .migration-home__content .region > .page-section:first-child .fe-block:nth-child(6) { order: 5; margin-top: 16px; }
  .migration-home__content .region > .page-section:first-child h3 { font-size: 1.45rem; }
  .migration-home__content .region > .page-section:first-child h2 { font-size: 2.3rem; }
  .migration-home__content .region > .page-section:nth-child(2) .fluid-engine,
  .migration-home__content .region > .page-section:nth-child(3) .fluid-engine,
  .migration-home__content .region > .page-section:nth-child(4) .fluid-engine,
  .migration-home__content .region > .page-section:nth-child(5) .fluid-engine,
  .migration-home__content .region > .page-section:nth-child(6) .fluid-engine,
  .migration-home__content .region > .page-section:nth-child(7) .fluid-engine,
  .migration-home__content .region > .page-section:nth-child(8) .fluid-engine,
  .migration-home__content .region > .page-section:nth-child(10) .fluid-engine,
  .migration-home__content .region > .page-section:nth-child(11) .fluid-engine,
  .migration-home__content .region > .page-section:nth-child(13) .fluid-engine {
    display: block;
    padding: 64px 16px 76px;
  }
  .migration-home__content .region > .page-section:nth-child(3) .fe-block,
  .migration-home__content .region > .page-section:nth-child(5) .fe-block,
  .migration-home__content .region > .page-section:nth-child(6) .fe-block,
  .migration-home__content .region > .page-section:nth-child(7) .fe-block,
  .migration-home__content .region > .page-section:nth-child(8) .fe-block,
  .migration-home__content .region > .page-section:nth-child(10) .fe-block,
  .migration-home__content .region > .page-section:nth-child(11) .fe-block,
  .migration-home__content .region > .page-section:nth-child(13) .fe-block { margin-bottom: 22px; }
  .migration-home__content .region > .page-section:nth-child(3) .fe-block:nth-child(2) .fluid-image-container,
  .migration-home__content .region > .page-section:nth-child(3) .fe-block:nth-child(2) img,
  .migration-home__content .region > .page-section:nth-child(6) .sqs-block-image img,
  .migration-home__content .region > .page-section:nth-child(7) .sqs-block-image img,
  .migration-home__content .region > .page-section:nth-child(8) .sqs-block-image img,
  .migration-home__content .region > .page-section:nth-child(13) .sqs-block-image img { height: auto; min-height: 220px; }
  .migration-home__content .region > .page-section:nth-child(10) .summary-block-wrapper,
  .migration-home__content .region > .page-section:nth-child(11) .summary-block-wrapper { grid-template-columns: 1fr; }
  .migration-home__content .migration-summary-list li { display: grid; gap: 4px; }
}

/* Final homepage overrides: the migrated Squarespace rules above include
 * section-specific defaults, so keep these declarations last and explicit. */
.migration-home__content .region > .page-section:nth-child(11) .summary-block-wrapper,
.migration-home__content .region > .page-section:nth-child(12) .summary-block-wrapper {
  display: block !important;
}
.migration-home__content .region > .page-section:nth-child(11) .summary-item-list,
.migration-home__content .region > .page-section:nth-child(12) .summary-item-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
}
.migration-home__content .region > .page-section:nth-child(11) .summary-item,
.migration-home__content .region > .page-section:nth-child(12) .summary-item {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.migration-home__content .region > .page-section:nth-child(11) .summary-thumbnail-outer-container,
.migration-home__content .region > .page-section:nth-child(12) .summary-thumbnail-outer-container,
.migration-home__content .region > .page-section:nth-child(11) .summary-thumbnail-container,
.migration-home__content .region > .page-section:nth-child(12) .summary-thumbnail-container,
.migration-home__content .region > .page-section:nth-child(11) .summary-thumbnail,
.migration-home__content .region > .page-section:nth-child(12) .summary-thumbnail {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
}
.migration-home__content .region > .page-section:nth-child(11) .summary-thumbnail-image,
.migration-home__content .region > .page-section:nth-child(12) .summary-thumbnail-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.migration-home__content .region > .page-section:nth-child(11) .summary-item-list > p,
.migration-home__content .region > .page-section:nth-child(12) .summary-item-list > p {
  display: none !important;
}
.migration-home__content .region > .page-section:nth-child(13) .fluid-engine {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: auto auto auto auto !important;
}
.migration-home__content .region > .page-section:nth-child(13) .fe-block {
  position: static !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
}
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(1),
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(2) {
  grid-column: 1 / -1 !important;
}
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(3),
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(5),
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(7) {
  grid-row: 3 !important;
}
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(4),
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(6),
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(8) {
  grid-row: 4 !important;
  align-self: stretch;
}
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(3),
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(4) { grid-column: 1 !important; }
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(5),
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(6) { grid-column: 2 !important; }
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(7),
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(8) { grid-column: 3 !important; }
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(3) .fluid-image-container,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(5) .fluid-image-container,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(7) .fluid-image-container {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden;
}
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(3) .js-content-mode-element-wrapper,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(5) .js-content-mode-element-wrapper,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(7) .js-content-mode-element-wrapper,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(3) .sqs-block-image-link,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(5) .sqs-block-image-link,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(7) .sqs-block-image-link {
  display: block;
  width: 100%;
  height: 100%;
}
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(3) img,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(5) img,
.migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(7) img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
}

@media (max-width: 680px) {
  .migration-home__content .region > .page-section:nth-child(11) .summary-item-list,
  .migration-home__content .region > .page-section:nth-child(12) .summary-item-list {
    grid-template-columns: 1fr !important;
  }
  .migration-home__content .region > .page-section:nth-child(13) .fluid-engine {
    display: block !important;
  }
  .migration-home__content .region > .page-section:nth-child(13) .fe-block,
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(n) {
    display: block !important;
    width: 100% !important;
    margin: 0 0 16px !important;
  }
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(4),
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(6),
  .migration-home__content .region > .page-section:nth-child(13) .fe-block:nth-child(8) {
    margin-bottom: 28px !important;
  }
}

/* Homepage news lane. Keep the migrated summary links readable while
 * reducing the long text-only stack to compact article cards. */
.migration-home__content .region > .page-section:nth-child(4) {
  background: #eef4f7;
}
.migration-home__content .region > .page-section:nth-child(4) .content-wrapper,
.migration-home__content .region > .page-section:nth-child(4) .content {
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
}
.migration-home__content .region > .page-section:nth-child(4) .fluid-engine {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto auto !important;
  gap: 0 !important;
  max-width: 1000px !important;
  padding: 88px 0 104px !important;
}
.migration-home__content .region > .page-section:nth-child(4) .fe-block {
  position: static !important;
  inset: auto !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
}
.migration-home__content .region > .page-section:nth-child(4) .fe-block:nth-child(1),
.migration-home__content .region > .page-section:nth-child(4) .fe-block:nth-child(2),
.migration-home__content .region > .page-section:nth-child(4) .fe-block:nth-child(3),
.migration-home__content .region > .page-section:nth-child(4) .fe-block:nth-child(4) {
  grid-column: 1 !important;
}
.migration-home__content .region > .page-section:nth-child(4) .fe-block:nth-child(1) {
  padding-bottom: 12px;
}
.migration-home__content .region > .page-section:nth-child(4) .fe-block:nth-child(2) {
  padding-bottom: 28px;
}
.migration-home__content .region > .page-section:nth-child(4) h3,
.migration-home__content .region > .page-section:nth-child(4) p {
  margin: 0;
}
.migration-home__content .region > .page-section:nth-child(4) h3 {
  color: var(--kobuy-ink);
  font-size: 2rem;
}
.migration-home__content .region > .page-section:nth-child(4) .fe-block:nth-child(2) p {
  color: var(--kobuy-muted);
  line-height: 1.8;
}
.migration-home__content .region > .page-section:nth-child(4) .summary-block-wrapper {
  display: block !important;
}
.migration-home__content .region > .page-section:nth-child(4) .summary-item-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}
.migration-home__content .region > .page-section:nth-child(4) .summary-item-list > p {
  display: none !important;
}
.migration-home__content .region > .page-section:nth-child(4) .summary-item {
  position: static !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  background: #fff;
  border: 1px solid var(--kobuy-line);
  border-radius: 10px;
  box-shadow: 0 6px 18px rgba(14, 46, 69, .05);
}
.migration-home__content .region > .page-section:nth-child(4) .summary-content {
  padding: 18px 20px 16px;
}
.migration-home__content .region > .page-section:nth-child(4) .summary-title {
  min-height: 3.2em;
}
.migration-home__content .region > .page-section:nth-child(4) .summary-title-link {
  color: var(--kobuy-ink);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.65;
  text-decoration: none;
}
.migration-home__content .region > .page-section:nth-child(4) .summary-title-link:hover {
  color: var(--kobuy-blue);
}
.migration-home__content .region > .page-section:nth-child(4) .summary-read-more-link {
  display: inline-flex;
  margin-top: 12px;
  color: var(--kobuy-blue-dark);
  font-size: .82rem;
  font-weight: 700;
  text-decoration: none;
}
.migration-home__content .region > .page-section:nth-child(4) .summary-read-more-link:hover {
  text-decoration: underline;
}
.migration-home__content .region > .page-section:nth-child(4) .fe-block:nth-child(4) {
  padding-top: 32px;
  text-align: center;
}
.migration-home__content .region > .page-section:nth-child(4) .sqs-block-button-element {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 11px 22px;
  border-radius: 999px;
}

@media (max-width: 680px) {
  .migration-home__content .region > .page-section:nth-child(4) .fluid-engine {
    display: block !important;
    padding: 64px 16px 76px !important;
  }
  .migration-home__content .region > .page-section:nth-child(4) .fe-block,
  .migration-home__content .region > .page-section:nth-child(4) .fe-block:nth-child(n) {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
  }
  .migration-home__content .region > .page-section:nth-child(4) .fe-block:nth-child(2) {
    padding-bottom: 24px;
  }
  .migration-home__content .region > .page-section:nth-child(4) .summary-block-wrapper,
  .migration-home__content .region > .page-section:nth-child(4) .summary-item-list {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .migration-home__content .region > .page-section:nth-child(4) .summary-content {
    padding: 16px 18px 14px;
  }
  .migration-home__content .region > .page-section:nth-child(4) .summary-title {
    min-height: 0;
  }
  .migration-home__content .region > .page-section:nth-child(4) .fe-block:nth-child(4) {
    padding-top: 28px;
  }
}
