/* Japanese visual draft: relationships, decision gates, paired roles.
   Content and imagery are the accepted originals. No extra claims or animation. */
html[lang="ja"] { --vr-champagne:#c8ad71; --vr-ink:#142440; --vr-line:#cbd3df; }
html[lang="ja"] .hero,
html[lang="ja"] #main > .section { position:relative; isolation:isolate; }

/* A restrained architectural line language; never a fictitious geographical route. */
.hero::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(118deg,transparent 67%,#dfc99018 67.05%,transparent 67.15%),linear-gradient(118deg,transparent 75%,#dfc9900c 75.05%,transparent 75.15%); }
.hero-map { border-color:#dfc99046; box-shadow:18px 18px 0 -17px #ddc68a55; background:linear-gradient(140deg,#253e5d88,#07142a99); }
#main > .section::before { pointer-events:none; }
#main :is(.section-heading,.fit-grid>div:first-child,.contact-copy,.founder-copy) > .eyebrow,
#main .approach-heading > div > .eyebrow {
  display:flex; align-items:center; gap:13px; max-width:100%;
}
#main :is(.section-heading,.fit-grid>div:first-child,.contact-copy,.founder-copy) > .eyebrow::before,
#main .approach-heading > div > .eyebrow::before {
  content:""; flex:0 0 8px; width:8px; height:8px; border:1px solid currentColor; transform:rotate(45deg);
}
#main :is(.section-heading,.fit-grid>div:first-child,.contact-copy,.founder-copy) > h2::after,
#main .approach-heading > div > h2::after { width:92px; height:2px; }

/* Reading from the business question to the supporting explanation. */
.fit { background:linear-gradient(120deg,#ffffff,#f4f5f7); }
.fit-list { gap:20px; }
.fit-list li { position:relative; padding:24px 26px 24px 34px; border:0; border-left:2px solid #b69a65;
  background:linear-gradient(100deg,#fff,#f0f3f7); box-shadow:0 5px 22px #0b193007; }
.fit-list li::before { content:""; position:absolute; left:-5px; top:32px; width:8px; height:8px; background:#b69a65; transform:rotate(45deg); }
.sectors { padding:27px; background:#edf1f5; border-top:1px solid #cbd3df; }
.market-route { padding:28px 32px; border-left:2px solid #baa375; background:linear-gradient(100deg,#f0f3f7,#fff); }

/* Three interdependent capabilities, not a compulsory one-way programme. */
.approach { background:radial-gradient(ellipse at 100% 0%,#233e5e 0,transparent 47%),linear-gradient(135deg,#101f3b,#071127 68%); }
.strategy-route { border:0; gap:32px; position:relative; }
.strategy-route li,.strategy-route li+li,.strategy-route li:last-child {
  border:1px solid #dfc9902e; border-top:2px solid #d7bd82; padding:30px 25px 27px;
  background:linear-gradient(150deg,#263d5a77,#12223c55); display:flex; flex-direction:column;
}
.strategy-route li+li::before {
  content:"↔"; top:32px; left:-31px; width:29px; line-height:30px; font-size:22px;
  color:#dfc990; background:transparent;
}
.strategy-route .route-wall { padding-top:20px; border-top:1px solid #dfc99022; margin-top:auto; }
.strategy-route li>p:not(.eyebrow):not(.route-question) { margin-bottom:27px; }
#strategy-value-diagram { position:relative; margin-block:56px; padding:1px;
  background:linear-gradient(145deg,#dfc99077,#dfc9900c 35%,#dfc9903d); }
#strategy-value-diagram::before,#strategy-value-diagram::after { content:""; position:absolute; width:22px; height:22px; pointer-events:none; border-color:#e1ca90; }
#strategy-value-diagram::before { top:0; left:0; border-top:2px solid; border-left:2px solid; color:#e1ca90; }
#strategy-value-diagram::after { bottom:0; right:0; border-bottom:2px solid; border-right:2px solid; color:#e1ca90; }
#main #jgx-strategy-value-proposal .jgx-surface { background:linear-gradient(125deg,#182b47,#08162c 77%); padding:38px; }
.strategy-example { border:0; border-left:2px solid #d8be87; background:linear-gradient(100deg,#263b585c,#1321395c); }

/* Stage investment: the checkpoint, not momentum, is the strongest visual. */
.phase-process { background:radial-gradient(ellipse at 100% 0%,#e8edf4 0,transparent 55%),#f9fafc; }
.phase-process > .container > .section-heading { padding-bottom:12px; }
.phase-overview { gap:26px; }
.phase-overview-card { border:1px solid #d3d9e3; border-top:0; box-shadow:0 12px 26px #10244109; }
.phase-overview-heading { padding:24px 21px 0; position:relative; border-top:3px solid #b69759; }
#main .phase-overview-heading .phase-label { border-bottom:1px solid #d8dde5; padding-bottom:14px; margin-bottom:19px; color:#6c5326; }
.phase-overview-heading h3 { min-height:3.3em; }
.phase-overview-work { margin-inline:21px; }
.phase-overview-decision { position:relative; padding:23px 21px; background:linear-gradient(125deg,#223754,#0c1c35); }
.phase-overview-decision h4,.phase-decision h4 { margin-bottom:12px; }
.phase-connector { display:none; }
.phase-overview-card:not(:last-child) .phase-overview-decision::after {
  content:"→"; position:absolute; right:-26px; top:19px; width:25px; color:#80622e; text-align:center; font:500 22px/30px var(--sans);
}
#main .phase-common-options { display:flex; flex-wrap:wrap; justify-content:center; align-items:baseline; gap:8px 24px; padding:20px 24px; margin-top:24px; border-block:1px solid #cbd3df; color:var(--ink); background:#f1eee6; }
#main .phase-common-options strong { font-size:var(--jp-type-label); font-weight:600; color:#705727; }
.phase-detail-link { background:#fff; color:#675026; }
.phase-detail-link:hover { background:#f7f1e5; }
.phase-details-title { margin-top:60px; }
.phase-card { border-top:1px solid #cbd3df; border-left:3px solid #b69759; box-shadow:0 7px 23px #10244105; }
.phase-card-heading { background:linear-gradient(120deg,#edf1f7,#f9fafc); }
.phase-evidence { border-top:1px solid #cbd3df; }
.phase-decision { background:linear-gradient(125deg,#223754,#0c1c35); }
.phase-consultation { background:#ece7da; border:0; border-left:3px solid #b69759; }

/* Same pair, same position on every row. Labels remain explicit at every width. */
.services { background:linear-gradient(130deg,#e9eef4,#f4f6f9); }
.responsibility-list { border:0; display:grid; gap:24px; }
.responsibility-list article { border:0; grid-template-columns:minmax(0,.72fr) minmax(0,1.14fr) minmax(0,1.14fr);
  gap:0; padding:0; background:#fff; box-shadow:0 8px 24px #10244106; }
.responsibility-list article>h3 { padding:28px 24px; border-top:2px solid #a6b2c5; }
.responsibility-list article>div { padding:28px 26px; border-left:0; border-top:2px solid #c3a369; }
.responsibility-list article>div:nth-child(2) { background:linear-gradient(125deg,#1a2d48,#0b1c35); padding:28px 26px; }
.responsibility-list article>div:last-child { background:#f3eee4; }
#main .responsibility-list article>div:nth-child(2) h4 { color:#e5cf9b; }
#main .responsibility-list article>div:nth-child(2) p { color:#e0e6ee; }
#main .responsibility-list article>div:last-child h4 { color:#705727; }
#main .responsibility-list article>div:last-child p { color:#344358; }
.responsibility-list h4 { padding-bottom:15px; border-bottom:1px solid #bda87955; margin-bottom:17px; }
.services .service-footnote { padding:23px 27px; border-left:2px solid #b69759; background:#ffffff88; }

/* Existing conceptual photograph only around the related case-study heading.
   Foreground example and its original 'proposal image' caption remain untouched. */
.projects { background:#f9fafc; }
.projects>.container>.section-heading { position:relative; isolation:isolate; padding:37px 32px; border-left:2px solid #b89c63; background:#f1f3f7; }
.projects>.container>.section-heading::before {
  content:""; pointer-events:none; z-index:-1; position:absolute; inset:0 0 0 43%;
  background:linear-gradient(90deg,#f1f3f7 0%,#f1f3f7b8 50%,#f1f3f785 100%),url('./img/jp-projects/kitchen-concept.png') center/cover no-repeat;
  opacity:.45;
}
.projects>.container>.section-heading .section-intro { color:#344357; }
.hospitality-case { border-top:0; }
.case-work-log>div { border-top:0; padding:0 0 0 21px; border-left:2px solid #bd9f66; position:relative; margin-top:28px; }
.case-work-log>div::before { content:""; width:6px; height:6px; background:#bd9f66; position:absolute; left:-4px; top:9px; transform:rotate(45deg); }
.case-work-log>div dt { margin-bottom:9px; }
.case-design-examples { background:#fff; border-color:#c9d1dc; box-shadow:0 12px 32px #0c203507; }
.case-design-examples>summary { background:linear-gradient(100deg,#eef2f6,#fcfcfd); border-left:3px solid #b69a65; }
.pipeline-heading-intro { padding:35px 32px; border:0; border-left:2px solid #b69a65; background:#eef2f7; }
.case-evidence { background:linear-gradient(110deg,#edf1f7,#f4f6f9); border-color:#ae915b; }
.case-evidence>div { padding-left:16px; border-left:1px solid #bac6d6; }
.case-evidence>div+div { border-left-color:#ae915b; }
.updates-grid { gap:32px; }
.updates-grid>article { padding:31px; background:#f1f4f8; border-top:2px solid #b89e6b; }
.faq details { margin-bottom:10px; background:#fff; border:1px solid #d4dce5; padding-inline:24px; }
.faq details[open] { border-left:3px solid #b69759; background:#f5f7fa; }
.faq details summary { padding-right:38px; }
.faq details summary::after { right:0; }
.contact { background:radial-gradient(ellipse at 0 80%,#263d5d 0,transparent 55%),#09172e; }
.contact::before { content:""; position:absolute; top:25px; left:0; width:42%; height:85%; z-index:-1;
  background:repeating-linear-gradient(125deg,transparent 0,transparent 88px,#d9c18b0c 89px,transparent 90px); }
.founder { border-block:1px solid #dec78f33; }

@media(min-width:961px) and (max-width:1150px) {
  .phase-overview { gap:20px; }
  .phase-overview-heading,.phase-overview-decision { padding-inline:15px; }
  .phase-overview-work { margin-inline:15px; }
  .phase-overview-card:not(:last-child) .phase-overview-decision::after { width:19px; right:-20px; }
  .responsibility-list article>h3,.responsibility-list article>div,.responsibility-list article>div:nth-child(2) { padding:24px 20px; }
}
@media(max-width:960px) {
  .phase-overview-heading h3 { min-height:0; }
  .phase-overview-card:not(:last-child) .phase-overview-decision::after { content:none; }
  .phase-overview-card:not(:last-child)::after { content:"↓"; position:absolute; bottom:-25px; left:calc(50% - 12px); width:24px; text-align:center; color:#80622e; font-size:20px; line-height:24px; }
  .responsibility-list article { grid-template-columns:1fr 1fr; }
  .responsibility-list article>h3 { grid-column:1/-1; padding:22px 26px; }
}
@media(max-width:720px) {
  .hero-map { box-shadow:none; }
  .strategy-route { gap:30px; }
  .strategy-route li,.strategy-route li+li,.strategy-route li:last-child { padding:26px 22px; }
  .strategy-route li+li::before { content:"↕"; left:calc(50% - 15px); right:auto; top:-31px; width:30px; line-height:29px; }
  #strategy-value-diagram { margin-block:36px; }
  #main #jgx-strategy-value-proposal .jgx-surface { padding:25px 18px; }
  .market-route,.sectors { padding:24px 22px; }
  .fit-list li { padding:23px 21px 23px 27px; }
  .responsibility-list article { grid-template-columns:1fr; gap:0; }
  .responsibility-list article>h3 { grid-column:auto; }
  .responsibility-list article>div,.responsibility-list article>div:nth-child(2),.responsibility-list article>div:last-child { border-left:0; border-top:2px solid #c3a369; padding:25px 22px; }
  .services .service-footnote { padding:23px 22px; }
  .projects>.container>.section-heading { padding:27px 22px; }
  .projects>.container>.section-heading::before { inset:0; opacity:.2; }
  .pipeline-heading-intro { padding:27px 23px; }
  .updates-grid>article { padding:26px 23px; }
  .faq details { padding-inline:18px; }
}
@media(forced-colors:active) {
  .hero::before,.projects>.container>.section-heading::before,.contact::before { display:none; }
  .phase-common-options,.responsibility-list article>div { border:1px solid CanvasText; }
}

/* One role-based type and spacing system for the entire Japanese draft.
   This stylesheet is never loaded by the English page. */
html[lang="ja"] {
  --jp-type-body:1.125rem;
  --jp-type-label:1rem;
  --jp-type-note:.9375rem;
  --jp-type-section:2.25rem;
  --jp-type-item:1.625rem;
  --jp-type-small-title:1.375rem;
  --jp-type-lead:1.25rem;
  --vr-body-weight:500;
  --vr-title-weight:600;
  --vr-body-line:1.9;
  --vr-title-line:1.6;
  --vr-panel-pad:28px;
  --vr-block-gap:48px;
  --muted:#43546a;
}
html[lang="ja"] body { font-weight:var(--vr-body-weight); }
#main :is(p,dd) { font-weight:var(--vr-body-weight); line-height:var(--vr-body-line); }
#main .fit-list li>span { font-weight:var(--vr-body-weight); line-height:var(--vr-body-line); }
#main :is(h1,h2,h3,h4,h5,.pipeline-body h4,.case-material-reference h4) { font-family:var(--serif); font-weight:var(--vr-title-weight); line-height:var(--vr-title-line); }
#main :is(h3,.concept-feature h4,.illustrated-concept-copy h4) { font-size:var(--jp-type-item); }
#main :is(.hero-map h2,.sectors h3,.market-route h3,.pipeline-body h4,.case-material-reference h4,.phase-consultation h3,.phase-overview h3,.phase-card h3) { font-size:var(--jp-type-small-title); }
#main :is(dt,.phase-label,.phase-overview-decision h4,.phase-decision h4,.responsibility-list h4,.concept-business-note h5,.field>label,.optional-fields>summary) {
  font-family:var(--sans); font-size:var(--jp-type-label); font-weight:600; line-height:1.75;
}
#main :is(.hero-lead,.feature-lead,.route-question,.contact-free,.fit-list strong) { font-weight:600; line-height:1.8; }
#main :is(figcaption,.eyebrow,.body-note,.case-category,.case-audience,.field-hint,.privacy-note,.hero-consultation-note,.update-label,.route-wall,.market-sources,.contact-email>span,.case-design-examples>summary>span,.optional-fields>summary>span,.hero-gcc-entry small) {
  font-size:var(--jp-type-note); font-weight:var(--vr-body-weight); line-height:1.8;
}
html[lang="ja"] #main :is(.eyebrow,.case-category,.update-label) { font-weight:600; letter-spacing:.07em; }
#main :is(.button,.text-link,.phase-detail-link,.hero-gcc-entry) { font-size:var(--jp-type-label); font-weight:600; }
#main :is(.field input,.field select,.field textarea) { font-size:var(--jp-type-body); font-weight:var(--vr-body-weight); }
body :is(.site-nav,.header-gcc,.menu-toggle) { font-weight:600; }
#main :is(.hero-description,.approach-heading>p,.strategy-route li>p:not(.eyebrow):not(.route-question),.strategy-example>div>p:not(.eyebrow),.founder .founder-copy>p:not(.eyebrow):not(.founder-name):not(.founder-role)) { color:#dce4ef; }
#main :is(.hero-map figcaption,.strategy-example figcaption,.route-wall,.hero-consultation-note,.hero-gcc-entry small) { color:#cdd8e8; }
#main .section-heading { margin-bottom:var(--vr-block-gap); }
#main .section-intro { line-height:var(--vr-body-line); }
#main :is(.section-heading,.fit-grid>div:first-child,.founder-copy,.contact-copy,.faq-grid>div:first-child)>h2,
#main .approach-heading>div>h2 { padding-bottom:24px; }
#main :is(.section-heading,.fit-grid>div:first-child,.founder-copy,.contact-copy,.faq-grid>div:first-child)>h2::after,
#main .approach-heading>div>h2::after { width:64px; }
.section { padding-block:96px; }
.fit-list { display:grid; gap:20px; }
.fit-list li:first-child { padding-top:24px; }
.fit-list li:first-child::before { top:32px; }
.strategy-route { margin-top:var(--vr-block-gap); }
.strategy-route li,.strategy-route li+li,.strategy-route li:last-child { padding:var(--vr-panel-pad); border-top-width:1px; }
.strategy-route .eyebrow { margin-bottom:16px; }
.strategy-route h3 { margin-bottom:0; }
#main .strategy-route .route-question { margin-top:20px; }
.strategy-route li>p:not(.eyebrow):not(.route-question) { margin-top:16px; margin-bottom:24px; }
.strategy-route .route-wall { padding-top:16px; }
#strategy-value-diagram::before,#strategy-value-diagram::after { content:none; }
#strategy-value-diagram { max-width:1040px; margin-block:var(--vr-block-gap); background:#dfc99040; }
#main #jgx-strategy-value-proposal { font-family:var(--sans); --jgx-muted:#d3deec; }
#main #jgx-strategy-value-proposal :is(h3,.jgx-outcome p) {
  font-family:var(--serif); font-size:var(--jp-type-small-title); font-weight:var(--vr-title-weight); line-height:var(--vr-title-line); letter-spacing:.025em;
}
#main #jgx-strategy-value-proposal :is(.jgx-sub,.jgx-intent) { font:var(--vr-body-weight) var(--jp-type-body)/1.8 var(--sans); }
#main #jgx-strategy-value-proposal .jgx-intent { font-weight:600; }
#main #jgx-strategy-value-proposal :is(.jgx-label,.jgx-levers li,.jgx-exit span,.jgx-outcome h4) { font:600 var(--jp-type-label)/1.75 var(--sans); }
#main #jgx-strategy-value-proposal .jgx-levers li { font-weight:var(--vr-body-weight); }
#main #jgx-strategy-value-proposal :is(.jgx-kicker,.jgx-value-heading,.jgx-note,.jgx-feedback span) { font:var(--vr-body-weight) var(--jp-type-note)/1.8 var(--sans); }
#main #jgx-strategy-value-proposal .jgx-kicker { letter-spacing:.07em; font-weight:600; margin-bottom:28px; }
#main #jgx-strategy-value-proposal .jgx-feedback b { font-family:var(--sans); }
#main #jgx-strategy-value-proposal .jgx-work { grid-template-columns:minmax(0,1.5fr) 64px minmax(0,1fr); gap:16px; }
#main #jgx-strategy-value-proposal .jgx-transform { padding:24px; }
#main #jgx-strategy-value-proposal .jgx-levers { column-gap:16px; }
#main #jgx-strategy-value-proposal .jgx-outcomes { gap:32px; }
#main #jgx-strategy-value-proposal .jgx-outcome { padding-top:20px; }
#main #jgx-strategy-value-proposal .jgx-note { margin-top:28px; }
.strategy-example { padding:32px; gap:40px; }
.phase-overview-heading { padding-top:24px; }
#main .phase-overview-heading h3 { min-height:0; }
#main .phase-overview-decision>p { min-height:0; line-height:1.8; }
.phase-overview-heading,.phase-overview-decision { padding-inline:24px; }
.phase-overview-work { margin-inline:24px; margin-block:20px 24px; }
.phase-overview-heading .phase-label { min-height:0; }
#main .phase-overview-heading .phase-label { min-height:48px; }
.phase-overview-decision { padding-block:24px; }
.phase-detail-link { padding:16px 24px; }
.phase-card-heading,.phase-decision { padding:var(--vr-panel-pad); }
.phase-card { box-shadow:none; border-left-width:2px; }
.phase-card .phase-label { margin-bottom:16px; }
.phase-details-title { margin-top:var(--vr-block-gap); }
.phase-consultation { padding:var(--vr-panel-pad); }
.responsibility-list article>h3,.responsibility-list article>div,.responsibility-list article>div:nth-child(2),.responsibility-list article>div:last-child { padding:var(--vr-panel-pad); }
#main .responsibility-list article>h3 { font-size:var(--jp-type-small-title); }
.responsibility-list h4 { min-height:3.5em; padding-bottom:16px; margin-bottom:16px; }
.responsibility-list article>h3,.responsibility-list article>div { border-top-width:1px; }
.projects>.container>.section-heading { grid-template-columns:1fr 1fr; gap:0 48px; padding:32px; }
.case-design-content { padding:32px; }
.pipeline-heading-intro { padding:32px; }
.pipeline-body { padding-top:0; }
.case-evidence { padding:24px; }
.case-evidence>div { padding-left:0; border-left:0; }
.case-evidence>div+div { border-left:0; }
.updates-grid>article { padding:32px; border-top-width:1px; }
#main .faq summary { font-size:var(--jp-type-small-title); line-height:1.75; }
#main .concept-creator .concept-creator-role { font:600 var(--jp-type-label)/1.75 var(--sans); margin-bottom:12px; }
#main .concept-creator :is(h4,h3) { font:600 var(--jp-type-item)/var(--vr-title-line) var(--serif); margin-bottom:16px; }
#main .concept-creator p:not(.concept-creator-role) { font:var(--vr-body-weight) var(--jp-type-body)/var(--vr-body-line) var(--sans); }
#main #jp-kuroko .jgx-photo-reference>figcaption { font:var(--vr-body-weight) var(--jp-type-note)/1.8 var(--sans); }
.concept-creator { gap:28px; padding-block:32px; }
.site-footer :is(p,small,.footer-links) { font-weight:var(--vr-body-weight); }

/* Shared rows align all four stages without fixed heights or clipped copy. */
@supports(grid-template-rows:subgrid) {
  @media(min-width:961px) {
    .phase-overview { row-gap:0; }
    .phase-overview-card { display:grid; grid-template-rows:subgrid; grid-row:span 4; }
    .phase-overview-decision { margin-top:0; }
  }
}
@media(min-width:961px) and (max-width:1150px) {
  .phase-overview-heading,.phase-overview-decision,.phase-detail-link { padding-inline:16px; }
  .phase-overview-work { margin-inline:16px; }
  .responsibility-list article>h3,.responsibility-list article>div,.responsibility-list article>div:nth-child(2) { padding:24px; }
}
@media(min-width:721px) and (max-width:1100px) {
  .strategy-route { gap:24px; }
  .strategy-route li,.strategy-route li+li,.strategy-route li:last-child { padding:24px 20px; }
  .strategy-route li+li::before { left:-25px; width:23px; }
}
@media(max-width:860px) { .section { padding-block:72px; } }
@media(max-width:720px) {
  html[lang="ja"] { --jp-type-body:1.0625rem; --jp-type-section:1.75rem; --jp-type-item:1.4375rem; --jp-type-small-title:1.25rem; --jp-type-lead:1.125rem; --vr-panel-pad:22px; --vr-block-gap:32px; }
  .section { padding-block:64px; }
  #main :is(.section-heading,.fit-grid>div:first-child,.founder-copy,.contact-copy,.faq-grid>div:first-child)>h2,
  #main .approach-heading>div>h2 { padding-bottom:20px; }
  .strategy-route li,.strategy-route li+li,.strategy-route li:last-child { padding:24px 22px; }
  #main #jgx-strategy-value-proposal .jgx-surface { padding:28px 22px; }
  #main #jgx-strategy-value-proposal .jgx-work { grid-template-columns:1fr; gap:20px; }
  #main #jgx-strategy-value-proposal .jgx-input h3 { text-wrap:balance; }
  #main #jgx-strategy-value-proposal .jgx-feedback { display:flex; justify-content:center; gap:64px; }
  #main #jgx-strategy-value-proposal .jgx-forward { font-size:0; }
  #main #jgx-strategy-value-proposal .jgx-forward::after { content:"↓"; font-size:25px; }
  #main #jgx-strategy-value-proposal .jgx-back { font-size:0; }
  #main #jgx-strategy-value-proposal .jgx-back::after { content:"↑"; font-size:25px; }
  #main #jgx-strategy-value-proposal .jgx-validation { text-align:center; }
  #main #jgx-strategy-value-proposal .jgx-transform { padding:22px; }
  #main #jgx-strategy-value-proposal .jgx-outcomes { grid-template-columns:1fr; gap:24px; }
  .strategy-example { padding:24px 22px; gap:24px; }
  .phase-overview-heading,.phase-overview-decision,.phase-detail-link { padding-inline:22px; }
  .phase-overview-work { margin-inline:22px; }
  #main .phase-common-options { justify-content:flex-start; padding:20px 22px; gap:8px; }
  #main .phase-common-options strong { flex-basis:100%; }
  .responsibility-list h4 { min-height:0; }
  .projects>.container>.section-heading,.pipeline-heading-intro,.updates-grid>article,.case-design-content { padding:24px 22px; }
  .concept-creator { gap:24px; padding-block:24px; }
}
@media(max-width:380px) {
  #main #jgx-strategy-value-proposal .jgx-surface { padding:24px 16px; }
  #main #jgx-strategy-value-proposal .jgx-transform { padding:20px 16px; }
  #main #jgx-strategy-value-proposal .jgx-levers { grid-template-columns:1fr; }
  #main #jgx-strategy-value-proposal .jgx-inputs { gap:16px; }
}

/* Approved finishing: preserve words and type sizes; wrap only between phrases. */
html[lang="ja"] #main .vr-heading-unit {
  display:inline-block; inline-size:max-content; max-inline-size:100%;
  white-space:normal; overflow-wrap:anywhere;
}

/* Reading paragraphs use the regular face. Labels, key lines, diagram text,
   captions and short Phase summaries keep their established weights. */
html[lang="ja"] #main :is(
  .hero-description,
  .section-intro,
  .fit-list li>span,
  .market-route>p,
  .approach-heading>p,
  .strategy-route li>p:not(.eyebrow):not(.route-question),
  .strategy-example>div>p:not(.eyebrow),
  .phase-work,
  .phase-evidence dd,
  .phase-consultation p:not(.body-note),
  .responsibility-list p,
  .service-footnote p,
  .founder-copy>p:not(.eyebrow):not(.founder-name):not(.founder-role),
  .case-work-log dd,
  .case-progress>p:not(.eyebrow),
  .concept-feature>p:not(.feature-lead),
  .case-material-reference p,
  .illustrated-concept-copy>p:not(.eyebrow),
  .concept-business-note p,
  .concept-creator p:not(.concept-creator-role),
  .pipeline-heading-intro>p:not(.eyebrow),
  .pipeline-body>p,
  .case-evidence dd,
  .updates-grid article>p:not(.update-label):not(.event-date),
  .faq details>p,
  .contact-copy>p:not(.eyebrow):not(.contact-free):not(.contact-email)
):not(.body-note):not(.case-audience) { font-weight:400; }

/* Instruction v0.1: conditional return to strategy, without changing type or colours. */
#main #jgx-strategy-value-proposal .jgx-review-cycle {
  display: flow-root;
  position: relative;
  padding-right: 24px;
}
#main #jgx-strategy-value-proposal .jgx-review-cycle .jgx-validation {
  align-self: end;
}
#main #jgx-strategy-value-proposal .jgx-review-return-label {
  display: block;
  margin: 24px 0 0;
  color: var(--jgx-gold);
  text-align: right;
}
#main #jgx-strategy-value-proposal .jgx-review-return-line {
  position: absolute;
  top: 30px;
  bottom: 0;
  right: 0;
  width: 20px;
  border: 1px dashed var(--jgx-gold);
  border-left: 0;
  pointer-events: none;
}
#main #jgx-strategy-value-proposal .jgx-review-return-line::before {
  content: "";
  position: absolute;
  top: -4px;
  left: 0;
  width: 6px;
  height: 6px;
  border-left: 1px solid var(--jgx-gold);
  border-bottom: 1px solid var(--jgx-gold);
  transform: rotate(45deg);
}
#main .phase-progress-note { margin: 24px 0; }
#main .kitchen-design-status { margin: 20px 0 0; }
