:root{--ink:#20201e;--paper:#f8f6f1;--white:#fff;--sand:#d8c8b1;--taupe:#a79b8b;--olive:#3d4439;--line:#ddd8cf;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.skip{position:fixed;left:1rem;top:-5rem;background:#fff;padding:1rem;z-index:99}.skip:focus{top:1rem}*:focus-visible{outline:3px solid #b67e38;outline-offset:3px}.top{background:var(--ink);color:#eee;text-align:center;font-size:.73rem;letter-spacing:.08em;padding:.45rem}.nav{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,4vw,4rem);background:rgba(248,246,241,.96);border-bottom:1px solid var(--line);position:relative}.brand{font-family:var(--serif);font-size:1.25rem;line-height:1}.brand span{display:block;font-family:var(--sans);letter-spacing:.32em;font-weight:600;font-size:.58rem;margin-bottom:.35rem}.nav nav{display:flex;gap:1.65rem;align-items:center;font-size:.84rem;font-weight:500}.nav nav>a:not(.btn):hover,.drop>button:hover{color:#826c51}.drop{position:relative}.drop>button{border:0;background:none;padding:2rem 0;cursor:pointer}.drop>div{display:none;position:absolute;top:72px;left:-1rem;background:#fff;padding:.7rem;min-width:230px;box-shadow:0 15px 40px #0002}.drop:hover>div,.drop:focus-within>div{display:grid}.drop a{padding:.6rem .8rem}.drop a:hover{background:var(--paper)}header{position:sticky;top:0;z-index:30}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:1.5rem;border:1px solid var(--ink);background:var(--ink);color:#fff;padding:.85rem 1.1rem;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:.25s}.btn:hover{background:#3a3a36;transform:translateY(-2px)}.btn.small{padding:.7rem 1rem}.btn.ghost{background:transparent;border-color:#fff;color:#fff;margin-left:.75rem}.menu{display:none;background:none;border:0;font-size:1.6rem}.hero{min-height:calc(100vh - 112px);position:relative;display:flex;align-items:center;color:#fff}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#171713d9 0%,#1717138f 38%,transparent 72%)}.hero-copy{position:relative;width:min(690px,90%);margin-left:clamp(1.5rem,8vw,8rem);padding-bottom:5rem}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;font-weight:600}.hero h1,.simple-hero h1,.page-hero h1{font:500 clamp(3.2rem,7vw,7.2rem)/.98 var(--serif);margin:.7rem 0 1.4rem;letter-spacing:-.035em}.hero h1 em{font-weight:500;color:#e0cdb3}.hero-copy>p:not(.eyebrow){font-size:1.12rem;max-width:600px;margin-bottom:2rem}.trust-strip{position:absolute;bottom:0;left:0;right:0;background:#f8f6f1ef;color:var(--ink);display:flex;justify-content:center;gap:3vw;padding:1rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.section{padding:clamp(4rem,8vw,8rem) clamp(1.25rem,7vw,7rem)}.intro{display:grid;grid-template-columns:1.3fr .7fr;gap:8vw;align-items:end}.intro h2,.section-title h2,.cta-band h2,.form-head h2,.split h2{font:500 clamp(2.4rem,4.6vw,4.8rem)/1.05 var(--serif);margin:.4rem 0}.intro h2 em{font-weight:500;color:#917a60}.intro>p{font-size:1.05rem;color:#5e5b55}.section-title{max-width:800px;margin-bottom:3rem}.section-title>p:last-child{color:#6c6860}.card-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1.2rem}.service-card{grid-column:span 4;background:#fff;overflow:hidden}.service-card:nth-child(1),.service-card:nth-child(2){grid-column:span 6}.service-card img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:.5s}.service-card:nth-child(-n+2) img{aspect-ratio:16/10}.service-card:hover img{transform:scale(1.025)}.service-card div{padding:1.4rem}.service-card h3{font:500 1.7rem var(--serif);margin:.2rem 0}.service-card p{color:#69665f}.text-link{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.dark{background:var(--ink);color:#eae6dd}.section-title.light{color:#fff}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ffffff20}.benefit-grid article{padding:2.4rem;background:var(--ink)}.line-icon{font:2rem var(--serif);color:var(--sand)}.benefit-grid h3{font:500 1.4rem var(--serif)}.benefit-grid p{color:#aaa79f}.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;max-width:950px}.price-grid article{background:#fff;border:1px solid var(--line);padding:2.2rem;position:relative}.price-grid article.featured{background:#e9e1d5}.featured>span{position:absolute;right:1.2rem;top:1.2rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.15em}.price-grid h3{font:500 3.5rem var(--serif);margin:.6rem 0}.price-grid sup{font-size:1.5rem}.price-grid small{font:400 .8rem var(--sans)}.price-grid li,.checklist li{list-style:none;margin:.6rem 0}.price-grid li:before{content:'✓';margin-right:.7rem}.price-note{max-width:850px;color:#69665f;font-size:.83rem;margin:1.5rem 0}.process{background:#e8e1d6}.process ol{display:grid;grid-template-columns:repeat(5,1fr);padding:0;margin:3rem 0;gap:1.2rem}.process li{list-style:none;border-top:1px solid #8f877b;padding-top:1rem}.process li>span,.long-steps span{font:italic 1.2rem var(--serif);color:#8a7258}.process h3{font:500 1.3rem var(--serif)}.process p{font-size:.85rem;color:#656159}.form-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:0}.form-image{position:relative;min-height:760px}.form-image img{width:100%;height:100%;object-fit:cover}.form-image blockquote{position:absolute;bottom:2rem;left:2rem;right:2rem;margin:0;background:#20201ee8;color:#fff;padding:1.6rem;font:italic 1.6rem var(--serif)}.lead-form{background:#fff;padding:clamp(1.5rem,4vw,4rem)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.fields label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.fields input,.fields select,.fields textarea{display:block;width:100%;border:0;border-bottom:1px solid #aaa;background:#faf9f6;padding:.75rem;margin-top:.3rem;text-transform:none}.fields .wide{grid-column:1/-1}.trap{position:absolute;left:-9999px}.fine{font-size:.72rem;color:#777}.form-status{margin-top:1rem;font-weight:600}.success{color:#2f6c3f}.error{color:#a33}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw}.faq details{border-top:1px solid var(--line);padding:1.2rem 0}.faq summary{display:flex;justify-content:space-between;font-weight:600;cursor:pointer;list-style:none}.faq details p{color:#65615a;padding-right:3rem}.page-hero{min-height:72vh;position:relative;color:#fff;display:flex;align-items:end}.page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.page-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#171713dd,transparent 80%)}.page-hero>div{position:relative;z-index:1;padding:5vw 8vw;max-width:880px}.page-hero h1{font-size:clamp(3rem,6vw,6rem)}.page-hero p:not(.eyebrow){max-width:670px}.split{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.split img{width:100%;max-height:600px;object-fit:cover}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.feature-list li{list-style:none;padding:1.5rem;background:#fff}.cta-band{text-align:center;background:var(--olive);color:#fff;padding:5rem 1.2rem}.cta-band p{max-width:600px;margin:1rem auto 2rem}.simple-hero{padding:clamp(5rem,10vw,10rem) clamp(1.25rem,10vw,10rem);background:#ded3c4}.simple-hero h1{max-width:1000px}.simple-hero>p:last-child{max-width:650px}.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.filters button{border:1px solid var(--line);background:transparent;padding:.6rem 1rem;cursor:pointer}.filters button.active{background:var(--ink);color:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.gallery-grid button{border:0;padding:0;position:relative;cursor:zoom-in;background:#000}.gallery-grid img{aspect-ratio:16/10;object-fit:cover;transition:.3s}.gallery-grid button:hover img{opacity:.8}.gallery-grid span{position:absolute;bottom:1rem;left:1rem;color:#fff;text-align:left;display:grid;text-shadow:0 1px 6px #000}.lightbox{display:none;position:fixed;inset:0;background:#000d;z-index:100;padding:5vw}.lightbox.show{display:grid;place-items:center}.lightbox img{max-width:90vw;max-height:85vh}.lightbox button{position:absolute;right:2rem;top:1rem;background:none;border:0;color:#fff;font-size:3rem}.long-steps{max-width:900px;margin:auto}.long-steps article{display:grid;grid-template-columns:70px 1fr;gap:2rem;padding:2rem 0;border-top:1px solid var(--line)}.long-steps h2{font:500 2rem var(--serif);margin:0}.areas{max-width:900px}.areas>div{display:flex;flex-wrap:wrap;gap:.7rem;margin:2rem 0}.areas span{padding:.7rem 1rem;background:#fff;border:1px solid var(--line)}.contact{display:grid;grid-template-columns:.7fr 1.3fr;gap:5vw}.legal{max-width:850px;margin:auto}.footer-main{background:#22221f;color:#ddd9d1;padding:5rem 7vw;display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:4vw}.footer-main>p{color:#a8a49c}.footer-main h3{font:500 1rem var(--serif);color:#fff}.footer-main>div{display:flex;flex-direction:column;gap:.55rem;font-size:.82rem}.brand.inverse{color:#fff}.footer-bottom{background:#171715;color:#888;padding:1rem 7vw;display:flex;justify-content:space-between;font-size:.72rem}.footer-bottom span{display:flex;gap:1rem}.mobile-bar{display:none}
@media(max-width:950px){.nav nav{display:none;position:absolute;top:84px;left:0;right:0;background:var(--paper);padding:1.5rem;align-items:stretch;flex-direction:column;border-bottom:1px solid var(--line)}.nav nav.open{display:flex}.drop>button{padding:0}.drop>div{display:grid;position:static;box-shadow:none;background:transparent;padding-left:1rem}.menu{display:block}.trust-strip{overflow:auto;justify-content:flex-start}.intro,.faq,.form-section,.split,.contact{grid-template-columns:1fr}.benefit-grid{grid-template-columns:1fr 1fr}.process ol{grid-template-columns:1fr 1fr}.form-image{min-height:400px}.footer-main{grid-template-columns:1fr 1fr}.page-hero{min-height:65vh}}
@media(max-width:650px){body{padding-bottom:58px}.top{display:none}.nav{height:70px}.hero{min-height:82vh}.hero-copy{margin-left:1.25rem;padding-bottom:7rem}.hero h1{font-size:3.2rem}.hero-copy .btn{display:flex;margin:.6rem 0;width:100%}.hero-copy .ghost{margin-left:0}.trust-strip{font-size:.63rem}.section{padding:4rem 1.25rem}.intro,.faq{gap:2rem}.card-grid{display:block}.service-card{margin-bottom:1rem}.benefit-grid,.price-grid,.process ol,.fields,.feature-list,.gallery-grid{grid-template-columns:1fr}.fields .wide{grid-column:auto}.process ol{gap:2rem}.form-section{padding:0}.form-image{min-height:320px}.page-hero>div{padding:3rem 1.25rem}.simple-hero{padding:5rem 1.25rem}.footer-main{grid-template-columns:1fr;padding:4rem 1.25rem}.footer-bottom{padding:1rem 1.25rem;display:grid;gap:.5rem}.mobile-bar{display:grid;grid-template-columns:1fr 1.5fr;position:fixed;bottom:0;left:0;right:0;z-index:50;background:#fff;box-shadow:0 -5px 20px #0002}.mobile-bar a{text-align:center;padding:1rem;font-size:.72rem;text-transform:uppercase;font-weight:600}.mobile-bar .accent{background:var(--ink);color:#fff}.long-steps article{grid-template-columns:42px 1fr;gap:1rem}.featured>span{position:static}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.resource-grid article{background:#fff;border:1px solid var(--line);padding:2rem}.resource-grid h2{font:500 1.8rem var(--serif);line-height:1.2}.guide-body{max-width:860px;margin:auto;padding:5rem 1.25rem}.guide-body>section{padding:1.5rem 0;border-top:1px solid var(--line)}.guide-body h2{font:500 2rem var(--serif)}.guide-body aside{margin-top:3rem;padding:2.2rem;background:#e8e1d6}@media(max-width:650px){.resource-grid{grid-template-columns:1fr}}
.quick-lead{display:grid;grid-template-columns:.8fr 1.2fr;gap:5vw;background:#e8e1d6;align-items:start}.quick-copy{position:sticky;top:140px}.quick-copy h2,.comparison h2{font:500 clamp(2.5rem,4vw,4.5rem)/1.05 var(--serif);margin:.4rem 0}.quick-trust{display:grid;gap:.55rem;margin-top:2rem;font-size:.82rem}.quick-form{background:#fff;padding:clamp(1.5rem,4vw,3.5rem);min-height:500px}.quick-step{display:none}.quick-step.active{display:block}.step-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:#777}.quick-form fieldset{border:0;padding:0;margin:0 0 2rem}.quick-form legend{font:500 1.8rem var(--serif);margin-bottom:1.2rem}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.choice-grid input{position:absolute;opacity:0}.choice-grid span{display:block;border:1px solid var(--line);padding:1rem;cursor:pointer}.choice-grid input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}.choice-grid input:focus-visible+span{outline:3px solid #b67e38;outline-offset:2px}.quick-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem}.text-button{border:0;background:none;text-decoration:underline;cursor:pointer}.form-success{text-align:center;padding:3rem 1rem}.form-success>span{font-size:3rem;color:#406347}.form-success h3{font:500 2.5rem var(--serif);margin:.4rem}.comparison{background:#fff}.compare-wrap{overflow-x:auto;margin:2rem 0}.comparison table{width:100%;border-collapse:collapse;min-width:700px}.comparison th,.comparison td{text-align:left;padding:1rem;border-bottom:1px solid var(--line)}.comparison thead th{background:var(--ink);color:#fff}.comparison tbody th{font-weight:600}.article-meta{margin-top:1.5rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.related-guides{margin-top:3rem;border-top:1px solid var(--line);padding-top:2rem;display:grid}.related-guides a{display:flex;justify-content:space-between;padding:1rem 0;border-bottom:1px solid var(--line)}@media(max-width:800px){.quick-lead{grid-template-columns:1fr}.quick-copy{position:static}}@media(max-width:650px){.choice-grid{grid-template-columns:1fr}.quick-actions{align-items:stretch;flex-direction:column-reverse}.quick-actions .btn{width:100%}}
.areas>div>a{padding:.7rem 1rem;background:#fff;border:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem}.areas>div>a:hover{background:var(--ink);color:#fff}.local-panel{background:#fff;padding:2rem;border:1px solid var(--line)}
