:root{--ink:#142b2a;--paper:#fcfcf9;--gold:#d8b66b;--muted:#526260;--line:#d9dfd9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a,button,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #94702d;outline-offset:5px}input:focus,select:focus,textarea:focus{outline:2px solid #94702d;outline-offset:2px}button,input,select,textarea{font:inherit}h1,h2,h3,p,figure{margin:0}h1,h2{font-weight:400;letter-spacing:-.045em;line-height:1.09}h1{font-size:clamp(2.7rem,4.5vw,5.1rem)}h2{font-size:clamp(2.1rem,3.2vw,3.5rem)}h3{font-size:1.4rem;font-weight:500;letter-spacing:-.025em;line-height:1.3}p{color:var(--muted)}.topline{background:var(--ink);color:#e4eae4;display:flex;justify-content:space-between;padding:9px 5%;font-size:.75rem;letter-spacing:.1em}.topline span{letter-spacing:0}header{padding:24px 5%;display:flex;justify-content:space-between;align-items:center;gap:30px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:15px;line-height:1.3;font-size:1rem;font-weight:700;letter-spacing:.12em;flex-shrink:0}.brand small{display:block;font-size:.75rem;letter-spacing:.06em;margin-top:6px;font-weight:400}.monogram{font-family:Georgia,serif;font-size:3rem;letter-spacing:-.1em;line-height:1}.monogram span{color:#94702d}.brand>span:last-child{border-left:1px solid var(--line);padding-left:16px}nav{display:flex;align-items:center;gap:26px;font-size:.9rem}nav a:hover,.text-link:hover,.quiet-link:hover{text-decoration:underline;text-underline-offset:5px}.nav-call{border:1px solid var(--ink);padding:10px 15px}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:630px}.hero-copy{padding:70px 9.5% 30px;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:.75rem;letter-spacing:.15em;font-weight:600;margin-bottom:23px;color:inherit}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:#50706a;letter-spacing:-.065em}.lead{font-size:1.1rem;line-height:1.8;margin-top:25px;max-width:560px}.actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--ink);color:#fff;min-height:53px;padding:15px 24px;border:1px solid var(--ink);cursor:pointer;font-size:.94rem;line-height:1.5;text-align:center}.button:hover{background:#31534c}.quiet-link{font-size:.9rem}.hero-foot{margin-top:auto;padding-top:38px;display:flex;gap:16px;font-size:.75rem;flex-wrap:wrap;color:var(--muted)}.hero-foot span:not(:last-child){padding-right:15px;border-right:1px solid var(--line)}.hero-image{position:relative;background:#b7c0b8;min-height:580px;overflow:hidden}.hero-image img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.hero-image:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.55));pointer-events:none}.hero-image figcaption{position:absolute;top:18px;right:18px;font-size:.75rem;letter-spacing:.06em;background:rgba(20,43,42,.9);color:white;padding:6px 10px;max-width:90%;z-index:1}.image-note{position:absolute;bottom:42px;left:40px;color:#fff;font-family:Georgia,serif;font-size:2.3rem;line-height:1.15;z-index:1}.area-strip{padding:23px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px;background:#eaf0ec}.area-strip>span{font-size:.75rem;letter-spacing:.11em}.area-strip p{color:var(--ink)}.area-strip b{padding:0 15px;font-weight:400;color:#68857b}.section{padding:85px 5%}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:45px}.section-head>p{max-width:330px}.services{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service{padding:30px 25px 30px 0;display:flex;flex-direction:column;align-items:flex-start}.service+.service{padding-left:25px;border-left:1px solid var(--line)}.service:hover{background:#f0f4ef}.service-num{color:#69827b;font-size:.8rem;margin-bottom:36px}.service h3{margin-bottom:18px}.service p{font-size:.95rem;line-height:1.7}.text-link{display:inline-flex;gap:25px;align-items:center;border-bottom:1px solid #84998f;padding-bottom:4px;margin-top:25px;font-size:.9rem}.service .text-link{margin-top:auto;padding-top:25px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:var(--ink);color:white}.approach p{color:#c9d6cf}.approach .button{margin-top:30px}.button.light{color:var(--ink);background:#e1c480;border-color:#e1c480}.steps{margin:0;padding:0;list-style:none}.steps li{display:flex;gap:25px;border-bottom:1px solid #47615b;padding:26px 0}.steps li:first-child{padding-top:0}.steps li>span{font-size:.8rem;color:#d8b66b}.steps h3{margin-bottom:12px}.steps p{font-size:.95rem;max-width:410px}.area-section{display:grid;grid-template-columns:1fr 1fr;gap:10%}.area-section p:not(.eyebrow){max-width:530px;margin-top:25px}.area-list{display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:0 35px}.area-list span{border-bottom:1px solid var(--line);padding:22px 0;font-size:1.4rem}.faq{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.2fr;gap:0 8%}.faq>.eyebrow,.faq>h2{grid-column:1}.faq>h2{grid-row:2 / 7;align-self:start}.faq details{grid-column:2;border-bottom:1px solid var(--line);padding:18px 0}.faq details:first-of-type{grid-row:1 / 3}.faq summary{cursor:pointer;font-size:1.05rem;font-weight:500}.faq details p{margin-top:15px}.closing{text-align:center;padding:65px 5%;background:#eaf0ec}.closing .button{margin-top:28px}.closing .quiet-link{display:block;margin-top:18px}.footer-main{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:35px;padding:50px 5%;align-items:start}.footer-main p,.footer-main>div{font-size:.9rem}.footer-base{margin:0 5%;padding:18px 0 25px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:.8rem}.mobile-contact{display:none}.skip{position:fixed;top:-100px;left:20px;background:white;padding:15px;z-index:20}.skip:focus{top:15px}.detail-hero{background:#eaf0ec}.detail-hero h1{max-width:850px}.detail-hero .button{margin-top:30px}.back{display:inline-block;margin-bottom:35px;text-decoration:underline;font-size:.9rem}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:10%}.service-detail h3{margin-bottom:15px}.service-detail p{margin-bottom:28px}.scope{padding-left:22px;margin-top:25px}.scope li{margin-bottom:15px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:7%}.contact-layout h1{font-size:clamp(2.7rem,4vw,4.5rem)}.contact-method{margin:40px 0}.contact-method small{display:block;font-size:.75rem;letter-spacing:.1em;margin-top:25px}.contact-method a{font-size:2rem;display:block;margin-top:5px}.contact-method a.email{font-size:1.05rem;overflow-wrap:anywhere}.form-panel{border:1px solid var(--line);padding:35px;background:white}.form-panel h2{font-size:2rem;letter-spacing:-.03em}.form-panel>p{margin:15px 0 25px;font-size:.95rem}label{display:block;font-size:.9rem;margin-bottom:17px}input,select,textarea{display:block;border:1px solid #8c9e96;border-radius:0;width:100%;padding:11px;background:var(--paper);color:var(--ink);margin-top:7px;min-width:0;font-size:1rem}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-note{font-size:.8rem;margin-bottom:23px}.form-note a,.legal a,#email-fallback a{text-decoration:underline}.form-panel .button{width:100%}#form-status{margin-top:18px;font-size:.9rem}#email-fallback{margin-top:15px}.copy-button{margin-top:10px;padding:9px 15px;border:1px solid var(--ink);background:#eaf0ec;cursor:pointer}.legal{max-width:900px;margin:auto}.legal h1{margin-bottom:30px}.legal h2{font-size:1.6rem;margin:30px 0 15px}.legal p{margin-bottom:15px}@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero-copy{padding-top:95px}.hero{min-height:730px}}@media(max-width:1100px){nav{gap:15px}nav a:not(.nav-call){display:none}.hero{min-height:560px}.hero-copy{padding-top:45px}.services{grid-template-columns:1fr 1fr}.service{border-bottom:1px solid var(--line)}.service:nth-child(3){border-left:0;padding-left:0}.footer-main{grid-template-columns:1fr 1fr}.footer-main>div{grid-column:2}.area-strip{align-items:flex-start;flex-direction:column;gap:5px}.hero-foot{padding-top:25px}.contact-layout{gap:4%}.form-panel{padding:23px}}@media(max-width:700px){.topline{font-size:.75rem;justify-content:center}.topline span{display:none}header{padding:20px 5%;gap:12px}.brand{font-size:.8rem;gap:10px;letter-spacing:.08em}.brand small{font-size:.75rem;max-width:170px}.brand>span:last-child{padding-left:10px}.monogram{font-size:2.6rem}header nav{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:42px 6% 30px}.hero h1{font-size:clamp(2.7rem,10vw,4.2rem)}.hero-image{min-height:350px}.image-note{font-size:2rem;bottom:25px;left:25px}.hero-image img{object-position:center 53%}.lead{font-size:1rem}.hero-foot{margin-top:12px}.area-strip{padding:22px 6%}.area-strip p{font-size:.88rem;line-height:2}.area-strip b{padding:0 5px}.section{padding:55px 6%}.section-head{display:block;margin-bottom:28px}.section-head>p{margin-top:20px}.services{grid-template-columns:1fr}.service,.service+.service,.service:nth-child(3){padding:25px 0;border-left:0}.service-num{margin-bottom:12px}.service h3{margin-bottom:10px}.service .text-link{padding-top:20px}.approach,.area-section,.service-detail,.contact-layout{grid-template-columns:1fr;gap:40px}.area-list{gap:0 25px}.area-list span{font-size:1.15rem}.faq{display:block}.faq h2{margin-bottom:22px}.faq details{padding:20px 0}.closing{padding:48px 6%}.closing h2{font-size:2.3rem}.footer-main{grid-template-columns:1fr;gap:25px;padding:40px 6%}.footer-main>div{grid-column:auto}.footer-base{padding-bottom:95px}.mobile-contact{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:10;box-shadow:0 -3px 16px #0001;background:#fff;padding-bottom:env(safe-area-inset-bottom)}.mobile-contact a{padding:15px 10px;text-align:center;font-size:.94rem;background:white}.mobile-contact a:last-child{background:var(--ink);color:#fff}.contact-layout h1{font-size:3rem}.form-panel{padding:24px 20px}.form-row{grid-template-columns:1fr;gap:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Original company branding, supplied by the owner. */
.company-logo{display:block;width:132px;height:132px;object-fit:contain;flex-shrink:0}.brand>span:last-child{border-color:#655838}header{background:#141414;color:#f5e8c9;padding-top:12px;padding-bottom:12px}header .nav-call{border-color:#d8b66b}header .brand small{color:#ddd6c9}footer .company-logo{width:160px;height:160px}footer .brand{align-items:center}footer .brand>span:last-child{max-width:190px}.footer-main{grid-template-columns:1.35fr 1fr 1fr} @media(max-width:1100px){.footer-main{grid-template-columns:1fr 1fr}footer .brand{flex-wrap:wrap}}@media(max-width:700px){.company-logo{width:110px;height:110px}header{padding-top:8px;padding-bottom:8px}.brand{gap:14px}header .brand>span:last-child{max-width:190px}header .brand small{line-height:1.6}.footer-main{grid-template-columns:1fr}footer .brand{flex-wrap:nowrap}}@media(max-width:360px){.company-logo{width:90px;height:90px}.brand{gap:10px}.brand>span:last-child{max-width:160px}}

.service-tagline{font-family:Georgia,serif;font-size:1.4rem;margin-top:18px}.breadcrumbs{display:flex;gap:12px;margin-bottom:30px;font-size:.9rem;flex-wrap:wrap}.breadcrumbs a{text-decoration:underline}.service-faq{padding-top:15px}.service-faq h2{margin-bottom:25px}.service-faq details{padding:20px 0;border-bottom:1px solid var(--line);max-width:900px}.service-faq summary{cursor:pointer;font-size:1.05rem}.service-faq details p{margin-top:15px;max-width:780px}.related{padding-top:10px}.related h2{font-size:1.8rem;margin-bottom:22px}.related>div{display:flex;gap:20px;flex-wrap:wrap}.related a{border-bottom:1px solid #84998f}.footer-base{gap:15px;flex-wrap:wrap}@media(max-width:700px){header{flex-wrap:wrap}header nav{display:flex;width:100%;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 0}header nav a:not(.nav-call){display:block}header .nav-call{display:none}.breadcrumbs{display:flex}.hero h1{font-size:clamp(2.4rem,8vw,3.6rem)}}

.area-strip{flex-wrap:wrap}.area-strip p{max-width:100%;text-wrap:pretty}.area-strip b{display:inline-block}.footer-main p{overflow-wrap:break-word}
