:root{--yellow:#FFD400;--yellow-soft:#FFF6C2;--ivory:#FAFAF8;--silver:#EEF0F3;--mist:#E2E6EC;--slate:#9AA3AF;--ink:#0F1115;--graphite:#353A40;--text:#5B616B;--success:#22C55E;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Plus Jakarta Sans",Inter,system-ui,sans-serif;background:var(--ivory);color:var(--ink);line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.w{max-width:1120px;margin:0 auto;padding:0 24px}
.narrow{max-width:740px;margin:0 auto}
/* header */
.top{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--mist)}
.top .w{display:flex;align-items:center;justify-content:space-between;height:72px;gap:16px}
.top img{height:36px;width:auto}
.top nav{display:flex;align-items:center;gap:28px;font-weight:600;font-size:15px}
.top nav a{text-decoration:none;color:var(--graphite)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 22px;border-radius:999px;background:var(--yellow);color:var(--ink)!important;font-weight:700;font-size:14px;text-decoration:none;transition:transform .2s var(--ease),box-shadow .2s;white-space:nowrap}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(255,212,0,.45)}
/* article */
.crumbs{font-size:13px;color:var(--slate);padding-top:36px}
.crumbs a{text-decoration:none}
.kicker{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--graphite);margin-top:28px}
.kicker::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--yellow)}
h1{font-size:clamp(34px,5vw,54px);line-height:1.06;letter-spacing:-.035em;font-weight:800;margin-top:14px}
.hl{background:linear-gradient(transparent 8%,var(--yellow) 8%,var(--yellow) 96%,transparent 96%);padding:0 .12em;border-radius:.12em}
.dek{font-size:20px;color:var(--graphite);margin-top:18px}
.byline{display:flex;align-items:center;gap:14px;margin-top:28px;padding-bottom:28px;border-bottom:1px solid var(--mist);font-size:14px;color:var(--text)}
.byline img{width:48px;height:48px;border-radius:50%;filter:grayscale(1);box-shadow:0 0 0 3px #fff,0 0 0 5px var(--yellow)}
.byline b{color:var(--ink)}
.answer{margin:36px 0;background:#fff;border:1px solid var(--mist);border-left:5px solid var(--yellow);border-radius:16px;padding:22px 26px}
.answer h2{font-size:14px!important;letter-spacing:.08em;text-transform:uppercase;color:var(--graphite);margin:0 0 8px!important}
.answer p{margin:0!important;font-size:17px;color:var(--ink)}
article h2{font-size:clamp(24px,3vw,32px);line-height:1.2;letter-spacing:-.025em;font-weight:800;margin:56px 0 14px}
article h3{font-size:21px;line-height:1.3;letter-spacing:-.015em;font-weight:800;margin:0 0 10px}
article p{font-size:18px;color:var(--graphite);margin:0 0 18px}
article ul,article ol{margin:0 0 20px 22px;font-size:18px;color:var(--graphite)}
article li{margin:6px 0}
article strong{color:var(--ink)}
.toc{background:var(--silver);border-radius:16px;padding:20px 24px;margin:0 0 20px}
.toc b{display:block;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--graphite);margin-bottom:6px}
.toc ol{margin:0 0 0 20px;font-size:16px}
.toc a{text-decoration:none}
.toc a:hover{text-decoration:underline}
.signal{display:grid;grid-template-columns:56px 1fr;gap:18px;background:#fff;border:1px solid var(--mist);border-radius:20px;padding:26px;margin:18px 0}
.signal .n{width:56px;height:56px;border-radius:14px;background:var(--yellow);display:grid;place-items:center;font-weight:800;font-size:18px}
.signal p{font-size:17px;margin-bottom:12px}
.signal p:last-child{margin-bottom:0}
.signal .tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text);margin-right:6px}
.quote{margin:40px 0;padding:6px 0 6px 24px;border-left:4px solid var(--yellow);font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1.3}
.check{list-style:none;margin-left:0!important}
.check li{display:flex;gap:12px;align-items:flex-start;padding:8px 0;border-bottom:1px dashed var(--mist)}
.check li::before{content:"";flex:none;width:20px;height:20px;margin-top:5px;border-radius:6px;border:2px solid var(--ink);background:#fff}
.faq details{border-bottom:1px solid var(--mist);padding:18px 0}
.faq summary{cursor:pointer;font-weight:700;font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:22px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq p{margin-top:10px}
.cta{margin:56px 0;background:var(--ink);color:#fff;border-radius:24px;padding:40px;position:relative;overflow:hidden}
.cta::after{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;border:1.5px solid rgba(255,212,0,.35);box-shadow:0 0 0 40px rgba(255,212,0,.05),0 0 0 80px rgba(255,212,0,.03)}
.cta h2{color:#fff;margin:0 0 10px!important}
.cta p{color:#C9CDD3!important;max-width:520px}
.cta .btn{margin-top:8px;position:relative;z-index:1}
.author{display:flex;gap:20px;align-items:center;background:#fff;border:1px solid var(--mist);border-radius:20px;padding:24px;margin:40px 0 80px}
.author img{width:80px;height:80px;border-radius:50%;filter:grayscale(1);box-shadow:0 0 0 4px #fff,0 0 0 6px var(--yellow);flex:none}
.author p{font-size:15px!important;margin:4px 0 0!important}
.author a{font-weight:700}
/* index */
.hero-i{padding:56px 0 28px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;padding-bottom:90px}
.card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--mist);border-radius:22px;padding:28px;text-decoration:none;transition:transform .3s var(--ease),box-shadow .3s}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 48px rgba(15,17,21,.10)}
.card .meta{font-size:13px;color:var(--slate);font-weight:600}
.card h2{font-size:22px;line-height:1.25;letter-spacing:-.02em;margin:10px 0}
.card p{color:var(--text);font-size:15px;flex:1}
.card .more{margin-top:16px;font-weight:700;font-size:14px}
.card.soon{background:transparent;border-style:dashed;pointer-events:none}
.card.soon h2{color:var(--graphite)}
footer{border-top:1px solid var(--mist);background:#fff;padding:28px 0;font-size:13px;color:var(--text)}
footer .w{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer a{text-decoration:none;margin-left:18px}
@media (max-width:640px){
  .w{padding:0 16px}
  .top nav a.hide-sm{display:none}
  .signal{grid-template-columns:1fr}
  .cta{padding:28px 22px}
  .author{flex-direction:column;align-items:flex-start}
  footer a{margin:0 14px 0 0}
}
