/* Real-photo integration and owner-approved r2 B2B refinements only. */
.b2b-photo-slot { width:min(100%,340px); }
.b2b-photo-slot img { display:block; width:100%; height:auto; aspect-ratio:var(--ratio); object-fit:cover; }
.b2b-photo-slot figcaption { color:var(--ink); margin-top:12px; }
.b2b-phases li:nth-child(3) .b2b-photo-slot { max-width:280px; }
.b2b-team-layout>figure { width:min(100%,340px); margin:0; align-self:center; }
.b2b-team-layout img { display:block; width:100%; height:auto; aspect-ratio:640/1162; object-fit:cover; }

/* Journey route: decorative restatement of the three phases. Numbers have no circles. */
.b2b-route { display:flex; align-items:center; gap:14px; margin:4px 0 0; max-width:760px; }
.b2b-route-node { display:flex; align-items:baseline; gap:10px; flex:none; color:var(--gold-text); font-size:13px; letter-spacing:.14em; text-transform:uppercase; }
.b2b-route-num { font:400 20px/1 Playfair,Georgia,serif; letter-spacing:0; font-variant-numeric:tabular-nums; }
.b2b-route-line { flex:1; min-width:24px; height:1px; background:var(--gold); position:relative; }
.b2b-route-line::after { content:""; position:absolute; right:-1px; top:-3px; width:7px; height:7px; border-top:1px solid var(--gold); border-right:1px solid var(--gold); transform:rotate(45deg); }
.b2b-page:lang(ko) .b2b-route-node { letter-spacing:.02em; }

/* D1: reading begins level with the corresponding phase heading. */
.b2b-phases .phase-copy { grid-column:2; grid-row:1/3; align-self:start; padding-top:34px; }

/* D2: explicit institutional responsibilities, without turning them into cards. */
.b2b-role-split { display:grid; grid-template-columns:1fr 1fr; margin-top:44px; border-top:1px solid var(--gold); }
.b2b-role-side { padding:28px var(--b2b-gap) 4px 0; }
.b2b-role-side + .b2b-role-side { padding:28px 0 4px var(--b2b-gap); border-left:1px solid var(--line); }
.b2b-page .b2b-role-where { font-size:13px; line-height:1.5; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-text); }
.b2b-page:lang(ko) .b2b-role-where { letter-spacing:.02em; }
.b2b-role-side h3 { font-size:clamp(24px,2vw,30px); line-height:1.25; margin:10px 0 16px; }
.b2b-page .b2b-role-privacy { margin-top:32px; padding-top:20px; border-top:1px solid var(--line); max-width:68ch; font-size:15px; }

/* D4 is self-contained because Indonesian motion remains outside this candidate. */
.b2b-refined .b2b-hero-cta, .b2b-admin-cta { transition:background-color 180ms ease, color 180ms ease; }

/* D3/F8: the header stays light while its menu is a separate in-flow disclosure. */
.b2b-brand { display:inline-flex; align-items:center; min-height:44px; }
@media (max-width:640px) {
  .b2b-photo-slot,.b2b-phases li:nth-child(3) .b2b-photo-slot { width:100%; max-width:none; }
  .b2b-team-layout>figure { width:100%; max-width:360px; }
  .b2b-route { gap:10px; }
  .b2b-route-node { font-size:11px; letter-spacing:.1em; gap:6px; }
  .b2b-page:lang(ko) .b2b-route-node { letter-spacing:.02em; }
  .b2b-route-num { font-size:16px; }
  .b2b-phases .phase-copy { grid-column:1; grid-row:2; padding-top:0; }
  .b2b-role-split { grid-template-columns:1fr; margin-top:28px; }
  .b2b-role-side,.b2b-role-side + .b2b-role-side { padding:24px 0 4px; border-left:0; }
  .b2b-role-side + .b2b-role-side { border-top:1px solid var(--line); }
  .b2b-languages a { min-width:44px; padding-inline:5px; justify-content:center; }
}
@media (max-width:900px) {
  .b2b-mobile-menu { background:var(--paper); border-bottom:1px solid var(--line); }
  .b2b-section,.b2b-page:has(.b2b-mobile-menu[open]) .b2b-section { scroll-margin-top:96px; }
}
@media (max-width:359px) {
  .b2b-route { gap:6px; }
  .b2b-route-node { letter-spacing:.04em; gap:4px; }
  .b2b-page:lang(ko) .b2b-route-node { letter-spacing:.02em; }
  .b2b-route-line { min-width:14px; }
}
