:root { color-scheme: light; --paper: #f7f1e7; --surface: #fffaf2; --ink: #17130d; --soft: #4e473c; --muted: #756b5d; --blue: #0c355e; --line: rgba(47, 39, 27, 0.16); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: radial-gradient(circle at 14% 0%, rgba(255, 225, 171, 0.86) 0, transparent 30rem), radial-gradient(circle at 84% 8%, rgba(175, 205, 226, 0.7) 0, transparent 28rem), linear-gradient(135deg, #f9f4ea 0%, var(--paper) 48%, #ece0cd 100%); color: var(--ink); }
a { color: var(--blue); font-weight: 800; }
.site-shell { width: min(980px, calc(100% - 40px)); margin: 0 auto; padding: 28px 0 56px; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 44px; padding: 14px 18px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255, 250, 242, 0.82); box-shadow: 0 10px 28px rgba(47, 39, 27, 0.08); }
.brand { color: var(--ink); text-decoration: none; font-weight: 950; letter-spacing: -0.04em; }
.nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.nav a, .button { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 13px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255, 255, 255, 0.68); color: var(--soft); font-size: 0.9rem; text-decoration: none; }
.button.primary { background: linear-gradient(180deg, #164b7d, var(--blue)); color: #f8fbff; border-color: var(--blue); }
.hero { display: grid; gap: 22px; margin-bottom: 42px; }
h1 { max-width: 820px; margin: 0; font-size: clamp(2.8rem, 8vw, 6.4rem); line-height: 0.9; letter-spacing: -0.075em; text-wrap: balance; }
h2 { margin: 0 0 12px; font-size: clamp(1.45rem, 3vw, 2.1rem); line-height: 1.05; letter-spacing: -0.045em; }
h3 { margin: 0 0 8px; font-size: 1rem; }
p, li { color: var(--soft); line-height: 1.65; }
.lede { max-width: 760px; margin: 0; font-size: 1.2rem; color: var(--ink); }
.ctas { display: flex; flex-wrap: wrap; gap: 10px; }
.grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 28px 0; }
.card { padding: 20px; border: 1px solid var(--line); border-radius: 24px; background: rgba(255, 250, 242, 0.8); box-shadow: 0 12px 30px rgba(47, 39, 27, 0.07); }
.section { margin: 34px 0; }
.keyword-list { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; list-style: none; }
.keyword-list li { padding: 8px 10px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255, 255, 255, 0.7); font-size: 0.92rem; }
.footer { margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--line); color: var(--muted); font-size: 0.95rem; }
@media (max-width: 760px) { .topbar { align-items: flex-start; border-radius: 24px; flex-direction: column; } .nav { justify-content: flex-start; } .grid { grid-template-columns: 1fr; } }
