@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

:root { --ink:#18201e; --muted:#5f6965; --paper:#fcfcf8; --sage:#e6eee6; --moss:#246048; --line:#d6ddd6; --card:#fff; --max:1120px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Manrope,Arial,sans-serif; font-size:16px; line-height:1.65; }
a { color:inherit; text-underline-offset:4px; }
.site-header, main, .site-footer { width:min(calc(100% - 48px),var(--max)); margin:auto; }
.site-header { min-height:88px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); }
.brand { font-weight:800; letter-spacing:-.08em; font-size:24px; text-decoration:none; }.brand span { color:var(--moss); }
.site-nav { display:flex; align-items:center; gap:28px; font-size:14px; font-weight:600; }.site-nav a { text-decoration:none; }.site-nav a:not(.nav-cta):hover,.site-nav a.active:not(.nav-cta) { color:var(--moss); }.nav-cta { border:1px solid var(--ink); padding:8px 13px; border-radius:4px; }.nav-cta:hover,.nav-cta.active { background:var(--ink); color:white; }
.nav-toggle { display:none; background:none; border:0; font:inherit; font-weight:700; }
.hero,.page-hero { padding:116px 0 104px; max-width:880px; }.page-hero { min-height:500px; }.audit-hero { padding-bottom:88px; }
.eyebrow { margin:0 0 14px; color:var(--moss); font-family:'DM Mono',monospace; font-size:12px; font-weight:500; letter-spacing:.05em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; } h1,h2,h3 { line-height:1.12; letter-spacing:-.045em; } h1 { font-size:clamp(44px,6vw,76px); max-width:850px; margin-bottom:25px; } h2 { font-size:clamp(30px,4vw,49px); margin-bottom:22px; } h3 { font-size:23px; margin-bottom:10px; }.hero-copy { max-width:685px; color:var(--muted); font-size:20px; }.wide-copy { max-width:760px; font-size:19px; color:var(--muted); }
.button-row { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:38px; }.button { display:inline-block; padding:13px 19px; border:1px solid var(--moss); border-radius:4px; background:var(--moss); color:white; font-weight:700; text-decoration:none; cursor:pointer; font:inherit; }.button:hover { background:#174735; border-color:#174735; }.text-link { font-weight:700; }.text-link span { margin-left:5px; }
.section { padding:88px 0; border-top:1px solid var(--line); }.two-column { display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,9vw,130px); }.two-column > * { min-width:0; }.muted-section { background:var(--sage); margin-inline:calc((100vw - min(100vw - 48px,var(--max)))/-2); padding-inline:max(24px,calc((100vw - var(--max))/2)); border-top:0; }.muted-section h2 { max-width:650px; }.muted-section p:not(.eyebrow) { max-width:630px; color:#46504b; }
.card-grid { display:grid; gap:18px; margin-top:46px; }.three { grid-template-columns:repeat(3,1fr); }.card { padding:28px; background:var(--card); border:1px solid var(--line); border-radius:6px; }.card p:last-child { color:var(--muted); margin-bottom:0; }.card-number { color:var(--moss); font-family:'DM Mono',monospace; font-size:13px; }
.check-list { list-style:none; padding:0; margin:0; }.check-list li { padding:15px 0 15px 28px; border-bottom:1px solid #c8d3c9; position:relative; font-weight:600; }.check-list li:before { content:'✓'; position:absolute; left:0; color:var(--moss); }
.enquiry-section { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(38px,10vw,150px); }.enquiry-form { display:grid; gap:9px; }.enquiry-form label { font-size:14px; font-weight:700; }.enquiry-form input,.enquiry-form textarea { margin-bottom:11px; width:100%; padding:12px; background:#fff; border:1px solid #aab5ae; border-radius:4px; color:var(--ink); font:inherit; }.enquiry-form input:focus,.enquiry-form textarea:focus { outline:2px solid #6d9d85; outline-offset:2px; }.enquiry-form .button { justify-self:start; margin-top:5px; }.form-note,.contact-note { color:var(--muted); font-size:13px; margin:8px 0 0; }
.site-footer { display:flex; justify-content:space-between; align-items:center; padding:28px 0 38px; color:var(--muted); font-size:13px; }.site-footer p { margin:0; }
@media (max-width:700px) { .site-header,main,.site-footer { width:min(calc(100% - 32px),var(--max)); }.site-header { min-height:72px; position:relative; }.nav-toggle { display:block; }.site-nav { display:none; position:absolute; top:64px; right:0; left:0; z-index:5; padding:20px; background:var(--paper); border:1px solid var(--line); align-items:flex-start; flex-direction:column; gap:17px; }.site-nav.open { display:flex; }.hero,.page-hero { padding:76px 0 72px; min-height:0; }.hero-copy { font-size:18px; }.two-column,.three,.enquiry-section { grid-template-columns:1fr; gap:28px; }.section { padding:64px 0; }.muted-section { margin-inline:-16px; padding-inline:16px; }.site-footer { gap:18px; flex-direction:column; align-items:flex-start; } }
