/* Homepage A4: hero + statistics, jobs, steps, FAQ, closing action.
   All overrides stay scoped to .home; shared pages keep their own styles. */
body.home {
  --navy:#14213d; --paper:#edf0f4; --surface:#fff;
  --ink:#14213d; --body:#3b4660; --muted:#5a6478; --line:#c3cbd8;
  --accent:#f0834f; --accent-ink:#c2552a;
  --on-navy:#dce3ee; --on-navy-muted:#b9c4d6; --navy-rule:rgba(255,255,255,.18);
  --display:"Source Serif 4",Georgia,serif;
  background:var(--paper); color:var(--ink);
}
html[lang="zh-CN"] .home { --display:"Noto Serif SC","Songti SC","Source Serif 4",serif; }
html[lang="ja"] .home { --display:"Noto Serif JP","Yu Mincho","Source Serif 4",serif; }
.home > main { display:block; flex:1; margin-top:0; }
.home .wrap, .home .site-header .nav { width:min(1200px,calc(100% - 80px)); }
.home .site-header { position:relative; background:var(--navy); border:0; color:var(--on-navy); }
.home .site-header .nav { min-height:96px; padding:24px 0; border-bottom:1px solid var(--navy-rule); gap:24px; }
.home .site-header .brand { display:flex; flex:0 1 auto; min-width:84px; line-height:1; }
.home .brand-logo { display:block; width:210px; height:auto; max-width:100%; }
.home .site-header nav { flex:0 0 auto; gap:24px; }
.home .site-header .nav-link { font-size:15px; color:var(--on-navy); }
.home .site-header .language-picker select { width:72px; border-color:transparent; border-radius:4px; background:transparent; color:var(--on-navy); }
.home .language-picker option { background:var(--surface); color:var(--navy); }
.home .site-header [data-nav-guest], .home .site-header [data-nav-member] { padding:8px 16px; border:1px solid rgba(255,255,255,.6); border-radius:4px; color:#fff; }
.home .site-header nav a:hover { text-decoration:underline; text-underline-offset:4px; }
.home .hero-band { background:var(--navy); color:var(--on-navy); }
.home .hero { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); align-items:start; gap:64px; padding:56px 0 64px; }
.home .hero-copy { min-width:0; display:block; }
.home .collection-proof { display:flex; align-items:center; gap:8px; width:fit-content; max-width:100%; margin:0 0 24px; padding:4px 8px; border-radius:4px; background:rgba(255,255,255,.08); color:var(--on-navy); font-size:13px; line-height:1.7; }
.home .collection-proof::before { content:''; width:6px; height:6px; border-radius:50%; flex:none; background:var(--accent); }
html[lang] .home h1 { margin:0 0 24px; font-family:var(--display); font-size:60px; font-weight:600; line-height:1.15; letter-spacing:-.025em; text-wrap:balance; overflow-wrap:break-word; color:#fff; }
html[lang="zh-CN"] .home h1, html[lang="ja"] .home h1 { font-weight:700; line-height:1.4; letter-spacing:-.035em; }
html[lang="ja"] .home h1 { font-size:48px; letter-spacing:0; }
.home h1 > span:first-child { display:block; color:#fff; }
.home h1 > br { display:none; }
.home h1 .accent { display:block; color:var(--accent); background:none; text-decoration:none; text-wrap:balance; }
/* Keep the existing Japanese phrase break and source-title grouping. */
html[lang="ja"] .home h1 .accent { display:inline-block; max-width:100%; word-break:keep-all; overflow-wrap:normal; }
.home .intro { margin:0 0 24px; max-width:46ch; font-size:17px; line-height:1.8; color:var(--on-navy); text-wrap:pretty; }
.home .intro-context, .home .intro-result { display:block; }
.home .intro-result { font-weight:400; }
.home .paths { display:flex; flex-wrap:wrap; gap:8px; }
.home .paths span { display:inline-flex; align-items:center; gap:6px; padding:2px 8px; border:1px solid var(--navy-rule); border-radius:4px; background:none; color:var(--on-navy); font-size:13px; line-height:1.7; }
.home .paths svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.home .hero .connect-card { margin-top:32px; padding:0; border:0; border-radius:0; background:none; box-shadow:none; }
.home .hero .card-intro { margin:0 0 8px; font-size:15px; color:var(--on-navy); line-height:1.8; text-wrap:pretty; }
.home .button { min-height:48px; border-radius:4px; box-shadow:none; font-size:15px; }
.home .primary { background:var(--accent); color:var(--navy); font-weight:800; }
.home .primary:hover { background:var(--accent); color:var(--navy); box-shadow:none; text-decoration:underline; text-underline-offset:4px; }
.home .secondary { background:var(--on-navy); color:var(--navy); border-color:var(--line); }
.home :is(a,button,summary,select,textarea):focus-visible { outline:3px solid var(--navy); outline-offset:4px; }
.home :is(.site-header,.hero-band,.final-cta) :is(a,button,summary,select,textarea):focus-visible { outline-color:#fff; }
.home .skip-link:focus-visible { outline-color:var(--navy); background:var(--surface); color:var(--navy); }
.home .cta-row { display:flex; }
.home .cta-row .primary { width:auto; max-width:100%; min-width:240px; min-height:56px; padding-inline:24px; font-size:17px; }
.home .allowance { margin:16px 0 0; text-align:left; color:var(--on-navy-muted); font-size:13px; line-height:1.8; }
.home .web-ai-help { margin:8px 0 0; font-size:13px; line-height:1.8; }
.home .web-ai-help a, .home .manual-links a, .home .account-link { color:var(--on-navy); text-decoration:underline; text-underline-offset:3px; }
.home .web-ai-details { margin:16px 0; color:var(--on-navy-muted); font-size:13px; line-height:1.8; }
.home .account-choice { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:8px 0 0; font-size:13px; line-height:1.8; color:var(--on-navy-muted); }
.home .account-choice button { border:0; padding:4px 0; background:none; font:inherit; color:var(--on-navy); text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.home .steps-link { margin-left:8px; color:var(--on-navy); text-decoration:underline; text-underline-offset:3px; }
.home .hero .manual { margin-top:16px; padding-top:16px; border-color:var(--navy-rule); }
.home .manual summary { font-size:13px; color:var(--on-navy-muted); line-height:1.8; cursor:pointer; }
.home .manual label { color:var(--on-navy); }
.home .manual select, .home .manual textarea { border-radius:4px; border-color:var(--line); background:var(--surface); color:var(--navy); }
.home .manual-links { gap:8px 16px; }
.home .manual-links a, .home .fine { font-size:13px; }
.home .hero .fine { color:var(--on-navy-muted); }
.home .feedback, .home .service-note { border-radius:4px; background:var(--on-navy); color:var(--navy); }
/* A single large cumulative count; its definition and daily counts are unchanged. */
.home .collection-stats { display:block; margin:56px 0 0; padding:0; border:0; }
.home .collection-stats dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; gap:24px; }
.home .collection-stats dl > div { display:flex; flex-direction:column; gap:8px; min-width:0; padding:0; border:0; }
.home .collection-stats dl > div:first-child { grid-column:1/-1; padding:0 0 32px; border-bottom:1px solid var(--navy-rule); }
.home .collection-stats dd { position:relative; order:0; margin:0; color:#fff; font:600 36px/1.1 "Source Serif 4",Georgia,serif; letter-spacing:-.025em; font-variant-numeric:tabular-nums; white-space:nowrap; }
.home .collection-stats dl > div:first-child dd { font-size:104px; }
.home .collection-stats dt { order:1; color:var(--on-navy-muted); font-size:13px; line-height:1.7; }
.home .collection-stats dl > div:first-child dt { color:var(--on-navy); font-size:17px; font-weight:700; }
.home .stat-icon { display:none; }
.home .stat-increase { background:var(--on-navy); color:var(--navy); border-radius:4px; font-size:13px; }
.home .collection-stats:not(.is-ready) [data-stat] { display:inline-block; width:3.2ch; height:.9em; color:transparent; background:var(--navy-rule); }
.home .stats-meta { display:flex; flex-direction:column; align-items:stretch; gap:8px; margin-top:24px; padding-top:24px; border-top:1px solid var(--navy-rule); }
.home .stats-today, .home .stats-deltas, .home .stats-checks, .home .stats-check-values { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 8px; margin:0; }
.home .stats-today > p, .home .stats-deltas > span, .home .stats-checks, .home .stats-check-values > span, .home .collection-stats [data-stats-note] { margin:0; color:var(--on-navy-muted); font-size:13px; line-height:1.8; }
.home .stats-deltas strong, .home .stats-check-values strong { color:var(--on-navy); font-size:inherit; font-weight:700; font-variant-numeric:tabular-nums; }
.home .stats-check-values > span { display:inline-flex; gap:4px; }
.home .stats-deltas > span, .home .stats-check-values > span { white-space:nowrap; }
/* Jobs keep complete source titles and evidence, with one clear reading order. */
.home .hero-visual { min-width:0; padding:64px 0 48px; border:0; }
.home .job-board-heading { padding:0 0 24px; border:0; }
.home h2 { font-family:var(--display); font-size:36px; font-weight:600; line-height:1.4; letter-spacing:0; margin:0; text-wrap:balance; }
html[lang="zh-CN"] .home h2, html[lang="ja"] .home h2 { font-weight:700; }
.home .job-board-heading p { margin:8px 0 0; font-size:15px; line-height:1.8; color:var(--muted); text-wrap:pretty; }
.home .job-board-body { padding:0; }
.home #showcase-jobs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; min-height:280px; }
.home #showcase-jobs[aria-busy="false"]:has(>.showcase-status) { min-height:0; }
.home #showcase-jobs .job { display:grid; grid-template-columns:minmax(0,1fr) auto; align-content:start; min-width:0; gap:8px 16px; padding:24px; border:1px solid var(--line); border-radius:4px; background:var(--surface); color:var(--ink); text-decoration:none; box-shadow:none; }
.home #showcase-jobs .job:hover { border-color:var(--navy); }
.home #showcase-jobs .job:hover .job-title { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.home .job-top { display:contents; }
.home .job-title { display:block; grid-column:1/-1; grid-row:2; text-wrap:balance; font-family:"Source Serif 4",Georgia,serif; font-size:24px; font-weight:600; line-height:1.35; overflow-wrap:anywhere; }
.home .job-title-phrase { display:inline-block; max-width:100%; vertical-align:top; text-wrap:wrap; }
.home .job-action { grid-column:2; grid-row:1; color:var(--navy); font-size:13px; line-height:1.8; white-space:nowrap; }
.home .job-company { grid-column:1; grid-row:1; margin:0; color:var(--navy); font-size:15px; font-weight:700; line-height:1.6; overflow-wrap:anywhere; }
.home .job-meta { grid-column:1/-1; grid-row:3; display:flex; flex-wrap:wrap; align-items:baseline; gap:6px; margin:0; font-size:13px; color:var(--body); line-height:1.8; }
.home .job-location { min-width:0; overflow-wrap:anywhere; text-wrap:pretty; }
.home .workplace-badge { flex:none; padding:2px 8px; border:0; border-radius:4px; font-size:13px; font-weight:700; line-height:1.6; color:var(--navy); background:var(--on-navy); }
.home .workplace-badge.workplace-remote { background:#fce3d6; color:#8a3414; }
.home .job-evidence { grid-column:1/-1; grid-row:4; margin:0; font-size:13px; line-height:1.8; color:var(--body); }
.home .evidence-label { color:var(--body); }
.home .job-evidence strong { color:var(--navy); font-weight:700; }
.home .source-quote { grid-column:1/-1; grid-row:5; margin:0; padding:16px; border-left:3px solid var(--accent); background:#f3f5f8; font-size:15px; line-height:1.7; color:var(--body); overflow-wrap:anywhere; }
.home .quote-text { display:block; }
.home .source-quote mark { color:var(--navy); background:transparent; padding:0; font-weight:700; }
.home .showcase-controls { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding-top:8px; font-size:13px; line-height:1.7; color:var(--muted); }
.home .showcase-controls > span { margin-right:auto; }
.home .showcase-controls button { min-height:40px; padding:8px; border:0; background:transparent; font:inherit; color:var(--navy); cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.home .showcase-status { grid-column:1/-1; margin:0; padding:24px 0; color:var(--muted); font-size:15px; line-height:1.8; }
.home .how { padding:48px 0; border-top:2px solid var(--navy); border-bottom:0; }
.home .section-intro { margin:8px 0 32px; font-size:15px; color:var(--muted); line-height:1.8; }
.home .steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin:0; padding:0; list-style:none; }
.home .steps li { min-width:0; padding:0; }
.home .step-icon { display:none; }
.home .steps h3 { margin:0 0 8px; font-size:17px; font-weight:700; line-height:1.6; }
.home .step-n { display:block; margin-bottom:16px; font:600 56px/1 "Source Serif 4",Georgia,serif; color:var(--accent-ink); }
.home .steps p { margin:0; padding:0; color:var(--body); font-size:15px; line-height:1.8; text-wrap:pretty; }
.home .faq { display:grid; grid-template-columns:minmax(0,.6fr) minmax(0,1.2fr); gap:64px; padding:48px 0 64px; border-top:2px solid var(--navy); }
.home .faq-items { min-width:0; }
.home .faq details { border:0; border-bottom:1px solid var(--line); }
.home .faq summary { display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding:16px 0; list-style:none; cursor:pointer; font-size:17px; font-weight:700; line-height:1.6; }
.home .faq summary::-webkit-details-marker { display:none; }
.home .faq summary::after { content:'+'; flex:none; color:var(--navy); font-size:24px; font-weight:400; }
.home .faq details[open] summary::after { content:'−'; }
.home .faq details p { margin:0 0 24px; color:var(--body); font-size:15px; line-height:1.8; text-wrap:pretty; }
.home .faq a { text-decoration:underline; text-underline-offset:3px; }
.home .faq .faq-copy { min-height:40px; margin-bottom:16px; padding:8px 16px; border-color:var(--line); background:transparent; color:var(--navy); }
.home .final-cta { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; padding:48px; margin-bottom:48px; border:0; border-radius:4px; background:var(--navy); color:#fff; }
.home .final-cta h2 { color:#fff; }
.home .final-cta p:not(.feedback) { margin:8px 0 0; color:var(--on-navy); font-size:15px; line-height:1.8; }
.home .final-cta .button { width:auto; min-width:240px; font-size:17px; }
.home .final-cta .feedback:not(:empty) { flex-basis:100%; margin:0; }
.home .site-footer { align-items:center; padding:24px 0 32px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }
.home .footer-brand { display:flex; flex-direction:column; gap:8px; }
.home .footer-brand .brand-logo { width:150px; }
.home .footer-brand > span { font-size:13px; }
.home .site-footer nav a { color:var(--navy); }
.home .site-footer .geo-credit { color:var(--muted); font-size:13px; }
@media (max-width:1050px) {
  .home .hero { grid-template-columns:1fr; gap:32px; padding:48px 0; }
  .home .hero-copy { max-width:700px; }
  .home .collection-stats { margin:0; padding-top:32px; border-top:1px solid var(--navy-rule); }
  .home .collection-stats dl { grid-template-columns:2fr 1fr 1fr; align-items:center; }
  .home .collection-stats dl > div:first-child { grid-column:auto; padding:0; border:0; }
  .home .collection-stats dl > div:first-child dd { font-size:80px; }
  .home .stats-meta { flex-direction:row; flex-wrap:wrap; gap:8px 24px; }
  .home .faq { gap:32px; }
}
@media (max-width:767px) {
  .home .wrap, .home .site-header .nav { width:calc(100% - 40px); }
  .home .site-header .nav { min-height:80px; padding:16px 0; gap:8px; flex-wrap:nowrap; }
  .home .site-header .nav-link { display:none; }
  .home .site-header .brand-logo { width:172px; height:auto; }
  .home .site-header nav { gap:8px; max-width:calc(100% - 96px); min-width:0; flex-wrap:wrap; }
  .home .site-header .language-picker select { width:72px; min-height:40px; padding:4px; font-size:13px; }
  .home .site-header [data-nav-guest], .home .site-header [data-nav-member] { padding:8px; font-size:13px; }
  .home .hero { padding:32px 0; }
  html[lang] .home h1 { font-size:36px; }
  html[lang="zh-CN"] .home h1 { font-size:clamp(30px,9.2vw,36px); }
  html[lang="ja"] .home h1 { font-size:clamp(29px,8.4vw,36px); }
  .home .intro { font-size:15px; }
  .home .collection-proof { margin-bottom:24px; }
  .home .cta-row .primary, .home .final-cta .button { width:100%; min-width:0; }
  .home .collection-stats dl { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
  .home .collection-stats dl > div:first-child { grid-column:1/-1; padding-bottom:24px; border-bottom:1px solid var(--navy-rule); }
  .home .collection-stats dl > div:first-child dd { font-size:64px; }
  .home .collection-stats dd { font-size:36px; }
  .home .stats-meta { flex-direction:column; gap:8px; }
  .home .hero-visual { padding:48px 0 32px; }
  .home h2 { font-size:28px; }
  .home #showcase-jobs { grid-template-columns:1fr; min-height:348px; }
  .home #showcase-jobs .job { padding:16px; gap:8px; }
  .home .job-title { font-size:24px; text-wrap:pretty; }
  .home .job-company { font-size:13px; }
  .home .source-quote { padding:16px; }
  .home .how { padding:32px 0; }
  .home .steps { grid-template-columns:1fr; gap:24px; }
  .home .steps li { position:relative; padding-left:56px; }
  .home .step-n { position:absolute; left:0; top:0; font-size:40px; margin:0; }
  .home .faq { grid-template-columns:1fr; gap:16px; padding:32px 0; }
  .home .final-cta { padding:24px; margin-bottom:32px; }
  .home .site-footer { align-items:flex-start; gap:24px; }
}
@media (max-width:380px) {
  .home .site-header .brand-logo { width:147px; }
  .home .site-header nav { gap:4px; }
  .home .site-header .language-picker select { width:68px; }
  .home .paths { gap:8px; }
  .home .paths span { padding:2px 6px; }
}
@media (prefers-reduced-motion:reduce) { .home .stat-increase { display:none; } }

/* Keep the count selector labelled and keyboard accessible at narrow widths. */
.home .showcase-count { display:inline-flex; align-items:center; gap:8px; color:var(--navy); }
.home .showcase-count select { min-height:40px; min-width:56px; padding:4px 8px; border:1px solid var(--line); border-radius:4px; background:var(--surface); color:var(--navy); font:inherit; }

.home .stats-details > summary { display:none; }
html[lang="ja"] .home .card-intro { text-wrap:balance; }
@media (max-width:767px) {
  .home .stats-details { margin-top:16px; border-top:1px solid var(--navy-rule); }
  .home .stats-details > summary { display:list-item; padding-top:16px; color:var(--on-navy-muted); font-size:13px; line-height:1.8; cursor:pointer; }
  .home .stats-details .stats-meta { margin-top:0; border-top:0; padding-top:16px; }
}
