:root{
  --blue:#168ac7;--blue-bright:#25a9e0;--navy:#081522;--navy2:#0b1c2e;--navy3:#10263b;--panel:#0d2236;--panel2:#122b43;--text:#edf4f8;--muted:#a8b7c4;--line:rgba(255,255,255,.12);--gold:#c9a45e;--gold2:#e0be79;--white:#fff;--shell:1180px;--radius:8px;--shadow:0 18px 50px rgba(0,0,0,.24)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:var(--text);font-family:"Poppins",Arial,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,p{margin-top:0}.site-shell,.shell{width:min(calc(100% - 40px),var(--shell));margin-inline:auto}.narrow{max-width:900px}.skip-link{position:absolute;left:-9999px;top:10px;z-index:99999;background:#fff;color:#111;padding:10px 14px}.skip-link:focus{left:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.eyebrow{display:inline-block;color:var(--blue-bright);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;margin-bottom:.65rem}

/* header */
.topbar{background:#050d16;color:#c8d5df;font-size:.72rem;border-bottom:1px solid rgba(255,255,255,.07)}.topbar-inner{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:24px}.topbar-left{display:flex;gap:24px}.topbar a:hover{color:#fff}.site-header{background:rgba(8,21,34,.97);position:relative;z-index:100;border-bottom:1px solid rgba(255,255,255,.09)}.header-inner{min-height:84px;display:flex;align-items:center;gap:34px}.site-logo{width:218px;flex:none;background:#fff;padding:7px 11px;border-radius:var(--radius)}.site-logo img{width:100%;height:auto}.primary-nav{display:flex;align-items:center;gap:28px;margin-left:auto;font-size:.82rem;font-weight:600;color:#dfe8ef}.primary-nav>a,.nav-dropdown-trigger{position:relative;padding:31px 0 28px;display:block}.primary-nav>a::after,.nav-dropdown-trigger::after{content:"";position:absolute;left:0;right:0;bottom:22px;height:2px;background:var(--blue-bright);transform:scaleX(0);transform-origin:left;transition:.2s}.primary-nav>a:hover,.nav-dropdown-trigger:hover{color:#fff}.primary-nav>a:hover::after,.primary-nav>a.active::after,.nav-dropdown-trigger:hover::after,.nav-dropdown-trigger.active::after{transform:scaleX(1)}.nav-dropdown{position:relative}.nav-dropdown-menu{display:none;position:absolute;top:70px;left:-18px;min-width:270px;background:#0c1f31;border-top:2px solid var(--blue-bright);box-shadow:var(--shadow);padding:7px 0;border-radius:0 0 var(--radius) var(--radius);overflow:hidden}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{display:block}.nav-dropdown-menu a{display:block;padding:10px 18px;border-bottom:1px solid rgba(255,255,255,.07);font-size:.78rem;color:#d7e2ea}.nav-dropdown-menu a:last-child{border-bottom:0}.nav-dropdown-menu a:hover{background:#102b43;color:#fff}.header-quote,.btn{display:inline-flex;align-items:center;justify-content:center;font-weight:700;border:1px solid transparent;transition:.2s}.header-quote{min-height:42px;padding:0 17px;border-radius:4px;background:var(--blue);color:#fff;font-size:.78rem;white-space:nowrap}.header-quote:hover{background:var(--blue-bright)}.menu-toggle{display:none;border:0;background:transparent;padding:8px;margin-left:auto}.menu-toggle span:not(.sr-only){display:block;width:27px;height:2px;background:#fff;margin:5px 0}

/* buttons */
.btn{min-height:48px;padding:0 22px;border-radius:4px;font-size:.82rem;letter-spacing:.01em}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:var(--blue-bright)}.btn-outline{border-color:rgba(255,255,255,.65);color:#fff;background:rgba(0,0,0,.12)}.btn-outline:hover{background:#fff;color:var(--navy)}.btn-dark{background:#07111c;color:#fff}.btn-light{background:#fff;color:var(--navy)}.btn-gold{background:var(--gold);color:#101820}.btn-gold:hover{background:var(--gold2)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:4px;font-weight:700}.button-primary{background:var(--blue);color:#fff}.button-light{background:#fff;color:var(--navy)}.button-ghost{border:1px solid #fff;color:#fff}

/* home hero */
.hero-premium{position:relative;min-height:610px;display:flex;align-items:center;background-image:linear-gradient(90deg,rgba(4,13,22,.94) 0%,rgba(4,13,22,.83) 44%,rgba(4,13,22,.35) 72%,rgba(4,13,22,.2) 100%),url('/wp-content/uploads/2025/04/van.webp');background-size:cover;background-position:center 55%;overflow:hidden}.hero-premium::after{content:"";position:absolute;inset:auto 0 0;height:4px;background:linear-gradient(90deg,var(--blue) 0 72%,var(--gold) 72%)}.hero-premium-copy{max-width:720px;padding:100px 0 110px}.hero-premium h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.5rem,7vw,6.6rem);line-height:.94;letter-spacing:-.045em;color:#fff;margin:0 0 25px;font-weight:500}.hero-premium h1 em{display:block;color:#63c6ec;font-weight:400}.hero-premium p{max-width:660px;font-size:1rem;color:#d8e4ec;margin-bottom:31px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.trust-strip{background:#07111c;border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-grid>div{padding:21px 24px;border-right:1px solid var(--line)}.trust-grid>div:first-child{padding-left:0}.trust-grid>div:last-child{border-right:0}.trust-grid strong{display:block;color:#fff;font-size:1.05rem;line-height:1.25;margin-bottom:5px}.trust-grid span{display:block;color:#9db2c2;font-size:.82rem;line-height:1.4}

/* general dark sections */
.section{padding:84px 0}.services-dark{background:var(--navy2)}.story-section{background:#0a1827}.testimonial-section{background:#07131f}.section-heading{margin-bottom:36px}.split-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:end}.section-heading h2,.section-title h2,.story-copy h2,.testimonial-premium h2,.appointment-copy h2,.about-story h2,.about-text-grid h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;color:#fff;font-size:clamp(2.35rem,4.6vw,4rem);line-height:1.05;margin:0}.split-heading>p{color:var(--muted);font-size:.88rem;max-width:440px;margin:0 0 6px auto}.section-title{text-align:center;max-width:760px;margin:0 auto 40px}.section-title p{color:var(--muted);font-size:.9rem}.section-soft,.section-alt{background:var(--navy2)!important}.section-blue{background:#0a2f50;color:#fff}

/* image-led service cards */
.service-gallery,.service-cards,.services-list{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-tile,.service-card{position:relative;min-height:230px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);overflow:hidden;background:#10263a;box-shadow:0 12px 28px rgba(0,0,0,.16);transition:transform .2s,border-color .2s,box-shadow .2s}.service-tile:hover,.service-card:hover{transform:translateY(-3px);border-color:rgba(37,169,224,.65);box-shadow:0 18px 38px rgba(0,0,0,.26)}.service-tile img,.service-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.service-tile:hover img,.service-card:hover img{transform:scale(1.035)}.service-tile::after,.service-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,12,20,.04) 25%,rgba(4,12,20,.9) 100%);pointer-events:none}.service-tile>span{position:absolute;z-index:2;left:18px;right:18px;bottom:16px}.service-tile strong{display:block;font-size:.92rem;line-height:1.25;color:#fff}.service-tile small{display:block;margin-top:4px;color:#b8c6d0;font-size:.68rem}.service-card{min-height:270px;display:block}.service-card-img{position:absolute;inset:0}.service-card-body{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:21px}.service-card h3{font-size:.98rem;color:#fff;margin:0 0 5px;line-height:1.25}.service-card p{font-size:.73rem;color:#c1ced8;margin:0 0 8px;line-height:1.5}.read-more{font-size:.7rem;font-weight:700;color:#5bc7ed}.section-action{text-align:center;margin-top:28px}

/* story / review */
.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}.story-image img{width:100%;height:520px;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line)}.story-copy p,.about-story p,.about-text-grid p{color:var(--muted);font-size:.9rem}.check-list{list-style:none;padding:0;margin:24px 0 26px;display:grid;gap:10px}.check-list li{position:relative;padding-left:27px;color:#d7e2ea;font-size:.85rem}.check-list li::before{content:"✓";position:absolute;left:0;top:-1px;color:var(--blue-bright);font-weight:800}.text-link{color:#69cdf2;font-weight:700;font-size:.83rem}.text-link:hover{color:#fff}.testimonial-premium{display:grid;grid-template-columns:1fr .9fr;gap:60px;align-items:center}.testimonial-premium blockquote,.testimonial-quote{margin:0;background:#0d2236;border:1px solid var(--line);border-left:3px solid var(--gold);padding:30px 32px;border-radius:var(--radius)}.testimonial-premium blockquote p,.testimonial-quote p{font-family:Georgia,"Times New Roman",serif;font-size:1.25rem;line-height:1.55;color:#f5f8fa;margin:0}.testimonial-premium footer,.testimonial-quote footer{margin-top:18px;display:flex;flex-direction:column}.testimonial-premium footer strong,.testimonial-quote footer strong{font-size:.78rem;color:#fff}.testimonial-premium footer span,.testimonial-quote footer span{font-size:.68rem;color:#8297a8}
.quote-band,.offer-band{background:#0b3c64;color:#fff;border-top:1px solid rgba(255,255,255,.1)}.quote-band-inner,.offer-band>.site-shell{min-height:145px;display:flex;align-items:center;justify-content:space-between;gap:32px}.quote-band span,.offer-band span{display:block;color:#8ed8f3;text-transform:uppercase;letter-spacing:.14em;font-size:.67rem;font-weight:700}.quote-band h2,.offer-band h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:2.15rem;margin:4px 0 0}.quote-band-actions,.offer-actions{display:flex;gap:22px;align-items:center}.quote-phone,.offer-phone,.offer-band>a{font-size:1.08rem;font-weight:700;color:#fff;white-space:nowrap}

/* page hero */
.page-hero{position:relative;padding:92px 0 88px;background-image:linear-gradient(90deg,rgba(4,14,23,.93),rgba(4,14,23,.72)),url('/wp-content/uploads/2025/01/Screenshot-2025-01-21-at-00.18.50-1024x680.webp');background-size:cover;background-position:center;color:#fff;border-bottom:1px solid var(--line)}.service-page-hero{background-image:linear-gradient(90deg,rgba(4,14,23,.94),rgba(4,14,23,.69)),var(--service-hero)}.page-hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(3rem,6vw,5.5rem);line-height:.98;color:#fff;margin:0 0 18px;max-width:900px}.page-hero .lead{max-width:760px;color:#cbd9e3;font-size:.94rem;margin-bottom:25px}.breadcrumb{display:flex;gap:8px;align-items:center;color:#8fa4b5;font-size:.68rem;margin-bottom:17px}.breadcrumb a:hover{color:#fff}

/* service content pages - deliberately dark, not white */
.service-content-section{background:var(--navy2)}.service-page-layout{display:grid;gap:22px}.service-main{width:min(100%,980px);margin-inline:auto;background:#0a1b2a;border:1px solid var(--line);padding:42px 44px;border-radius:var(--radius)}.service-main>h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(2.15rem,4vw,3.45rem);line-height:1.08;color:#fff;margin-bottom:20px}.service-main>p{color:#aebdca;font-size:.9rem;max-width:850px}.service-main h3{color:#fff}.service-offer-panel{background:#10273c;border:1px solid var(--line);padding:26px 28px;margin:28px 0;border-radius:var(--radius)}.service-offer-panel h3{font-size:1rem;margin:0 0 13px}.service-offer-panel ul,.service-main>ul{margin:0;padding-left:20px;color:#d2dde5}.service-offer-panel li,.service-main>ul li{margin-bottom:7px;font-size:.83rem}.image-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:31px 0}.image-pair img{width:100%;height:310px;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line)}.callout{background:#081522;border:1px solid rgba(37,169,224,.3);padding:28px 30px;margin:31px 0;border-radius:var(--radius)}.callout h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:1.7rem;margin:0 0 12px}.callout p{color:#aebdca;font-size:.84rem;margin-bottom:10px}.callout p:last-child{margin-bottom:0}.service-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;background:#0b3b63;padding:27px 29px;border-radius:var(--radius);margin-top:32px}.service-cta h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;color:#fff;font-size:1.8rem;margin:0 0 5px}.service-cta p{color:#bcd2e1;font-size:.78rem;margin:0;max-width:560px}.service-page-lower{width:min(100%,980px);margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:stretch}.related-services{background:#091928;border:1px solid var(--line);border-radius:var(--radius);padding:24px}.related-services-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:17px}.related-services-heading h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;color:#fff;font-size:1.55rem;margin:0}.related-services-heading .eyebrow{margin-bottom:3px}.related-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.related-service-card{min-width:0;background:#0c2032;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .2s,transform .2s}.related-service-card:hover{border-color:rgba(37,169,224,.65);transform:translateY(-2px)}.related-service-card img{width:100%;height:108px;object-fit:cover}.related-service-card>span{display:block;padding:12px 13px}.related-service-card strong{display:block;color:#fff;font-size:.76rem;line-height:1.3}.related-service-card small{display:block;color:#65c9ed;font-size:.65rem;margin-top:5px}.service-quick-quote{background:#0c3659;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;justify-content:center}.service-quick-quote small{display:block;color:#8fd8f3;text-transform:uppercase;letter-spacing:.1em;font-size:.62rem}.service-quick-quote strong{display:block;font-size:1.22rem;color:#fff;margin:4px 0 8px}.service-quick-quote p{color:#b9ccda;font-size:.72rem;line-height:1.55;margin-bottom:15px}.service-quick-quote .btn{width:100%}

/* services / why blocks */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.why-item{background:#0c2032;border:1px solid var(--line);border-radius:var(--radius);padding:25px 21px}.why-icon{width:37px;height:37px;display:grid;place-items:center;border:1px solid rgba(37,169,224,.45);color:#67cdf1;border-radius:6px;margin-bottom:16px}.why-item h3{color:#fff;font-size:.9rem;margin-bottom:8px}.why-item p{color:#91a5b5;font-size:.74rem;margin:0}.appointment-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:start}.appointment-copy p{color:var(--muted)}.appointment-copy img{width:100%;height:330px;object-fit:cover;border-radius:var(--radius);margin-top:24px;border:1px solid var(--line)}

/* contact + forms */
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:34px}.contact-info{background:#0b3557;border:1px solid var(--line);padding:34px}.contact-info h2,.form-card h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;color:#fff;font-size:2.15rem}.contact-info p,.form-card>p{color:#b6c8d6}.contact-detail{border-top:1px solid rgba(255,255,255,.13);padding:16px 0}.contact-detail span{display:block;color:#73cff0;font-size:.64rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.contact-detail a,.contact-detail strong{font-size:.92rem;color:#fff}.form-card{background:#0b1e30;border:1px solid var(--line);padding:34px;box-shadow:0 16px 40px rgba(0,0,0,.17)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.71rem;font-weight:600;color:#cbd7e0}.field input,.field select,.field textarea{width:100%;border:1px solid #2b4357;padding:11px 12px;border-radius:5px;background:#081522;color:#fff;outline:0}.field select option{background:#081522;color:#fff}.field textarea{min-height:145px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue-bright);box-shadow:0 0 0 2px rgba(37,169,224,.12)}.field input::placeholder,.field textarea::placeholder{color:#718596}.checkbox{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:9px!important;font-weight:400!important;font-size:.72rem!important}.checkbox input{width:auto;margin-top:4px}.honeypot{position:absolute!important;left:-9999px!important}.alert{padding:13px 15px;margin-bottom:16px;border-left:3px solid;border-radius:4px}.alert-success{background:#102e27;border-color:#4aa47a;color:#d8f5e7}.alert-error{background:#351c1c;border-color:#cf6258;color:#ffdcd8}.form-errors{margin:0;padding-left:18px}

/* about */
.about-offer{padding:65px 0;background:#0a1928}.about-offer-grid{display:grid;grid-template-columns:430px 1fr;align-items:center;gap:52px}.about-offer-grid img,.about-story>img{width:100%;height:380px;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line)}.about-offer-grid h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;color:#fff;font-size:clamp(2.3rem,4vw,3.7rem);line-height:1.05;margin-bottom:14px}.about-offer-grid p{color:var(--muted)}.about-story{display:grid;grid-template-columns:1.15fr .85fr;gap:55px;align-items:center}.about-text-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:start}.sets-apart{background:#0c2032;padding:30px;border:1px solid var(--line)}.sets-apart h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;color:#fff;font-size:1.5rem}.sets-apart a{color:#62caf0;font-weight:700}.testimonial-current{max-width:960px}

/* legal / utility */
.legal{max-width:900px}.legal h1,.legal h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;color:#fff}.legal h2{margin:32px 0 10px;font-size:1.55rem}.legal p,.legal li{color:#aebdca;font-size:.86rem}.legal a{color:#67cdf1}.alert a{color:inherit}.review-card{margin:0}.review-card footer{display:flex;flex-direction:column;gap:.15rem;margin-top:1rem}.review-card footer span{font-size:.82rem;opacity:.72}

/* footer */
.site-footer{background:#040c14;color:#fff;border-top:1px solid rgba(255,255,255,.09)}.footer-main{display:grid;grid-template-columns:1.6fr .8fr .7fr;gap:60px;padding:52px 0 42px}.footer-main>div:not(.footer-brand){display:grid;align-content:start;gap:7px}.footer-main h2{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:#6acbf0;margin:7px 0 9px}.footer-main a,.footer-main p{color:#98adbc;font-size:.74rem}.footer-main a:hover{color:#fff}.footer-logo-plate{background:#fff;border-radius:var(--radius);padding:7px 10px;width:210px;margin-bottom:16px}.footer-logo-plate img{width:100%}.footer-brand p{max-width:370px;margin:0}.footer-simple{min-height:63px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid rgba(255,255,255,.08)}.footer-simple p{margin:0;color:#6f8495;font-size:.68rem}.footer-simple nav{display:flex;gap:20px;color:#6f8495;font-size:.67rem}.footer-simple a:hover{color:#fff}

@media(max-width:1020px){.service-gallery,.service-cards,.services-list{grid-template-columns:repeat(2,1fr)}.why-grid{grid-template-columns:repeat(2,1fr)}.story-grid,.testimonial-premium,.about-story,.about-text-grid,.appointment-grid,.contact-grid{grid-template-columns:1fr}.service-page-lower{grid-template-columns:1fr}.header-quote{display:none}}
@media(max-width:780px){.site-shell,.shell{width:min(calc(100% - 28px),var(--shell))}.topbar-inner>span{display:none}.topbar-left{width:100%;justify-content:space-between;gap:10px;font-size:.62rem}.header-inner{min-height:72px}.site-logo{width:185px}.menu-toggle{display:block}.primary-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#081522;padding:8px 18px 18px;box-shadow:0 18px 35px rgba(0,0,0,.32);flex-direction:column;align-items:stretch;gap:0}.primary-nav.open{display:flex}.primary-nav>a,.nav-dropdown-trigger{padding:12px 4px;border-bottom:1px solid var(--line)}.primary-nav>a::after,.nav-dropdown-trigger::after{display:none}.nav-dropdown-menu{position:static;display:none;box-shadow:none;border-top:0;padding:0 0 6px}.nav-dropdown:hover .nav-dropdown-menu{display:none}.nav-dropdown.open .nav-dropdown-menu{display:block}.nav-dropdown-menu a{padding-left:18px;background:#0b1c2d}.hero-premium{min-height:560px;background-position:62% center}.hero-premium-copy{padding:75px 0 90px}.hero-premium h1{font-size:clamp(3rem,15vw,4.5rem)}.trust-grid{grid-template-columns:1fr 1fr}.trust-grid>div{padding:17px 15px!important;border-bottom:1px solid var(--line)}.section{padding:62px 0}.split-heading{grid-template-columns:1fr;gap:14px}.split-heading>p{margin:0}.story-image img{height:360px}.service-main{padding:28px 24px}.related-services{padding:20px}.related-services-heading{align-items:flex-start;flex-direction:column;gap:6px}.related-services-grid{grid-template-columns:1fr 1fr 1fr}.image-pair{grid-template-columns:1fr}.image-pair img{height:auto}.service-cta{display:block}.service-cta .btn{margin-top:18px}.quote-band-inner,.offer-band>.site-shell{padding:30px 0;min-height:0;align-items:flex-start;flex-direction:column}.quote-band-actions,.offer-actions{width:100%;flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.about-offer-grid{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr;gap:30px}.footer-simple{padding:18px 0;display:block;text-align:center}.footer-simple nav{justify-content:center;margin-top:8px}}
@media(max-width:520px){.service-gallery,.service-cards,.services-list,.why-grid{grid-template-columns:1fr}.related-services-grid{grid-template-columns:1fr}.related-service-card{display:grid;grid-template-columns:105px minmax(0,1fr);align-items:stretch}.related-service-card img{height:100%;min-height:92px}.service-tile,.service-card{min-height:245px}.trust-grid{grid-template-columns:1fr}.trust-grid>div{border-right:0}.hero-actions,.quote-band-actions{display:grid}.btn{width:100%}.about-offer-grid img,.about-story>img{height:300px}.testimonial-premium blockquote{padding:24px}.footer-logo-plate{width:195px}}

/* ==========================================================
   Waveney Cleaning 2.0 — v3.3.0 approved-asset implementation
   Built from stable v3.0.1. The approved logo and hero artwork
   are used directly; CSS does not redraw or reconstruct them.
   ========================================================== */
:root{
  --shell:1420px;
  --neon:#25a9e0;
  --neon-soft:rgba(37,169,224,.24);
}

/* Header */
.topbar{display:none}
.site-header{
  background:#030c16;
  border-bottom:1px solid rgba(53,145,196,.18);
}
.header-inner{
  min-height:112px;
  gap:42px;
}
.site-logo{
  width:330px;
  max-width:31vw;
  flex:none;
  background:transparent;
  padding:0;
  border-radius:0;
  overflow:visible;
}
.site-logo img{
  width:100%;
  height:auto;
  object-fit:contain;
}
.primary-nav{gap:34px;font-size:.86rem}
.primary-nav>a,.nav-dropdown-trigger{padding:42px 0 36px}
.primary-nav>a::after,.nav-dropdown-trigger::after{
  bottom:29px;
  background:var(--neon);
  box-shadow:0 0 7px rgba(37,169,224,.38);
}
.nav-dropdown-menu{top:87px}
.header-quote{
  min-height:52px;
  padding:0 23px;
  border-radius:6px;
  background:linear-gradient(180deg,rgba(22,138,199,.78),rgba(10,85,130,.86));
  border:1px solid rgba(68,185,238,.72);
  box-shadow:0 0 12px rgba(37,169,224,.16);
}
.header-quote:hover{
  background:linear-gradient(180deg,rgba(30,155,218,.88),rgba(11,98,150,.92));
  box-shadow:0 0 16px rgba(37,169,224,.26);
}

/* Approved hero artwork. It already contains the fade/composition. */
.hero-premium{
  min-height:620px;
  background-color:#030c16;
  background-image:var(--hero-approved);
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center center;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.hero-premium::after{
  height:3px;
  background:linear-gradient(90deg,var(--blue) 0 78%,var(--gold) 78%);
}
.hero-premium-copy{
  max-width:690px;
  padding:74px 0 84px;
}
.hero-premium h1{
  font-size:clamp(4rem,5.7vw,6.5rem);
  text-shadow:0 2px 18px rgba(0,0,0,.30);
}
.hero-premium p{max-width:650px;color:#d8e4ec}
.hero-actions{gap:14px}
.btn-primary{
  background:linear-gradient(180deg,rgba(22,138,199,.78),rgba(10,85,130,.86));
  border-color:rgba(68,185,238,.72);
  box-shadow:0 0 12px rgba(37,169,224,.15);
}
.btn-primary:hover{
  background:linear-gradient(180deg,rgba(30,155,218,.88),rgba(11,98,150,.92));
  border-color:rgba(83,197,246,.88);
  box-shadow:0 0 17px rgba(37,169,224,.25);
}
.btn-outline{
  background:rgba(3,12,22,.42);
  border-color:rgba(126,184,215,.62);
  box-shadow:0 0 9px rgba(37,169,224,.07);
}
.btn-outline:hover{
  color:#fff;
  background:rgba(15,70,103,.48);
  border-color:rgba(83,197,246,.84);
  box-shadow:0 0 14px rgba(37,169,224,.15);
}

/* Window Cleaning page uses the same approved hero artwork. */
.service-page-hero{
  min-height:570px;
  padding:72px 0 66px;
  background-color:#030c16;
  background-image:var(--service-hero);
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center center;
  overflow:hidden;
}
.service-page-hero::after{
  background:linear-gradient(90deg,rgba(3,12,22,.18) 0%,rgba(3,12,22,.08) 42%,rgba(3,12,22,0) 72%);
}
.service-page-hero>.site-shell{position:relative;z-index:1}
.service-page-hero h1{font-size:clamp(3.8rem,5.6vw,6rem);max-width:820px}
.service-page-hero .lead{max-width:700px;color:#d8e4ec}

/* Wider desktop content without turning copy into one giant line. */
.service-content-section .site-shell{width:min(calc(100% - 64px),1320px)}
.service-main{width:100%;max-width:none;padding:46px 50px}
.service-main>p{max-width:980px}
.service-page-lower{width:100%;max-width:none;grid-template-columns:minmax(0,1fr) 320px}

/* Keep footer logo treatment dark; no white plate. */
.footer-logo-plate{background:transparent;padding:0;border-radius:0;width:280px}

@media(max-width:1180px){
  :root{--shell:1120px}
  .site-logo{width:290px;max-width:30vw}
  .header-inner{min-height:100px;gap:28px}
  .primary-nav{gap:26px}
  .hero-premium{min-height:590px;background-position:58% center}
  .service-page-hero{min-height:550px;background-position:58% center}
}
@media(max-width:1020px){
  .site-logo{width:255px;max-width:34vw}
  .hero-premium,.service-page-hero{background-position:64% center}
  .hero-premium::before,.service-page-hero::before{
    content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,12,22,.92),rgba(3,12,22,.62) 58%,rgba(3,12,22,.20));pointer-events:none
  }
  .hero-premium>.site-shell,.service-page-hero>.site-shell{position:relative;z-index:1}
}
@media(max-width:780px){
  .header-inner{min-height:76px}
  .site-logo{width:215px;max-width:66vw}
  .primary-nav{top:76px}
  .hero-premium{min-height:560px;background-position:68% center}
  .hero-premium::before{background:linear-gradient(180deg,rgba(3,12,22,.56),rgba(3,12,22,.92) 66%,#030c16)}
  .hero-premium-copy{padding:72px 0 82px}
  .service-page-hero{min-height:540px;background-position:66% center}
  .service-page-hero::before{background:linear-gradient(180deg,rgba(3,12,22,.55),rgba(3,12,22,.92) 62%,#030c16)}
  .service-content-section .site-shell{width:min(calc(100% - 28px),var(--shell))}
  .service-main{padding:30px 25px}
}

/* ==========================================================
   v3.3.1 — approved hero CSP/path fix
   The approved hero is now a real image layer, not an inline
   CSS custom property. This works under the site's CSP and in
   both /en/ staging and root deployment.
   ========================================================== */
.hero-premium,
.service-page-hero{
  position:relative;
  isolation:isolate;
  background:#030c16;
  background-image:none!important;
}
.approved-hero-bg{
  position:absolute;
  z-index:-2;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center center;
  pointer-events:none;
  user-select:none;
}
.hero-premium::before,
.service-page-hero::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(3,12,22,.06) 0%,rgba(3,12,22,.025) 50%,rgba(3,12,22,0) 100%);
}
.hero-premium::after{
  z-index:2;
}
.hero-premium .hero-premium-inner,
.service-page-hero>.site-shell{
  position:relative;
  z-index:1;
}
@media(max-width:780px){
  .approved-hero-bg{object-position:68% center}
}

/* ==========================================================
   v3.3.2 — hero/logo polish
   - reveal full brush head by shifting hero crop upward-visible
   - use sharper approved logo asset and slightly roomier logo box
   ========================================================== */
.site-logo{
  width:354px;
  max-width:32vw;
}
.site-logo img{
  width:100%;
  height:auto;
  object-fit:contain;
  image-rendering:auto;
}
.approved-hero-bg{
  object-position:50% 34%;
}
@media(max-width:1180px){
  .site-logo{width:320px;max-width:31vw}
  .approved-hero-bg{object-position:54% 34%;}
}
@media(max-width:1020px){
  .site-logo{width:272px;max-width:35vw}
  .approved-hero-bg{object-position:62% 35%;}
}
@media(max-width:780px){
  .site-logo{width:225px;max-width:68vw}
  .approved-hero-bg{object-position:68% 36%;}
}

/* v3.3.6 — trust strip legibility */
@media(max-width:780px){
  .trust-grid strong{font-size:.98rem}
  .trust-grid span{font-size:.78rem}
}

/* ==========================================================
   v3.3.7 — six-service grid and full-image treatment
   ========================================================== */
.service-gallery,
.services-list{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}

/* Homepage service tiles: image is shown in full, never cropped. */
.service-tile{
  min-height:0;
  display:flex;
  flex-direction:column;
  background:#0a1a2a;
}
.service-tile img{
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:contain;
  object-position:center;
  padding:10px;
  background:#06111c;
  transform:none!important;
}
.service-tile::after{display:none}
.service-tile>span{
  position:static;
  display:block;
  padding:16px 18px 18px;
  margin-top:auto;
  background:linear-gradient(180deg,#0d2236,#091928);
  border-top:1px solid rgba(255,255,255,.08);
}
.service-tile strong{font-size:1rem}
.service-tile small{font-size:.74rem}

/* Full Services page: same rule — show the complete source image. */
.service-card{
  min-height:0;
  display:flex;
  flex-direction:column;
  background:#0a1a2a;
}
.service-card::after{display:none}
.service-card-img{
  position:relative;
  inset:auto;
  width:100%;
  aspect-ratio:4/3;
  background:#06111c;
}
.service-card-img img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  padding:10px;
  transform:none!important;
}
.service-card-body{
  position:static;
  display:block;
  padding:18px 20px 21px;
  margin-top:auto;
  background:linear-gradient(180deg,#0d2236,#091928);
  border-top:1px solid rgba(255,255,255,.08);
}
.service-card h3{font-size:1.04rem}
.service-card p{font-size:.78rem}
.read-more{font-size:.74rem}

@media(max-width:1020px){
  .service-gallery,.services-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .service-gallery,.services-list{grid-template-columns:1fr}
}

/* ==========================================================
   v3.3.8 — service images fill the tiles again
   Keep 6-service set and 3-wide desktop layout.
   ========================================================== */
.service-tile,
.service-card{
  background:#0a1a2a;
}
.service-tile img{
  width:100%;
  height:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center;
  padding:0;
  background:#06111c;
  transform:none!important;
}
.service-card-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  padding:0;
  transform:none!important;
}

/* ==========================================================
   v3.3.11 — one approved hero image across every page hero
   ========================================================== */
.page-hero:not(.service-page-hero){
  background-color:#030c16;
  background-image:
    linear-gradient(90deg,rgba(3,12,22,.97) 0%,rgba(3,12,22,.91) 34%,rgba(3,12,22,.65) 52%,rgba(3,12,22,.22) 70%,rgba(3,12,22,.06) 100%),
    url('../images/waveney-hero-approved.png');
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center 36%;
}
.page-hero:not(.service-page-hero)>.site-shell,
.page-hero:not(.service-page-hero)>.shell{
  position:relative;
  z-index:1;
}
@media(max-width:1020px){
  .page-hero:not(.service-page-hero){
    background-position:62% 36%;
    background-image:
      linear-gradient(90deg,rgba(3,12,22,.97) 0%,rgba(3,12,22,.88) 48%,rgba(3,12,22,.48) 72%,rgba(3,12,22,.12) 100%),
      url('../images/waveney-hero-approved.png');
  }
}
@media(max-width:780px){
  .page-hero:not(.service-page-hero){
    background-position:68% 38%;
    background-image:
      linear-gradient(180deg,rgba(3,12,22,.65) 0%,rgba(3,12,22,.90) 58%,#030c16 100%),
      url('../images/waveney-hero-approved.png');
  }
}

/* ==========================================================
   v3.3.14 — About Us coverage map
   ========================================================== */
.coverage-section{
  background:#07131f;
  padding:72px 0;
}
.coverage-grid{
  display:grid;
  grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);
  gap:48px;
  align-items:center;
}
.coverage-copy{max-width:500px}
.coverage-copy h2{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(3rem,4.8vw,5rem);
  line-height:1.02;
  font-weight:500;
  color:#fff;
  margin:0 0 24px;
}
.coverage-copy p{
  color:#c3d0da;
  font-size:1rem;
  line-height:1.8;
  margin:0 0 28px;
}
.coverage-cta{
  min-height:54px;
  padding-inline:24px;
  width:max-content;
}
.coverage-map-wrap{
  overflow:hidden;
  border:1px solid rgba(48,166,226,.34);
  border-radius:10px;
  box-shadow:0 18px 45px rgba(0,0,0,.28),0 0 22px rgba(37,169,224,.08);
  background:#06111c;
}
.coverage-map-wrap img{
  width:100%;
  height:auto;
  display:block;
}
@media(max-width:980px){
  .coverage-grid{grid-template-columns:1fr;gap:30px}
  .coverage-copy{max-width:720px}
  .coverage-map-wrap{max-width:860px}
}
@media(max-width:620px){
  .coverage-section{padding:56px 0}
  .coverage-copy h2{font-size:clamp(2.6rem,13vw,4rem)}
  .coverage-copy p{font-size:.92rem}
  .coverage-cta{width:100%}
  .coverage-map-wrap{border-radius:8px}
}

/* ==========================================================
   Waveney Quote Engine v0.1
   ========================================================== */
.quote-wizard-card{max-width:860px}
.quote-wizard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:8px}.quote-wizard-head h2{margin:0}.quote-progress-label{font-size:.75rem;color:#73ccef;font-weight:700}.quote-wizard-intro{color:var(--muted)}
.quote-progress{list-style:none;margin:24px 0 30px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.quote-progress li{height:4px;background:#18334b;border-radius:99px}.quote-progress li.active{background:var(--blue-bright);box-shadow:0 0 9px rgba(37,169,224,.34)}
.quote-wizard.quote-js .quote-step{display:none}.quote-wizard.quote-js .quote-step.active{display:block}.quote-step h3{font-family:Georgia,"Times New Roman",serif;font-size:2rem;font-weight:500;margin-bottom:8px}.quote-step>p{color:var(--muted);font-size:.88rem}
.quote-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}.quote-service-option{display:block;cursor:pointer}.quote-service-option input{position:absolute;opacity:0;pointer-events:none}.quote-service-option span{display:flex;align-items:center;min-height:64px;padding:14px 16px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#0b1e30;color:#dce8ef;font-weight:650;transition:.18s}.quote-service-option input:checked+span{border-color:#29afea;background:#0c3658;box-shadow:0 0 14px rgba(37,169,224,.18);color:#fff}.quote-service-option input:focus-visible+span{outline:2px solid #fff;outline-offset:2px}.quote-multi-note{padding:12px 14px;background:#0b3657;border:1px solid rgba(37,169,224,.36);border-radius:7px;color:#cdeaf6;font-size:.8rem;margin-bottom:18px}
.quote-step-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:28px}.quote-step-actions .btn{min-width:130px}.quote-window-fields{margin-bottom:22px}.quote-general-fields{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.quote-result p{margin:8px 0 0}.quote-result p:last-child{margin-bottom:0}
.quote-admin-body{background:#06111c;min-height:100vh;color:#edf4f8}.quote-admin-login{min-height:100vh;display:grid;place-items:center;padding:30px}.quote-admin-login>.form-card{width:min(100%,480px)}.quote-admin-shell{width:min(calc(100% - 40px),1400px);margin:auto;padding:40px 0 80px}.quote-admin-top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}.quote-admin-top h1{font-family:Georgia,"Times New Roman",serif;font-size:3rem;margin:0}.quote-admin-top nav{display:flex;gap:10px;flex-wrap:wrap}.quote-admin-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px}.quote-admin-table{width:100%;border-collapse:collapse;background:#091a29}.quote-admin-table th,.quote-admin-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}.quote-admin-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#7fcfec}.quote-admin-table td{font-size:.82rem}.quote-admin-table tr:last-child td{border-bottom:0}.quote-admin-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px}.quote-admin-row{display:flex;justify-content:space-between;gap:24px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.08)}.quote-admin-row span{color:#8fa6b7;font-size:.76rem}.quote-admin-row strong{text-align:right;font-size:.8rem}.quote-reason{display:block;color:#b9c9d3;margin:7px 0}.quote-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.quote-photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:7px;border:1px solid var(--line)}.quote-pricing-form h2{margin-top:30px}.quote-pricing-toggle{display:grid;gap:12px;margin-bottom:24px}
@media(max-width:780px){.quote-service-grid{grid-template-columns:1fr}.quote-step-actions{display:grid;grid-template-columns:1fr}.quote-step-actions .btn{width:100%}.quote-admin-top{align-items:flex-start;flex-direction:column}.quote-admin-detail-grid{grid-template-columns:1fr}.quote-photo-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.quote-photo-grid{grid-template-columns:1fr}}
