:root{--ink:#111;--cream:#FDF9F0;--cream2:#F4EEE1;--line:#e3dccd}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font:400 17px/1.6 'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--cream)}
h1,h2,h3{font-family:'Archivo Black',sans-serif;font-weight:400;line-height:1.05;letter-spacing:-.02em}
h1{font-size:clamp(2.8rem,11vw,6.5rem)}h2{font-size:clamp(2rem,6vw,3.4rem);margin-bottom:1.2rem}h3{font-size:1.15rem;margin-bottom:.4rem}
p{margin-bottom:1rem}a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.nav{position:sticky;top:0;background:rgba(253,249,240,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:10}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{height:28px;width:auto;display:block}
nav{display:flex;gap:22px;align-items:center}nav a{text-decoration:none;font-weight:500}
nav a:not(.btn){display:none}
.btn{display:inline-block;background:var(--ink);color:var(--cream);text-decoration:none;font-weight:700;padding:14px 26px;border-radius:999px;border:2px solid var(--ink);cursor:pointer;font:700 1rem 'DM Sans',sans-serif;transition:transform .15s}
.btn:hover{transform:translateY(-2px)}.btn-sm{padding:8px 18px;font-size:.9rem}
.btn-ghost{background:transparent;color:var(--ink)}.btn-light{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700;margin-bottom:1rem}
.hero{padding:72px 0 88px;border-bottom:1px solid var(--line)}
.lead{font-size:1.25rem;max-width:34rem;margin:1.5rem 0 2rem}
.ctas{display:flex;flex-wrap:wrap;gap:12px}
.sec{padding:80px 0}.sec>.wrap+.wrap{margin-top:32px}
.dark{background:var(--ink);color:var(--cream)}.cream2{background:var(--cream2)}
.grid2{display:grid;gap:40px}
.cards{list-style:none;display:grid;gap:14px;margin-bottom:32px}
.cards li{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}
.cards li p{margin:0;font-size:.98rem}
.cards-dark li{background:#1c1c1c;border-color:#2c2c2c}
.steps{list-style:none;display:grid;gap:14px}
.steps li{border-top:3px solid var(--ink);padding-top:16px}
.steps span{font-family:'Archivo Black';font-size:2.4rem;display:block;margin-bottom:.4rem}
.mail{font-weight:700}
.form{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;display:grid;gap:14px;scroll-margin-top:80px}
.form label{display:grid;gap:6px;font-weight:500;font-size:.95rem}
.form input,.form textarea{font:inherit;padding:12px 14px;border:1.5px solid #cfc7b6;border-radius:12px;background:var(--cream)}
.form input:focus,.form textarea:focus{outline:2px solid var(--ink);border-color:var(--ink)}
.small{font-size:.85rem;margin:0;color:#555}
.foot{background:var(--ink);color:var(--cream);padding:36px 0}
.foot-in{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.foot p{margin:0}
@media(min-width:760px){
 nav a:not(.btn){display:inline}.logo{height:34px}
 .hero{padding:120px 0 130px}
 .grid2{grid-template-columns:1fr 1fr;align-items:start}
 .cards{grid-template-columns:1fr 1fr}.cards-dark{grid-template-columns:repeat(3,1fr)}
 .steps{grid-template-columns:repeat(4,1fr);gap:28px}
 .sec{padding:110px 0}
}
