:root{--ink:#171a1a;--muted:#5d615f;--cream:#f4f2ed;--red:#bd352e;--line:#d9d8d2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;background:var(--cream);-webkit-font-smoothing:antialiased}a{color:inherit}img{display:block;max-width:100%}em{font-family:Georgia,serif;font-weight:normal}.shell{width:min(1280px,calc(100% - 80px));margin:auto}.skip{position:absolute;left:-9999px;top:0;z-index:30;padding:12px;background:white}.skip:focus{left:0}.site-header{background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #ecebe7}.header-inner{height:84px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand img{width:178px;height:auto;max-height:68px;object-fit:contain}.site-header nav{display:flex;gap:34px;margin-left:auto}.site-header nav a,.phone-link{font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}.site-header nav a:hover,.text-link:hover,.review-link:hover{color:var(--red)}.header-actions{display:flex;align-items:center;gap:25px}.phone-link{font-weight:400;display:flex;flex-direction:column;gap:3px;color:#737775}.phone-link strong{color:var(--ink);font-size:15px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:54px;padding:0 22px;font-weight:700;font-size:14px;letter-spacing:.01em;text-decoration:none;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-red{background:var(--red);color:#fff}.button-red:hover{background:#9c2722}.button span,.text-link span,.review-link span{font-size:19px;font-weight:400}.hero{min-height:690px;background:var(--ink);color:#fff;display:grid;grid-template-columns:55% 45%}.hero-copy{padding:clamp(70px,8vw,126px) 7vw 52px max(40px,calc((100vw - 1280px)/2));display:flex;flex-direction:column}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.22em;margin:0 0 32px;color:#d7d7d3}.eyebrow-line{display:inline-block;width:28px;height:1px;background:var(--red);vertical-align:middle;margin-right:11px}.eyebrow.red{color:var(--red)}h1,h2,h3,p{margin-top:0}.hero h1{font-size:clamp(52px,5.65vw,92px);letter-spacing:-.065em;line-height:.99;margin-bottom:30px;white-space:nowrap}.hero h1 em{color:#edc8bd;letter-spacing:-.06em}.hero-intro{max-width:535px;font-size:18px;line-height:1.6;color:#d3d5d1;margin-bottom:32px}.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.text-link{display:inline-flex;align-items:center;gap:20px;text-decoration:none;font-size:14px;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:7px}.text-link.light{color:#fff}.hero-proof{display:flex;gap:25px;align-items:center;margin-top:auto;padding-top:65px}.hero-proof span:not(.proof-divider){display:flex;flex-direction:column;gap:6px}.hero-proof b{font-size:13px}.hero-proof small{color:#a8afac;font-size:12px}.proof-divider{width:1px;height:34px;background:#5b6260}.hero-photo{position:relative;min-height:620px;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:52% 48%;position:absolute;inset:0}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.3),transparent 35%)}.photo-caption{position:absolute;z-index:1;bottom:30px;right:35px;color:white;font-size:10px;font-weight:800;letter-spacing:.2em}.work-section{padding:110px 0 100px}.section-heading{display:grid;grid-template-columns:1.4fr .6fr;gap:65px;align-items:end;margin-bottom:45px}.section-heading h2,.approach h2,.booking-section h2{font-size:clamp(42px,4.2vw,67px);letter-spacing:-.055em;line-height:1.08;margin:0}.section-heading h2 em,.review-row h2 em{color:var(--red)}.section-heading>p{font-size:17px;line-height:1.65;color:var(--muted);max-width:360px;margin:0 0 5px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:#faf9f6}.service-card{padding:38px 35px 47px;min-height:265px}.service-card+.service-card{border-left:1px solid var(--line)}.card-number{font-size:12px;color:var(--red);font-weight:800}.service-card h3{font-size:24px;letter-spacing:-.04em;margin:38px 0 13px}.service-card p,.approach-copy p,.contact-row p{font-size:15px;line-height:1.65;color:var(--muted);margin-bottom:0}.approach{display:grid;grid-template-columns:48% 52%;margin-top:100px;min-height:570px}.approach-photo{position:relative;overflow:hidden}.approach-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}.dark-caption{background:var(--ink);padding:15px 18px;bottom:20px;left:20px;right:auto}.approach-copy{background:#e8e6df;padding:clamp(45px,5.5vw,85px);display:flex;flex-direction:column;align-items:flex-start}.approach h2{margin:0 0 22px}.approach-copy p{max-width:560px;margin-bottom:18px}.tools{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 35px}.tools span{border:1px solid #c9c9c1;padding:9px 12px;font-size:12px;font-weight:700}.field-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px;height:235px}.field-strip img{height:100%;width:100%;object-fit:cover}.field-strip img:nth-child(1){object-position:center 40%}.field-strip img:nth-child(3){object-position:center 55%}.booking-section{background:#fff;padding:100px 0 85px}.review-row{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:start}.review-row .eyebrow{margin-bottom:22px}.review-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}.review-cards blockquote{margin:0;padding:27px 28px 23px;background:var(--cream);font:italic 18px/1.5 Georgia,serif;min-height:200px}.review-cards cite{display:block;margin-top:20px;font:700 12px Arial,Helvetica,sans-serif;color:var(--muted)}.review-link{display:inline-flex;align-items:center;gap:15px;font-size:13px;font-weight:800;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:8px;margin:25px 0 75px}.booking-panel{background:var(--ink);color:#fff;display:grid;grid-template-columns:42% 58%;min-height:650px;scroll-margin-top:105px}.booking-intro{padding:65px 45px 50px 55px;display:flex;flex-direction:column;align-items:flex-start}.booking-intro h2{font-size:clamp(44px,4vw,63px);margin:0 0 24px}.booking-intro>p:not(.eyebrow){color:#c7cfcc;font-size:16px;line-height:1.6;max-width:400px}.booking-options{display:flex;flex-direction:column;align-items:flex-start;gap:25px;margin-top:26px}.booking-options>a:not(.button){color:#fff;font-weight:700;font-size:14px}.booking-intro .booking-note{font-size:12px!important;color:#858d8b!important;margin-top:auto;padding-top:35px}.scheduler-wrap{background:#fff;padding:8px;min-width:0}.scheduler-wrap iframe{width:100%;height:100%;min-height:640px;border:0}.contact-row{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:60px}.contact-row h3{font-size:17px;margin-bottom:11px}.contact-row p{max-width:440px}.contact-row a{text-decoration:none;border-bottom:1px solid #bbb}footer{background:#171a1a;color:#a8afac;padding:29px 0}.footer-inner{display:flex;justify-content:space-between;gap:25px;align-items:center;font-size:12px}.footer-inner div{display:flex;gap:20px}.footer-inner a{text-decoration:none;color:#fff}.mobile-book{display:none}@media(max-width:1100px){.site-header nav{gap:18px}.phone-link{display:none}.hero-copy{padding-left:40px}.hero h1{font-size:clamp(48px,5.2vw,65px)}}@media(max-width:760px){html{scroll-padding-top:72px}.shell{width:calc(100% - 36px)}.header-inner{height:68px}.brand img{width:145px;max-height:56px}.site-header nav,.header-book{display:none}.hero{display:flex;flex-direction:column}.hero-copy{padding:66px 25px 35px;order:1}.hero-photo{height:360px;min-height:0;order:0}.hero-photo img{object-position:center 38%}.hero h1{font-size:clamp(48px,11vw,72px);white-space:normal}.hero-intro{font-size:16px}.hero-proof{padding-top:58px;gap:15px}.hero-proof small{font-size:10px}.hero-proof b{font-size:11px}.work-section,.booking-section{padding:72px 0}.section-heading,.review-row{display:block}.section-heading h2,.booking-section h2{font-size:44px}.section-heading>p{margin-top:23px}.service-grid{grid-template-columns:1fr}.service-card{min-height:0;padding:28px}.service-card+.service-card{border-left:0;border-top:1px solid var(--line)}.service-card h3{margin:20px 0 9px}.approach{display:flex;flex-direction:column;margin-top:65px}.approach-photo{height:380px}.approach-copy{padding:42px 28px}.field-strip{height:160px;gap:7px;margin-top:7px}.field-strip img:nth-child(3){display:none}.field-strip{grid-template-columns:1fr 1fr}.review-cards{margin-top:28px}.booking-panel{display:block;min-height:0}.booking-intro{padding:45px 28px}.booking-intro .booking-note{margin-bottom:0}.scheduler-wrap iframe{height:680px}.contact-row{gap:27px;padding-top:43px}.footer-inner{display:block;line-height:1.6}.footer-inner div{margin-top:15px}.mobile-book{display:flex;position:fixed;z-index:25;bottom:14px;right:14px;left:14px;box-shadow:0 7px 25px #0005;min-height:50px}.booking-section{padding-bottom:110px}}@media(max-width:520px){.hero-photo{height:290px}.hero h1{font-size:46px}.hero-actions{align-items:flex-start;gap:22px}.hero-proof{flex-wrap:wrap}.proof-divider{display:none}.review-cards{grid-template-columns:1fr}.review-cards blockquote{min-height:0}.contact-row{grid-template-columns:1fr}.field-strip{height:130px}}

.article-shell{width:min(820px,calc(100% - 40px));margin:0 auto;padding:95px 0 125px;min-height:65vh}.article-shell h1{font-size:clamp(42px,5vw,70px);line-height:1.06;letter-spacing:-.055em;margin:0 0 35px}.article-shell h2{font-size:28px;letter-spacing:-.035em;margin:36px 0 12px}.article-shell>p:not(.eyebrow),.article-list p{font-size:17px;line-height:1.75;color:var(--muted)}.article-image{width:100%;max-height:380px;object-fit:cover;margin:38px 0}.article-back{display:inline-block;margin-bottom:35px;text-decoration:none;font-weight:700;font-size:13px}.article-list{border-top:1px solid var(--line);margin-bottom:50px}.article-list article{padding:35px 0;border-bottom:1px solid var(--line)}.article-list article p:first-child{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}.article-list h2 a{text-decoration:none}.article-list h2 a:hover{color:var(--red)}.article-cta{margin-top:65px!important;padding-top:35px;border-top:1px solid var(--line)}

.master-badge{align-self:flex-start;display:inline-flex;align-items:center;gap:9px;border:1px solid #d86c5f;background:#3d2320;color:#fff;padding:10px 14px;margin:0 0 25px;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.16em}.master-badge span{color:#e7a097;font-size:15px}.field-strip img:first-child{object-fit:contain;background:#e8e6df}@media(max-width:760px){.field-strip{height:auto;grid-template-columns:1fr 1fr}.field-strip img:first-child{grid-column:1/-1;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}.field-strip img:nth-child(2),.field-strip img:nth-child(3){display:block;height:150px}}
/* Shared navigation and interior pages */
.site-header nav{gap:20px}.site-header nav a{font-size:12px}.mobile-menu{display:none}.header-inner{position:relative}
.inner-hero{padding:70px 0;background:#e8e6df}.inner-hero.compact{padding:82px 0 75px}.inner-hero-grid{display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:65px}.inner-hero-grid img{width:100%;height:480px;object-fit:cover;object-position:center 38%}.inner-hero h1{font-size:clamp(48px,5vw,76px);line-height:1.04;letter-spacing:-.06em;max-width:850px;margin:0 0 22px}.inner-hero-grid h1{font-size:clamp(44px,4.5vw,70px)}.inner-hero .lead{font-size:19px;line-height:1.55;color:#525755;max-width:720px;margin:0 0 31px}.inner-hero .lead a{text-decoration:underline}.content-section{padding:85px 0 110px}.content-section h2{font-size:clamp(35px,3.6vw,56px);line-height:1.1;letter-spacing:-.05em;margin:0 0 24px}.content-section p:not(.eyebrow){font-size:16px;line-height:1.72;color:var(--muted)}.dual{display:grid;grid-template-columns:1.2fr .7fr;gap:11%;align-items:start}.dual p{max-width:670px}.aside-panel{background:#e8e6df;padding:40px}.aside-panel h3{font-size:22px;letter-spacing:-.03em}.aside-panel ul{padding-left:20px;line-height:1.9;color:#505654}.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;margin-top:100px}.feature-row img{width:100%;height:500px;object-fit:cover}.feature-row:not(.inspection-photo) img{object-position:center 42%}.feature-row p{max-width:575px}.feature-row .text-link{margin-top:20px}.inspection-photo img{height:auto;aspect-ratio:16/9;object-fit:contain;background:#e8e6df}.tile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.tile-grid article{background:#fff;border:1px solid var(--line);padding:35px;min-height:240px}.tile-grid article span{font-size:11px;font-weight:800;color:var(--red)}.tile-grid article h2{font-size:27px;margin:30px 0 12px}.tile-grid article p{margin:0}.price-panel{display:grid;grid-template-columns:1fr .55fr;gap:60px;align-items:center;background:#e8e6df;margin-top:70px;padding:55px}.price-panel p{max-width:650px;margin:0}.price-panel>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:28px}.system-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.system-grid article{padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.system-grid h3{font-size:19px;margin:0 0 10px}.system-grid p{margin:0;font-size:14px!important}.systems{margin-top:110px}.systems-intro{max-width:700px;margin-bottom:35px}.link-stack{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:35px}.tile-grid.three{margin-top:75px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.contact-grid a{display:flex;flex-direction:column;gap:18px;min-height:230px;padding:35px;background:#fff;border:1px solid var(--line);text-decoration:none}.contact-grid a:hover{border-color:var(--red)}.contact-grid span{font-size:11px;font-weight:800;letter-spacing:.18em;color:var(--red)}.contact-grid strong{font-size:clamp(18px,2vw,25px);letter-spacing:-.03em;overflow-wrap:anywhere}.contact-grid small{font-size:13px;color:var(--muted)}.service-area{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:90px;border-top:1px solid var(--line);padding-top:60px}.service-area p:last-child{margin:0}.schedule-page{padding-top:45px}.schedule-fallback{display:flex;justify-content:space-between;gap:20px;padding:19px 25px;background:#e8e6df;font-size:14px}.schedule-fallback a{font-weight:800}.schedule-page iframe{width:100%;height:980px;border:1px solid var(--line);background:#fff}.article-shell{min-height:65vh}
@media(max-width:1160px){.site-header nav{gap:13px}.site-header nav a{font-size:11px}.header-actions{gap:12px}.brand img{width:160px}}
@media(max-width:900px){.site-header nav{display:none}.mobile-menu{display:block;margin-left:auto}.mobile-menu summary{list-style:none;cursor:pointer;font-weight:800;font-size:13px;padding:12px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu[open]>div{position:absolute;z-index:30;top:100%;left:-18px;right:-18px;background:#fff;box-shadow:0 12px 20px #0002;display:flex;flex-direction:column;padding:12px 18px 20px}.mobile-menu a{padding:13px 7px;text-decoration:none;font-size:14px;font-weight:700;border-bottom:1px solid #eee}.inner-hero-grid{gap:35px}.header-actions .phone-link{display:none}}
@media(max-width:760px){.inner-hero,.inner-hero.compact{padding:55px 0}.inner-hero-grid{display:flex;flex-direction:column-reverse;align-items:stretch;gap:35px}.inner-hero-grid img{height:320px}.inner-hero h1,.inner-hero-grid h1{font-size:clamp(40px,10vw,60px)}.inner-hero .lead{font-size:16px}.content-section{padding:60px 0 110px}.dual,.feature-row,.price-panel,.service-area{display:block}.aside-panel{margin-top:35px;padding:28px}.feature-row{margin-top:60px}.feature-row img{height:360px;margin-bottom:35px}.inspection-photo img{height:auto}.tile-grid,.system-grid,.contact-grid{grid-template-columns:1fr}.tile-grid article{min-height:0}.price-panel{padding:32px;margin-top:45px}.price-panel>div:last-child{margin-top:25px}.systems{margin-top:65px}.system-grid{border-top:1px solid var(--line)}.system-grid article{padding:20px}.service-area{margin-top:55px}.contact-grid a{min-height:0;padding:27px}.schedule-page iframe{height:850px}.schedule-fallback{flex-direction:column}.footer-inner div{flex-wrap:wrap}.article-shell{padding:65px 0 110px}}

.quote-shortcut{margin-top:28px}.quote-panel{margin-top:75px;scroll-margin-top:105px}.quote-header{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;margin-bottom:28px}.quote-header h2{margin-bottom:12px}.quote-header p:not(.eyebrow){max-width:670px;margin-bottom:0}.quote-header .text-link{margin-bottom:10px;white-space:nowrap}.quote-frame{background:#fff;border:1px solid var(--line);min-height:1100px}.quote-frame iframe{display:block;width:100%;height:1100px;border:0}.quote-footer{display:flex;justify-content:space-between;gap:25px;padding:20px 0;font-size:13px;color:var(--muted)}.quote-footer a{font-weight:800;color:var(--ink)}@media(max-width:760px){.quote-panel{margin-top:60px}.quote-header{display:block}.quote-header .text-link{margin-top:20px}.quote-frame,.quote-frame iframe{min-height:1250px;height:1250px}.quote-footer{display:block;line-height:1.8}.quote-footer a{display:inline}}

.hero-photo .cmi-seal{position:absolute;z-index:3;left:24px;bottom:22px;width:126px;padding:5px;background:#fff;box-shadow:0 8px 22px #0004;transition:transform .2s}.hero-photo .cmi-seal:hover{transform:translateY(-3px)}.hero-photo .cmi-seal img{position:static;width:100%;height:auto;object-fit:contain}.hero-photo .cmi-seal:focus-visible{outline:3px solid var(--red);outline-offset:3px}@media(max-width:760px){.hero-photo .cmi-seal{width:92px;left:14px;bottom:14px;padding:4px}}
/* Crop the original logo's wide white margins in the header without changing the supplied artwork. */
.site-header .header-inner{height:96px}.site-header .brand{display:block;position:relative;overflow:hidden;flex:0 0 190px;width:190px;height:86px}.site-header .brand img{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:125%;height:auto;max-height:none;object-fit:initial}html{scroll-padding-top:100px}@media(max-width:1160px){.site-header .brand{flex-basis:175px;width:175px;height:80px}.site-header .header-inner{height:90px}}@media(max-width:760px){.site-header .brand{flex-basis:160px;width:160px;height:73px}.site-header .header-inner{height:82px}html{scroll-padding-top:86px}}
