
    :root {
      --bg: #FCFCFA;
      --white: #FFFFFF;
      --ink: #1A1A1A;
      --ink2: #2A2A2A;
      --ink3: #444444;
      --ink4: #666666;
      --ink5: #888888;
      --rule: #D5D0C3;
      --rule2: #E6E2D9;
      --navy: #0D1F3C;
      --red: #8B0000;
      --red2: #C0272D;
      --serif-en: 'Palatino Linotype', 'Book Antiqua', Palatino, Georgia, serif;
      /* EN text uses system Palatino/Georgia for readability; Cormorant is retained only for the seal-style logo. */
      --serif-jp: 'Noto Serif JP', Georgia, serif;
      --serif-jp-classic: 'Shippori Mincho B1', 'Noto Serif JP', Georgia, serif;
      --mono: 'IBM Plex Mono', monospace;
    }

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

    /* ══ ACCESSIBILITY ══ */
    :focus-visible {
      outline: 2px solid var(--red2);
      outline-offset: 3px;
    }

    @media (prefers-reduced-motion: reduce) {

      *,
      *::before,
      *::after {
        animation-duration: 0.01ms !important;
        animation-delay: 0ms !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
      }
    }

    /* One document scroll: only the navigation stays at the top. */
    html {
      min-height: 100%;
      scroll-padding-top: 80px;
    }

    body {
      min-height: 100vh;
      min-height: 100dvh;
    }

    body {
      font-family: var(--mono);
      background: var(--bg);
      color: var(--ink);
      display: flex;
      flex-direction: column;
    }

    /* ══ TOP NAV ══ */
    .topnav {
      background: var(--bg);
      border-bottom: 1px solid var(--rule);
      padding: 0 32px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: 64px;
      flex-shrink: 0;
      position: sticky;
      top: 0;
      z-index: 100;
    }

    /* ── Hamburger Button ── */
    .hamburger {
      display: none;
      background: none;
      border: none;
      cursor: pointer;
      padding: 8px;
      z-index: 110;
    }

    .hamburger-line {
      display: block;
      width: 22px;
      height: 2px;
      background: var(--ink);
      margin: 5px 0;
      transition: transform 0.25s ease, opacity 0.2s ease;
    }

    .hamburger.open .hamburger-line:nth-child(1) {
      transform: translateY(7px) rotate(45deg);
    }

    .hamburger.open .hamburger-line:nth-child(2) {
      opacity: 0;
    }

    .hamburger.open .hamburger-line:nth-child(3) {
      transform: translateY(-7px) rotate(-45deg);
    }

    .topnav-logo {
      display: flex;
      align-items: center;
      cursor: pointer;
      flex-shrink: 0;
    }

    .topnav-right {
      display: flex;
      align-items: center;
    }

    .topnav-menu {
      display: flex;
      align-items: center;
    }

    .topnav-item {
      font-family: Georgia, serif;
      font-size: 11px;
      color: var(--ink4);
      letter-spacing: 2.5px;
      text-transform: uppercase;
      padding: 22px 18px;
      cursor: pointer;
      border-bottom: 2px solid transparent;
      transition: color 0.12s, border-color 0.12s;
      text-decoration: none;
      display: block;
    }

    .topnav-item:hover {
      color: var(--ink2);
    }

    .topnav-item.active {
      color: var(--ink);
      border-bottom-color: var(--ink);
    }


    .topnav-item.nav-acceleration {
      padding-left: 12px;
      padding-right: 12px;
      letter-spacing: 1.4px;
      color: var(--red2);
    }

    .topnav-item.nav-acceleration:hover,
    .topnav-item.nav-acceleration.active {
      color: var(--red);
      border-bottom-color: var(--red);
    }

    /* ── Contact CTA ── */
    .topnav-item.nav-contact {
      border: 1px solid var(--ink);
      padding: 9px 20px;
      margin-left: 14px;
      color: var(--ink);
      transition: background 0.15s, color 0.15s;
    }

    .topnav-item.nav-contact:hover,
    .topnav-item.nav-contact.active {
      background: var(--ink);
      color: var(--bg);
      border-bottom-color: var(--ink);
    }

    @media (max-width: 900px) {
      .topnav-item.nav-contact {
        margin: 14px 24px 4px;
        border: 1px solid var(--ink);
        text-align: center;
        padding: 13px 24px;
      }

      .topnav-item.nav-contact.active {
        background: var(--ink);
        color: var(--bg);
        border-left-color: var(--ink);
      }
    }

    /* ── Language Toggle ── */
    .lang-toggle {
      display: flex;
      align-items: center;
      margin-left: 20px;
      padding-left: 20px;
      border-left: 1px solid var(--rule);
    }

    .lang-btn {
      font-family: var(--mono);
      font-size: 10px;
      letter-spacing: 1px;
      color: var(--ink5);
      padding: 6px 10px;
      cursor: pointer;
      border: none;
      background: none;
      transition: color 0.12s;
    }

    .lang-btn:hover {
      color: var(--ink3);
    }

    .lang-btn.active {
      color: var(--ink);
      font-weight: 600;
    }

    .lang-sep {
      color: var(--rule);
      font-size: 11px;
    }

    /* ══ MAIN CONTENT ══ */
    .main {
      flex: 1;
      display: flex;
      flex-direction: column;
      min-width: 0;
      background: var(--bg);
    }

    .page {
      display: none;
      flex: 1;
      min-width: 0;
    }

    .page.active {
      display: flex;
    }

    /* ══ PAGE: MAIN ══ */
    .p-main {
      position: relative;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 48px;
    }

    .p-main-copy {
      font-family: var(--serif-jp);
      font-size: clamp(24px, 3vw, 38px);
      font-weight: 700;
      color: var(--ink);
      line-height: 1.6;
      letter-spacing: 0.04em;
      margin-bottom: 44px;
    }

    html[lang="en"] .p-main-copy {
      font-family: var(--serif-en);
      font-size: clamp(26px, 3.2vw, 40px);
      letter-spacing: 0.01em;
    }

    .p-main-rule {
      width: 48px;
      height: 1px;
      background: var(--rule);
      margin: 0 auto 40px;
    }

    .p-main-sub {
      font-family: var(--serif-jp);
      font-size: 14px;
      color: var(--ink4);
      margin-top: -20px;
      margin-bottom: 40px;
      letter-spacing: 0.08em;
      max-width: 720px;
    }

    .p-main-statement {
      font-family: var(--serif-jp);
      font-size: 17px;
      font-weight: 400;
      color: var(--ink3);
      line-height: 2.2;
      max-width: 540px;
    }

    html[lang="en"] .p-main-statement {
      font-family: var(--serif-en);
      font-size: 20px;
      font-weight: 500;
      line-height: 1.9;
    }

    .p-main-cta {
      margin-top: 36px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      flex-wrap: wrap;
    }

    .p-main-cta a {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: var(--ink);
      text-decoration: none;
      border: 1px solid var(--ink);
      padding: 14px 36px;
      transition: background 0.2s, color 0.2s;
      cursor: pointer;
    }

    .p-main-cta a:hover {
      background: var(--ink);
      color: var(--bg);
    }

    .p-main-cta a.p-main-record-link {
      border-color: var(--rule);
      color: var(--ink4);
    }

    .p-main-cta a.p-main-record-link:hover {
      border-color: var(--ink);
      color: var(--bg);
    }

    .p-main-quick {
      position: absolute;
      right: 48px;
      top: 56%;
      transform: translateY(-50%);
      width: min(360px, 34vw);
      padding: 20px 22px 18px;
      background: linear-gradient(135deg, #FFF6E8 0%, #FFFFFF 58%, #F7FAFF 100%);
      border: 1px solid #D9B05F;
      border-radius: 24px;
      box-shadow: 0 16px 34px rgba(139, 0, 0, 0.10), 0 2px 0 rgba(255, 255, 255, 0.70) inset;
      text-align: left;
      z-index: 2;
    }

    .p-main-quick::after {
      content: '';
      position: absolute;
      left: -10px;
      top: 50%;
      width: 18px;
      height: 18px;
      background: #FFF6E8;
      border-left: 1px solid #D9B05F;
      border-bottom: 1px solid #D9B05F;
      border-bottom-left-radius: 4px;
      transform: translateY(-50%) rotate(45deg);
    }

    /* 中間幅（タブレット〜小型ノート）ではヒーローコピーと重なるため通常フローへ */
    @media (max-width: 1300px) {
      .p-main-quick {
        position: static;
        transform: none;
        width: 100%;
        max-width: 380px;
        margin-top: 18px;
      }

      .p-main-quick::after {
        display: none;
      }
    }

    .p-main-quick-eyebrow {
      font-family: var(--mono);
      font-size: 10px;
      color: #9A5C00;
      letter-spacing: 1.6px;
      text-transform: uppercase;
      margin-bottom: 10px;
    }

    .p-main-quick-link {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 8px;
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: 1px;
      color: var(--ink4);
      text-decoration: none;
      transition: transform 0.15s, color 0.15s;
      cursor: pointer;
    }

    .p-main-quick-link:hover {
      color: var(--red);
      transform: translateY(-1px);
    }

    .p-main-quick-name {
      color: var(--ink);
      font-weight: 700;
      font-size: 15px;
      letter-spacing: 1.2px;
      text-transform: uppercase;
    }

    .p-main-quick-price {
      display: inline-block;
      color: #7A3E00;
      background: rgba(255, 255, 255, 0.72);
      border: 1px solid rgba(217, 176, 95, 0.72);
      border-radius: 999px;
      padding: 5px 12px;
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.6px;
      line-height: 1.5;
      text-transform: none;
    }

    .p-main-tag {
      margin-top: 56px;
      font-family: var(--mono);
      font-size: 10px;
      color: var(--ink5);
      letter-spacing: 2.5px;
      text-transform: uppercase;
    }

    .p-main-spacer {
      height: 32px;
    }

    /* 1280 × 720-class notebooks: keep the in-flow quick consultation above the footer. */
    @media (min-width: 901px) and (max-width: 1300px) and (max-height: 780px) {
      .p-main {
        padding: 22px 36px 18px;
      }

      .p-main-tag {
        margin-top: 0;
      }

      .p-main-spacer {
        height: 14px;
      }

      .p-main-copy,
      html[lang="en"] .p-main-copy {
        font-size: clamp(26px, 2.45vw, 32px);
        line-height: 1.4;
        margin-bottom: 26px;
      }

      .p-main-sub {
        margin-top: -12px;
        margin-bottom: 18px;
      }

      .p-main-rule {
        margin-bottom: 20px;
      }

      .p-main-statement,
      html[lang="en"] .p-main-statement {
        font-size: 17px;
        line-height: 1.6;
      }

      .p-main-cta {
        margin-top: 18px;
      }

      .p-main-cta a {
        padding: 11px 28px;
      }

      .p-main-quick {
        max-width: 460px;
        margin-top: 14px;
        padding: 12px 16px;
      }

      .p-main-quick-eyebrow {
        margin-bottom: 6px;
      }

      .p-main-quick-link {
        flex-direction: row;
        align-items: center;
        justify-content: center;
      }
    }

    /* ══ PAGE HEADER (shared) ══ */
    .page-header {
      padding: 28px 48px 20px;
      border-bottom: 1px solid var(--rule);
      flex-shrink: 0;
    }

    .page-header-label {
      font-family: var(--mono);
      font-size: 10px;
      color: var(--ink5);
      letter-spacing: 2.5px;
      text-transform: uppercase;
      margin-bottom: 8px;
    }

    .page-header-title {
      font-family: var(--serif-en);
      font-size: 26px;
      font-weight: 700;
      color: var(--ink);
      letter-spacing: 0.5px;
    }

    .page-header-sub {
      font-family: var(--mono);
      font-size: 12px;
      color: var(--ink4);
      margin-top: 6px;
    }

    /* ══ PAGE: ARCHIVE ══ */
    .p-archive {
      flex-direction: column;
      padding: 0;
    }

    .archive-list {
      flex: 1;
    }

    .archive-item {
      display: grid;
      grid-template-columns: 120px 1fr 200px;
      border-bottom: 1px solid var(--rule2);
      transition: background 0.1s;
      text-decoration: none;
      color: inherit;
    }

    .archive-item:hover {
      background: var(--white);
    }

    .ai-date {
      padding: 24px;
      border-right: 1px solid var(--rule2);
      font-family: var(--mono);
      font-size: 12px;
      color: var(--ink4);
    }

    .ai-date-sub {
      display: inline-block;
      margin-top: 6px;
      font-size: 9px;
      font-weight: 600;
      color: var(--red);
      letter-spacing: 1.2px;
      text-transform: uppercase;
    }

    .ai-body {
      padding: 24px 28px;
    }

    .ai-title {
      font-family: var(--serif-jp);
      font-size: 17px;
      font-weight: 700;
      color: var(--ink);
      margin-bottom: 6px;
      line-height: 1.5;
    }

    html[lang="en"] .ai-title {
      font-family: var(--serif-en);
      font-size: 18px;
    }

    .ai-desc {
      font-family: var(--mono);
      font-size: 12px;
      color: var(--ink4);
      line-height: 1.8;
    }

    .ai-status {
      padding: 24px;
      border-left: 1px solid var(--rule2);
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: flex-end;
      gap: 10px;
      flex-wrap: wrap;
    }

    .ai-badge {
      font-family: var(--mono);
      font-size: 9px;
      font-weight: 600;
      color: var(--red);
      border: 1px solid var(--red);
      padding: 4px 10px;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      margin-bottom: 8px;
    }

    .ai-link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 124px;
      padding: 7px 12px;
      font-family: var(--mono);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 1px;
      color: var(--ink4);
      text-decoration: none;
      border: 1px solid var(--rule);
      border-radius: 999px;
      transition: color 0.12s, border-color 0.12s, background 0.12s;
      white-space: nowrap;
    }

    .ai-link:hover {
      color: var(--ink);
      border-color: var(--ink);
      background: var(--white);
    }



    /* ── Archive: Track Record ── */
    .track-record-section {
      padding: 0;
      border-top: 1px solid var(--ink);
      background: #FAF8F3;
      font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif !important;
    }

    .track-record-section * {
      font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif !important;
    }

    .track-record-head {
      display: block;
      padding: 28px 48px 20px;
      border-bottom: 1px solid var(--rule);
      margin-bottom: 0;
      background: var(--bg);
    }

    .track-record-label {
      font-size: 10px;
      font-weight: 500;
      color: var(--ink5);
      letter-spacing: 2.5px;
      text-transform: uppercase;
      margin-bottom: 8px;
      white-space: nowrap;
    }

    .track-record-title {
      font-size: 28px;
      font-weight: 700;
      color: var(--ink);
      letter-spacing: 0.5px;
      line-height: 1.25;
    }

    .track-record-grid {
      display: block;
      border-bottom: 1px solid var(--rule);
      background: rgba(255, 255, 255, 0.34);
    }

    .track-record-card {
      min-height: 0;
      display: grid;
      grid-template-columns: 185px 290px minmax(0, 1fr);
      column-gap: 20px;
      align-items: baseline;
      padding: 10px 48px;
      border-bottom: 1px solid var(--rule2);
    }

    .track-record-card:nth-child(2n) {
      background: rgba(255, 255, 255, 0.28);
    }

    .track-record-card:last-child {
      border-bottom: none;
    }

    .track-record-org {
      font-size: 13px;
      font-weight: 700;
      color: var(--red2);
      letter-spacing: 0.05em;
      text-transform: none;
      margin-bottom: 0;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      line-height: 1.6;
    }

    .track-record-name {
      font-size: 14px;
      font-weight: 700;
      color: var(--ink);
      line-height: 1.65;
      margin-bottom: 0;
    }

    html[lang="en"] .track-record-name {
      font-size: 14.5px;
    }

    .track-record-desc {
      font-size: 13.5px;
      color: var(--ink2);
      font-weight: 400;
      line-height: 1.8;
    }

    html[lang="en"] .track-record-desc {
      font-size: 14px;
      font-weight: 400;
      line-height: 1.7;
    }

    /* ── Track Record hub: one editorial bridge to the full timeline ── */
    .record-feature {
      display: grid;
      grid-template-columns: minmax(270px, .8fr) minmax(0, 1.5fr) auto;
      align-items: center;
      gap: 32px;
      padding: 28px 32px 28px 28px;
      border-left: 4px solid var(--red);
      border-bottom: 1px solid var(--ink);
      background: var(--white);
      color: inherit;
      text-decoration: none;
      transition: background 0.15s;
    }

    .record-feature:hover {
      background: var(--bg);
    }

    .record-feature-heading {
      display: flex;
      align-items: baseline;
      gap: 14px;
      min-width: 0;
    }

    .record-feature-day {
      flex-shrink: 0;
      font-family: var(--serif-en);
      font-size: 30px;
      font-weight: 700;
      line-height: 1;
      color: var(--red);
    }

    .record-feature-title {
      font-family: var(--serif-en);
      font-size: 20px;
      font-weight: 700;
      line-height: 1.15;
      color: var(--ink);
    }

    .record-feature-copy {
      margin: 0;
      font-family: var(--serif-jp);
      font-size: 14px;
      line-height: 1.85;
      color: var(--ink3);
    }

    html[lang="en"] .record-feature-copy {
      font-family: var(--serif-en);
      font-size: 15px;
      line-height: 1.65;
    }

    .record-feature-link {
      font-family: var(--mono);
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 1.2px;
      text-transform: uppercase;
      white-space: nowrap;
      color: var(--red2);
      border-bottom: 1px solid var(--red2);
      padding-bottom: 3px;
    }

    .orbit-proof.record-proof-link {
      display: block;
      color: inherit;
      text-decoration: none;
      transition: border-color 0.12s, background 0.12s;
    }

    .orbit-proof.record-proof-link:hover {
      border-color: var(--ink);
      background: var(--bg);
    }

    @media (max-width: 900px) {
      .record-feature {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 16px 24px;
        padding: 24px 22px 24px 18px;
      }

      .record-feature-copy {
        grid-column: 1 / -1;
        grid-row: 2;
      }
    }

    @media (max-width: 520px) {
      .record-feature {
        display: block;
      }

      .record-feature-heading {
        display: block;
      }

      .record-feature-title {
        display: block;
        margin-top: 5px;
      }

      .record-feature-copy {
        margin-top: 14px;
      }

      .record-feature-link {
        display: inline-block;
        margin-top: 16px;
      }
    }

    /* ══ PAGE: INSTITUTE (Ombra Lunga) ══ */
    .p-institute {
      flex-direction: column;
      padding: 0;
      background: #FAF8F3;
    }

    .p-institute .page-header {
      background: #FAF8F3;
      position: relative;
      z-index: 3;
    }

    /* ── 広場（語の遊び場） ── */
    .inst-field {
      flex: 1;
      min-height: clamp(440px, 55vh, 620px);
      position: relative;
    }

    .inst-horizon {
      position: absolute;
      left: 0;
      right: 0;
      top: 44%;
      height: 1px;
      background: var(--rule);
    }

    .inst-sig {
      position: absolute;
      right: 52px;
      top: 26px;
      font-family: 'Cormorant Garamond', var(--serif-en);
      font-size: 21px;
      font-weight: 500;
      color: #8a8477;
      display: flex;
      flex-direction: column;
      align-items: center;
      line-height: .95;
      z-index: 2;
    }

    .inst-sig i {
      font-style: normal;
      font-size: 14px;
      border-top: 1px solid var(--rule);
      padding-top: 2px;
      margin-top: 1px;
    }

    /* ── 広場に立つ語 ── */
    .inst-ob {
      position: absolute;
      display: inline-block;
      line-height: 1;
      white-space: nowrap;
      cursor: default;
      user-select: none;
      -webkit-user-select: none;
    }

    .inst-ob::after {
      content: "";
      position: absolute;
      top: 100%;
      left: 3%;
      width: 94%;
      height: var(--obsh, 14px);
      background: rgba(26, 26, 26, var(--obso, .12));
      transform: skewX(-58deg);
      transform-origin: 0 0;
      pointer-events: none;
    }

    .inst-obw {
      font-family: var(--serif-jp-classic);
      font-weight: 600;
      letter-spacing: .1em;
    }

    .inst-obw.lat {
      font-family: 'Cormorant Garamond', var(--serif-en);
      letter-spacing: .05em;
    }

    .inst-obc {
      display: block;
      font-family: var(--mono);
      font-weight: 400;
      letter-spacing: .24em;
      font-size: 7.5px;
      margin-top: 6px;
      color: #8a8477;
    }

    /* 遠景（思弁）ほど淡く、近景（実務）ほど濃く */
    .inst-d0 { --obsh: 6px; --obso: .06; }
    .inst-d0 .inst-obw { font-size: 10px; color: #aaa499; }
    .inst-d0 .inst-obc { font-size: 5.8px; margin-top: 3px; color: #c0baaf; }

    .inst-d1 { --obsh: 8px; --obso: .08; }
    .inst-d1 .inst-obw { font-size: 13px; color: #9b958a; }
    .inst-d1 .inst-obc { font-size: 6.5px; margin-top: 4px; color: #b3ada1; }

    .inst-d2 { --obsh: 11px; --obso: .1; }
    .inst-d2 .inst-obw { font-size: 16px; color: #7d776b; }
    .inst-d2 .inst-obc { font-size: 7px; margin-top: 5px; color: #a29c90; }

    .inst-d3 { --obsh: 15px; --obso: .12; }
    .inst-d3 .inst-obw { font-size: 21px; color: #4f4a40; }

    .inst-d4 { --obsh: 20px; --obso: .14; }
    .inst-d4 .inst-obw { font-size: 27px; color: #26231e; }

    .inst-d5 { --obsh: 26px; --obso: .15; }
    .inst-d5 .inst-obw { font-size: 33px; color: var(--ink); }

    html[lang="en"] .inst-obw { letter-spacing: .03em; }
    html[lang="en"] .inst-d4 .inst-obw { font-size: 24px; }
    html[lang="en"] .inst-d5 .inst-obw { font-size: 28px; }

    /* 配置 */
    .inst-p1 { left: 24%; top: 26%; }
    .inst-p2 { left: 46%; top: 22%; }
    .inst-p3 { left: 10%; top: 42%; }
    .inst-p4 { left: 56%; top: 42%; }
    .inst-p5 { left: 44%; top: 60%; }
    .inst-p6 { left: 7%; top: 64%; }
    .inst-p7 { left: 57%; top: 78%; }

    /* ── 扉（唯一のリンク） ── */
    .inst-door {
      position: absolute;
      right: 84px;
      bottom: 26%;
      width: 112px;
      height: 188px;
      z-index: 2;
      border: 1.5px solid var(--ink);
      background: #FAF8F3;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-end;
      padding-bottom: 17px;
      text-decoration: none;
      color: inherit;
      transition: background .18s;
    }

    .inst-door::before {
      content: "";
      position: absolute;
      top: 6px;
      bottom: 6px;
      right: 6px;
      width: 3px;
      background: var(--red2, #B22222);
    }

    .inst-door::after {
      content: "";
      position: absolute;
      top: 100%;
      left: -2px;
      width: calc(100% + 4px);
      height: 118px;
      background: rgba(26, 26, 26, .13);
      transform: skewX(-58deg);
      transform-origin: 0 0;
      pointer-events: none;
    }

    .inst-door small {
      font-family: var(--mono);
      font-size: 8px;
      letter-spacing: .3em;
      color: #8a8477;
      margin-bottom: 8px;
    }

    .inst-door b {
      font-family: 'Cormorant Garamond', var(--serif-en);
      font-size: 19px;
      font-weight: 600;
      letter-spacing: .06em;
    }

    .inst-door:hover {
      background: #F3EFE5;
    }

    .inst-door:focus-visible {
      outline: 2px solid var(--red2, #B22222);
      outline-offset: 3px;
    }

    /* ── 床の銘（通常フロー。語とかぶらない） ── */
    .inst-foot {
      flex-shrink: 0;
      position: relative;
      z-index: 3;
      padding: 6px 48px 22px;
    }

    .inst-q {
      font-family: var(--serif-jp-classic);
      font-size: 12.5px;
      letter-spacing: .22em;
      color: #6a6357;
      margin-bottom: 10px;
    }

    html[lang="en"] .inst-q {
      letter-spacing: .06em;
    }

    .inst-note {
      font-family: var(--mono);
      font-size: 9px;
      letter-spacing: .1em;
      line-height: 1.8;
      color: #8a8477;
    }

    @media (max-width: 900px) {
      .inst-foot {
        padding: 6px 22px 18px;
      }

      .inst-q {
        letter-spacing: .12em;
      }

      .inst-door {
        right: 26px;
        width: 96px;
        height: 158px;
        bottom: 24%;
      }

      .inst-p4 { left: 52%; }
      .inst-p7 { left: 50%; }
    }

    @media (max-width: 620px) {
      .inst-sig { display: none; }
      .inst-horizon { top: 40%; }
      .inst-d1 .inst-obw { font-size: 11px; }
      .inst-d2 .inst-obw { font-size: 13px; }
      .inst-d3 .inst-obw { font-size: 17px; }
      .inst-d4 .inst-obw { font-size: 20px; }
      .inst-d5 .inst-obw { font-size: 24px; }
      html[lang="en"] .inst-d4 .inst-obw { font-size: 18px; }
      html[lang="en"] .inst-d5 .inst-obw { font-size: 21px; }
      .inst-p1 { left: 10%; top: 24%; }
      .inst-p2 { left: 48%; top: 20%; }
      .inst-p3 { left: 58%; top: 38%; }
      .inst-p4 { left: 6%; top: 38%; }
      .inst-p5 { left: 42%; top: 54%; }
      .inst-p6 { left: 4%; top: 62%; }
      .inst-p7 { left: 44%; top: 78%; }
      .inst-door { width: 78px; height: 128px; bottom: 22%; }
      .inst-q { font-size: 11px; }
    }

    @media (max-width: 380px) {
      html[lang="en"] .inst-p7 { left: auto; right: 20px; }
    }

    /* ── News accent ── */
    .topnav-item.accent {
      color: var(--red2);
    }

    .topnav-item.accent:hover {
      color: var(--red);
    }

    .topnav-item.accent.active {
      color: var(--red);
      border-bottom-color: var(--red);
    }

    /* ── News page ── */
    .p-news {
      flex-direction: column;
      padding: 0;
    }

    .news-list {
      flex: 1;
    }

    .news-item {
      padding: 36px 48px;
      border-bottom: 1px solid var(--rule);
    }

    .news-date {
      font-family: var(--mono);
      font-size: 10px;
      color: var(--ink5);
      letter-spacing: 1.5px;
      text-transform: uppercase;
      margin-bottom: 10px;
    }

    .news-title {
      font-family: var(--serif-jp);
      font-size: 20px;
      font-weight: 700;
      color: var(--ink);
      line-height: 1.55;
      margin-bottom: 10px;
    }

    html[lang="en"] .news-title {
      font-family: var(--serif-en);
      font-size: 22px;
    }

    .news-lead {
      font-family: var(--serif-jp);
      font-size: 14px;
      color: var(--ink3);
      line-height: 2.0;
      max-width: 720px;
    }

    html[lang="en"] .news-lead {
      font-family: var(--serif-en);
      font-size: 16px;
      font-weight: 500;
      line-height: 1.8;
    }

    .news-link {
      display: inline-block;
      margin-top: 14px;
      font-family: var(--mono);
      font-size: 11px;
      color: var(--red2);
      text-decoration: none;
      border-bottom: 1px solid var(--red2);
      transition: color 0.12s;
    }

    .news-link:hover {
      color: var(--red);
      border-color: var(--red);
    }

    .news-actions {
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: 10px;
      margin-top: 16px;
      flex-wrap: wrap;
    }

    .news-case-link,
    .news-doc-link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 150px;
      margin-top: 0;
      padding: 8px 14px;
      color: var(--ink3);
      background: transparent;
      border: 1px solid var(--rule);
      border-radius: 999px;
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 1px;
      text-transform: uppercase;
      opacity: 1;
    }

    .news-case-link:hover,
    .news-doc-link:hover {
      color: var(--ink);
      background: var(--white);
      border-color: var(--ink);
    }

    /* ── News Read More ── */
    .news-lead {
      position: relative;
      overflow: hidden;
      transition: max-height 0.35s ease;
    }

    .news-lead.collapsed {
      max-height: 4.0em;
    }

    .news-lead.collapsed::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 2em;
      background: linear-gradient(transparent, var(--bg));
      pointer-events: none;
    }

    .news-toggle {
      display: inline-block;
      margin-top: 8px;
      font-family: var(--mono);
      font-size: 10px;
      color: var(--ink5);
      cursor: pointer;
      letter-spacing: 1px;
      border: none;
      background: none;
      padding: 4px 0;
      transition: color 0.12s;
    }

    .news-toggle:hover {
      color: var(--ink3);
    }

    /* ── Capability grid (Services) ── */
    .cap-section {
      padding: 16px 48px;
      border-bottom: 1px solid var(--rule);
    }

    .cap-header {
      font-family: var(--mono);
      font-size: 10px;
      color: var(--ink5);
      letter-spacing: 2.5px;
      text-transform: uppercase;
      margin-bottom: 10px;
    }

    .cap-grid {
      display: grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      gap: 0;
    }

    .cap-card {
      padding: 12px 12px;
      border-right: 1px solid var(--rule2);
      transition: background 0.15s;
    }

    .cap-card:hover {
      background: var(--white);
    }

    .cap-card:last-child {
      border-right: none;
    }

    .cap-num {
      font-family: var(--serif-en);
      font-size: 24px;
      font-weight: 700;
      color: var(--red2);
      margin-bottom: 3px;
      line-height: 1;
    }

    .cap-name {
      font-family: var(--serif-jp);
      font-size: 15px;
      font-weight: 700;
      color: var(--ink);
      line-height: 1.5;
      margin-bottom: 4px;
    }

    html[lang="en"] .cap-name {
      font-family: var(--serif-en);
      font-size: 16px;
      font-weight: 600;
    }

    .cap-body {
      font-family: var(--serif-jp);
      font-size: 12.5px;
      color: var(--ink4);
      line-height: 1.75;
    }

    html[lang="en"] .cap-body {
      font-family: var(--serif-en);
      font-size: 13px;
      font-weight: 500;
    }

    .cap-highlight {
      margin-top: 14px;
      padding: 10px 16px;
      border: 1px solid var(--rule);
      display: flex;
      align-items: baseline;
      gap: 12px;
    }

    .cap-highlight-num {
      font-family: var(--serif-en);
      font-size: 32px;
      font-weight: 700;
      color: var(--red2);
      line-height: 1;
    }

    .cap-highlight-text {
      font-family: var(--serif-jp);
      font-size: 12px;
      color: var(--ink3);
      line-height: 1.7;
    }

    html[lang="en"] .cap-highlight-text {
      font-family: var(--serif-en);
      font-size: 13px;
      font-weight: 500;
    }

    /* ══ PAGE: SERVICES ══ */
    .p-services {
      flex-direction: column;
      padding: 0;
    }

    .service-list {
      flex: 1;
    }

    .service-item {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      border-bottom: 1px solid var(--rule);
    }

    .service-card {
      padding: 20px 24px;
      border-right: 1px solid var(--rule2);
      transition: background 0.15s;
    }

    .service-card:hover {
      background: var(--white);
    }

    .service-card:last-child {
      border-right: none;
    }

    .sc-phase {
      font-family: var(--mono);
      font-size: 10px;
      color: var(--red2);
      letter-spacing: 1.5px;
      text-transform: uppercase;
      margin-bottom: 10px;
      padding-bottom: 8px;
      border-bottom: 1px solid var(--rule2);
    }

    .sc-name {
      font-family: var(--serif-jp);
      font-size: 17px;
      font-weight: 700;
      color: var(--ink);
      line-height: 1.4;
      margin-bottom: 10px;
    }

    html[lang="en"] .sc-name {
      font-family: var(--serif-en);
      font-size: 20px;
      font-weight: 600;
    }

    .sc-body {
      font-family: var(--serif-jp);
      font-size: 14px;
      color: var(--ink3);
      line-height: 1.8;
    }

    html[lang="en"] .sc-body {
      font-family: var(--serif-en);
      font-size: 15px;
      font-weight: 500;
      line-height: 1.7;
    }

    .sc-price {
      margin-top: 14px;
      padding-top: 12px;
      border-top: 1px solid var(--rule2);
      font-family: var(--mono);
      font-size: 12px;
      color: var(--ink5);
    }

    .sc-price strong {
      color: var(--ink);
      font-size: 16px;
    }

    .quick-consult-strip {
      margin: 12px 48px 12px;
      border: 1px solid var(--rule);
      background: rgba(255, 255, 255, 0.36);
      display: grid;
      grid-template-columns: 1.1fr 1.8fr auto;
      align-items: center;
      gap: 0;
    }

    .quick-consult-head {
      padding: 14px 18px;
      border-right: 1px solid var(--rule2);
    }

    .quick-consult-kicker {
      font-family: var(--serif-en);
      font-size: 14px;
      font-style: normal;
      color: var(--ink4);
      letter-spacing: 0.04em;
      margin-bottom: 4px;
    }

    .quick-consult-title {
      font-family: var(--serif-jp);
      font-size: 16px;
      font-weight: 700;
      color: var(--ink);
      line-height: 1.35;
    }

    html[lang="en"] .quick-consult-title {
      font-family: var(--serif-en);
      font-size: 17px;
      font-weight: 600;
    }

    .quick-consult-body {
      padding: 14px 18px;
      font-family: var(--serif-jp);
      font-size: 12.5px;
      color: var(--ink3);
      line-height: 1.8;
      border-right: 1px solid var(--rule2);
    }

    html[lang="en"] .quick-consult-body {
      font-family: var(--serif-en);
      font-size: 14px;
      font-weight: 400;
      line-height: 1.65;
    }

    .quick-consult-side {
      padding: 14px 18px;
      min-width: 210px;
      text-align: right;
    }

    .quick-consult-price {
      font-family: var(--mono);
      font-size: 11px;
      color: var(--ink);
      line-height: 1.9;
      margin-bottom: 6px;
    }

    .quick-consult-link {
      font-family: var(--mono);
      font-size: 10px;
      color: var(--red2);
      letter-spacing: 1.2px;
      text-transform: uppercase;
      text-decoration: none;
      border-bottom: 1px solid var(--red2);
      cursor: pointer;
      transition: color 0.15s, border-color 0.15s;
    }

    .quick-consult-link:hover {
      color: var(--red);
      border-color: var(--red);
    }

    .victim-hero {
      margin: 16px 48px 0;
      border: 1px solid var(--ink);
      background: var(--white);
      display: grid;
      grid-template-columns: 0.95fr 1.25fr;
      box-shadow: 0 12px 28px rgba(26, 26, 26, 0.04);
    }

    .victim-hero-left {
      padding: 22px 24px;
      border-right: 1px solid var(--rule);
    }

    .victim-hero-kicker {
      font-family: var(--mono);
      font-size: 10px;
      color: var(--red2);
      letter-spacing: 1.8px;
      text-transform: uppercase;
      margin-bottom: 10px;
    }

    .victim-hero-title {
      font-family: var(--serif-jp);
      font-size: 22px;
      font-weight: 700;
      color: var(--ink);
      line-height: 1.55;
      letter-spacing: 0.03em;
    }

    html[lang="en"] .victim-hero-title {
      font-family: var(--serif-en);
      font-size: 24px;
      letter-spacing: 0.01em;
    }

    .victim-hero-body {
      padding: 22px 24px;
      font-family: var(--serif-jp);
      font-size: 14px;
      color: var(--ink3);
      line-height: 2.0;
    }

    html[lang="en"] .victim-hero-body {
      font-family: var(--serif-en);
      font-size: 15px;
      font-weight: 500;
      line-height: 1.8;
    }

    .usecase-section {
      margin: 0 48px 12px;
      border-left: 1px solid var(--rule);
      border-right: 1px solid var(--rule);
      border-bottom: 1px solid var(--rule);
      background: rgba(255, 255, 255, 0.30);
    }

    .usecase-label {
      padding: 12px 18px 8px;
      font-family: var(--mono);
      font-size: 10px;
      color: var(--ink5);
      letter-spacing: 2px;
      text-transform: uppercase;
      border-bottom: 1px solid var(--rule2);
    }

    .usecase-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .usecase-card {
      padding: 14px 16px;
      border-right: 1px solid var(--rule2);
    }

    .usecase-card:last-child {
      border-right: none;
    }

    .usecase-name {
      font-family: var(--serif-jp);
      font-size: 14px;
      font-weight: 700;
      color: var(--ink);
      line-height: 1.55;
      margin-bottom: 6px;
    }

    html[lang="en"] .usecase-name {
      font-family: var(--serif-en);
      font-size: 15px;
      font-weight: 600;
    }

    .usecase-body {
      font-family: var(--serif-jp);
      font-size: 12px;
      color: var(--ink4);
      line-height: 1.8;
    }

    html[lang="en"] .usecase-body {
      font-family: var(--serif-en);
      font-size: 13px;
      font-weight: 500;
      line-height: 1.65;
    }

    .service-card.featured {
      background: var(--white);
      box-shadow: inset 3px 0 0 var(--red2);
    }

    .sc-note {
      margin-top: 12px;
      padding: 10px 12px;
      border: 1px solid var(--rule2);
      background: rgba(252, 252, 250, 0.72);
      font-family: var(--serif-jp);
      font-size: 12.5px;
      color: var(--ink4);
      line-height: 1.75;
    }

    html[lang="en"] .sc-note {
      font-family: var(--serif-en);
      font-size: 13px;
      font-weight: 500;
      line-height: 1.65;
    }

    .legal-strip {
      margin: 0 48px 18px;
      border: 1px solid var(--rule);
      background: var(--white);
      display: grid;
      grid-template-columns: 0.9fr 1.7fr auto;
      align-items: center;
    }

    .legal-strip-head {
      padding: 16px 18px;
      border-right: 1px solid var(--rule2);
    }

    .legal-strip-kicker {
      font-family: var(--mono);
      font-size: 9px;
      color: var(--red2);
      letter-spacing: 1.5px;
      text-transform: uppercase;
      margin-bottom: 6px;
    }

    .legal-strip-title {
      font-family: var(--serif-jp);
      font-size: 16px;
      font-weight: 700;
      color: var(--ink);
      line-height: 1.45;
    }

    html[lang="en"] .legal-strip-title {
      font-family: var(--serif-en);
      font-size: 17px;
      font-weight: 600;
    }

    .legal-strip-body {
      padding: 16px 18px;
      font-family: var(--serif-jp);
      font-size: 12.5px;
      color: var(--ink3);
      line-height: 1.85;
      border-right: 1px solid var(--rule2);
    }

    html[lang="en"] .legal-strip-body {
      font-family: var(--serif-en);
      font-size: 14px;
      font-weight: 500;
      line-height: 1.7;
    }

    .legal-strip-side {
      padding: 16px 18px;
      min-width: 160px;
      font-family: var(--mono);
      font-size: 10px;
      color: var(--ink5);
      letter-spacing: 1px;
      text-transform: uppercase;
      text-align: right;
    }



    /* ── Services: compact orbit layout ── */
    .compact-services {
      padding: 0 0 24px;
    }

    .service-minimal-lead {
      margin: 16px 48px 10px;
      padding: 18px 22px;
      border: 1px solid var(--rule);
      background: rgba(255,255,255,0.42);
      display: grid;
      grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
      align-items: center;
      gap: 18px 28px;
    }

    .service-minimal-kicker {
      grid-column: 1 / -1;
      font-family: var(--mono);
      font-size: 9px;
      color: var(--red2);
      letter-spacing: 2px;
      text-transform: uppercase;
    }

    .service-minimal-title {
      font-family: var(--serif-jp);
      font-size: 21px;
      font-weight: 700;
      color: var(--ink);
      letter-spacing: 0.03em;
      line-height: 1.45;
    }

    html[lang="en"] .service-minimal-title {
      font-family: var(--serif-en);
      font-size: 23px;
    }

    .service-minimal-quick {
      justify-self: center;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 8px;
      min-width: 320px;
      padding: 16px 24px 15px;
      border: 1px solid var(--ink);
      background: var(--white);
      color: var(--ink);
      text-decoration: none;
      text-align: center;
      box-shadow: 0 12px 26px rgba(26,26,26,0.05);
      transition: background .15s, color .15s, transform .15s, box-shadow .15s;
    }

    .service-minimal-quick .quick-name {
      font-family: var(--serif-jp);
      font-size: 22px;
      font-weight: 700;
      color: inherit;
      letter-spacing: 0.08em;
      line-height: 1.2;
    }

    html[lang="en"] .service-minimal-quick .quick-name {
      font-family: var(--serif-en);
      font-size: 23px;
      letter-spacing: 0.02em;
    }

    .service-minimal-quick .quick-price {
      font-family: var(--mono);
      font-size: 13px;
      font-weight: 600;
      color: var(--red2);
      letter-spacing: .8px;
      line-height: 1.4;
    }

    .service-minimal-quick:hover {
      background: var(--ink);
      color: var(--bg);
      transform: translateY(-2px);
      box-shadow: 0 16px 30px rgba(26,26,26,0.09);
    }

    .service-minimal-quick:hover .quick-price {
      color: var(--bg);
    }

    .service-orbit {
      position: relative;
      height: 430px;
      margin: 10px 48px 16px;
      border: 1px solid var(--rule);
      background:
        radial-gradient(circle at center, rgba(192,39,45,0.05) 0, rgba(192,39,45,0.05) 120px, transparent 121px),
        radial-gradient(circle at center, transparent 0, transparent 206px, rgba(213,208,195,0.35) 207px, transparent 209px);
      overflow: visible;
    }

    .orbit-core {
      position: absolute;
      left: 50%;
      top: 50%;
      width: 190px;
      height: 190px;
      transform: translate(-50%, -50%);
      border: 1px solid var(--ink);
      border-radius: 50%;
      background: var(--bg);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 20px;
      z-index: 1;
    }

    .orbit-core-kicker {
      font-family: var(--mono);
      font-size: 9px;
      color: var(--red2);
      letter-spacing: 1.8px;
      text-transform: uppercase;
      margin-bottom: 8px;
    }

    .orbit-core-title {
      font-family: var(--serif-jp);
      font-size: 22px;
      font-weight: 700;
      color: var(--ink);
      line-height: 1.4;
    }

    .orbit-core-note {
      margin-top: 8px;
      font-family: var(--mono);
      font-size: 9px;
      color: var(--ink5);
      letter-spacing: .8px;
    }

    .orbit-proof {
      position: absolute;
      right: 26px;
      top: 28px;
      width: 268px;
      padding: 14px 16px;
      border: 1px solid var(--rule);
      background: rgba(255,255,255,0.78);
      box-shadow: 0 12px 26px rgba(26,26,26,0.05);
      z-index: 3;
    }

    .orbit-proof-num {
      font-family: var(--serif-en);
      font-size: 34px;
      font-weight: 700;
      color: var(--red2);
      line-height: 1;
      margin-bottom: 8px;
    }

    .orbit-proof-body {
      font-family: var(--serif-jp);
      font-size: 12px;
      color: var(--ink3);
      line-height: 1.75;
    }

    html[lang="en"] .orbit-proof-body {
      font-family: var(--serif-en);
      font-size: 13px;
      font-weight: 500;
      line-height: 1.65;
    }

    .orbit-detail {
      position: absolute;
      width: 126px;
      height: 126px;
      z-index: 2;
    }

    .orbit-detail[open] {
      z-index: 50;
    }

    .orbit-detail summary {
      list-style: none;
    }

    .orbit-detail summary::-webkit-details-marker,
    .flow-node summary::-webkit-details-marker {
      display: none;
    }

    .orbit-detail summary {
      width: 126px;
      height: 126px;
      border: 1px solid var(--circle-border, var(--rule));
      border-radius: 50%;
      background: var(--circle-bg, var(--white));
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      cursor: pointer;
      padding: 16px;
      box-shadow: 0 10px 24px rgba(26,26,26,0.04);
      transition: transform .16s, border-color .16s, box-shadow .16s, background .16s;
    }

    .orbit-detail summary:hover {
      transform: translateY(-3px);
      border-color: var(--circle-accent, var(--ink));
      box-shadow: 0 14px 28px rgba(26,26,26,0.07);
    }

    .orbit-detail[open] summary {
      background: var(--circle-accent, var(--ink));
      color: #fff;
      border-color: var(--circle-accent, var(--ink));
    }

    .orbit-detail summary span {
      font-family: var(--serif-en);
      font-size: 22px;
      font-weight: 700;
      color: var(--circle-accent, var(--red2));
      line-height: 1;
      margin-bottom: 8px;
    }

    .orbit-detail[open] summary span {
      color: var(--bg);
    }

    .orbit-detail summary strong {
      font-family: var(--serif-jp);
      font-size: 13px;
      font-weight: 700;
      line-height: 1.45;
      color: inherit;
    }

    html[lang="en"] .orbit-detail summary strong {
      font-family: var(--serif-en);
      font-size: 13px;
    }

    .orbit-panel {
      position: absolute;
      left: 50%;
      top: 134px;
      transform: translateX(-50%);
      width: 260px;
      padding: 12px 14px;
      border: 1px solid var(--circle-accent, var(--ink));
      border-top: 3px solid var(--circle-accent, var(--ink));
      background: var(--white);
      font-family: var(--serif-jp);
      font-size: 12.5px;
      color: var(--ink3);
      line-height: 1.8;
      text-align: left;
      box-shadow: 0 14px 28px rgba(26,26,26,0.10);
      z-index: 20;
    }

    html[lang="en"] .orbit-panel {
      font-family: var(--serif-en);
      font-size: 13px;
      font-weight: 500;
    }

    .od-1 { left: calc(50% - 63px); top: 18px; }
    .od-2 { right: calc(50% - 255px); top: 88px; }
    .od-3 { right: calc(50% - 255px); bottom: 88px; }
    .od-4 { left: calc(50% - 63px); bottom: 18px; }
    .od-5 { left: calc(50% - 255px); bottom: 88px; }
    .od-6 { left: calc(50% - 255px); top: 88px; }

    .od-1 { --circle-bg:#FFF5F2; --circle-border:#E4BBB5; --circle-accent:#9B2F2F; }
    .od-2 { --circle-bg:#F3F7FC; --circle-border:#B9C8D8; --circle-accent:#24476B; }
    .od-3 { --circle-bg:#F6FAF1; --circle-border:#C7D5AE; --circle-accent:#4E6338; }
    .od-4 { --circle-bg:#FFF8E8; --circle-border:#E3C88D; --circle-accent:#8A5A16; }
    .od-5 { --circle-bg:#FBF3FA; --circle-border:#D8B8D4; --circle-accent:#6B3F62; }
    .od-6 { --circle-bg:#F0FAF8; --circle-border:#AFCFCC; --circle-accent:#2F5F5C; }

    .od-1 .orbit-panel,
    .od-2 .orbit-panel,
    .od-6 .orbit-panel { top: 134px; }

    .od-3 .orbit-panel,
    .od-4 .orbit-panel,
    .od-5 .orbit-panel {
      top: auto;
      bottom: 134px;
    }

    .od-2 .orbit-panel,
    .od-3 .orbit-panel {
      left: auto;
      right: 0;
      transform: none;
    }

    .od-5 .orbit-panel,
    .od-6 .orbit-panel {
      left: 0;
      transform: none;
    }

    .service-flow-section {
      margin: 0 48px 16px;
      padding: 16px 18px 18px;
      border: 1px solid var(--rule);
      background: rgba(255,255,255,0.30);
    }

    .flow-label {
      font-family: var(--mono);
      font-size: 10px;
      color: var(--ink5);
      letter-spacing: 2px;
      text-transform: uppercase;
      margin-bottom: 16px;
    }

    .service-flow {
      position: relative;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
    }

    .service-flow::before {
      content: '';
      position: absolute;
      left: 9%;
      right: 9%;
      top: 57px;
      height: 1px;
      background: var(--rule);
      z-index: 0;
    }

    .flow-node {
      position: relative;
      z-index: 1;
    }

    .flow-node summary {
      list-style: none;
      min-height: 116px;
      border: 1px solid var(--rule);
      background: var(--bg);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 6px;
      text-align: center;
      cursor: pointer;
      padding: 16px 14px;
      transition: background .15s, border-color .15s, transform .15s;
    }

    .flow-node summary:hover {
      background: var(--white);
      border-color: var(--ink);
      transform: translateY(-2px);
    }

    .flow-node.featured summary {
      border-color: var(--ink);
      box-shadow: inset 0 3px 0 var(--red2);
    }

    .flow-node[open] summary {
      background: var(--white);
    }

    .flow-phase {
      font-family: var(--mono);
      font-size: 10px;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: var(--red2);
    }

    .flow-node summary strong {
      font-family: var(--serif-jp);
      font-size: 16px;
      font-weight: 700;
      color: var(--ink);
      line-height: 1.45;
    }

    html[lang="en"] .flow-node summary strong {
      font-family: var(--serif-en);
      font-size: 17px;
    }

    .flow-node summary em {
      font-family: var(--mono);
      font-size: 10px;
      color: var(--ink5);
      font-style: normal;
      letter-spacing: .6px;
    }

    .flow-panel {
      margin-top: 10px;
      border: 1px solid var(--rule2);
      background: var(--white);
      padding: 12px 14px;
      font-family: var(--serif-jp);
      font-size: 13px;
      color: var(--ink3);
      line-height: 1.85;
    }

    html[lang="en"] .flow-panel {
      font-family: var(--serif-en);
      font-size: 14px;
      font-weight: 500;
      line-height: 1.7;
    }

    .flow-link {
      display: inline-block;
      margin-top: 8px;
      font-family: var(--mono);
      font-size: 10px;
      color: var(--red2);
      text-decoration: none;
      border-bottom: 1px solid var(--red2);
      letter-spacing: 1px;
      text-transform: uppercase;
    }

    .service-round-notes {
      margin: 0 48px 28px;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      border-top: 1px solid var(--rule);
    }

    .round-note {
      padding: 20px 24px 22px 0;
      border-right: 1px solid var(--rule2);
    }

    .round-note + .round-note {
      padding-left: 24px;
    }

    .round-note:last-child {
      border-right: none;
      padding-right: 0;
    }

    .rn-kicker {
      font-family: var(--mono);
      font-size: 9px;
      color: var(--red2);
      letter-spacing: 1.8px;
      text-transform: uppercase;
      margin-bottom: 9px;
    }

    .rn-title {
      font-family: var(--serif-jp);
      font-size: 15px;
      font-weight: 700;
      color: var(--ink);
      letter-spacing: 0.03em;
      margin-bottom: 9px;
    }

    html[lang="en"] .rn-title {
      font-family: var(--serif-en);
      font-size: 16px;
    }

    .rn-body {
      font-family: var(--serif-jp);
      font-size: 12.5px;
      color: var(--ink3);
      line-height: 1.85;
    }

    html[lang="en"] .rn-body {
      font-family: var(--serif-en);
      font-size: 13px;
      font-weight: 500;
    }


    /* ══ PAGE: AI ACCELERATION ══ */
    .p-acceleration {
      flex-direction: column;
      padding: 0;
      background: linear-gradient(180deg, #FCFCFA 0%, #FAF8F3 100%);
    }

    .acc-content {
      flex: 1;
      padding: 22px 48px 34px;
    }

    .acc-hero {
      border: 1px solid var(--ink);
      background: var(--white);
      display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
      box-shadow: 0 16px 34px rgba(26, 26, 26, 0.05);
      margin-bottom: 18px;
    }

    .acc-hero-left {
      padding: 30px 32px;
      border-right: 1px solid var(--rule);
    }

    .acc-kicker {
      font-family: var(--mono);
      font-size: 10px;
      color: var(--red2);
      letter-spacing: 2.2px;
      text-transform: uppercase;
      margin-bottom: 12px;
    }

    .acc-title {
      font-family: var(--serif-jp);
      font-size: clamp(24px, 3vw, 38px);
      font-weight: 700;
      color: var(--ink);
      line-height: 1.55;
      letter-spacing: 0.03em;
      margin-bottom: 14px;
    }

    html[lang="en"] .acc-title {
      font-family: var(--serif-en);
      letter-spacing: 0.01em;
    }

    .acc-lead {
      font-family: var(--serif-jp);
      font-size: 14px;
      color: var(--ink3);
      line-height: 2.0;
    }

    html[lang="en"] .acc-lead {
      font-family: var(--serif-en);
      font-size: 16px;
      font-weight: 500;
      line-height: 1.8;
    }

    .acc-definition {
      padding: 30px 32px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      background: linear-gradient(135deg, #FFF7EA 0%, #FFFFFF 55%, #F4F8FC 100%);
    }

    .acc-definition-label {
      font-family: var(--mono);
      font-size: 10px;
      color: #8A5A16;
      letter-spacing: 1.8px;
      text-transform: uppercase;
      margin-bottom: 10px;
    }

    .acc-definition-main {
      font-family: var(--serif-jp);
      font-size: 19px;
      font-weight: 700;
      color: var(--ink);
      line-height: 1.85;
    }

    html[lang="en"] .acc-definition-main {
      font-family: var(--serif-en);
      font-size: 20px;
      line-height: 1.7;
    }

    .acc-definition-note {
      margin-top: 14px;
      padding-top: 14px;
      border-top: 1px solid rgba(138, 90, 22, 0.22);
      font-family: var(--serif-jp);
      font-size: 13px;
      color: var(--ink4);
      line-height: 1.8;
    }

    html[lang="en"] .acc-definition-note {
      font-family: var(--serif-en);
      font-size: 14px;
      font-weight: 500;
    }

    .acc-strip {
      border: 1px solid var(--rule);
      background: rgba(255,255,255,0.62);
      padding: 16px 18px;
      margin-bottom: 18px;
      display: grid;
      grid-template-columns: 0.9fr 1.5fr;
      gap: 18px;
      align-items: center;
    }

    .acc-strip-head {
      font-family: var(--mono);
      font-size: 11px;
      color: var(--red2);
      letter-spacing: 1.8px;
      text-transform: uppercase;
    }

    .acc-strip-body {
      font-family: var(--serif-jp);
      font-size: 13.5px;
      color: var(--ink3);
      line-height: 1.9;
    }

    html[lang="en"] .acc-strip-body {
      font-family: var(--serif-en);
      font-size: 15px;
      font-weight: 500;
      line-height: 1.75;
    }

    .acc-section-label {
      font-family: var(--mono);
      font-size: 10px;
      color: var(--ink5);
      letter-spacing: 2.4px;
      text-transform: uppercase;
      margin: 24px 0 10px;
    }

    .acc-benefit-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      border: 1px solid var(--rule);
      background: var(--white);
      margin-bottom: 18px;
    }

    .acc-benefit-card {
      padding: 18px 18px 16px;
      border-right: 1px solid var(--rule2);
      min-height: 188px;
    }

    .acc-benefit-card:last-child {
      border-right: none;
    }

    .acc-benefit-num {
      font-family: var(--serif-en);
      font-size: 25px;
      font-weight: 700;
      color: var(--red2);
      line-height: 1;
      margin-bottom: 8px;
    }

    .acc-benefit-name {
      font-family: var(--serif-jp);
      font-size: 15px;
      font-weight: 700;
      color: var(--ink);
      line-height: 1.55;
      margin-bottom: 8px;
    }

    html[lang="en"] .acc-benefit-name {
      font-family: var(--serif-en);
      font-size: 16px;
    }

    .acc-benefit-body {
      font-family: var(--serif-jp);
      font-size: 12.5px;
      color: var(--ink4);
      line-height: 1.8;
    }

    html[lang="en"] .acc-benefit-body {
      font-family: var(--serif-en);
      font-size: 13.5px;
      font-weight: 500;
      line-height: 1.65;
    }

    .acc-case-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
      margin-bottom: 18px;
    }

    .acc-case {
      border: 1px solid var(--rule);
      background: var(--white);
      display: grid;
      grid-template-rows: auto auto 1fr;
      box-shadow: 0 10px 24px rgba(26, 26, 26, 0.04);
    }

    .acc-case-head {
      padding: 15px 18px;
      border-bottom: 1px solid var(--rule2);
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 12px;
    }

    .acc-case-title {
      font-family: var(--serif-jp);
      font-size: 16px;
      font-weight: 700;
      color: var(--ink);
      line-height: 1.5;
    }

    html[lang="en"] .acc-case-title {
      font-family: var(--serif-en);
      font-size: 17px;
    }

    .acc-case-tag {
      font-family: var(--mono);
      font-size: 9px;
      color: var(--red2);
      letter-spacing: 1.3px;
      text-transform: uppercase;
      white-space: nowrap;
    }

    .acc-before-after {
      display: grid;
      grid-template-columns: 1fr 1fr;
      border-bottom: 1px solid var(--rule2);
    }

    .acc-before, .acc-after {
      padding: 14px 16px;
    }

    .acc-before {
      border-right: 1px solid var(--rule2);
      background: #FBF7F4;
    }

    .acc-after {
      background: #F7FAF7;
    }

    .acc-ba-label {
      font-family: var(--mono);
      font-size: 9px;
      color: var(--ink5);
      letter-spacing: 1.4px;
      text-transform: uppercase;
      margin-bottom: 8px;
    }

    .acc-ba-body {
      font-family: var(--serif-jp);
      font-size: 12.5px;
      color: var(--ink3);
      line-height: 1.8;
    }

    html[lang="en"] .acc-ba-body {
      font-family: var(--serif-en);
      font-size: 13.5px;
      font-weight: 500;
      line-height: 1.65;
    }

    .acc-case-foot {
      padding: 14px 16px 16px;
      font-family: var(--serif-jp);
      font-size: 12.5px;
      color: var(--ink4);
      line-height: 1.85;
    }

    html[lang="en"] .acc-case-foot {
      font-family: var(--serif-en);
      font-size: 13.5px;
      font-weight: 500;
      line-height: 1.7;
    }

    .acc-service-map {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      border: 1px solid var(--rule);
      background: rgba(255,255,255,0.62);
      margin-bottom: 18px;
    }

    .acc-service {
      padding: 16px 16px;
      border-right: 1px solid var(--rule2);
    }

    .acc-service:last-child {
      border-right: none;
    }

    .acc-service-kicker {
      font-family: var(--mono);
      font-size: 9px;
      color: var(--red2);
      letter-spacing: 1.4px;
      text-transform: uppercase;
      margin-bottom: 8px;
    }

    .acc-service-title {
      font-family: var(--serif-jp);
      font-size: 15px;
      font-weight: 700;
      color: var(--ink);
      line-height: 1.55;
      margin-bottom: 8px;
    }

    html[lang="en"] .acc-service-title {
      font-family: var(--serif-en);
      font-size: 16px;
    }

    .acc-service-body {
      font-family: var(--serif-jp);
      font-size: 12.5px;
      color: var(--ink4);
      line-height: 1.8;
    }

    html[lang="en"] .acc-service-body {
      font-family: var(--serif-en);
      font-size: 13.5px;
      font-weight: 500;
      line-height: 1.65;
    }

    .acc-cta {
      border: 1px solid var(--ink);
      background: var(--ink);
      color: var(--bg);
      display: grid;
      grid-template-columns: 1.4fr auto;
      align-items: center;
      gap: 18px;
      padding: 18px 20px;
      margin-bottom: 8px;
    }

    .acc-cta-body {
      font-family: var(--serif-jp);
      font-size: 14px;
      line-height: 1.85;
      color: var(--bg);
    }

    html[lang="en"] .acc-cta-body {
      font-family: var(--serif-en);
      font-size: 15.5px;
      font-weight: 500;
      line-height: 1.7;
    }

    .acc-cta a {
      font-family: var(--mono);
      font-size: 10px;
      color: var(--bg);
      letter-spacing: 1.6px;
      text-transform: uppercase;
      text-decoration: none;
      border: 1px solid rgba(252,252,250,0.70);
      padding: 12px 18px;
      white-space: nowrap;
      transition: background .15s, color .15s;
      cursor: pointer;
    }

    .acc-cta a:hover {
      background: var(--bg);
      color: var(--ink);
    }



    .acc-metric-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 14px;
      margin-bottom: 18px;
    }

    .acc-metric {
      border: 1px solid var(--rule);
      background: var(--white);
      padding: 16px 16px 15px;
      box-shadow: 0 10px 22px rgba(26,26,26,0.035);
    }

    .acc-metric-num {
      font-family: var(--serif-en);
      font-size: 29px;
      font-weight: 700;
      color: var(--red2);
      line-height: 1;
      margin-bottom: 8px;
    }

    .acc-metric-label {
      font-family: var(--serif-jp);
      font-size: 13px;
      font-weight: 700;
      line-height: 1.55;
      color: var(--ink);
      margin-bottom: 6px;
    }

    .acc-metric-note {
      font-family: var(--serif-jp);
      font-size: 11.5px;
      line-height: 1.75;
      color: var(--ink4);
    }

    html[lang="en"] .acc-metric-label,
    html[lang="en"] .acc-metric-note {
      font-family: var(--serif-en);
      font-weight: 500;
    }

    .acc-route-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
      margin-bottom: 18px;
    }

    .acc-route {
      border: 1px solid var(--rule);
      background: var(--white);
      padding: 16px 17px;
      box-shadow: 0 10px 24px rgba(26,26,26,0.04);
    }

    .acc-route-kicker {
      font-family: var(--mono);
      font-size: 9px;
      color: var(--red2);
      letter-spacing: 1.4px;
      text-transform: uppercase;
      margin-bottom: 8px;
    }

    .acc-route-title {
      font-family: var(--serif-jp);
      font-size: 16px;
      font-weight: 700;
      line-height: 1.5;
      color: var(--ink);
      margin-bottom: 8px;
    }

    .acc-route-body {
      font-family: var(--serif-jp);
      font-size: 12.5px;
      line-height: 1.8;
      color: var(--ink3);
      margin-bottom: 10px;
    }

    .acc-route-gain {
      border-top: 1px solid var(--rule2);
      padding-top: 10px;
      font-family: var(--mono);
      font-size: 11px;
      line-height: 1.8;
      color: var(--ink);
    }

    .acc-route-gain strong {
      color: var(--red2);
      font-size: 13px;
    }

    html[lang="en"] .acc-route-title,
    html[lang="en"] .acc-route-body {
      font-family: var(--serif-en);
      font-weight: 500;
    }

    .acc-current-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
      margin-bottom: 18px;
    }

    .acc-current {
      border: 1px solid var(--rule);
      background: rgba(255,255,255,0.74);
      padding: 15px 17px;
    }

    .acc-current-title {
      font-family: var(--serif-jp);
      font-size: 15px;
      font-weight: 700;
      color: var(--ink);
      line-height: 1.5;
      margin-bottom: 8px;
    }

    .acc-current-body {
      font-family: var(--serif-jp);
      font-size: 12.5px;
      color: var(--ink3);
      line-height: 1.8;
    }

    html[lang="en"] .acc-current-title,
    html[lang="en"] .acc-current-body {
      font-family: var(--serif-en);
      font-weight: 500;
    }

    .acc-calculation {
      border: 1px solid var(--ink);
      background: linear-gradient(135deg, #FFF8EA 0%, #FFFFFF 60%, #F5FAF8 100%);
      padding: 18px 20px;
      margin-bottom: 18px;
    }

    .acc-calculation-title {
      font-family: var(--serif-jp);
      font-size: 18px;
      font-weight: 700;
      line-height: 1.5;
      color: var(--ink);
      margin-bottom: 10px;
    }

    .acc-calculation-body {
      font-family: var(--serif-jp);
      font-size: 13px;
      line-height: 1.9;
      color: var(--ink3);
    }

    .acc-calculation small {
      display: block;
      margin-top: 8px;
      font-family: var(--mono);
      font-size: 10px;
      color: var(--ink5);
      line-height: 1.7;
    }



    /* ══ PAGE: AI ACCELERATION — visual / cockpit version ══ */
    .p-acceleration {
      flex-direction: column;
      padding: 0;
      background:
        radial-gradient(circle at 18% 18%, rgba(192,39,45,0.10) 0, rgba(192,39,45,0.00) 30%),
        radial-gradient(circle at 84% 14%, rgba(36,71,107,0.14) 0, rgba(36,71,107,0.00) 34%),
        linear-gradient(180deg, #171A1F 0%, #22252B 43%, #F7F2EA 43%, #FCFCFA 100%);
    }

    .p-acceleration .page-header {
      background: rgba(252,252,250,0.95);
      border-bottom: 1px solid rgba(213,208,195,0.80);
    }

    .acc-content.acc-visual {
      flex: 1;
      padding: 22px 46px 38px;
    }

    .acc-v-hero {
      min-height: 390px;
      border: 1px solid rgba(252,252,250,0.22);
      border-radius: 30px;
      overflow: hidden;
      background:
        linear-gradient(135deg, rgba(252,252,250,0.08) 0%, rgba(252,252,250,0.015) 54%),
        #171A1F;
      color: var(--bg);
      display: grid;
      grid-template-columns: minmax(0, 1.08fr) minmax(390px, 0.92fr);
      box-shadow: 0 26px 60px rgba(0,0,0,0.24);
      position: relative;
    }

    .acc-v-hero::before {
      content: '';
      position: absolute;
      inset: 26px;
      border: 1px solid rgba(252,252,250,0.12);
      border-radius: 24px;
      pointer-events: none;
    }

    .acc-v-hero-left {
      padding: 44px 46px 40px;
      position: relative;
      z-index: 1;
    }

    .acc-v-kicker {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-family: var(--mono);
      font-size: 10px;
      color: #F0C36A;
      letter-spacing: 2px;
      text-transform: uppercase;
      margin-bottom: 18px;
      border: 1px solid rgba(240,195,106,0.36);
      border-radius: 999px;
      padding: 7px 12px;
      background: rgba(240,195,106,0.08);
    }

    .acc-v-title {
      font-family: var(--serif-jp);
      font-size: clamp(28px, 4.2vw, 56px);
      font-weight: 800;
      line-height: 1.24;
      letter-spacing: 0.04em;
      margin-bottom: 18px;
      color: #FCFCFA;
    }

    html[lang="en"] .acc-v-title {
      font-family: var(--serif-en);
      letter-spacing: 0.01em;
    }

    .acc-v-lead {
      max-width: 760px;
      font-family: var(--serif-jp);
      font-size: 15px;
      line-height: 1.95;
      color: rgba(252,252,250,0.78);
      border-left: 3px solid #F0C36A;
      padding-left: 16px;
    }

    html[lang="en"] .acc-v-lead {
      font-family: var(--serif-en);
      font-size: 16px;
      font-weight: 500;
      line-height: 1.75;
    }

    .acc-v-hero-right {
      position: relative;
      z-index: 1;
      border-left: 1px solid rgba(252,252,250,0.13);
      padding: 34px 34px 34px 30px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .acc-v-loop {
      width: 338px;
      height: 338px;
      border-radius: 50%;
      position: relative;
      background:
        radial-gradient(circle, rgba(240,195,106,0.18) 0, rgba(240,195,106,0.08) 31%, transparent 32%),
        conic-gradient(from 225deg, #C0272D, #F0C36A, #2F5F5C, #24476B, #C0272D);
      box-shadow: 0 20px 60px rgba(0,0,0,0.25);
    }

    .acc-v-loop::after {
      content: '';
      position: absolute;
      inset: 18px;
      border-radius: 50%;
      background: #171A1F;
      box-shadow: inset 0 0 0 1px rgba(252,252,250,0.16);
    }

    .acc-v-core {
      position: absolute;
      z-index: 2;
      inset: 82px;
      border-radius: 50%;
      background: #FCFCFA;
      color: #171A1F;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      box-shadow: 0 18px 40px rgba(0,0,0,0.22);
    }

    .acc-v-core b {
      font-family: var(--serif-en);
      font-size: 38px;
      line-height: 1;
      color: var(--red2);
    }

    .acc-v-core span {
      margin-top: 6px;
      font-family: var(--mono);
      font-size: 9px;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: var(--ink4);
    }

    .acc-v-node {
      position: absolute;
      z-index: 3;
      width: 118px;
      min-height: 58px;
      border: 1px solid rgba(252,252,250,0.24);
      border-radius: 18px;
      background: rgba(252,252,250,0.94);
      color: #171A1F;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 10px 12px;
      box-shadow: 0 12px 26px rgba(0,0,0,0.18);
    }

    .acc-v-node em {
      font-family: var(--mono);
      font-size: 8px;
      font-style: normal;
      color: var(--red2);
      letter-spacing: 1px;
      text-transform: uppercase;
      margin-bottom: 3px;
    }

    .acc-v-node strong {
      font-family: var(--serif-jp);
      font-size: 14px;
      line-height: 1.25;
    }

    html[lang="en"] .acc-v-node strong { font-family: var(--serif-en); }

    .acc-v-node.n1 { left: 50%; top: -10px; transform: translateX(-50%); }
    .acc-v-node.n2 { right: -18px; top: 50%; transform: translateY(-50%); }
    .acc-v-node.n3 { left: 50%; bottom: -10px; transform: translateX(-50%); }
    .acc-v-node.n4 { left: -18px; top: 50%; transform: translateY(-50%); }

    .acc-v-definition {
      margin: 18px 0 20px;
      display: grid;
      grid-template-columns: 0.95fr 1.35fr;
      gap: 18px;
      align-items: stretch;
    }

    .acc-v-defbox,
    .acc-v-taxbox {
      border-radius: 24px;
      border: 1px solid rgba(26,26,26,0.14);
      background: rgba(252,252,250,0.96);
      box-shadow: 0 18px 40px rgba(26,26,26,0.08);
      overflow: hidden;
    }

    .acc-v-defbox {
      padding: 24px 26px;
    }

    .acc-v-label {
      font-family: var(--mono);
      font-size: 10px;
      color: var(--red2);
      letter-spacing: 2px;
      text-transform: uppercase;
      margin-bottom: 12px;
    }

    .acc-v-defmain {
      font-family: var(--serif-jp);
      font-size: 21px;
      font-weight: 800;
      line-height: 1.55;
      letter-spacing: .02em;
      color: var(--ink);
    }

    html[lang="en"] .acc-v-defmain { font-family: var(--serif-en); }

    .acc-v-taxbox {
      display: grid;
      grid-template-columns: 140px 1fr 140px;
      align-items: stretch;
      background: var(--white);
    }

    .acc-v-taxnum,
    .acc-v-save {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 16px;
    }

    .acc-v-taxnum {
      background: #2A1E1E;
      color: #FCFCFA;
    }

    .acc-v-save {
      background: #F3F8F4;
      border-left: 1px solid var(--rule2);
    }

    .acc-v-taxnum b,
    .acc-v-save b {
      font-family: var(--serif-en);
      font-size: 38px;
      line-height: 1;
      color: #F0C36A;
    }

    .acc-v-save b { color: #2F5F5C; }

    .acc-v-taxnum span,
    .acc-v-save span {
      margin-top: 8px;
      font-family: var(--mono);
      font-size: 9px;
      letter-spacing: 1.2px;
      text-transform: uppercase;
      line-height: 1.45;
    }

    .acc-v-taxflow {
      padding: 18px 20px;
      display: grid;
      grid-template-columns: 1fr auto 1fr auto 1fr;
      align-items: center;
      gap: 10px;
      font-family: var(--serif-jp);
      font-size: 13px;
      color: var(--ink3);
      text-align: center;
      line-height: 1.45;
    }

    .acc-v-chip {
      border: 1px solid var(--rule2);
      border-radius: 999px;
      padding: 9px 12px;
      background: #FCFCFA;
    }

    .acc-v-arrow {
      font-family: var(--serif-en);
      color: var(--red2);
      font-size: 22px;
    }

    .acc-v-board {
      margin-bottom: 20px;
      border-radius: 30px;
      background: #FCFCFA;
      border: 1px solid rgba(26,26,26,0.12);
      box-shadow: 0 18px 42px rgba(26,26,26,0.07);
      overflow: hidden;
    }

    .acc-v-board-head {
      display: grid;
      grid-template-columns: 1fr 1fr 0.86fr;
      background: #171A1F;
      color: #FCFCFA;
      border-bottom: 1px solid rgba(252,252,250,0.12);
    }

    .acc-v-board-head div {
      padding: 13px 18px;
      font-family: var(--mono);
      font-size: 9px;
      letter-spacing: 1.9px;
      text-transform: uppercase;
      border-right: 1px solid rgba(252,252,250,0.12);
    }

    .acc-v-row {
      display: grid;
      grid-template-columns: 1fr 1fr 0.86fr;
      min-height: 134px;
      border-bottom: 1px solid var(--rule2);
    }

    .acc-v-row:last-child { border-bottom: none; }

    .acc-v-cell {
      padding: 18px 18px;
      border-right: 1px solid var(--rule2);
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 8px;
    }

    .acc-v-cell:last-child { border-right: none; }

    .acc-v-current {
      background: #FFF6F2;
      position: relative;
    }

    .acc-v-current::before,
    .acc-v-utie::before,
    .acc-v-benefit::before {
      font-family: var(--serif-en);
      font-size: 28px;
      line-height: 1;
      position: absolute;
      top: 14px;
      right: 16px;
      opacity: .18;
    }

    .acc-v-current::before { content: '×'; color: var(--red2); }
    .acc-v-utie::before { content: '→'; color: #24476B; }
    .acc-v-benefit::before { content: '¥'; color: #2F5F5C; }

    .acc-v-utie { background: #F6F9FC; position: relative; }
    .acc-v-benefit { background: #F4FAF3; position: relative; }

    .acc-v-mini {
      width: fit-content;
      border-radius: 999px;
      padding: 5px 9px;
      font-family: var(--mono);
      font-size: 8px;
      letter-spacing: 1.2px;
      text-transform: uppercase;
      color: var(--red2);
      border: 1px solid rgba(192,39,45,0.22);
      background: rgba(255,255,255,0.65);
    }

    .acc-v-line-title {
      font-family: var(--serif-jp);
      font-size: 17px;
      font-weight: 800;
      line-height: 1.42;
      color: var(--ink);
    }

    html[lang="en"] .acc-v-line-title { font-family: var(--serif-en); }

    .acc-v-line-body {
      font-family: var(--serif-jp);
      font-size: 12.5px;
      line-height: 1.68;
      color: var(--ink4);
    }

    html[lang="en"] .acc-v-line-body {
      font-family: var(--serif-en);
      font-size: 13.5px;
      font-weight: 500;
    }

    .acc-v-benefit b {
      font-family: var(--serif-en);
      font-size: 30px;
      line-height: 1;
      color: #2F5F5C;
    }

    .acc-v-benefit strong {
      color: var(--ink);
    }

    .acc-v-services {
      margin-bottom: 20px;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 18px;
    }

    .acc-v-service {
      position: relative;
      overflow: hidden;
      border-radius: 26px;
      background: var(--white);
      border: 1px solid rgba(26,26,26,0.13);
      box-shadow: 0 16px 38px rgba(26,26,26,0.08);
      min-height: 250px;
      padding: 22px 22px 20px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }

    .acc-v-service::before {
      content: '';
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      height: 8px;
      background: var(--svc-accent, var(--red2));
    }

    .acc-v-service.s1 { --svc-accent: #C0272D; }
    .acc-v-service.s2 { --svc-accent: #24476B; }
    .acc-v-service.s3 { --svc-accent: #2F5F5C; }

    .acc-v-service-kicker {
      font-family: var(--mono);
      font-size: 9px;
      color: var(--svc-accent, var(--red2));
      letter-spacing: 1.6px;
      text-transform: uppercase;
      margin-bottom: 10px;
    }

    .acc-v-service-title {
      font-family: var(--serif-jp);
      font-size: 22px;
      font-weight: 800;
      line-height: 1.36;
      color: var(--ink);
      margin-bottom: 10px;
    }

    html[lang="en"] .acc-v-service-title { font-family: var(--serif-en); }

    .acc-v-service-body {
      font-family: var(--serif-jp);
      font-size: 12.5px;
      color: var(--ink4);
      line-height: 1.75;
    }

    html[lang="en"] .acc-v-service-body { font-family: var(--serif-en); font-size: 13.5px; }

    .acc-v-price {
      margin-top: 16px;
      border-radius: 18px;
      background: #F8F5EE;
      padding: 13px 14px;
      font-family: var(--mono);
      font-size: 11px;
      color: var(--ink);
      line-height: 1.7;
    }

    .acc-v-price strong {
      color: var(--svc-accent, var(--red2));
      font-size: 14px;
    }

    .acc-v-market {
      margin-bottom: 20px;
      border-radius: 30px;
      background: #14171D;
      color: #FCFCFA;
      border: 1px solid rgba(252,252,250,0.14);
      box-shadow: 0 24px 56px rgba(0,0,0,0.22);
      overflow: hidden;
    }

    .acc-v-market-head {
      display: grid;
      grid-template-columns: 0.9fr 1.35fr;
      gap: 22px;
      padding: 24px 28px 18px;
      border-bottom: 1px solid rgba(252,252,250,0.12);
    }

    .acc-v-market-title {
      font-family: var(--serif-jp);
      font-size: 25px;
      font-weight: 900;
      line-height: 1.35;
      letter-spacing: .02em;
    }

    .acc-v-market-sub {
      font-family: var(--serif-jp);
      font-size: 13px;
      line-height: 1.85;
      color: rgba(252,252,250,0.72);
      align-self: center;
    }

    .acc-v-metric-grid {
      display: grid;
      grid-template-columns: 1.35fr repeat(3, 1fr);
      gap: 0;
      border-bottom: 1px solid rgba(252,252,250,0.12);
    }

    .acc-v-metric {
      padding: 22px 20px 20px;
      min-height: 190px;
      border-right: 1px solid rgba(252,252,250,0.12);
      background: rgba(252,252,250,0.035);
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }

    .acc-v-metric:last-child { border-right: none; }

    .acc-v-metric.big { background: linear-gradient(145deg, rgba(192,39,45,0.24), rgba(252,252,250,0.025)); }
    .acc-v-metric.cool { background: linear-gradient(145deg, rgba(47,95,92,0.25), rgba(252,252,250,0.025)); }

    .acc-v-metric span,
    .acc-v-lane-label {
      font-family: var(--mono);
      font-size: 9px;
      letter-spacing: 1.7px;
      text-transform: uppercase;
      color: #F0C36A;
    }

    .acc-v-metric b {
      font-family: var(--serif-en);
      font-size: clamp(42px, 5vw, 78px);
      line-height: .9;
      color: #FCFCFA;
      letter-spacing: -.04em;
      margin: 12px 0 8px;
    }

    .acc-v-metric p {
      font-family: var(--serif-jp);
      font-size: 13px;
      line-height: 1.55;
      color: rgba(252,252,250,0.82);
      margin: 0;
    }

    .acc-v-metric small {
      margin-top: 10px;
      font-family: var(--mono);
      font-size: 8px;
      color: rgba(252,252,250,0.46);
      letter-spacing: .9px;
      text-transform: uppercase;
    }

    .acc-v-impact-lanes {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .acc-v-lane {
      padding: 20px 20px 22px;
      min-height: 178px;
      border-right: 1px solid rgba(252,252,250,0.12);
      background: rgba(252,252,250,0.025);
    }

    .acc-v-lane:last-child { border-right: none; }
    .acc-v-lane.speed { box-shadow: inset 0 5px 0 rgba(47,95,92,0.88); }
    .acc-v-lane.loss { box-shadow: inset 0 5px 0 rgba(192,39,45,0.88); }

    .acc-v-lane-num {
      margin: 12px 0 10px;
      font-family: var(--serif-en);
      font-size: clamp(32px, 3.6vw, 54px);
      font-weight: 900;
      line-height: 1;
      color: #F0C36A;
      letter-spacing: -.03em;
    }

    .acc-v-lane-body {
      font-family: var(--serif-jp);
      font-size: 12.2px;
      line-height: 1.72;
      color: rgba(252,252,250,0.72);
    }

    .acc-v-toolstrip {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 0;
      border-top: 1px solid rgba(252,252,250,0.12);
      background: rgba(252,252,250,0.06);
    }

    .acc-v-tool {
      padding: 16px 20px;
      border-right: 1px solid rgba(252,252,250,0.12);
      font-family: var(--serif-jp);
      font-size: 14px;
      line-height: 1.65;
      color: rgba(252,252,250,0.86);
      text-align: center;
    }

    .acc-v-tool:last-child { border-right: none; }

    .acc-v-tool strong {
      font-family: var(--mono);
      font-size: 11px;
      color: #F0C36A;
      letter-spacing: .7px;
    }

    .acc-v-bottom {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 18px;
      align-items: center;
      border-radius: 30px;
      background: #171A1F;
      color: #FCFCFA;
      padding: 24px 28px;
      box-shadow: 0 18px 40px rgba(0,0,0,0.20);
    }

    .acc-v-bottom-title {
      font-family: var(--serif-jp);
      font-size: 22px;
      font-weight: 800;
      line-height: 1.45;
    }

    html[lang="en"] .acc-v-bottom-title { font-family: var(--serif-en); }

    .acc-v-bottom-note {
      margin-top: 8px;
      font-family: var(--serif-jp);
      font-size: 13px;
      line-height: 1.75;
      color: rgba(252,252,250,0.74);
    }

    html[lang="en"] .acc-v-bottom-note { font-family: var(--serif-en); font-size: 14px; }

    .acc-v-bottom a {
      font-family: var(--mono);
      font-size: 10px;
      color: #171A1F;
      background: #F0C36A;
      border: 1px solid #F0C36A;
      border-radius: 999px;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      text-decoration: none;
      padding: 14px 22px;
      white-space: nowrap;
      transition: transform .15s, background .15s;
      cursor: pointer;
    }

    .acc-v-bottom a:hover {
      transform: translateY(-2px);
      background: #FCFCFA;
    }

    @media (max-width: 1120px) {
      .acc-v-hero,
      .acc-v-definition,
      .acc-v-board-head,
      .acc-v-row {
        grid-template-columns: 1fr;
      }
      .acc-v-hero-right { border-left: none; border-top: 1px solid rgba(252,252,250,0.13); }
      .acc-v-taxbox { grid-template-columns: 1fr; }
      .acc-v-taxflow { grid-template-columns: 1fr; }
      .acc-v-arrow { transform: rotate(90deg); }
      .acc-v-current,
      .acc-v-utie,
      .acc-v-benefit,
      .acc-v-board-head div { border-right: none; }
      .acc-v-services { grid-template-columns: 1fr; }
      .acc-v-market-head, .acc-v-metric-grid, .acc-v-impact-lanes, .acc-v-toolstrip { grid-template-columns: 1fr; }
      .acc-v-metric, .acc-v-lane, .acc-v-tool { border-right: none; border-bottom: 1px solid rgba(252,252,250,0.12); }
    }

    @media (max-width: 720px) {
      .acc-content.acc-visual { padding: 18px 18px 32px; }
      .acc-v-hero-left { padding: 34px 28px; }
      .acc-v-hero { grid-template-columns: 1fr; border-radius: 22px; }
      .acc-v-loop { width: 285px; height: 285px; }
      .acc-v-node { width: 102px; }
      .acc-v-core { inset: 72px; }
      .acc-v-bottom { grid-template-columns: 1fr; }
    }



    /* AI Acceleration trimmed-metrics override */
    .p-acceleration .acc-v-title { letter-spacing: 0.03em; }
    .p-acceleration .acc-v-lead { border-left: none; padding-left: 0; max-width: 820px; }
    .p-acceleration .acc-v-board { margin-top: 20px; }
    .p-acceleration .acc-v-row { min-height: 116px; }
    .p-acceleration .acc-v-line-title { font-size: 18px; line-height: 1.28; }
    .p-acceleration .acc-v-line-body { line-height: 1.58; }
    .p-acceleration .acc-v-benefit b { white-space: nowrap; }
    .p-acceleration .acc-v-market { margin-top: 20px; }
    .p-acceleration .acc-v-market-sub { font-size: 13.5px; }

    /* AI Acceleration copy-fix override */
    .p-acceleration .acc-v-line-title { word-break: keep-all; overflow-wrap: normal; }
    .p-acceleration .acc-v-line-body { word-break: auto-phrase; }


    /* ══ PAGE: ABOUT ══ */
    .p-about {
      flex-direction: column;
      padding: 0;
    }

    .about-content {
      flex: 1;
      display: block;
    }

    .about-left {
      padding: 32px 28px;
      border-right: 1px solid var(--rule);
    }

    .about-seal {
      margin-bottom: 24px;
    }

    .about-name {
      font-family: var(--serif-jp);
      font-size: 22px;
      font-weight: 700;
      color: var(--ink);
      margin-bottom: 5px;
    }

    html[lang="en"] .about-name {
      font-family: var(--serif-en);
    }

    .about-title-line {
      font-family: var(--serif-en);
      font-size: 12px;
      color: var(--ink5);
      font-style: italic;
      line-height: 1.9;
      margin-bottom: 20px;
    }

    .about-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 5px;
    }

    .about-chip {
      font-family: var(--mono);
      font-size: 9px;
      color: var(--ink4);
      border: 1px solid var(--rule);
      padding: 3px 8px;
      text-transform: uppercase;
    }

    .about-right {
      padding: 28px 36px;
      display: grid;
      grid-template-columns: 220px repeat(3, minmax(0, 1fr));
      gap: 0 28px;
      align-content: start;
    }

    .about-person {
      padding-top: 20px;
      border-top: 1px solid var(--rule2);
    }

    .about-person .about-name {
      font-size: 24px;
      margin-bottom: 8px;
    }

    .about-person .about-title-line {
      font-size: 14px;
      line-height: 1.7;
      margin-bottom: 0;
    }

    .ab-company .ab-title {
      font-size: 24px;
      margin-bottom: 12px;
    }

    html[lang="en"] .ab-company .ab-title {
      font-size: 24px;
    }

    .about-scope {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      margin-top: 18px;
      border-top: 1px solid var(--rule);
    }

    .about-scope-row {
      display: grid;
      grid-template-columns: 112px 1fr;
      gap: 14px;
      padding: 10px 14px 10px 0;
      border-bottom: 1px solid var(--rule2);
    }

    .about-scope-row:nth-child(even) {
      padding-right: 0;
      padding-left: 14px;
      border-left: 1px solid var(--rule2);
    }

    .about-scope-label {
      font-family: var(--serif-jp);
      font-size: 14px;
      color: var(--ink5);
    }

    .about-scope-value {
      font-family: var(--serif-en);
      font-size: 15px;
      font-weight: 600;
      color: var(--ink2);
      line-height: 1.7;
    }

    .about-scope-link {
      color: inherit;
      text-decoration: none;
      border-bottom: 1px solid var(--rule);
    }

    .about-scope-link:hover {
      color: var(--ink);
      border-color: var(--ink);
    }

    .ab {
      margin: 0;
      padding: 20px 0 0;
      border-bottom: none;
      border-top: 1px solid var(--rule2);
    }

    .ab-company {
      grid-column: 1 / -1;
      padding: 0 0 22px;
      border-top: none;
    }

    .ab-label {
      font-family: var(--mono);
      font-size: 9px;
      letter-spacing: 2px;
      color: var(--ink5);
      text-transform: uppercase;
      margin-bottom: 10px;
    }

    .ab-title {
      font-family: var(--serif-jp);
      font-size: 18px;
      font-weight: 700;
      color: var(--ink);
      margin-bottom: 10px;
      line-height: 1.55;
    }

    html[lang="en"] .ab-title {
      font-family: var(--serif-en);
      font-size: 19px;
    }

    .ab-body {
      font-family: var(--serif-jp);
      font-size: 16px;
      color: var(--ink3);
      line-height: 1.8;
    }

    html[lang="en"] .ab-body {
      font-family: var(--serif-en);
      font-size: 17px;
      font-weight: 500;
      line-height: 1.8;
    }

    .ab-links {
      margin-top: 14px;
      display: flex;
      gap: 18px;
    }

    .ab-link {
      font-family: var(--mono);
      font-size: 11px;
      color: var(--ink5);
      text-decoration: none;
      text-transform: uppercase;
      border-bottom: 1px solid var(--rule);
      transition: color 0.12s, border-color 0.12s;
    }

    .ab-link:hover {
      color: var(--ink);
      border-color: var(--ink);
    }

    /* ══ PAGE: CAREERS ══ */
    .p-careers {
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 48px;
    }

    .careers-msg {
      font-family: var(--serif-jp);
      font-size: 17px;
      font-weight: 400;
      color: var(--ink3);
      line-height: 2.0;
      max-width: 440px;
    }

    html[lang="en"] .careers-msg {
      font-family: var(--serif-en);
      font-size: 20px;
      font-weight: 500;
      line-height: 1.7;
    }

    .careers-note {
      margin-top: 36px;
      font-family: var(--mono);
      font-size: 10px;
      color: var(--ink5);
      letter-spacing: 1.5px;
    }

    /* ══ PAGE: FAQ ══ */
    .p-faq {
      flex-direction: column;
      padding: 0;
    }

    .faq-content {
      flex: 1;
      padding: 48px;
      max-width: 780px;
    }

    .faq-item {
      margin-bottom: 36px;
      padding-bottom: 36px;
      border-bottom: 1px solid var(--rule2);
    }

    .faq-item:last-child {
      border-bottom: none;
      margin-bottom: 0;
      padding-bottom: 0;
    }

    .faq-q {
      font-family: var(--serif-jp);
      font-size: 16px;
      font-weight: 700;
      color: var(--ink);
      line-height: 1.7;
      margin-bottom: 14px;
      display: flex;
      align-items: baseline;
      gap: 10px;
      cursor: pointer;
      list-style: none;
      position: relative;
      padding-right: 28px;
    }

    html[lang="en"] .faq-q {
      font-family: var(--serif-en);
      font-size: 17px;
    }

    .faq-q-label {
      font-family: var(--serif-en);
      font-size: 18px;
      font-weight: 700;
      color: var(--red2);
      flex-shrink: 0;
    }

    .faq-q::-webkit-details-marker { display: none; }
    .faq-q::after {
      content: '+';
      position: absolute;
      right: 0;
      top: 0;
      font-family: var(--serif-en);
      font-size: 20px;
      color: var(--ink4);
      font-weight: 300;
      transition: transform 0.2s;
    }
    .faq-item[open] .faq-q::after { content: '\2212'; }

    .faq-a {
      font-family: var(--serif-jp);
      font-size: 14px;
      color: var(--ink3);
      line-height: 2.0;
      padding-left: 28px;
    }

    html[lang="en"] .faq-a {
      font-family: var(--serif-en);
      font-size: 16px;
      font-weight: 500;
      line-height: 1.8;
    }

    .faq-a-label {
      font-family: var(--serif-en);
      font-size: 16px;
      font-weight: 700;
      color: var(--ink4);
      margin-right: 6px;
    }

    .faq-steps {
      margin-top: 12px;
      padding-left: 0;
    }

    .faq-step {
      font-family: var(--serif-jp);
      font-size: 14px;
      color: var(--ink3);
      line-height: 2.0;
      margin-bottom: 4px;
      padding-left: 1.5em;
      text-indent: -1.5em;
    }

    html[lang="en"] .faq-step {
      font-family: var(--serif-en);
      font-size: 16px;
      font-weight: 500;
      line-height: 1.8;
    }

    /* ══ PAGE: CONTACT ══ */
    .p-contact {
      flex-direction: column;
      padding: 0;
    }

    .contact-content {
      flex: 1;
      display: grid;
      grid-template-columns: 1fr 1fr;
    }

    .contact-left {
      padding: 36px 52px;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .contact-eyebrow {
      font-family: var(--mono);
      font-size: 10px;
      color: var(--ink5);
      letter-spacing: 2.5px;
      text-transform: uppercase;
      margin-bottom: 16px;
    }

    .contact-title {
      font-family: var(--serif-jp);
      font-size: 24px;
      font-weight: 700;
      color: var(--ink);
      line-height: 1.5;
      margin-bottom: 12px;
    }

    html[lang="en"] .contact-title {
      font-family: var(--serif-en);
      font-size: 28px;
    }

    .contact-body {
      font-family: var(--serif-jp);
      font-size: 13px;
      color: var(--ink3);
      line-height: 1.9;
      margin-bottom: 22px;
    }

    html[lang="en"] .contact-body {
      font-family: var(--serif-en);
      font-size: 15px;
      font-weight: 500;
      line-height: 1.7;
    }

    .contact-email {
      font-family: var(--serif-en);
      font-size: 17px;
      font-weight: 700;
      color: var(--ink);
      text-decoration: none;
      border-bottom: 1px solid var(--ink);
      padding-bottom: 3px;
      transition: color 0.15s, border-color 0.15s;
    }

    .contact-email:hover {
      color: var(--red);
      border-color: var(--red);
    }

    .ci-link {
      color: var(--ink);
      text-decoration: none;
      border-bottom: 1px solid var(--rule);
      transition: color 0.15s, border-color 0.15s;
    }

    .ci-link:hover {
      color: var(--red);
      border-color: var(--red);
    }

    .contact-form-wrap {
      margin-top: 24px;
      padding-top: 22px;
      border-top: 1px solid var(--rule2);
    }

    .contact-form-label {
      font-family: var(--mono);
      font-size: 10px;
      color: var(--ink5);
      letter-spacing: 2.5px;
      text-transform: uppercase;
      margin-bottom: 16px;
    }

    .contact-template {
      border-top: 1px solid var(--rule);
    }

    .ct-row {
      display: flex;
      padding: 14px 0;
      border-bottom: 1px solid var(--rule2);
    }

    .ct-label {
      font-family: var(--mono);
      font-size: 11px;
      color: var(--ink5);
      width: 36px;
      flex-shrink: 0;
      padding-top: 1px;
    }

    .ct-val {
      font-family: var(--serif-jp);
      font-size: 14px;
      color: var(--ink2);
      line-height: 1.7;
    }

    html[lang="en"] .ct-val {
      font-family: var(--serif-en);
      font-size: 16px;
      font-weight: 500;
    }

    .ct-options {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 10px;
    }

    .ct-tag {
      font-family: var(--mono);
      font-size: 10px;
      letter-spacing: 0.5px;
      color: var(--ink4);
      border: 1px solid var(--rule);
      border-radius: 3px;
      padding: 4px 10px;
    }

    .contact-lang-note {
      font-family: var(--mono);
      font-size: 11px;
      color: var(--ink5);
      margin-top: 20px;
      letter-spacing: 0.5px;
    }

    .ct-copy-btn {
      margin-top: 20px;
      padding: 10px 24px;
      background: var(--ink);
      color: var(--bg);
      border: none;
      border-radius: 3px;
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: 1px;
      cursor: pointer;
      transition: background 0.15s;
    }

    .ct-copy-btn:hover {
      background: var(--ink3);
    }

    .contact-right {
      padding: 56px 44px;
      border-left: 1px solid var(--rule);
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .ci-row {
      display: flex;
      padding: 14px 0;
      border-bottom: 1px solid var(--rule2);
    }

    .ci-row:first-child {
      border-top: 1px solid var(--rule);
    }

    .ci-label {
      font-family: var(--mono);
      font-size: 10px;
      letter-spacing: 1.5px;
      color: var(--ink5);
      text-transform: uppercase;
      width: 110px;
      flex-shrink: 0;
      padding-top: 2px;
    }

    .ci-val {
      font-family: var(--serif-jp);
      font-size: 14px;
      color: var(--ink2);
      line-height: 1.7;
    }

    html[lang="en"] .ci-val {
      font-family: var(--serif-en);
      font-size: 16px;
      font-weight: 500;
    }

    /* ══ FOOTER ══ */
    .site-footer {
      background: var(--bg);
      border-top: 1px solid var(--rule);
      padding: 20px 36px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      font-family: var(--mono);
      font-size: 10px;
      color: var(--ink5);
      flex-wrap: wrap;
      gap: 8px;
      flex-shrink: 0;
      letter-spacing: 0.5px;
    }

    .site-footer span {
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .f-sep {
      color: var(--rule);
      font-size: 10px;
    }

    .f-red {
      color: var(--red);
      font-weight: 600;
    }

    .f-link {
      color: var(--ink5);
      cursor: pointer;
      text-decoration: none;
      transition: color 0.12s;
    }

    .f-link:hover {
      color: var(--ink);
    }

    /* ── Policy pages ── */
    .p-policy {
      flex-direction: column;
      padding: 0;
    }

    .policy-content {
      flex: 1;
      padding: 48px;
      max-width: 720px;
    }

    .policy-content h2 {
      font-family: var(--serif-en);
      font-size: 24px;
      font-weight: 700;
      color: var(--ink);
      margin-bottom: 24px;
    }

    .policy-content h3 {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: var(--ink3);
      margin: 28px 0 10px;
    }

    .policy-content p {
      font-family: var(--serif-jp);
      font-size: 14px;
      color: var(--ink3);
      line-height: 2.0;
      margin-bottom: 12px;
    }

    html[lang="en"] .policy-content p {
      font-family: var(--serif-en);
      font-size: 16px;
      font-weight: 500;
      line-height: 1.8;
    }

    .policy-badge {
      display: inline-block;
      margin-bottom: 24px;
      padding: 6px 14px;
      border: 1px solid var(--red2);
      color: var(--red2);
      font-family: var(--mono);
      font-size: 10px;
      letter-spacing: 1.5px;
      text-transform: uppercase;
    }

    /* ══ RESPONSIVE ══ */
    @media (max-width: 900px) {
      .hamburger {
        display: block;
      }

      .topnav {
        height: 56px;
        padding: 0 16px;
        flex-direction: row;
        flex-wrap: nowrap;
      }

      .topnav-right {
        position: fixed;
        top: 56px;
        left: 0;
        right: 0;
        bottom: 0;
        background: var(--bg);
        flex-direction: column;
        align-items: stretch;
        padding: 8px 0 24px;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        border-top: 1px solid var(--rule);
        transform: translateY(-120%);
        opacity: 0;
        pointer-events: none;
        transition: transform 0.3s ease, opacity 0.25s ease;
        z-index: 105;
      }

      .topnav-right.mobile-open {
        transform: translateY(0);
        opacity: 1;
        pointer-events: auto;
      }

      .topnav-menu {
        flex-direction: column;
        align-items: stretch;
      }

      .topnav-item {
        padding: 14px 24px;
        font-size: 12px;
        border-bottom: 1px solid var(--rule2);
        border-left: 3px solid transparent;
      }

      .topnav-item.active {
        border-bottom-color: var(--rule2);
        border-left-color: var(--ink);
        background: var(--white);
      }

      .lang-toggle {
        margin: 12px 24px 0;
        padding: 12px 0 0;
        border-left: none;
        border-top: 1px solid var(--rule);
        justify-content: center;
      }

      html {
        scroll-padding-top: 72px;
      }

      .about-content,
      .contact-content {
        grid-template-columns: 1fr;
      }

      .about-left {
        border-right: none;
        border-bottom: 1px solid var(--rule);
      }

      .contact-right {
        border-left: none;
        border-top: 1px solid var(--rule);
      }

      .service-item {
        grid-template-columns: 1fr;
      }

      .service-card {
        border-right: none;
        border-bottom: 1px solid var(--rule2);
      }

      .service-card:last-child {
        border-bottom: none;
      }

      .archive-item {
        grid-template-columns: 1fr;
      }

      .track-record-section {
        padding: 0;
      }

      .track-record-head {
        display: block;
        padding: 24px 22px 18px;
      }

      .track-record-title {
        font-size: 26px;
      }

      .track-record-card {
        grid-template-columns: 1fr;
        row-gap: 2px;
        padding: 9px 22px;
      }

      .track-record-org {
        white-space: normal;
      }

      .track-record-card:last-child {
        border-bottom: none;
      }

      .ai-date,
      .ai-status {
        border: none;
        padding: 10px 28px;
      }

      .ai-status {
        align-items: center;
        justify-content: flex-start;
      }

      .cap-grid {
        grid-template-columns: 1fr;
      }

      .cap-card {
        border-right: none;
        border-bottom: 1px solid var(--rule2);
      }

      .cap-card:last-child {
        border-bottom: none;
      }

      .page-header {
        padding: 20px 20px 16px;
      }

      .p-main {
        padding: 20px 20px;
      }

      .p-main-tag {
        margin-top: 24px;
      }

      .p-main-copy {
        font-size: clamp(18px, 5vw, 24px);
        margin-bottom: 28px;
      }

      .p-main-sub {
        font-size: 12px;
        margin-top: -12px;
        margin-bottom: 24px;
      }

      .p-main-rule {
        margin: 0 auto 24px;
      }

      .p-main-statement {
        font-size: 14px;
        line-height: 2.0;
      }

      .p-main-cta {
        margin-top: 28px;
      }

      .p-main-spacer {
        height: 12px;
      }

      .p-main-quick {
        max-width: 380px;
        margin-top: 18px;
        padding: 16px 18px 14px;
        text-align: center;
        border-radius: 22px;
      }

      .p-main-quick-eyebrow {
        font-size: 10px;
      }

      .p-main-quick-link {
        align-items: center;
        gap: 7px;
        line-height: 1.5;
      }

      .quick-consult-strip {
        margin: 10px 20px 12px;
        grid-template-columns: 1fr;
      }

      .quick-consult-head,
      .quick-consult-body {
        border-right: none;
        border-bottom: 1px solid var(--rule2);
      }

      .quick-consult-side {
        text-align: left;
        min-width: 0;
      }

      .news-item {
        padding: 24px 20px;
      }

      .faq-content {
        padding: 28px 20px;
      }

      .contact-left {
        padding: 32px 20px;
      }

      .contact-right {
        padding: 32px 20px;
      }

      .about-left {
        padding: 28px 20px;
      }

      .about-right {
        padding: 28px 20px;
        display: block;
      }

      .about-right .ab {
        padding: 24px 0;
        border-top: 1px solid var(--rule2);
      }

      .about-person {
        padding: 24px 0;
      }

      .about-right .ab-company {
        padding-top: 0;
        border-top: none;
      }

      .about-scope {
        grid-template-columns: 1fr;
      }

      .about-scope-row {
        grid-template-columns: 1fr;
        gap: 4px;
      }

      .about-scope-row:nth-child(even) {
        padding-left: 0;
        border-left: none;
      }

      .cap-section {
        padding: 16px 20px;
      }

      .victim-hero {
        margin: 12px 20px 0;
        grid-template-columns: 1fr;
      }

      .victim-hero-left {
        border-right: none;
        border-bottom: 1px solid var(--rule);
        padding: 18px 18px;
      }

      .victim-hero-title {
        font-size: 18px;
      }

      .victim-hero-body {
        padding: 18px 18px;
        font-size: 13px;
      }

      .usecase-section {
        margin: 0 20px 12px;
      }

      .usecase-grid {
        grid-template-columns: 1fr;
      }

      .usecase-card {
        border-right: none;
        border-bottom: 1px solid var(--rule2);
      }

      .usecase-card:last-child {
        border-bottom: none;
      }

      .legal-strip {
        margin: 0 20px 16px;
        grid-template-columns: 1fr;
      }

      .legal-strip-head,
      .legal-strip-body {
        border-right: none;
        border-bottom: 1px solid var(--rule2);
      }

      .legal-strip-side {
        text-align: left;
        min-width: 0;
      }


      .service-minimal-lead {
        margin: 12px 20px 10px;
        grid-template-columns: 1fr;
        padding: 16px 16px;
      }

      .service-minimal-title {
        font-size: 18px;
      }

      .service-minimal-quick {
        justify-self: stretch;
        min-width: 0;
      }

      .service-orbit {
        height: auto;
        margin: 10px 20px 14px;
        padding: 18px;
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
        background: rgba(255,255,255,0.30);
      }

      .orbit-core {
        position: static;
        transform: none;
        width: 100%;
        height: auto;
        border-radius: 0;
        padding: 16px;
      }

      .orbit-proof {
        position: static;
        width: 100%;
        box-shadow: none;
        background: var(--white);
      }

      .orbit-detail,
      .od-1, .od-2, .od-3, .od-4, .od-5, .od-6 {
        position: static;
        width: 100%;
        height: auto;
      }

      .orbit-detail summary {
        width: 100%;
        height: auto;
        min-height: 74px;
        border-radius: 0;
        flex-direction: row;
        justify-content: flex-start;
        text-align: left;
        gap: 12px;
      }

      .orbit-detail summary span {
        margin: 0;
      }

      .orbit-panel,
      .od-1 .orbit-panel,
      .od-2 .orbit-panel,
      .od-3 .orbit-panel,
      .od-4 .orbit-panel,
      .od-5 .orbit-panel,
      .od-6 .orbit-panel {
        position: static;
        transform: none;
        width: 100%;
        margin-top: 8px;
      }

      .service-flow-section {
        margin: 0 20px 14px;
        padding: 14px;
      }

      .service-flow {
        grid-template-columns: 1fr;
        gap: 12px;
      }

      .service-flow::before {
        display: none;
      }

      .flow-node summary {
        min-height: 96px;
      }

      .service-round-notes {
        margin: 0 20px 20px;
        grid-template-columns: 1fr;
      }

      .round-note {
        padding: 16px 0 18px;
        border-right: none;
        border-bottom: 1px solid var(--rule2);
      }

      .round-note + .round-note {
        padding-left: 0;
      }

      .round-note:last-child {
        border-bottom: none;
      }


      .acc-content {
        padding: 18px 20px 28px;
      }

      .acc-hero {
        grid-template-columns: 1fr;
      }

      .acc-hero-left {
        border-right: none;
        border-bottom: 1px solid var(--rule);
        padding: 22px 20px;
      }

      .acc-definition {
        padding: 22px 20px;
      }

      .acc-definition-main {
        font-size: 16px;
      }

      .acc-strip {
        grid-template-columns: 1fr;
        gap: 10px;
      }

      .acc-benefit-grid,
      .acc-service-map,
      .acc-case-grid {
        grid-template-columns: 1fr;
      }

      .acc-benefit-card,
      .acc-service {
        border-right: none;
        border-bottom: 1px solid var(--rule2);
      }

      .acc-benefit-card:last-child,
      .acc-service:last-child {
        border-bottom: none;
      }

      .acc-before-after,
      .acc-cta {
        grid-template-columns: 1fr;
      }

      .acc-before {
        border-right: none;
        border-bottom: 1px solid var(--rule2);
      }

      .acc-cta a {
        justify-self: start;
      }

      .site-footer {
        flex-direction: column;
        text-align: center;
        gap: 4px;
        padding: 10px 20px;
        font-size: 8px;
      }

      .site-footer > span:last-child {
        display: none;
      }
    }

    /* AI Acceleration business metrics override */
    .p-acceleration .acc-v-market-title {
      font-size: clamp(30px, 3.4vw, 46px);
      line-height: 1.2;
    }

    .p-acceleration .acc-v-market-sub {
      font-size: 15px;
      line-height: 1.75;
    }

    .p-acceleration .acc-v-metric span,
    .p-acceleration .acc-v-lane-label {
      display: inline-flex;
      width: fit-content;
      padding: 6px 10px;
      border-radius: 999px;
      background: rgba(240,195,106,0.12);
      border: 1px solid rgba(240,195,106,0.30);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.9px;
      line-height: 1.2;
      color: #F4D37A;
    }

    .p-acceleration .acc-v-metric b {
      font-size: clamp(50px, 6.1vw, 88px);
    }

    .p-acceleration .acc-v-lane-num {
      font-size: clamp(40px, 4.6vw, 68px);
      white-space: nowrap;
    }

    .p-acceleration .acc-v-impact-lanes.business .acc-v-lane {
      min-height: 206px;
    }

    .p-acceleration .acc-v-metric p,
    .p-acceleration .acc-v-lane-body {
      font-size: 13.2px;
    }

  

    /* === AI Acceleration editorial redesign: pale strategic board, no black panel === */
    .topnav-menu {
      gap: 2px;
    }

    .topnav-item.nav-acceleration {
      margin: 0 8px;
      padding: 12px 16px;
      border: 1px solid #AFC8C1;
      border-radius: 11px;
      background: linear-gradient(135deg, #E1EEE9 0%, #F5F1E7 100%);
      color: #28564F;
      letter-spacing: 1.2px;
      box-shadow: 0 1px 0 rgba(255,255,255,0.72) inset;
    }

    .topnav-item.nav-acceleration:hover,
    .topnav-item.nav-acceleration.active {
      color: #1F4D47;
      background: linear-gradient(135deg, #D3E6DF 0%, #EEE4D5 100%);
      border-color: #7FA69C;
      border-bottom-color: #7FA69C;
    }

    .p-acceleration {
      flex-direction: column;
      padding: 0;
      background:
        radial-gradient(circle at 12% 10%, rgba(32, 116, 107, 0.09) 0, transparent 280px),
        radial-gradient(circle at 88% 8%, rgba(197, 116, 55, 0.10) 0, transparent 260px),
        linear-gradient(180deg, #F3F6F1 0%, #F7F1E8 54%, #F4F6F2 100%);
      color: #243633;
    }

    .accx-wrap {
      flex: 1;
      padding: 34px 52px 42px;
      position: relative;
      color: #243633;
    }

    .accx-wrap::before {
      content: '';
      position: absolute;
      inset: 0;
      pointer-events: none;
      opacity: 0.36;
      background-image:
        linear-gradient(rgba(48, 88, 82, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(48, 88, 82, 0.06) 1px, transparent 1px);
      background-size: 44px 44px;
      mask-image: linear-gradient(180deg, rgba(0,0,0,0.9), transparent 72%);
    }

    .accx-wrap > * {
      position: relative;
      z-index: 1;
    }

    .accx-hero {
      display: grid;
      grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
      gap: 28px;
      align-items: stretch;
      margin-bottom: 24px;
    }

    .accx-hero-copy {
      padding: 44px 46px 42px;
      border: 1px solid #C7D3CD;
      background: rgba(255, 252, 245, 0.74);
      backdrop-filter: blur(8px);
    }

    .accx-title {
      font-family: var(--serif-jp);
      font-size: clamp(34px, 5vw, 64px);
      line-height: 1.16;
      color: #213D3A;
      font-weight: 800;
      letter-spacing: 0.015em;
      margin: 0 0 24px;
    }

    html[lang="en"] .accx-title {
      font-family: var(--serif-en);
      letter-spacing: 0.005em;
    }

    .accx-lead {
      max-width: 780px;
      font-family: var(--serif-jp);
      font-size: 15.5px;
      line-height: 2.05;
      color: #4E5F5B;
      margin: 0;
      border-left: 3px solid #76A99E;
      padding-left: 18px;
    }

    html[lang="en"] .accx-lead,
    html[lang="en"] .accx-board p,
    html[lang="en"] .accx-close p {
      font-family: var(--serif-en);
      font-size: 16px;
      line-height: 1.75;
    }

    .accx-hero-panel {
      border: 1px solid #C8B9A5;
      background:
        linear-gradient(160deg, rgba(233, 242, 238, 0.90) 0%, rgba(255, 252, 245, 0.92) 55%, rgba(244, 231, 214, 0.92) 100%);
      padding: 26px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      min-height: 322px;
    }

    .accx-panel-caption {
      font-family: var(--serif-jp);
      color: #315852;
      font-weight: 700;
      font-size: 18px;
      letter-spacing: 0.04em;
    }

    .accx-sparkline {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      align-items: end;
      gap: 12px;
      height: 94px;
      margin: 18px 0 22px;
      padding-bottom: 2px;
      border-bottom: 1px solid rgba(49, 88, 82, 0.24);
    }

    .accx-sparkline span {
      display: block;
      background: #85B5AB;
      border: 1px solid rgba(49, 88, 82, 0.25);
      min-height: 18px;
    }

    .accx-sparkline span:nth-child(1) { height: 28px; opacity: .62; }
    .accx-sparkline span:nth-child(2) { height: 42px; opacity: .72; }
    .accx-sparkline span:nth-child(3) { height: 30px; opacity: .58; }
    .accx-sparkline span:nth-child(4) { height: 74px; opacity: .92; background:#C78954; }
    .accx-sparkline span:nth-child(5) { height: 52px; opacity: .78; }

    .accx-mini-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      border-top: 1px solid rgba(49, 88, 82, 0.18);
      border-left: 1px solid rgba(49, 88, 82, 0.18);
    }

    .accx-mini-grid div {
      padding: 15px 14px;
      border-right: 1px solid rgba(49, 88, 82, 0.18);
      border-bottom: 1px solid rgba(49, 88, 82, 0.18);
      background: rgba(255,255,255,0.36);
    }

    .accx-mini-grid b {
      display: block;
      font-family: var(--serif-en);
      font-size: 34px;
      line-height: 1;
      color: #2E6F66;
      margin-bottom: 6px;
    }

    .accx-mini-grid span {
      font-family: var(--mono);
      font-size: 10px;
      color: #66736E;
      letter-spacing: 0.8px;
    }

    .accx-metrics {
      display: grid;
      grid-template-columns: 1.18fr 1fr 1fr 1fr;
      gap: 0;
      border: 1px solid #C7D3CD;
      background: rgba(255, 252, 245, 0.70);
      margin-bottom: 24px;
    }

    .accx-metric {
      min-height: 210px;
      padding: 24px 24px 22px;
      border-right: 1px solid #D8DED8;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }

    .accx-metric:last-child { border-right: 0; }
    .accx-metric.accx-hot { background: linear-gradient(180deg, rgba(244, 229, 210, 0.76), rgba(255,252,245,0.1)); }
    .accx-metric.accx-cool { background: linear-gradient(180deg, rgba(225, 240, 235, 0.84), rgba(255,252,245,0.1)); }

    .accx-tag {
      align-self: flex-start;
      font-family: var(--mono);
      font-size: 12px;
      color: #28564F;
      letter-spacing: 1.2px;
      padding: 6px 10px;
      border: 1px solid #AFC8C1;
      background: rgba(233, 242, 238, 0.86);
      margin-bottom: 12px;
    }

    .accx-metric b {
      display: block;
      font-family: var(--serif-en);
      font-size: clamp(48px, 5vw, 72px);
      line-height: 0.92;
      color: #C07239;
      font-weight: 700;
      letter-spacing: -0.04em;
    }

    .accx-metric p {
      font-family: var(--serif-jp);
      font-size: 13.5px;
      color: #435550;
      line-height: 1.75;
      margin: 14px 0 10px;
    }

    .accx-metric small {
      font-family: var(--mono);
      font-size: 10px;
      color: #7E8985;
      letter-spacing: .8px;
    }

    .accx-principle {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: center;
      gap: 24px;
      padding: 22px 26px;
      border: 1px solid #C8B9A5;
      background: #EEE7DA;
      margin-bottom: 24px;
    }

    .accx-principle-main {
      font-family: var(--serif-jp);
      font-size: clamp(18px, 2.1vw, 28px);
      line-height: 1.65;
      color: #2E413C;
      font-weight: 700;
    }

    .accx-principle-side {
      display: grid;
      grid-template-columns: repeat(2, auto);
      gap: 8px;
    }

    .accx-principle-side span {
      font-family: var(--mono);
      font-size: 11px;
      color: #385C55;
      border: 1px solid #B9CAC3;
      background: rgba(255,255,255,0.42);
      padding: 9px 12px;
      letter-spacing: 1px;
    }

    .accx-board {
      display: grid;
      gap: 14px;
      margin-bottom: 24px;
    }

    .accx-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 52px minmax(0, 1.05fr);
      align-items: stretch;
      border: 1px solid #CDD8D2;
      background: rgba(255,252,245,0.72);
    }

    .accx-problem,
    .accx-solution {
      padding: 24px 26px 22px;
    }

    .accx-problem {
      background: rgba(246, 241, 232, 0.66);
    }

    .accx-solution {
      background: rgba(232, 242, 238, 0.80);
      border-left: 1px solid #CDD8D2;
    }

    .accx-row h3 {
      font-family: var(--serif-jp);
      font-size: 22px;
      line-height: 1.35;
      color: #223D39;
      margin: 0 0 10px;
      font-weight: 800;
      letter-spacing: .02em;
    }

    .accx-row p {
      font-family: var(--serif-jp);
      font-size: 13.5px;
      line-height: 1.86;
      color: #4E5F5B;
      margin: 0;
    }

    .accx-arrow {
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: var(--serif-en);
      font-size: 30px;
      color: #8DAAA3;
      background: #F1F3ED;
      border-left: 1px solid #CDD8D2;
    }

    .accx-solution strong {
      display: inline-block;
      margin-top: 16px;
      font-family: var(--serif-en), var(--serif-jp);
      font-size: 28px;
      line-height: 1;
      color: #C07239;
      letter-spacing: -0.02em;
    }

    .accx-close {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: center;
      gap: 22px;
      padding: 28px 30px;
      background: linear-gradient(135deg, #DDEAE5 0%, #F1E6D6 100%);
      border: 1px solid #ABC2BB;
    }

    .accx-close h3 {
      font-family: var(--serif-jp);
      font-size: 24px;
      color: #213D3A;
      margin: 0 0 8px;
      letter-spacing: .03em;
    }

    .accx-close p {
      font-family: var(--serif-jp);
      font-size: 13.5px;
      line-height: 1.8;
      color: #4E5F5B;
      margin: 0;
    }

    .accx-close a {
      font-family: var(--mono);
      font-size: 12px;
      color: #28564F;
      text-decoration: none;
      border: 1px solid #7FA69C;
      background: rgba(255,255,255,0.44);
      padding: 13px 18px;
      letter-spacing: 1.2px;
      white-space: nowrap;
    }

    .accx-close a:hover {
      background: rgba(255,255,255,0.76);
      color: #1F4D47;
    }

    @media (max-width: 1180px) {
      .accx-wrap { padding: 26px 28px 36px; }
      .accx-hero { grid-template-columns: 1fr; }
      .accx-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .accx-metric:nth-child(2) { border-right: 0; }
      .accx-metric:nth-child(1), .accx-metric:nth-child(2) { border-bottom: 1px solid #D8DED8; }
      .accx-row { grid-template-columns: 1fr; }
      .accx-arrow { min-height: 46px; border-left: 0; border-top: 1px solid #CDD8D2; border-bottom: 1px solid #CDD8D2; }
      .accx-solution { border-left: 0; }
    }

    @media (max-width: 760px) {
      .topnav-item.nav-acceleration { margin: 3px 0; padding: 14px 24px; border-radius: 0; }
      .accx-wrap { padding: 18px; }
      .accx-hero-copy { padding: 30px 24px; }
      .accx-title { font-size: 36px; }
      .accx-mini-grid, .accx-metrics { grid-template-columns: 1fr; }
      .accx-metric { border-right: 0; border-bottom: 1px solid #D8DED8; }
      .accx-metric:last-child { border-bottom: 0; }
      .accx-principle { grid-template-columns: 1fr; }
      .accx-principle-side { grid-template-columns: repeat(4, minmax(0, 1fr)); }
      .accx-principle-side span { text-align: center; padding: 8px 6px; }
      .accx-close { grid-template-columns: 1fr; }
      .accx-close a { justify-self: start; }
    }

  
    /* === AI Acceleration zen section override === */
    .topnav-item.nav-acceleration {
      background: linear-gradient(180deg, #eaf2ff 0%, #dfeaff 100%);
      color: #1f4f8f;
      border-bottom-color: transparent;
      border-color: #9bb8e5;
      margin: 0 4px;
      padding-left: 16px;
      padding-right: 16px;
    }

    .topnav-item.nav-acceleration:hover,
    .topnav-item.nav-acceleration.active {
      color: #123a70;
      border-bottom-color: #3f6faa;
      border-color: #6f96cf;
      background: linear-gradient(180deg, #e3efff 0%, #d5e5ff 100%);
    }

    .p-acceleration {
      background: linear-gradient(180deg, #f7f3ec 0%, #fbfaf7 32%, #f5f7f2 100%);
    }

    .accx-close {
      grid-template-columns: 1fr;
    }

    .accx-hero {
      background: linear-gradient(135deg, rgba(229,236,230,0.95) 0%, rgba(247,243,236,0.95) 100%);
      border: 1px solid #dbd4c7;
      box-shadow: none;
    }

    .accx-hero-panel {
      background: rgba(255,255,255,0.82);
      border: 1px solid #ddd6c8;
      box-shadow: none;
    }

    .accx-principle.accx-zen {
      padding: 0;
      background: none;
      border: none;
    }

    .accx-zen-frame {
      position: relative;
      margin: 18px 0 8px;
      padding: 68px 40px 58px;
      background: linear-gradient(180deg, #f3efe7 0%, #fbfaf8 55%, #f3f5ef 100%);
      border-top: 1px solid #d8d0c2;
      border-bottom: 1px solid #d8d0c2;
      text-align: center;
      overflow: hidden;
    }

    .accx-zen-frame::before,
    .accx-zen-frame::after {
      content: '';
      position: absolute;
      width: 260px;
      height: 260px;
      border-radius: 50%;
      pointer-events: none;
      filter: blur(2px);
      opacity: 0.55;
    }

    .accx-zen-frame::before {
      left: -90px;
      top: -120px;
      background: radial-gradient(circle, rgba(204,220,213,0.55) 0%, rgba(204,220,213,0.12) 58%, rgba(204,220,213,0) 72%);
    }

    .accx-zen-frame::after {
      right: -80px;
      bottom: -130px;
      background: radial-gradient(circle, rgba(229,216,196,0.62) 0%, rgba(229,216,196,0.14) 58%, rgba(229,216,196,0) 72%);
    }

    .accx-zen-kicker {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: #6f786f;
      margin-bottom: 18px;
    }

    .accx-zen-title {
      font-family: var(--serif-jp-classic);
      font-size: clamp(36px, 5vw, 64px);
      line-height: 1.14;
      letter-spacing: 0.05em;
      color: #25312d;
      font-weight: 500;
    }

    .accx-zen-copy {
      max-width: 760px;
      margin: 18px auto 0;
      font-size: 15px;
      line-height: 2.0;
      color: #59625d;
      letter-spacing: 0.02em;
    }

    .accx-zen-line {
      width: min(560px, 72%);
      height: 1px;
      background: linear-gradient(90deg, rgba(122,136,127,0) 0%, rgba(122,136,127,0.65) 22%, rgba(122,136,127,0.65) 78%, rgba(122,136,127,0) 100%);
      margin: 30px auto 28px;
    }

    .accx-zen-triad {
      display: grid;
      grid-template-columns: repeat(3, minmax(0,1fr));
      gap: 20px;
      max-width: 860px;
      margin: 0 auto;
    }

    .accx-zen-stone {
      padding: 18px 14px 8px;
      min-height: 108px;
    }

    .accx-zen-stone span {
      display: block;
      font-family: var(--serif-jp-classic);
      font-size: 24px;
      line-height: 1.3;
      color: #233732;
      margin-bottom: 10px;
    }

    .accx-zen-stone small {
      display: block;
      font-family: var(--mono);
      font-size: 11px;
      line-height: 1.8;
      letter-spacing: 0.06em;
      color: #68716c;
    }

    .accx-zen-note {
      margin-top: 28px;
      font-family: var(--serif-jp);
      font-size: 17px;
      line-height: 1.9;
      color: #34413c;
    }

    @media (max-width: 900px) {
      .accx-zen-frame { padding: 52px 20px 44px; }
      .accx-zen-title { font-size: clamp(30px, 10vw, 46px); }
      .accx-zen-copy { font-size: 14px; line-height: 1.9; }
      .accx-zen-triad { grid-template-columns: 1fr; gap: 10px; }
      .accx-zen-stone { min-height: auto; padding: 12px 0; }
      .accx-zen-stone span { font-size: 22px; }
      .topnav-item.nav-acceleration { padding-left: 14px; padding-right: 14px; }
    }

  
    /* === AI Acceleration hero relayout v8 === */
    .accx-hero {
      grid-template-columns: 1fr;
      gap: 16px;
      margin-bottom: 30px;
    }

    .accx-hero-copy {
      padding: 58px 62px 34px;
      background: linear-gradient(180deg, rgba(255,252,245,0.84) 0%, rgba(251,248,241,0.78) 100%);
      text-align: center;
    }

    .accx-title {
      font-size: clamp(34px, 4.1vw, 60px);
      line-height: 1.12;
      margin: 0 0 20px;
    }

    .accx-title-top {
      display: inline-block;
      white-space: nowrap;
      font-size: 0.92em;
      letter-spacing: 0.02em;
    }

    .accx-lead {
      max-width: 980px;
      margin: 0 auto;
      border-left: none;
      padding-left: 0;
      text-align: center;
    }

    .accx-hero-panel {
      width: 100%;
      padding: 18px 28px 20px;
    }

    .accx-panel-caption {
      text-align: center;
      margin-bottom: 10px;
    }

    .accx-sparkline {
      margin: 0 auto 12px;
      max-width: 780px;
    }

    .accx-mini-grid {
      grid-template-columns: repeat(4, minmax(0,1fr));
      gap: 12px;
    }

    .accx-mini-grid div {
      text-align: center;
    }

    @media (max-width: 900px) {
      .accx-hero-copy { padding: 42px 22px 26px; }
      .accx-title { font-size: clamp(28px, 8.2vw, 42px); line-height: 1.14; }
      .accx-title-top { white-space: nowrap; font-size: 0.9em; }
      .accx-lead { font-size: 14.5px; line-height: 1.85; }
      .accx-mini-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    }

    @media (max-width: 520px) {
      .accx-title { font-size: 30px; }
      .accx-title-top { font-size: 0.84em; }
    }

  
    /* === AI Acceleration hero + metrics clarity v9 === */
    .accx-hero-copy {
      padding: 46px 48px 26px;
    }

    .accx-title {
      font-size: clamp(24px, 3.0vw, 42px);
      line-height: 1.1;
      letter-spacing: 0.01em;
      white-space: nowrap;
      text-align: center;
    }

    .accx-lead {
      max-width: 900px;
      font-size: 14px;
      line-height: 1.9;
    }

    .accx-hero-panel {
      padding: 14px 22px 18px;
    }

    .accx-panel-caption {
      font-size: 11px;
      letter-spacing: 0.12em;
    }

    .accx-mini-grid {
      gap: 10px;
      align-items: start;
    }

    .accx-mini-grid div b {
      display: block;
      font-size: clamp(24px, 2.4vw, 36px);
      line-height: 1;
      margin-bottom: 8px;
    }

    .accx-mini-grid div span {
      display: block;
      font-size: 11.5px;
      line-height: 1.55;
      color: #4f5f5b;
      max-width: 180px;
      margin: 0 auto;
    }

    .accx-metric {
      padding: 18px 16px 16px;
    }

    .accx-tag {
      font-size: 10px;
      letter-spacing: 0.12em;
    }

    .accx-metric b {
      font-size: clamp(28px, 3vw, 42px);
      line-height: 1;
      margin: 10px 0 10px;
    }

    .accx-metric p {
      font-size: 12.5px;
      line-height: 1.55;
    }

    .accx-metric small {
      font-size: 10px;
    }

    .accx-board h3 {
      font-size: 20px;
    }

    .accx-board p,
    .accx-close p,
    .accx-zen-copy,
    .accx-zen-note {
      font-size: 14px;
      line-height: 1.85;
    }

    .accx-zen-title {
      font-size: clamp(32px, 4vw, 50px);
    }

    @media (max-width: 980px) {
      .accx-title {
        white-space: normal;
        font-size: clamp(26px, 6vw, 36px);
      }
      .accx-mini-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
      }
    }

    @media (max-width: 640px) {
      .accx-hero-copy {
        padding: 34px 18px 22px;
      }
      .accx-lead {
        font-size: 13.5px;
      }
      .accx-mini-grid div span {
        font-size: 11px;
      }
    }

  
    /* === v10 cleanup after removing lower metric cards === */
    .accx-board {
      margin-top: 18px;
    }
    .accx-zen-frame {
      margin: 16px 0 18px;
    }

  
    /* === v12 compact hero metrics panel === */
    .accx-hero-panel {
      max-width: 760px;
      margin: 0 auto;
      padding: 16px 20px 16px;
    }

    .accx-panel-caption {
      font-size: 13.5px;
      letter-spacing: 0.08em;
      margin-bottom: 12px;
    }

    .accx-mini-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px 18px;
      align-items: start;
      max-width: 620px;
      margin: 0 auto;
    }

    .accx-mini-grid div {
      text-align: left;
      padding: 2px 4px;
    }

    .accx-mini-grid div b {
      display: block;
      font-size: clamp(24px, 2.2vw, 34px);
      line-height: 1;
      margin-bottom: 4px;
    }

    .accx-mini-grid div span {
      display: block;
      max-width: none;
      margin: 0;
      font-size: 11.5px;
      line-height: 1.45;
    }

    @media (max-width: 640px) {
      .accx-panel-caption {
        font-size: 12.5px;
      }

      .accx-mini-grid {
        gap: 8px 12px;
      }

      .accx-mini-grid div b {
        font-size: 24px;
      }

      .accx-mini-grid div span {
        font-size: 11px;
      }
    }

  
    /* === v13 hero metrics: graph on left, stats on right === */
    .accx-hero-panel {
      max-width: 920px;
      margin: 0 auto;
      padding: 18px 22px 18px;
    }

    .accx-hero-panel-main {
      display: grid;
      grid-template-columns: minmax(240px, 1.05fr) minmax(340px, 1.35fr);
      gap: 20px;
      align-items: center;
    }

    .accx-hero-graph {
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 12px;
      min-width: 0;
    }

    .accx-panel-caption {
      font-size: 14px;
      letter-spacing: 0.08em;
      margin-bottom: 0;
      text-align: left;
    }

    .accx-sparkline {
      margin: 0;
      max-width: none;
    }

    .accx-mini-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px 18px;
      align-items: start;
      max-width: none;
      margin: 0;
    }

    .accx-mini-grid div {
      text-align: left;
      padding: 0;
    }

    .accx-mini-grid div b {
      display: block;
      font-size: clamp(24px, 2vw, 34px);
      line-height: 1;
      margin-bottom: 5px;
    }

    .accx-mini-grid div span {
      display: block;
      max-width: 170px;
      margin: 0;
      font-size: 11.5px;
      line-height: 1.45;
    }

    @media (max-width: 820px) {
      .accx-hero-panel-main {
        grid-template-columns: 1fr;
        gap: 14px;
      }

      .accx-panel-caption {
        text-align: center;
      }

      .accx-sparkline {
        margin: 0 auto;
      }

      .accx-mini-grid {
        max-width: 620px;
        margin: 0 auto;
      }
    }

    @media (max-width: 640px) {
      .accx-panel-caption {
        font-size: 12.5px;
      }

      .accx-mini-grid {
        gap: 8px 12px;
      }

      .accx-mini-grid div b {
        font-size: 24px;
      }

      .accx-mini-grid div span {
        font-size: 11px;
        max-width: none;
      }
    }

  
    /* === v14 fixed compact metric band === */
    .p-acceleration .accx-hero {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 14px !important;
      margin-bottom: 18px !important;
    }

    .p-acceleration .accx-hero-copy {
      padding: 42px 48px 24px !important;
      text-align: center !important;
    }

    .p-acceleration .accx-title {
      white-space: nowrap !important;
      font-size: clamp(25px, 3vw, 42px) !important;
      line-height: 1.08 !important;
      margin-bottom: 16px !important;
    }

    .p-acceleration .accx-lead {
      max-width: 920px !important;
      margin: 0 auto !important;
      text-align: center !important;
      border-left: none !important;
      padding-left: 0 !important;
      font-size: 13.8px !important;
      line-height: 1.85 !important;
    }

    .p-acceleration .accx-metric-band {
      width: min(920px, calc(100% - 48px)) !important;
      max-width: 920px !important;
      min-height: 0 !important;
      height: auto !important;
      margin: 0 auto 12px !important;
      padding: 14px 18px !important;
      display: grid !important;
      grid-template-columns: 0.88fr 1.12fr !important;
      gap: 18px !important;
      align-items: center !important;
      background: rgba(255, 255, 255, 0.78) !important;
      border: 1px solid #D7D0C3 !important;
      box-shadow: none !important;
    }

    .p-acceleration .accx-band-left {
      min-width: 0 !important;
      display: grid !important;
      grid-template-rows: auto auto !important;
      gap: 10px !important;
      align-items: center !important;
    }

    .p-acceleration .accx-panel-caption {
      font-size: 14px !important;
      line-height: 1.45 !important;
      letter-spacing: 0.08em !important;
      text-align: left !important;
      margin: 0 !important;
      color: #214b46 !important;
      font-weight: 700 !important;
    }

    .p-acceleration .accx-band-bars {
      height: 70px !important;
      width: 100% !important;
      max-width: none !important;
      margin: 0 !important;
      display: flex !important;
      align-items: end !important;
      gap: 12px !important;
      padding: 0 0 5px !important;
      border-bottom: 1px solid #b8c9c3 !important;
    }

    .p-acceleration .accx-band-bars span {
      flex: 1 1 0 !important;
      min-width: 0 !important;
    }

    .p-acceleration .accx-band-right {
      display: grid !important;
      grid-template-columns: 1fr 1fr !important;
      gap: 10px !important;
      min-width: 0 !important;
    }

    .p-acceleration .accx-band-pair {
      display: grid !important;
      grid-template-rows: auto auto !important;
      border: 1px solid #D7DDE0 !important;
      background: rgba(250, 251, 249, 0.72) !important;
    }

    .p-acceleration .accx-band-stat {
      min-width: 0 !important;
      padding: 8px 10px 7px !important;
    }

    .p-acceleration .accx-band-stat + .accx-band-stat {
      border-top: 1px solid #D7DDE0 !important;
    }

    .p-acceleration .accx-band-stat b {
      display: block !important;
      font-family: var(--serif-en) !important;
      font-size: clamp(24px, 2.25vw, 34px) !important;
      line-height: 0.95 !important;
      color: #16716f !important;
      margin: 0 0 4px !important;
    }

    .p-acceleration .accx-band-stat span {
      display: block !important;
      font-family: var(--serif-jp) !important;
      font-size: 11.2px !important;
      line-height: 1.42 !important;
      color: #334540 !important;
      margin: 0 !important;
      max-width: none !important;
    }

    @media (max-width: 900px) {
      .p-acceleration .accx-title {
        white-space: normal !important;
        font-size: clamp(26px, 6vw, 38px) !important;
      }

      .p-acceleration .accx-metric-band {
        width: calc(100% - 28px) !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
      }

      .p-acceleration .accx-panel-caption {
        text-align: center !important;
      }

      .p-acceleration .accx-band-bars {
        max-width: 520px !important;
        margin: 0 auto !important;
      }

      .p-acceleration .accx-band-right {
        max-width: 620px !important;
        margin: 0 auto !important;
        width: 100% !important;
      }
    }

    @media (max-width: 520px) {
      .p-acceleration .accx-hero-copy {
        padding: 32px 18px 20px !important;
      }

      .p-acceleration .accx-band-right {
        grid-template-columns: 1fr !important;
      }
    }


    /* === v15 AI Acceleration source + subcopy === */
    .p-acceleration .accx-subcopy {
      display: inline-block;
      margin: 0 auto 14px !important;
      padding: 8px 18px 9px;
      border-top: 1px solid rgba(192, 114, 57, 0.45);
      border-bottom: 1px solid rgba(192, 114, 57, 0.45);
      font-family: var(--serif-jp);
      font-size: clamp(17px, 2.05vw, 27px);
      line-height: 1.45;
      font-weight: 800;
      letter-spacing: 0.04em;
      color: #A15324;
      background: rgba(255, 252, 245, 0.54);
    }

    html[lang="en"] .p-acceleration .accx-subcopy {
      font-family: var(--serif-en);
      letter-spacing: 0.01em;
    }

    .p-acceleration .accx-source {
      grid-column: 1 / -1;
      padding-top: 6px;
      border-top: 1px solid rgba(49, 88, 82, 0.14);
      font-family: var(--mono);
      font-size: 9px;
      line-height: 1.65;
      letter-spacing: 0.045em;
      color: #7C8984;
      text-align: right;
    }

    .p-acceleration .accx-source a {
      color: #62726D;
      text-decoration: none;
      border-bottom: 1px solid rgba(98, 114, 109, 0.34);
    }

    .p-acceleration .accx-source a:hover {
      color: #214B46;
      border-bottom-color: #214B46;
    }

    .p-acceleration .accx-title {
      margin-bottom: 12px !important;
    }

    @media (max-width: 720px) {
      .p-acceleration .accx-subcopy {
        font-size: 17px;
        padding: 7px 12px 8px;
      }
      .p-acceleration .accx-source {
        text-align: left;
      }
    }


    /* === v16 compact operational example cards === */
    .p-acceleration .accx-board {
      display: grid !important;
      grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
      gap: 10px !important;
      margin: 12px 0 18px !important;
    }

    .p-acceleration .accx-board-label {
      grid-column: 1 / -1;
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 18px;
      padding: 0 2px 2px;
    }

    .p-acceleration .accx-board-label span {
      font-family: var(--mono);
      font-size: 9px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: #7C8984;
      white-space: nowrap;
    }

    .p-acceleration .accx-board-label strong {
      font-family: var(--serif-jp);
      font-size: 15px;
      line-height: 1.55;
      color: #263B37;
      letter-spacing: 0.03em;
      font-weight: 800;
      text-align: right;
    }

    html[lang="en"] .p-acceleration .accx-board-label strong {
      font-family: var(--serif-en);
      letter-spacing: 0.01em;
    }

    .p-acceleration .accx-row {
      display: grid !important;
      grid-template-columns: 1fr !important;
      grid-template-rows: auto 28px auto !important;
      align-items: stretch !important;
      min-height: 0 !important;
      border: 1px solid #CDD8D2 !important;
      background: rgba(255,252,245,0.78) !important;
      box-shadow: 0 10px 20px rgba(35, 61, 57, 0.045) !important;
    }

    .p-acceleration .accx-problem,
    .p-acceleration .accx-solution {
      padding: 13px 14px 12px !important;
      min-height: 0 !important;
    }

    .p-acceleration .accx-problem {
      background: linear-gradient(180deg, rgba(246, 241, 232, 0.86), rgba(250, 247, 239, 0.74)) !important;
    }

    .p-acceleration .accx-solution {
      background: linear-gradient(180deg, rgba(232, 242, 238, 0.92), rgba(241, 247, 244, 0.82)) !important;
      border-left: 0 !important;
      border-top: 1px solid #CDD8D2 !important;
      display: block !important;
    }

    .p-acceleration .accx-row h3 {
      font-size: 16px !important;
      line-height: 1.42 !important;
      margin: 0 0 7px !important;
      letter-spacing: 0.015em !important;
    }

    .p-acceleration .accx-row p {
      font-size: 12px !important;
      line-height: 1.72 !important;
      color: #4A5A56 !important;
    }

    .p-acceleration .accx-arrow {
      min-height: 28px !important;
      height: 28px !important;
      border-left: 0 !important;
      border-top: 1px solid #D8DED8 !important;
      border-bottom: 0 !important;
      background: linear-gradient(90deg, rgba(246,241,232,0.80), rgba(232,242,238,0.90)) !important;
      color: #6F9990 !important;
      font-size: 20px !important;
      line-height: 1 !important;
    }


    @media (max-width: 1080px) {
      .p-acceleration .accx-board {
        grid-template-columns: 1fr !important;
      }
      .p-acceleration .accx-row {
        grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1.05fr) !important;
        grid-template-rows: auto !important;
      }
      .p-acceleration .accx-solution {
        border-top: 0 !important;
        border-left: 1px solid #CDD8D2 !important;
      }
      .p-acceleration .accx-arrow {
        height: auto !important;
        min-height: 42px !important;
        border-top: 0 !important;
        border-left: 1px solid #D8DED8 !important;
        border-right: 0 !important;
      }
    }

    @media (max-width: 720px) {
      .p-acceleration .accx-board-label {
        display: block;
      }
      .p-acceleration .accx-board-label strong {
        display: block;
        margin-top: 6px;
        text-align: left;
        font-size: 14px;
      }
      .p-acceleration .accx-row {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto 30px auto !important;
      }
      .p-acceleration .accx-solution {
        border-left: 0 !important;
        border-top: 1px solid #CDD8D2 !important;
      }
      .p-acceleration .accx-arrow {
        border-left: 0 !important;
        border-top: 1px solid #D8DED8 !important;
        min-height: 30px !important;
        height: 30px !important;
      }
    }



    /* === v22 trim + round triad + stronger pivots === */
    .p-acceleration .accx-zen-frame {
      margin: 10px 0 16px !important;
      padding: 28px 24px 30px !important;
      background: transparent !important;
      border: 0 !important;
      overflow: visible !important;
    }

    .p-acceleration .accx-zen-frame::before,
    .p-acceleration .accx-zen-frame::after,
    .p-acceleration .accx-zen-line,
    .p-acceleration .accx-zen-title,
    .p-acceleration .accx-zen-copy,
    .p-acceleration .accx-zen-note {
      display: none !important;
    }

    .p-acceleration .accx-zen-triad {
      position: relative !important;
      display: flex !important;
      justify-content: center !important;
      align-items: center !important;
      gap: clamp(0px, 1vw, 10px) !important;
      max-width: 760px !important;
      margin: 0 auto !important;
      padding: 16px 22px 8px !important;
    }

    .p-acceleration .accx-zen-triad::before {
      content: '' !important;
      position: absolute !important;
      left: 11% !important;
      right: 11% !important;
      top: 50% !important;
      height: 10px !important;
      transform: translateY(-50%) rotate(-2deg) !important;
      background: linear-gradient(180deg, rgba(191,145,93,0.95) 0%, rgba(151,106,62,0.96) 100%) !important;
      border-radius: 999px !important;
      box-shadow: 0 2px 7px rgba(111, 76, 42, 0.18) !important;
      z-index: 0 !important;
      opacity: 0.92 !important;
    }

    .p-acceleration .accx-zen-stone {
      width: clamp(142px, 15vw, 172px) !important;
      height: clamp(142px, 15vw, 172px) !important;
      min-height: 0 !important;
      margin: 0 -4px !important;
      padding: 18px 18px 16px !important;
      border-radius: 50% !important;
      border: 1px solid rgba(184, 142, 89, 0.48) !important;
      background:
        radial-gradient(circle at 34% 28%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.58) 26%, rgba(255,250,243,0.16) 38%, transparent 39%),
        linear-gradient(180deg, rgba(181,124,67,0.78) 0%, rgba(170,111,55,0.62) 17%, rgba(170,111,55,0.08) 28%, rgba(255,244,228,0.0) 29%),
        radial-gradient(circle at 50% 58%, rgba(255,247,235,0.98) 0%, rgba(248,236,217,0.96) 68%, rgba(232,214,186,0.98) 100%) !important;
      box-shadow: 0 14px 26px rgba(88, 65, 38, 0.09), inset 0 1px 0 rgba(255,255,255,0.82) !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: center !important;
      align-items: center !important;
      text-align: center !important;
      position: relative !important;
      z-index: 1 !important;
    }

    .p-acceleration .accx-zen-stone:nth-child(1) {
      transform: rotate(-5deg) translateY(3px) !important;
    }

    .p-acceleration .accx-zen-stone:nth-child(2) {
      transform: translateY(12px) scale(1.02) !important;
      background:
        radial-gradient(circle at 34% 28%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.58) 26%, rgba(255,250,243,0.16) 38%, transparent 39%),
        linear-gradient(180deg, rgba(174,109,54,0.82) 0%, rgba(160,98,47,0.70) 18%, rgba(170,111,55,0.08) 29%, rgba(255,244,228,0.0) 30%),
        radial-gradient(circle at 50% 58%, rgba(255,248,236,0.98) 0%, rgba(245,231,210,0.96) 68%, rgba(228,208,176,0.99) 100%) !important;
      border-color: rgba(174, 121, 66, 0.52) !important;
    }

    .p-acceleration .accx-zen-stone:nth-child(3) {
      transform: rotate(5deg) translateY(4px) !important;
    }

    .p-acceleration .accx-zen-stone span {
      font-family: var(--serif-jp-classic) !important;
      font-size: clamp(20px, 2.0vw, 26px) !important;
      line-height: 1.2 !important;
      color: #4B2D18 !important;
      margin: 0 0 9px !important;
      font-weight: 700 !important;
      letter-spacing: 0.04em !important;
      text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
    }

    .p-acceleration .accx-zen-stone small {
      font-family: var(--serif-jp) !important;
      font-size: clamp(10.5px, 0.92vw, 12px) !important;
      line-height: 1.55 !important;
      letter-spacing: 0.03em !important;
      color: #72523B !important;
      max-width: 118px !important;
    }


    html[lang="en"] .p-acceleration .accx-zen-stone span {
      font-family: var(--serif-en) !important;
      font-size: clamp(15px, 1.35vw, 19px) !important;
      line-height: 1.08 !important;
      letter-spacing: 0.01em !important;
      max-width: 112px !important;
      display: block !important;
      text-wrap: balance !important;
    }

    html[lang="en"] .p-acceleration .accx-zen-stone small {
      font-family: var(--serif-en) !important;
      font-size: clamp(9.5px, 0.78vw, 10.5px) !important;
      line-height: 1.35 !important;
      letter-spacing: 0.01em !important;
      max-width: 106px !important;
      display: block !important;
      text-wrap: balance !important;
    }

    .p-acceleration .accx-board {
      margin-top: 8px !important;
      margin-bottom: 10px !important;
    }

    .p-acceleration .accx-row {
      grid-template-rows: auto 42px auto !important;
      border-color: #C4D1CB !important;
      background: rgba(255,252,245,0.90) !important;
      overflow: hidden !important;
    }

    .p-acceleration .accx-arrow {
      height: 42px !important;
      min-height: 42px !important;
      border-left: 0 !important;
      border-top: 1px solid #C4D1CB !important;
      border-bottom: 1px solid #C4D1CB !important;
      background:
        linear-gradient(90deg, rgba(246,241,232,0.88) 0%, rgba(255,252,245,0.96) 36%, rgba(214,235,226,0.94) 100%) !important;
      color: #1F5C53 !important;
      font-family: var(--mono) !important;
      font-size: 11px !important;
      font-weight: 800 !important;
      letter-spacing: 0.13em !important;
      line-height: 1 !important;
      text-transform: uppercase !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 10px !important;
      position: relative !important;
    }

    .p-acceleration .accx-arrow::before,
    .p-acceleration .accx-arrow::after {
      content: '' !important;
      display: block !important;
      width: 28px !important;
      height: 1px !important;
      background: currentColor !important;
      opacity: 0.62 !important;
    }

    .p-acceleration .accx-arrow::after {
      width: 28px !important;
      box-shadow: 9px 0 0 -8px currentColor !important;
    }

    .p-acceleration .accx-solution {
      border-top: 0 !important;
    }

    @media (max-width: 1080px) {
      .p-acceleration .accx-zen-triad {
        flex-wrap: wrap !important;
        padding-top: 18px !important;
      }

      .p-acceleration .accx-row {
        grid-template-columns: minmax(0, 1fr) 74px minmax(0, 1.05fr) !important;
        grid-template-rows: auto !important;
      }

      .p-acceleration .accx-arrow {
        height: auto !important;
        min-height: 100% !important;
        border-top: 0 !important;
        border-left: 1px solid #C4D1CB !important;
        border-right: 1px solid #C4D1CB !important;
        border-bottom: 0 !important;
        writing-mode: vertical-rl !important;
        text-orientation: mixed !important;
        letter-spacing: 0.12em !important;
      }

      .p-acceleration .accx-arrow::before,
      .p-acceleration .accx-arrow::after {
        width: 1px !important;
        height: 22px !important;
      }

      .p-acceleration .accx-solution {
        border-top: 0 !important;
        border-left: 0 !important;
      }
    }

    @media (max-width: 720px) {
      .p-acceleration .accx-zen-frame {
        padding: 18px 0 24px !important;
      }

      .p-acceleration .accx-zen-triad {
        gap: 10px !important;
        padding: 18px 10px 10px !important;
      }

      .p-acceleration .accx-zen-triad::before {
        left: 8% !important;
        right: 8% !important;
      }

      .p-acceleration .accx-zen-stone {
        width: min(42vw, 154px) !important;
        height: min(42vw, 154px) !important;
        margin: 0 -2px !important;
      }

      .p-acceleration .accx-zen-stone:nth-child(1),
      .p-acceleration .accx-zen-stone:nth-child(2),
      .p-acceleration .accx-zen-stone:nth-child(3) {
        transform: none !important;
      }

      .p-acceleration .accx-row {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto 40px auto !important;
      }

      .p-acceleration .accx-arrow {
        writing-mode: horizontal-tb !important;
        height: 40px !important;
        min-height: 40px !important;
        border-left: 0 !important;
        border-right: 0 !important;
        border-top: 1px solid #C4D1CB !important;
        border-bottom: 1px solid #C4D1CB !important;
      }

      .p-acceleration .accx-arrow::before,
      .p-acceleration .accx-arrow::after {
        width: 22px !important;
        height: 1px !important;
      }
    }

  
