
/* Site styles */
* { box-sizing: border-box; } html, body { margin:0; padding:0; }
body { font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial; color:#1b1b1b; background:#fff; }
a { color: var(--brand-beige); text-decoration: none; } a:hover { text-decoration: underline; }
.container { max-width: 1120px; margin: 0 auto; padding: 0 20px; }

.header { position: sticky; top:0; z-index:50; background:#fff; border-bottom:1px solid #eee; }
.header-inner { display:flex; align-items:center; justify-content:space-between; padding:14px 0; }
.brand { display:inline-flex; align-items:center; gap:10px; }
.brand .logo { height: clamp(30px,4vw,44px); width:auto; display:block; }
.brand-name { font-weight:700; color:#1F1F1F; white-space:nowrap; }
.nav { display:flex; gap:18px; align-items:center; }
.nav a { color:#222; font-weight:500; }
.nav a.cta { background: var(--brand-beige); color: var(--brand-beige-contrast); padding:10px 16px; border-radius:9999px; }

.hero { padding:80px 0 40px; background: linear-gradient(180deg, #faf8f6 0%, #ffffff 100%); border-bottom:1px solid #f0ece8; }
.hero h1 { font-size: clamp(30px,5vw,46px); line-height:1.08; margin:0 0 12px; }
.hero p { font-size:18px; color:#444; margin:0 0 22px; }
.btn { display:inline-block; background: var(--brand-beige); color: var(--brand-beige-contrast); padding:12px 18px; border-radius:9999px; font-weight:600; }
.btn.secondary { background:transparent; border:1px solid #d8d8d8; color:#222; }

.section { padding:64px 0; } .section h2 { font-size:28px; margin:0 0 16px; }
.grid { display:grid; gap:18px; } .grid.cols-3 { grid-template-columns:repeat(auto-fit, minmax(240px,1fr)); }
.card { border:1px solid #eee; border-radius:18px; padding:22px; background:#fff; box-shadow:0 8px 24px rgba(0,0,0,.04); }

.process { display:grid; gap:16px; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); }
.badge { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background: var(--brand-beige); color: var(--brand-beige-contrast); font-weight:700; margin-right:8px; }

.pricing { display:grid; gap:18px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.price-card { border:1px solid #eaeaea; border-radius:18px; padding:24px; background:#fff; box-shadow:0 10px 28px rgba(0,0,0,.05); }
.price { font-size:32px; font-weight:700; margin:6px 0 10px; }
.price-note { color:#666; font-size:14px; }

.footer { background:#0e0e0e; color:#e9e9e9; padding:40px 0; margin-top:56px; }
.footer a { color:#e9e9e9; }
.footer .logo-footer { height: clamp(22px, 3.2vw, 36px); width:auto; display:block; margin-bottom:12px; }
.footer-grid { display:grid; gap:16px; grid-template-columns:repeat(auto-fit, minmax(200px,1fr)); }
.small { font-size:13px; color:#9b9b9b; }

.muted { color:#666; } .center { text-align:center; } .hidden { display:none; }

/* Accessibility focus */
:focus-visible { outline:3px solid #1F1F1F; outline-offset:2px; }
