/*
Theme Name: Coastal Exterior Bespoke
Description: Complete bespoke website for The Coastal Exterior Co.
Version: 3.3.2
Requires at least: 6.5
Requires PHP: 8.1
*/
:root{--navy:#13132a;--ink:#13132a;--muted:#606977;--teal:#13132a;--mint:#f4f4f7;--paper:#f4f4f7;--line:#dce1e5;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#fff;color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}h1,h2,h3,p{margin:0 0 1rem}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:1.08}h1{font-size:clamp(3rem,5.4vw,5.65rem)}h2{font-size:clamp(2.2rem,3.5vw,3.8rem)}h3{line-height:1.3;font-weight:600}h1 em,h2 em{font-weight:400;color:var(--teal)}a{color:inherit;text-underline-offset:5px}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #666682;outline-offset:5px}.container{width:min(1280px,100%);margin:auto;padding:0 2.5rem}.topbar{background:var(--navy);color:#e8ebf0;font-size:.85rem;letter-spacing:.025em;padding:.5rem 0}.topbar .container{display:flex;justify-content:space-between}.topbar a{text-decoration:none}.site-header{position:sticky;top:0;z-index:20;background:#fffffff5;backdrop-filter:blur(14px);border-bottom:1px solid #e0e5e9}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:104px;gap:2rem}.brand{display:block;flex-shrink:0}.brand img{width:130px;height:85px;object-fit:contain;display:block;filter:brightness(0)}.nav{display:flex;align-items:center;gap:2.2rem}.nav>a,.nav-group>a{font-size:.95rem;text-decoration:none;white-space:nowrap}.nav-group{position:relative;padding:1rem 0}.nav-group>a:after{content:'⌄';margin-left:.4rem;color:var(--teal)}.nav-drop{position:absolute;top:100%;left:-1rem;display:none;width:265px;background:white;box-shadow:0 15px 40px #13132a20;padding:1rem;border:1px solid var(--line)}.nav-group:hover .nav-drop,.nav-group:focus-within .nav-drop{display:block}.nav-drop a{display:block;padding:.6rem .5rem;text-decoration:none;font-size:.95rem}.nav-drop a:hover{background:var(--paper)}.nav li{list-style:none}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:center;padding:1.05rem 1.55rem;border-radius:2px;background:var(--teal);color:white;border:1px solid var(--teal);text-decoration:none;font-size:.95rem;font-weight:600;line-height:1.35;transition:background .2s,border-color .2s}.button:hover{background:#24243d;border-color:#24243d}.button.secondary{background:transparent;color:var(--ink);border-color:#abb4be}.button.secondary:hover{background:var(--paper)}.button-small{padding:.85rem 1.2rem!important;font-size:.9rem!important}.eyebrow{text-transform:uppercase;font-size:.78rem;letter-spacing:.14em;font-weight:700;color:var(--teal);margin:0 0 1.5rem}.home-hero{position:relative;isolation:isolate;min-height:670px;display:flex;align-items:center;overflow:hidden;background:var(--paper)}.hero-image{position:absolute;inset:0 0 0 37%;z-index:-2}.hero-image img{height:100%;width:100%;object-fit:cover;object-position:60% center}.home-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f4f4f7 0%,#f4f4f7 29%,#f4f4f7f5 36%,#f4f4f790 49%,#f4f4f700 66%)}.hero-inner{padding-top:5rem;padding-bottom:6rem}.hero-copy{max-width:600px}.hero-copy h1{font-size:clamp(3.5rem,6.1vw,6.4rem);margin-bottom:1.75rem}.hero-copy>p:not(.eyebrow){max-width:445px;font-size:1.12rem;color:#626273;line-height:1.75}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-top:2rem}.hero-promise{display:flex;gap:.7rem;align-items:center;font-size:.86rem;color:#626273;margin-top:1.8rem}.promise-mark{display:grid;place-items:center;border:1px solid #c6c6d2;color:var(--teal);width:22px;height:22px;border-radius:50%}.hero-caption{position:absolute;right:2.5rem;bottom:2.5rem;display:flex;flex-direction:column;gap:.35rem;color:#fff;background:#13132abf;padding:1.2rem 1.5rem;backdrop-filter:blur(6px);border-left:2px solid #c6c6d2}.hero-caption span:first-child{font-size:.68rem;letter-spacing:.16em}.hero-caption span:last-child{font-family:var(--serif);font-size:1.3rem}.service-ribbon{background:var(--navy);color:#fff}.service-ribbon .container{display:grid;grid-template-columns:repeat(5,1fr)}.service-ribbon a{text-align:center;text-decoration:none;padding:1.15rem 1rem;font-size:.88rem;border-right:1px solid #ffffff20}.service-ribbon a:first-child{border-left:1px solid #ffffff20}.service-ribbon a:hover{background:#ffffff10}.section{padding:6rem 0}.section-heading{display:flex;justify-content:space-between;gap:3rem;align-items:flex-end;margin-bottom:3rem}.section-heading h2{margin-bottom:0;max-width:650px}.section-heading>p,.section-heading>div:last-child:not(:first-child){max-width:350px;color:var(--muted)}.section-heading .button{margin-top:.75rem}.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1.6rem}.service-card{grid-column:span 2;text-decoration:none;display:flex;flex-direction:column;background:white;border:1px solid var(--line);transition:box-shadow .25s,transform .25s}.service-card:nth-child(4),.service-card:nth-child(5){grid-column:span 3}.card-photo{position:relative;overflow:hidden;aspect-ratio:1.6}.card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.card-index{position:absolute;bottom:1rem;left:1rem;color:white;background:#13132add;padding:.3rem .7rem;font-size:.75rem;letter-spacing:.1em}.card-copy{padding:1.7rem 1.75rem 2rem;flex:1;display:flex;flex-direction:column}.card-copy h3{font-family:var(--serif);font-size:1.8rem;font-weight:400;letter-spacing:-.03em}.card-copy p{color:var(--muted);font-size:.95rem;line-height:1.75}.text-link{font-size:.9rem;font-weight:600;text-decoration:underline;text-underline-offset:6px}.card-copy .text-link{margin-top:auto;padding-top:.75rem;color:var(--teal)}.service-card:hover{box-shadow:0 10px 35px #13132a14;transform:translateY(-3px)}.service-card:hover img{transform:scale(1.03)}.why-section,.soft{background:var(--paper)}.editorial-split{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}.editorial-photo{position:relative;min-height:510px;height:100%}.editorial-photo img{position:absolute;width:100%;height:100%;object-fit:cover}.photo-note{position:absolute;bottom:2rem;right:-2rem;background:var(--navy);color:white;padding:1.7rem 2rem;font-family:var(--serif);font-size:1.45rem;box-shadow:0 8px 25px #13132a20}.lead,.intro-copy{font-size:1.15rem;color:var(--muted);line-height:1.8}.feature-list{list-style:none;padding:0;margin:2rem 0}.feature-list li{padding:1.1rem 0;border-top:1px solid var(--line)}.feature-list strong{display:block;font-size:1rem;margin-bottom:.3rem}.feature-list span{display:block;color:var(--muted);font-size:.96rem}.review-section{background:var(--navy);color:white;padding:5rem 0}.review-inner{max-width:1060px;text-align:center}.review-section .eyebrow{color:#c6c6d2}.review-section blockquote{font-family:var(--serif);font-size:clamp(1.8rem,3vw,3rem);line-height:1.35;font-weight:400;letter-spacing:-.015em;margin:0 0 2rem}.review-author{font-size:.9rem;color:white}.review-author span{color:#b5bfcc;font-size:.82rem}.area-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:2.5rem}.area-grid a{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--line);text-decoration:none}.area-grid a>span:first-child{font-size:1.08rem;font-family:var(--serif)}.area-label{font-size:.73rem;color:var(--muted)}.area-grid a:hover{color:var(--teal)}.area-grid a:hover .area-label{text-decoration:underline}.process-section{background:var(--paper)}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin-top:3rem}.process-grid>div{border-top:1px solid #aebdc5;padding-top:1.5rem}.step-no{font-family:var(--serif);font-size:2rem;color:var(--teal);display:block;margin-bottom:1.4rem}.process-grid h3{font-size:1.2rem}.process-grid p{color:var(--muted);font-size:.97rem}.cta-band{background:#f4f4f7;padding:4.5rem 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:3rem}.cta-inner h2{margin-bottom:0}.cta-inner>div:last-child{display:flex;flex-direction:column;align-items:center;gap:1rem}.cta-phone{font-size:.9rem;text-decoration:none;color:#626273}.site-footer{background:var(--navy);color:#c9d0da;padding:4.5rem 0 1.5rem}.footer-top{display:grid;grid-template-columns:1.1fr 1.1fr .85fr 1.3fr;gap:3rem}.site-footer .brand img{filter:none;width:150px;height:110px;margin-bottom:1rem}.footer-top h3{color:white;font-size:.93rem;margin-bottom:1.5rem}.footer-top a:not(.brand){display:block;font-size:.85rem;text-decoration:none;margin:.65rem 0}.footer-top a:hover{text-decoration:underline}.footer-top p{font-size:.9rem;margin-top:1rem}.email-link{overflow-wrap:anywhere}.footer-bottom{border-top:1px solid #ffffff22;padding-top:1.5rem;margin-top:3rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.78rem;flex-wrap:wrap}.preview-note{font-size:.72rem;color:#a8b5c3}.page-intro{background:var(--paper);padding:2.5rem 0 4.5rem}.page-intro h1{max-width:1050px;margin-bottom:1.5rem}.page-intro .intro-copy{max-width:700px}.breadcrumbs{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap;font-size:.8rem;color:var(--muted);margin-bottom:3rem}.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.split-small{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start}.split-small .button{margin-top:1rem}.service-hero{background:var(--paper);padding:2.5rem 0 4rem}.service-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.service-hero h1{font-size:clamp(2.8rem,4.5vw,4.8rem)}.location-heading{font-family:var(--serif);font-size:2.1rem;color:var(--teal);margin-bottom:1.75rem}.service-hero-photo{position:relative;aspect-ratio:1.1}.service-hero-photo img{width:100%;height:100%;object-fit:cover}.service-hero-photo>span{position:absolute;bottom:1.5rem;left:1.5rem;right:1.5rem;background:#13132adb;color:white;font-family:var(--serif);font-size:1.3rem;padding:1rem 1.25rem}.inclusion-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:6rem;align-items:start}.included-panel{padding:2.25rem;background:var(--paper);border-top:3px solid var(--teal)}.included-panel ul{list-style:none;padding:0;margin:0}.included-panel li{border-top:1px solid var(--line);padding:1rem 0;display:flex;align-items:center;gap:1rem;font-size:1rem}.included-panel li span{color:var(--teal)}.faq-grid{display:grid;grid-template-columns:.85fr 1.2fr;gap:6rem}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.4rem 0;font-weight:600;font-size:1rem}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:1.4rem;color:var(--teal);font-weight:400}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{color:var(--muted);font-size:.97rem;padding:0 2rem 1rem 0}.quote-section{background:var(--navy);color:white}.quote-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:5rem;align-items:start}.quote-section .eyebrow{color:#c6c6d2}.quote-section .lead{color:#c3cdd8}.contact-line{font-family:var(--serif);font-size:1.65rem;margin-top:2.5rem;line-height:1.5}.contact-line a{font-family:Arial,Helvetica,sans-serif;font-size:1.2rem}.quote-panel{padding:2.5rem;background:white;color:var(--ink);box-shadow:0 15px 55px #13132a0c;border:1px solid var(--line)}.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.contact-cards>a{border:1px solid var(--line);padding:2rem;text-decoration:none;display:flex;flex-direction:column}.contact-cards span{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);margin-bottom:1.5rem}.contact-cards strong{font-family:var(--serif);font-weight:400;font-size:1.6rem;overflow-wrap:anywhere;line-height:1.4;margin-bottom:1rem}.contact-cards p{color:var(--muted);font-size:.94rem;margin-top:auto}.prose{max-width:850px}.prose h3{margin-top:2rem}.form-preview{font-size:.75rem;color:var(--muted);border-top:1px solid var(--line);padding-top:1rem;margin-top:1.5rem}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:white;padding:1rem;z-index:100}.mobile-call{display:none}[hidden]{display:none!important}@media(min-width:1500px){.home-hero{min-height:740px}.hero-inner{padding-top:6rem;padding-bottom:7rem}}@media(max-width:1050px){.container{padding:0 2rem}.nav{gap:1.3rem}.nav>a,.nav-group>a{font-size:.86rem}.home-hero{min-height:610px}.hero-copy{max-width:480px}.hero-copy h1{font-size:5rem}.hero-copy>p:not(.eyebrow){max-width:390px}.home-hero:before{background:linear-gradient(90deg,#f4f4f7 0%,#f4f4f7f2 38%,#f4f4f760 65%,transparent)}.section{padding:4.5rem 0}.editorial-split,.split-small,.service-hero-grid,.inclusion-grid,.faq-grid,.quote-layout{gap:3rem}.footer-top{gap:1.5rem}.hero-caption{right:2rem;bottom:2rem}.area-grid{column-gap:1.75rem}.service-grid{gap:1.25rem}.card-copy{padding:1.3rem}.card-copy h3{font-size:1.6rem}}@media(max-width:800px){.header-inner{min-height:90px;flex-wrap:wrap;gap:0}.brand img{width:115px;height:75px}.menu-toggle{display:block;background:white;color:var(--ink);border:1px solid #b1bac2;border-radius:2px;padding:.55rem 1rem;font-size:.9rem}.nav{display:none;width:100%;flex-direction:column;align-items:stretch;padding:1rem 0 1.5rem;gap:1rem}.nav.open{display:flex}.nav>a,.nav-group>a{font-size:1rem}.nav-group{padding:0}.nav-drop{position:static;display:block;box-shadow:none;width:100%;border:0;border-left:1px solid var(--line);margin:.8rem 0 0 .3rem;padding:.3rem .8rem}.nav-drop a{font-size:.88rem}.home-hero{display:block;min-height:auto}.hero-image{inset:auto 0 0 0;height:380px}.home-hero:before{background:linear-gradient(180deg,#f4f4f7 0%,#f4f4f7 52%,#f4f4f700 73%)}.hero-inner{padding-top:3rem;padding-bottom:390px}.hero-copy{max-width:600px}.hero-copy h1{font-size:4.6rem}.hero-copy>p:not(.eyebrow){max-width:530px}.hero-caption{bottom:1.5rem;right:2rem;padding:1rem}.service-ribbon .container{padding:0;grid-template-columns:repeat(5,1fr)}.service-ribbon a{font-size:.77rem;padding:1rem .4rem}.section-heading{align-items:start;flex-direction:column;gap:1.5rem}.section-heading>p,.section-heading>div:last-child:not(:first-child){max-width:100%}.service-grid{grid-template-columns:1fr 1fr}.service-card,.service-card:nth-child(4),.service-card:nth-child(5){grid-column:auto}.service-card:last-child{grid-column:span 2}.editorial-split,.split-small,.service-hero-grid,.inclusion-grid,.faq-grid,.quote-layout{grid-template-columns:1fr;gap:2.5rem}.editorial-photo{min-height:420px}.photo-note{right:1rem;bottom:1rem}.area-grid{grid-template-columns:1fr 1fr}.process-grid{gap:1.5rem}.cta-inner{flex-direction:column;align-items:start;gap:2rem}.cta-inner>div:last-child{align-items:start}.footer-top{grid-template-columns:1fr 1fr;gap:3rem}.service-hero-photo{aspect-ratio:1.5}.contact-cards{grid-template-columns:1fr}.quote-panel{padding:2rem}.page-intro,.service-hero{padding-top:2rem}.page-intro h1{font-size:3.6rem}.page-intro .intro-copy{max-width:600px}}@media(max-width:520px){.container{padding:0 1.25rem}.topbar{font-size:.73rem}.hero-inner{padding-top:2.5rem;padding-bottom:340px}.hero-image{height:330px}.hero-copy h1{font-size:3.9rem}.hero-copy>p:not(.eyebrow){font-size:1rem;max-width:100%}.hero-actions{gap:.75rem}.hero-actions .button{font-size:.86rem;padding:.9rem 1.1rem}.hero-promise{font-size:.75rem}.hero-caption{right:1rem;bottom:1rem}.hero-caption span:last-child{font-size:1.15rem}.service-ribbon .container{display:flex;overflow:auto;justify-content:flex-start}.service-ribbon a{flex-shrink:0;padding:1rem}.section{padding:3.5rem 0}.section-heading{margin-bottom:2rem}.eyebrow{font-size:.7rem;letter-spacing:.12em;margin-bottom:1.1rem}h2{font-size:2.65rem}.service-grid{grid-template-columns:1fr}.service-card:last-child{grid-column:auto}.card-photo{aspect-ratio:1.75}.card-copy{padding:1.5rem}.card-copy h3{font-size:1.8rem}.editorial-photo{min-height:350px}.review-section{padding:3.5rem 0}.review-section blockquote{font-size:1.8rem}.review-author span{display:block;margin-top:.5rem}.area-grid{column-gap:1.2rem}.area-grid a{padding:1rem 0;display:block}.area-grid a>span:first-child{font-size:1.06rem}.area-label{display:block;font-size:.7rem;margin-top:.25rem}.process-grid{grid-template-columns:1fr;gap:1.5rem;margin-top:2rem}.step-no{margin-bottom:.8rem}.cta-band{padding:3rem 0}.footer-top{gap:2rem;grid-template-columns:1fr 1fr}.footer-top>div:first-child,.footer-top>div:last-child{grid-column:span 2}.site-footer{padding-top:3rem;padding-bottom:5rem}.footer-bottom{align-items:start;flex-direction:column;gap:.8rem}.page-intro{padding-bottom:3rem}.page-intro h1{font-size:3rem}.intro-copy,.lead{font-size:1.05rem}.breadcrumbs{font-size:.73rem;gap:.5rem;margin-bottom:2rem}.service-hero h1{font-size:3rem}.service-hero-photo{aspect-ratio:1.2}.service-hero-photo>span{left:1rem;right:1rem;bottom:1rem;font-size:1.1rem}.included-panel{padding:1.5rem}.quote-panel{padding:1.25rem}.mobile-call{display:block;position:fixed;right:1rem;bottom:1rem;z-index:18;background:var(--teal);color:white;text-decoration:none;padding:.75rem 1.1rem;font-size:.88rem;box-shadow:0 5px 25px #0003}.contact-cards>a{padding:1.5rem}.contact-cards strong{font-size:1.5rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Coastal v3 — modern property care */
:root{--navy:#13132a;--ink:#13132a;--muted:#626273;--teal:#13132a;--mint:#ffffff;--paper:#f4f4f7;--line:#dedee6;--serif:Arial,Helvetica,sans-serif}body{font-family:Arial,Helvetica,sans-serif;line-height:1.7}h1,h2,h3{font-family:Arial,Helvetica,sans-serif}h1,h2{font-weight:700;letter-spacing:-.045em;line-height:1.1}h1 em,h2 em{font-style:normal;color:var(--teal)}h2{font-size:clamp(2.2rem,3.2vw,3.3rem)}h3{font-weight:700}.container{max-width:1320px}.topbar{font-size:.78rem;letter-spacing:.015em;padding:.45rem 0}.header-inner{min-height:95px}.brand img{width:128px;height:77px}.nav{gap:2rem}.nav>a,.nav-group>a{font-size:.9rem;font-weight:600}.nav-drop{border-radius:12px;box-shadow:0 15px 50px #13132a20}.nav-drop a{border-radius:6px}.button{border-radius:7px;background:#13132a;border-color:#13132a;padding:1.1rem 1.5rem;font-size:.94rem;box-shadow:0 4px 12px #13132a0a}.button:hover{background:#24243d;border-color:#24243d}.button.secondary{border-color:#c1ccd1;color:var(--ink)}.eyebrow{font-size:.73rem;letter-spacing:.13em;color:#13132a;margin-bottom:1.3rem}.home-hero{min-height:660px;background:#13132a;color:#fff;display:block;isolation:isolate;overflow:hidden}.hero-image{position:absolute;inset:0;z-index:-2;height:100%}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 53%}.home-hero:before{position:absolute;inset:0;content:'';background:linear-gradient(90deg,#13132ae8 0%,#13132adc 27%,#13132a80 56%,#13132a18 84%);z-index:-1}.hero-inner{position:relative;min-height:660px;padding-top:6rem;padding-bottom:5rem;display:flex;justify-content:space-between;align-items:center;gap:4rem}.hero-copy{max-width:760px;flex:1}.hero-copy .eyebrow{color:#ffffff;font-size:.8rem}.hero-copy h1{font-size:clamp(3rem,4.8vw,4.8rem);color:white;line-height:1.06;letter-spacing:-.04em;margin-bottom:1.8rem}.hero-copy h1 span{color:#ffffff}.hero-copy>p:not(.eyebrow){color:#e4edf1;max-width:490px;font-size:1.07rem;line-height:1.8}.hero-actions{margin-top:2rem;gap:1rem}.home-hero .button{background:#ffffff;color:#13132a;border-color:#ffffff}.home-hero .button:hover{background:#ffffff;border-color:#ffffff}.home-hero .button.secondary{background:transparent;border-color:#ffffff70;color:white}.hero-promise{margin-top:1.8rem;display:flex;gap:1.4rem;flex-wrap:wrap;color:#f4f4f7;font-size:.82rem}.hero-quote-card{align-self:flex-end;width:305px;flex-shrink:0;background:#fffffff2;backdrop-filter:blur(12px);padding:2rem;border-radius:13px;color:var(--ink);box-shadow:0 15px 70px #0002;margin-bottom:.25rem}.hero-quote-card .eyebrow{font-size:.66rem;color:#13132a;letter-spacing:.1em;margin-bottom:1rem}.hero-quote-card h2{font-size:1.7rem;line-height:1.2;letter-spacing:-.035em;margin-bottom:1rem}.hero-quote-card>p:not(.eyebrow){font-size:.9rem;color:#626273;line-height:1.7;margin-bottom:1.5rem}.hero-quote-card .button{width:100%;background:#13132a;border-color:#13132a;color:white;padding:.9rem}.hero-card-phone{display:block;text-align:center;font-size:.74rem;text-decoration:none;color:#626273;margin-top:1rem}.trust-strip{background:#fff;border-bottom:1px solid var(--line)}.trust-strip .container{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;padding-top:1.5rem;padding-bottom:1.5rem}.trust-strip .container>div{display:flex;gap:1rem;align-items:center}.trust-icon{width:40px;height:40px;display:grid;place-items:center;background:#f4f4f7;border-radius:50%;font-size:1.2rem;color:#13132a;flex-shrink:0}.trust-strip p{margin:0}.trust-strip strong{display:block;font-size:.91rem;font-weight:650}.trust-strip p span{display:block;font-size:.81rem;color:var(--muted);margin-top:.1rem}.section{padding:5.5rem 0}.section-heading{margin-bottom:2.5rem;align-items:center}.section-heading>p,.section-heading>div:last-child:not(:first-child){font-size:.98rem;max-width:360px}.section-heading h2{max-width:740px}.service-grid{gap:1.6rem}.service-card{border:1px solid #e0e7ea;border-radius:14px;overflow:hidden;box-shadow:0 5px 20px #13132a06;transition:box-shadow .25s,transform .25s}.service-card:hover{box-shadow:0 12px 32px #13132a18}.card-photo{aspect-ratio:1.55}.card-photo img{object-position:center}.card-index{display:none}.card-copy{padding:1.6rem 1.7rem 1.8rem}.card-copy h3{font-family:Arial,Helvetica,sans-serif;font-size:1.25rem;font-weight:700;letter-spacing:-.025em}.card-copy p{font-size:.93rem;line-height:1.75}.card-copy .text-link{font-size:.83rem;text-decoration:none;display:block;border-top:1px solid var(--line);padding-top:1rem;margin-top:1rem;color:#13132a}.card-copy .text-link:after{content:'＋';float:right;font-size:1rem}.compact .service-card,.compact .service-card:nth-child(4),.compact .service-card:nth-child(5){grid-column:span 3}.why-section{background:#f4f4f7}.editorial-split{gap:5rem}.editorial-photo{min-height:490px;border-radius:18px;overflow:hidden}.editorial-photo img{border-radius:18px}.photo-note{right:1.5rem;bottom:1.5rem;background:#ffffffed;color:var(--ink);border-radius:10px;padding:1.2rem 1.5rem;font-family:Arial,Helvetica,sans-serif;font-size:1rem;font-weight:600;box-shadow:none}.feature-list li{position:relative;padding:1rem 0 1rem 1.75rem}.feature-list li:before{content:'✓';position:absolute;top:1rem;left:0;color:#13132a;font-weight:bold}.feature-list strong{font-size:.98rem}.feature-list span{font-size:.92rem}.review-section{background:#13132a;padding:4.5rem 0}.review-section blockquote{font-family:Arial,Helvetica,sans-serif;font-size:clamp(1.6rem,2.4vw,2.4rem);line-height:1.45;font-weight:500}.review-section .eyebrow{color:#ffffff}.review-author span{font-size:.85rem}.area-grid{grid-template-columns:repeat(3,1fr);gap:.8rem}.area-grid a{padding:1.1rem 1.2rem;border:1px solid var(--line);border-radius:8px;background:white;transition:background .2s,border-color .2s}.area-grid a:hover{background:#f4f4f7;border-color:#c6c6d2}.area-grid a>span:first-child{font-family:Arial,Helvetica,sans-serif;font-weight:600;font-size:.94rem}.area-label{font-size:.73rem}.process-section{background:#f4f4f7}.process-grid{gap:1.5rem}.process-grid>div{border:1px solid #dedee6;border-radius:12px;background:white;padding:2rem}.step-no{font-family:Arial,Helvetica,sans-serif;font-size:.85rem;font-weight:700;width:42px;height:42px;display:grid;place-items:center;background:#f4f4f7;border-radius:50%;margin-bottom:1.5rem}.process-grid h3{font-size:1.1rem;letter-spacing:-.02em}.process-grid p{font-size:.93rem}.cta-band{background:#13132a;color:#fff;padding:4rem 0}.cta-band .eyebrow{color:#ffffff}.cta-band .button{background:white;color:#13132a;border-color:white}.cta-band .cta-phone{color:#e9e9ef}.cta-inner h2{font-size:clamp(2.1rem,3.1vw,3.2rem)}.site-footer{background:#13132a}.footer-top h3{font-weight:700}.footer-top a:not(.brand){font-size:.86rem}.page-intro{background:linear-gradient(110deg,#f4f4f7,#fafafa);padding:2rem 0 4rem;border-bottom:1px solid #dedee6}.page-intro h1{font-size:clamp(2.6rem,4.6vw,4.2rem);font-weight:700;max-width:1050px}.page-intro h1 em{color:#13132a}.page-intro .intro-copy{max-width:720px;font-size:1.07rem}.breadcrumbs{font-size:.76rem;margin-bottom:2.5rem}.service-hero{background:#f4f4f7;padding:2rem 0 4.5rem}.service-hero-grid{gap:4rem}.service-hero h1{font-size:clamp(2.7rem,4.2vw,4.4rem);line-height:1.1;font-weight:700}.service-hero .intro-copy{font-size:1.06rem}.service-hero-photo{aspect-ratio:1.1;border-radius:18px;overflow:hidden;box-shadow:0 12px 35px #13132a12}.service-hero-photo img{object-position:center}.service-hero-photo>span{font-family:Arial,Helvetica,sans-serif;background:#fffffff0;color:var(--ink);font-weight:600;font-size:.97rem;border-radius:8px;left:1.2rem;right:1.2rem;bottom:1.2rem;padding:1rem}.location-heading{font-family:Arial,Helvetica,sans-serif;font-size:1.9rem;font-weight:500;color:#13132a;letter-spacing:-.035em}.included-panel{border-radius:12px;border:1px solid var(--line);border-top:3px solid #13132a;padding:2rem}.included-panel li{font-size:.97rem}.split-small,.inclusion-grid,.faq-grid,.quote-layout{gap:4rem}.lead{font-size:1.08rem}.faq-list details{border:1px solid var(--line);border-radius:9px;margin-bottom:.8rem;background:#fff}.faq-list details:first-child{border:1px solid var(--line)}.faq-list summary{padding:1.2rem 1.4rem;font-size:.94rem}.faq-list details p{padding:0 1.4rem 1rem;font-size:.94rem}.quote-section{background:#13132a}.quote-section h2{font-size:clamp(2.5rem,3.4vw,3.7rem)}.quote-section .eyebrow{color:#ffffff}.quote-panel{border-radius:15px;padding:2.3rem;box-shadow:0 12px 45px #13132a0d}.contact-line{font-family:Arial,Helvetica,sans-serif;font-size:1.3rem;font-weight:600}.contact-cards>a{border-radius:12px;background:#f9fbfc;padding:2rem}.contact-cards strong{font-family:Arial,Helvetica,sans-serif;font-size:1.3rem;font-weight:650;letter-spacing:-.02em}.contact-cards span{font-size:.73rem;font-weight:700}.contact-cards p{font-size:.91rem}.site-footer .brand img{filter:none}.prose{max-width:850px}.form-preview{font-size:.75rem!important}.mobile-call{border-radius:8px}@media(min-width:1500px){.home-hero,.hero-inner{min-height:700px}}@media(max-width:1100px){.hero-copy h1{font-size:3.7rem}.hero-quote-card{width:270px;padding:1.6rem}.hero-inner{gap:2rem}.hero-copy{max-width:600px}.hero-copy>p:not(.eyebrow){max-width:420px}.hero-quote-card h2{font-size:1.5rem}.hero-inner,.home-hero{min-height:620px}.nav{gap:1.3rem}.trust-strip .container{gap:1.3rem}.trust-strip strong{font-size:.84rem}.trust-strip p span{font-size:.76rem}.editorial-split{gap:3rem}}@media(max-width:800px){.home-hero,.hero-inner{min-height:auto}.hero-inner{display:block;padding-top:4rem;padding-bottom:4rem}.hero-image{inset:0;height:100%}.home-hero:before{background:linear-gradient(90deg,#13132aea,#13132a96 70%,#13132a65)}.hero-copy{max-width:650px}.hero-copy h1{font-size:4rem}.hero-copy>p:not(.eyebrow){max-width:520px}.hero-quote-card{display:none}.hero-promise{margin-top:1.5rem;gap:1rem}.trust-strip .container{grid-template-columns:1fr;gap:1.3rem;padding-top:1.5rem;padding-bottom:1.5rem}.trust-strip .container>div{gap:.8rem}.trust-strip strong{font-size:.92rem}.trust-strip p span{font-size:.81rem}.trust-icon{width:36px;height:36px}.service-hero-grid{gap:2.5rem}.service-hero-photo{aspect-ratio:1.5}.compact .service-card,.compact .service-card:nth-child(4),.compact .service-card:nth-child(5){grid-column:auto}.area-grid{grid-template-columns:1fr 1fr;gap:.75rem}.section{padding:4.5rem 0}.section-heading{gap:1.4rem}.editorial-split,.split-small,.inclusion-grid,.faq-grid,.quote-layout{gap:2.5rem}.editorial-photo{min-height:400px}.process-grid>div{padding:1.5rem}.page-intro h1{font-size:3.4rem}.header-inner{min-height:85px}.nav-drop{border-radius:0;box-shadow:none}.nav{gap:1rem}}@media(max-width:520px){.topbar .container>span{max-width:190px;font-size:.67rem;line-height:1.3}.topbar a{font-size:.7rem;white-space:nowrap;align-self:center}.brand img{width:110px;height:72px}.hero-inner{padding-top:3rem;padding-bottom:3rem}.hero-copy h1{font-size:2.8rem;line-height:1.1;letter-spacing:-.045em}.hero-copy .eyebrow{font-size:.67rem;margin-bottom:1.2rem}.hero-copy>p:not(.eyebrow){font-size:.98rem;line-height:1.75;color:#e9e9ef}.hero-actions{gap:.7rem;margin-top:1.5rem}.hero-actions .button{font-size:.83rem;padding:.9rem 1.1rem}.hero-promise{font-size:.72rem;gap:.8rem}.hero-image img{object-position:63% center}.home-hero:before{background:linear-gradient(90deg,#13132ae5,#13132aa3)}.section{padding:3.5rem 0}h2{font-size:2.1rem;letter-spacing:-.04em}.section-heading h2{font-size:2.1rem}.service-card:last-child{grid-column:auto}.card-copy{padding:1.4rem}.card-copy h3{font-size:1.22rem}.card-photo{aspect-ratio:1.55}.area-grid{gap:.6rem}.area-grid a{padding:1rem}.area-grid a>span:first-child{font-size:.87rem}.area-label{font-size:.67rem;margin-top:.15rem}.editorial-photo{min-height:330px}.photo-note{left:1rem;right:1rem;bottom:1rem;padding:1rem;font-size:.88rem}.review-section blockquote{font-size:1.6rem;line-height:1.5}.cta-band{padding:3rem 0}.cta-inner h2{font-size:2.1rem}.page-intro{padding-bottom:3rem}.page-intro h1{font-size:2.55rem}.page-intro .intro-copy{font-size:1rem}.service-hero{padding-bottom:3rem}.service-hero h1{font-size:2.65rem}.service-hero-photo{aspect-ratio:1.25}.location-heading{font-size:1.6rem}.quote-panel{padding:1.4rem;border-radius:12px}.quote-section h2{font-size:2.25rem}.contact-cards strong{font-size:1.2rem}.contact-cards>a{padding:1.5rem}.included-panel{padding:1.4rem}.faq-list summary{padding:1.1rem;font-size:.91rem}.faq-list details p{padding:0 1.1rem 1rem}.process-grid>div{padding:1.5rem}.hero-card-phone{font-size:.7rem}}

/* Postcode-first hero quote */
.hero-postcode{display:grid;gap:.65rem}.hero-postcode label{font-size:.9rem;font-weight:600}.hero-postcode input{width:100%;min-width:0;border:1px solid #c6c6d2;border-radius:7px;padding:.85rem 1rem;font-size:1rem;text-transform:uppercase;background:white;color:#13132a}.hero-postcode input:focus{outline:2px solid #13132a;outline-offset:2px}.hero-postcode .button{margin-top:.35rem;cursor:pointer}.hero-postcode input::placeholder{text-transform:none;color:#626273}@media(max-width:800px){.hero-quote-card{display:block;width:min(420px,100%);margin-top:2rem;text-align:left}.hero-postcode{gap:.65rem}}

/* Preserve the logo artwork in the original navy brand colour. */
.site-header .brand img,.site-header .custom-logo{filter:url(#coastal-brand-navy)}

/* Contact layout and consistent service cards */
.nav-group>a:after,.card-copy .text-link:after{content:none;display:none}.service-grid{grid-auto-rows:1fr;align-items:stretch}.service-card{height:100%}.card-copy h3{min-height:2.6em}.card-copy p{margin-bottom:1.25rem}.card-copy .text-link{margin-top:auto}.contact-intro{background:#f4f4f7}.contact-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:5rem;align-items:start}.contact-sidebar h2{font-size:2.35rem}.contact-sidebar .lead{font-size:1.05rem}.contact-direct{display:grid;margin:2rem 0}.contact-direct a{display:grid;gap:.5rem;text-decoration:none;padding:1.5rem 0;border-top:1px solid var(--line)}.contact-direct a:last-child{border-bottom:1px solid var(--line)}.contact-direct span{font-size:.85rem;font-weight:600;color:var(--muted)}.contact-direct strong{font-size:clamp(1rem,1.7vw,1.5rem);color:#13132a;overflow-wrap:anywhere;line-height:1.4}.contact-direct small{font-size:.9rem;color:var(--muted)}.contact-direct a:hover strong{text-decoration:underline}.contact-coverage{padding:1.5rem;background:#f4f4f7;border-radius:12px}.contact-coverage h3{font-size:1.05rem}.contact-coverage p{font-size:.95rem;color:var(--muted)}.contact-main .quote-panel{border:1px solid var(--line);box-shadow:0 12px 35px #13132a08}.contact-form-title{font-size:1.75rem;margin-bottom:1.75rem}.contact-main .quote-panel>.eyebrow{font-size:.8rem;margin-bottom:.75rem}@media(max-width:800px){.contact-layout{grid-template-columns:1fr;gap:2.5rem}.service-grid{grid-auto-rows:auto}.card-copy h3{min-height:0}.contact-direct strong{font-size:1.3rem}}

.ce-contact{display:grid;gap:1.2rem}.ce-contact label{display:flex;flex-direction:column;gap:.5rem;font-size:.95rem;font-weight:600}.ce-contact input:not([type=checkbox]),.ce-contact textarea{width:100%;min-width:0;border:1px solid #c6c6d2;border-radius:6px;background:#fff;padding:.85rem;font:inherit;color:#13132a}.ce-contact textarea{resize:vertical}.ce-contact .ce-consent{flex-direction:row;align-items:flex-start;font-weight:400}.ce-contact .ce-consent input{margin-top:.3rem}.ce-contact .button{justify-self:start;cursor:pointer}.ce-contact .contact-privacy{font-size:.9rem;color:var(--muted);margin:0}.contact-quote-link{margin-top:1.25rem!important;margin-bottom:0}.ce-contact .ce-fields{grid-template-columns:1fr}.ce-contact .button:disabled{opacity:.6;cursor:wait}

.owner-photo{min-height:560px;aspect-ratio:710/800}.owner-photo img{object-position:center 30%}@media(max-width:800px){.owner-photo{min-height:0;height:auto;max-width:520px;width:100%;margin:auto}}

/* Final spacing pass: align within each row without stretching every row. */
.service-grid{grid-auto-rows:auto}.card-copy h3{min-height:0}.card-copy p{flex:1;margin-bottom:1.3rem}.card-copy .text-link{margin-top:auto}.quote-layout{align-items:start}.section-heading{column-gap:2rem}.page-intro .breadcrumbs{margin-bottom:2rem}.contact-main{padding-top:4rem;padding-bottom:4rem}@media(max-width:800px){.section-heading{align-items:flex-start}.contact-main{padding-top:3rem;padding-bottom:3rem}}

/* WhatsApp contact shortcut */
.whatsapp-button{position:fixed;right:1.5rem;bottom:1.5rem;z-index:19;display:flex;align-items:center;gap:.7rem;padding:.6rem 1.1rem .6rem .6rem;border:1px solid #ffffff35;border-radius:999px;background:#13132a;color:#fff;text-decoration:none;font-size:.9rem;font-weight:600;box-shadow:0 6px 24px #13132a30;transition:background .2s,transform .2s}.whatsapp-icon{width:38px;height:38px;display:grid;place-items:center;background:#167b43;color:#fff;border-radius:50%;flex-shrink:0}.whatsapp-button:hover{background:#292942;transform:translateY(-2px)}.whatsapp-button:focus-visible{outline:3px solid #167b43;outline-offset:4px}@media(max-width:800px){.whatsapp-button{right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom));padding:.45rem .85rem .45rem .45rem;font-size:.85rem}.whatsapp-icon{width:34px;height:34px}.mobile-call{left:1rem;right:auto;bottom:calc(1rem + env(safe-area-inset-bottom));padding:.8rem .85rem;font-size:.8rem}body{padding-bottom:5rem}}@media(max-width:360px){.whatsapp-button{gap:.4rem;font-size:.78rem;padding-right:.7rem}.mobile-call{font-size:.75rem;padding:.8rem .65rem}}@media(prefers-reduced-motion:reduce){.whatsapp-button{transition:none}.whatsapp-button:hover{transform:none}}

.whatsapp-icon svg{display:block;width:24px;height:24px;flex-shrink:0}.whatsapp-icon{background:#13743e}

/* Accessible hero button interaction states: keep foreground/background paired. */
.home-hero .hero-quote-card .button:hover,.home-hero .hero-quote-card .button:focus-visible,.home-hero .hero-quote-card .button:active{background:#292942;border-color:#292942;color:#ffffff}.home-hero .hero-actions .button:not(.secondary):hover,.home-hero .hero-actions .button:not(.secondary):focus-visible{background:#e9e9ef;border-color:#e9e9ef;color:#13132a}.home-hero .hero-actions .button.secondary:hover,.home-hero .hero-actions .button.secondary:focus-visible{background:#ffffff;border-color:#ffffff;color:#13132a}.cta-band .button:hover,.cta-band .button:focus-visible{background:#e9e9ef;border-color:#e9e9ef;color:#13132a}
