@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#142e35;--cream:#f6f5ee;--yellow:#f1d15b;--muted:#536669;--line:#d8ded7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.65}a{color:inherit}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #b27c15;outline-offset:5px}.wrap{width:min(1280px,88%);margin-inline:auto}.topline{background:var(--ink);color:#e0e9e7;padding:8px 6%;font-size:12px;letter-spacing:.5px;display:flex;justify-content:space-between}.topline a{text-decoration:none}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 6%;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;background:var(--cream)}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-family:Manrope,sans-serif;font-weight:800;line-height:1.2;letter-spacing:2px}.brand small{display:block;font-size:9px;letter-spacing:1.5px;margin-top:6px;font-weight:500}nav{display:flex;align-items:center;gap:25px}nav a{text-decoration:none;font-size:13px;font-weight:600}nav a:hover,.text-link:hover{color:#8a6710}.nav-cta{border:1px solid var(--ink);padding:11px 17px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.25fr .75fr;gap:65px;padding-block:65px;align-items:center}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;margin:0 0 25px}.dot{display:inline-block;width:7px;height:7px;background:#a18226;border-radius:50%;margin-right:7px}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.13;font-weight:600;letter-spacing:-1.8px}h1{font-size:clamp(40px,4.5vw,66px);margin:0 0 28px}h1 em{font-style:normal;color:#687b6d}h2{font-size:clamp(30px,3.4vw,46px);margin:0 0 22px}h3{letter-spacing:-.6px;font-size:24px;margin:0 0 12px}.lead{font-size:18px;line-height:1.75;color:var(--muted);max-width:590px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;padding:15px 19px;font-size:13px;font-weight:700;text-decoration:none;border:1px solid transparent;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--yellow);color:var(--ink)}.primary:hover{background:#e4c24d}.outline{border-color:var(--ink)}.small-note{font-size:12px;color:var(--muted);margin-top:16px}.hero-foot{border-top:1px solid var(--line);margin-top:40px;padding-top:22px;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;font-size:11px}.hero-foot a{text-decoration:none}figure{margin:0}.hero-visual{background:#e5e9df;padding:18px 18px 0;transform:rotate(1deg)}.hero-visual img{width:100%;height:auto;display:block}.hero-visual figcaption{display:flex;justify-content:space-between;gap:8px;font-size:10px;padding:15px 0}.ribbon{display:flex;align-items:center;justify-content:space-evenly;gap:20px;flex-wrap:wrap;background:var(--ink);color:var(--cream);padding:22px 6%;font-size:13px}.ribbon span:nth-child(even){color:var(--yellow);font-size:20px}.section{padding-block:95px}.section-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;align-items:end;margin-bottom:44px}.section-heading>p{color:var(--muted);max-width:400px;margin:0 0 24px}.services article{display:grid;grid-template-columns:60px 1fr 220px;gap:24px;align-items:start;border-top:1px solid var(--line);padding:28px 0}.services article:last-child{border-bottom:1px solid var(--line)}.services p{margin:0;max-width:650px;color:var(--muted);font-size:15px}.service-number{font-size:12px;padding-top:6px}.service-tag{font-size:11px;justify-self:end;border:1px solid var(--line);padding:6px 12px;border-radius:30px}.portfolio{background:#e9ede5}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:30px}.gallery figure:nth-child(2){margin-top:65px}.gallery-open{display:block;position:relative;text-decoration:none}.gallery img{width:100%;height:auto;display:block}.expand{display:block;background:var(--ink);color:white;padding:12px 16px;font-size:12px;text-align:right}.gallery-open:hover .expand{background:#345149}figcaption{padding-top:16px;font-size:14px;display:flex;justify-content:space-between}figcaption small{color:var(--muted)}.before-after{display:grid;grid-template-columns:1fr .85fr;gap:100px;align-items:center}.before-after p:not(.eyebrow){max-width:440px;color:var(--muted)}.before-after img{display:block;width:100%;height:auto}.text-link{display:inline-block;margin-top:20px;text-underline-offset:7px;font-weight:600;font-size:14px}.area{background:#e9ede5}.area-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.area-grid p{margin-top:0}.towns{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}.towns span{border:1px solid #a7b5a9;padding:7px 17px;border-radius:30px;font-size:13px}.towns span:first-child{background:var(--ink);color:white;border-color:var(--ink)}.contact{background:var(--ink);color:var(--cream)}.contact .eyebrow{color:var(--yellow)}.contact-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:100px}.contact-grid>div>p{max-width:550px;color:#becdc8}.light{border-color:#92a4a0;color:white}address{font-style:normal;display:flex;align-items:start;flex-direction:column;border-left:1px solid #456068;padding-left:50px;overflow-wrap:anywhere}address span{font-size:10px;letter-spacing:1.7px;color:#a6b9b3;margin-top:22px}address span:first-child{margin-top:0}address a{text-decoration:none}address a:hover{text-decoration:underline}address .phone{font-family:Manrope,sans-serif;font-size:34px;letter-spacing:-1px;color:var(--yellow)}address p{font-size:13px;margin:8px 0 18px;color:#becdc8}footer{display:flex;justify-content:space-between;gap:20px;padding-block:30px;font-size:11px}footer a{text-decoration:none}.footer-name{font-weight:700}.footer-name small{font-weight:400}.mobile-contact{display:none}.skip{position:fixed;top:-100px;left:16px;z-index:30;background:var(--yellow);padding:12px}.skip:focus{top:10px}dialog{width:min(1100px,95vw);max-height:94dvh;border:0;background:var(--cream);color:var(--ink);padding:18px;overscroll-behavior:contain}dialog::backdrop{background:#142e35e8}.lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.lightbox-bar p{margin:0;font-size:13px}.close-dialog{border:1px solid var(--line);background:var(--cream);padding:8px 12px;white-space:nowrap}dialog img{display:block;max-width:100%;height:auto;margin:auto}dialog>a{display:block;margin-top:16px;font-size:13px}body.modal-open{overflow:hidden}
@media(min-width:1500px){.hero-visual{max-width:430px;justify-self:end}}
@media(max-width:1050px){nav{gap:15px}nav a{font-size:12px}.hero{gap:30px}.hero-foot{margin-top:25px}.brand{gap:10px}.before-after,.contact-grid{gap:50px}.services article{grid-template-columns:40px 1fr 180px}.hero .button{font-size:12px;padding:12px}.section{padding-block:70px}}
@media(max-width:780px){html{scroll-padding-top:90px}.site-header{padding:14px 6%;flex-wrap:wrap}.brand{font-size:14px}.brand small{font-size:8px}.menu-toggle{display:flex;gap:14px;border:1px solid var(--line);padding:8px 12px;background:transparent;font-size:12px}nav{display:none;width:100%;align-items:stretch;flex-direction:column;gap:0}nav.is-open{display:flex}nav a{padding:12px 0;border-top:1px solid var(--line);font-size:14px}nav .nav-cta{padding:12px;margin-top:6px;text-align:center}.hero{grid-template-columns:1fr;padding-block:40px;gap:35px}h1{font-size:clamp(39px,8vw,62px)}.hero-visual{max-width:420px;justify-self:center;padding:12px 12px 0;transform:none}.hero-visual img{width:100%}.hero-foot{margin-top:28px}.lead{font-size:16px}.ribbon{gap:13px;font-size:11px}.ribbon span:nth-child(even){display:none}.section-heading{grid-template-columns:1fr;gap:0;margin-bottom:25px}.section-heading>p{margin-top:0;max-width:520px}.section{padding-block:55px}.services article{grid-template-columns:28px 1fr;gap:13px;padding:24px 0}.service-tag{grid-column:2;justify-self:start}.services p{font-size:14px}h3{font-size:22px}.gallery{gap:18px}.gallery figure:nth-child(2){margin-top:35px}.gallery figcaption{font-size:12px;gap:10px}.before-after,.area-grid,.contact-grid{grid-template-columns:1fr;gap:30px}.before-after figure{max-width:460px;justify-self:center}.before-after p:not(.eyebrow){max-width:none}address{border-left:0;border-top:1px solid #456068;padding:25px 0 0}.contact .actions{margin-top:22px}footer{flex-wrap:wrap;padding-bottom:100px}.mobile-contact{position:fixed;bottom:0;left:0;width:100%;z-index:15;display:grid;grid-template-columns:1.5fr 1fr;background:var(--ink);padding:10px 5% calc(10px + env(safe-area-inset-bottom));gap:9px;border-top:1px solid #456068}.mobile-contact a{font-size:12px;text-decoration:none;text-align:center;padding:12px 4px;color:white;border:1px solid #81948e}.mobile-contact a:first-child{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}.topline{font-size:10px}.contact h2{font-size:35px}}
@media(max-width:450px){.gallery{grid-template-columns:1fr;gap:30px}.gallery figure:nth-child(2){margin-top:0}.hero .actions{flex-direction:column}.hero .button{font-size:13px;padding:15px}.hero-foot{font-size:10px}.eyebrow{font-size:10px;letter-spacing:1.5px}.contact .button{width:100%}.lightbox-bar p{font-size:11px}footer .footer-name{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Original photographs keep their full proportions, including the supplied comparisons. */
.hero-visual{transform:none;padding:0;background:#e5e9df}.hero-visual figcaption{padding:16px;flex-wrap:wrap}.hero{grid-template-columns:1.1fr 1fr}.hero-visual img{aspect-ratio:4/3;object-fit:contain}.filters{display:flex;flex-wrap:wrap;gap:10px}.filters button{background:transparent;color:var(--ink);border:1px solid #a7b5a9;border-radius:30px;padding:10px 17px;font-size:13px}.filters button[aria-pressed=true]{background:var(--ink);color:var(--cream);border-color:var(--ink)}.gallery-count{font-size:12px;color:var(--muted);margin:18px 0}.gallery{align-items:start}.gallery figure:nth-child(2){margin-top:0}.gallery figure{background:var(--cream)}.gallery figcaption{padding:15px}.gallery figure[hidden]{display:none}.gallery img{height:auto;object-fit:contain}.before-after{grid-template-columns:1fr 1fr;gap:60px}.before-after figure{max-width:none}.hero-visual{max-width:none}
@media(max-width:780px){.hero{grid-template-columns:1fr}.hero-visual{width:100%;max-width:600px}.before-after{grid-template-columns:1fr;gap:30px}.filters{gap:8px}.filters button{font-size:12px;padding:9px 13px}}

.brand-logo{display:block;width:80px;height:80px;object-fit:contain;flex-shrink:0}html{scroll-padding-top:135px}@media(max-width:780px){.brand-logo{width:64px;height:64px}html{scroll-padding-top:120px}}
@media(max-width:450px){.site-header{gap:12px}.brand{gap:10px;font-size:12px;letter-spacing:1.5px}.brand small{font-size:6.5px;letter-spacing:.8px}.menu-toggle{gap:8px;padding:8px 10px}}

/* Brand colours: blue leads, with yellow, green and red paint accents. */
:root{--ink:#102f59;--cream:#fffdf7;--yellow:#ffdb45;--muted:#435d74;--line:#cbd9e6;--brand-blue:#174e9b;--brand-green:#177746;--brand-red:#ba373b}
body{background:var(--cream)}
.topline{background:#12386d;color:#fff}
.site-header{background:#fff;border-bottom:4px solid transparent;border-image:linear-gradient(90deg,#174e9b 0 40%,#ffdb45 40% 65%,#177746 65% 85%,#ba373b 85%) 1}
.brand small{color:var(--brand-blue)}
nav a:hover,.text-link:hover{color:var(--brand-green)}
.nav-cta{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff}
nav .nav-cta:hover{background:#103c7b;color:#fff}
.menu-toggle{border-color:#b9cde8;background:#edf4ff;color:var(--ink)}
.hero{position:relative;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0 calc((100% - 100vw)/2);background:#fff3bf;z-index:-1}
.hero .eyebrow{color:#2d5f47}
.dot{background:var(--brand-green)}
h1 em{color:var(--brand-blue);text-decoration:underline;text-decoration-color:#e4ae26;text-decoration-thickness:4px;text-underline-offset:9px}
.hero .lead{color:#3e5265}
.hero .small-note{color:#4f5e4c}
.primary{background:var(--brand-green);color:#fff;border-color:var(--brand-green)}
.primary:hover{background:#105c35;border-color:#105c35}
.outline{background:#fffdf5;border-color:var(--brand-blue);color:var(--brand-blue)}
.outline:hover{background:#e6effc}
.hero-foot{border-color:#ddcd91}
.hero-visual{background:#fff;border:7px solid #fff;box-shadow:12px 12px 0 #f2ce48}
.hero-visual figcaption{background:var(--brand-blue);color:#fff;padding:14px}
.ribbon{background:var(--brand-blue);color:#fff;border-bottom:5px solid var(--yellow)}
.eyebrow{color:var(--brand-blue)}
.services article{border-top:0;border-left:4px solid var(--service-accent);padding:25px 22px;margin-bottom:12px;background:var(--service-bg)}
.services article:nth-child(5n+1){--service-accent:#174e9b;--service-bg:#eaf2ff}
.services article:nth-child(5n+2){--service-accent:#177746;--service-bg:#e7f4e9}
.services article:nth-child(5n+3){--service-accent:#ba373b;--service-bg:#fff0eb}
.services article:nth-child(5n+4){--service-accent:#9a6b00;--service-bg:#fff5d1}
.services article:nth-child(5n+5){--service-accent:#174e9b;--service-bg:#eaf2ff}
.services article:last-child{border-bottom:0}
.service-number{color:var(--service-accent);font-weight:700}
.service-tag{background:#ffffffb8;border-color:var(--service-accent);color:var(--service-accent)}
.portfolio{background:#eaf2ff}
.filters button{background:#fff;border-color:#8aa8ce}
.filters button:hover{background:#d6e6fb}
.filters button[aria-pressed=true]{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff}
.gallery figure{background:#fff;border-bottom:4px solid var(--brand-blue)}
.gallery figure:nth-child(3n+2){border-color:var(--brand-green)}
.gallery figure:nth-child(3n){border-color:var(--brand-red)}
.expand{background:#174e9b}
.gallery-open:hover .expand{background:#103c7b}
.before-after .eyebrow{color:var(--brand-red)}
.before-after figure{border:7px solid #fff;box-shadow:10px 10px 0 #f3d36a}
.before-after figcaption{padding:14px;background:#fff4cb;color:var(--ink)}
.area{background:#e1f2e6;border-top:5px solid #177746}
.area .eyebrow{color:#145e39}
.towns span{background:#fff;border-color:#7ba98a;color:#195535}
.towns span:first-child{background:var(--brand-green);border-color:var(--brand-green);color:#fff}
.contact{background:#12386d;border-top:7px solid var(--yellow);color:#fff}
.contact .eyebrow{color:var(--yellow)}
.contact-grid>div>p,address p{color:#e1ebfa}
.contact .primary{background:var(--yellow);border-color:var(--yellow);color:#102f59}
.contact .primary:hover{background:#f3c72b;border-color:#f3c72b}
.light{border-color:#a6bfe2;color:#fff}
.light:hover{background:#214d89}
address{border-color:#6d91c1}
address span{color:#d0dff4}
footer{color:#214a7b}
.mobile-contact{background:#12386d;border-top:3px solid var(--yellow)}
.mobile-contact a{border-color:#9fb8dc;color:#fff}
.mobile-contact a:first-child{background:var(--brand-green);border-color:#54b17c;color:#fff}
a:focus-visible,button:focus-visible{outline-color:#ba373b}
.contact a:focus-visible,.mobile-contact a:focus-visible{outline-color:var(--yellow)}
@media(max-width:780px){.hero-visual{box-shadow:7px 7px 0 #f2ce48}.services article{padding:22px 15px}.before-after figure{box-shadow:6px 6px 0 #f3d36a}.hero{padding-bottom:48px}}

/* Videos retain their original vertical framing and load only on demand. */
.video-section{background:#fff4cb;border-top:5px solid var(--yellow)}
.video-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}
.video-card{min-width:0;background:#fff;border-bottom:4px solid var(--brand-blue)}
.video-card:nth-child(3n+2){border-color:var(--brand-green)}
.video-card:nth-child(3n){border-color:var(--brand-red)}
.video-card video{display:block;width:100%;aspect-ratio:9/16;object-fit:contain;background:#10243a}
.video-card video:focus-visible{outline:3px solid var(--brand-red);outline-offset:4px}
.video-card figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;font-size:13px}
.video-card figcaption small{white-space:nowrap;color:var(--muted)}
.video-error{margin:0;padding:0 16px 16px;font-size:13px;color:var(--muted)}
.video-album-link{margin:28px 0 0}
@media(max-width:1050px) and (min-width:781px){nav{gap:12px}.site-header{gap:15px}nav .nav-cta{padding:10px}}
@media(max-width:780px){.video-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.video-card figcaption{flex-wrap:wrap;gap:4px;padding:12px}}
@media(max-width:450px){.video-gallery{grid-template-columns:1fr;gap:28px}}

/* Clear next steps, retaining the original GS PINTURAS palette. */
.process{border-bottom:1px solid var(--line)}
.process-steps{list-style:none;counter-reset:steps;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:0 0 30px;padding:0}
.process-steps li{counter-increment:steps;border-top:3px solid var(--brand-green);padding-top:20px}
.process-steps li::before{content:"0" counter(steps);display:block;color:var(--brand-green);font-family:Manrope,sans-serif;font-size:26px;font-weight:700;margin-bottom:16px}
.process-steps h3{font-size:21px;letter-spacing:-.5px}
.process-steps p{color:var(--muted);font-size:15px}
.hero .primary{font-size:15px;padding:18px 22px;box-shadow:0 4px 0 #105c35}
.nav-cta{white-space:nowrap}
a,button{touch-action:manipulation}
.menu-toggle,.close-dialog,.topline a{min-height:44px;display:inline-flex;align-items:center}
.menu-toggle{display:none}
body.modal-open .mobile-contact{visibility:hidden}
@media(max-width:1200px){.site-header{flex-wrap:wrap;gap:12px}.menu-toggle{display:inline-flex}nav{display:none;width:100%;align-items:stretch;flex-direction:column;gap:0}nav.is-open{display:flex}nav a{padding:12px 0;border-top:1px solid var(--line);font-size:14px}nav .nav-cta{padding:12px;margin-top:6px;text-align:center}}
@media(max-width:780px){.process-steps{grid-template-columns:1fr;gap:20px}.process-steps li{display:grid;grid-template-columns:42px 1fr;column-gap:12px}.process-steps li::before{grid-row:1/3;margin:0}.process-steps h3{margin:0}.process-steps p{grid-column:2;margin-bottom:0}.hero .primary{font-size:14px}.mobile-contact{grid-template-columns:1.7fr 1fr}.mobile-contact a{min-height:48px;display:flex;align-items:center;justify-content:center;font-weight:700}.mobile-contact a:last-child{font-size:11px}footer{padding-bottom:calc(110px + env(safe-area-inset-bottom))}html{scroll-padding-bottom:100px}}

.reviews{background:#eaf2ff;border-top:4px solid var(--brand-blue)}
.reviews-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}
.reviews-link{border-left:3px solid var(--brand-green);padding-left:30px}
.reviews-link>p:first-child{color:var(--muted);margin-top:0}
@media(max-width:780px){.reviews-grid{grid-template-columns:1fr;gap:24px}.reviews-link{padding-left:20px}.reviews-link .button{font-size:12px}}

.video-original{margin:0;padding:0 16px 16px;font-size:12px}.video-original a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px}

/* The supplied cover stays complete, including its branding and contacts. */
.hero-cover img{aspect-ratio:16/9;object-fit:contain}
@media(max-width:780px){.hero-cover{order:-1}}
