*{box-sizing:border-box} :root{--ink:#17201d;--muted:#66736d;--line:#dfe7e1;--paper:#f6f8f4;--white:#fff;--accent:#b56e46;--accent-dark:#854b2f} html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.6}.shell{width:min(1120px,calc(100% - 40px));margin:auto}.site-header{background:rgba(246,248,244,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.nav{display:flex;align-items:center;gap:34px;min-height:78px}.brand{color:var(--ink);font-weight:800;letter-spacing:.12em;text-decoration:none;font-size:14px;line-height:1.05}.brand span{color:var(--accent)}.brand small{display:block;color:var(--muted);font-size:8px;letter-spacing:.28em;margin-top:6px}.nav nav{display:flex;gap:24px;margin-left:auto}.nav nav a,.text-link,.back,footer a{color:var(--ink);text-decoration:none}.nav nav a:hover,.text-link:hover,footer a:hover{color:var(--accent-dark)}.nav-cta,.button{display:inline-block;background:var(--accent);color:white;text-decoration:none;border:0;padding:12px 18px;font-weight:700;letter-spacing:.02em}.nav-cta{font-size:13px;padding:9px 14px}.hero{background:#e9efe9;padding:96px 0 92px}.hero-grid{display:grid;grid-template-columns:1.35fr .45fr .4fr;gap:44px;align-items:end}.hero-media{margin:0}.hero-media img{display:block;width:100%;height:420px;object-fit:cover}.eyebrow{color:var(--accent-dark);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px}.hero h1,.page-hero h1{font-family:Georgia,serif;font-size:clamp(44px,6vw,78px);font-weight:400;line-height:1.02;max-width:760px;margin:0 0 24px}.hero-copy{font-size:20px;color:var(--muted);max-width:590px}.actions{display:flex;align-items:center;gap:24px;margin-top:32px}.hero-panel{border-top:1px solid var(--ink);padding-top:18px}.hero-panel span,.service-grid span{color:var(--accent);font-weight:800}.hero-panel strong{display:block;font-family:Georgia,serif;font-size:24px;margin:18px 0 5px}.hero-panel p{color:var(--muted);margin:0}.section{padding:100px 0}.section-heading{max-width:620px;margin-bottom:40px}.section h2,.journal-callout h2{font-family:Georgia,serif;font-size:44px;font-weight:400;line-height:1.1;margin:0}.feature-grid,.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.feature-grid>div,.service-grid>div{background:var(--paper);padding:28px}.feature-grid h3,.service-grid h3{font-family:Georgia,serif;font-size:24px;font-weight:400;margin:0 0 10px}.feature-grid p,.service-grid p{color:var(--muted);margin:0}.service-grid{grid-template-columns:repeat(4,1fr)}.service-grid h3{margin-top:28px}.journal-callout{background:var(--ink);color:white;padding:66px 0}.journal-callout .eyebrow{color:#e4a986}.journal-callout p{color:#bdc8c1}.split{display:flex;align-items:center;justify-content:space-between;gap:30px}.contact{max-width:720px;margin-left:auto;margin-right:auto}.contact h2{margin-bottom:18px}.fine{color:var(--muted);font-size:13px;margin-top:20px}.page-hero{background:#e9efe9;padding:70px 0}.page-hero h1{font-size:clamp(42px,6vw,68px);max-width:820px}.page-hero p:not(.eyebrow){font-size:19px;color:var(--muted);max-width:620px}.blog-layout{display:grid;grid-template-columns:220px 1fr;gap:54px;padding-top:70px;padding-bottom:100px}.filters{border-right:1px solid var(--line);padding-right:24px}.filter{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:10px 0;color:var(--muted);cursor:pointer;font:inherit}.filter.active,.filter:hover{color:var(--accent-dark);font-weight:700}.side-note{margin-top:40px;padding-top:20px;border-top:2px solid var(--accent)}.side-note strong{font-family:Georgia,serif;font-size:20px}.side-note p{color:var(--muted);font-size:14px}.side-note a{color:var(--accent-dark);font-weight:700}.results{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:22px}.post-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.post-card{background:var(--paper);padding:25px;text-decoration:none;color:var(--ink);min-height:210px;transition:background .2s}.post-card:hover{background:#e9efe9}.post-card>span,.article-meta span{color:var(--accent-dark);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.post-card h2{font-family:Georgia,serif;font-size:25px;font-weight:400;line-height:1.15;margin:18px 0}.post-card p{color:var(--muted);font-size:14px;margin:0}.post-thumb{display:block;width:calc(100% + 50px);height:170px;object-fit:cover;margin:-25px -25px 20px}.article-page{padding:70px 0 110px}.back{display:inline-block;color:var(--accent-dark);font-weight:700;margin-bottom:45px}.article-page h1{font-family:Georgia,serif;font-weight:400;line-height:1.08;font-size:clamp(42px,6vw,72px);max-width:900px;margin:22px 0}.article-lede{font-size:21px;color:var(--muted);max-width:700px}.article-page article{max-width:740px;margin:60px 0;font-size:18px}.article-page article h2{font-family:Georgia,serif;font-weight:400;font-size:32px;margin:42px 0 12px}.article-page article p{margin:0 0 20px}.article-page article ul{padding-left:24px}.article-cta{background:#e9efe9;padding:28px;margin-top:48px}.article-cta strong{font-family:Georgia,serif;font-size:25px}.article-cta p{color:var(--muted)}footer{background:#17201d;color:#d7e0da;padding:54px 0 22px}footer .brand{color:white}footer p{color:#aebbb2}.footer-grid{display:flex;justify-content:space-between;gap:30px}.footer-bottom{border-top:1px solid #36443c;margin-top:42px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:#8d9c92;font-size:12px}footer a{color:white}@media(max-width:800px){.nav{gap:14px}.nav nav{gap:12px}.nav nav a{font-size:13px}.nav-cta{display:none}.hero-grid,.blog-layout{grid-template-columns:1fr}.hero-media img{height:300px;margin-bottom:26px}.hero{padding:64px 0}.hero-panel{margin-top:30px}.section{padding:68px 0}.feature-grid,.service-grid{grid-template-columns:1fr}.post-grid{grid-template-columns:1fr}.filters{border-right:0;border-bottom:1px solid var(--line);padding:0 0 24px}.filters .filter{display:inline-block;width:auto;margin-right:16px;border-bottom:0}.side-note{display:none}.split,.footer-grid,.footer-bottom{display:block}.split .button{margin-top:24px}.footer-bottom span{display:block;margin-top:8px}}@media(max-width:480px){.shell{width:min(100% - 28px,1120px)}.nav{min-height:68px}.nav nav{display:none}.hero h1{font-size:46px}.actions{align-items:flex-start;flex-direction:column}.article-page article{font-size:17px}}

/* Editorial image layouts */
.article-media{margin:0 0 36px}.article-media-wide{width:100vw;max-width:1120px;margin-left:50%;transform:translateX(-50%)}.article-image{margin:0;background:#e9efe9;overflow:hidden}.article-image img{display:block;width:100%;height:290px;object-fit:cover}.article-image-wide img{height:470px}.article-image figcaption{padding:10px 14px;color:var(--muted);font-size:12px;letter-spacing:.02em}.article-media-side{float:right;width:43%;margin:6px 0 28px 36px}.article-media-side .article-image img{height:340px}.article-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:36px 0}.article-gallery .article-image img{height:250px}.article-gallery-top{margin:0 0 40px}.article-gallery-top .article-image img{height:300px}.article-page article>.article-image-wide{margin:42px 0}.service-media{padding-bottom:20px}.service-media .article-gallery{margin:0}.service-media .article-image img{height:360px}

/* Homepage components */
.hero-list{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.hero-list li{color:var(--muted);font-size:14px}
.hero-list li::before{content:"\2713";color:var(--accent);font-weight:800;margin-right:8px}
.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.service-card{background:var(--paper);padding:28px;display:flex;flex-direction:column}
.service-card>span{color:var(--accent);font-weight:800;font-size:13px;letter-spacing:.1em}
.service-card h3{font-family:Georgia,serif;font-size:23px;font-weight:400;margin:16px 0 10px}
.service-card p{color:var(--muted);margin:0 0 18px;flex:1}
.service-card .text-link{font-weight:700;font-size:14px}
.step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:36px}
.step{background:var(--paper);padding:26px}
.step span{font-family:Georgia,serif;font-size:34px;color:var(--accent);display:block;line-height:1}
.step h3{font-family:Georgia,serif;font-size:20px;font-weight:400;margin:14px 0 8px}
.step p{color:var(--muted);margin:0;font-size:15px}
.location-list{list-style:none;padding:0;margin:0 0 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.location-list li{background:var(--paper);padding:18px 20px;font-size:15px}
.address-card{background:#e9efe9;padding:30px;max-width:560px}
.address-card strong{font-family:Georgia,serif;font-size:24px;display:block;margin-bottom:4px}
.address-card p{margin:0 0 10px;color:var(--muted)}
.address-card .button{margin-top:12px}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{cursor:pointer;padding:20px 0;font-family:Georgia,serif;font-size:21px;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";color:var(--accent);font-size:24px;line-height:1}
.faq-item[open] summary::after{content:"\2212"}
.faq-item p{margin:0 0 22px;color:var(--muted);max-width:760px}
.blog-section .post-grid{margin-top:8px}
.blog-more{display:flex;align-items:center;gap:26px;margin-top:34px}
@media(max-width:800px){
  .service-cards,.step-grid,.location-list{grid-template-columns:1fr}
  .hero-list{grid-template-columns:1fr}
}@media(max-width:800px){.article-media-wide{width:100%;margin-left:0;transform:none}.article-image-wide img{height:320px}.article-media-side{float:none;width:100%;margin:30px 0}.article-media-side .article-image img{height:280px}.article-gallery{gap:10px}.article-gallery .article-image img{height:220px}.service-media .article-gallery{grid-template-columns:1fr}}@media(max-width:480px){.article-gallery{grid-template-columns:1fr}.article-gallery .article-image img,.article-gallery-top .article-image img{height:240px}.article-image-wide img{height:250px}.article-image figcaption{font-size:11px}}