:root {
  color-scheme: light dark;
  --accent: #225ee8;
  --accent-strong: #123b98;
  --danger: #b42318;
  --page: #f7f8fc;
  --surface: #ffffff;
  --text: #111a35;
  --muted: #566078;
  --border: #d9deea;
  --soft: #eef2ff;
  --danger-soft: #fff1f0;
}
* { box-sizing: border-box; }
body { background:var(--page); color:var(--text); font-family:system-ui,-apple-system,"Segoe UI",sans-serif; line-height:1.6; margin:0; }
main { margin:0 auto; max-width:820px; padding:48px 20px 72px; }
.card { background:var(--surface); border:1px solid var(--border); border-radius:20px; padding:clamp(22px,5vw,40px); }
.eyebrow { color:var(--accent-strong); font-size:.85rem; font-weight:750; letter-spacing:.08em; margin:0 0 6px; text-transform:uppercase; }
h1 { font-size:clamp(2rem,7vw,3.3rem); letter-spacing:-.04em; line-height:1.05; margin:0 0 14px; }
h2 { color:var(--accent-strong); font-size:1.2rem; margin:32px 0 8px; }
p, li { color:var(--muted); }
a { color:var(--accent-strong); }
.meta { border-bottom:1px solid var(--border); margin-bottom:28px; padding-bottom:18px; }
.notice { background:var(--soft); border-radius:12px; color:var(--text); padding:14px 16px; }
.danger { background:var(--danger-soft); color:#6f160f; }
label { display:block; font-weight:700; margin:18px 0 6px; }
input { background:var(--surface); border:1px solid var(--border); border-radius:12px; color:var(--text); font:inherit; min-height:48px; padding:11px 13px; width:100%; }
input:focus { border-color:var(--accent); outline:3px solid color-mix(in srgb, var(--accent) 22%, transparent); }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
button { background:var(--accent); border:0; border-radius:12px; color:#fff; cursor:pointer; font:700 1rem/1 system-ui,-apple-system,"Segoe UI",sans-serif; min-height:48px; padding:14px 18px; }
button.secondary { background:var(--soft); color:var(--accent-strong); }
button.danger { background:var(--danger); color:#fff; }
button:disabled { cursor:not-allowed; opacity:.5; }
.status { border-radius:12px; margin-top:16px; padding:12px 14px; }
.status:empty { display:none; }
.status.error { background:var(--danger-soft); color:#6f160f; }
.status.success { background:#e8f8ef; color:#17633a; }
.hidden { display:none !important; }
footer { color:var(--muted); font-size:.9rem; margin-top:22px; text-align:center; }
.site { color-scheme:light; --page:#f7f8fc; --surface:#fff; --text:#111a35; --muted:#566078; --border:#d9deea; --accent-strong:#123b98; }
.site-header, .site-main, .site-footer { margin:0 auto; max-width:1120px; padding-left:clamp(22px,5vw,48px); padding-right:clamp(22px,5vw,48px); }
.site-header { align-items:center; display:flex; flex-wrap:wrap; gap:20px; justify-content:space-between; padding-top:28px; padding-bottom:28px; }
.site-header a, .site-footer a { font-size:.9rem; text-decoration:none; }
.brand { align-items:center; color:var(--text); display:inline-flex; font-size:1.25rem !important; font-weight:750; gap:12px; }
.brand img { border-radius:10px; }
.site-main { padding-top:44px; padding-bottom:44px; }
.hero { align-items:center; display:grid; gap:64px; grid-template-columns:1.2fr 1fr; }
.hero h1 { font-size:clamp(3rem,6.5vw,5.5rem); line-height:1.03; margin-top:18px; }
.intro { font-size:1.12rem; margin:24px 0; max-width:430px; }
.contact-link { background:#1858eb; border-radius:10px; color:#fff; display:inline-flex; font-weight:700; gap:32px; padding:14px 20px; text-decoration:none; }
.hero-mark { background:#1858eb; border-radius:28px; overflow:hidden; }
.hero-mark img { display:block; height:auto; width:100%; }
.features { margin-top:76px; }
.features h2 { color:var(--text); font-size:clamp(1.5rem,3vw,2rem); letter-spacing:-.035em; }
.features dl { margin-top:28px; }
.features dl div { border-top:1px solid var(--border); display:grid; gap:28px; grid-template-columns:1fr 1.3fr; padding:22px 0; }
.features dt { font-size:1.1rem; font-weight:700; }
.features dt span { color:#566078; font-size:.8rem; font-weight:500; margin-right:22px; }
.features dd { color:var(--muted); margin:0; max-width:520px; }
.planning-note { font-size:.85rem; margin:32px 0 0; max-width:760px; }
.site-footer { align-items:center; border-top:1px solid var(--border); display:flex; flex-wrap:wrap; gap:12px 28px; justify-content:space-between; padding-top:22px; padding-bottom:28px; text-align:left; }
.site-footer nav { display:flex; flex-wrap:wrap; gap:22px; }
a:focus-visible { border-radius:4px; outline:3px solid #1858eb; outline-offset:5px; }
@media (max-width:767px) {
  .hero { gap:36px; grid-template-columns:1fr; }
  .hero h1 { font-size:clamp(3rem,12vw,4.8rem); }
  .hero-mark { max-width:280px; }
  .features { margin-top:48px; }
  .features dl div { gap:10px; grid-template-columns:1fr; }
}
@media (prefers-color-scheme:dark) {
  :root { --page:#0d131d; --surface:#151d29; --text:#f4f6fb; --muted:#bdc5d5; --border:#374052; --soft:#1d2b4c; --danger-soft:#3b1a1a; --accent-strong:#a9bbff; }
  .notice { color:var(--text); }
  .danger { color:#ffd5d0; }
  .status.error { color:#ffd5d0; }
  .status.success { background:#153425; color:#b7f1d0; }
}
