:root{--fg:#0f172a;--muted:#465569;--accent:#0ea5e9;--bg:#fff;--cta:#16a34a}
*{box-sizing:border-box}body{margin:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial,sans-serif;color:var(--fg);background:var(--bg)}
header{padding:18px 20px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:16px}
header img{height:36px}
nav a{margin-right:16px;text-decoration:none;color:var(--muted)}nav a:hover{color:var(--accent)}
.container{max-width:960px;margin:0 auto;padding:24px}
.hero{padding:36px 24px;background:linear-gradient(135deg,#ecfeff,#f1f5f9);border-radius:14px;margin:16px 0}
.btn{display:inline-block;padding:10px 16px;border-radius:10px;background:var(--cta);color:#fff;text-decoration:none}
h1{font-size:28px;margin:0 0 8px}h2{font-size:22px;margin:24px 0 8px}
.small{color:#64748b;font-size:14px}

/* --- hero image banner (EDLK) --- */
img.hero{
  display:block;
  width:100%;
  height:auto;
  max-height:320px;
  object-fit:cover;
  border-radius:12px;
  background:none;      /* neutralize .hero section background */
  padding:0;            /* neutralize .hero section padding   */
  margin:12px 0;
}
/* SIDEV3-EDLK-CSS-20251106 — center header/footer; center CTA on home */
:root { --container-max: 1100px; }
header, main, footer {
  max-width: var(--container-max);
  margin-left: auto; margin-right: auto;
  padding-left: 16px; padding-right: 16px;
  box-sizing: border-box;
}
/* Center the homepage CTA button only */
.hero .btn {
  display: block;
  width: fit-content;
  margin-left: auto; margin-right: auto;
}
/* Footer “Privacy / Terms” links */
footer .footer-links { margin-top: 8px; text-align: center; }
footer .footer-links a {
  display: inline-block; margin: 0 6px; padding: 6px 10px;
  border: 1px solid #e0e0e0; border-radius: 8px; text-decoration: none;
}
/* SIDEV3-EDLK-CSS-20251106B — center header/footer contents; inline footer links */
header{display:flex;align-items:center;justify-content:center;gap:24px}
header img{height:28px;vertical-align:middle}
header nav a{margin:0 14px}
footer .footline{text-align:center;margin:10px 0 24px}
footer .footline a{text-decoration:underline}
/* SIDEV3-EDLK-CSS-20251106C — center header/footer + CTA; inline footline */
:root { --container-max: 1100px; }
header, main, footer { max-width: var(--container-max); margin: 0 auto; padding: 0 16px; box-sizing: border-box; }
header{ display:flex; align-items:center; justify-content:center; gap:24px; flex-wrap:wrap; }
header img{ height:28px; vertical-align:middle; }
header nav a{ margin:0 14px; }
.hero .btn { display:block; width:fit-content; margin: 0 auto; }
/* Inline footer line: © YEAR Name • Privacy • Terms */
.small.footline{ text-align:center; margin:10px 0 24px; }
.small.footline a{ text-decoration:underline; }
/* SIDEV3-EDLK-CSS-RESP-20251106 — responsive sizing + blog index */
:root{
  --container-max: clamp(960px, 82vw, 1200px);
  --fs-base: clamp(16px, 1.2vw + 12px, 19px);
  --fs-nav:  clamp(16px, 0.8vw + 12px, 18px);
  --fs-h1:   clamp(28px, 3vw + 16px, 44px);
  --fs-h2:   clamp(22px, 1.5vw + 16px, 28px);
  --fs-small:clamp(13px, 0.5vw + 12px, 15px);
}
body{ font-size:var(--fs-base); line-height:1.6; }
header,main,footer{ max-width:var(--container-max); margin:0 auto; padding:clamp(8px,1.2vw,18px) 16px; box-sizing:border-box; }
header{ display:flex; align-items:center; justify-content:center; gap:24px; flex-wrap:wrap; }
header img{ height:clamp(28px,2.4vw,44px); vertical-align:middle; }
header nav a{ margin:0 14px; font-size:var(--fs-nav); padding:6px 10px; }

h1{ font-size:var(--fs-h1); line-height:1.25; margin:0 0 .6em; }
h2{ font-size:var(--fs-h2); line-height:1.25; margin:1.2em 0 .4em; }

.hero{ padding:clamp(16px,3vw,36px); border-radius:18px; }
.hero .btn{ display:block; width:fit-content; margin:18px auto 0; }

.small.footline{ font-size:var(--fs-small); text-align:center; margin:28px 0 36px; }
.small.footline a{ text-decoration:underline; }

/* Blog index look */
.lede{ max-width:65ch; color:#444; }
.post-list{ list-style:none; padding:0; margin:1.2rem 0 2rem; max-width:60ch; }
.post-list li{ margin:1.2rem 0 1.6rem; }
.post-title a{ text-decoration:none; }
.post-title a:hover{ text-decoration:underline; }
.post-excerpt{ color:#555; margin:.4rem 0 0; }
/* SIDEV3-EDLK-CSS-RESP-TUNE-20251106D — blog list size/width tuning only */
.blog-index{max-width:clamp(760px,76vw,1024px);font-size:clamp(15px,1vw+11px,17px);line-height:1.55}
.blog-index h1{font-size:clamp(30px,2.2vw+14px,36px);line-height:1.25;margin:clamp(6px,1.2vw,16px) 0 .6rem}
.blog-index .lede{max-width:66ch;color:#444;margin:.5rem 0 1.25rem;font-size:1em}
.blog-index .post-list{list-style:none;margin:1rem 0 2rem;padding:0;max-width:64ch}
.blog-index .post-list li{margin:1.05rem 0 1.4rem}
.blog-index .post-title{margin:0 0 .25rem}
.blog-index .post-title a{text-decoration:none}
.blog-index .post-title a:hover{text-decoration:underline}
.blog-index .post-title,
.blog-index .post-title a{font-size:clamp(19px,1.2vw+12px,24px);line-height:1.3}
.blog-index .post-excerpt{color:#565656;margin:.35rem 0 0;font-size:.96em;max-width:62ch}
