
:root{--ink:#1a2332;--ink-soft:#4a5568;--paper:#fdfcfa;--card:#fff;--accent:#0f6e5f;
--accent-soft:#e7f2ef;--gold:#b98a2f;--line:#e6e2da;--max:1060px}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Segoe UI',system-ui,-apple-system,"Hiragino Kaku Gothic ProN",sans-serif;
background:var(--paper);color:var(--ink);line-height:1.68;-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.sr,.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;background:#fff;padding:8px 14px;z-index:99;border-radius:6px}
header{border-bottom:1px solid var(--line);background:var(--card);position:sticky;top:0;z-index:20}
.nav{display:flex;align-items:center;justify-content:space-between;padding:13px 24px;gap:16px}
.logo{font-weight:700;font-size:1.12rem;text-decoration:none;color:var(--ink);line-height:1.25}
.logo span{color:var(--accent)}
.logo small{display:block;font-size:.66rem;font-weight:400;color:var(--ink-soft);letter-spacing:.02em}
nav a{color:var(--ink-soft);text-decoration:none;margin-left:20px;font-size:.9rem}
nav a:hover{color:var(--accent)}
.cta{background:var(--accent);color:#fff!important;padding:8px 15px;border-radius:8px;font-weight:600}
.hero{padding:60px 0 44px;display:grid;grid-template-columns:1.45fr 1fr;gap:46px;align-items:center}
.kicker{display:inline-block;background:var(--accent-soft);color:var(--accent);font-size:.75rem;
font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:999px;margin-bottom:16px}
.kicker.light{background:rgba(255,255,255,.16);color:#fff}
h1{font-size:2.45rem;line-height:1.18;font-weight:800;letter-spacing:-.01em}
.hero h1{margin-bottom:14px}
h1 em{color:var(--accent);font-style:normal}
.lede{color:var(--ink-soft);font-size:1.06rem;max-width:36em}
.hero-actions{margin-top:24px;display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;padding:12px 22px;border-radius:9px;text-decoration:none;font-weight:600;font-size:.95rem}
.btn-primary{background:var(--accent);color:#fff}
.btn-ghost{border:1.5px solid var(--line);color:var(--ink)}
.btn-white{background:#fff;color:var(--accent);margin-top:18px}
.doctor-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px;
box-shadow:0 8px 28px rgba(26,35,50,.06)}
.avatar{width:58px;height:58px;border-radius:50%;background:var(--accent-soft);display:flex;
align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:12px;flex:none}
.doctor-card h3{font-size:1rem;margin-bottom:6px}
.doctor-card p{font-size:.87rem;color:var(--ink-soft)}
.badge{display:inline-block;margin-top:12px;font-size:.73rem;font-weight:700;color:var(--gold);
border:1px solid var(--gold);border-radius:6px;padding:3px 9px}
.trust{display:flex;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:52px;background:var(--card)}
.trust div{flex:1;padding:15px 18px;font-size:.83rem;color:var(--ink-soft);border-left:1px solid var(--line)}
.trust div:first-child{border-left:none}
.trust strong{display:block;color:var(--ink);font-size:.9rem;margin-bottom:2px}
section{padding:32px 0}
.sec-head{margin-bottom:20px}
h2{font-size:1.5rem;font-weight:800;letter-spacing:-.01em}
.grid{display:grid;gap:20px}
.grid.three{grid-template-columns:repeat(3,1fr)}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px;
text-decoration:none;color:var(--ink);display:block;transition:box-shadow .15s,transform .15s}
.card:hover{box-shadow:0 10px 24px rgba(26,35,50,.09);transform:translateY(-2px)}
.card .tag{font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent)}
.card h3{font-size:1.03rem;margin:8px 0;line-height:1.36}
.card p{font-size:.86rem;color:var(--ink-soft)}
.card .jp{font-size:.77rem;color:var(--gold);margin-top:10px;display:block}
.card.sm h3{margin-bottom:0}
.decoder{background:linear-gradient(135deg,#0f6e5f,#0a5548);border-radius:16px;color:#fff;padding:40px;
display:grid;grid-template-columns:1.2fr 1fr;gap:34px;align-items:center}
.decoder h2{color:#fff}
.decoder p{color:#d7e8e4;font-size:.94rem;margin-top:10px}
.result-mock{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);border-radius:10px;
padding:16px;font-size:.84rem}
.result-mock table{width:100%;border-collapse:collapse}
.result-mock td{padding:7px 4px;border-bottom:1px solid rgba(255,255,255,.15)}
.result-mock td:last-child{text-align:right;font-weight:700}
.mark-c{color:#ffd98a}.mark-d{color:#ffb0a8}.mark-a{color:#a8e6c9}
.newsletter{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:40px;text-align:center}
.newsletter p{color:var(--ink-soft);max-width:38em;margin:10px auto 20px}
.nl-form{display:flex;gap:10px;max-width:440px;margin:0 auto}
.nl-form input{flex:1;padding:12px 15px;border:1.5px solid var(--line);border-radius:9px;font-size:.95rem}
.nl-form button{background:var(--accent);color:#fff;border:none;border-radius:9px;padding:12px 22px;
font-weight:700;cursor:pointer;font-size:.95rem}
.kit-embed-wrap{max-width:440px;margin:0 auto}
.fine{font-size:.78rem;color:var(--ink-soft);margin-top:14px}
/* article */
.prose{max-width:730px;padding-top:44px;padding-bottom:24px}
.crumb{font-size:.8rem;color:var(--ink-soft);margin-bottom:14px}
.crumb a{color:var(--accent);text-decoration:none}
.prose h1{font-size:2.1rem;margin-bottom:12px}
.byline{font-size:.88rem;color:var(--ink-soft);padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:26px}
.prose h2{font-size:1.35rem;margin:38px 0 12px}
.prose h3{font-size:1.08rem;margin:26px 0 8px}
.prose p{margin-bottom:16px}
.prose ul,.prose ol{margin:0 0 18px 22px}
.prose li{margin-bottom:7px}
.prose a{color:var(--accent)}
.prose table{width:100%;border-collapse:collapse;margin:20px 0;font-size:.92rem;background:var(--card);
border:1px solid var(--line);border-radius:10px;overflow:hidden}
.prose th{background:var(--accent-soft);color:var(--accent);text-align:left;padding:10px 14px;
font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}
.prose td{padding:10px 14px;border-top:1px solid var(--line);vertical-align:top}
.note{background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;
padding:14px 18px;font-size:.9rem;margin:0 0 26px}
.author-box{display:flex;gap:16px;align-items:flex-start;background:var(--card);border:1px solid var(--line);
border-radius:12px;padding:22px;margin-top:44px}
.author-box p{font-size:.86rem;color:var(--ink-soft);margin:4px 0 0}
.rel-head{font-size:1.2rem;margin-bottom:16px}
table.dir{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);
border-radius:12px;overflow:hidden;font-size:.88rem;margin:22px 0}
table.dir th{background:var(--accent-soft);color:var(--accent);text-align:left;padding:11px 15px;
font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}
table.dir td{padding:11px 15px;border-top:1px solid var(--line)}
tr.locked{opacity:.5}
/* footer */
footer{border-top:1px solid var(--line);padding:34px 0 46px;font-size:.83rem;color:var(--ink-soft);margin-top:50px}
.disclaimer{background:var(--accent-soft);border-radius:10px;padding:15px 18px;margin-bottom:24px;line-height:1.6}
.foot-cols{display:flex;gap:60px;margin-bottom:22px;flex-wrap:wrap}
.foot-cols>div{max-width:34em}
.foot-cols strong{display:block;color:var(--ink);margin-bottom:6px}
.foot-cols a{display:block;color:var(--ink-soft);text-decoration:none;padding:2px 0}
.foot-cols a:hover{color:var(--accent)}
.copy{border-top:1px solid var(--line);padding-top:16px;font-size:.78rem}
@media(max-width:860px){
  .hero,.decoder{grid-template-columns:1fr}
  .grid.three{grid-template-columns:1fr}
  .trust{flex-direction:column}
  .trust div{border-left:none;border-top:1px solid var(--line)}
  .trust div:first-child{border-top:none}
  h1{font-size:1.85rem}.prose h1{font-size:1.7rem}
  nav a:not(.cta){display:none}
  .nav{padding:11px 18px;gap:10px}
  .logo{font-size:.98rem}
  .logo small{font-size:.6rem}
  nav{flex:none}
  .cta{white-space:nowrap;font-size:.8rem;padding:8px 12px;margin-left:0}
  .decoder,.newsletter{padding:28px}
  .prose table,table.dir{font-size:.82rem;display:block;overflow-x:auto}
}
