:root{--navy:#1f2a33;--forest:#2f5a46;--sage:#7d9a74;--gold:#a8875a;--bg:#f2f0ea;--card:#fbfaf6;--text:#24303a}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:400 1.0625rem/1.6 "Source Sans 3",system-ui,sans-serif;color:var(--text);background:var(--bg)}
h1,h2,h3{font-family:Cinzel,Georgia,serif;color:var(--navy);line-height:1.2;margin:0 0 .6em}
h1{font-size:clamp(2rem,5vw,3.2rem)}h2{font-size:clamp(1.6rem,3.5vw,2.2rem)}h3{font-size:1.15rem}
a{color:var(--forest)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.wrap{max-width:1100px;margin:0 auto;padding:0 1.25rem}.narrow{max-width:720px}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem 1rem;z-index:10}
.site-header{background:var(--bg);border-bottom:3px solid var(--gold);position:sticky;top:0;z-index:5}
.nav{display:flex;align-items:center;gap:1rem;padding-top:.6rem;padding-bottom:.6rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--navy);font:700 1.1rem Cinzel,serif;margin-right:auto}
.brand img{height:45px;width:auto;mix-blend-mode:multiply}.brand small{display:block;font:600 .7rem "Source Sans 3",sans-serif;letter-spacing:.15em;text-transform:uppercase;color:var(--forest)}
nav ul{display:flex;gap:1.25rem;list-style:none;margin:0;padding:0}nav a{text-decoration:none;color:var(--navy);font-weight:600}nav a:hover{color:var(--forest)}
.btn{display:inline-block;background:var(--forest);color:#fff;padding:.8rem 1.4rem;border-radius:6px;font-weight:700;text-decoration:none;border:2px solid var(--forest);cursor:pointer;font-size:1rem}
.btn:hover{background:var(--navy);border-color:var(--navy)}.btn-sm{padding:.45rem .9rem}.btn-ghost{background:transparent;color:var(--navy);border-color:var(--navy)}.btn-ghost:hover{color:#fff}
.hero{padding:4rem 0;background:var(--bg);border-bottom:1px solid #d9d6c8}
.hero-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:2.5rem;align-items:center}
.hero-logo{width:100%;max-width:380px;height:auto;justify-self:center;mix-blend-mode:multiply}
.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-weight:700;color:var(--gold);font-size:.85rem}
.lead{font-size:1.2rem}.cta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}
.section{padding:4rem 0}.alt{background:#e9e8df;border-top:1px solid #d9d6c8;border-bottom:1px solid #d9d6c8}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.steps li,.card{background:var(--card);padding:1.5rem;border-radius:10px;border-top:4px solid var(--sage);box-shadow:0 2px 8px rgba(31,42,51,.07)}
.num{display:inline-grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--navy);color:#fff;font:700 1.1rem Cinzel,serif;margin-bottom:.8rem}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.card{border-top-color:var(--gold)}
.tag{display:inline-block;font:700 .7rem "Source Sans 3",sans-serif;text-transform:uppercase;background:var(--gold);color:var(--navy);padding:.15rem .5rem;border-radius:99px;vertical-align:middle}
.why{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start}
.checks{list-style:none;padding:0;margin:0}.checks li{padding:.6rem 0 .6rem 2rem;position:relative;border-bottom:1px solid #dcd9cc}
.checks li::before{content:"✓";position:absolute;left:0;color:var(--forest);font-weight:700}
.form{display:grid;gap:1rem;background:var(--card);padding:1.75rem;border-radius:10px;box-shadow:0 2px 10px rgba(31,42,51,.08)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form label{display:grid;gap:.3rem;font-weight:600;color:var(--navy)}
input,textarea{font:inherit;padding:.65rem .75rem;border:1px solid #a9ab9f;border-radius:6px;background:#fff;width:100%}
fieldset{border:1px solid #c9c6b8;border-radius:6px;padding:.75rem 1rem}legend{font-weight:600;color:var(--navy);padding:0 .3rem}
.form label.inline{display:inline-flex;align-items:center;gap:.4rem;margin-right:1.5rem;font-weight:400}.inline input{width:auto}
address{font-style:normal}address p{margin:.3rem 0}
.site-footer{background:var(--navy);color:#e6e3d8;padding:2rem 0;font-size:.95rem;border-top:4px solid var(--gold)}.site-footer p{margin:.3rem 0}
@media (max-width:800px){nav{display:none}.hero{padding:2.5rem 0}.hero-grid,.why,.steps,.cards,.form .row{grid-template-columns:1fr}.hero-logo{max-width:220px;order:-1}.brand span{font-size:.95rem}}
