:root{
  --navy:#14213D; --brass:#C68A2E; --brass-light:#E4B460; --teal:#3E8E82; --teal-dark:#2C6960;
  --linen:#F6F2EA; --linen-2:#EFE9DC; --ink:#2B2A28; --line:rgba(20,33,61,.13); --white:#fff;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:'Source Sans 3',sans-serif;color:var(--ink);background:var(--linen)}
h1,h2,h3,.logo{font-family:'Big Shoulders Display',sans-serif;text-transform:uppercase;color:var(--navy);margin:0}
a{color:inherit;text-decoration:none}
.nav{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:16px 6vw;
  background:rgba(246,242,234,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.logo{font-size:28px;font-weight:800}
.nav nav{display:flex;gap:18px;align-items:center;font-weight:600;font-size:14px}
.nav .cta{background:var(--navy);color:#fff;padding:10px 14px;border-radius:8px}
.hero{min-height:86vh;display:flex;align-items:flex-end;padding:8vh 6vw 10vh;color:var(--linen);
  background:linear-gradient(120deg,rgba(20,33,61,.9),rgba(20,33,61,.4) 50%,rgba(198,138,46,.28)),
  linear-gradient(160deg,#1D2E52,#2C6960 65%,#C68A2E)}
.hero h1{font-size:clamp(56px,10vw,120px);color:#fff;line-height:.9;margin:10px 0 16px}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--brass-light)}
.lede{max-width:540px;font-size:18px;line-height:1.5;color:rgba(246,242,234,.88)}
.hero-actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:10px;font-weight:700;
  text-transform:uppercase;letter-spacing:.03em;border:none;cursor:pointer;font:inherit}
.btn.brass{background:var(--brass);color:var(--navy)}
.btn.ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.7)}
.section{padding:72px 6vw}
.section.alt{background:var(--linen-2)}
.section h2{font-size:clamp(32px,5vw,48px);margin-bottom:8px}
.sub{color:rgba(43,42,40,.62);margin:0 0 28px;max-width:520px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.steps .n{font-family:'IBM Plex Mono',monospace;color:var(--teal-dark);font-weight:600;font-size:13px}
.steps h3{font-size:24px;margin:8px 0}
.steps p{margin:0;color:rgba(43,42,40,.7);line-height:1.45}
.price-grid,.comm-grid,.plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.price-card,.comm-card,.plan-card{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:16px}
.price-card .name,.comm-card .name,.plan-card .name{font-weight:700;color:var(--navy)}
.price-card .price,.plan-card .price{font-family:'IBM Plex Mono',monospace;font-size:22px;font-weight:700;color:var(--brass);margin-top:8px}
.comm-card .meta,.plan-card .meta{font-size:13px;color:rgba(43,42,40,.55);margin-top:4px}
.plans{margin-top:18px;grid-template-columns:repeat(3,1fr)}
.form{max-width:720px;display:flex;flex-direction:column;gap:10px}
.form.narrow{max-width:480px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--teal-dark)}
.form input,.form textarea{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:9px;font:inherit;background:var(--white)}
.form-msg{color:var(--teal-dark);font-weight:600}
footer{padding:40px 6vw;background:var(--navy);color:rgba(246,242,234,.75)}
footer .logo{color:#fff;font-size:28px;margin-bottom:8px}
.foot-links{display:flex;gap:16px;margin-top:16px}
.foot-links a{color:var(--brass-light);font-weight:600}
@media(max-width:800px){
  .nav nav a:not(.cta){display:none}
  .steps,.plans,.form .row{grid-template-columns:1fr}
}
