
:root{--ink:#223a4c;--paper:#f4f7f8;--stone:#e7edf0;--copper:#85562f;--line:#cad5dc;--muted:#506375;--white:#fff;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.7}a{color:inherit;text-underline-offset:4px}img{max-width:100%;height:auto;display:block}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--copper);outline-offset:5px}.skip{position:fixed;left:16px;top:-100px;z-index:999;background:white;padding:12px}.skip:focus{top:12px}.site-header{position:sticky;top:0;z-index:30;background:rgba(247,245,239,.98);border-bottom:1px solid var(--line)}.header-inner{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 32px}.brand{display:flex;align-items:center;text-decoration:none;gap:12px;line-height:1.15;min-width:270px}.brand img{width:78px;height:48px;object-fit:contain}.brand strong{display:block;font-family:var(--serif);font-size:25px;font-weight:500;letter-spacing:.02em}.brand small{display:block;font-size:10px;letter-spacing:.1em;font-weight:700;margin-top:5px}.nav{display:flex;align-items:center;gap:22px;font-size:13px;font-weight:600}.nav>a{text-decoration:none;white-space:nowrap}.nav details{position:relative}.nav summary{cursor:pointer;list-style:none;white-space:nowrap}.nav summary:after{content:'⌄';margin-left:7px}.nav details>div{position:absolute;right:0;top:36px;width:285px;padding:12px;background:var(--paper);box-shadow:0 10px 30px #223a4c1a;border:1px solid var(--line)}.nav details a{display:block;text-decoration:none;padding:7px 10px;line-height:1.45}.nav details a:hover{background:var(--stone)}.nav .nav-cta{border:1px solid var(--ink);padding:10px 13px}.menu-button{display:none}.wrap{max-width:1180px;margin:auto;padding:0 32px}.eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;line-height:1.65;color:var(--copper);text-align:center;margin:0 0 20px}h1,h2,h3{line-height:1.12;text-align:center;text-wrap:balance}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}h1{font-size:clamp(40px,5.7vw,78px);max-width:980px;margin:0 auto 26px}h2{font-size:clamp(32px,3.5vw,49px);margin:0 auto 28px;max-width:850px}h3{font-size:21px;margin:0 0 16px;font-weight:600;letter-spacing:-.02em}p{margin:0 0 22px}p:last-child{margin-bottom:0}.hero{padding:75px 0 0}.hero .hero-intro{max-width:770px;margin:0 auto 28px;font-size:20px;color:var(--muted);text-align:center}.hero-actions{display:flex;justify-content:center;gap:24px;align-items:center;margin-bottom:46px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:14px 24px;background:var(--ink);color:white;border:1px solid var(--ink);font-size:14px;font-weight:600;line-height:1.4;text-align:center;text-decoration:none;cursor:pointer;border-radius:0}.button:hover{background:#354f63}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button.secondary{background:transparent;color:var(--ink)}.text-link{font-size:14px;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px}.hero-photo{max-width:1400px;margin:0 auto;padding:0 32px;position:relative}.hero-photo img{width:100%;height:500px;object-fit:cover;object-position:center 58%}.hero-photo .photo-strip{position:absolute;bottom:0;left:32px;right:32px;display:flex;justify-content:center;gap:70px;padding:16px 24px;background:var(--ink);color:var(--paper);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.hero.no-photo{padding-bottom:30px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,transparent 49.95%,#223a4c07 50%,transparent 50.05%)}.hero.service-hero .hero-photo img{height:390px}.section{padding:80px 0}.section>.wrap>p{text-align:center;max-width:760px;margin:0 auto 35px}.section .prose{max-width:820px;margin:auto}.prose p{font-size:18px}.stone{background:var(--stone)}.dark,.cta{background:var(--ink);color:var(--paper)}.dark .eyebrow,.cta .eyebrow{color:#e0bc90}.section.cta{padding:76px 0;text-align:center}.cta h2{max-width:780px}.cta p{color:#e7eef2}.intro-section{padding:78px 0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}.card{padding:34px 25px;border:1px solid var(--line);background:transparent}.card p{font-size:16px;line-height:1.75}.dark .card{border-color:#708394}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.service-card{background:var(--paper)}.service-card img{width:100%;height:270px;object-fit:cover}.service-card-copy{padding:30px 32px 36px}.service-card h3{font-family:var(--serif);font-size:31px;font-weight:400}.service-card h3 a{text-decoration:none}.service-card p:not(.eyebrow){text-align:center}.service-card .eyebrow{display:block}.service-card .text-link{display:table;margin:20px auto 0}.table-scroll{overflow-x:auto;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.6;min-width:660px}th,td{padding:24px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}thead{background:var(--ink);color:white}tbody th{width:21%;font-weight:600}tbody tr:last-child>*{border-bottom:0}tbody tr:nth-child(even){background:#ffffff54}.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.steps li{border-top:1px solid #8b9baa;padding-top:24px}.step-number{display:block;text-align:center;font-family:var(--serif);font-size:48px;margin-bottom:24px;color:#ccab8c}.steps h3{font-size:20px}.steps p{font-size:15px}.area-list{display:grid;grid-template-columns:repeat(3,1fr);gap:0 30px}.area-list a{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:20px 4px;text-decoration:none;font-family:var(--serif);font-size:23px}.area-list a:hover{color:var(--copper)}.faqs{max-width:850px;margin:auto}.faqs details{border-bottom:1px solid #c2cdd5;padding:21px 0}.faqs summary{cursor:pointer;font-size:19px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:20px;line-height:1.4}.faqs summary span{font-weight:400;font-size:23px}.faqs details[open] summary span{transform:rotate(45deg)}.faqs details p{padding:20px 35px 0 0;font-size:17px}.link-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}.link-cards a{border:1px solid var(--line);padding:26px;text-decoration:none}.link-cards p{font-size:15px}.link-cards a>span{display:block;text-align:right;font-size:25px;color:var(--copper)}.center{text-align:center}.calculator-note{padding:24px;border-left:3px solid var(--copper);background:var(--stone);font-size:15px;line-height:1.7;margin:30px auto;max-width:800px}.calculator-note p{margin:6px 0 0}.site-footer{padding:60px 0 20px;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:50px}.footer-brand{font-family:var(--serif);font-size:29px;line-height:1.25;margin-bottom:20px}.site-footer p{font-size:14px;max-width:330px}.site-footer h3{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:18px}.site-footer a{display:block;font-size:14px;text-decoration:none;margin-bottom:9px}.footer-bottom{border-top:1px solid var(--line);margin-top:40px;padding-top:23px;display:flex;justify-content:space-between;gap:20px;font-size:12px}.footer-bottom div{display:flex;gap:20px}.footer-bottom a{font-size:12px}.mobile-call{display:none}.contact-call{text-align:center;margin:35px auto}.phone-link{display:block;font-family:var(--serif);font-size:42px;text-decoration:none;line-height:1.2;margin:15px 0}.contact-call>p:last-child{font-size:14px;overflow-wrap:anywhere}.site-footer .footer-phone{font-size:22px;font-family:var(--serif)}.estimate-shell{max-width:740px;margin:auto}.estimate-shell .calculator-note{margin-top:0}#estimate-form{padding:36px;background:#fff;border:1px solid var(--line)}.progress-head{display:flex;justify-content:space-between;gap:18px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}progress{display:block;width:100%;height:5px;border:none;margin:14px 0 35px;accent-color:var(--ink)}#question-panel label{display:block;font-family:var(--serif);font-size:30px;line-height:1.2;margin-bottom:15px}#question-panel input,#question-panel select{display:block;width:100%;min-height:56px;border:1px solid #9ca99f;padding:13px;border-radius:0;color:var(--ink);background:#fff;font-size:18px}.hint{font-size:14px;color:var(--muted);margin-top:12px}.form-actions{display:flex;justify-content:space-between;margin-top:26px;gap:15px}.small{font-size:12px;color:var(--muted);margin-top:24px}.error{color:#a22a20;font-size:14px;min-height:24px;margin-top:14px}.report{max-width:820px;margin:auto}.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0}.report-grid div{padding:24px;background:var(--stone);text-align:center}.report-grid strong{display:block;font-family:var(--serif);font-size:29px;line-height:1.2;margin-top:10px}.report h3{margin-top:35px}.report .status{text-align:center;letter-spacing:.08em;text-transform:uppercase;font-size:12px;color:var(--copper)}[hidden]{display:none!important}
@media(min-width:1250px){.home-hero h1{max-width:1050px;font-size:82px}.home-hero .hero-intro{font-family:var(--serif);font-size:27px}}
@media(max-width:1180px){.nav{gap:14px;font-size:12px}.header-inner{padding:14px 20px}.brand{min-width:235px}.brand strong{font-size:23px}.brand img{width:59px}.brand small{font-size:9px}.steps{grid-template-columns:1fr 1fr}}
@media(max-width:980px){.menu-button{display:block;border:1px solid var(--ink);background:none;padding:9px 16px;font-size:13px;cursor:pointer}.header-inner{flex-wrap:wrap}.nav{width:100%;display:none;align-items:stretch;flex-direction:column;gap:0;font-size:15px}.nav.is-open{display:flex}.nav>a,.nav summary{padding:12px 8px}.nav details>div{position:static;width:100%;box-shadow:none;background:var(--stone)}.nav .nav-cta{margin-top:8px;text-align:center}.hero{padding-top:52px}.hero-photo img{height:430px}.footer-grid{gap:30px}}
@media(max-width:650px){body{font-size:16px}.wrap{padding:0 22px}.brand{min-width:0}.brand strong{font-size:21px}.brand small{font-size:8px;letter-spacing:.08em}.brand img{width:60px;height:40px}.header-inner{gap:10px;padding:12px 16px}.menu-button{padding:8px 12px}.hero{padding-top:40px}h1{font-size:43px;margin-bottom:22px;letter-spacing:-.045em}h2{font-size:35px}.hero .hero-intro{font-size:18px}.hero-actions{flex-direction:column;gap:20px;margin-bottom:35px}.hero-photo{padding:0 16px}.hero-photo img,.hero.service-hero .hero-photo img{height:310px;object-position:center}.hero-photo .photo-strip{left:16px;right:16px;padding:12px 10px;font-size:9px;gap:14px;letter-spacing:.04em}.section{padding:56px 0}.prose p{font-size:17px}.service-grid,.link-cards{grid-template-columns:1fr}.service-card img{height:240px}.service-card-copy{padding:26px}.cards{grid-template-columns:1fr}.card{padding:28px 24px}.steps{grid-template-columns:1fr;gap:28px}.steps li{position:relative;padding-left:70px;padding-top:20px}.step-number{position:absolute;left:0;top:15px;font-size:37px}.steps h3{text-align:left}.area-list{grid-template-columns:1fr}.area-list a{font-size:24px;padding:16px 3px}.faqs summary{font-size:18px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.footer-bottom div{flex-wrap:wrap}.site-footer{padding-bottom:85px}.mobile-call:not([hidden]){display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--ink);color:white;align-items:center;justify-content:center;z-index:50;text-decoration:none;padding:13px 20px calc(13px + env(safe-area-inset-bottom));font-weight:700;border-top:1px solid #708394;font-size:15px}#estimate-form{padding:24px 18px}.progress-head{font-size:9px}#question-panel label{font-size:28px}.report-grid{grid-template-columns:1fr}.report-grid div{padding:18px}.report-grid strong{font-size:26px}table{min-width:640px}th,td{padding:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
