:root{--ink:#20221f;--muted:#54564f;--bronze:#78572e;--cream:#f2efe8;--line:#ded8cd;--white:#fff;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;color:var(--ink);font:16px/1.6 var(--sans);background:#fff}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08}h1{font-size:clamp(34px,3.45vw,54px);letter-spacing:-1.5px}h2{font-size:clamp(28px,2.55vw,39px);letter-spacing:-.7px}h3{font-size:23px}a{color:inherit;text-underline-offset:5px}button{font:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #245e91;outline-offset:5px}img{display:block;width:100%;object-fit:cover}button{border-radius:0}header{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 5.3%;gap:24px;border-bottom:1px solid var(--line);position:relative;background:white;z-index:10}.brand{display:flex;align-items:center;gap:15px;text-decoration:none;white-space:nowrap}.brand>span{font:56px/.9 var(--serif);letter-spacing:-3px}.brand small{font:18px var(--serif)}nav{display:flex;align-items:center;gap:25px;font-size:13px}nav>a:not(.button){text-decoration:none}nav button{border:0;background:none;padding:12px 0;font-size:13px;color:var(--ink)}nav a:hover,nav button:hover{color:var(--bronze)}.button{display:inline-flex;justify-content:center;align-items:center;gap:14px;min-height:46px;padding:11px 23px;background:var(--bronze);color:white;border:1px solid var(--bronze);text-decoration:none;font:14px/1.3 var(--sans);transition:background .18s,color .18s}.button:hover{background:#5e401e;color:white}.outline{background:transparent;color:var(--bronze)}.outline:hover{background:#e7e1d6;color:var(--bronze)}.light-outline{border-color:#bbb;background:transparent;color:white;white-space:nowrap}.light-outline:hover{background:#fff;color:var(--ink)}.hero{display:grid;grid-template-columns:41% 59%;background:var(--cream)}.hero-copy{padding:45px 9% 42px 13%}.eyebrow{color:var(--bronze);font-size:11px;line-height:1.65;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:16px}.hero h1{margin-bottom:24px}.hero-copy>p:not(.eyebrow){font-size:17px;line-height:1.6}.hero-image{height:100%;min-height:510px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:27px}.section{padding:38px 5.3%}.services-section h2{max-width:850px;margin-bottom:25px}.services-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));border:1px solid var(--line);margin:0 -20px}.service{padding:19px 12px 20px;text-align:center;border-right:1px solid var(--line)}.service:last-child{border:0}.icon{font-family:var(--serif);color:var(--bronze);font-size:34px;line-height:1;display:block;margin-bottom:14px}.service h3{font-size:17px;line-height:1.2;margin-bottom:13px}.service p{font-size:12px;line-height:1.7;color:var(--muted)}.audience{display:grid;grid-template-columns:48% 52%;background:var(--cream)}.audience>img{height:100%;min-height:370px}.audience-copy{padding:40px 9% 37px 7%}.audience-copy h2{margin-bottom:28px}.audience-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px}.audience-columns article+article{border-left:1px solid var(--line);padding-left:28px}.audience-columns h3{margin-bottom:14px}.audience-columns p{font-size:15px;line-height:1.65;margin-bottom:16px}.audience-columns a{font:18px var(--serif);color:var(--bronze)}.about{display:grid;grid-template-columns:1fr 1.3fr auto;align-items:center;gap:55px;background:#292c28;color:white;padding:36px 5.3%}.about h2{font-size:31px}.about .eyebrow{color:#d8c9b3}.about>p{font-size:15px;line-height:1.7;color:#e5e5df}.planning{display:grid;grid-template-columns:1.8fr repeat(4,1fr);gap:26px;background:#fbfaf7}.planning h2{font-size:31px;margin-bottom:13px}.planning>div>p:last-child,.planning article p{font-size:14px;color:var(--muted)}.planning article{border-left:1px solid var(--line);padding-left:22px}.planning h3{font-size:20px;line-height:1.15;margin-bottom:12px}.areas-section h2{margin-bottom:23px}.areas-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.area{padding:20px 24px;background:var(--cream);border-bottom:2px solid var(--bronze)}.area h3{margin-bottom:8px}.area p{font-size:13px;color:var(--muted)}.area-n{display:block;font:14px var(--sans);color:var(--bronze);margin-bottom:16px}.area-note{font-size:13px;color:var(--muted);margin-top:16px}.faq-contact{display:grid;grid-template-columns:1fr 1.45fr .9fr;gap:40px;background:var(--cream)}.faq-contact h2{font-size:33px}.faqs details{border-bottom:1px solid #cfc6b8}.faqs summary{display:flex;justify-content:space-between;gap:15px;align-items:center;cursor:pointer;list-style:none;min-height:48px;font-size:13px;padding:12px 0}.faqs summary::-webkit-details-marker{display:none}.faqs summary span{font-size:23px;color:var(--bronze)}details[open] summary span{transform:rotate(45deg)}details p{font-size:14px;padding:0 0 16px;color:var(--muted)}aside{background:#e9e2d6;padding:24px}aside h3{font-size:23px;margin-bottom:12px}aside p{font-size:14px;margin-bottom:18px}#contact-status{margin-top:20px;border-top:1px solid #c8bca8;padding-top:15px}footer{background:#292c28;color:#eee;padding:34px 5.3% 18px;display:grid;grid-template-columns:1.4fr 1.1fr 1.1fr .9fr .6fr;gap:30px}footer .brand{display:block}footer .brand small{display:block;font-size:14px;margin-top:13px}footer .brand>span{font-size:53px}footer h2{font:13px var(--sans);margin-bottom:12px}footer>div>a{display:block;text-decoration:none;color:#d1d4cd;font-size:12px;line-height:1.85}footer a:hover{text-decoration:underline}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;font-size:11px;color:#c6c9c1;border-top:1px solid #4b4f46;padding-top:14px}.mega{position:absolute;top:79px;left:5%;right:5%;padding:25px 30px 30px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 30px #0002;max-height:75vh;overflow:auto}.mega-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.mega-top h2{font-size:28px}.mega-top button{border:0;background:var(--cream);min-height:44px;padding:8px 14px}.mega-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 25px}.mega-grid a{display:block;text-decoration:none;border-bottom:1px solid var(--line);padding:12px}.mega-grid a:hover{background:var(--cream)}.mega-grid strong{display:block;font:19px var(--serif);margin-bottom:7px}.mega-grid span{display:block;font-size:12px;color:var(--muted)}.mobile-toggle{display:none}.skip{position:absolute;left:12px;top:-100px;z-index:50;background:white;padding:12px}.skip:focus{top:8px}[hidden]{display:none!important}@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero-copy{padding-top:60px;padding-bottom:60px}}@media(max-width:1150px){header{padding:0 3%;gap:15px}.brand small{font-size:14px}nav{gap:16px}nav .button{padding:10px 15px}.services-grid{grid-template-columns:repeat(3,1fr);margin:0}.service{border-bottom:1px solid var(--line)}.service:nth-child(3n){border-right:0}.service:nth-last-child(-n+3){border-bottom:0}.hero-copy{padding:35px 9%}.hero-image{min-height:500px}.hero h1{font-size:40px}.about{gap:28px;grid-template-columns:1fr 1.3fr}.about .button{grid-column:2;justify-self:start}.planning{grid-template-columns:repeat(4,1fr)}.planning>div{grid-column:1/-1}.faq-contact{grid-template-columns:1fr 1.6fr;gap:25px}.faq-contact aside{grid-column:1/-1;display:block}footer{grid-template-columns:1.3fr 1fr 1fr}.audience-copy{padding:30px}.audience-columns{gap:18px}.audience-columns article+article{padding-left:18px}}@media(max-width:800px){header{height:74px;padding:0 5%}.brand>span{font-size:46px}.brand small{font-size:16px}.mobile-toggle{display:block;background:none;border:1px solid var(--line);padding:9px 14px;min-height:44px}nav{display:none;position:absolute;left:0;right:0;top:73px;flex-direction:column;align-items:stretch;background:white;padding:15px 5%;max-height:calc(100dvh - 74px);overflow:auto;box-shadow:0 15px 20px #0001}nav.open{display:flex;gap:0}nav a,nav button{text-align:left;padding:14px;font-size:15px}nav .button{margin-top:10px}.mega{top:130px;left:5%;right:5%;max-height:65dvh;padding:18px}.mega-grid{grid-template-columns:1fr 1fr}.mega-top h2{font-size:23px}.hero{grid-template-columns:1fr 1fr}.hero h1{font-size:36px}.hero-copy{padding:32px 9%}.hero-image{min-height:550px}.hero-copy>p:not(.eyebrow){font-size:15px}.hero .button{width:100%}.audience{grid-template-columns:1fr}.audience>img{height:330px;min-height:0}.audience-copy{padding:35px 5%}.about{padding:32px 5%;gap:25px}.about h2{font-size:29px}.areas-grid{grid-template-columns:1fr 1fr}.planning{gap:22px;grid-template-columns:1fr 1fr}.planning article:nth-child(even){border-left:0;padding-left:0}.section{padding:32px 5%}.faq-contact{grid-template-columns:1fr}.faq-contact aside{grid-column:auto}.faq-contact h2 br{display:none}.desktop{display:none}footer{padding:32px 5% 20px;grid-template-columns:1fr 1fr}footer>.brand{grid-column:1/-1}.footer-bottom{gap:15px;flex-wrap:wrap}}@media(max-width:520px){.brand small{font-size:13px}.brand{gap:12px}.hero{display:flex;flex-direction:column}.hero-copy{padding:33px 6%}.hero h1{font-size:39px;letter-spacing:-1px}.hero-image{height:300px;min-height:0}.hero .button{width:auto;flex:1;padding:12px 15px}.hero .eyebrow{font-size:10px}.services-grid{grid-template-columns:1fr 1fr}.service{padding:19px 13px}.service:nth-child(3n){border-right:1px solid var(--line)}.service:nth-child(2n){border-right:0}.service:nth-last-child(-n+3){border-bottom:1px solid var(--line)}.service:last-child{grid-column:1/-1;border-bottom:0;border-right:0}.service p{font-size:13px}.audience-columns{gap:20px}.audience-columns h3{font-size:24px}.audience-columns p{font-size:14px}.audience-columns a{font-size:16px}.about{grid-template-columns:1fr}.about .button{grid-column:auto}.planning{gap:24px}.planning h3{font-size:21px}.areas-grid{gap:12px}.area{padding:20px 15px}.area h3{font-size:23px}.mega-grid{grid-template-columns:1fr}.mega-top{gap:12px}.actions{gap:10px}.footer-bottom span{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* About us and customer testimonials */
.about-expanded{background:#292c28;color:#fff;display:grid;grid-template-columns:.9fr 1.5fr;gap:30px 70px;padding-top:48px;padding-bottom:44px}.about-expanded .eyebrow{color:#dac9af}.about-expanded h2{max-width:410px}.about-body p{font-size:15px;color:#e6e7e1;margin-bottom:17px}.about-body .button{margin-top:4px;background:#d8c4a4;color:#292c28;border-color:#d8c4a4}.about-body .button:hover{background:#eadcc5}.about-points{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-top:27px;border-top:1px solid #5c6057}.about-points article{display:grid;grid-template-columns:30px 1fr;gap:8px 15px}.about-points article>span{color:#dac9af;font-size:12px;grid-row:1/3;padding-top:3px}.about-points h3{font-size:23px}.about-points p{font-size:14px;color:#d4d7cf;max-width:330px}.testimonials-section{background:#faf8f4;padding-top:43px;padding-bottom:43px}.testimonials-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:35px;margin-bottom:25px}.testimonials-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.testimonial-card{margin:0;padding:23px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}.quote-mark{font:58px/.9 var(--serif);color:var(--bronze);margin-top:20px}.testimonial-card blockquote{margin:0 0 23px;font:18px/1.5 var(--serif)}.testimonial-card figcaption{border-top:1px solid var(--line);padding-top:15px;margin-top:auto}.testimonial-card figcaption strong{display:block;font-size:13px;font-weight:600}.testimonial-card figcaption>span{display:block;font-size:11px;color:var(--muted);margin-top:5px}@media(max-width:1150px){.testimonials-grid{grid-template-columns:repeat(2,1fr)}.about-expanded{gap:30px 40px}}@media(max-width:800px){.about-expanded{grid-template-columns:1fr}.about-expanded h2{max-width:550px}.testimonials-heading{display:block}.about-points{gap:20px}.about-points article{display:block}.about-points h3{margin:10px 0}.about-points p{font-size:13px}}@media(max-width:520px){.testimonials-grid,.about-points{grid-template-columns:1fr}.about-points article{padding-bottom:17px;border-bottom:1px solid #4c5147}.about-points article:last-child{border:0;padding-bottom:0}.testimonial-card{padding:22px}.testimonial-card blockquote{font-size:20px}.testimonials-heading h2{font-size:30px}}

/* User-supplied trust points */
.trust-banner{padding:23px 5.3% 26px;background:#f8f6f1;border-bottom:1px solid var(--line)}.trust-label{font:10px/1.5 var(--sans);letter-spacing:1.7px;text-transform:uppercase;color:var(--bronze);text-align:center;margin-bottom:17px}.trust-points{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.trust-point{display:flex;justify-content:center;align-items:center;gap:17px;min-height:58px;padding:5px 20px;border-right:1px solid var(--line)}.trust-point:last-child{border-right:0}.trust-point svg{color:var(--bronze);flex-shrink:0}.trust-point p{line-height:1.25}.trust-point strong{display:block;font:21px/1.25 var(--serif);font-weight:400}.trust-point p>span{display:block;font:13px/1.5 var(--sans);color:var(--muted);margin-top:3px}@media(max-width:1150px){.trust-point{padding:5px 14px;gap:12px}.trust-point strong{font-size:19px}}@media(max-width:800px){.trust-points{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.trust-point{justify-content:flex-start;padding:18px 20px}.trust-point:nth-child(2){border-right:0}.trust-point:nth-child(-n+2){border-bottom:1px solid var(--line)}.trust-banner{padding:20px 5%}.trust-label{margin-bottom:6px}}@media(max-width:520px){.trust-point{padding:16px 10px;gap:10px;align-items:flex-start}.trust-point svg{width:27px;height:27px}.trust-point strong{font-size:18px}.trust-point p>span{font-size:12px}.trust-point:nth-child(odd){padding-left:0}.trust-point:nth-child(even){padding-right:0;padding-left:16px}}

/* Ten services: two balanced desktop rows */
.services-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin:0}.services-grid .service{padding:25px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);grid-column:auto}.services-grid .service:nth-child(5n){border-right:0}.services-grid .service:nth-child(n+6){border-bottom:0}.services-grid .service h3{font-size:22px;line-height:1.2;margin-bottom:13px}.services-grid .service p{font-size:14px;line-height:1.65}.services-grid .service .icon{margin-bottom:16px}@media(max-width:900px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.services-grid .service{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 18px}.services-grid .service:nth-child(5n){border-right:1px solid var(--line)}.services-grid .service:nth-child(2n){border-right:0}.services-grid .service:nth-child(n+6){border-bottom:1px solid var(--line)}.services-grid .service:nth-last-child(-n+2){border-bottom:0}}@media(max-width:520px){.services-grid .service{padding:21px 13px}.services-grid .service h3{font-size:21px}.services-grid .service p{font-size:13px}}

/* Illustrative service photography, one tile per service */
.service-photo{width:100%;aspect-ratio:1.6;background-image:url("assets/services.webp");background-size:500% auto;background-repeat:no-repeat;margin-bottom:18px;border:1px solid #e0d9ce}
.service-photo-1{background-position:0% 0%}
.service-photo-2{background-position:25% 0%}
.service-photo-3{background-position:50% 0%}
.service-photo-4{background-position:75% 0%}
.service-photo-5{background-position:100% 0%}
.service-photo-6{background-position:0% 100%}
.service-photo-7{background-position:25% 100%}
.service-photo-8{background-position:50% 100%}
.service-photo-9{background-position:75% 100%}
.service-photo-10{background-position:100% 100%}
 .services-grid .service{padding:16px 16px 24px}.services-grid .service .icon{margin-bottom:12px}.services-grid .service .icon svg{width:30px;height:30px}@media(max-width:520px){.services-grid .service{padding:11px 11px 20px}.service-photo{margin-bottom:14px;aspect-ratio:1.35}}
/* Conversion refinements */
.service-quote{display:inline-flex;gap:8px;align-items:center;min-height:44px;margin-top:14px;font-size:13px;color:var(--bronze)}.mega-grid small{display:block;color:var(--bronze);font-size:12px;margin-top:8px}.planning article>a{font-size:13px;color:var(--bronze);display:inline-block;margin-top:12px}.faq-contact{grid-template-columns:1fr 2fr}.quote-section{display:grid;grid-template-columns:1fr 1.35fr;gap:55px;background:var(--cream);border-top:1px solid var(--line);padding-top:45px;padding-bottom:45px}.quote-intro h2{margin-bottom:20px}.quote-intro>p{font-size:16px}.quote-intro ul{padding-left:19px;font-size:14px;margin:22px 0;line-height:1.9}.quote-review-note{padding:16px;border:1px solid #b6a78f;font-size:13px!important;background:#e9e2d6}.quote-form{padding:27px;background:white;border:1px solid var(--line)}.form-status{font-size:13px;padding-bottom:17px;margin-bottom:20px;border-bottom:1px solid var(--line);color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label{font-size:13px;display:block;font-weight:600}.form-grid label>span{font-size:11px;font-weight:400;color:var(--muted)}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;min-width:0;min-height:46px;margin-top:7px;border:1px solid #aaa398;border-radius:0;padding:11px;font:16px var(--sans);background:#fff;color:var(--ink)}.form-grid textarea{resize:vertical}.form-grid .full{grid-column:1/-1}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:2px solid var(--bronze);outline-offset:2px}.form-help{font-size:12px;color:var(--muted);margin:16px 0}.quote-form .button{width:100%}.button:disabled{background:#ded9cf;border-color:#c9c0b2;color:#59554c;cursor:not-allowed}.footer-quote{grid-column:1/-1;border-top:1px solid #50544a;padding-top:23px;display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-quote h2{font:27px var(--serif);margin:0}.mobile-quote-bar{display:none}@media(max-width:800px){.quote-section{grid-template-columns:1fr;gap:28px}.faq-contact{grid-template-columns:1fr}.mobile-quote-bar{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--bronze);color:white;min-height:52px;align-items:center;justify-content:center;gap:25px;text-decoration:none;padding:14px 20px calc(14px + env(safe-area-inset-bottom));z-index:9;box-shadow:0 -2px 12px #0002}body{padding-bottom:70px}.quote-section{scroll-margin-bottom:70px}.footer-quote h2{font-size:23px}}@media(max-width:520px){.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.quote-form{padding:20px}.footer-quote{align-items:flex-start;flex-direction:column}}
/* Premium visual execution. Existing layout, copy, heading scale and assets retained. */
:root{--bronze-wash:rgba(120,87,46,.10);--bronze-faint:rgba(120,87,46,.055);--premium-shadow:0 3px 8px rgba(45,36,24,.035),0 16px 38px rgba(45,36,24,.075)}
.eyebrow{display:flex;align-items:center;gap:11px}.eyebrow::before{content:"";width:25px;height:1px;background:currentColor;opacity:.65;flex:none}.trust-label{width:fit-content;margin-left:auto;margin-right:auto;padding:5px 14px;border:1px solid rgba(120,87,46,.23);border-radius:100px;background:rgba(120,87,46,.055)}
.hero-copy{position:relative;isolation:isolate;background:linear-gradient(132deg,#f8f6f1 0%,#f2efe8 55%,#e9e2d6 100%);overflow:hidden}.hero-copy::before{content:"";position:absolute;width:330px;height:330px;right:-100px;top:-100px;border-radius:50%;background:radial-gradient(circle,rgba(120,87,46,.12),rgba(120,87,46,0) 68%);z-index:-1;pointer-events:none}.hero-copy::after{content:"";position:absolute;width:250px;height:250px;left:-155px;bottom:-85px;border:1px solid rgba(120,87,46,.12);border-radius:50%;z-index:-1;pointer-events:none}
.trust-point:first-child{border-left:3px solid var(--bronze);box-shadow:5px 7px 18px rgba(55,40,23,.09);background:linear-gradient(115deg,#fff,#f2efe8)}.trust-point:first-child strong{font-size:clamp(23px,2.2vw,33px);font-weight:700;letter-spacing:-.8px}
.trust-point svg{border:1px solid rgba(120,87,46,.25);border-radius:50%;padding:6px;box-sizing:content-box}.services-grid{counter-reset:service;box-shadow:0 10px 30px rgba(45,36,24,.035)}.services-grid .service{counter-increment:service;position:relative;isolation:isolate;background:linear-gradient(145deg,#fff,#fcfbf8);transition:box-shadow .22s,border-color .22s}.services-grid .service::before{content:counter(service,decimal-leading-zero);position:absolute;top:12px;right:21px;font:700 66px/.95 var(--serif);letter-spacing:-4px;color:rgba(255,255,255,.78);text-shadow:0 1px 14px rgba(60,40,15,.1);pointer-events:none;z-index:1}.services-grid .service::after{content:"";position:absolute;left:0;top:0;width:3px;height:100%;background:linear-gradient(180deg,var(--bronze),rgba(120,87,46,.12));transform:scaleY(0);transform-origin:top;transition:transform .28s;pointer-events:none}.services-grid .service:focus-within{box-shadow:var(--premium-shadow);border-color:rgba(120,87,46,.45);z-index:2}.services-grid .service:focus-within::after{transform:scaleY(1)}.services-grid .service .icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;margin-left:auto;margin-right:auto;border:1px solid rgba(120,87,46,.3);border-radius:50%;background:rgba(120,87,46,.025)}.service-photo{border-color:transparent;box-shadow:0 3px 10px rgba(45,36,24,.07)}
.about-points{counter-reset:feature}.about-points article{position:relative;isolation:isolate;counter-increment:feature}.about-points article::after{content:counter(feature,decimal-leading-zero);position:absolute;right:8px;top:0;font:700 64px/.9 var(--serif);color:rgba(236,222,197,.055);z-index:-1;pointer-events:none}.about-points article>span{font-size:25px;font-weight:700;letter-spacing:-1px}.planning article{position:relative;isolation:isolate}.planning article::after{content:"";position:absolute;right:2px;top:3px;width:52px;height:52px;border:1px solid rgba(120,87,46,.08);border-radius:50%;pointer-events:none;z-index:-1}.planning article .icon{font-size:45px;font-weight:700;letter-spacing:-2px;color:rgba(120,87,46,.6)}.area{position:relative;isolation:isolate;background:linear-gradient(130deg,#f5f2ec,#ede7dc)}.area-n{position:absolute;top:12px;right:15px;font:700 52px/1 var(--serif);color:rgba(120,87,46,.09);margin:0;pointer-events:none;z-index:-1}
.about-expanded{background:linear-gradient(122deg,#222820 0%,#292c28 48%,#353329 100%);position:relative;isolation:isolate;overflow:hidden}.about-expanded::before{content:"";position:absolute;right:-180px;top:-190px;width:560px;height:560px;background:radial-gradient(circle,rgba(182,149,100,.10),transparent 68%);border-radius:50%;pointer-events:none;z-index:-1}.about-expanded::after{content:"";position:absolute;left:-170px;bottom:-235px;width:400px;height:400px;border:1px solid rgba(218,201,175,.07);border-radius:50%;pointer-events:none;z-index:-1}.audience>img{box-shadow:14px 14px 0 rgba(120,87,46,.10);position:relative;z-index:1}.audience-copy{position:relative;z-index:2}
.testimonial-card{border-color:transparent;box-shadow:0 2px 5px rgba(45,36,24,.025),0 12px 26px rgba(45,36,24,.065),0 25px 50px rgba(45,36,24,.035);position:relative;isolation:isolate;background:linear-gradient(140deg,#fff,#fdfbf7)}.testimonial-card::before{content:"";position:absolute;top:0;left:23px;width:74px;height:3px;background:linear-gradient(90deg,var(--bronze),rgba(120,87,46,0));pointer-events:none}.testimonial-card::after{content:"“";position:absolute;top:48px;left:12px;font:190px/.9 var(--serif);color:rgba(120,87,46,.065);z-index:-1;pointer-events:none}.testimonial-card .quote-mark{color:transparent;user-select:none}.testimonial-card figcaption{border-top-color:rgba(120,87,46,.12)}
.button{border-radius:100px;position:relative;isolation:isolate;overflow:hidden}.button::after{content:"";position:absolute;top:-50%;left:0;width:35%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transform:translateX(-300%) skewX(-22deg);pointer-events:none;z-index:1}.button:not(.outline):not(.light-outline):not(:disabled){box-shadow:0 3px 8px rgba(70,46,20,.09)}.button:focus-visible::after{animation:bsl-shimmer .7s ease-out 1}.button:disabled::after{display:none}@keyframes bsl-shimmer{to{transform:translateX(450%) skewX(-22deg)}}
.quote-form{border-color:transparent;box-shadow:0 3px 9px rgba(45,36,24,.04),0 18px 45px rgba(45,36,24,.10),0 36px 70px rgba(45,36,24,.035);position:relative;background:linear-gradient(140deg,#fff,#fdfcf9)}.quote-form::before{content:"";position:absolute;left:27px;top:0;width:110px;height:3px;background:linear-gradient(90deg,var(--bronze),transparent);pointer-events:none}.quote-review-note{border-color:transparent;box-shadow:0 4px 14px rgba(45,36,24,.055);background:linear-gradient(130deg,#eee7db,#e9e2d6)}.form-grid input,.form-grid select,.form-grid textarea{border-color:#c8bfae;background:#fff;box-shadow:inset 0 1px 3px rgba(45,36,24,.025)}.form-grid input:hover,.form-grid select:hover,.form-grid textarea:hover{border-color:var(--bronze)}
footer{background:linear-gradient(155deg,#30332c 0%,#292c28 50%,#20251f 100%);border-top:1px solid rgba(174,140,92,.35);position:relative;isolation:isolate;overflow:hidden}footer::before{content:"";position:absolute;width:430px;height:430px;right:-190px;top:-200px;border-radius:50%;background:radial-gradient(circle,rgba(174,140,92,.07),transparent 70%);pointer-events:none;z-index:-1}.footer-quote{border-top-color:rgba(218,201,175,.16)}.mobile-quote-bar{background:linear-gradient(115deg,#634521,#78572e 52%,#8a683d)}
@media(hover:hover) and (pointer:fine){.services-grid .service:hover{box-shadow:var(--premium-shadow);border-color:rgba(120,87,46,.45);z-index:2}.services-grid .service:hover::after{transform:scaleY(1)}.button:not(:disabled):hover::after{animation:bsl-shimmer .7s ease-out 1}.mega-grid a{transition:background .2s,box-shadow .2s}.mega-grid a:hover{box-shadow:inset 3px 0 var(--bronze);background:linear-gradient(90deg,#f2efe8,#fff)}}
@media(max-width:800px){.trust-point:first-child strong{font-size:27px}.services-grid .service::before{font-size:60px}.about-points article>span{font-size:24px}.audience>img{box-shadow:0 10px 0 rgba(120,87,46,.10)}}@media(max-width:520px){.trust-point:first-child strong{font-size:23px}.services-grid .service::before{font-size:52px;right:15px}.planning article .icon{font-size:40px}.about-points article::after{font-size:58px}}
@media(prefers-reduced-motion:reduce){.button::after{display:none!important}.services-grid .service::after{transition:none!important}.services-grid .service,.mega-grid a{transition:none!important}}

/* Confirmed BSL telephone */
.phone-link{white-space:nowrap;font-weight:600;letter-spacing:.15px;text-decoration:none;color:var(--bronze);font-variant-numeric:tabular-nums}nav{gap:18px}nav .phone-link{font-size:14px;min-height:44px;display:inline-flex;align-items:center}.phone-link:hover{text-decoration:underline}.contact-phone{margin:24px 0;display:flex;flex-direction:column;gap:7px}.contact-phone>span{font-size:14px;color:var(--muted)}.contact-phone .phone-link{font:32px/1.3 var(--serif);width:fit-content;padding:4px 0}.footer-quote .phone-link{color:#e7d4b6;font-size:21px;min-height:44px;display:inline-flex;align-items:center}.mobile-contact-bar{display:none}@media(min-width:801px) and (max-width:1250px){header .brand small{max-width:105px;white-space:normal;line-height:1.2}nav{gap:12px}nav>a:not(.button),nav button{font-size:12px}nav .phone-link{font-size:13px}nav .button{padding-left:13px;padding-right:13px}}@media(max-width:800px){.mobile-contact-bar{display:grid;grid-template-columns:1fr 1.45fr;position:fixed;bottom:0;left:0;right:0;z-index:9;box-shadow:0 -3px 16px #0002;background:#fff;padding-bottom:env(safe-area-inset-bottom)}.mobile-contact-bar>a{display:flex;min-height:54px;align-items:center;justify-content:center;gap:12px;font-size:14px;text-decoration:none;padding:12px}.mobile-call{color:var(--bronze);font-weight:600;background:#f2efe8}.mobile-free-quote{background:linear-gradient(115deg,#634521,#78572e 52%,#8a683d);color:#fff}.footer-quote{flex-wrap:wrap}}
/* Bespoke editorial finishing pass: decoration only, no geometry or type changes. */
header{background:linear-gradient(105deg,#fff 0%,#fff 65%,#faf8f3 100%);box-shadow:0 1px 0 rgba(120,87,46,.06),0 6px 24px rgba(40,34,24,.025)}header .brand>span{text-shadow:1px 1px 0 rgba(120,87,46,.09)}nav>a:not(.button){text-decoration:none;background-image:linear-gradient(var(--bronze),var(--bronze));background-size:0 1px;background-position:0 calc(100% - 7px);background-repeat:no-repeat;transition:background-size .24s,color .24s}.mega{border-color:rgba(120,87,46,.18);background:linear-gradient(135deg,#fff 25%,#f8f5ef);box-shadow:0 6px 16px rgba(32,34,31,.05),0 25px 60px rgba(32,34,31,.14)}.mega-top{border-bottom:1px solid rgba(120,87,46,.16);padding-bottom:16px}.mega-grid a{border-bottom-color:rgba(120,87,46,.14)}
.hero-copy{background:radial-gradient(ellipse at 95% 0%,rgba(120,87,46,.09),transparent 58%),linear-gradient(132deg,#fbf9f4 0%,#f2efe8 54%,#e7dfd2 100%)}.hero-copy::after{box-shadow:0 0 0 21px rgba(120,87,46,.018),0 0 0 65px rgba(120,87,46,.012)}.hero-image{filter:saturate(.96) contrast(1.015)}.eyebrow::before{background:linear-gradient(90deg,currentColor 0%,currentColor 60%,transparent);opacity:.75}.trust-banner{background:linear-gradient(100deg,#fcfaf6,#f4f0e8 50%,#fbf9f4);box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 rgba(120,87,46,.04)}.trust-label{box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 2px 5px rgba(120,87,46,.035)}.trust-point:first-child{box-shadow:4px 7px 18px rgba(55,40,23,.08),inset 0 1px 0 rgba(255,255,255,.8)}
.services-grid{border-color:rgba(120,87,46,.21);box-shadow:0 8px 18px rgba(45,36,24,.025),0 22px 50px rgba(45,36,24,.035)}.services-grid .service::before{color:rgba(255,255,255,.83);text-shadow:0 2px 20px rgba(40,30,15,.16);font-style:italic}.services-grid .service .icon{background:radial-gradient(circle at 30% 25%,#fff,#f3eee5);box-shadow:inset 0 0 0 3px rgba(255,255,255,.75),0 3px 8px rgba(90,65,30,.045)}.service-photo{box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),0 3px 9px rgba(45,36,24,.08);outline:1px solid rgba(120,87,46,.12);outline-offset:3px;transition:filter .3s,box-shadow .3s}.service-quote{background-image:linear-gradient(var(--bronze),var(--bronze));background-size:0 1px;background-repeat:no-repeat;background-position:0 calc(100% - 7px);text-decoration:none;transition:background-size .25s}.service-quote span,.audience-columns a span{display:inline-block;transition:transform .25s}
.audience{background:linear-gradient(115deg,#f7f4ef 0%,#f2efe8 50%,#eae4d9 100%)}.audience-columns article+article{border-image:linear-gradient(180deg,rgba(120,87,46,.35),rgba(120,87,46,.06)) 1}.audience-columns a{text-decoration-color:rgba(120,87,46,.35);transition:text-decoration-color .2s}.audience>img{box-shadow:14px 14px 0 rgba(120,87,46,.09),20px 20px 0 rgba(120,87,46,.025)}
.about-expanded{background:radial-gradient(ellipse at 85% 15%,rgba(120,87,46,.25),transparent 55%),linear-gradient(120deg,#191f19 0%,#292c28 46%,#403b2d 100%);box-shadow:inset 0 1px 0 rgba(235,224,203,.08),inset 0 -1px 0 rgba(235,224,203,.06)}.about-expanded::after{border-color:rgba(218,201,175,.12);box-shadow:0 0 0 42px rgba(218,201,175,.018)}.about-points{border-top-color:rgba(218,201,175,.17)}.about-points article::after{font-style:italic;color:rgba(236,222,197,.075)}.planning{background:linear-gradient(155deg,#fffdf9,#f5f1e9)}.planning article{border-image:linear-gradient(180deg,rgba(120,87,46,.26),rgba(120,87,46,.025)) 1}.planning article .icon{text-shadow:2px 2px 0 rgba(120,87,46,.055)}
.area{border-bottom-color:rgba(120,87,46,.32);box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 4px 12px rgba(45,36,24,.035)}.area::before{content:"";position:absolute;left:0;top:18px;width:2px;height:25px;background:linear-gradient(var(--bronze),transparent);opacity:.5;pointer-events:none}.area-n{font-style:italic;color:rgba(120,87,46,.115)}
.testimonials-section{background:radial-gradient(ellipse at 0% 60%,rgba(120,87,46,.035),transparent 60%),#faf8f4}.testimonial-card{background:linear-gradient(135deg,#fff 0%,#fffefa 60%,#f5f0e7);box-shadow:0 1px 3px rgba(45,36,24,.02),0 8px 18px rgba(45,36,24,.055),0 25px 45px rgba(45,36,24,.055)}.testimonial-card::before{width:90px;background:linear-gradient(90deg,var(--bronze),rgba(120,87,46,.22) 60%,transparent)}.testimonial-card::after{color:rgba(120,87,46,.075);transform:rotate(-6deg)}.testimonial-card figcaption{border-image:linear-gradient(90deg,rgba(120,87,46,.25),rgba(120,87,46,0)) 1}.faqs details{border-bottom-color:rgba(120,87,46,.22)}.faqs summary{transition:color .2s,background .2s}.faqs details[open] summary{color:var(--bronze);background:linear-gradient(90deg,rgba(120,87,46,.035),transparent)}
.quote-section{background:radial-gradient(ellipse at 15% 10%,rgba(120,87,46,.07),transparent 55%),linear-gradient(130deg,#f8f5ef,#ede6da);border-top-color:rgba(120,87,46,.18)}.quote-form{background:linear-gradient(135deg,#fff,#fffdfa);box-shadow:0 2px 5px rgba(45,36,24,.035),0 15px 32px rgba(45,36,24,.09),0 40px 65px rgba(45,36,24,.055)}.quote-form::before{width:150px;background:linear-gradient(90deg,var(--bronze),rgba(120,87,46,.30) 45%,transparent)}.form-status{border-bottom-color:rgba(120,87,46,.16)}.form-grid input,.form-grid select,.form-grid textarea{transition:border-color .2s,box-shadow .2s;background:linear-gradient(180deg,#fdfcf9,#fff 10px)}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{box-shadow:0 0 0 4px rgba(120,87,46,.07)}
.button:not(.outline):not(.light-outline):not(:disabled){background-image:linear-gradient(115deg,rgba(255,255,255,.08),rgba(255,255,255,0) 48%,rgba(0,0,0,.08));box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 3px 7px rgba(70,46,20,.12);transition:background-color .2s,box-shadow .2s}.button.outline,.button.light-outline{box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
footer{background:radial-gradient(ellipse at 85% 0%,rgba(120,87,46,.16),transparent 55%),linear-gradient(155deg,#35382f 0%,#252b24 48%,#171d17 100%);border-top-color:rgba(174,140,92,.45)}footer::before{border:1px solid rgba(218,201,175,.06);box-shadow:0 0 0 28px rgba(218,201,175,.015)}.footer-bottom{border-top-color:rgba(218,201,175,.14)}footer>div>a:not(.button){text-decoration-color:rgba(218,201,175,.3);transition:color .2s}.footer-quote{border-image:linear-gradient(90deg,rgba(218,201,175,.35),rgba(218,201,175,.05)) 1}
@media(hover:hover) and (pointer:fine){nav>a:not(.button):hover{background-size:100% 1px}.services-grid .service:hover .service-photo,.services-grid .service:focus-within .service-photo{filter:contrast(1.035) saturate(1.025);box-shadow:0 5px 16px rgba(45,36,24,.12)}.service-quote:hover{background-size:100% 1px}.service-quote:hover span,.audience-columns a:hover span{transform:translateX(3px)}.audience-columns a:hover{text-decoration-color:var(--bronze)}.button:not(:disabled):hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.17),0 6px 16px rgba(70,46,20,.18)}.faqs summary:hover{color:var(--bronze)}footer>div>a:hover{color:#fff}}
@media(max-width:800px){.audience>img{box-shadow:0 10px 0 rgba(120,87,46,.09),0 14px 0 rgba(120,87,46,.025)}}
@media(prefers-reduced-motion:reduce){.service-photo,.service-quote,.service-quote span,.audience-columns a span,.form-grid input,.form-grid select,.form-grid textarea,nav>a:not(.button),.faqs summary{transition:none!important}.service-quote:hover span,.audience-columns a:hover span{transform:none}}
/* Professional QA corrections */
:where(header,nav,.hero-copy,.audience-copy,.quote-intro,.quote-form,.service,.mega-grid a){min-width:0}.service h3,.mega-grid strong{overflow-wrap:break-word}.services-grid .service::before{font-size:56px;top:12px;right:18px;color:rgba(255,255,255,.84);font-style:normal;letter-spacing:-3px}.service-photo{position:relative;z-index:1}.services-grid .service::before{z-index:2}.services-grid .service .icon{position:relative;z-index:1}.area-n{position:relative;top:auto;right:auto;font-size:36px;color:rgba(120,87,46,.62);font-style:normal;margin-bottom:10px;z-index:auto}.about-points article::after{font-style:normal}.hero-copy>.eyebrow{display:block;padding-left:34px;position:relative}.hero-copy>.eyebrow::before{position:absolute;left:0;top:9px}.form-help,.form-status{font-size:14px;line-height:1.6}.form-grid label>span{font-size:12px}.faqs summary{font-size:15px;line-height:1.5;min-height:48px}.testimonial-card figcaption>span{font-size:12px}.testimonial-card .quote-mark{visibility:hidden}.testimonial-card::after{z-index:-1}.quote-form{scroll-margin-bottom:90px}.phone-link{min-height:44px;display:inline-flex;align-items:center}.mega-grid a small{font-size:13px}footer>div>a:not(.button){font-size:14px;line-height:1.4;min-height:44px;display:flex;align-items:center;padding:6px 0}footer .footer-quote .phone-link{font-size:21px}.footer-bottom{font-size:12px}.planning article>a,.area-note a{min-height:44px;display:inline-flex;align-items:center}.area-note{font-size:14px}.mobile-contact-bar>a:focus-visible{outline-offset:-5px}.services-grid .service:focus-within{z-index:3}
@media(min-width:1101px) and (max-width:1350px){header{padding-left:3%;padding-right:3%;gap:16px}header .brand small{font-size:16px;max-width:none;white-space:nowrap}nav{gap:13px}nav>a:not(.button),nav button{font-size:13px}nav .phone-link{font-size:14px}nav .button{padding-left:15px;padding-right:15px}}
@media(max-width:1100px){header{height:74px;padding:0 5%}.brand>span{font-size:46px}.brand small{font-size:16px;max-width:none;white-space:nowrap}.mobile-toggle{display:block;background:none;border:1px solid var(--line);padding:9px 14px;min-height:44px}nav{display:none;position:absolute;left:0;right:0;top:73px;flex-direction:column;align-items:stretch;background:#fff;padding:15px 5%;max-height:calc(100dvh - 74px);overflow:auto;overscroll-behavior:contain;box-shadow:0 15px 20px #0001}nav.open{display:flex;gap:0}nav a,nav button{font-size:15px;text-align:left;padding:14px;min-height:46px}nav .phone-link{font-size:16px}nav .button{margin-top:10px}nav .mega{position:static;max-height:none;overflow:visible;margin-top:15px;padding:18px;box-shadow:none;flex:none}nav .mega-grid{grid-template-columns:1fr 1fr}.mega-top{gap:16px}.mega-top button{white-space:nowrap}.mega-top h2{font-size:23px}nav .mega-grid a{padding:14px 8px}.mega-grid strong{font-size:18px}.mega-grid span{font-size:13px}.mega-top{padding-bottom:12px}}
@media(max-width:520px){.brand small{font-size:13px}nav .mega-grid{grid-template-columns:1fr}.services-grid .service::before{font-size:44px;right:17px;top:13px}.footer-bottom{gap:12px}.contact-phone .phone-link{font-size:30px}.testimonial-card blockquote{font-size:19px}.form-grid input,.form-grid select,.form-grid textarea{font-size:16px}.mobile-contact-bar{padding-bottom:env(safe-area-inset-bottom)}body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.button:focus-visible::after,.button:not(:disabled):hover::after{animation:none!important}.service-photo{filter:none!important}}

/* Service cards are informational after per-card quote links removed. */
.services-grid .service:hover{box-shadow:none;z-index:auto}.services-grid .service:hover::after{transform:scaleY(0)}.services-grid .service:hover .service-photo{filter:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),0 3px 9px rgba(45,36,24,.08)}
/* Approved horizontal logo direction: bronze sans BSL | full name. */
header .brand,footer .brand{display:inline-flex;align-items:center;gap:15px;white-space:nowrap;width:fit-content;max-width:100%;text-decoration:none}header .brand>span,footer .brand>span{font-family:Arial,Helvetica,sans-serif;font-size:43px;font-weight:800;line-height:1;letter-spacing:-2.1px;color:var(--bronze);text-shadow:none}header .brand small,footer .brand small{display:block;font-family:Arial,Helvetica,sans-serif;font-size:15px;font-weight:400;line-height:1.3;letter-spacing:-.2px;border-left:1px solid var(--ink);padding:10px 0 10px 15px;margin:0;white-space:nowrap;max-width:none;color:var(--ink)}footer .brand{align-self:start;gap:10px}footer .brand>span{font-size:34px;color:#c3a274}footer .brand small{font-size:12px;color:#f2efe8;border-left-color:rgba(242,239,232,.65);padding:8px 0 8px 10px;letter-spacing:-.1px}header .brand:hover,footer .brand:hover{text-decoration:none}@media(min-width:1101px) and (max-width:1350px){header .brand{gap:12px}header .brand>span{font-size:40px}header .brand small{font-size:14px;padding-left:12px}}@media(max-width:520px){header .brand{gap:10px}header .brand>span{font-size:34px;letter-spacing:-1.6px}header .brand small{font-size:11px;letter-spacing:-.15px;padding:8px 0 8px 10px}footer .brand>span{font-size:36px}footer .brand small{font-size:12px}}
/* Logo proportion refinement requested by owner. */
header .brand>span,footer .brand>span{font-weight:400;letter-spacing:-1.5px}header .brand small{font-size:18px}footer .brand small{font-size:14px}@media(min-width:1101px) and (max-width:1350px){header .brand{gap:10px}header .brand small{font-size:16px;padding-left:10px}header nav{gap:11px}}@media(max-width:520px){header .brand{gap:8px}header .brand small{font-size:13px;padding-left:8px;letter-spacing:-.2px}header .brand>span{letter-spacing:-1.2px}footer .brand small{font-size:14px}}
/* More vertical breathing room in navigation. */
@media(min-width:1101px){header{height:96px}nav>a:not(.button),nav button{padding-top:18px;padding-bottom:18px}.mega{top:95px}.mega-grid{row-gap:16px}.mega-grid a{padding-top:19px;padding-bottom:19px}}
@media(max-width:1100px){header{height:86px}nav{top:85px;max-height:calc(100dvh - 86px);padding-top:20px;padding-bottom:24px}nav.open{row-gap:5px}nav>a:not(.button),nav button{padding-top:18px;padding-bottom:18px}nav .mega{margin-top:20px}nav .mega-grid{row-gap:14px}nav .mega-grid a{padding-top:19px;padding-bottom:19px}}
html{scroll-padding-top:104px}
/* Align header wordmark with hero copy and editorial content gutter. */
@media(min-width:1101px){header{padding-left:5.3%;padding-right:3%;gap:14px}header nav{gap:10px}header nav .button{padding-left:14px;padding-right:14px}}
@media(max-width:1100px) and (min-width:801px){header{padding-left:3.69%}}
@media(max-width:800px) and (min-width:521px){header{padding-left:4.5%}}
@media(max-width:520px){header{padding-left:6%}}
/* Larger full business name in header logo. */
header .brand small{font-size:22px;letter-spacing:-.25px}@media(min-width:1101px) and (max-width:1350px){header .brand small{font-size:19px}header nav{gap:9px}header nav .button{padding-left:12px;padding-right:12px}}@media(max-width:520px){header .brand small{font-size:15px;letter-spacing:-.25px}header .brand{gap:7px}header .brand small{padding-left:7px}}@media(max-width:380px){header .brand small{font-size:14px}}
/* Remove decorative numbering from all service cards. */
.services-grid .service::before{content:none;display:none}

/* Unnumbered About Us features. */
.about-points article::after{content:none;display:none}.about-points article{grid-template-columns:1fr}.about-points article h3,.about-points article p{grid-column:1}

/* Persistent mobile contact actions. */
@media(max-width:800px){.mobile-contact-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;inset:auto 0 0;z-index:40;padding-bottom:env(safe-area-inset-bottom);background:var(--cream);border-top:1px solid rgba(120,87,46,.2);box-shadow:0 -4px 18px rgba(32,34,31,.14)}.mobile-contact-bar>a{min-height:56px;font-size:15px;font-weight:600}.mobile-call{border-right:1px solid rgba(120,87,46,.18)}body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}nav{max-height:calc(100dvh - 86px - 76px - env(safe-area-inset-bottom))}}
/* Sticky primary navigation retains its normal layout space. */
header{position:sticky;top:0;z-index:50;box-shadow:0 1px 0 rgba(120,87,46,.12),0 5px 18px rgba(32,34,31,.075)}html{scroll-padding-top:112px}@media(max-width:1100px){html{scroll-padding-top:102px}}
/* Mobile contact bar aligned with compact navigation and touch devices. */
@media(max-width:1100px),(hover:none) and (pointer:coarse){
.mobile-contact-bar{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);position:fixed;top:auto;right:0;bottom:0;left:0;width:100%;height:auto;min-height:56px;z-index:1000;visibility:visible;opacity:1;transform:none;background:#f2efe8;padding:0 0 env(safe-area-inset-bottom,0px);border-top:1px solid rgba(120,87,46,.2);box-shadow:0 -4px 18px rgba(32,34,31,.16)}
.mobile-contact-bar>a{display:flex;align-items:center;justify-content:center;min-height:56px;padding:14px 12px;font:600 15px/1.4 Arial,Helvetica,sans-serif;gap:12px;text-decoration:none;white-space:nowrap}.mobile-contact-bar>.mobile-call{color:#78572e;background:#f2efe8;border-right:1px solid rgba(120,87,46,.18)}.mobile-contact-bar>.mobile-free-quote{color:#fff;background:linear-gradient(115deg,#634521,#78572e 52%,#8a683d)}body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}nav{max-height:calc(100dvh - 86px - 76px - env(safe-area-inset-bottom,0px))}}
/* Representative inner-page templates reuse the approved design system. */
.inner-page .breadcrumbs{position:static;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:10px;max-height:none;overflow:visible;background:#faf8f4;box-shadow:none;font-size:12px;padding-top:16px;padding-bottom:16px}.inner-page .breadcrumbs a{padding:0;min-height:28px;display:inline-flex;align-items:center;text-decoration:underline;font-size:12px;color:var(--bronze)}.breadcrumbs>span{color:var(--muted)}.inner-hero{display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(130deg,#faf7f1,#ede6d9)}.inner-hero>div{padding:48px 10.6%}.inner-hero h1{margin-bottom:24px}.inner-hero>div>p:not(.eyebrow){font-size:17px;line-height:1.7}.inner-hero>img{height:100%;min-height:400px}.inner-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:25px}.inner-actions .phone-link{font-size:18px}.inner-section{padding-top:44px;padding-bottom:44px}.inner-section>h2{margin-bottom:26px;max-width:900px}.inner-prose{max-width:890px}.inner-prose p{margin-bottom:18px;font-size:16px;line-height:1.8}.inner-prose p:last-child{margin-bottom:0}.inner-tint{background:linear-gradient(130deg,#fbf9f4,#f0eae0)}.inner-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.inner-cards article{padding:25px;background:#fff;border:1px solid rgba(120,87,46,.16);box-shadow:0 8px 24px rgba(45,36,24,.045)}.inner-cards h3{font-size:25px;margin-bottom:15px}.inner-cards p{font-size:15px;line-height:1.7}.inner-cards a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:var(--bronze);margin-top:14px}.inner-two{display:grid;grid-template-columns:1fr 1fr;gap:45px}.inner-two h3{margin-bottom:17px;font-size:27px}.inner-two p{font-size:16px;line-height:1.8;margin-bottom:17px}.inner-two a{color:var(--bronze);min-height:44px;display:inline-flex;align-items:center}.inner-feature{display:grid;grid-template-columns:1fr 1fr;background:var(--cream)}.inner-feature img{height:100%;min-height:350px;box-shadow:14px 14px 0 rgba(120,87,46,.08)}.inner-feature>div{padding:40px 10.6%}.inner-feature h2{margin-bottom:23px}.inner-feature p:not(.eyebrow){margin-bottom:17px;font-size:16px;line-height:1.75}.inner-feature a{color:var(--bronze);display:inline-flex;align-items:center;min-height:44px}.inner-faq{max-width:950px}.inner-faq details{border-bottom:1px solid var(--line)}.inner-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:54px;padding:14px 0;font-size:16px}.inner-faq summary::-webkit-details-marker{display:none}.inner-faq summary>span{color:var(--bronze);font-size:24px}.inner-faq details[open] summary>span{transform:rotate(45deg)}.inner-faq details p{font-size:15px;line-height:1.75;padding-bottom:20px}
@media(max-width:1100px){.inner-page .breadcrumbs{position:static;top:auto;padding:14px 5%;max-height:none;display:flex;flex-direction:row}.inner-page .breadcrumbs a{padding:0;min-height:30px;font-size:12px}.inner-hero>div{padding:36px 10%}.inner-cards{grid-template-columns:1fr 1fr}}@media(max-width:800px){.inner-hero,.inner-feature{grid-template-columns:1fr}.inner-hero>div,.inner-feature>div{padding:34px 5%}.inner-hero>img{height:310px;min-height:0}.inner-feature img{height:300px;min-height:0}.inner-two{grid-template-columns:1fr;gap:20px}.inner-feature img{box-shadow:none}.inner-section{padding-top:34px;padding-bottom:34px}}@media(max-width:520px){.inner-cards{grid-template-columns:1fr}.inner-hero h1{font-size:38px}.inner-hero>img{height:250px}.inner-actions{gap:12px}.inner-actions .button{padding-left:20px;padding-right:20px}.inner-cards article{padding:22px}.inner-page .breadcrumbs{font-size:11px;gap:7px}.inner-page .breadcrumbs a{font-size:11px}}
/* Grouped, compact services mega menu. */
.grouped-mega{left:5.3%;right:3%;padding:25px 28px 22px;max-height:calc(100dvh - 116px);overflow:auto}.grouped-mega .mega-top{align-items:center}.grouped-mega .mega-top .eyebrow{font-size:10px;margin-bottom:7px}.grouped-mega .mega-top h2{font-size:27px}.mega-columns{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:23px}.mega-group{min-width:0}.mega-group h3{font:21px/1.2 var(--serif);padding-bottom:14px;margin-bottom:7px;border-bottom:1px solid rgba(120,87,46,.23);color:var(--ink)}.mega-group ul{list-style:none;margin:0;padding:0}.mega-group a{display:flex;align-items:center;min-height:44px;padding:9px 0;font:13px/1.5 var(--sans);text-decoration:none;color:var(--muted);overflow-wrap:break-word}.mega-group a:hover,.mega-group a:focus-visible{color:var(--bronze);text-decoration:underline;text-underline-offset:4px}.mega-bottom{display:flex;align-items:center;gap:24px;padding-top:19px;margin-top:20px;border-top:1px solid var(--line)}.mega-bottom>span{font-size:13px;color:var(--muted);margin-right:auto}.mega-bottom .phone-link{font-size:17px}.mega-bottom .button{white-space:nowrap}.grouped-mega .mega-top>button{flex:none;min-width:70px}@media(max-width:1100px){nav .grouped-mega{padding:20px 18px;max-height:none;overflow:visible}.mega-columns{grid-template-columns:1fr 1fr;gap:24px}.mega-group h3{font-size:21px}.mega-group a{font-size:14px;padding:12px 0}.grouped-mega .mega-top h2{font-size:23px}.mega-bottom{flex-wrap:wrap;gap:12px}.mega-bottom>span{flex-basis:100%}.mega-bottom .button{margin-top:0}}@media(max-width:520px){.mega-columns{grid-template-columns:1fr}.grouped-mega .mega-top{align-items:flex-start;gap:12px}.grouped-mega .mega-top h2{font-size:22px}.mega-group h3{padding-bottom:10px}.mega-bottom .phone-link{font-size:16px}}
/* Service-specific illustrative hero panels reuse the approved image set. */
.inner-service-photo{width:100%;min-height:410px;height:100%;background-image:url('/assets/services.webp');background-size:500% auto;background-repeat:no-repeat;background-color:var(--cream)}@media(max-width:800px){.inner-service-photo{height:310px;min-height:0}}@media(max-width:520px){.inner-service-photo{height:250px}}
/* Clearer balanced mega-menu service groups. */
.grouped-mega .mega-columns{gap:0}.grouped-mega .mega-group{padding:0 20px;border-right:1px solid rgba(120,87,46,.16)}.grouped-mega .mega-group:first-child{padding-left:0}.grouped-mega .mega-group:last-child{border-right:0;padding-right:0}.grouped-mega .mega-group h3{font-size:20px;line-height:1.25;min-height:65px;margin-bottom:5px;border-bottom:1px solid rgba(120,87,46,.24)}.grouped-mega .mega-group a{font-size:13px;line-height:1.5;min-height:48px;padding:11px 0}.grouped-mega .mega-top h2{font-size:25px}.grouped-mega{overscroll-behavior:contain}.grouped-mega .mega-group a:focus-visible{outline-offset:2px;background:rgba(120,87,46,.045)}@media(max-width:1100px){.grouped-mega .mega-columns{gap:24px}.grouped-mega .mega-group{padding:0;border:0}.grouped-mega .mega-group h3{min-height:0;padding-bottom:12px;font-size:21px}.grouped-mega .mega-group a{font-size:14px;min-height:46px}.grouped-mega .mega-top h2{font-size:23px}}@media(max-width:520px){.grouped-mega .mega-top h2{font-size:21px}}
/* One-view desktop mega menu: remove accumulated navigation padding. */
@media(min-width:1101px){
header nav .grouped-mega{padding:16px 22px 14px;max-height:none;overflow:visible;top:95px}
header nav .grouped-mega .mega-top{padding:0 0 12px;margin:0 0 13px;gap:18px}
header nav .grouped-mega .mega-top .eyebrow{margin-bottom:4px;font-size:10px}
header nav .grouped-mega .mega-top h2{font-size:23px;line-height:1.15}
header nav .grouped-mega .mega-top>button{min-height:36px;padding:7px 12px;font-size:12px}
header nav .grouped-mega .mega-group{padding-left:16px;padding-right:16px}
header nav .grouped-mega .mega-group:first-child{padding-left:0}
header nav .grouped-mega .mega-group:last-child{padding-right:0}
header nav .grouped-mega .mega-group h3{font-size:19px;line-height:1.2;min-height:48px;padding:0 0 9px;margin:0 0 4px}
header nav .grouped-mega .mega-group ul{margin:0;padding:0}
header nav .grouped-mega .mega-group a{font-size:13px;line-height:1.4;min-height:36px;padding:7px 0}
header nav .grouped-mega .mega-bottom{margin-top:12px;padding-top:12px;gap:18px}
header nav .grouped-mega .mega-bottom>span{font-size:12px;line-height:1.4}
header nav .grouped-mega .mega-bottom .phone-link{font-size:16px;min-height:40px;padding:0}
header nav .grouped-mega .mega-bottom .button{min-height:40px;padding:9px 18px;font-size:13px}
}
@media(min-width:1101px) and (max-height:650px){
header nav .grouped-mega .mega-top .eyebrow{display:none}
header nav .grouped-mega .mega-top{padding-bottom:8px;margin-bottom:10px}
header nav .grouped-mega .mega-group h3{font-size:18px;min-height:44px;padding-bottom:7px}
header nav .grouped-mega .mega-group a{min-height:31px;padding:5px 0;font-size:13px}
header nav .grouped-mega .mega-bottom{margin-top:8px;padding-top:8px}
}

/* Front and composite door imagery, scoped to the requested page. */
.front-door-hero{object-position:50% 50%}.door-gallery-intro{max-width:820px;font-size:15px;line-height:1.7;color:var(--muted);margin-bottom:27px}.door-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.door-gallery figure{margin:0;background:#fff;box-shadow:0 7px 22px rgba(45,36,24,.06)}.door-gallery-photo{width:100%;aspect-ratio:1;background-image:url('/assets/front-door-gallery.webp');background-size:300% auto;background-repeat:no-repeat;background-color:var(--cream)}.door-gallery-photo-1{background-position:0% 50%}.door-gallery-photo-2{background-position:50% 50%}.door-gallery-photo-3{background-position:100% 50%}.door-gallery figcaption{padding:23px}.door-gallery h3{font-size:25px;margin-bottom:13px}.door-gallery figcaption p{font-size:14px;line-height:1.7;color:var(--muted)}@media(max-width:800px){.door-gallery{gap:16px}.door-gallery figcaption{padding:18px}.door-gallery h3{font-size:22px}}@media(max-width:600px){.door-gallery{grid-template-columns:1fr;gap:25px}.door-gallery-photo{aspect-ratio:1}.door-gallery h3{font-size:25px}}

/* Relevant service hero imagery; preserve complete paired compositions. */
.inner-hero>.topic-hero{object-position:center}.inner-hero>.paired-topic-hero{object-fit:contain;background:#eee8df}@media(max-width:800px){.inner-hero>.paired-topic-hero{height:auto;min-height:0;aspect-ratio:3/2;object-fit:contain}}
/* Separate the phone action from the desktop navigation links. */
@media(min-width:1101px){header nav>.phone-link{margin-left:24px}header nav{gap:10px}}
@media(min-width:1101px) and (max-width:1350px){header nav>.phone-link{margin-left:16px}header nav{gap:8px}}
/* Approved navigation readability increase. */
@media(min-width:1101px){header nav>a:not(.button):not(.phone-link),header nav>#services-toggle{font-size:15px;font-weight:500}header nav .grouped-mega .mega-group a{font-size:14px;line-height:1.4}}
/* Supporting service imagery sits with the relevant category content. */
.service-context-image{margin:0;background:#faf8f3}.service-context-image img{width:100%;height:auto;max-height:520px;object-fit:contain;background:var(--cream)}.service-context-image figcaption{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.5}.service-context-image{padding-top:16px;padding-bottom:26px}

/* Prominent TrustedLocal credit beneath the company details. */
.trustedlocal-credit{grid-column:1/-1;margin-top:8px;padding:24px 20px 8px;border-top:1px solid rgba(195,162,116,.36);position:relative;text-align:center;background:radial-gradient(ellipse at 50% 0,rgba(195,162,116,.09),transparent 70%)}.trustedlocal-credit::before{content:"";position:absolute;top:-1px;left:35%;right:35%;height:2px;background:linear-gradient(90deg,transparent,#c3a274,transparent);pointer-events:none}.trustedlocal-credit p{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;font:14px/1.8 var(--sans);color:#f2efe8}.trustedlocal-credit strong{font-weight:500}.credit-divider{color:#c3a274;display:inline-block;margin:0 7px}.credit-powered{font-size:13px;color:#d4c7b4}.trustedlocal-credit p>a{font-size:21px;font-weight:700;letter-spacing:-.4px;display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#d9bc90;text-decoration:none;text-underline-offset:5px}.trustedlocal-credit p>a:hover{text-decoration:underline;color:#f2efe8}.credit-arrow{font-size:17px;transition:transform .2s}.trustedlocal-credit p>a:hover .credit-arrow{transform:translate(2px,-2px)}@media(max-width:520px){.trustedlocal-credit{padding:20px 5px 8px}.trustedlocal-credit p{font-size:13px;gap:6px 9px}.trustedlocal-credit strong{flex-basis:100%;line-height:1.9}.credit-divider{margin:0 4px}.trustedlocal-credit p>a{font-size:21px}}@media(prefers-reduced-motion:reduce){.credit-arrow{transition:none}.trustedlocal-credit p>a:hover .credit-arrow{transform:none}}

.trustedlocal-credit .credit-brand{display:inline;white-space:nowrap}.trustedlocal-credit .credit-registered{font-size:.48em;font-weight:400;line-height:0;vertical-align:super;margin-left:1px;letter-spacing:0}

/* Accessible, fully clickable homepage service cards. */
.service-card-link{color:inherit;text-decoration:none}.service-card-link::after{content:"";position:absolute;inset:0;z-index:4;cursor:pointer}.service-card-link:focus-visible{outline:none}.service-card-link:focus-visible::after{outline:3px solid #245e91;outline-offset:-4px}.services-grid .service:focus-within{box-shadow:var(--premium-shadow);border-color:var(--bronze)}@media(hover:hover) and (pointer:fine){.services-grid .service:hover{box-shadow:var(--premium-shadow);border-color:var(--bronze);z-index:2}.services-grid .service:hover::after{transform:scaleY(1)}.service-card-link:hover{color:var(--bronze)}}

/* Direct email enquiries */
.footer-quote .email-link{font-size:14px;overflow-wrap:anywhere;line-height:1.6}.contact-email{overflow-wrap:anywhere}.email-link:focus-visible{outline:2px solid currentColor;outline-offset:4px}

/* Contextual service and regional navigation */
.seo-links{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px 24px;margin:18px 0 0}.seo-links li{max-width:100%}.seo-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--bronze);text-underline-offset:4px;line-height:1.55}.seo-links a:hover{text-decoration:underline}.seo-links a:focus-visible{outline:2px solid currentColor;outline-offset:3px}.inner-cards .seo-links{display:block;margin-top:0}.inner-cards .seo-links a{margin-top:0}.inner-cards .seo-links li+li{margin-top:5px}

/* Footer company introduction beneath the existing logo. */
.footer-company{min-width:0}.footer-company>.brand{color:inherit;text-decoration:none;line-height:normal}.footer-about{margin-top:26px;max-width:310px}.footer-about h2{font-size:16px;margin-bottom:12px;color:#fff}.footer-about p{font-size:13px;line-height:1.8;color:#d1d4cd}.footer-about>a{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:10px;font-size:13px;color:#e7d6ba;text-decoration:none}.footer-about>a:hover{text-decoration:underline}
.mega-group-toggle{display:none}
@media(max-width:800px){footer>.footer-company{grid-column:1/-1}.footer-about{max-width:580px}}
/* A single scrolling navigation surface, with service lists in document order. */
@media(max-width:1100px){
 body:has(#navigation.open){overflow:hidden}
 header #navigation{position:fixed;top:86px;left:0;right:0;bottom:calc(56px + env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 142px - env(safe-area-inset-bottom,0px));padding:12px 5% 24px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding:16px;background:#fff;align-items:stretch}
 header #navigation.open{display:flex;gap:0}
 header #navigation>*{flex-shrink:0}
 header #navigation>a:not(.button),header #navigation>#services-toggle{min-height:50px;padding:14px 0;font-size:16px;line-height:1.4;border-bottom:1px solid var(--line);text-align:left}
 header #navigation>#services-toggle{display:flex;align-items:center;justify-content:space-between;width:100%}
 header #navigation>#services-toggle[aria-expanded="true"]>span{transform:rotate(45deg)}
 header #navigation>.button{margin-top:14px;min-height:48px;text-align:center;justify-content:center}
 header #navigation .grouped-mega{position:static;inset:auto;display:block;width:100%;max-height:none;margin:0;padding:0 14px 10px;background:linear-gradient(120deg,#faf8f4,#f2efe8);border:0;border-radius:0;box-shadow:none;overflow:visible}
 header #navigation .grouped-mega .mega-top,header #navigation .grouped-mega .mega-bottom{display:none}
 header #navigation .grouped-mega .mega-columns{display:block}
 header #navigation .grouped-mega .mega-group{padding:0;border:0;border-bottom:1px solid rgba(120,87,46,.2)}
 header #navigation .grouped-mega .mega-group:last-child{border-bottom:0}
 header #navigation .grouped-mega .mega-group h3{padding:0;margin:0;border:0;min-height:0}
 header #navigation .mega-group-label{display:none}
 header #navigation .mega-group-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:54px;width:100%;padding:13px 0;border:0;background:transparent;color:var(--ink);font:18px/1.35 var(--serif);text-align:left}
 header #navigation .mega-group-symbol{font:22px/1 var(--sans);color:var(--bronze);flex:none}
 header #navigation .mega-group-toggle[aria-expanded="true"] .mega-group-symbol{transform:rotate(45deg)}
 header #navigation .grouped-mega .mega-group ul{padding:0 0 10px 12px;border-left:1px solid rgba(120,87,46,.3);margin:0 0 12px}
 header #navigation .grouped-mega .mega-group a{min-height:48px;padding:11px 8px;font:15px/1.5 var(--sans);color:var(--ink);white-space:normal;overflow-wrap:break-word}
 header #navigation .grouped-mega .mega-group a:active{background:rgba(120,87,46,.08)}
 header #navigation .mega-group-toggle:focus-visible{outline-offset:1px}
}

/* Pre-launch accessibility: comfortable compact navigation and footer targets. */
@media(max-width:1100px){
 footer>div:not(.footer-company):not(.footer-bottom):not(.trustedlocal-credit)>a{display:flex;align-items:center;min-height:44px;font-size:14px;line-height:1.5;padding-top:8px;padding-bottom:8px}
 footer .footer-quote .email-link{min-height:44px}
 footer .footer-quote .phone-link{font-size:18px}
 .footer-bottom a{display:inline-flex;align-items:center;min-height:44px}
 .inner-page .breadcrumbs>a{min-height:44px;font-size:13px}
 .footer-bottom{font-size:12px;line-height:1.7}
}

/* Embedded single enquiry form */
.jotform-embed{min-width:0;max-width:100%}.jotform-embed iframe{width:100%;max-width:100%;border:0}.jotform-embed .form-help{margin-top:16px}

.analytics-consent{position:fixed;bottom:80px;left:16px;right:16px;max-width:680px;max-height:65vh;overflow:auto;padding:24px;background:var(--cream);color:var(--ink);border:1px solid var(--line);box-shadow:0 6px 28px #0003;z-index:1000}.analytics-consent[hidden]{display:none}.analytics-consent h2{font-size:25px;margin-bottom:12px}.analytics-consent p{font-size:16px;margin-bottom:16px}.analytics-consent>div{display:flex;flex-wrap:wrap;gap:12px}.analytics-consent button{min-height:48px}.analytics-settings{background:none;border:0;color:inherit;text-decoration:underline;font:inherit;padding:12px;min-height:48px}

/* Embedded provider already supplies field padding. */
.jotform-embed{padding:12px}.jotform-embed .form-help{padding:0 12px}@media(max-width:520px){.jotform-embed{padding:0}}
.analytics-settings{background:none;border:0;color:inherit;text-decoration:underline;font:inherit;min-height:48px;padding:12px;cursor:pointer}
