*, *::before, *::after {box-sizing: border-box;margin: 0;padding: 0;}:root {--primary: #0167b1;--primaryLight: #44b2e4;--primaryDark: #014b80;--secondary: #0a2540;--navyDeep: #07182c;--ice: #f3f9fd;--iceAlt: #e7f3fb;--line: #d8e7f2;--header: #13202e;--text: #51657a;--white: #ffffff;--gold: #f5b53c;--grad: linear-gradient(135deg, var(--primary) 0%, var(--primaryLight) 100%);--headingFont: 'Fraunces', Georgia, serif;--bodyFont: 'Outfit', system-ui, -apple-system, sans-serif;--radius: 1.25rem;--radiusSmall: 0.75rem;}body {font-family: var(--bodyFont);color: var(--text);background: var(--white);overflow-x: hidden;}html {scroll-behavior: smooth;}#bathroom-form {scroll-margin-top: 2rem;}img {display: block;max-width: 100%;}@media only screen and (min-width: 0rem) {#bath-hero {position: relative;min-height: 100svh;display: flex;flex-direction: column;background: var(--secondary);overflow: hidden;}#bath-hero .hero-bg {position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;object-position: center 40%;z-index: 0;opacity: 0.5;}#bath-hero .hero-overlay {position: absolute;inset: 0;z-index: 1;background: linear-gradient( to bottom, rgba(10, 37, 64, 0.6) 0%, rgba(10, 37, 64, 0.72) 50%, rgba(7, 24, 44, 0.94) 100% );}.hero-topbar {position: relative;z-index: 2;display: flex;align-items: center;justify-content: space-between;gap: 1rem;padding: 1.1rem 1.5rem;border-bottom: 1px solid rgba(255, 255, 255, 0.1);}.hero-logo img {height: 5.5rem;width: auto;}.hero-topbar-phone {display: flex;flex-direction: column;align-items: flex-end;text-decoration: none;}.hero-topbar-phone span:first-child {font-size: 0.6875rem;color: rgba(255, 255, 255, 0.6);text-transform: uppercase;letter-spacing: 0.08em;font-weight: 600;}.hero-topbar-phone span:last-child {font-family: var(--headingFont);font-size: 1.3rem;font-weight: 600;color: var(--white);}.hero-body {position: relative;z-index: 2;flex: 1;display: grid;grid-template-columns: 1fr;gap: 2rem;padding: 2.5rem 1.5rem 3rem;align-items: center;max-width: 72rem;margin: 0 auto;width: 100%;}.hero-headline {display: flex;flex-direction: column;align-items: center;text-align: center;gap: 0.5rem;}.hero-headline h1 {font-family: var(--headingFont);font-size: clamp(2.7rem, 8vw, 4.75rem);font-weight: 400;line-height: 1;color: var(--white);letter-spacing: -0.025em;}.hero-headline h1 em {font-style: italic;font-weight: 500;color: var(--primaryLight);}.hero-location {font-family: var(--headingFont);font-size: 1.0625rem;font-weight: 500;font-style: italic;color: #9fc9ee;margin-top: 0.35rem;}.hero-rating {display: flex;align-items: center;justify-content: center;gap: 0.6rem;margin-top: 1.4rem;font-size: 0.9375rem;font-weight: 500;color: var(--white);}.hero-stars {color: var(--gold);font-size: 1.05rem;letter-spacing: 0.08em;}.hero-quote {margin: 1.6rem auto 0;max-width: 34rem;}.hero-quote p {font-family: var(--headingFont);font-style: italic;font-size: 1.0625rem;line-height: 1.6;color: rgba(255, 255, 255, 0.92);}.hero-quote cite {display: block;margin-top: 0.5rem;font-style: normal;font-size: 0.875rem;font-weight: 600;color: #9fc9ee;}.hero-quote-meta {display: flex;align-items: center;justify-content: center;gap: 0.55rem;margin-top: 0.75rem;font-size: 0.9375rem;font-weight: 600;color: var(--white);}.hero-badge {display: inline-flex;align-items: center;gap: 0.5rem;margin-top: 1.4rem;padding: 0.6rem 1.05rem;border: 1px solid rgba(255, 255, 255, 0.28);border-radius: 999px;background: rgba(255, 255, 255, 0.06);color: #fff;font-size: 0.9rem;font-weight: 600;letter-spacing: 0.02em;white-space: nowrap;}.hero-badge svg {width: 1.15rem;height: 1.15rem;fill: none;stroke: var(--primaryLight);stroke-width: 2;stroke-linecap: round;stroke-linejoin: round;flex-shrink: 0;}.hero-form-card {position: relative;background: var(--white);border-radius: var(--radius);padding: 2.1rem 1.75rem 1.9rem;box-shadow: 0 1.75rem 4rem rgba(7, 24, 44, 0.45);overflow: hidden;}.hero-form-card::before {content: "";position: absolute;top: 0;left: 0;right: 0;height: 0.3rem;background: var(--grad);}.hero-form-card h2 {font-family: var(--headingFont);font-size: 1.9rem;font-weight: 500;color: var(--header);line-height: 1.1;letter-spacing: -0.015em;margin-bottom: 0.35rem;}.hero-form-card h2 span {color: var(--primary);}.hero-form-card .form-lead {font-size: 0.9rem;color: #7a8aa0;margin-bottom: 1.25rem;line-height: 1.5;}.form-grid {display: grid;grid-template-columns: 1fr;gap: 0.75rem;}.form-grid .full {grid-column: 1 / -1;}.form-grid label {display: flex;flex-direction: column;gap: 0.3rem;font-size: 0.72rem;font-weight: 600;color: #56657a;text-transform: uppercase;letter-spacing: 0.05em;}.form-grid input, .form-grid textarea, .form-grid select {padding: 0.72rem 0.875rem;border: 1.5px solid var(--line);border-radius: var(--radiusSmall);font-size: 0.9375rem;font-family: var(--bodyFont);color: var(--header);background: #fafcfe;width: 100%;transition: border-color 0.2s, background 0.2s;}.form-grid input:focus, .form-grid textarea:focus, .form-grid select: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: 0.9rem;padding: 0 1.5rem;height: 3.35rem;background: var(--grad);color: var(--white);font-family: var(--bodyFont);font-size: 1.0625rem;font-weight: 600;letter-spacing: 0.01em;border: none;border-radius: var(--radiusSmall);cursor: pointer;box-shadow: 0 0.6rem 1.4rem rgba(1, 103, 177, 0.32);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.75rem;font-size: 0.75rem;color: #8b98a8;line-height: 1.5;}.form-or-call {text-align: center;margin-top: 0.95rem;font-size: 0.875rem;color: #8b98a8;}.form-or-call a {color: var(--header);font-weight: 700;text-decoration: none;font-size: 1.05rem;}.form-or-call a:hover {color: var(--primary);}.form-success {display: none;text-align: center;padding: 2rem 1rem;background: var(--ice);border-radius: var(--radiusSmall);border: 1px solid var(--primaryLight);}.form-success p {color: var(--primaryDark);font-weight: 600;font-size: 1.05rem;margin: 0;line-height: 1.5;}}@media only screen and (min-width: 48rem) {.hero-body {grid-template-columns: 1fr 1fr;gap: 3rem;padding: 3rem 2rem 4rem;align-items: center;}.hero-headline {align-items: flex-start;text-align: left;}.hero-rating {justify-content: flex-start;font-size: 1.0625rem;margin-top: 1.6rem;}.hero-stars {font-size: 1.3rem;}.hero-quote {margin-left: 0;margin-right: 0;border-left: 3px solid var(--primaryLight);padding-left: 1.1rem;}.hero-quote p {font-size: 1.15rem;}.hero-quote-meta {justify-content: flex-start;}.hero-logo img {height: 7rem;}}@media only screen and (min-width: 64rem) {.hero-body {grid-template-columns: 1.1fr 0.9fr;padding: 4rem 2rem 5rem;}}@media only screen and (min-width: 0rem) {.section-label {font-size: 0.72rem;font-weight: 600;text-transform: uppercase;letter-spacing: 0.2em;color: var(--primary);margin-bottom: 0.85rem;text-align: center;}.section-title {font-family: var(--headingFont);font-size: clamp(2.1rem, 4.6vw, 3.4rem);font-weight: 400;color: var(--header);line-height: 1.08;margin-bottom: 2.75rem;letter-spacing: -0.02em;text-align: center;}.section-title .accent {font-style: italic;font-weight: 500;color: var(--primary);}}@media only screen and (min-width: 48rem) {.section-label, .section-title {text-align: left;}}@media only screen and (min-width: 0rem) {#gallery {padding: clamp(3.75rem, 7vw, 6.5rem) 1.5rem;background: var(--white);}.gallery-inner {max-width: 72rem;margin: 0 auto;}.gallery-grid {display: grid;grid-template-columns: 1fr;gap: 0.75rem;margin-top: 2rem;}.gallery-grid figure {position: relative;border-radius: var(--radiusSmall);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-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.72);color: #fff;font-size: 0.78rem;font-weight: 600;line-height: 1;-webkit-backdrop-filter: blur(2px);backdrop-filter: blur(2px);pointer-events: none;}.gallery-city svg {width: 0.85rem;height: 0.85rem;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);}}@media only screen and (min-width: 0rem) {#why-us {padding: clamp(3.75rem, 7vw, 6.5rem) 1.5rem;background: var(--ice);}.why-us-inner {max-width: 66rem;margin: 0 auto;}#why-us .section-title {margin-bottom: 1.1rem;}.why-intro {font-size: 1.0625rem;line-height: 1.7;color: var(--text);max-width: 46rem;margin: 0 auto 2.5rem;text-align: center;}.why-photos {display: grid;grid-template-columns: 1fr;gap: 1rem;max-width: 24rem;margin: 2.75rem auto 0;}.why-photo {display: block;width: 100%;height: 12rem;object-fit: cover;border-radius: var(--radius);box-shadow: 0 0.75rem 2rem rgba(10, 37, 64, 0.1);}.why-grid {display: grid;grid-template-columns: 1fr;gap: 1.25rem;}.why-card {background: var(--white);border: 1px solid var(--line);border-radius: var(--radius);padding: 1.85rem 1.6rem;box-shadow: 0 0.75rem 2rem rgba(10, 37, 64, 0.06);text-align: center;}.why-icon {width: 3rem;height: 3rem;border-radius: 0.85rem;background: var(--ice);border: 1px solid var(--line);display: flex;align-items: center;justify-content: center;margin: 0 auto 1.1rem;}.why-icon svg {width: 1.5rem;height: 1.5rem;stroke: var(--primary);fill: none;stroke-width: 1.8;stroke-linecap: round;stroke-linejoin: round;}.why-card h3 {font-family: var(--headingFont);font-size: 1.35rem;font-weight: 500;color: var(--header);margin-bottom: 0.5rem;}.why-card p {font-size: 1rem;line-height: 1.65;color: var(--text);}}@media only screen and (min-width: 48rem) {.why-intro {text-align: left;margin-left: 0;margin-right: 0;}.why-grid {grid-template-columns: repeat(3, 1fr);gap: 1.5rem;}.why-photos {grid-template-columns: 1fr 1fr;max-width: 42rem;gap: 1.5rem;}.why-photo {height: 15rem;}}@media only screen and (min-width: 0rem) {#reviews {padding: clamp(3.75rem, 7vw, 6.5rem) 1.5rem;background: var(--white);}.reviews-inner {max-width: 72rem;margin: 0 auto;}.reviews-grid {display: grid;grid-template-columns: 1fr;gap: 1.25rem;}.review-card {padding: 1.75rem;background: var(--ice);border: 1px solid var(--line);border-radius: var(--radius);display: flex;flex-direction: column;gap: 0.85rem;}.review-stars {color: var(--gold);font-size: 1.05rem;letter-spacing: 0.1em;}.review-text {font-size: 0.9375rem;line-height: 1.7;color: var(--text);}.review-name {font-family: var(--headingFont);font-size: 0.95rem;font-weight: 600;color: var(--header);margin-top: auto;}.review-name span {display: block;font-family: var(--bodyFont);font-size: 0.8rem;font-weight: 500;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) {#bottom-cta {position: relative;padding: clamp(4rem, 7vw, 6.5rem) 1.5rem;background: var(--secondary);text-align: center;overflow: hidden;}#bottom-cta::before {content: "";position: absolute;top: 0;left: 0;right: 0;height: 0.2rem;background: var(--grad);}.bottom-cta-inner {position: relative;z-index: 1;max-width: 42rem;margin: 0 auto;display: flex;flex-direction: column;align-items: center;gap: 1.2rem;}.cta-seal {width: 5rem;height: 5rem;border-radius: 50%;border: 1px solid rgba(255, 255, 255, 0.32);box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.05) inset;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 0.05rem;margin-bottom: 0.4rem;color: #fff;}.cta-seal .seal-top {font-size: 0.5rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.2em;color: var(--primaryLight);}.cta-seal .seal-year {font-family: var(--headingFont);font-style: italic;font-size: 1.4rem;line-height: 1;}.cta-seal .seal-bottom {font-size: 0.46rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.16em;color: rgba(255, 255, 255, 0.6);}#bottom-cta h2 {font-family: var(--headingFont);font-size: clamp(2.2rem, 5.4vw, 3.4rem);font-weight: 400;color: var(--white);line-height: 1.06;letter-spacing: -0.02em;}#bottom-cta h2 span {color: var(--primaryLight);font-style: italic;font-weight: 500;}#bottom-cta p {font-size: 1rem;color: rgba(255, 255, 255, 0.72);line-height: 1.65;}.cta-buttons {display: flex;flex-direction: column;gap: 0.85rem;width: 100%;max-width: 24rem;margin-top: 0.3rem;}.cta-btn-primary {display: block;padding: 0 2rem;height: 3.35rem;line-height: 3.35rem;background: var(--grad);color: var(--white);font-size: 1.0625rem;font-weight: 600;border-radius: var(--radiusSmall);text-decoration: none;text-align: center;box-shadow: 0 0.6rem 1.4rem rgba(1, 103, 177, 0.4);transition: transform 0.15s, box-shadow 0.2s;}.cta-btn-primary:hover {transform: translateY(-2px);box-shadow: 0 0.9rem 1.9rem rgba(1, 103, 177, 0.55);}.cta-btn-phone {display: block;width: 100%;text-align: center;color: var(--white);text-decoration: none;font-family: var(--headingFont);font-size: 1.2rem;font-weight: 600;letter-spacing: 0.01em;border: 2px solid rgba(255, 255, 255, 0.4);border-radius: var(--radiusSmall);padding: 0 2rem;height: 3.35rem;line-height: 3.2rem;transition: border-color 0.2s, background 0.2s;}.cta-btn-phone:hover {border-color: var(--white);background: rgba(255, 255, 255, 0.06);}}@media only screen and (min-width: 48rem) {.cta-buttons {flex-direction: row;max-width: none;justify-content: center;align-items: center;}.cta-btn-primary, .cta-btn-phone {width: auto;}}@media only screen and (min-width: 0rem) {#footer-strip {background: var(--navyDeep);padding: 1.25rem 1.5rem;text-align: center;}#footer-strip p {font-size: 0.8125rem;color: rgba(255, 255, 255, 0.42);line-height: 1.6;}#footer-strip .footer-services {color: rgba(255, 255, 255, 0.7);font-weight: 500;margin-bottom: 0.45rem;}#footer-strip .footer-areas {margin-bottom: 0.65rem;}}@media only screen and (min-width: 0rem) {.gallery-trigger {display: block;width: 100%;height: 100%;margin: 0;padding: 0;border: none;background: none;cursor: zoom-in;}.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.92);-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(--radiusSmall);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.78);color: #fff;cursor: pointer;display: flex;align-items: center;justify-content: center;box-shadow: 0 0.25rem 0.95rem rgba(0, 0, 0, 0.5);transition: background 0.2s ease, transform 0.15s ease;}.lightbox-close:hover, .lightbox-nav:hover {background: rgba(7, 24, 44, 0.92);}.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);}}@media (prefers-reduced-motion: reduce) {* {transition: none !important;scroll-behavior: auto !important;}.gallery-grid figure:hover img {transform: none;}}