:root{--ink:#171a17;--paper:#f7f5ee;--gold:#bca16b;--muted:#66695f;--line:#d7d7cc;--serif:Georgia,"Times New Roman",serif;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}p{font-size:1.05rem;line-height:1.75}h1,h2,h3,p,figure{margin-top:0}h1,h2{font-family:var(--serif);letter-spacing:-.045em;font-weight:400}h1{font-size:clamp(3.3rem,5.3vw,6.1rem);line-height:1.08}h2{font-size:clamp(2.4rem,3.6vw,4rem);line-height:1.14}h3{font-weight:400}em{color:#766039;font-weight:400}img{width:100%;height:auto;display:block}.gold{color:var(--gold)}.header{border-bottom:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;height:108px;padding:0 4.5%;display:flex}.brand{letter-spacing:.08em;white-space:nowrap;align-items:center;font-size:1.4rem;font-weight:700;display:flex}.brand small{letter-spacing:.24em;margin-top:7px;font-size:.6rem;font-weight:400;display:block}.brand-mark{font-family:var(--serif);letter-spacing:-.13em;border:1px solid var(--gold);margin-right:18px;padding:4px 12px 7px 7px;font-size:2.35rem;font-weight:400;position:relative}.brand-mark>span{color:var(--gold);font-size:2rem;position:absolute;top:-13px;right:0}.header nav{align-items:center;gap:28px;font-size:.875rem;display:flex}.button{background:var(--ink);color:var(--paper);border:1px solid var(--ink);justify-content:space-between;align-items:center;gap:40px;padding:20px 26px;font-size:.95rem;transition:background .2s;display:inline-flex}.button:hover{background:#34392f}.button span{color:var(--gold);font-size:1.3rem}.button.small{gap:22px;padding:14px 20px}.hero{grid-template-columns:1.06fr 1fr;min-height:630px;display:grid}.hero-copy{flex-direction:column;align-items:flex-start;padding:70px 6.5% 28px 8.5%;display:flex}.eyebrow{letter-spacing:.16em;font-size:.75rem;font-weight:500;line-height:1.7}.hero .eyebrow{align-items:center;gap:10px;margin-bottom:38px;display:flex}.line{background:var(--gold);width:25px;height:1px;display:inline-block}.hero-description{color:#555b50;margin:28px 0 32px;font-size:1rem}.hero h1{margin-bottom:0}.hero-foot{border-top:1px solid var(--line);width:100%;color:var(--muted);letter-spacing:.05em;justify-content:space-between;gap:20px;margin-top:58px;padding-top:20px;font-size:.72rem;display:flex}.hero-image{background:#8b8478;min-height:630px;margin:0;position:relative}.hero-image img{object-fit:cover;width:100%;height:100%}.hero-image:after{content:"";background:linear-gradient(#0000,#0008);position:absolute;inset:55% 0 0}.hero-image figcaption{color:#fff;letter-spacing:.12em;z-index:1;font-size:.63rem;position:absolute;bottom:22px;left:24px}.image-label{color:#fff;font-family:var(--serif);z-index:1;font-size:2.8rem;line-height:1.1;position:absolute;bottom:78px;left:36px}.service-strip{background:var(--ink);color:var(--paper);letter-spacing:.12em;justify-content:space-between;gap:20px;padding:28px 4.5%;font-size:.75rem;display:flex}.service-strip>span:nth-child(2n){color:var(--gold)}.section{padding:95px 7%}.intro-grid{grid-template-columns:1fr 3fr;gap:40px;display:grid}.two-col{grid-template-columns:1fr 1fr;gap:50px;display:grid}.two-col p{color:#5c6057}.text-link{border-bottom:1px solid var(--ink);align-items:center;gap:25px;padding:14px 0;font-size:.94rem;display:inline-flex}.text-link span{color:#766039}.services-section{background:#ecece4}.section-heading{justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px;display:flex}.section-heading>p{color:var(--muted);font-size:.95rem}.service-row{border-top:1px solid #c8cabe;grid-template-columns:55px 1.3fr 1fr 32px;align-items:center;gap:20px;padding:27px 0;display:grid}.service-row:last-child{border-bottom:1px solid #c8cabe}.service-row h3{font-family:var(--serif);letter-spacing:-.02em;margin:0;font-size:1.85rem}.service-row p{color:var(--muted);margin:0;font-size:.93rem}.service-row .number{color:#766039;font-size:.8rem}.service-row .arrow{font-size:1.7rem}.service-row:hover h3{color:#766039}.together{background:var(--ink);color:var(--paper);grid-template-columns:1fr 1.35fr;align-items:center;gap:10%;display:grid}.together em{color:var(--gold)}.together p:not(.eyebrow){color:#c6cabf;max-width:570px}.together .button{background:var(--gold);color:var(--ink);border-color:var(--gold);margin-top:12px}.together .button span{color:var(--ink)}.together-symbol{font-family:var(--serif);letter-spacing:-.06em;padding:50px 0;font-size:clamp(4rem,7vw,8rem);line-height:1}.together-symbol span{color:var(--gold);font-style:italic}.zone-teaser{border-bottom:1px solid var(--line);grid-template-columns:1.2fr 1fr;gap:10%;display:grid}.towns{font-family:var(--serif);color:#766039;font-size:1.4rem}.faq-section{grid-template-columns:1fr 1.4fr;gap:8%;display:grid}details{border-top:1px solid var(--line);padding:24px 0}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;justify-content:space-between;gap:20px;font-size:1.02rem;line-height:1.5;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary span{color:#766039}details p{color:var(--muted);margin:20px 0 0}.contact-banner{text-align:center;background:#e5dfd0;padding:90px 20px}.contact-banner h2{margin-bottom:25px;font-size:5rem}.contact-banner>a{width:fit-content;margin:20px auto;display:block}.contact-banner>a:nth-last-child(2){letter-spacing:-.025em;font-size:2.4rem}.footer{background:var(--ink);color:var(--paper);padding:55px 7% 28px}.footer-top{justify-content:space-between;align-items:start;gap:30px;padding-bottom:30px;display:flex}.footer-top p{color:#b5baac;font-family:var(--serif);font-size:1.5rem}.footer-phone{font-size:1.25rem}.footer-bottom{color:#bec2b6;border-top:1px solid #ffffff25;justify-content:space-between;gap:25px;padding-top:26px;font-size:.8rem;display:flex}.menu-toggle,.mobile-call{display:none}.skip{background:var(--ink);color:#fff;z-index:20;padding:15px;position:absolute;top:-100px;left:20px}.skip:focus{top:20px}.page-hero{background:#ecece4;padding:65px 7% 70px}.breadcrumb{color:var(--muted);flex-wrap:wrap;gap:10px;margin-bottom:40px;font-size:.8rem;display:flex}.page-hero h1{max-width:1000px}.page-hero .lead{max-width:780px;color:var(--muted);font-size:1.25rem}.article-grid{grid-template-columns:1.5fr 1fr;gap:10%;display:grid}.article-grid aside{border-left:1px solid var(--line);padding-left:35px}.article-grid h2{font-size:2.3rem}.article-grid li{margin:12px 0;line-height:1.7}.article-grid ul{padding-left:20px}.article-grid .button{margin-top:20px}.prose{max-width:900px;margin:auto}.prose h2{margin-top:50px;font-size:2.5rem}.steps{grid-template-columns:repeat(3,1fr);gap:40px;padding-top:45px;display:grid}.steps .number{font-family:var(--serif);color:#766039;font-size:3rem}.steps h3{font-size:1.2rem}.steps p{color:var(--muted)}.town-list{grid-template-columns:repeat(3,1fr);gap:0 35px;display:grid}.town-list a{border-bottom:1px solid var(--line);justify-content:space-between;gap:15px;padding:16px 0;font-size:.95rem;display:flex}.town-list small{color:var(--muted);white-space:nowrap}.map-wrap{background:var(--ink);padding:25px}.zone-map{height:auto;max-height:500px}.contact-layout{grid-template-columns:1fr 1.2fr;gap:10%;display:grid}.contact-phone{font-size:2rem}.form{gap:20px;display:grid}.form label{gap:8px;font-size:.9rem;display:grid}.form input,.form select,.form textarea{width:100%;color:var(--ink);background:0 0;border:1px solid #afb4a5;border-radius:0;min-width:0;padding:14px}.form textarea{resize:vertical;min-height:130px}.form .hint{color:var(--muted);font-size:.85rem}.form button{cursor:pointer}.mail-result{border:1px solid var(--gold);padding:20px}.guide-links{grid-template-columns:repeat(3,1fr);gap:25px;display:grid}.guide-links a{border:1px solid var(--line);font-family:var(--serif);padding:25px;font-size:1.4rem}@media (width>=1600px){.hero,.hero-image{min-height:750px}.hero-copy{padding-top:100px}}@media (width<=1050px){.header{height:95px;padding:0 4%}.header nav{gap:18px}.header nav>a:not(.button){font-size:.8rem}.header .button.small{gap:12px;padding:12px}.hero-copy{padding-top:45px}.hero,.hero-image{min-height:550px}.hero h1{font-size:3.6rem}.hero-description br{display:none}.hero-foot{font-size:.62rem}.section{padding:75px 6%}.service-row h3{font-size:1.5rem}.brand{font-size:1.1rem}.brand-mark{font-size:1.9rem}.service-strip{font-size:.6rem}.footer-bottom{flex-wrap:wrap}}@media (width<=760px){.header{z-index:5;height:85px;padding:0 6%;position:relative}.brand{font-size:1.15rem}.brand small{font-size:.5rem}.menu-toggle{border:1px solid var(--line);background:0 0;padding:12px;display:block}.header nav{background:var(--paper);border-bottom:1px solid var(--line);padding:25px 6%;display:none;position:absolute;top:85px;left:0;right:0}.header nav.opened{display:grid}.header nav>a:not(.button){font-size:1rem}.hero{grid-template-columns:1fr}.hero-copy{padding:42px 6% 28px}.hero .eyebrow{margin-bottom:25px;font-size:.64rem}.hero h1{font-size:clamp(3rem,10vw,4.5rem)}.hero-description{margin:25px 0}.hero-foot{margin-top:35px;font-size:.62rem}.hero-image{height:340px;min-height:340px}.hero-image img{object-position:center 57%}.image-label{font-size:2.3rem;bottom:55px;left:24px}.hero-image figcaption{font-size:.52rem}.service-strip{grid-template-columns:1fr 1fr;gap:18px;padding:22px 6%;font-size:.64rem;display:grid}.service-strip>span:nth-child(2n){display:none}.section{padding:60px 6%}.intro-grid,.two-col,.together,.zone-teaser,.faq-section,.article-grid,.contact-layout{grid-template-columns:1fr;gap:24px}.two-col{gap:0}.section-heading{display:block}.section-heading>p{display:none}.service-row{grid-template-columns:26px 1fr 25px;gap:10px;padding:22px 0}.service-row h3{font-size:1.6rem}.service-row p{display:none}.together-symbol{padding:0;font-size:4rem}.together-symbol br{display:none}.together-symbol span{padding:0 12px}.together .button{gap:18px}.zone-teaser h2{margin-bottom:0}.contact-banner{padding:60px 6%}.contact-banner h2{font-size:4rem}.contact-banner>a:nth-last-child(2){font-size:2rem}.footer{padding:45px 6% 95px}.footer-top{flex-direction:column;gap:18px}.footer-top p{margin:0}.footer-bottom{gap:18px;display:grid}.mobile-call{z-index:10;background:var(--gold);color:var(--ink);text-align:center;padding:17px 10px calc(17px + env(safe-area-inset-bottom));font-size:.9rem;font-weight:600;display:block;position:fixed;bottom:0;left:0;right:0}.page-hero{padding:35px 6% 45px}.page-hero h1{font-size:3.3rem}.page-hero .lead{font-size:1.1rem}.breadcrumb{margin-bottom:30px}.article-grid aside{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.steps,.guide-links{grid-template-columns:1fr;gap:20px}.town-list{grid-template-columns:1fr}.contact-phone{font-size:1.9rem}.map-wrap{padding:10px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.towns{color:#766039}.prose p a,.article-grid p a:not(.button),.contact-layout p a,.zone-teaser p a{text-underline-offset:3px;text-decoration:underline}.contact-layout>div,.contact-layout form{min-width:0}.contact-layout p a{overflow-wrap:anywhere}.button:disabled{opacity:.5;cursor:wait}.service-strip a{flex:1;justify-content:space-between;align-items:center;gap:25px;padding:4px 0;display:flex}.service-strip a span{color:var(--gold);font-size:1.2rem}.service-strip a:hover{text-underline-offset:6px;text-decoration:underline}.interior-banner{height:310px;margin:0;overflow:hidden}.interior-banner img{object-fit:cover;object-position:center 55%;width:100%;height:100%}.brand-elegant{font-family:var(--serif);letter-spacing:-.035em;padding:10px 0;font-size:1.85rem;font-weight:400;position:relative}.brand-elegant small{letter-spacing:.13em;font-family:Arial,sans-serif;font-size:.49rem}.brand-elegant .letter-r{margin-right:-.04em;font-size:1.27em;font-style:italic}.brand-elegant:before,.brand-elegant:after{content:"";border:1px solid var(--gold);pointer-events:none;width:74px;height:28px;position:absolute;left:50%;transform:translate(-50%)}.brand-elegant:before{border-bottom:0;border-radius:80px 80px 0 0;top:-7px}.brand-elegant:after{border-top:0;border-radius:0 0 80px 80px;bottom:-7px}.contact-banner{isolation:isolate;position:relative}.contact-banner:before,.contact-banner:after{content:"";z-index:-1;opacity:.45;pointer-events:none;border:1px solid #ae8a4b;width:260px;height:85px;position:absolute;left:50%;transform:translate(-50%)}.contact-banner:before{border-bottom:0;border-radius:180px 180px 0 0;top:24px}.contact-banner:after{border-top:0;border-radius:0 0 180px 180px;bottom:24px}@media (width<=760px){.interior-banner{height:220px}.brand-elegant{font-size:1.55rem}.brand-elegant small{font-size:.4rem}.brand-elegant:before{top:-3px}.brand-elegant:after{bottom:-3px}}.menu-toggle{color:inherit}.text-link,.prose p a,.article-grid p a:not(.button),.contact-layout p a,.zone-teaser p a{text-underline-offset:4px;text-decoration-skip-ink:auto;border-bottom:0;text-decoration-line:underline;text-decoration-thickness:1px}.hero-copy,.hero-image{position:relative}.hero-image:after{content:"";pointer-events:none;border:1px solid #d2b98280;position:absolute;inset:12px}.service-row .number{color:#766039}.brand-elegant small{font-size:.55rem}.service-strip a,.hero-foot{font-size:.72rem}html[data-theme=signature]{--paper:#f4f1e9;--gold:#bba06b}html[data-theme=signature] .header,html[data-theme=signature] .hero-copy{color:#f5f1e8;background:#1d231d}html[data-theme=signature] .hero-description,html[data-theme=signature] .hero-foot{color:#d8d9cf}html[data-theme=signature] .hero-copy em{color:#d1b680}html[data-theme=signature] .hero-copy .button,html[data-theme=signature] .header .button{color:#1d231d;background:#d4bc86;border-color:#d4bc86}html[data-theme=signature] .hero-copy .button span,html[data-theme=signature] .header .button span{color:#1d231d}html[data-theme=signature] .hero-copy .eyebrow{color:#d1b680}html[data-theme=signature] .hero-image{border-left:0}html[data-theme=signature] .hero{gap:0}@media (width<=760px){.brand-elegant small{display:none}.hero-foot{font-size:.7rem}html[data-theme=signature] .header nav.opened{background:#1d231d}.service-strip a{font-size:.7rem}}.brand small,.brand-elegant small,.hero-image figcaption,.hero-foot,.service-strip,.hero .eyebrow{font-size:.7rem}.service-strip a{font-size:.72rem}
