/* Homepage overview: shared directory artwork, a manual rail and real founders. */
.page--home .home-chapter { min-height:0; justify-content:flex-start; }
.page--home .brand-exchange { margin-top:24px; }
.page--home .brand-exchange__heading { display:block; padding-block:16px; margin-bottom:0; }
.page--home .brand-exchange__heading .home-section-label { display:none; }
.brand-exchange__caption { margin:0; color:var(--home-forest); font-size:13px; }
.page--home .brand-lane__track, .page--home .brand-lane--reverse .brand-lane__track { width:max-content; animation-duration:var(--marquee-duration, 80s); }
.page--home .brand-lane__group { display:flex; width:max-content; flex:0 0 auto; min-width:100vw; justify-content:space-around; }
.page--home .brand-lane__group .brand-lane__item { flex:0 0 clamp(240px,18vw,280px); width:clamp(240px,18vw,280px); min-height:120px; padding:24px 32px; border-right:0; background:transparent; color:var(--home-forest); }
.page--home .brand-lane__item img { width:auto; height:auto; max-width:172px; max-height:72px; object-fit:contain; }
.page--home .brand-lane__item .partner-mark--jd { max-width:90px; }
.page--home .brand-lane__item .partner-mark--moutai { max-width:62px; }
.page--home .brand-lane__item:has(.partner-mark--platapian) { padding:8px 10px; }
.page--home .brand-lane__item .partner-mark--platapian { max-width:150px; max-height:88px; }
.page--home .brand-lane__item .partner-mark--dram5,
.page--home .brand-lane__item .partner-mark--lotus-realm,
.page--home .brand-lane__item .partner-mark--dangs { filter:brightness(0); }
.page--home .brand-lane__item .partner-wordmark { position:static; inset:auto; color:inherit; font-size:19px; line-height:1.25; text-align:center; white-space:normal; }
.page--home .brand-lane__item .partner-wordmark--sen-sen { font-size:25px; font-weight:700; letter-spacing:.06em; }
.partner-wordmark--sen-sen small { display:block; margin-top:5px; font-size:11px; font-weight:500; letter-spacing:.18em; }
.page--home .brand-lane__item .partner-wordmark--azuki-room { font-family:Georgia,serif; font-size:20px; letter-spacing:.06em; }
.home-cases > .section-shell, .home-founders > .section-shell { position:relative; z-index:4; padding-right:24px; }
.home-cases, .home-founders { background:var(--home-canvas); color:var(--home-forest); }
.home-overview__heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:30px; }
.home-overview__heading h2 { margin:0; }
.home-overview__heading .text-link { flex-shrink:0; }
.home-cases__rail { --card-width:calc((100% - 84px) / 3.18); position:relative; display:flex; gap:24px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#8caca0 transparent; padding:4px 4px 22px; margin:0 -4px; }
.home-cases__rail > * { flex:0 0 var(--card-width); min-width:0; scroll-snap-align:start; }
.home-cases__rail .case-card { display:flex; flex-direction:column; }
.home-cases__rail .case-card__media { flex-shrink:0; }
.home-cases__rail .case-card__body { display:flex; flex:1; flex-direction:column; align-items:flex-start; }
.home-cases__rail .case-card__body h3 { font-family:var(--serif); font-size:clamp(26px,2.4vw,34px); }
.home-cases__rail .case-card__body p { font-size:15px; line-height:1.6; }
.home-cases__rail .case-card__body .home-case__result { margin:0 0 24px; font-size:17px; line-height:1.4; }
.home-cases__rail .case-card__body h3 { font-weight:600; }
.home-cases__rail .case-card__meta { flex-wrap:wrap; gap:5px 12px; font-size:10px; }
.home-cases__rail .case-card__body > .text-link { margin-top:auto; }
.home-cases__rail .case-card__media--phones { padding:20px; }
.home-cases__rail .case-card__media--phones img { max-width:44%; border-width:4px; border-radius:16px; }
.home-cases__all { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:28px; padding:32px; color:var(--home-forest); border-top:1px solid var(--home-gold-line); border-bottom:1px solid var(--home-gold-line); background:#e5ece3; text-decoration:none; }
.home-cases__all-title { font-family:var(--font-serif,Georgia,serif); font-size:clamp(28px,3vw,42px); line-height:1.15; }
.home-cases__controls { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:18px; font-size:12px; }
.home-cases__controls[hidden] { display:none; }
.home-cases__controls > div { display:flex; gap:10px; }
.home-cases__controls button { width:46px; height:46px; border:1px solid var(--home-forest); color:var(--home-forest); background:transparent; border-radius:50%; cursor:pointer; font-size:22px; }
.home-cases__controls button:hover:not(:disabled) { background:var(--home-forest); color:var(--home-white); }
.home-cases__controls button:disabled { opacity:.3; cursor:default; }
.home-cases__rail:focus-visible, .home-cases__controls button:focus-visible { outline:2px solid var(--home-burgundy); outline-offset:4px; }
.home-founders { padding-top:24px; }
.home-founders__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; border-top:1px solid var(--home-gold-line); padding-top:32px; }
.home-founder { display:grid; grid-template-columns:minmax(110px,.8fr) minmax(0,1fr); gap:24px; align-items:center; }
.home-founder__portrait { display:block; overflow:hidden; }
.home-founder__portrait img { width:100%; aspect-ratio:3/4; object-fit:cover; object-position:center top; }
.home-founder h3 { margin:0 0 16px; font-size:32px; line-height:1.15; }
.home-founder h3 span { display:block; font-family:inherit; font-size:15px; font-weight:500; margin-top:9px; }
.home-founder p { font-size:14px; line-height:1.65; }
.home-founder .eyebrow { font-size:11px; }
@media(max-width:1100px) {
  .home-cases > .section-shell, .home-founders > .section-shell { padding-right:28px; }
  .home-cases__rail { --card-width:calc((100% - 60px) / 2.15); }
  .home-founders__grid { gap:28px; }
  .home-founder { grid-template-columns:1fr; gap:20px; }
  .home-founder__portrait img { max-height:300px; }
}
@media(max-width:620px) {
  .page--home .brand-exchange__heading { padding-block:16px; }
  .brand-exchange__caption { font-size:12px; max-width:none; }
  .page--home .brand-lane__item img { max-width:150px; max-height:64px; }
  .page--home .brand-lane__group .brand-lane__item { flex-basis:200px; width:200px; min-height:104px; padding:20px 24px; }
  .page--home .brand-lane__group .brand-lane__item:has(.partner-mark--platapian) { padding:8px 10px; }
  .page--home .brand-lane__item .partner-mark--platapian { max-height:74px; }
  .home-cases { padding-block:44px; }
  .home-cases__rail { --card-width:86%; gap:18px; }
  .home-overview__heading { align-items:flex-start; flex-direction:column; gap:14px; margin-bottom:24px; }
  .home-cases__rail .case-card__body h3 { font-family:var(--serif); font-size:30px; }
  .home-cases__rail .case-card__body p { font-size:14px; }
  .home-cases__all { padding:24px; }
  .home-founders { padding-block:20px 44px; }
  .home-founders__grid { grid-template-columns:1fr; gap:28px; padding-top:24px; }
  .home-founder { grid-template-columns:110px minmax(0,1fr); gap:18px; align-items:start; }
  .home-founder h3 { font-size:28px; margin-bottom:10px; }
  .home-founder p { font-size:14px; }
  .home-founder__portrait img { min-height:170px; }
}
@media(prefers-reduced-motion:reduce) { .home-cases__rail { scroll-behavior:auto; } }

/* A seamless, generously spaced lane. Focus makes the real links stationary. */
.page--home .brand-lane__viewport { scrollbar-width:thin; }
.page--home .brand-lane__viewport:focus-within { overflow-x:auto; }
.page--home .brand-lane__viewport:focus-within .brand-lane__track { animation:none; transform:none; }
.page--home .brand-lane__viewport:focus-within .brand-lane__group[aria-hidden] { display:none; }
.page--home .brand-lane__viewport:focus-visible { outline:2px solid var(--home-burgundy); outline-offset:-2px; }
.page--home .home-services--overview { padding-block:44px; }
.page--home .home-services--overview .home-services__heading { margin-bottom:24px; }
.page--home .home-services--overview .market-directions { margin-bottom:24px; }
.page--home .home-services--overview .market-direction h3 { max-width:none; margin:0; line-height:1.2; }
.page--home .home-services--overview .market-direction__origin { display:block; color:var(--home-mint); font-size:18px; font-weight:400; letter-spacing:0; text-transform:none; }
.market-direction__destination { display:block; margin-top:6px; font-size:clamp(25px,2.5vw,36px); font-weight:700; letter-spacing:-.02em; text-transform:uppercase; }
.home-service-card { position:relative; padding:28px 24px; transform-origin:center bottom; transition:transform 220ms cubic-bezier(.23,1,.32,1), background-color 180ms ease, box-shadow 220ms ease; }
.home-service-card h3 { margin-top:20px; font-weight:650; text-wrap:balance; }
.home-service-card p { margin-bottom:0; }
.home-service-card svg { transition:transform 220ms cubic-bezier(.23,1,.32,1); }
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .home-service-card:hover { z-index:2; transform:translateY(-8px) scale(1.025); background:#205c48; box-shadow:0 14px 28px rgba(5,35,25,.2); }
  .home-service-card:hover svg { transform:translateY(-2px) scale(1.08); }
  .home-service-grid:has(.home-service-card:hover) .home-service-card:has(+ .home-service-card:hover),
  .home-service-card:hover + .home-service-card { transform:translateY(-3px); }
}
.home-service-card:active { background:#2a6651; }
.home-service-card:focus-visible { transition:none; background:#205c48; }
.page--home .home-cases { padding-block:64px 40px; }
@media(max-width:620px) {
  .page--home .home-services--overview { padding-block:32px; }
  .page--home .home-services--overview .market-direction { padding:16px 12px; }
  .home-service-card { display:grid; grid-template-columns:48px minmax(0,1fr); column-gap:20px; row-gap:8px; align-items:start; padding:24px 20px; text-align:left; }
  .home-service-card svg { grid-row:1 / 3; width:48px; height:48px; margin-top:2px; }
  .home-service-card h3 { margin:0; font-size:21px; }
  .home-service-card p { margin:0; max-width:none; font-size:14px; }
  .page--home .home-cases { padding-block:40px 28px; }
}
@media(prefers-reduced-motion:reduce) {
  .page--home .brand-lane__viewport { overflow-x:auto; }
  .page--home .brand-lane__track { animation:none; transform:none; }
  .page--home .brand-lane__group[aria-hidden] { display:none; }
  .home-service-card, .home-service-card svg { transition:none; transform:none; }
}
.page--home.data-saver .brand-lane__viewport { overflow-x:auto; }
.page--home.data-saver .brand-lane__track { animation:none; transform:none; }
.page--home.data-saver .brand-lane__group[aria-hidden] { display:none; }
