/* Approved homepage layout; product components are isolated in localized demo frames. */
.home-refresh { --page:1240px; }
.home-refresh button,.home-refresh input { font:inherit; }
.home-refresh button { cursor:pointer; }
.home-refresh [hidden] { display:none!important; }
.home-refresh .site-header nav { gap:25px; }
.home-refresh .hero { display:grid;grid-template-columns:minmax(0,1fr) 712px;gap:48px;align-items:center;padding-top:76px;padding-bottom:30px; }
.home-refresh .hero-copy { padding-bottom:20px; }
.home-refresh .hero .eyebrow { font-size:11px;letter-spacing:.18em;margin-bottom:24px; }
.home-refresh .hero h1 { font-size:clamp(40px,4.4vw,64px);line-height:1.22;margin-bottom:26px;letter-spacing:-.045em; }
.home-refresh .hero-lede { font-size:15px;line-height:1.95;margin-bottom:30px;text-wrap:pretty; }
.home-refresh .hero-actions { gap:18px; }
.home-refresh .primary-link { min-width:184px;padding:14px 19px;gap:20px; }
.platform-note { font-size:11px;color:var(--muted);margin:18px 0 0;letter-spacing:.03em; }
.product-fragment { margin:0;min-width:0;position:relative;width:calc(100% + 32px);transform:translateY(-8px); }
.fragment-window { border:1px solid var(--line);border-radius:12px;background:white;box-shadow:0 2px 4px #00000005,6px 18px 36px -24px #20202230; }
.product-viewport { overflow:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#d4d4d4 transparent; }
.renderer-canvas { position:relative;flex:none;overflow:hidden; }
.renderer-canvas iframe { position:absolute;top:0;left:0;border:0;transform-origin:top left;display:block;max-width:none; }
.product-fragment figcaption { display:flex;flex-wrap:wrap;gap:5px;align-items:center;font-size:10px;color:var(--muted);margin-top:17px;padding-left:8px; }
.product-fragment figcaption a { margin-left:auto;font-size:10px;color:var(--muted); }
.caption-dot { height:4px;width:4px;background:var(--accent);border-radius:50%;margin-right:4px; }
.workflow { margin-top:100px; }
.workflow-intro { display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:38px; }
.workflow-intro h2 { font-size:29px;line-height:1.5;margin-bottom:0; }
.workflow-intro h2 span { color:var(--accent); }
.workflow-intro > p { font-size:14px;line-height:1.9;color:var(--muted);margin-bottom:4px; }
/* Match the original .nm-tabs presentation and palette. */
.workflow-controls { display:flex;align-items:center;gap:8px;margin-bottom:14px; }
.flow-tabs { display:flex;flex-wrap:wrap;gap:8px; }
.flow-tabs button { appearance:none;position:relative;border:0;border-radius:999px;padding:10px 16px;font:600 13px/1 "DM Sans","PingFang SC",sans-serif;color:#6d7673;background:transparent;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s; }
.flow-tabs button i { font-style:normal;opacity:.5;margin-right:6px;font-size:10px;letter-spacing:.08em; }
.flow-tabs button:hover { color:var(--ink);background:#0000000a; }
.flow-tabs button[aria-selected="true"] { color:var(--ink);background:#fdfdfa;box-shadow:0 1px 2px #33464122,0 0 0 1px #d9dfd9; }
.flow-tabs button[aria-selected="true"]::after { content:'';position:absolute;left:16px;right:16px;bottom:4px;height:2px;border-radius:2px;background:var(--accent);opacity:.55;transform-origin:0 50%;transform:scaleX(var(--progress,0));transition:transform .12s linear; }
.flow-play { margin-left:auto;width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:#58615e;cursor:pointer; }
.flow-play:hover { background:#0000000a;color:var(--ink); }
.flow-description { font-size:14px;line-height:1.7;color:#58615e;margin:0 0 20px;min-height:24px; }
.workflow-stage { background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 2px #0000000d,0 16px 36px -28px #00000026; }
.workflow-caption { display:flex;gap:20px;justify-content:space-between;color:var(--muted);margin-top:16px;font-size:11px;line-height:1.8; }
.workflow-caption p { margin:0; }.workflow-caption a { flex:none;font-size:10px; }
.pan-hint { display:none;color:var(--muted);font-size:10px;margin:10px 0 0; }
.start-strip { display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;padding:0;margin-top:64px; }
.start-strip .section-label { font-size:10px;margin-bottom:15px; }.start-strip h2 { font-size:25px;margin-bottom:13px; }.start-strip p { font-size:13px;line-height:1.9;color:var(--muted);margin-bottom:0; }
.start-strip ol { margin:0;list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:center; }.start-strip li { display:flex;gap:12px;align-items:baseline; }.start-strip li > span { flex:none;font-size:10px;color:var(--accent); }.start-strip li b { font-size:13px;font-weight:500; }.start-strip li p { font-size:11px;margin-top:8px; }
.home-refresh .rules,.home-refresh .own,.home-refresh .people,.home-refresh .faq { margin-top:100px; }
.home-refresh .start-strip + .rules { margin-top:64px; }
@media(max-width:1150px) {
  .home-refresh .hero { grid-template-columns:1fr;gap:42px;padding-top:52px; }
  .home-refresh .hero-copy { max-width:580px;padding:0; }
  .home-refresh .hero h1 { font-size:50px; }.home-refresh .hero-lede { font-size:16px; }
  .home-refresh .site-header nav { gap:16px; }
  .product-fragment { width:100%;max-width:800px;justify-self:center;transform:none; }
  .workflow { margin-top:75px; }.workflow-intro { gap:25px; }.workflow-intro h2 { font-size:27px; }.workflow-intro > p { font-size:12px; }
  .start-strip { gap:35px; }.start-strip ol { gap:17px; }
  .pan-hint { display:block; }
}
@media(max-width:900px) { .start-strip { grid-template-columns:1fr;gap:30px; }.start-strip li > span { margin-bottom:12px; }.flow-tabs button { font-size:12px; } }
@media(max-width:650px) {
  .home-refresh .hero { padding-top:38px;padding-bottom:0;gap:37px; }.home-refresh .hero h1 { font-size:44px;margin-bottom:20px; }.home-refresh .hero .eyebrow { margin-bottom:19px; }.home-refresh .hero-lede { font-size:14px;line-height:1.95; }.home-refresh .hero-actions { gap:18px; }.home-refresh .hero-actions .primary-link { flex:none;min-width:175px;font-size:12px; }.home-refresh .secondary-link { font-size:12px; }.platform-note { font-size:10px; }
  .product-fragment figcaption { padding-left:2px;font-size:9px; }
  .workflow { margin-top:65px; }.workflow-intro { display:block;margin-bottom:25px; }.workflow-intro h2 { font-size:25px;line-height:1.5; }.workflow-intro > p { margin-top:18px;font-size:13px; }.workflow-intro > p br { display:none; }
  .workflow-controls { gap:4px;align-items:flex-start; }.flow-tabs { gap:6px;flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)); }.flow-tabs button { padding:10px 12px;font-size:12px;white-space:nowrap; }.flow-tabs button i { font-size:9px; }.flow-play { width:30px;padding:0 5px; }.flow-description { font-size:13px; }
  .workflow-caption { display:block;font-size:11px;margin-top:13px;min-height:58px; }.workflow-caption a { display:block;margin-top:6px; }
  .start-strip { margin-top:40px;padding:0;gap:26px; }.start-strip h2 { font-size:23px; }.start-strip p { font-size:12px; }.start-strip ol { grid-template-columns:1fr;gap:21px; }.start-strip li { gap:18px; }.start-strip li > span { margin:0; }.start-strip li p { margin-top:4px; }.home-refresh .rules,.home-refresh .own,.home-refresh .people,.home-refresh .faq { margin-top:70px; }.home-refresh .start-strip + .rules { margin-top:44px; }
}
@media(max-width:360px) { .home-refresh .hero h1 { font-size:39px; }.home-refresh .hero-actions { gap:14px; }.home-refresh .hero-actions .primary-link { min-width:155px;padding-inline:13px;font-size:11px; }.home-refresh .secondary-link { font-size:11px; }.flow-tabs button { font-size:10px; } }
@media(prefers-reduced-motion:reduce) { .home-refresh { scroll-behavior:auto; }.home-refresh * { animation:none!important; } }
/* Keep longer translated headlines within the same visual hierarchy. */
html:not(:lang(zh)):not(:lang(ja)):not(:lang(ko)) .home-refresh .hero h1 { font-size:clamp(38px,3.9vw,56px);overflow-wrap:break-word; }
html:lang(ja) .home-refresh .hero h1,html:lang(ko) .home-refresh .hero h1 { font-size:clamp(38px,3.7vw,52px); }
@media(max-width:650px) {
  .home-refresh .flow-tabs button { white-space:normal;overflow-wrap:anywhere;hyphens:auto;line-height:1.35;padding-inline:6px;min-height:52px; }
  .home-refresh .flow-tabs button i { display:block;margin:0 0 3px; }
  .home-refresh .hero h1 { overflow-wrap:break-word; }
}
