@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600&family=Montserrat:wght@400;500;600&display=swap');
:root{--blue:#074878;--navy:#062d4e;--ink:#082f53;--paper:#f4f5f7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2vw}body{margin:0;color:var(--ink);background:var(--paper);font-family:Montserrat,Arial,sans-serif}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #5ab7ef;outline-offset:4px}h1,h2,h3,.eyebrow,nav,.button,.header-address,.header-book,.days,.section-title>a{font-family:Oswald,'Arial Narrow',sans-serif;font-weight:400}h1,h2,h3,.eyebrow,nav,.button,.header-book,.section-title>a{text-transform:uppercase}svg{display:block;flex-shrink:0}.header{position:absolute;z-index:2;left:0;top:0;width:100%;height:14vw;display:flex;align-items:flex-start;padding:2.8vw 4.1vw 0 6.4vw;gap:3.8vw;color:white;background:linear-gradient(#002b4b77,transparent)}.logo img{display:block;width:14.4vw;filter:invert(1)}nav{display:flex;gap:3.1vw;font-size:1.12vw;letter-spacing:.18vw;white-space:nowrap}.header nav{padding-top:.45vw;margin-left:.3vw}.header nav a:hover,footer nav a:hover{color:#a9d7f5}.header-address{margin-left:auto;display:flex;align-items:center;gap:.8vw;white-space:nowrap;font-size:1.08vw;padding-top:.45vw}.header-address svg{width:1.5vw;height:1.7vw;fill:white;stroke:#052e51}.header-book{font-size:1.1vw;white-space:nowrap;padding-top:.45vw;letter-spacing:.07vw}.menu{display:none}.hero{height:52.12vw;position:relative;overflow:hidden;background:radial-gradient(ellipse at 20% 90%,#074d7f 0,#03365c 50%,#03223d 100%);color:white}.hero-photo{position:absolute;right:0;top:0;width:52.86%;height:100%;background:url('assets/home-hero.webp') center/100% 100% no-repeat}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#03365c 0%,#03365c44 12%,transparent 32%),linear-gradient(#00243d 0%,transparent 20%)}.hero-content{position:relative;z-index:1;padding:20.7vw 0 0 6.4vw}.hero h1{font-size:6.4vw;letter-spacing:.66vw;line-height:1.2;font-weight:400}.rule{display:block;width:5.85vw;height:.26vw;min-height:2px;background:currentColor}.hero .rule{margin:1.65vw 0 2.15vw}.hero p{font-size:1.81vw;line-height:1.35;letter-spacing:.01vw}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:1.6vw;padding:0 1.9vw;height:5.4vw;background:#064a7d;color:white;letter-spacing:.2vw;font-size:1.37vw;border:1px solid transparent;cursor:pointer;transition:background .18s}.button:hover{background:#0c6097}.button span,.arrow{font-family:Arial,sans-serif;font-size:2.1vw;font-weight:300}.button.light{background:#f5f6f8;color:#052b4f}.button.light:hover{background:#dceaf3}.hero .button{margin-top:2.3vw;width:27.6vw}.directions{height:17.3vw;display:grid;grid-template-columns:repeat(3,1fr);color:white;background:radial-gradient(ellipse at 50% 40%,#07578a 0,#064272 65%,#063d67 100%);border-top:1px solid #c6deed;border-bottom:1px solid #c6deed}.directions>a{position:relative;display:flex;align-items:center;gap:2vw;padding:2.1vw 2.1vw;border-right:1px solid #c6deed;overflow:hidden}.directions>a:last-child{border-right:0}.directions>a:hover{background:#ffffff0b}.directions img{width:11.2vw;height:11.2vw;object-fit:contain;mix-blend-mode:screen;flex-shrink:0}.directions img.car-art{width:15.3vw;height:12.5vw;object-fit:cover;object-position:left;margin-left:-2.1vw;margin-right:.1vw}.directions h2{font-size:1.95vw;letter-spacing:.15vw;font-weight:500;margin-bottom:1.3vw;white-space:nowrap}.directions p{font-size:1.19vw;line-height:1.42}.directions .arrow{position:absolute;right:3.3vw;bottom:1.7vw}.about{height:33.5vw;position:relative;background:radial-gradient(ellipse at 70% 20%,#fff,#f1f3f6)}.about-photo{position:absolute;left:0;top:0;width:49.8%;height:100%;object-fit:fill;mix-blend-mode:multiply}.about-content{position:relative;margin-left:51.2%;padding-top:3.45vw;padding-right:3vw}.eyebrow{font-size:1.45vw;letter-spacing:.16vw;color:#9cafc1;margin-bottom:1.1vw}.about h2{font-size:3.05vw;line-height:1.15;letter-spacing:.18vw;font-weight:500}.about-description{font-size:1.43vw;line-height:1.4;margin-top:1.3vw}.advantages{display:grid;grid-template-columns:repeat(4,1fr);margin-top:2.25vw;margin-left:-.6vw}.advantages>div{border-right:1px solid #bdcbd8;text-align:center}.advantages>div:last-child{border:0}.advantages svg{height:4vw;width:4vw;margin:0 auto 1vw;color:#064171}.advantages p{font-size:1.44vw;line-height:1.15}.services{height:37.3vw;color:white;padding:2.35vw 4.1vw 2.5vw;background:radial-gradient(ellipse at 45% 30%,#095786 0,#064674 65%,#063d67 100%)}.section-title{display:flex;align-items:center;justify-content:space-between}.section-title h2{font-size:2.95vw;letter-spacing:.22vw;line-height:1.2}.section-title>a{font-size:1.13vw;letter-spacing:.18vw;display:flex;align-items:center;gap:1.2vw;color:#c2d5e5}.section-title>a span{font-family:Arial;font-size:2vw}.services>.rule{width:3.4vw;height:.18vw;margin:.9vw 0 1.6vw}.home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.12vw}.home-service{height:12.45vw;display:flex;border:1px solid #78a5c1;background:#012c4d99;overflow:hidden;transition:background .2s}.home-service:hover{background:#0b527b}.home-service>img{width:44.1%;height:100%;object-fit:cover}.home-service>div{position:relative;flex:1;padding:1.05vw 1.4vw}.home-service svg{width:3vw;height:3vw;margin-bottom:.65vw}.home-service h3{font-size:1.7vw;line-height:1.13;letter-spacing:.025vw}.home-service .arrow{position:absolute;right:1.3vw;bottom:.7vw}.contacts{height:28vw;display:grid;grid-template-columns:43.2% 29.3% 27.5%;background:radial-gradient(ellipse at 60% 30%,white,#f0f3f6)}.map{height:100%;width:100%;overflow:hidden;clip-path:polygon(0 0,87% 0,98% 100%,0 100%)}.map img{height:100%;width:100%;object-fit:fill}.contact-info{padding:3.3vw 2.7vw 2.7vw 2.5vw;position:relative}.contact-info:after{content:'';position:absolute;width:1px;right:0;top:3.7vw;bottom:3.8vw;background:#c6d0dc}.contacts h2{font-size:1.95vw;letter-spacing:.18vw;font-weight:500;line-height:1.2}.contact-info>.rule{width:2.9vw;height:.18vw;margin:1vw 0 2vw}.contact-info p{display:flex;gap:1.3vw;font-size:1.4vw;line-height:1.4;margin-bottom:1.8vw}.contact-info p svg{width:1.6vw;height:1.9vw;stroke-width:3}.contact-info .contact-phone{font-size:1.3vw;color:#657a90;margin-bottom:2.4vw}.contact-info .button{width:23.2vw;height:4.8vw;font-size:1.16vw;padding:0 1.65vw;letter-spacing:.16vw;white-space:nowrap}.hours{padding:3.3vw 3.8vw 2vw 5.4vw}.week{display:flex;align-items:center;gap:1.8vw;margin-top:2.7vw}.days{display:flex;flex-direction:column;gap:.18vw}.days span{display:block;border:1px solid #0c3b61;width:2.35vw;height:1.95vw;font-size:1.5vw;line-height:1.8vw;text-align:center;letter-spacing:.15vw}.week p{font-size:1.95vw;letter-spacing:.12vw;white-space:nowrap}.week sup{font-size:1.15vw}.weekend{margin-top:1.3vw;align-items:flex-start}.weekend>div>p+p{margin-top:.1vw;font-size:1.55vw;letter-spacing:.06vw}footer{height:8.6vw;background:linear-gradient(110deg,#042d4b,#002139);color:white;display:flex;align-items:center;padding:0 4.1vw;gap:3vw}footer .logo img{width:8.5vw}footer>p{font-size:1.02vw;line-height:1.65;color:#a4b6c6;margin-right:auto}footer nav{font-size:.95vw;letter-spacing:.15vw;gap:3.3vw}.up{border:1px solid #a2b7c6;width:3vw;height:3vw;display:grid;place-items:center;font-size:2vw;color:#c2d0db}dialog{border:1px solid #b7c9d8;background:#f5f7fa;color:var(--ink);width:min(480px,calc(100vw - 32px));padding:32px;max-height:90vh;overflow:auto}dialog::backdrop{background:#001e36bc;backdrop-filter:blur(4px)}dialog h2{font-size:30px;letter-spacing:2px;margin-bottom:24px}dialog .eyebrow{font-size:12px;letter-spacing:2px}dialog label{display:block;font-size:12px;margin-bottom:6px}dialog input,dialog select{width:100%;padding:11px 10px;background:white;color:var(--ink);border:1px solid #b7c9d8;margin-bottom:14px;min-width:0;font-size:13px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}dialog .button{width:100%;height:50px;font-size:13px;letter-spacing:1.5px;padding:0 18px}dialog .button span{font-size:24px}.form-note{font-size:11px;line-height:1.6;color:#6f8294;margin-top:12px}#form-result{background:#e0ecf5;padding:14px;margin-top:14px;font-size:13px;line-height:1.6}.close-dialog{position:absolute;right:12px;top:8px;background:none;border:0;color:var(--ink);font-size:30px;cursor:pointer}
@media(max-width:650px){html{scroll-padding-top:15px}.header{height:105px;padding:18px 22px;align-items:flex-start;gap:15px}.logo img{width:112px}.header nav{display:none;position:absolute;left:0;top:100px;right:0;padding:22px;margin:0;background:#052e50;font-size:16px;letter-spacing:2px;gap:23px}.header nav.open{display:flex;flex-direction:column}.header-address{margin-left:auto;font-size:12px;gap:5px;padding-top:10px}.header-address svg{width:15px;height:18px}.header-book{display:none}.menu{display:block;margin-top:3px;color:white;background:transparent;border:1px solid #8ba7bd;font-size:22px;padding:2px 7px}.hero{height:590px;background:#03365c}.hero-photo{top:150px;right:-80px;width:100%;height:440px;opacity:.85}.hero-photo:after{background:linear-gradient(90deg,#03365c 0%,transparent 70%),linear-gradient(#03365c,transparent 35%)}.hero-content{padding:150px 22px 0}.hero h1{font-size:43px;letter-spacing:5px}.rule{height:2px;width:52px}.hero .rule{margin:16px 0 22px}.hero p{font-size:14px;line-height:1.6}.hero .button{margin-top:135px;width:260px;height:51px;font-size:13px;padding:0 18px;letter-spacing:1.5px}.button span,.arrow{font-size:24px}.directions{height:auto;grid-template-columns:1fr}.directions>a{min-height:140px;padding:20px 25px;gap:24px;border-bottom:1px solid #8eb0c9;border-right:0}.directions>a:last-child{border-bottom:0}.directions img{width:105px;height:100px}.directions img.car-art{width:125px;height:100px;margin-left:-25px;margin-right:5px}.directions h2{font-size:22px;letter-spacing:1.7px;margin-bottom:10px}.directions p{font-size:12px;line-height:1.4}.directions p br:nth-child(2){display:none}.directions .arrow{right:25px;bottom:16px}.about{height:auto;padding-bottom:28px}.about-photo{position:relative;width:100%;height:290px;object-fit:cover;object-position:left;clip-path:polygon(0 0,80% 0,100% 100%,0 100%)}.about-content{margin:0;padding:25px 22px 0}.eyebrow{font-size:13px;letter-spacing:1.5px;margin-bottom:12px}.about h2{font-size:29px;letter-spacing:1.5px}.about-description{font-size:13px;margin-top:15px;line-height:1.6}.desktop{display:none}.advantages{margin:24px 0 0}.advantages svg{width:35px;height:35px;margin-bottom:12px}.advantages p{font-size:12px;line-height:1.3}.services{height:auto;padding:28px 18px}.section-title h2{font-size:27px;letter-spacing:2px}.section-title>a{font-size:10px;letter-spacing:1px;gap:8px}.section-title>a span{font-size:20px}.services>.rule{width:32px;margin:12px 0 18px}.home-grid{grid-template-columns:1fr 1fr;gap:10px}.home-service{height:155px;position:relative;display:block}.home-service>img{width:100%;height:100%;opacity:.5}.home-service>div{position:absolute;inset:0;padding:12px;background:linear-gradient(transparent,#002a49db)}.home-service svg{width:28px;height:28px;margin-bottom:10px}.home-service h3{font-size:18px;letter-spacing:.2px;line-height:1.15}.home-service .arrow{right:12px;bottom:6px}.contacts{height:auto;grid-template-columns:1fr 1fr}.map{grid-column:1/-1;height:240px;clip-path:none}.map img{object-fit:cover;object-position:center}.contact-info{padding:26px 15px 25px 20px}.contacts h2{font-size:20px;letter-spacing:1.5px}.contact-info>.rule{width:27px;height:2px;margin:12px 0 20px}.contact-info p{gap:8px;font-size:12px;line-height:1.5;margin-bottom:18px}.contact-info p svg{width:15px;height:18px}.contact-info .contact-phone{font-size:11px;margin-bottom:20px}.contact-info .button{width:100%;height:45px;font-size:10px;letter-spacing:1px;padding:0 10px;gap:5px}.contact-info .button span{font-size:17px}.contact-info:after{top:26px;bottom:26px}.hours{padding:26px 14px 25px 20px}.week{gap:12px;margin-top:24px}.days{gap:2px}.days span{width:21px;height:19px;font-size:14px;line-height:17px;letter-spacing:1px}.week p{font-size:16px;letter-spacing:.5px}.week sup{font-size:10px}.weekend{margin-top:14px}.weekend>div>p+p{font-size:13px;margin-top:4px;letter-spacing:0}footer{height:auto;min-height:100px;padding:20px;gap:20px}footer .logo img{width:72px}footer>p{font-size:9px;line-height:1.7}footer nav{display:none}.up{width:28px;height:28px;font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

@media(min-width:651px){.hero-photo{width:100%}.hero-photo:after{background:linear-gradient(90deg,#03365c 0%,#03365c 46.8%,#03365c88 53%,transparent 67%),linear-gradient(#022a47 0%,#022a47 12%,transparent 27%)}.hero h1{font-size:6.7vw;letter-spacing:.75vw}.home-service h3{text-transform:none;font-size:1.8vw;line-height:1.12}.home-service>div{padding-left:1.35vw;padding-right:.6vw}}
.directions img{filter:grayscale(1) contrast(2.8);mix-blend-mode:screen}.home-service h3{text-transform:none}

.directions img.car-art{transform:scaleX(-1)}@media(max-width:650px){.hero-photo{background-image:url('assets/home-hero-mobile.webp')}}

/* Clean generated homepage photograph. */
.hero-photo{width:100%;background-image:url('assets/home-hero-v2.webp');background-size:cover;background-position:center}
.hero-photo:after{background:linear-gradient(90deg,#03365c99 0%,#03365c55 32%,transparent 64%),linear-gradient(#01253e66,transparent 28%)}
@media(max-width:650px){.hero-photo{width:100%;right:0;background-image:url('assets/home-hero-v2.webp');background-size:cover;background-position:63% center}.hero-photo:after{background:linear-gradient(#03365c 0%,#03365c77 30%,transparent 65%),linear-gradient(90deg,#03365c99,transparent 85%)}}
@media(min-width:651px){.hero-photo:after{background:linear-gradient(90deg,#03365ce8 0%,#03365cc7 27%,#03365c88 43%,transparent 66%),linear-gradient(#01253e66,transparent 28%)}}

/* Three coordinated technical illustrations. */
.directions img,.directions img.car-art{width:11.2vw;height:11.2vw;object-fit:contain;object-position:center;margin:0;filter:none;mix-blend-mode:normal;transform:none}
@media(max-width:650px){.directions img,.directions img.car-art{width:105px;height:100px;margin:0;object-fit:contain}}

/* Restrained studio cutouts replace the outline illustrations. */
.directions{background:linear-gradient(115deg,#052d4b 0%,#083b60 48%,#042b49 100%);border-color:#a0b7c34d}
.directions>a{border-color:#a0b7c34d;gap:1.8vw}
.directions img,.directions img.car-art{width:11.7vw;height:12.2vw;object-fit:contain;filter:none;transform:none;mix-blend-mode:normal;margin:0}
.directions img.car-art{width:13.2vw;height:11.8vw;margin-left:-.65vw;margin-right:-.65vw}
.directions h2{font-weight:400;letter-spacing:.18vw}
.directions p{color:#d4e0e9}
.directions .arrow{color:#b8ccdb}
@media(max-width:650px){.directions>a{gap:24px;min-height:150px}.directions img{width:105px;height:110px}.directions img.car-art{width:120px;height:105px;margin-left:-7.5px;margin-right:-7.5px}.directions h2{letter-spacing:1.7px}}

.about-photo{object-fit:cover;object-position:32% center;mix-blend-mode:normal;clip-path:polygon(0 0,75% 0,100% 100%,0 100%)}
.advantages svg{color:#0b426b;shape-rendering:geometricPrecision}
@media(max-width:650px){.about-photo{object-position:28% center;clip-path:polygon(0 0,84% 0,100% 100%,0 100%)}}

.contacts .map{display:block;position:relative;background:#e5e9ed}.contacts .map img{object-fit:cover;object-position:50% 49%}.map-hint{position:absolute;left:1.7vw;bottom:1.6vw;display:flex;align-items:center;gap:1vw;background:#fffffff0;color:#083c65;padding:.75vw 1.1vw;font-family:Oswald,'Arial Narrow',sans-serif;font-size:1.1vw;letter-spacing:.1vw;text-transform:uppercase;box-shadow:0 2px 12px #032c4a12}.contact-info .contact-phone,.services-page .contact-info .contact-phone{color:#083d6b}.contact-phone a{white-space:nowrap;font-weight:500}.contact-phone a:hover{text-decoration:underline}@media(max-width:650px){.map-hint{left:16px;bottom:14px;padding:9px 12px;gap:12px;font-size:12px;letter-spacing:1px}.contact-phone a{font-size:12px}}
