*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--text);
  background:
    radial-gradient(circle at top left, rgba(155,225,93,0.14), transparent 24%),
    radial-gradient(circle at top right, rgba(67,196,122,0.10), transparent 28%),
    linear-gradient(180deg, #fbfdfb 0%, var(--bg) 100%);
  line-height:1.6;
}
img{max-width:100%;height:auto;display:block}
svg{display:block}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:var(--max);margin:0 auto;padding:0 24px}
.skip-link{
  position:absolute;left:-999px;top:12px;background:var(--surface);border:1px solid var(--border);
  padding:10px 12px;border-radius:12px;z-index:9999;
}
.skip-link:focus{left:12px;outline:none;box-shadow:var(--focus)}
.section{padding:88px 0}
.section--tight{padding:62px 0}
.kicker,.section-tag{
  display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;
  border:1px solid var(--border);background:rgba(255,255,255,0.86);backdrop-filter:blur(10px);
  color:var(--accent-dark);font-size:14px;font-weight:800;letter-spacing:.01em;
}
.section-tag{margin-bottom:14px;display:none}
h1,h2,h3{line-height:1.08;letter-spacing:-0.035em;color:var(--text)}
h1{font-size:clamp(40px, 5vw, 68px);margin:18px 0 24px;max-width:14ch}
h2{font-size:clamp(32px, 4vw, 50px);margin:0 0 14px}
h3{font-size:clamp(22px, 2vw, 30px);margin:0 0 10px}
p{margin:0 0 16px;color:var(--muted)}
.small{font-size:14px;color:var(--muted)}
.kw{
  color:var(--accent-3);
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:4px;
  font-weight:900;
}
strong,b{
  color:var(--accent-2);
  font-weight:800;
}
.blog-search-status mark{
  color:var(--accent-3);
}

.hr{height:1px;background:linear-gradient(90deg, transparent, var(--border), transparent);margin:22px 0}
.visually-hidden{position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
@media (max-width:640px){
  .container{padding:0 18px}
  .section{padding:72px 0}
  .section--tight{padding:48px 0}
  h1{margin-bottom:20px}
}

/* Keep anchor targets clear of the sticky navigation, including cross-page links. */
html{scroll-padding-top:124px}
main section[id],main h1[id],main h2[id],main h3[id]{scroll-margin-top:124px}
@media(max-width:640px){
  html{scroll-padding-top:108px}
  main section[id],main h1[id],main h2[id],main h3[id]{scroll-margin-top:108px}
}
