:root{--ink:#242424;--charcoal:#303133;--stone:#cbb99f;--stone-light:#eee8de;--paper:#f9f8f5;--white:#fff;--line:#d8d4cc;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}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}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:20px;background:#fff;padding:10px;z-index:99}.site-header{height:94px;background:#1f2021;border-bottom:1px solid #3d3d3d;position:sticky;top:0;z-index:50}.head-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.brand img{display:block;width:176px;height:82px;object-fit:contain}.site-header nav{display:flex;align-items:center;gap:32px;color:#eee}.site-header nav>a{text-decoration:none;font-size:.92rem}.site-header nav>a:hover{color:var(--stone)}.nav-cta{border:1px solid var(--stone);padding:11px 17px}.menu-btn{display:none;background:none;border:1px solid #777;color:white;padding:9px 12px}h1,h2,h3{line-height:1.12;margin:0 0 20px;font-family:Georgia,'Times New Roman',serif;font-weight:500}h1{font-size:clamp(3.2rem,7vw,6.6rem);letter-spacing:-.045em}h2{font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.03em}h3{font-size:1.55rem}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:700;color:#8c7559;margin:0 0 20px}.lead{font-size:1.25rem;line-height:1.55;color:#4f4e4b;max-width:740px}.hero{background:#e8e2d8;min-height:710px;display:flex;align-items:center;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:70px}.hero h1 em{color:#7d6a53;font-weight:400}.hero-copy{padding:80px 0}.hero-mark{background:#f8f6f1;padding:30px;position:relative;box-shadow:0 25px 70px rgba(30,30,30,.13)}.hero-mark:before{content:'';position:absolute;inset:-24px 24px 24px -24px;border:1px solid #948064;z-index:0}.hero-mark img{width:100%;display:block;position:relative;z-index:1}.location{position:absolute;z-index:2;bottom:-34px;left:50px;background:#292a2c;color:white;padding:18px 25px;display:flex;flex-direction:column}.location span{color:#c9b99f;font-size:.84rem}.actions{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}.btn{display:inline-block;text-decoration:none;padding:15px 23px;font-weight:700;font-size:.9rem;letter-spacing:.03em}.primary{background:var(--charcoal);color:white}.primary:hover{background:#111}.ghost{border:1px solid #696863}.light{background:var(--stone-light);color:#202020}.intro-band{padding:110px 0;background:#f9f8f5}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.intro-grid>p{font-size:1.16rem;margin-top:42px}.home-services{padding:110px 0;background:white}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:50px}.section-head>a,.text-link{font-weight:700;text-decoration:none}.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.feature{padding:34px;text-decoration:none;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:270px;transition:.25s}.feature:hover{background:#292a2c;color:#fff}.feature>span,.service-card>span{font-size:.75rem;letter-spacing:.15em;color:#927c61}.feature h3{margin-top:55px}.experience{padding:100px 0;background:var(--stone-light)}.exp-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:80px;align-items:center}.big-number{font-family:Georgia,serif;font-size:12rem;line-height:.8;color:#7e6b54;border-right:1px solid #bcb09e}.big-number small{font-size:1.2rem;margin-left:8px}.cta{background:#242526;color:white;padding:90px 0}.cta-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:center}.cta .eyebrow{color:#cdbb9f}.cta p{color:#d3d3d3}.page-hero,.service-hero{padding:120px 0 100px;background:#e8e2d8}.page-hero h1,.service-hero h1{max-width:950px}.split-title{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end}.services-list{padding:90px 0}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{background:#fff;padding:30px;min-height:290px;border:1px solid var(--line);display:flex;flex-direction:column}.service-card h3{margin-top:34px}.service-card p{color:#666}.service-card a{margin-top:auto;text-decoration:none;font-weight:700}.article{padding:95px 0;background:#fff}.article-grid{display:grid;grid-template-columns:260px minmax(0,760px);gap:90px;justify-content:center}.article aside{position:sticky;top:130px;height:max-content;border-top:3px solid #9c876b;padding-top:25px;display:flex;flex-direction:column;gap:9px;color:#666}.article aside b{font-family:Georgia,serif;font-size:3rem;color:#292929}.article aside a{font-weight:700;font-size:1.2rem}.article aside hr{width:100%;border:0;border-top:1px solid var(--line);margin:15px 0}.prose h2{font-size:2rem;margin-top:45px}.prose h2:first-child{margin-top:0}.prose p{font-size:1.07rem}.prose .intro{font-size:1.3rem;color:#4a4946}.back{display:inline-block;margin-bottom:40px;text-decoration:none;font-weight:700}.related{padding:80px 0;background:#ece7dd}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.related-grid a{background:white;padding:28px;text-decoration:none}.related-grid span{font-weight:700}.contact-section{padding:90px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-card,.contact-copy{background:white;border:1px solid var(--line);padding:42px}.contact-card>span{display:block;text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;color:#8d775e;margin-bottom:22px}.contact-card>a{font-family:Georgia,serif;font-size:2.5rem;text-decoration:none}.contact-copy{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-copy h2{font-size:2.3rem}.contact-copy p{max-width:520px}footer{background:#191a1b;color:#ddd;padding:75px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px}.footer-logo{width:210px;height:115px;object-fit:contain}.footer-grid h2{font-family:Arial,sans-serif;font-size:.8rem;text-transform:uppercase;letter-spacing:.16em;color:#bfae94}.footer-grid>div{display:flex;flex-direction:column;gap:9px}.footer-grid a{text-decoration:none}.legal{border-top:1px solid #383838;margin-top:45px;padding-top:20px;color:#888;font-size:.8rem}@media(max-width:800px){.site-header{height:76px}.brand img{width:145px;height:66px}.menu-btn{display:block}.site-header nav{display:none;position:absolute;top:76px;left:0;right:0;background:#202122;padding:24px;flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.hero{min-height:auto}.hero-grid,.intro-grid,.exp-grid,.cta-inner,.split-title,.article-grid{grid-template-columns:1fr}.hero-grid{gap:10px}.hero-copy{padding:65px 0 20px}.hero-mark{margin:0 20px 70px}.featured-grid,.card-grid,.related-grid{grid-template-columns:1fr}.intro-band,.home-services,.article{padding:70px 0}.section-head{align-items:start;gap:25px;flex-direction:column}.big-number{font-size:8rem;border-right:0;border-bottom:1px solid #bcb09e;padding-bottom:30px}.article-grid{gap:35px}.article aside{position:static}.contact-grid,.footer-grid{grid-template-columns:1fr}.contact-copy{display:block}.contact-copy .btn{margin-top:20px}h1{font-size:3.3rem}.page-hero,.service-hero{padding:75px 0}.wrap{width:min(var(--max),calc(100% - 28px))}}

.visual-services{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:repeat(2,300px);gap:18px}.visual-service{position:relative;overflow:hidden;color:#fff;text-decoration:none;background:#222}.visual-service.large{grid-row:1/3}.visual-service img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.visual-service:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(20,20,20,.82))}.visual-service:hover img{transform:scale(1.035)}.visual-service>div{position:absolute;z-index:2;left:28px;right:28px;bottom:22px}.visual-service span{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:#dccbb2}.visual-service h3{margin:5px 0 4px;font-size:1.75rem}.visual-service p{margin:0;color:#e7e7e7}.service-hero-grid{display:grid;grid-template-columns:1fr .78fr;gap:65px;align-items:center}.service-image{margin:0;background:#222;box-shadow:0 22px 55px rgba(40,35,28,.18)}.service-image img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.service-image figcaption{padding:11px 15px;background:#292a2c;color:#d5c6b1;font-size:.75rem;letter-spacing:.08em}@media(max-width:800px){.visual-services{grid-template-columns:1fr;grid-template-rows:repeat(3,270px)}.visual-service.large{grid-row:auto}.service-hero-grid{grid-template-columns:1fr}.service-image{margin-top:18px}}

.contact-form-card{grid-column:1/-1;background:#fff;border:1px solid var(--line);padding:42px}.contact-form-card h2{font-size:2.5rem;margin:0 0 18px}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:28px 0}.form-fields label{display:block;font-weight:600;margin-bottom:9px}.form-fields input,.form-fields select,.form-fields textarea{display:block;width:100%;box-sizing:border-box;border:1px solid #aaa49c;background:#fff;color:#202122;padding:14px;font:inherit;border-radius:0}.form-fields textarea{resize:vertical;min-height:150px}.form-fields input:focus,.form-fields select:focus,.form-fields textarea:focus{outline:3px solid #8d775e;outline-offset:2px}.form-wide{grid-column:1/-1}.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.form-note{font-size:.88rem;line-height:1.6;max-width:780px}.contact-form button{font:inherit;cursor:pointer}.contact-form .btn:focus-visible{outline:3px solid #8d775e;outline-offset:3px}@media(max-width:800px){.contact-form-card{padding:25px 20px}.form-fields{grid-template-columns:1fr;gap:20px}.contact-form-card h2{font-size:2rem}.contact-form button{width:100%}}

/* Homepage partners carousel */
.partners{padding:64px 0;background:#f7f5f1;border-top:1px solid #e3ded5}
.partners-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}
.partners-head h2{font-size:clamp(27px,3vw,38px);margin:0 0 12px}
.partners-head p:not(.eyebrow){margin:0;color:#69645d;max-width:650px}
.partners-controls{display:flex;gap:10px;flex-shrink:0}.partners-controls[hidden]{display:none}
.partners-controls button{width:44px;height:44px;border:1px solid #c9c2b7;background:transparent;border-radius:50%;font-size:22px;cursor:pointer;color:#292723}
.partners-controls button:hover:not(:disabled){background:#292723;color:#fff}.partners-controls button:disabled{opacity:.3;cursor:default}
.partners-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;list-style:none;margin:0;padding:2px 2px 16px;scrollbar-width:thin;scrollbar-color:#aaa192 #e9e4dc}
.partners-track li{flex:0 0 calc((100% - 72px)/5);scroll-snap-align:start;min-width:0}
.partner-card{display:block;background:#fff;border:1px solid #e2dcd1;text-decoration:none;color:#292723;padding:18px;border-radius:6px;height:100%}
.partner-card:hover{border-color:#8c7d65;box-shadow:0 4px 16px #2927230c}
.partner-logo{height:106px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.partner-logo img{max-width:100%;width:auto;height:auto;max-height:100%;object-fit:contain}
.partner-logo-dark{background:#17243a;border-radius:4px;padding:18px}
.partner-name{display:flex;gap:8px;justify-content:space-between;align-items:center;font-size:13px;font-weight:600}.partner-name span{font-size:16px;color:#8c7d65}
.partners-hint{font-size:12px;color:#777066;margin:12px 0 0}
.partner-card:focus-visible,.partners-controls button:focus-visible,.partners-track:focus-visible{outline:2px solid #806b4e;outline-offset:3px}
@media(max-width:960px){.partners-track li{flex-basis:calc((100% - 36px)/3)}}
@media(max-width:600px){.partners{padding:44px 0}.partners-head{align-items:flex-end;gap:12px}.partners-head p:not(.eyebrow){font-size:14px}.partners-controls{gap:6px}.partners-controls button{width:36px;height:36px}.partners-track{gap:12px}.partners-track li{flex-basis:calc((100% - 12px)/2)}.partner-card{padding:14px}.partner-logo{height:90px}.partner-name{font-size:12px}}

/* Google reviews and verified social profile links */
.reviews-section{padding:72px 0;background:#fff}.reviews-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px}.reviews-heading h2,.social-section h2{font-size:clamp(28px,3vw,38px);margin:0 0 12px}.review-rating{display:flex;align-items:center;gap:16px;flex-shrink:0}.review-rating strong{font:48px Georgia,serif}.review-rating small{font:20px Arial,sans-serif;color:#7d7569}.review-rating p{margin:4px 0;font-size:13px}.review-stars{color:#b77c19;letter-spacing:2px;white-space:nowrap}.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.review-card{padding:26px;background:#f7f5f1;border:1px solid #e4ded4;border-radius:6px;display:flex;flex-direction:column}.review-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:14px}.review-card time{color:#746e66;font-size:12px;margin-top:8px}.review-card blockquote{margin:18px 0 24px;font-size:15px;line-height:1.7;overflow-wrap:anywhere}.review-card blockquote p{white-space:pre-line;margin:0 0 12px}.review-source{margin-top:auto;font-size:12px;color:#746e66}.review-full summary,.reviews-more>summary{cursor:pointer;color:#68573f;font-size:14px;text-decoration:underline;text-underline-offset:4px}.review-full[open] summary{margin-bottom:14px}.reviews-more{margin-top:24px}.reviews-more[open]>.reviews-grid{margin-top:24px}.reviews-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:28px}.reviews-date{font-size:12px;color:#7c756c;margin:18px 0 0}.social-section{padding:48px 0;border-top:1px solid #e4ded4;background:#f7f5f1}.social-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.social-inner>div{max-width:530px}.social-inner p:not(.eyebrow){color:#69645d}.social-links{display:flex;flex-wrap:wrap;gap:10px}.social-links a{font-size:14px;text-decoration:none;border:1px solid #cfc6b8;border-radius:4px;padding:10px 14px;display:inline-flex;gap:16px;align-items:center}.social-links a:hover{border-color:currentColor}.social-links a:focus-visible,summary:focus-visible{outline:2px solid #806b4e;outline-offset:4px}.footer-socials{padding-bottom:24px}.footer-socials .social-links a{color:inherit;border-color:#756e63}
@media(max-width:900px){.reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.social-inner{display:block}.social-inner .social-links{margin-top:24px}}
@media(max-width:600px){.reviews-section{padding:44px 0}.reviews-heading{display:block}.review-rating{margin-top:20px}.reviews-grid{grid-template-columns:1fr}.review-card{padding:22px}.social-section{padding:36px 0}.social-links a{font-size:13px;padding:10px 12px}}

.hero h1{font-size:clamp(2.6rem,4.8vw,4.9rem)}

.social-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;background:#fff;border-radius:5px;padding:3px}.social-icon img{display:block;width:22px;height:22px;object-fit:contain}.social-links a{gap:10px}

/* Local coverage, from Nemours to Dammarie-les-Lys */
.coverage-section{padding:76px 0;background:#f9f8f5}.coverage-head{max-width:850px;margin-bottom:34px}.coverage-head>p:not(.eyebrow){font-size:17px;color:#625d55;max-width:780px}.coverage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.coverage-card{border:1px solid #d8d0c4;padding:28px;background:#fff}.coverage-number{font-size:12px;color:#927c61;letter-spacing:2px}.coverage-card h3{font-size:24px;margin:20px 0}.coverage-card ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.coverage-card li{font-size:13px;line-height:1.4;background:#f1ece4;padding:7px 10px;border-radius:3px}.coverage-bottom{display:flex;justify-content:space-between;align-items:center;gap:32px;margin-top:28px}.coverage-bottom p{max-width:780px;font-size:15px;color:#625d55}.coverage-bottom a{flex-shrink:0}
@media(max-width:850px){.coverage-grid{grid-template-columns:1fr}.coverage-bottom{display:block}.coverage-card{padding:24px}.coverage-section{padding:48px 0}}

/* Search-friendly navigation and useful project information */
.breadcrumbs{padding-top:18px;padding-bottom:18px;font-size:13px}.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;color:#6d655b}.breadcrumbs li+li:before{content:'›';padding-right:8px;color:#9e9385}.breadcrumbs a{text-underline-offset:3px}.service-location{display:block;font:400 clamp(18px,2vw,25px)/1.4 Arial,sans-serif;letter-spacing:0;color:#786b59;margin-top:18px}.service-image img{height:auto}.service-family+.service-family{margin-top:64px}.service-family>h2{font-size:clamp(27px,3vw,38px);margin-bottom:24px}.service-family .service-card h3{margin-top:0}.service-faq{margin:38px 0}.service-faq details{border-top:1px solid #d8d0c4;padding:16px 0}.service-faq details:last-child{border-bottom:1px solid #d8d0c4}.service-faq summary{cursor:pointer;font-weight:700;line-height:1.5;color:#3d362d}.service-faq details p{margin:14px 0 0}.local-projects{padding:70px 0;background:#fff}.local-projects>.wrap>p{max-width:850px;color:#625d55}.local-projects h2{font-size:clamp(27px,3vw,38px)}.local-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:30px 0 60px}.local-services-grid h3{font-size:24px}.local-services-grid ul{list-style:none;padding:0;margin:0}.local-services-grid li{margin:10px 0}.local-services-grid a{text-underline-offset:4px}.local-contact{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:28px}
@media(max-width:800px){.local-services-grid{grid-template-columns:1fr;gap:24px}.local-projects{padding:42px 0}.service-family+.service-family{margin-top:42px}}

.home-faq-section{padding:64px 0;background:#fff;border-top:1px solid #e4ded4}.home-faq.service-faq{max-width:900px;margin:0 auto}.home-faq h2{font-size:clamp(28px,3vw,38px)}.home-faq>p:not(.eyebrow){color:#69645d;margin-bottom:28px}.home-faq details p{color:#625d55;line-height:1.7}.faq-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:26px;font-size:14px;font-weight:600}.faq-links a{text-underline-offset:4px}@media(max-width:600px){.home-faq-section{padding:42px 0}}
