/* Parallel physical development: shared by company home, personal story and case. */
.parallel-feature { color: var(--ink, #151c29); background: var(--paper, #fff); }
.parallel-heading { max-width: 780px; }
.parallel-heading h2 { margin: 10px 0 22px; font-size: clamp(28px, 3.3vw, 42px); line-height: 1.15; letter-spacing: -1.2px; }
.parallel-heading > p:last-child { color: var(--muted, #626a76); max-width: 740px; font-size: 17px; line-height: 1.65; }
.parallel-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; padding: 30px 0; margin: 24px 0 30px; border-block: 1px solid var(--line, #e2e6ed); }
.parallel-stats dt { font-size: 15px; line-height: 1.5; }
.parallel-stats strong { display: block; color: var(--accent, #0866dd); font-size: 38px; line-height: 1.15; font-weight: 600; letter-spacing: -1px; }
.parallel-stats dd { margin: 8px 0 0; color: var(--muted, #626a76); font-size: 13px; line-height: 1.5; }
.parallel-map { margin-top: 32px; }
.parallel-context { border-bottom: 1px solid var(--line, #e2e6ed); padding: 0 0 24px; text-align: center; }
.parallel-context strong { display: block; font-size: 20px; font-weight: 600; }
.parallel-context span { display: block; color: var(--muted, #626a76); margin-top: 8px; font-size: 14px; }
.parallel-lanes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; padding-top: 26px; }
.parallel-lane { min-width: 0; padding: 28px; border: 1px solid var(--line, #e2e6ed); border-top: 3px solid var(--accent, #0866dd); border-radius: 12px; background: var(--soft, #f5f7fa); }
.parallel-lane + .parallel-lane { border-top-color: #07817f; }
.parallel-lane-name { color: var(--accent, #0866dd); font-size: 13px; font-weight: 600; letter-spacing: .3px; }
.parallel-lane + .parallel-lane .parallel-lane-name { color: #087d7b; }
.parallel-lane h3 { font-size: 21px; line-height: 1.35; letter-spacing: -.4px; margin-top: 12px; }
.parallel-lane ol { list-style: none; padding: 0; margin: 24px 0; counter-reset: parallel-step; }
.parallel-lane li { counter-increment: parallel-step; position: relative; padding: 12px 0 12px 36px; border-bottom: 1px solid var(--line, #e2e6ed); }
.parallel-lane li::before { content: "0" counter(parallel-step); position: absolute; left: 0; top: 14px; color: var(--muted, #626a76); font-size: 12px; }
.parallel-lane li strong { font-size: 15px; font-weight: 600; }
.parallel-lane li span { display: block; color: var(--muted, #626a76); font-size: 14px; line-height: 1.55; margin-top: 3px; }
.parallel-result { font-size: 15px; line-height: 1.55; font-weight: 600; }
.parallel-return { display: flex; gap: 10px; align-items: center; color: var(--muted, #626a76); margin-top: 14px; font-size: 13px; }
.parallel-return > span { font-size: 24px; color: var(--accent, #0866dd); }
.parallel-map-note, .parallel-boundary { color: var(--muted, #626a76); font-size: 13px; line-height: 1.6; margin: 18px 0 0; max-width: 820px; }
.parallel-boundary { margin-top: 6px; }
.parallel-afterhours { padding: 24px 0 0; max-width: 820px; }
.parallel-afterhours h3 { font-size: 18px; line-height: 1.4; margin: 0 0 8px; }
.parallel-afterhours p { color: var(--muted, #626a76); font-size: 15px; line-height: 1.65; margin: 0; }
.parallel-home-evidence { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 40px; margin-top: 46px; }
.parallel-home-evidence > div > p { color: var(--muted, #626a76); margin-bottom: 20px; }
.parallel-small { color: var(--muted, #626a76); font-size: 13px; line-height: 1.6; }
.parallel-figure { margin: 0; min-width: 0; }
.parallel-figure a { display: block; }
.parallel-figure img { display: block; width: 100%; height: auto; border-radius: 10px; }
.parallel-figure figcaption { color: var(--muted, #626a76); font-size: 14px; line-height: 1.6; padding-top: 12px; }
.parallel-hero-work .hero-figure img { height: 480px; padding: 0; object-fit: cover; object-position: center; }
.parallel-hero-work .hero-evidence { display: none; }
.parallel-about .parallel-about-opening { display: grid; grid-template-columns: 1.25fr .75fr; gap: 44px; align-items: center; margin: 24px 0 40px; }
.parallel-about-opening > div p { margin: 0 0 20px; max-width: 680px; }
.parallel-about-opening .parallel-figure img { max-height: 350px; object-fit: contain; }
.parallel-judgment { padding-top: 34px; }
.parallel-judgment > h3 { font-size: 22px; line-height: 1.4; }
.parallel-judgment > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; margin-top: 22px; }
.parallel-judgment article { border-top: 1px solid var(--line, #e2e6ed); padding-top: 16px; }
.parallel-judgment article h3 { font-size: 17px; line-height: 1.4; }
.parallel-judgment article p { margin-top: 9px; color: var(--muted, #626a76); font-size: 15px; line-height: 1.65; }
.parallel-case-hero { padding-block: 72px 12px; }
.parallel-case-hero h1 { font-size: clamp(36px,4.8vw,60px); line-height: 1.1; letter-spacing: -2px; max-width: 900px; margin-top: 24px; }
.parallel-case-lead { font-size: 20px; line-height: 1.6; color: var(--muted, #626a76); max-width: 760px; margin: 24px 0 18px; }
.parallel-case-section h2 { font-size: 32px; line-height: 1.25; letter-spacing: -.8px; max-width: 780px; margin-bottom: 24px; }
.parallel-case-section > .container > p { max-width: 780px; font-size: 17px; line-height: 1.75; color: var(--muted, #626a76); margin-block: 20px; }
.parallel-case-section > .container > .parallel-case-opening { font-size: 21px; color: var(--ink, #151c29); }
.parallel-equipment { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 36px; align-items: start; }
.parallel-equipment .parallel-figure img { height: 420px; object-fit: contain; background: var(--paper, #fff); }
.parallel-iteration { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 26px; padding: 0; margin: 40px 0 0; list-style: none; counter-reset: case-step; }
.parallel-iteration li { border-top: 2px solid var(--accent, #0866dd); padding-top: 20px; counter-increment: case-step; }
.parallel-iteration li::before { content: "0" counter(case-step); font-size: 14px; color: var(--accent, #0866dd); }
.parallel-iteration h3 { font-size: 18px; line-height: 1.4; margin-block: 12px; }
.parallel-iteration p { font-size: 15px; color: var(--muted, #626a76); line-height: 1.65; }
.parallel-measurement { max-width: 1000px; margin: 46px auto; }
.parallel-measurement h3 { font-size: 22px; margin-bottom: 18px; }
.parallel-measurement .parallel-figure { padding: 24px; background: var(--paper, #fff); border: 1px solid var(--line, #e2e6ed); border-radius: 12px; }
.parallel-source-note { border-top: 1px solid var(--line, #e2e6ed); padding-top: 28px; margin-top: 46px !important; font-size: 14px !important; }
.parallel-scope { border-left: 3px solid var(--accent, #0866dd); padding-left: 20px; }
.parallel-viewer { border: 1px solid var(--line, #e2e6ed); border-radius: 12px; max-width: min(96vw,1600px); max-height: 94vh; padding: 52px 16px 16px; color: var(--ink, #151c29); background: var(--paper, #fff); }
.parallel-viewer::backdrop { background: rgb(10 20 34 / .8); }
.parallel-viewer img { display: block; width: auto; height: auto; max-width: 100%; max-height: 78vh; object-fit: contain; margin: auto; }
.parallel-viewer button { position: absolute; right: 16px; top: 12px; border: 1px solid var(--line, #e2e6ed); border-radius: 6px; background: var(--paper, #fff); color: var(--ink, #151c29); padding: 5px 12px; }
.parallel-viewer p { color: var(--muted, #626a76); font-size: 14px; margin: 12px 0 0; max-width: 900px; }
.parallel-viewer > a { display: inline-block; color: var(--accent, #0866dd); font-size: 14px; margin-top: 12px; text-decoration: underline; }
@media (max-width: 734px) {
  .parallel-stats { gap: 18px; padding-block: 22px; }
  .parallel-stats dt { font-size: 13px; }
  .parallel-stats strong { font-size: 32px; }
  .parallel-stats dd { font-size: 12px; }
  .parallel-lanes, .parallel-home-evidence, .parallel-about .parallel-about-opening, .parallel-judgment > div, .parallel-equipment { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .parallel-lane { padding: 22px; }
  .parallel-context { text-align: left; }
  .parallel-context strong { font-size: 19px; }
  .parallel-hero-work .hero-figure img { height: 360px; object-fit: contain; }
  .parallel-about-opening .parallel-figure img { max-height: 360px; }
  .parallel-equipment .parallel-figure img { height: auto; max-height: 460px; }
  .parallel-iteration { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .parallel-case-hero { padding-top: 44px; }
  .parallel-case-hero h1 { letter-spacing: -1.2px; }
  .parallel-case-section h2 { font-size: 27px; }
  .parallel-measurement { margin-block: 34px; }
  .parallel-measurement .parallel-figure { padding: 10px; }
  .parallel-figure figcaption { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
