@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');
:root{--ink:#263c39;--muted:#5e6b66;--cream:#f8f7f3;--warm:#eae8e0;--gold:#a58a62;--line:#d9ddd5;--sans:Manrope,'DM Sans',Arial,sans-serif;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}a{color:inherit}button{cursor:pointer}.shell{max-width:1440px;margin:0 auto;padding-left:clamp(22px,5vw,76px);padding-right:clamp(22px,5vw,76px)}.skip{position:absolute;left:10px;top:-100px;background:white;padding:10px;z-index:20}.skip:focus{top:10px}*:focus-visible{outline:2px solid #bd9161;outline-offset:3px}
.site-header{background:var(--cream);border-bottom:1px solid #e6e6df}.header-inner{min-height:94px;display:flex;align-items:center;gap:34px}.wordmark{display:flex;align-items:center;gap:14px;text-decoration:none;min-width:253px}.mark{font:bold 34px/1 var(--serif);letter-spacing:-3px}.mark span{color:var(--gold);font-weight:normal;font-size:27px}.brand-name{font-size:13px;font-weight:800;letter-spacing:.18em;line-height:1.25}.brand-name small{display:block;font-size:8px;font-weight:600;letter-spacing:.19em;color:#78817a;margin-top:5px}.site-header nav{display:flex;gap:33px;margin:auto}.site-header nav a,.header-cta{font-size:12px;font-weight:700;letter-spacing:.03em;text-decoration:none}.site-header nav a:hover,.text-link:hover,.footer a:hover{color:var(--gold)}.header-cta{background:var(--ink);color:white;padding:15px 21px;white-space:nowrap}.header-cta span{margin-left:15px;color:#dbc7a0}
.hero{padding-top:64px;display:grid;grid-template-columns:49% 51%;position:relative;min-height:695px}.hero-copy{padding:59px 8% 55px 0}.eyebrow{display:flex;align-items:center;gap:13px;font-size:10px;letter-spacing:.24em;font-weight:800;color:#907956}.eyebrow-line{display:inline-block;width:28px;height:1px;background:#af9368}.hero h1,h2{font-family:var(--serif);font-weight:normal;letter-spacing:-.057em}.hero h1{font-size:clamp(57px,5.4vw,90px);line-height:1.03;margin:33px 0 27px;max-width:660px}.hero h1 em,h2 em{font-weight:normal;color:var(--gold)}.hero-copy>p{font-size:14px;line-height:1.95;max-width:455px;color:#626d68;margin:0}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:35px;flex-wrap:wrap}.button{border:0;text-decoration:none;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:19px 23px;font-size:12px;font-weight:800;letter-spacing:.02em;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);background:#385650}.button-dark{background:var(--ink);color:white}.button span{color:#d9c39b;font-size:17px;font-weight:400}.text-link{font-size:11px;text-underline-offset:6px;font-weight:800;white-space:nowrap}.text-link span{margin-left:8px}.hero-detail{display:flex;gap:15px;align-items:center;margin-top:64px;font-size:11px;line-height:1.6;color:#717b74}.hero-detail strong{color:var(--ink);font-size:12px}.seal-icon{width:37px;height:37px;border:1px solid #bcae90;border-radius:50%;display:grid;place-items:center;font-size:20px;color:var(--gold)}.hero-visual{position:relative;min-height:575px;overflow:hidden;background:#d6d3c9}.hero-visual>img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,rgba(19,35,31,.42))}.photo-label{position:absolute;bottom:28px;left:30px;right:30px;display:flex;justify-content:flex-start;color:white;font-size:10px;font-weight:700;letter-spacing:.13em;z-index:1}.photo-phase{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;pointer-events:none;padding:12px 22px;border:1px solid rgba(255,255,255,.7);border-radius:4px;background:rgba(7,28,46,.78);box-shadow:0 8px 24px rgba(7,28,46,.25);backdrop-filter:blur(4px);color:#fff;font-size:clamp(20px,2.4vw,32px);font-weight:800;letter-spacing:.16em;line-height:1;text-transform:uppercase;white-space:nowrap}.hero-stamp{position:absolute;top:45px;left:28px;background:#fbfaf6;border:1px solid #eee8de;width:119px;height:119px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:9px;letter-spacing:.11em;font-weight:800;line-height:1.6;z-index:2;box-shadow:0 15px 35px #0001}.stamp-star{font-size:20px;color:var(--gold);line-height:1.1}.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;padding:22px 0 29px;font-size:9px;font-weight:800;letter-spacing:.15em;color:#829088}.tiny-star{color:var(--gold);margin:0 8px}
.services{background:#f0efe9;padding:96px 0 88px}.section-intro{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px}.section-intro h2,.estimate-intro h2{font-size:clamp(48px,4vw,67px);line-height:1.08;margin:20px 0 0}.section-intro>p{font-size:13px;line-height:1.9;color:#64716a;width:305px;margin-bottom:7px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{background:#fbfaf7}.card-image{height:clamp(210px,22vw,312px);position:relative;overflow:hidden;background:#ddd}.card-image img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.service-card:hover .card-image img{transform:scale(1.035)}.card-image span{position:absolute;left:20px;top:20px;background:#f7f7f2e8;padding:9px 12px;font-size:8px;font-weight:800;letter-spacing:.15em}.card-content{padding:24px 25px 26px}.card-content h3{font:normal 30px/1.1 var(--serif);letter-spacing:-.035em;margin:0 0 12px}.card-content p{font-size:11px;line-height:1.8;color:#69746d;min-height:60px;margin:0 0 18px}.service-pick{width:100%;display:flex;justify-content:space-between;background:none;border:0;border-top:1px solid var(--line);padding:18px 0 0;color:var(--ink);font-size:10px;font-weight:800;text-align:left}.service-pick:hover{color:var(--gold)}.service-pick span{font-size:17px;font-weight:400}.service-note{margin-top:28px;color:#69766d;font-size:11px}.service-note span{color:var(--gold);margin-right:8px}
.estimate-section{padding:104px 0 119px;background:#fbfaf7}.estimate-layout{display:grid;grid-template-columns:41% 59%;gap:7%;align-items:start;padding-right:calc(clamp(22px,5vw,76px) + 7%)}.estimate-intro{padding-top:27px}.estimate-intro h2{margin-bottom:24px}.estimate-intro>p{max-width:380px;font-size:13px;line-height:1.95;color:#66716b;margin-bottom:48px}.promise{display:flex;gap:20px;padding:19px 0;border-top:1px solid var(--line);font-size:11px;line-height:1.7;color:#6e7971;max-width:380px}.promise strong{font-size:12px;color:var(--ink)}.promise-number{color:var(--gold);font-size:11px;font-weight:800;margin-top:2px}.contact-box{margin-top:60px;display:flex;flex-direction:column;gap:11px}.contact-box>span{font-size:10px;letter-spacing:.2em;font-weight:800;color:var(--gold);margin-bottom:8px}.contact-box a{font:normal 24px var(--serif);text-decoration:none}.contact-box a:hover{color:var(--gold)}.contact-box small{font:700 10px var(--sans);color:#748079;margin-left:6px}.contact-box .email-link{font:700 12px var(--sans);margin-top:4px;text-decoration:underline;text-underline-offset:5px}.calculator{background:white;border:1px solid #e8e8df;box-shadow:0 25px 55px #263c390b;padding:29px 32px 35px}.calculator-top{display:flex;justify-content:space-between;border-bottom:1px solid #e3e5dd;padding-bottom:23px;margin-bottom:26px;color:#928067;font-size:9px;letter-spacing:.16em;font-weight:800}.service-fieldset{border:0;padding:0;margin:0}.service-fieldset legend,.form-row>label{font-size:13px;font-weight:800;margin-bottom:14px}.service-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.service-options label{position:relative;min-height:64px;display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #e4e6df;cursor:pointer;transition:border-color .2s,background .2s}.service-options label:has(input:checked){border-color:#506b5b;background:#f2f6ef}.service-options input{accent-color:#36584b;flex:none}.service-options label span{font-size:10px;line-height:1.35;font-weight:800}.service-options small{display:block;font-weight:600;color:#7f8a80;margin-top:4px;font-size:9px}.form-row{margin-top:27px}.form-row>label{display:flex;justify-content:space-between}.form-row>label span,.two-fields label span,.calculator>form>label span{font-size:9px;color:#929d94;font-weight:600}.input-wrap{position:relative}.input-wrap input{width:100%;height:53px;border:1px solid #dee2db;background:white;padding:0 68px 0 16px;color:var(--ink);border-radius:0}.input-wrap span{position:absolute;right:16px;top:20px;color:#839087;font-size:9px;font-weight:800;letter-spacing:.13em}.form-row>small{font-size:10px;line-height:1.5;color:#88938a;display:block;margin-top:7px}.form-row>.error{color:#ad493f;margin-top:4px}.error:empty{display:none}.result{background:#eaf0e9;margin-top:25px;display:flex;justify-content:space-between;padding:22px 24px;min-height:108px;align-items:center}.result div{display:flex;flex-direction:column;gap:6px}.result div span{color:#5b7665;font-size:9px;font-weight:800;letter-spacing:.14em}.result strong{font:normal 32px var(--serif);letter-spacing:-.02em}.result-symbol{font-size:30px;color:#a4b9a7}.fine-print{font-size:9px;line-height:1.7;color:#87928a;margin:13px 2px 0}.form-divider{height:1px;background:#e2e5dd;margin:28px 0}.request-heading h3{font:normal 25px var(--serif);margin:0 0 4px}.request-heading p{font-size:10px;color:#7f8b81;margin:0 0 20px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.two-fields label,.calculator>form>label{display:flex;justify-content:space-between;font-size:10px;font-weight:800;margin:0 0 7px}.two-fields input,.calculator textarea{width:100%;border:1px solid #dee2db;padding:12px 13px;outline:none;border-radius:0;color:var(--ink);background:white;font-size:11px}.two-fields input:focus,.calculator textarea:focus,.input-wrap input:focus{border-color:#708975;outline:1px solid #708975}.calculator>form>label{margin-top:17px}.calculator textarea{resize:vertical;min-height:80px}.prepare-button{width:100%;margin-top:20px}.prepared{margin-top:18px;border:1px solid #d8e2d8;background:#f5f8f2;padding:18px}.prepared-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.prepared-title strong{font:normal 22px var(--serif)}.prepared-title span{font-size:8px;color:#819080;font-weight:800;letter-spacing:.12em}.prepared pre{white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.6 var(--sans);color:#3c5146;background:white;padding:14px;max-height:250px;overflow:auto}.prepared-actions{display:flex;gap:9px;flex-wrap:wrap}.prepared-actions button,.prepared-actions a{border:1px solid var(--ink);background:var(--ink);color:white;text-decoration:none;padding:11px 15px;font-size:10px;font-weight:800}.prepared-actions a{background:transparent;color:var(--ink)}.prepared-actions button:hover,.prepared-actions a:hover{opacity:.78}#copy-status{font-size:10px;color:#496e53;margin-bottom:0}
.footer{background:#263c39;color:#f9f8f4}.footer-main{padding-top:58px;padding-bottom:70px;display:flex;justify-content:space-between;gap:35px}.footer-brand{font:bold 32px var(--serif);letter-spacing:-.05em}.footer-brand i{font:800 15px var(--sans);letter-spacing:.12em;font-style:normal;margin-left:8px}.footer-main p{font:italic 17px var(--serif);color:#c1cfc2}.footer-links{display:flex;gap:24px;align-items:start;flex-wrap:wrap}.footer-links a{color:#e2e9dc;text-decoration:none;font-size:11px;font-weight:700}.footer-bottom{border-top:1px solid #ffffff29;padding-top:18px;padding-bottom:21px;display:flex;justify-content:space-between;gap:18px;color:#b0c0b3;font-size:9px;letter-spacing:.05em}
@media(max-width:1020px){.header-inner{gap:15px}.site-header nav{gap:15px}.wordmark{min-width:220px}.hero{min-height:610px}.hero-copy{padding-top:28px}.hero-visual{min-height:500px}.hero h1{font-size:clamp(52px,6vw,68px)}.hero-detail{margin-top:40px}.estimate-layout{grid-template-columns:39% 61%;gap:4%;padding-right:calc(clamp(22px,5vw,76px) + 4%)}.service-options{grid-template-columns:1fr}}
@media(max-width:720px){.header-inner{min-height:74px;gap:10px}.wordmark{min-width:0;gap:8px}.mark{font-size:30px}.brand-name{font-size:10px}.brand-name small{font-size:6px}.site-header nav{display:none}.header-cta{margin-left:auto;font-size:10px;padding:12px}.header-cta span{margin-left:4px}.hero{padding-top:30px;display:flex;flex-direction:column}.hero-copy{padding:26px 0 30px}.hero h1{font-size:clamp(54px,11vw,77px);margin:23px 0 18px;max-width:610px}.hero-copy>p{font-size:13px}.hero-actions{margin-top:26px;gap:20px}.hero-detail{margin-top:32px}.hero-visual{min-height:360px;height:58vw;max-height:520px;margin-left:17px}.hero-stamp{left:16px;top:24px;width:86px;height:86px;font-size:7px}.stamp-star{font-size:14px}.photo-label{font-size:8px;bottom:17px;left:17px;right:17px}.hero-foot{padding:18px 0 22px;font-size:8px}.services{padding:70px 0}.section-intro{display:block;margin-bottom:26px}.section-intro>p{width:auto;max-width:510px;margin-top:18px}.service-grid{grid-template-columns:1fr;gap:14px}.service-card{display:grid;grid-template-columns:42% 58%}.card-image{height:100%;min-height:195px}.card-content{padding:22px}.card-content h3{font-size:26px}.card-content p{min-height:0;margin-bottom:13px}.estimate-section{padding:70px 0}.estimate-layout{display:block;padding-right:clamp(22px,5vw,76px)}.estimate-intro{padding-top:0}.estimate-intro>p{margin-bottom:26px}.promise{max-width:none}.contact-box{margin:36px 0}.calculator{padding:24px}.service-options{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.header-cta{padding:10px;font-size:9px}.header-cta span{display:none}.brand-name{letter-spacing:.1em}.hero h1{font-size:56px}.hero-actions{align-items:flex-start;flex-direction:column;gap:23px}.hero-detail{margin-top:35px}.hero-visual{height:410px;min-height:0}.hero-foot span:last-child{display:none}.section-intro h2,.estimate-intro h2{font-size:49px}.service-card{display:block}.card-image{height:235px;min-height:0}.card-content{padding:23px}.card-content p{font-size:11px}.service-options{grid-template-columns:1fr}.service-options label{min-height:54px}.two-fields{grid-template-columns:1fr}.calculator{padding:21px 18px}.calculator-top{font-size:8px}.result strong{font-size:30px}.footer-main{display:block;padding-bottom:38px}.footer-links{margin-top:30px;gap:18px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card-image img,.button{transition:none}}

/* P&R identity: the supplied full-color company mark and name. */
:root{--ink:#102c44;--muted:#526777;--cream:#f5f8fb;--warm:#e9f0f5;--gold:#087bbc;--line:#d8e3ec}
.site-header{background:#fff;border-bottom-color:#dce9f0}.header-inner{min-height:142px}
.wordmark{min-width:194px;display:block;line-height:0}.full-brand-logo{display:block;width:194px;height:auto}
.header-cta,.button-dark,.prepared-actions button{background:#073d66}.header-cta span,.button span{color:#94d9ff}.button:hover{background:#075b91}
.hero h1 em,h2 em{color:#087bbc}.eyebrow{color:#1573a3}.eyebrow-line{background:#1573a3}.hero-detail .seal-icon{color:#0891c8;border-color:#81c5e6}
.hero-stamp{border-color:#b8d8e8}.footer{background:#071c2e}.footer-full-logo{display:block;width:230px;height:auto}.footer-main p{color:#d0e2ec}
.footer-links a:hover{color:#91d5f4}.contact-box .email-link:hover{color:#087bbc}
@media(max-width:720px){.header-inner{min-height:104px}.wordmark{min-width:132px}.full-brand-logo{width:132px}.header-cta{margin-left:auto}}
@media(max-width:380px){.header-inner{min-height:95px}.wordmark{min-width:119px}.full-brand-logo{width:119px}.header-cta{font-size:8px;padding:9px}}
.full-field{margin-top:17px}.contact-fields{margin-top:17px}
.request-heading+.full-field{margin-top:0}
.full-field label{display:flex;justify-content:space-between;font-size:10px;font-weight:800;margin:0 0 7px}.full-field label span{font-size:9px;color:#929d94;font-weight:600}
.full-field input{width:100%;border:1px solid #dee2db;padding:12px 13px;border-radius:0;color:var(--ink);background:#fff;font-size:11px}
.full-field input:focus{border-color:#708975;outline:1px solid #708975}
.gallery-arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:48px;height:48px;border:1px solid #ffffffb0;border-radius:50%;background:#071c2eaa;color:#fff;font:normal 38px/1 var(--serif);display:grid;place-items:center;padding:0 0 5px;backdrop-filter:blur(5px);transition:background .2s,transform .2s}
.gallery-arrow:hover{background:#071c2eea;transform:translateY(-50%) scale(1.06)}.gallery-prev{left:18px}.gallery-next{right:18px}
.hero-visual:focus-visible{outline:3px solid #087bbc;outline-offset:3px}
@media(max-width:720px){.gallery-arrow{width:44px;height:44px;font-size:34px}.gallery-prev{left:11px}.gallery-next{right:11px}.photo-label{padding-right:3px}}
@media(prefers-reduced-motion:reduce){.gallery-arrow{transition:none}}
.tile-gallery:focus-visible{outline:3px solid #087bbc;outline-offset:3px}
.card-gallery-arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:40px;height:40px;border:1px solid #ffffffb0;border-radius:50%;background:#071c2eaa;color:#fff;font:normal 31px/1 var(--serif);display:grid;place-items:center;padding:0 0 4px;backdrop-filter:blur(4px)}
.card-gallery-arrow:hover{background:#071c2eea}.card-gallery-prev{left:12px}.card-gallery-next{right:12px}
.card-gallery-count{position:absolute;z-index:2;right:15px;bottom:15px;padding:7px 10px;background:#071c2ebb;color:#fff;font-size:10px;font-weight:800;letter-spacing:.12em}
@media(max-width:720px){.card-gallery-arrow{width:42px;height:42px}}
.paver-gallery:focus-visible{outline:3px solid #087bbc;outline-offset:3px}
.card-gallery-phase{position:absolute;z-index:2;left:15px;bottom:15px;padding:7px 10px;background:#fffef0e8;color:#102c44;font-size:10px;font-weight:800;letter-spacing:.12em}
.counter-gallery:focus-visible{outline:3px solid #087bbc;outline-offset:3px}
.email-help{position:fixed;z-index:50;right:20px;bottom:20px;width:min(370px,calc(100vw - 40px));padding:20px;background:#fff;color:var(--ink);border:1px solid #d8e2d8;box-shadow:0 15px 55px #172d2850;font-size:12px}.email-help[hidden]{display:none}.email-help strong{font:normal 23px var(--serif)}.email-help p{line-height:1.5;color:#56665d;margin:9px 24px 16px 0}.email-help-actions{display:flex;gap:9px;flex-wrap:wrap}.email-help-actions a,.email-help-actions button{background:var(--ink);border:1px solid var(--ink);color:#fff;padding:10px 12px;text-decoration:none;font:700 11px var(--sans);cursor:pointer}.email-help-actions button{background:white;color:var(--ink)}.email-help-close{position:absolute;top:9px;right:12px;border:0;background:none;color:var(--ink);font-size:24px;cursor:pointer}.email-help small{display:block;min-height:16px;margin-top:9px;color:#496e53}
/* Centered brand navigation stays in view while the page scrolls. */
.site-header{position:sticky;top:0;z-index:100;background:#050505;border-bottom:1px solid #273238;color:#f6f8fb}.header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:20px;min-height:148px}.header-note{margin:0;max-width:245px;color:#c9d2da;font-size:11px;line-height:1.55;letter-spacing:.02em}.site-header nav.header-center{display:grid;grid-template-columns:100px 194px 100px;align-items:center;gap:14px;margin:0}.header-center .header-nav-link{text-align:center;min-width:0;line-height:1.15;color:#f6f8fb;font-size:11px;font-weight:800;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.header-center .header-nav-link:hover{color:#86cafa}.header-center .wordmark{min-width:0;justify-self:center}.header-center .full-brand-logo{width:194px;max-height:138px;object-fit:contain}.header-cta{justify-self:end;margin:0;background:#07446f;border:1px solid #2575a5}.header-cta:hover{background:#0a669c}#top,#services,#estimate,#faqs{scroll-margin-top:160px}
@media(max-width:1050px){.site-header nav.header-center{grid-template-columns:68px 150px 68px;gap:8px}.header-center .full-brand-logo{width:150px}.header-note{font-size:10px;max-width:190px}.header-cta{padding:12px;font-size:10px}.header-cta span{margin-left:5px}}
@media(max-width:720px){.header-inner{min-height:0;padding-top:9px;padding-bottom:10px;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px}.site-header nav.header-center{display:grid;grid-column:1/-1;grid-row:1;grid-template-columns:minmax(68px,1fr) minmax(115px,145px) minmax(68px,1fr);gap:5px;width:100%}.header-center .full-brand-logo{width:min(145px,100%);max-height:104px}.header-center .header-nav-link{font-size:10px}.header-note{grid-column:1;grid-row:2;max-width:270px;font-size:9px;line-height:1.35}.header-cta{grid-column:2;grid-row:2;align-self:center;white-space:nowrap;font-size:9px;padding:9px 10px}#top,#services,#estimate,#faqs{scroll-margin-top:155px}}
@media(max-width:380px){.header-center .header-nav-link{font-size:9px}.header-note{font-size:8px}.header-cta{font-size:8px;padding:8px}.header-cta span{margin-left:3px}}
.site-header{background:#071c2e;border-bottom-color:#173750}.site-header .header-cta{background:#e2b95f;border-color:#e2b95f;color:#071c2e}.site-header .header-cta span{color:#071c2e}.site-header .header-cta:hover{background:#f2cc7a;border-color:#f2cc7a}
.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:205px}.footer-links a{display:inline-flex;align-items:center;gap:12px;font-size:12px;line-height:1.3}.footer-links img,.footer-links svg{display:block;flex:none;width:20px;height:20px}.footer-links svg{color:#bfe3f5}
.header-note strong{display:block;color:#fff;font-size:14px;font-weight:800;line-height:1.2;letter-spacing:.01em}.header-note span{display:block;margin-top:6px;font-size:10px;line-height:1.45}.site-header .header-cta{background:#fff;border-color:#fff;color:#57636e}.site-header .header-cta span{color:#57636e}.site-header .header-cta:hover{background:#e9f0f5;border-color:#e9f0f5;color:#263d50}
.video-section{padding:96px 0 92px;background:#f6f8f9}.video-intro{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:34px}.video-intro h2{font-size:clamp(48px,4vw,67px);line-height:1.07;margin:20px 0 0}.video-intro p{max-width:310px;color:#647584;font-size:13px;line-height:1.8;margin:0 0 5px}.video-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.video-preview{position:relative;height:clamp(220px,23vw,320px);overflow:hidden;background:#173750}.video-preview img{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(.78) saturate(.95)}.video-preview:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#071c2ed9)}.video-preview-caption{position:absolute;z-index:1;left:24px;right:20px;bottom:23px;color:#fff}.video-preview-caption span{color:#b7d8e9;font-size:9px;font-weight:800;letter-spacing:.13em}.video-preview-caption h3{font:normal 29px/1.1 var(--serif);margin:8px 0 0}.video-gallery-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:25px}.video-gallery-foot p{font-size:11px;color:#627584;line-height:1.6;margin:0}.video-gallery-foot>div{display:flex;gap:20px;flex-wrap:wrap}.video-gallery-foot a{font-size:11px;font-weight:800;text-underline-offset:5px;color:#075b91;white-space:nowrap}
@media(max-width:1050px){.header-note strong{font-size:12px}.header-note span{font-size:9px}}
@media(max-width:720px){.header-note strong{font-size:11px}.header-note span{font-size:9px;margin-top:3px}.video-section{padding:70px 0}.video-intro{display:block}.video-intro p{max-width:520px;margin:16px 0 0}.video-gallery-grid{grid-template-columns:1fr;gap:14px}.video-preview{height:260px}.video-gallery-foot{align-items:flex-start;flex-direction:column}}
@media(max-width:380px){.header-note strong{font-size:10px}.header-note span{font-size:8px}}
.footer-main{padding-top:34px;padding-bottom:32px}.footer-links{gap:11px}.footer-bottom{padding-top:12px;padding-bottom:12px}
@media(max-width:480px){.footer-main{padding-top:28px;padding-bottom:28px}.footer-links{margin-top:18px;gap:11px}}
.video-gallery{position:relative;max-width:1080px;margin:auto;background:#071c2e;aspect-ratio:16/9;box-shadow:0 18px 42px #071c2e20}.video-gallery video{display:block;width:100%;height:100%;object-fit:contain}.video-gallery-arrow{position:absolute;top:50%;z-index:2;transform:translateY(-50%);width:45px;height:45px;border:1px solid #ffffffb0;border-radius:50%;background:#071c2ebb;color:white;font:normal 36px/1 var(--serif);padding:0 0 5px}.video-gallery-prev{left:16px}.video-gallery-next{right:16px}.video-gallery-arrow:not(:disabled):hover{background:#071c2e}.video-gallery-arrow:disabled{opacity:.42;cursor:default}.video-gallery:focus-visible{outline:3px solid #087bbc;outline-offset:3px}.video-gallery-foot{max-width:1080px;margin:auto}.video-gallery-foot h3{font:normal 24px/1.2 var(--serif);color:#102c44;margin:6px 0 0}.video-gallery-count{color:#087bbc;font-size:10px;font-weight:800;letter-spacing:.14em}.video-gallery-foot p{margin-left:auto}
@media(max-width:720px){.video-gallery-arrow{width:37px;height:37px;font-size:29px}.video-gallery-prev{left:8px}.video-gallery-next{right:8px}.video-gallery-foot p{margin-left:0}}
.header-actions{justify-self:end;display:flex;align-items:flex-end;flex-direction:column;gap:10px}.header-actions .header-cta{margin:0}.header-language{display:flex;align-items:center;gap:7px;color:#8faec1;font-size:10px;font-weight:700}.header-language a{text-decoration:none;border:0;background:none;padding:3px 0;color:#b2c7d3;font:inherit;cursor:pointer}.header-language a:hover,.header-language a[aria-current="true"]{color:#fff;text-decoration:underline;text-underline-offset:4px}
@media(max-width:720px){.header-actions{grid-column:2;grid-row:2;align-self:center;gap:5px}.header-language{font-size:9px;gap:5px}}
@media(max-width:380px){.header-language{font-size:8px}}
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:40;display:inline-flex;align-items:center;gap:10px;padding:13px 17px;background:#25d366;color:#062d1b;border-radius:999px;box-shadow:0 10px 30px #071c2e4d;text-decoration:none;font-size:12px;font-weight:800;white-space:nowrap;transition:transform .2s,background .2s}.whatsapp-float:hover{transform:translateY(-3px);background:#49df7e}.whatsapp-float img{display:block;flex:none;width:22px;height:22px}
@media(max-width:720px){.whatsapp-float{right:14px;bottom:14px;padding:11px 14px}}
@media(prefers-reduced-motion:reduce){.whatsapp-float{transition:none}}
.whatsapp-float{border:0;cursor:pointer;font-family:var(--sans)}.whatsapp-panel{position:fixed;right:22px;bottom:82px;z-index:41;width:min(345px,calc(100vw - 28px));padding:0 20px 20px;background:#fff;color:#102c44;box-shadow:0 15px 55px #071c2e55;border:1px solid #d8e3ec}.whatsapp-panel[hidden]{display:none}.whatsapp-panel-heading{display:flex;justify-content:space-between;gap:12px;align-items:start;margin:0 -20px;padding:17px 20px;background:#075e43;color:#fff}.whatsapp-panel-heading strong{display:block;font-size:15px}.whatsapp-panel-heading small{display:block;margin-top:5px;color:#dbf4e6;font-size:10px}.whatsapp-panel-heading button{border:0;background:transparent;color:#fff;font-size:26px;line-height:1;cursor:pointer}.whatsapp-panel p{font-size:11px;line-height:1.6;color:#526777;margin:17px 0}.whatsapp-panel label{display:block;font-size:11px;font-weight:800;margin-bottom:7px}.whatsapp-panel textarea{display:block;width:100%;padding:11px;border:1px solid #ccdcd2;border-radius:4px;font-size:12px;resize:vertical;min-height:78px}.whatsapp-panel-start{display:block;margin-top:13px;padding:12px;background:#25d366;color:#062d1b;text-align:center;text-decoration:none;font-size:12px;font-weight:800}.whatsapp-panel-start:hover{background:#49df7e}
@media(max-width:720px){.whatsapp-panel{right:14px;bottom:72px}}
.header-note span+span{margin-top:2px;color:#d6e5ec}
/* Customer-provided Facebook recommendation screenshots, repeated for a seamless loop. */
.facebook-recommendations{padding:80px 0 88px;background:#fff;border-top:1px solid #dce6ec;overflow:hidden}
.reviews-intro{margin-bottom:34px}.reviews-intro h2{font:normal clamp(42px,4.2vw,62px)/1.08 var(--serif);letter-spacing:-.035em;color:#102c44;margin:18px 0 10px}.reviews-intro p{font-size:14px;line-height:1.6;color:#526777;margin:0}
.reviews-viewport{overflow:hidden;max-width:100%;mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent)}
.reviews-track{display:flex;width:max-content;animation:reviews-loop 92s linear infinite;will-change:transform}
.reviews-set{display:flex;align-items:center;gap:18px;padding-right:18px;flex:none}
.reviews-set img{display:block;flex:none;width:clamp(340px,54vw,660px);height:auto;max-height:340px;object-fit:contain;background:#fff;border:1px solid #e1e9ee;border-radius:14px;box-shadow:0 12px 28px #092c4312}
.reviews-viewport:hover .reviews-track,.reviews-viewport:focus-within .reviews-track{animation-play-state:paused}
@keyframes reviews-loop{to{transform:translateX(-50%)}}
@media(max-width:720px){.facebook-recommendations{padding:66px 0 70px}.reviews-intro{margin-bottom:26px}.reviews-set{gap:12px;padding-right:12px}.reviews-set img{width:88vw;max-height:none;border-radius:10px}.reviews-viewport{mask-image:none}}
@media(prefers-reduced-motion:reduce){.reviews-viewport{overflow-x:auto;mask-image:none}.reviews-track{animation:none;will-change:auto}.reviews-set[aria-hidden="true"]{display:none}}
.faq-section{padding:88px 0 96px;background:#eaf1f5;border-top:1px solid #d6e3eb}
.faq-layout{display:grid;grid-template-columns:minmax(240px,34%) minmax(0,1fr);gap:clamp(35px,6vw,90px);align-items:start}
.faq-intro{position:sticky;top:180px}.faq-intro h2{font:normal clamp(42px,4.2vw,62px)/1.08 var(--serif);letter-spacing:-.035em;color:#102c44;margin:22px 0 18px}.faq-intro p{max-width:330px;color:#526777;font-size:15px;line-height:1.7;margin:0}
.faq-list{border-top:1px solid #b9cdd9}.faq-list details{border-bottom:1px solid #b9cdd9;background:transparent}.faq-list summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:22px;padding:22px 6px;color:#102c44;font-size:17px;font-weight:700;line-height:1.4;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';flex:none;display:grid;place-items:center;width:30px;height:30px;border:1px solid #9bb9ca;border-radius:50%;color:#087bbc;font-size:22px;font-weight:400;line-height:1}.faq-list details[open] summary:after{content:'−'}.faq-list summary:hover{color:#087bbc}.faq-list summary:focus-visible{outline:3px solid #087bbc;outline-offset:3px}.faq-list p{color:#526777;font-size:15px;line-height:1.75;margin:0;padding:0 50px 24px 6px}
#faqs{scroll-margin-top:160px}
@media(max-width:800px){.faq-section{padding:68px 0 74px}.faq-layout{display:block}.faq-intro{position:static;margin-bottom:32px}.faq-intro h2{max-width:550px}.faq-intro p{max-width:600px}}
@media(max-width:480px){.faq-section{padding:58px 0 64px}.faq-intro h2{font-size:44px}.faq-list summary{font-size:16px;padding:20px 2px}.faq-list p{font-size:14px;padding:0 14px 22px 2px}}

/* Compact service-area panel for local search visibility */
.coverage-section { background: #f5f8fb; padding: clamp(36px, 5vw, 76px) 0; }
.coverage-inner { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.2fr); align-items: center; gap: clamp(20px, 5vw, 76px); }
.coverage-head h2 { margin: 12px 0 0; font-size: clamp(1.75rem, 3vw, 2.7rem); line-height: 1.16; letter-spacing: -.025em; }
.coverage-description { margin: 0; font-size: clamp(.96rem, 1.35vw, 1.12rem); line-height: 1.85; }
@media (max-width: 760px) { .coverage-inner { grid-template-columns: 1fr; gap: 14px; } }
.pr-quote-extras{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0 22px}.pr-quote-extras .full-field{margin:0;min-width:0}.pr-quote-extras input{width:100%;min-height:45px;padding:10px;border:1px solid #dee2db;background:#fff;color:var(--ink);font:inherit}.pr-quote-extras input[type=file]{font-size:11px}.pr-quote-extras input[type=file]::file-selector-button{background:#eff3ee;border:1px solid #789188;padding:8px;cursor:pointer}.pr-quote-extras small{display:block;font-size:10px;color:var(--muted);line-height:1.5;margin-top:6px}.pr-quote-extras small.error{color:#a13d33}@media(max-width:720px){.pr-quote-extras{grid-template-columns:1fr}}

/* Quote request contact validation: original layout retained */
.quote-contact-note{font-size:13px;color:#526777;line-height:1.65;margin:10px 0 4px}
#quote-contact-error{display:block;min-height:1.1em;margin:2px 0 8px;font-size:12px}

