@font-face{font-family:Poppins;src:url('assets/poppins.ttf');font-weight:400;font-display:swap}@font-face{font-family:Poppins;src:url('assets/poppins-semibold.ttf');font-weight:600;font-display:swap}@font-face{font-family:'Special Gothic';src:url('assets/special-regular.ttf');font-weight:400;font-display:swap}:root{--blue:#154389;--navy:#1c2a4b;--gray:#e5e3e3;--ink:#262525;--red:#bf1826}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;font:400 1rem/1.75 Poppins,Arial,sans-serif;color:var(--ink);background:#fff}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--red);outline-offset:5px}img{display:block;max-width:100%}header{padding:26px 5%;display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid var(--gray)}.brand{display:flex;flex-direction:column;gap:10px}.brand img{width:220px;height:auto}.brand span{font-size:.75rem;letter-spacing:.025em;color:var(--navy)}nav{display:flex;gap:28px;font-size:.9rem}nav a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:7px}.button{display:inline-flex;align-items:center;justify-content:center;padding:16px 25px;background:var(--blue);color:#fff;font-size:.95rem;font-weight:600;line-height:1.5;min-height:52px;transition:background .2s}.button:hover{background:var(--navy)}.small{font-size:.875rem;padding:13px 19px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:640px}.hero-copy{align-self:center;padding:60px 10%}.eyebrow{font-size:.8rem;letter-spacing:.14em;margin:0 0 24px;font-weight:600}.blue{color:var(--blue)}h1,h2,h3{font-family:'Special Gothic',Arial,sans-serif;font-weight:400;margin:0;line-height:1.12;color:var(--navy)}h1{font-size:clamp(3rem,5.2vw,5.2rem);letter-spacing:-.035em}h1 em{font-style:normal;color:var(--blue)}.lead{margin:27px 0 33px;max-width:490px;color:#56565b;font-size:1.05rem}.hero-photo{position:relative;min-height:640px;overflow:hidden}.hero-photo img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 66%}.blue-divider{height:18px;background:var(--blue)}.wrap{width:min(1320px,100%);padding-left:5%;padding-right:5%;margin:auto}.services{padding-top:85px;padding-bottom:75px}.section-heading{text-align:center;margin-bottom:35px}h2{font-size:clamp(2.3rem,3.5vw,3.7rem);letter-spacing:-.025em}.section-heading p{color:#626266;margin:20px auto 0;max-width:700px}.service-map{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,2.5fr) minmax(180px,1fr);grid-template-rows:repeat(3,minmax(145px,auto));gap:18px 20px;align-items:center}.vehicle{grid-column:2;grid-row:1/4;position:relative;aspect-ratio:1000/650;align-self:center}.vehicle>img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}.service-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 1px 1px white)}.pin{position:absolute;display:grid;place-items:center;width:26px;height:26px;background:var(--blue);color:#fff;border:2px solid white;border-radius:50%;font-size:12px;font-weight:600;transform:translate(-50%,-50%)}.p1{left:41%;top:37.7%}.p2{left:47%;top:60%}.p3{left:56%;top:43.8%}.p4{left:72%;top:73%}.p5{left:61%;top:50.8%}.service h3{font-size:1.4rem;line-height:1.2}.service h3 span{display:block;color:var(--blue);font-family:Poppins,sans-serif;font-weight:600;font-size:.8rem;margin-bottom:10px}.service p{font-size:.9rem;color:#606065;margin:13px 0 0;line-height:1.7}.s1{grid-column:1;grid-row:1}.s2{grid-column:1;grid-row:3}.s3{grid-column:3;grid-row:1}.s4{grid-column:3;grid-row:2}.s5{grid-column:3;grid-row:3}.service-cta{text-align:center;margin-top:32px}.about{background:var(--navy);color:var(--gray);padding:75px 0}.about-heading{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-bottom:45px;align-items:center}.about h2{color:white}.about-heading p:not(.eyebrow){margin:0 0 16px}.outline.button{border:1px solid #b0bacc;background:transparent;margin-top:9px;font-size:.9rem}.outline.button:hover{background:var(--blue)}.gallery{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:18px}.gallery figure{margin:0;min-width:0}.gallery a{display:block;height:355px;overflow:hidden}.gallery img{height:100%;width:100%;object-fit:cover;object-position:center 60%;transition:transform .3s}.gallery a:hover img{transform:scale(1.025)}.gallery figcaption{font-size:.875rem;margin-top:12px}.reviews{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-top:85px;padding-bottom:85px;align-items:center}.reviews-panel{border-left:3px solid var(--blue);padding:12px 0 12px 35px}.reviews-panel p{margin:0 0 25px;color:#626266}footer{border-top:1px solid var(--gray);padding:35px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:.875rem}footer img{width:190px;height:auto}footer p{margin:12px 0 0}footer>div{display:flex;flex-direction:column;gap:5px}footer a:hover{color:var(--blue);text-decoration:underline}.skip{position:absolute;top:-100px;background:#fff;padding:10px;z-index:10}.skip:focus{top:0}@media(min-width:1600px){.hero-copy{padding-left:max(10%,calc((100vw - 1320px)/2))}}@media(max-width:1100px){header{gap:20px;flex-wrap:wrap}.brand img{width:185px}nav{gap:22px}header .small{display:none}.service-map{grid-template-columns:minmax(160px,1fr) minmax(0,2fr) minmax(160px,1fr)}.service h3{font-size:1.25rem}.gallery{grid-template-columns:repeat(2,1fr)}.gallery a{height:380px}.hero,.hero-photo{min-height:570px}.hero-copy{padding:40px 10%}}@media(max-width:760px){header{padding:20px 6%;justify-content:center;gap:22px}.brand{text-align:center;align-items:center}.brand img{width:195px}.brand span{font-size:.75rem}nav{width:100%;justify-content:center;flex-wrap:wrap;gap:12px 24px;font-size:.875rem}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:40px 6% 38px}.hero-photo{min-height:490px;height:490px}.hero-photo img{object-position:50% 63%}h1{font-size:clamp(2.9rem,11vw,4rem)}.lead{font-size:1rem}.blue-divider{height:12px}.wrap{padding-left:6%;padding-right:6%}.services{padding-top:50px;padding-bottom:50px}.section-heading{text-align:left;margin-bottom:28px}.service-map{grid-template-columns:1fr;gap:25px}.vehicle{grid-column:1;grid-row:1;aspect-ratio:1000/650}.service{grid-column:1;grid-row:auto;border-bottom:1px solid var(--gray);padding-bottom:23px}.service h3{font-size:1.5rem;display:flex;gap:13px;align-items:baseline}.service h3 span{font-size:.875rem;flex-shrink:0;margin:0}.service p{font-size:1rem;margin-left:23px}.service-lines{display:none}.service-cta{text-align:left;margin-top:30px}.about{padding:50px 0}.about-heading{grid-template-columns:1fr;gap:28px;margin-bottom:30px}.gallery{gap:22px 14px}.gallery a{height:275px}.gallery figcaption{font-size:.8rem}.reviews{grid-template-columns:1fr;gap:25px;padding-top:50px;padding-bottom:50px}.reviews-panel{padding-left:22px}footer{align-items:flex-start;flex-direction:column;padding:30px 6%;gap:25px}}@media(max-width:390px){nav{gap:12px 17px}.gallery{grid-template-columns:1fr}.gallery a{height:390px}.hero-photo{height:450px;min-height:450px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.reviews{display:block}.reviews-heading{display:flex;justify-content:space-between;gap:35px;align-items:center;margin-bottom:38px}.rating-summary{flex-shrink:0}.rating-summary strong{font-size:2rem;color:var(--navy)}.rating-summary strong span{font-size:1.25rem;letter-spacing:2px;color:#9b6600;margin-left:12px}.rating-summary p{margin:5px 0;font-size:.9rem}.rating-summary small{font-size:.75rem;color:#707075}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.review-card{border:1px solid var(--gray);padding:28px;display:flex;flex-direction:column}.review-card h3{font-family:Poppins,sans-serif;font-weight:600;font-size:1rem;line-height:1.5}.stars{color:#9b6600;letter-spacing:3px;margin:12px 0}.review-card blockquote{margin:0 0 22px;font-size:1rem;line-height:1.8;color:#56565b}.review-card a{font-size:.875rem;text-decoration:underline;text-underline-offset:4px;color:var(--blue);margin-top:auto}@media(max-width:760px){.reviews-heading{display:block}.rating-summary{margin-top:25px}.review-grid{grid-template-columns:1fr}.review-card{padding:25px}}
/* Balanced service layout: one above the car, two on each side. */
.service-map{grid-template-columns:minmax(180px,1fr) minmax(0,2.6fr) minmax(180px,1fr);grid-template-rows:auto minmax(185px,auto) minmax(185px,auto);gap:25px 24px}.vehicle{grid-column:2;grid-row:2/4}.s1{grid-column:1;grid-row:2}.s2{grid-column:1;grid-row:3}.s3{grid-column:2;grid-row:1;text-align:center;max-width:380px;justify-self:center}.s4{grid-column:3;grid-row:2}.s5{grid-column:3;grid-row:3}.service h3{display:flex;align-items:flex-start;gap:12px;font-size:1.35rem}.s3 h3{justify-content:center}.service-icon{width:28px;height:28px;flex:0 0 28px;color:var(--blue)}.service-lines{filter:drop-shadow(0 1px 1px #fff)}.about-actions{display:flex;flex-wrap:wrap;gap:14px}.photo-carousel{min-width:0}.gallery{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc((100% - 36px)/3);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.gallery::-webkit-scrollbar{display:none}.gallery figure{scroll-snap-align:start}.gallery a{height:420px}.gallery-controls{display:flex;justify-content:center;gap:12px;margin-top:22px}.gallery-controls button{font:inherit;font-size:.875rem;color:white;background:transparent;border:1px solid #8190a6;padding:10px 18px;cursor:pointer;min-height:44px}.gallery-controls button:hover{background:var(--blue)}.gallery-controls button:focus-visible{outline:3px solid white;outline-offset:3px}@media(max-width:1000px){.service-map{grid-template-columns:minmax(150px,1fr) minmax(0,2fr) minmax(150px,1fr)}.gallery{grid-auto-columns:calc((100% - 18px)/2)}}@media(max-width:760px){.service-map{grid-template-columns:1fr;grid-template-rows:auto;gap:24px}.vehicle{grid-column:1;grid-row:1}.service.s1,.service.s2,.service.s3,.service.s4,.service.s5{grid-column:1;grid-row:auto;text-align:left;max-width:none;justify-self:stretch}.s3 h3{justify-content:flex-start}.service h3{font-size:1.5rem}.service p{margin-left:40px}.service-lines{display:none}.gallery{grid-template-columns:none;grid-auto-columns:82%;gap:15px}.gallery a{height:390px}.gallery-controls{gap:8px}.gallery-controls button{padding:10px 14px}}

.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:760px){.review-grid{grid-template-columns:1fr}}

/* Original flag artwork appears only as restrained brand details. */
.blue-divider{height:20px;background:var(--blue) url('assets/flag-blue.webp') center/240px auto}
.about{position:relative;isolation:isolate;overflow:hidden}
.about::before{content:"";position:absolute;right:0;top:0;width:200px;height:80px;background:url('assets/flag-blue.webp') center/220px;opacity:.48;z-index:-1;mask-image:linear-gradient(110deg,transparent,#000)}
footer{position:relative;padding-bottom:45px}
footer::after{content:"";position:absolute;bottom:0;left:0;right:0;height:10px;background:url('assets/flag-light.webp') center/210px}
footer img.footer-mark{width:90px;height:auto}
.gallery-controls button{width:48px;height:48px;padding:0;font-size:1.6rem;line-height:1;border-radius:50%}
.service-map{position:relative;column-gap:64px}
.service-connectors{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1;fill:none;stroke:var(--blue);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 1px #fff)}
.service-connectors circle{fill:white}
.service{position:relative;z-index:2;background:white}
@media(min-width:761px){.service-map{grid-template-columns:minmax(160px,1fr) minmax(0,2.3fr) minmax(160px,1fr);row-gap:40px}.s3{max-width:320px}}
@media(min-width:761px) and (max-width:1000px){.service-map{column-gap:36px}.service h3{font-size:1.15rem}.service p{font-size:.82rem}}
@media(max-width:760px){.service-connectors{display:none}.service-map{column-gap:0}.blue-divider{height:12px}.about::before{width:100px;height:50px}}

/* Centered navigation with the original tone-on-tone brand flag. */
header{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);gap:24px;background:linear-gradient(#1c2a4b55,#1c2a4b55),url('assets/flag-blue.webp') center/460px;color:white;border-bottom:0}
header .brand{justify-self:start}
header .brand img{filter:brightness(0) invert(1)}
header .brand span{color:white}
header nav{grid-column:2;justify-content:center}
header nav a:hover{color:white}
header a:focus-visible{outline-color:white}
@media(max-width:1100px){header{grid-template-columns:1fr;justify-items:center;gap:22px}header .brand{justify-self:center;align-items:center}header nav{grid-column:1}}
@media(min-width:761px){.service.s4{grid-row:3}.service.s5{grid-row:2}}
footer{background:#fff url('assets/flag-light.webp') center/460px;padding-bottom:35px}
footer::after{display:none}

/* A single original flag spans each surface; no tiled image boundaries. */
header,footer{position:relative;isolation:isolate;overflow:hidden;background-image:none}
header{background-color:var(--navy)}
header::before,footer::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;mask-image:url('assets/brand-flag-original.png');mask-position:center;mask-repeat:no-repeat;mask-size:280% auto;-webkit-mask-image:url('assets/brand-flag-original.png');-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:280% auto}
header::before{background:var(--blue);opacity:.72}
footer{background-color:#fff}
footer::before{background:var(--gray)}
.blue-divider{background-repeat:no-repeat;background-size:cover}
.about::before{background-repeat:no-repeat;background-size:cover}
@media(max-width:760px){footer::before{mask-size:auto 240%;-webkit-mask-size:auto 240%}}
