@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;550;600;650;700&family=Libre+Caslon+Display&display=swap');

:root{--ink:#1c302b;--muted:#58635e;--paper:#fafbf8;--white:#fff;--line:#d6ddd6;--accent:#c5db75;--dark:#213c32;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:5px}
a:focus-visible{outline:3px solid #a46424;outline-offset:6px}
::selection{background:var(--accent);color:var(--ink)}
nav,main>section,footer{padding-left:max(calc((100vw - 1240px)/2),5.5vw);padding-right:max(calc((100vw - 1240px)/2),5.5vw)}
nav{height:100px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.brand{font-weight:650;font-size:35px;letter-spacing:-2px;text-decoration:none;line-height:1}
.brand span{color:#799245}
.nav-links{display:flex;gap:34px;font-size:14px}
.nav-links a{text-decoration:none}
.nav-links a:hover{text-decoration:underline}
.nav-link{display:flex;gap:28px;align-items:center;border-bottom:1px solid var(--ink);padding:10px 0;font-size:14px;font-weight:600;text-decoration:none}
.nav-link:hover{color:#657d31}
.skip-link{position:absolute;top:-100px;left:20px;background:var(--ink);color:white;padding:12px;z-index:10}
.skip-link:focus{top:12px}
.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:7%;padding-top:52px;padding-bottom:72px;align-items:center}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin:0 0 27px;line-height:1.6}
.hero .eyebrow{font-size:14px;letter-spacing:0;text-transform:none;display:flex;align-items:center;gap:10px}
.status-dot{height:7px;width:7px;background:#7b9545;border-radius:50%;flex:none}
h1,h2,h3,p{margin-top:0}
h1{font:clamp(54px,5.9vw,84px)/1.02 var(--serif);letter-spacing:-.035em;margin-bottom:28px}
h1 em{font-style:normal;color:#637744}
.lede{font-size:17px;line-height:1.75;color:var(--muted);max-width:425px;margin-bottom:30px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:17px 23px;background:var(--ink);color:#fff;text-decoration:none;font-size:14px;font-weight:550;border:1px solid transparent;transition:background .18s,transform .18s}
.button span{font-size:21px;font-weight:400;line-height:1}
.button:hover{background:#36563d;transform:translateY(-2px)}
.small,.fine{color:var(--muted);font-size:13px;line-height:1.6;margin-top:16px;margin-bottom:0}
.hero-image{margin:0;background:var(--dark);color:var(--white)}
.hero-image img{display:block;width:100%;height:370px;object-fit:cover;object-position:50% 50%}
.hero-image figcaption{display:flex;justify-content:space-between;align-items:center;padding:22px 26px;font-size:13px;line-height:1.6;color:#c8d5c5}
.hero-image figcaption strong{font-weight:500;color:white}
.image-mark{font-size:48px;letter-spacing:-5px;color:var(--accent);line-height:1;font-weight:600}
.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:26px;padding-bottom:26px}
.strip p{font-size:13px;line-height:1.5;margin:0;color:var(--muted);flex-shrink:0}
.strip strong{color:var(--ink);font-weight:550}
.strip ul{display:flex;list-style:none;padding:0;gap:30px;margin:0;font-size:14px}
.location{font-size:12px;color:var(--muted);line-height:1.5}
.section{padding-top:100px;padding-bottom:100px}
h2{font:clamp(38px,4vw,56px)/1.08 var(--serif);letter-spacing:-.02em;margin-bottom:0;max-width:650px}
.grid{display:grid;gap:40px;margin-top:45px}
.three{grid-template-columns:repeat(3,1fr)}
article{border-top:1px solid var(--line);padding:26px 0 0}
article>strong{font-weight:550;font-size:20px;letter-spacing:-.025em;line-height:1.4;display:block;max-width:250px}
article p{font-size:16px;line-height:1.7;color:var(--muted);margin:15px 0 0}
.dark{background:var(--dark);color:var(--white)}
.dark .eyebrow{color:var(--accent)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px}
.section-heading>p{max-width:300px;color:var(--muted);font-size:16px;line-height:1.7;margin:0 0 3px}
.dark .section-heading>p{color:#d4ddd2}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:50px}
.steps>div{border-top:1px solid #ffffff38;padding-top:22px}
.steps span{font-size:12px;letter-spacing:.04em;color:var(--accent)}
.steps h3{font-weight:500;font-size:23px;letter-spacing:-.03em;margin:24px 0 12px}
.steps p{color:#d4ddd2;line-height:1.7;font-size:16px;margin-bottom:0}
.package-list{margin-top:50px;border-bottom:1px solid var(--line)}
.package{display:grid;grid-template-columns:1fr 1.3fr .65fr 44px;gap:40px;align-items:center;padding:30px 0}
.package-name{display:flex;gap:24px;align-items:flex-start}
.package-number{font-size:12px;color:var(--muted);padding-top:7px}
.package h3{font-size:27px;letter-spacing:-.045em;font-weight:500;margin:0 0 6px}
.package-tag{font-size:10px;letter-spacing:.06em;line-height:1.5;display:block;color:var(--muted)}
.package p{margin:0;font-size:15px;line-height:1.65}
.price{display:flex;flex-direction:column;gap:3px}
.price span{font-size:12px;color:var(--muted)}
.price strong{font-size:29px;letter-spacing:-1px;font-weight:500;white-space:nowrap}
.package>a{height:44px;width:44px;border:1px solid var(--line);display:grid;place-items:center;text-decoration:none;font-size:22px;border-radius:50%;transition:background .18s}
.package>a:hover{background:var(--accent)}
.fine{margin-top:24px;max-width:730px}
.audit{background:#e9efdc;padding-top:80px;padding-bottom:80px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.audit-copy>p:first-child{font-size:17px;line-height:1.75;margin:0 0 26px;max-width:470px}
.contact-note{font-size:12px}
footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:36px;padding-bottom:36px;font-size:12px;color:var(--muted)}
footer .brand{font-size:28px;color:var(--ink)}
.photo-credit{font-size:12px}
@media(min-width:1600px){.hero{gap:100px}}
@media(max-width:1050px){.hero{gap:35px}.hero-image img{height:340px}.strip ul{gap:20px;font-size:13px}.location{display:none}.package{gap:24px;grid-template-columns:1fr 1.1fr .6fr 44px}.package-name{gap:14px}.section-heading{gap:30px}.section-heading>p{max-width:270px}.audit{gap:45px}}
@media(max-width:760px){nav{height:82px}.nav-links{display:none}.brand{font-size:31px}.hero{grid-template-columns:1fr;gap:36px;padding-top:38px;padding-bottom:42px}h1{font-size:clamp(49px,10vw,74px)}.hero .eyebrow{margin-bottom:23px;font-size:13px}.lede{max-width:500px}.hero-image img{height:290px;object-position:center 54%}.hero-image figcaption{padding:18px 24px}.strip{align-items:flex-start;gap:20px;padding-top:24px;padding-bottom:24px}.strip ul{flex-direction:column;gap:10px;font-size:13px}.section{padding-top:65px;padding-bottom:65px}.three,.steps{grid-template-columns:1fr;gap:30px}.grid,.steps{margin-top:32px}article>strong{max-width:none}.steps h3{margin-top:14px}.section-heading{display:block}.section-heading>p{max-width:500px;margin-top:24px}.package-list{margin-top:30px}.package{grid-template-columns:1fr auto;gap:18px 24px;padding:26px 0}.package-name{grid-column:1;grid-row:1}.price{grid-column:2;grid-row:1}.price strong{font-size:26px}.package p{grid-column:1;grid-row:2}.package>a{grid-column:2;grid-row:2;justify-self:end}.package-tag{font-size:10px}.audit{padding-top:60px;padding-bottom:60px;grid-template-columns:1fr;gap:28px}.audit-copy>p:first-child{font-size:16px}footer{flex-wrap:wrap;gap:20px}footer>span{width:65%;text-align:right}.photo-credit{margin-top:4px}}
@media(max-width:360px){.hero .eyebrow{font-size:12px}h1{font-size:45px}.package-name{gap:10px}.package-tag{max-width:140px}.package{gap:20px 14px}footer>span{width:auto;text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.package>a{transition:none}.button:hover{transform:none}}

/* Keep longer email-first calls to action within narrow viewports. */
.button{max-width:100%;text-align:left}
