/* Gene Health Care — static styles. China-safe: no external font CDNs. */
:root{
  /* System CJK font stacks — resolve on the visitor's OS, no web-font download */
  --sans-zh: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", "Heiti SC", "WenQuanYi Micro Hei", "Segoe UI", sans-serif;
  --sans-ja: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", "Meiryo", "MS PGothic", sans-serif;
  --serif-zh: "Songti SC", "STSong", "SimSun", "Source Han Serif SC", "Noto Serif CJK SC", serif;
  --serif-ja: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "MS PMincho", "Source Han Serif JP", serif;
  --mono: ui-monospace, "SFMono-Regular", Menlo, "Cascadia Mono", Consolas, "DejaVu Sans Mono", monospace;
  --teal: #46c2ad;
}

*{box-sizing:border-box;}
html{scroll-behavior:auto;}
body{margin:0;background:#081b25;color:#e8f1f0;}
a{color:inherit;text-decoration:none;}
a:hover{color:var(--teal);}

/* language-driven font swap */
.lang-zh{--sans:var(--sans-zh);--serif:var(--serif-zh);}
.lang-ja{--sans:var(--sans-ja);--serif:var(--serif-ja);}
#app{font-family:var(--sans);}
.serif{font-family:var(--serif);}
.mono{font-family:var(--mono);}

section{min-height:100vh;display:flex;flex-direction:column;justify-content:center;}
section:not(#top):not(#philosophy):not(#contact){background:rgba(10,29,39,.84);}
#top,#philosophy{background:#0e2a38;}

/* scroll-reveal */
[data-stagger] > *{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);}
[data-stagger].on > *{opacity:1;transform:none;}
[data-stagger].on > *:nth-child(2){transition-delay:.08s;}
[data-stagger].on > *:nth-child(3){transition-delay:.16s;}
[data-stagger].on > *:nth-child(4){transition-delay:.24s;}
[data-stagger].on > *:nth-child(5){transition-delay:.32s;}
[data-stagger].on > *:nth-child(6){transition-delay:.40s;}

nav a{transition:color .3s ease;}
nav a.nav-on{color:var(--teal);}
nav a:hover{color:var(--teal);}

.biz-card{border:1px solid rgba(70,194,173,.22);border-radius:8px;padding:32px;background:rgba(70,194,173,.04);display:flex;gap:22px;align-items:flex-start;transition:transform .4s cubic-bezier(.2,.7,.2,1),border-color .4s ease,box-shadow .4s ease;}
.biz-card:hover{transform:translateY(-5px);border-color:rgba(70,194,173,.6);box-shadow:0 16px 40px rgba(0,0,0,.28);}
.biz-card .biz-desc{max-height:0;opacity:0;overflow:hidden;margin-top:0;transition:max-height .55s ease,opacity .45s ease,margin-top .45s ease;}
.biz-card:hover .biz-desc{max-height:260px;opacity:1;margin-top:14px;}

.svc-card{border:1px solid rgba(70,194,173,.28);border-radius:10px;padding:40px;background:rgba(70,194,173,.05);transition:transform .4s cubic-bezier(.2,.7,.2,1),border-color .4s ease,box-shadow .4s ease;}
.svc-card:hover{transform:translateY(-6px);border-color:rgba(70,194,173,.7);box-shadow:0 18px 46px rgba(0,0,0,.3);}

/* text wordmark logos (no external images) */
.wordmark{font-weight:800;letter-spacing:.02em;color:#dfeeeb;}

@media (max-width:720px){
  nav{display:none !important;}
  h1{font-size:38px !important;}
  .grid-2{grid-template-columns:1fr !important;}
}

@media (prefers-reduced-motion:reduce){
  [data-stagger] > *{opacity:1 !important;transform:none !important;transition:none !important;}
}
