/* Gemba Care 预登记网站 · 只使用系统字体，不加载任何境外字体或统计服务，保证中国大陆和微信内正常打开 */
:root{
  --green:#1F6B5C; --green-d:#164F44; --green-soft:#E3EFEB;
  --gold:#D9A23A; --gold-l:#F0C877; --gold-soft:#FBF4E4;
  --ink:#16231E; --text:#3E4C46; --muted:#5A6862; --line:#DDE3E0; --bg:#F4F6F5; --white:#FFFFFF;
  --sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC",system-ui,sans-serif;
  --sans-ja:"Hiragino Sans","Yu Gothic","Meiryo","Noto Sans CJK JP","Noto Sans JP",system-ui,sans-serif;
  --serif:"Songti SC","Noto Serif CJK SC","Source Han Serif SC","Yu Mincho","Georgia",serif;
  color-scheme: light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.75}
body.ja{font-family:var(--sans-ja)}
a{color:var(--green)}
img,svg{max-width:100%}
.wrap{max-width:1080px;margin:0 auto;padding-inline:20px}
.top{background:var(--white);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding-block:12px}
.brand{display:flex;align-items:baseline;gap:8px;text-decoration:none;color:var(--ink)}
.brand b{font-family:Georgia,"Times New Roman",var(--serif);font-size:22px;letter-spacing:.01em}
.brand span{font-size:12px;color:var(--muted)}
.lang{display:flex;gap:4px;font-size:13px}
.lang a{padding:4px 10px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--text)}
.lang a[aria-current="page"]{background:var(--ink);border-color:var(--ink);color:#fff}
.hero{background:var(--white)}
.hero .wrap{padding-block:44px 40px;display:flex;flex-direction:column;gap:16px}
.eyebrow{margin:0;font-size:13px;font-weight:700;color:var(--green);letter-spacing:.06em}
h1{margin:0;font-family:var(--serif);font-size:clamp(28px,6.4vw,44px);line-height:1.35;text-wrap:balance}
.lead{margin:0;color:var(--text);max-width:40em}
.cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:12px;font:inherit;font-size:16px;font-weight:700;text-decoration:none;cursor:pointer;border:0}
.btn.primary{background:var(--green);color:#fff}
.btn.primary:hover{background:var(--green-d)}
.btn.ghost{background:var(--white);color:var(--green);border:1.5px solid var(--green)}
.btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.btn[aria-disabled="true"]{background:#9AA8A2;cursor:default}
.note{font-size:13px;color:var(--muted);margin:0}
section.block .wrap{padding-block:36px;display:flex;flex-direction:column;gap:16px}
h2{margin:0;font-size:22px;line-height:1.4}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:6px}
.card b{font-size:17px}
.card p{margin:0;font-size:14.5px;color:var(--text)}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;counter-reset:s}
.steps li{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:4px;counter-increment:s}
.steps li::before{content:counter(s);display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--green);color:#fff;font-weight:700;font-size:15px;margin-bottom:4px}
.steps b{font-size:16px}
.steps span{font-size:14px;color:var(--text)}
.offer{background:var(--ink);color:#fff;border-radius:18px;padding:26px;display:flex;flex-direction:column;gap:12px}
.offer .eyebrow{color:var(--gold-l)}
.offer h2{color:#fff}
.offer p{margin:0;color:#D3DCD8}
.offer ul{margin:0;padding-left:1.2em;color:#E6ECE9}
.offer .btn.primary{background:var(--gold-l);color:var(--ink)}
.compare{width:100%;border-collapse:collapse;background:var(--white);border-radius:14px;overflow:hidden;font-size:14.5px}
.compare th,.compare td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.compare thead th{background:#EEF2F0;font-size:14px}
.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:14px}
.about{background:var(--white)}
footer{background:var(--ink);color:#C9D3CF;font-size:13px}
footer .wrap{padding-block:24px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}
footer a{color:#C9D3CF}
.sticky-cta{position:sticky;bottom:0;z-index:5;background:rgba(255,255,255,.96);border-top:1px solid var(--line);padding:10px 20px calc(10px + env(safe-area-inset-bottom,0px));display:none}
.sticky-cta .btn{width:100%}
@media (max-width:640px){.sticky-cta{display:block}}
@media (prefers-reduced-motion:no-preference){.btn{transition:background .15s}}

/* logo（方案 A 托住的现场，临时）与不断词换行 */
.brand{align-items:center}
.brand .lg{width:30px;height:30px;flex:none;color:var(--green)}
.brand b i{font-style:normal;color:var(--green)}
.vtop .brand .lg{color:#fff}
.vtop .brand b i{color:var(--gold-l)}
.nw{white-space:nowrap}

.brandimg{height:42px;width:auto;display:block}
@media (max-width:640px){.brandimg{height:34px}}
.vtop .brandimg{height:36px}
.vlabel{font-size:12px;color:#AEBBB6;margin-left:10px}
