 *, *::before, *::after {box-sizing: border-box;margin: 0;padding: 0;}:root {--primary: #0167b1;--primaryLight: #44b2e4;--primaryDark: #014b80;--secondary: #0a2540;--navyDeep: #07182c;--sky: #eef6fc;--skyAlt: #dcecf8;--ink: #13202e;--text: #51657a;--line: #d8e7f2;--white: #ffffff;--grad: linear-gradient(135deg, var(--primary) 0%, var(--primaryLight) 100%);--displayFont: 'Fraunces', Georgia, serif;--bodyFont: 'Outfit', system-ui, -apple-system, sans-serif;--radius: 1.1rem;--radiusSm: 0.65rem;--shadow: 0 1rem 2.75rem rgba(10, 37, 64, 0.14);}html {scroll-behavior: smooth;}body {font-family: var(--bodyFont);color: var(--text);background: var(--white);line-height: 1.6;overflow-x: hidden;}img {display: block;max-width: 100%;}h1, h2, h3 {font-family: var(--displayFont);font-weight: 500;line-height: 1.08;letter-spacing: -0.015em;color: var(--ink);}a {color: inherit;}#estimate {scroll-margin-top: 4.5rem;}.eyebrow {display: inline-flex;align-items: center;gap: 0.4rem;font-family: var(--bodyFont);font-size: 0.75rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.18em;color: var(--primary);margin-bottom: 0.9rem;}.eyebrow--light {color: var(--primaryLight);}.brush-ico {width: 1.05rem;height: 1.05rem;fill: currentColor;}.paint-stroke {display: block;width: 8rem;height: 0.7rem;margin: 0.85rem auto 0;color: var(--primaryLight);}.paint-stroke--light {color: var(--primaryLight);}.btn {display: inline-flex;align-items: center;justify-content: center;gap: 0.5rem;height: 3.35rem;padding: 0 1.75rem;border-radius: var(--radiusSm);font-family: var(--bodyFont);font-size: 1.02rem;font-weight: 600;text-decoration: none;cursor: pointer;border: 2px solid transparent;transition: transform 0.15s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease;}.btn--primary {background: var(--grad);color: var(--white);box-shadow: 0 0.6rem 1.4rem rgba(1, 103, 177, 0.38);}.btn--primary:hover {transform: translateY(-2px);box-shadow: 0 0.9rem 1.9rem rgba(1, 103, 177, 0.48);}.btn--primary:active {transform: translateY(0);}.btn--ghost {background: transparent;color: var(--white);border-color: rgba(255, 255, 255, 0.5);}.btn--ghost:hover {border-color: var(--white);background: rgba(255, 255, 255, 0.08);}@media only screen and (min-width: 0rem) {#site-header {position: sticky;top: 0;z-index: 100;background: rgba(10, 37, 64, 0.96);-webkit-backdrop-filter: blur(8px);backdrop-filter: blur(8px);border-bottom: 1px solid rgba(255, 255, 255, 0.08);}.header-inner {max-width: 72rem;margin: 0 auto;padding: 0.6rem 1.25rem;display: flex;align-items: center;justify-content: space-between;gap: 1rem;}.header-logo img {height: 2.75rem;width: auto;}.header-actions {display: flex;align-items: center;gap: 0.85rem;}.header-phone {display: none;align-items: center;gap: 0.4rem;color: var(--white);text-decoration: none;font-weight: 600;font-size: 0.95rem;}.header-phone svg {width: 1.1rem;height: 1.1rem;fill: none;stroke: var(--primaryLight);stroke-width: 1.8;stroke-linecap: round;stroke-linejoin: round;}.header-cta {display: inline-flex;align-items: center;height: 2.6rem;padding: 0 1.15rem;background: var(--grad);color: var(--white);font-weight: 700;font-size: 0.9rem;border-radius: var(--radiusSm);text-decoration: none;transition: transform 0.15s ease;}.header-cta:hover {transform: translateY(-1px);}}@media only screen and (min-width: 48rem) {.header-phone {display: inline-flex;}.header-logo img {height: 3.1rem;}}@media only screen and (min-width: 0rem) {#hero {position: relative;display: flex;align-items: center;justify-content: center;text-align: center;min-height: 33rem;padding: 3.25rem 1.25rem;overflow: hidden;background: var(--secondary);}#hero .hero-bg {position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;object-position: center 55%;z-index: 0;}#hero .hero-wash {position: absolute;inset: 0;z-index: 1;background: linear-gradient(to bottom, rgba(7, 24, 44, 0.62) 0%, rgba(7, 24, 44, 0.76) 55%, rgba(7, 24, 44, 0.92) 100%);}.hero-inner {position: relative;z-index: 2;max-width: 44rem;margin: 0 auto;display: flex;flex-direction: column;align-items: center;}#hero h1 {color: var(--white);font-weight: 500;font-size: clamp(2.9rem, 9vw, 4.75rem);max-width: 15ch;text-shadow: 0 2px 16px rgba(7, 24, 44, 0.55);}.hero-sub {color: rgba(255, 255, 255, 0.92);font-size: 1.15rem;margin-top: 1.1rem;max-width: 44ch;text-shadow: 0 1px 10px rgba(7, 24, 44, 0.5);}.hero-trust {display: flex;flex-direction: column;align-items: center;gap: 0.55rem;margin-top: 1.5rem;}.trust-chip {display: inline-flex;align-items: center;gap: 0.45rem;padding: 0.5rem 0.9rem;border-radius: 999px;background: rgba(255, 255, 255, 0.1);border: 1px solid rgba(255, 255, 255, 0.2);color: var(--white);font-size: 0.82rem;font-weight: 600;}.trust-chip svg {width: 1rem;height: 1rem;fill: none;stroke: var(--primaryLight);stroke-width: 1.9;stroke-linecap: round;stroke-linejoin: round;}.chip-stars {color: #f5b53c;letter-spacing: 0.05em;}.hero-buttons {display: flex;flex-direction: column;gap: 0.75rem;margin-top: 1.8rem;width: 100%;max-width: 22rem;}.hero-buttons .btn {width: 100%;}}@media only screen and (min-width: 48rem) {#hero {min-height: 40rem;padding: 4rem 2rem;}.hero-trust {flex-direction: row;flex-wrap: wrap;justify-content: center;}.hero-buttons {flex-direction: row;width: auto;max-width: none;justify-content: center;}.hero-sub {font-size: 1.25rem;}.hero-buttons .btn {width: auto;}}@media only screen and (min-width: 0rem) {#trust-strip {background: var(--secondary);padding: 0.9rem 1.25rem;}.trust-strip-inner {max-width: 72rem;margin: 0 auto;list-style: none;display: flex;flex-wrap: wrap;justify-content: center;gap: 0.55rem 1.75rem;}.trust-strip-inner li {display: inline-flex;align-items: center;gap: 0.45rem;color: rgba(255, 255, 255, 0.9);font-size: 0.85rem;font-weight: 600;}.trust-strip-inner svg {width: 1.05rem;height: 1.05rem;flex-shrink: 0;fill: none;stroke: var(--primaryLight);stroke-width: 1.9;stroke-linecap: round;stroke-linejoin: round;}}@media only screen and (min-width: 0rem) {#estimate {background: var(--sky);padding: clamp(3.25rem, 6vw, 5.5rem) 1.25rem;text-align: center;}.estimate-inner {max-width: 38rem;margin: 0 auto;}.estimate-inner h2 {font-size: clamp(2rem, 5.5vw, 3rem);}.estimate-lead {color: var(--text);margin-top: 1rem;font-size: 1.03rem;}.estimate-card {position: relative;background: var(--white);border-radius: var(--radius);padding: 1.9rem 1.5rem;margin-top: 1.9rem;box-shadow: var(--shadow);border: 1px solid var(--line);overflow: hidden;text-align: left;}.estimate-card::before {content: "";position: absolute;top: 0;left: 0;right: 0;height: 0.3rem;background: var(--grad);}.form-grid {display: grid;grid-template-columns: 1fr;gap: 0.85rem;}.form-grid label {display: flex;flex-direction: column;gap: 0.35rem;font-size: 0.72rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.06em;color: var(--text);}.form-grid input, .form-grid textarea {padding: 0.8rem 0.9rem;border: 1.5px solid var(--line);border-radius: var(--radiusSm);font-size: 0.95rem;font-family: var(--bodyFont);color: var(--ink);background: #fafcfe;width: 100%;transition: border-color 0.2s, background 0.2s;}.form-grid input:focus, .form-grid textarea:focus {outline: none;border-color: var(--primary);background: var(--white);}.form-grid textarea {min-height: 5.5rem;resize: vertical;}.form-submit {width: 100%;margin-top: 1rem;height: 3.35rem;background: var(--grad);color: var(--white);font-family: var(--bodyFont);font-size: 1.05rem;font-weight: 600;border: none;border-radius: var(--radiusSm);cursor: pointer;box-shadow: 0 0.6rem 1.4rem rgba(1, 103, 177, 0.3);transition: transform 0.15s, box-shadow 0.2s;}.form-submit:hover {transform: translateY(-2px);box-shadow: 0 0.9rem 1.9rem rgba(1, 103, 177, 0.42);}.form-submit:active {transform: translateY(0);}.form-reassure {text-align: center;margin-top: 0.8rem;font-size: 0.76rem;color: #8b98a8;}.form-success {display: none;text-align: center;padding: 2rem 1rem;background: var(--sky);border-radius: var(--radiusSm);border: 1px solid var(--primaryLight);}.form-success p {color: var(--primaryDark);font-weight: 600;font-size: 1.02rem;line-height: 1.5;}}@media only screen and (min-width: 0rem) {#gallery {background: var(--white);padding: clamp(3.25rem, 6vw, 5.5rem) 1.25rem;text-align: center;}.gallery-inner {max-width: 72rem;margin: 0 auto;}#gallery h2 {font-size: clamp(2rem, 5.5vw, 3rem);}.gallery-grid {display: grid;grid-template-columns: 1fr;gap: 0.75rem;margin-top: 2rem;}.gallery-grid figure {position: relative;border-radius: var(--radiusSm);overflow: hidden;aspect-ratio: 3 / 2;}.gallery-grid img {width: 100%;height: 100%;object-fit: cover;transition: transform 0.45s ease;}.gallery-grid figure:hover img {transform: scale(1.05);}.gallery-trigger {display: block;width: 100%;height: 100%;margin: 0;padding: 0;border: none;background: none;cursor: zoom-in;}.gallery-city {position: absolute;left: 0.6rem;bottom: 0.6rem;z-index: 2;display: inline-flex;align-items: center;gap: 0.3rem;padding: 0.32rem 0.62rem;border-radius: 999px;background: rgba(7, 24, 44, 0.8);color: #fff;font-size: 0.75rem;font-weight: 600;line-height: 1;pointer-events: none;}.gallery-city svg {width: 0.82rem;height: 0.82rem;fill: none;stroke: var(--primaryLight);stroke-width: 2;stroke-linecap: round;stroke-linejoin: round;}}@media only screen and (min-width: 48rem) {.gallery-grid {grid-template-columns: repeat(3, 1fr);gap: 1rem;}}@media only screen and (min-width: 0rem) {#difference {background: var(--sky);padding: clamp(3.25rem, 6vw, 6rem) 1.25rem;}.difference-inner {max-width: 68rem;margin: 0 auto;display: grid;grid-template-columns: 1fr;gap: 1.75rem;align-items: center;text-align: center;}.difference-media img {width: 100%;height: clamp(14rem, 55vw, 20rem);object-fit: cover;border-radius: var(--radius);box-shadow: var(--shadow);}.difference-copy h2 {font-size: clamp(1.9rem, 5vw, 2.9rem);}.difference-copy p {color: var(--text);margin-top: 1rem;font-size: 1.05rem;}.difference-copy strong {color: var(--ink);font-weight: 600;}}@media only screen and (min-width: 48rem) {.difference-inner {grid-template-columns: 1.05fr 1fr;gap: 3rem;text-align: left;}.difference-media img {height: clamp(18rem, 26vw, 24rem);}.difference-copy .eyebrow {display: inline-flex;}}@media only screen and (min-width: 0rem) {#process {background: var(--secondary);padding: clamp(3.25rem, 6vw, 6rem) 1.25rem;color: var(--white);text-align: center;}.process-inner {max-width: 52rem;margin: 0 auto;}#process h2 {color: var(--white);font-size: clamp(2rem, 5.5vw, 3rem);}.process-list {list-style: none;margin-top: 2.4rem;display: flex;flex-direction: column;text-align: left;}.process-step {display: flex;gap: 1.1rem;padding: 1.35rem 0;border-top: 1px solid rgba(255, 255, 255, 0.14);}.process-step:last-child {border-bottom: 1px solid rgba(255, 255, 255, 0.14);}.step-num {font-family: var(--displayFont);font-size: 1.7rem;font-weight: 600;color: var(--primaryLight);line-height: 1;flex-shrink: 0;width: 2.6rem;}.step-body h3 {color: var(--white);font-size: 1.3rem;margin-bottom: 0.3rem;}.step-body p {color: rgba(255, 255, 255, 0.78);font-size: 0.98rem;}}@media only screen and (min-width: 48rem) {.process-step {gap: 1.75rem;padding: 1.6rem 0;align-items: baseline;}.step-num {font-size: 2.1rem;width: 3.5rem;}.step-body {max-width: 46ch;}}@media only screen and (min-width: 0rem) {#reviews {background: var(--white);padding: clamp(3.25rem, 6vw, 6rem) 1.25rem;text-align: center;}.reviews-inner {max-width: 72rem;margin: 0 auto;}#reviews h2 {font-size: clamp(2rem, 5.5vw, 3rem);}.reviews-grid {display: grid;grid-template-columns: 1fr;gap: 1.1rem;margin-top: 2.2rem;text-align: left;}.review-card {position: relative;padding: 2.4rem 1.75rem 1.75rem;background: var(--sky);border: 1px solid var(--line);border-radius: var(--radius);display: flex;flex-direction: column;gap: 0.8rem;overflow: hidden;}.review-card::before {content: "";position: absolute;top: 0;left: 0;width: 100%;height: 0.3rem;background: var(--grad);}.review-mark {position: absolute;top: 0.6rem;right: 1.1rem;font-family: var(--displayFont);font-size: 3.4rem;line-height: 1;color: var(--skyAlt);}.review-stars {color: #f5b53c;font-size: 1.05rem;letter-spacing: 0.1em;}.review-card p {font-size: 0.95rem;color: var(--ink);line-height: 1.65;position: relative;}.review-card cite {font-family: var(--displayFont);font-style: normal;font-weight: 600;font-size: 0.95rem;color: var(--ink);margin-top: auto;}.review-card cite span {display: block;font-family: var(--bodyFont);font-weight: 500;font-size: 0.8rem;color: #8b98a8;margin-top: 0.1rem;}}@media only screen and (min-width: 48rem) {.reviews-grid {grid-template-columns: repeat(3, 1fr);gap: 1.5rem;align-items: start;}}@media only screen and (min-width: 0rem) {#final-cta {position: relative;background: var(--navyDeep);padding: clamp(4rem, 8vw, 7rem) 1.25rem;text-align: center;overflow: hidden;}.cta-bg {position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;object-position: center 50%;z-index: 0;}.cta-wash {position: absolute;inset: 0;z-index: 1;background: linear-gradient(to bottom, rgba(7, 24, 44, 0.82) 0%, rgba(7, 24, 44, 0.86) 100%);}.final-cta-inner {position: relative;z-index: 2;max-width: 44rem;margin: 0 auto;display: flex;flex-direction: column;align-items: center;}#final-cta h2 {color: var(--white);font-size: clamp(2rem, 5.5vw, 3.2rem);text-shadow: 0 2px 16px rgba(7, 24, 44, 0.5);}#final-cta p {color: rgba(255, 255, 255, 0.85);margin-top: 1rem;font-size: 1.05rem;text-shadow: 0 1px 10px rgba(7, 24, 44, 0.5);}#final-cta .hero-buttons {margin-top: 1.9rem;justify-content: center;}}@media only screen and (min-width: 0rem) {#footer {background: var(--navyDeep);padding: 2rem 1.25rem 5.5rem;text-align: center;border-top: 1px solid rgba(255, 255, 255, 0.08);}.footer-logo {height: 3rem;width: auto;margin: 0 auto 1rem;opacity: 0.9;}.footer-legal {font-size: 0.82rem;color: rgba(255, 255, 255, 0.5);}.footer-legal a {color: rgba(255, 255, 255, 0.75);text-decoration: none;font-weight: 600;}.footer-legal a:hover {color: var(--white);}}@media only screen and (min-width: 48rem) {#footer {padding-bottom: 2rem;}}@media only screen and (min-width: 0rem) {.mobile-bar {position: fixed;bottom: 0;left: 0;right: 0;z-index: 90;display: flex;gap: 0.6rem;padding: 0.6rem 0.85rem calc(0.6rem + env(safe-area-inset-bottom));background: rgba(10, 37, 64, 0.97);-webkit-backdrop-filter: blur(8px);backdrop-filter: blur(8px);border-top: 1px solid rgba(255, 255, 255, 0.1);}.mobile-bar-call {display: inline-flex;flex-direction: column;align-items: center;justify-content: center;width: 4rem;flex-shrink: 0;color: var(--white);text-decoration: none;font-size: 0.72rem;font-weight: 600;gap: 0.1rem;border: 1px solid rgba(255, 255, 255, 0.3);border-radius: var(--radiusSm);}.mobile-bar-call svg {width: 1.2rem;height: 1.2rem;fill: none;stroke: var(--primaryLight);stroke-width: 1.8;stroke-linecap: round;stroke-linejoin: round;}.mobile-bar-cta {flex: 1;display: inline-flex;align-items: center;justify-content: center;height: 3rem;background: var(--grad);color: var(--white);font-weight: 700;font-size: 1rem;text-decoration: none;border-radius: var(--radiusSm);}}@media only screen and (min-width: 48rem) {.mobile-bar {display: none;}}@media only screen and (min-width: 0rem) {.lightbox {position: fixed;inset: 0;z-index: 9999;display: none;align-items: center;justify-content: center;padding: clamp(1rem, 4vw, 3rem);background: rgba(7, 24, 44, 0.94);-webkit-backdrop-filter: blur(4px);backdrop-filter: blur(4px);}.lightbox.is-open {display: flex;}.lightbox-img {max-width: min(96vw, 78rem);max-height: 88vh;width: auto;height: auto;border-radius: var(--radiusSm);box-shadow: 0 1.5rem 4rem rgba(0,0,0,0.5);object-fit: contain;}.lightbox-close, .lightbox-nav {position: absolute;width: 3.25rem;height: 3.25rem;border: 1px solid rgba(255, 255, 255, 0.6);border-radius: 50%;background: rgba(7, 24, 44, 0.8);color: #fff;cursor: pointer;display: flex;align-items: center;justify-content: center;transition: background 0.2s ease, transform 0.15s ease;}.lightbox-close:hover, .lightbox-nav:hover {background: rgba(7, 24, 44, 0.95);}.lightbox-close:active, .lightbox-nav:active {transform: scale(0.94);}.lightbox-nav:active {transform: translateY(-50%) scale(0.94);}.lightbox-close {top: clamp(0.75rem, 2vw, 1.5rem);right: clamp(0.75rem, 2vw, 1.5rem);font-size: 1.6rem;line-height: 1;}.lightbox-nav {top: 50%;transform: translateY(-50%);}.lightbox-nav svg {width: 1.55rem;height: 1.55rem;fill: none;stroke: #fff;stroke-width: 2.6;stroke-linecap: round;stroke-linejoin: round;}.lightbox-prev {left: clamp(0.5rem, 2vw, 1.5rem);}.lightbox-next {right: clamp(0.5rem, 2vw, 1.5rem);}}a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {outline: 3px solid var(--primaryLight);outline-offset: 2px;}@media (prefers-reduced-motion: reduce) {* {transition: none !important;scroll-behavior: auto !important;}.gallery-grid figure:hover img {transform: none;}}