/* Shared service-page product system. */
@font-face {
  font-family: "Mona Sans VF";
  src: url("assets/fonts/MonaSansVF.woff2") format("woff2");
  font-weight: 200 900;
  font-stretch: 75% 125%;
  font-style: normal;
  font-display: swap;
}

:root {
  --mona: "Mona Sans VF", Arial, sans-serif;
  --ocean-ink: #0d1f26;
  --spin-aqua: #03b2d1;
  --deep-aqua: #087c91;
  --aqua-mist: #e8f8fa;
  --waterline: #d0dfe2;
  --muted: #596d75;
  --ease-out: cubic-bezier(.16, 1, .3, 1);
}

body { color: var(--ocean-ink); background: #fff; font-family: var(--mona); font-optical-sizing: auto; font-feature-settings: "ss03" on, "ss05" on; }
h1, h2, h3, p, .wordmark, .button, .header-cta, .breadcrumb, .eyebrow, .step-number, .hero-label, .network-note > span, .site-footer > span { font-family: var(--mona); }
.site-header { width: min(1280px, calc(100% - 48px)); height: 76px; border-bottom: 1px solid rgba(208,223,226,.75); }.wordmark { color: var(--spin-aqua); font-size: 25px; font-weight: 760; letter-spacing: -.09em; font-variation-settings: "wght" 760, "wdth" 96, "opsz" 30; }.desktop-nav { gap: 27px; }.desktop-nav a { padding: 8px 0; color: #455c65; font-size: 13px; font-weight: 580; letter-spacing: -.01em; }.desktop-nav a::after { bottom: 1px; height: 1.5px; border-radius: 999px; background: var(--spin-aqua); }.desktop-nav a:hover { color: var(--ocean-ink); }.header-cta { display: inline-flex; align-items: center; gap: 7px; padding: 10px 13px; border: 1px solid #078ba5; border-radius: 7px; background: var(--deep-aqua); font-size: 13px; font-weight: 680; letter-spacing: -.01em; transition: transform .2s var(--ease-out), background .2s ease, box-shadow .2s ease; }.header-cta:hover { background: #066d80; box-shadow: 0 6px 16px rgba(8,124,145,.22); transform: translateY(-2px); }

.service-hero { width: min(1280px, calc(100% - 48px)); min-height: 592px; grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr); overflow: hidden; margin: 26px auto 0; border: 1px solid #15333c; border-radius: 14px; background: #0d1f26; box-shadow: 0 12px 30px rgba(13,31,38,.1); isolation: isolate; }
.service-hero::before { z-index: -1; top: 0; left: 0; width: 60%; height: 100%; border: 0; border-radius: 0; background: linear-gradient(90deg, rgba(13,31,38,1), rgba(13,31,38,.98) 60%, rgba(13,31,38,.76)); animation: none; }.service-hero::after { display: none; }
.service-hero-copy { padding: clamp(50px, 6vw, 90px) clamp(30px, 6vw, 88px); }.breadcrumb { gap: 8px; margin-bottom: 36px; color: #a6e9ed; font-size: 11px; font-weight: 610; letter-spacing: .01em; text-transform: none; }.breadcrumb:hover { color: #fff; }.service-mark { width: 48px; height: 48px; margin-bottom: 19px; border: 1px solid rgba(172,241,244,.34); border-radius: 8px; color: #7ce5ed; background: rgba(3,178,209,.1); box-shadow: none; backdrop-filter: none; }.service-mark svg { width: 28px; height: 28px; }.eyebrow, .hero-kicker { color: #65e5ef; font-size: 11px; font-weight: 650; letter-spacing: .035em; line-height: 1.1; text-transform: none; }.hero-kicker { display: inline-flex; align-items: center; gap: 7px; }.hero-kicker::before { width: 7px; height: 7px; border-radius: 50%; background: #65e5bb; box-shadow: 0 0 0 4px rgba(101,229,187,.12); content: ""; }.service-hero h1 { max-width: 600px; margin-bottom: 19px; color: #fff; font-size: clamp(58px, 6.6vw, 90px); font-weight: 730; letter-spacing: -.077em; line-height: .88; font-variation-settings: "wght" 730, "wdth" 107, "opsz" 72; }.service-hero-copy > p:not(.eyebrow) { max-width: 430px; margin-bottom: 27px; color: #b8d3d7; font-size: 16px; font-weight: 470; line-height: 1.55; }.button { min-height: 48px; padding: 11px 15px; border-radius: 7px; font-size: 14px; font-weight: 690; letter-spacing: -.01em; transition: transform .2s var(--ease-out), background .2s ease, box-shadow .2s ease; }.button:hover { box-shadow: 0 8px 20px rgba(3,178,209,.24); transform: translateY(-2px); }.button span { transition: transform .2s var(--ease-out); }.button:hover span { transform: translateX(4px); }.button-deep { color: #06252c; background: #7ce5ed; border-color: #a5f4f7; }.button-deep:hover { background: #b5f8fa; }.button-light { color: #06252c; background: #7ce5ed; border-color: #a5f4f7; }.button-light:hover { background: #b5f8fa; }.hero-photo-wrap { min-height: 100%; }.hero-photo-wrap::before { z-index: 1; background: linear-gradient(90deg, #0d1f26 0%, rgba(13,31,38,.58) 22%, transparent 58%); }.hero-photo-wrap::after { right: 7%; bottom: 8%; border-color: rgba(124,229,237,.38); }.hero-photo { animation: service-product-arrive 1s .12s var(--ease-out) both; filter: saturate(.85) contrast(1.04); }.hero-label { color: #e4fcfd; font-size: 11px; font-weight: 620; letter-spacing: .01em; text-transform: none; }.hero-label i { background: #65e5bb; box-shadow: 0 0 0 5px rgba(101,229,187,.13); }

.service-intro { width: min(1180px, calc(100% - 48px)); grid-template-columns: .9fr 1.1fr; gap: clamp(44px, 10vw, 150px); margin: 120px auto; }.service-intro .eyebrow, .process-heading .eyebrow, .standard-lead .eyebrow, .related-heading .eyebrow { color: var(--deep-aqua); }.service-intro h2, .process-heading h2, .standard-lead h2, .network-copy h2, .related-heading h2, .pickup-content h2 { margin: 0; color: var(--ocean-ink); font-size: clamp(38px, 4.9vw, 64px); font-weight: 710; letter-spacing: -.068em; line-height: .93; font-variation-settings: "wght" 710, "wdth" 105, "opsz" 54; }.service-intro-copy { padding-top: 5px; }.service-intro-copy > p { color: var(--muted); font-size: 17px; line-height: 1.6; }.care-points { gap: 12px; margin-top: 28px; }.care-point { min-height: 110px; padding: 17px; border: 1px solid var(--waterline); border-radius: 9px; background: #fff; box-shadow: none; }.care-point b { color: var(--ocean-ink); font-size: 14px; font-weight: 670; letter-spacing: -.02em; }.care-point span { color: var(--muted); font-size: 12px; }

.service-gallery { width: min(1180px, calc(100% - 48px)); display: grid; grid-template-columns: 1.15fr .85fr; gap: 15px; margin: 112px auto; }.service-gallery figure { position: relative; min-height: 360px; overflow: hidden; margin: 0; border: 1px solid #bcd9dc; border-radius: 12px; background: #0d1f26; box-shadow: 0 12px 30px rgba(13,31,38,.08); }.service-gallery figure:nth-child(2) { min-height: 360px; }.service-gallery figure::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 30%, rgba(13,31,38,.86)); content: ""; }.service-gallery img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; filter: saturate(.82) contrast(1.05); transition: transform .8s var(--ease-out); }.service-gallery figure:hover img { transform: scale(1.045); }.service-gallery figcaption { position: absolute; z-index: 1; right: 24px; bottom: 22px; left: 24px; }.service-gallery small { display: block; margin-bottom: 6px; color: #b5f7f9; font-size: 11px; font-weight: 650; letter-spacing: .03em; }.service-gallery b { color: #fff; font-family: var(--mona); font-size: clamp(23px, 2.5vw, 33px); font-weight: 690; letter-spacing: -.06em; line-height: .94; }

.pricing-section { width: min(1180px, calc(100% - 48px)); display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(36px, 7vw, 100px); align-items: start; margin: 116px auto; padding: clamp(30px, 5vw, 58px); border: 1px solid #15333c; border-radius: 14px; color: #fff; background: #0d1f26; }.pricing-section .eyebrow { color: #65e5ef; }.pricing-section h2 { margin: 0 0 20px; color: #fff; font-family: var(--mona); font-size: clamp(38px, 4.8vw, 62px); font-weight: 710; letter-spacing: -.068em; line-height: .93; font-variation-settings: "wght" 710, "wdth" 105, "opsz" 54; }.pricing-intro > p:not(.eyebrow) { max-width: 360px; color: #b8d3d7; font-size: 15px; line-height: 1.6; }.price-list { overflow: hidden; border: 1px solid rgba(182,235,237,.25); border-radius: 10px; background: rgba(255,255,255,.06); }.price-row { display: grid; grid-template-columns: 1fr auto; gap: 14px; align-items: center; padding: 17px 18px; border-bottom: 1px solid rgba(182,235,237,.19); transition: background .2s ease; }.price-row:last-child { border-bottom: 0; }.price-row:hover { background: rgba(124,229,237,.10); }.price-row b { display: block; color: #fff; font-size: 14px; font-weight: 670; letter-spacing: -.02em; }.price-row span { display: block; margin-top: 3px; color: #a9c8cb; font-size: 12px; line-height: 1.35; }.price-row strong { color: #7ce5ed; font-family: var(--mona); font-size: 21px; font-weight: 700; letter-spacing: -.045em; white-space: nowrap; }.price-row strong small { color: #a9c8cb; font-size: 11px; font-weight: 550; letter-spacing: 0; }.price-note { margin: 15px 0 0; color: #a9c8cb; font-size: 11px; line-height: 1.45; }.price-note b { color: #dffeff; font-weight: 650; }

.care-process { padding: 108px max(24px, calc((100% - 1180px) / 2)); background: var(--aqua-mist); }.process-inner { width: min(1180px, 100%); }.process-heading { grid-template-columns: 1fr 340px; gap: 80px; }.process-heading > p { color: var(--muted); font-size: 16px; line-height: 1.55; }.process-grid { gap: 0; margin-top: 44px; border: 1px solid var(--waterline); border-radius: 12px; overflow: hidden; }.process-step { min-height: 230px; padding: 25px; border: 0; border-right: 1px solid var(--waterline); border-radius: 0; background: #fff; box-shadow: none; transition: background .25s ease; }.process-step:last-child { border-right: 0; }.process-step::after { display: none; }.step-number { margin-bottom: 55px; padding: 0; width: auto; height: auto; border-radius: 0; color: var(--spin-aqua); background: transparent; font-size: 12px; font-weight: 700; }.process-step h3 { margin-bottom: 9px; color: var(--ocean-ink); font-size: 24px; font-weight: 680; letter-spacing: -.05em; }.process-step p { color: var(--muted); font-size: 13px; line-height: 1.5; }.process-step:hover { background: #0d1f26; }.process-step:hover h3 { color: #fff; }.process-step:hover p { color: #b6d0d4; }

.service-standard { width: min(1180px, calc(100% - 48px)); gap: 15px; margin: 118px auto; }.standard-lead, .standard-detail { min-height: 360px; padding: clamp(30px, 5vw, 66px); border: 1px solid var(--waterline); border-radius: 12px; }.standard-lead { background: #0d1f26; }.standard-lead .eyebrow { color: #65e5ef; }.standard-lead h2 { color: #fff; }.standard-detail { background: #fff; box-shadow: none; }.standard-detail p { color: var(--muted); font-size: 16px; line-height: 1.62; }.standard-list { margin-top: 31px; }.standard-list li { padding: 11px 0 11px 26px; border-top-color: var(--waterline); color: var(--ocean-ink); font-size: 13px; font-weight: 600; }.standard-list li::before { color: var(--spin-aqua); }

.network-section { padding: 112px max(24px, calc((100% - 1180px) / 2)); background: #087c91; }.network-inner { width: min(1180px, 100%); grid-template-columns: 1fr .85fr; gap: clamp(42px, 10vw, 145px); }.network-copy .eyebrow { color: #b4f6f8; }.network-copy h2 { color: #fff; }.network-copy > p:not(.eyebrow) { color: #d2f3f5; font-size: 16px; line-height: 1.62; }.network-notes { gap: 0; }.network-note { padding: 18px 0; border: 0; border-top: 1px solid rgba(212,248,249,.4); border-radius: 0; background: transparent; }.network-note:last-child { border-bottom: 1px solid rgba(212,248,249,.4); }.network-note > span { color: #b9f8fa; font-size: 11px; font-weight: 700; }.network-note b { color: #fff; font-size: 14px; font-weight: 660; }.network-note p { color: #d2f3f5; font-size: 12px; }

.related-services { width: min(1180px, calc(100% - 48px)); margin: 120px auto; }.related-heading { margin-bottom: 32px; }.related-heading h2 { font-size: clamp(35px, 4.2vw, 54px); }.text-link { gap: 7px; border-bottom: 1px solid rgba(8,124,145,.5); color: var(--deep-aqua); font-size: 13px; font-weight: 650; }.text-link span { transition: transform .2s var(--ease-out); }.text-link:hover { gap: 7px; color: #065567; border-color: var(--deep-aqua); }.text-link:hover span { transform: translateX(4px); }.related-grid { gap: 14px; }.related-card { min-height: 240px; padding: 18px; border: 1px solid #bcd9dc; border-radius: 10px; background: #0d1f26; box-shadow: none; transition: transform .3s var(--ease-out), box-shadow .3s var(--ease-out), border-color .3s ease; }.related-card:hover { border-color: #77dfe5; box-shadow: 0 16px 32px rgba(13,31,38,.16); transform: translateY(-4px); }.related-card::after { background: linear-gradient(180deg, rgba(7,45,54,.10), rgba(7,45,54,.88) 85%); }.related-card img { filter: saturate(.82) contrast(1.05); }.related-card small { color: #b5f7f9; font-size: 11px; font-weight: 650; letter-spacing: .03em; }.related-card h3 { color: #fff; font-size: 28px; font-weight: 690; letter-spacing: -.055em; line-height: .9; }.related-card span { color: #b5f7f9; font-size: 12px; font-weight: 650; }

.pickup-section { min-height: 470px; padding: 94px max(24px, calc((100% - 1180px) / 2)); background: #0d1f26; }.pickup-section::before, .pickup-section::after { border-color: rgba(115,231,236,.20); animation: none; }.pickup-content { width: min(1180px, 100%); }.pickup-content .eyebrow { color: #65e5ef; }.pickup-content h2 { color: #fff; }.pickup-content p:not(.eyebrow) { color: #b8d3d7; }.site-footer { width: min(1180px, calc(100% - 48px)); padding: 34px 0; }.footer-mark { color: var(--spin-aqua); }.site-footer p, .site-footer > span { color: var(--muted); font-family: var(--mona); }.reveal { transform: translateY(16px); transition: opacity .62s var(--ease-out), transform .62s var(--ease-out); }
@keyframes service-product-arrive { from { opacity: 0; transform: scale(1.06); } to { opacity: 1; transform: scale(1); } }

@media (max-width: 850px) { .site-header, .service-hero { width: calc(100% - 32px); }.site-header { height: 70px; }.service-hero { grid-template-columns: 1fr; min-height: auto; }.service-hero-copy { min-height: 520px; padding: 66px 54px; }.hero-photo-wrap { min-height: 380px; }.service-intro, .service-standard, .related-services, .site-footer { width: calc(100% - 48px); }.service-intro { gap: 54px; }.care-process, .network-section, .pickup-section { padding-right: 36px; padding-left: 36px; }.process-grid { grid-template-columns: repeat(2, 1fr); }.process-step:nth-child(2) { border-right: 0; }.process-step:nth-child(-n+2) { border-bottom: 1px solid var(--waterline); }.network-inner { grid-template-columns: 1fr; } }
@media (max-width: 590px) { .site-header { width: calc(100% - 28px); height: 68px; }.wordmark { font-size: 23px; }.header-cta { padding: 9px 10px; font-size: 12px; }.service-hero { width: calc(100% - 28px); margin-top: 14px; border-radius: 12px; }.service-hero::before { width: 100%; height: 64%; background: linear-gradient(180deg, rgba(13,31,38,1), rgba(13,31,38,.94) 70%, rgba(13,31,38,.70)); }.service-hero-copy { min-height: 500px; padding: 42px 26px 50px; }.breadcrumb { margin-bottom: 28px; }.service-mark { width: 45px; height: 45px; margin-bottom: 17px; }.service-hero h1 { font-size: clamp(54px, 15vw, 72px); }.service-hero-copy > p:not(.eyebrow) { font-size: 15px; }.hero-photo-wrap { min-height: 310px; }.hero-photo-wrap::before { background: linear-gradient(180deg, #0d1f26 0%, rgba(13,31,38,.15) 45%); }.hero-label { right: 25px; bottom: 23px; }.service-intro, .service-standard, .related-services, .site-footer { width: calc(100% - 32px); }.service-intro { grid-template-columns: 1fr; gap: 29px; margin: 82px auto; }.service-intro h2, .process-heading h2, .standard-lead h2, .network-copy h2, .related-heading h2, .pickup-content h2 { font-size: clamp(37px, 11vw, 54px); }.service-intro-copy > p { font-size: 16px; }.care-points { grid-template-columns: 1fr; }.care-process, .network-section, .pickup-section { padding: 80px 16px; }.process-heading { grid-template-columns: 1fr; gap: 17px; }.process-grid { grid-template-columns: 1fr; margin-top: 32px; }.process-step, .process-step:nth-child(n) { min-height: 175px; padding: 21px; border-right: 0; border-bottom: 1px solid var(--waterline); }.process-step:last-child { border-bottom: 0; }.step-number { margin-bottom: 34px; }.service-standard { grid-template-columns: 1fr; margin: 82px auto; }.standard-lead, .standard-detail { min-height: auto; padding: 32px 26px; }.related-services { margin: 82px auto; }.related-heading { display: block; }.related-heading .text-link { margin-top: 15px; }.related-grid { grid-template-columns: 1fr; }.related-card { min-height: 205px; }.pickup-section { min-height: 400px; }.site-footer { padding: 28px 0; } }
@media (prefers-reduced-motion: reduce) { .hero-photo { animation: none; transform: none; } }

@media (max-width: 850px) { .service-gallery, .pricing-section { width: calc(100% - 48px); }.service-gallery { grid-template-columns: 1fr 1fr; }.pricing-section { grid-template-columns: .8fr 1.2fr; gap: 42px; } }
@media (max-width: 590px) { .service-gallery, .pricing-section { width: calc(100% - 32px); }.service-gallery { grid-template-columns: 1fr; gap: 10px; margin: 82px auto; }.service-gallery figure, .service-gallery figure:nth-child(2) { min-height: 290px; }.pricing-section { grid-template-columns: 1fr; gap: 26px; margin: 82px auto; padding: 29px 22px; }.price-row { padding: 15px; }.price-row strong { font-size: 19px; } }

/* Keep every service-page headline in the shared Mona Sans system. */
.service-hero h1, .service-intro h2, .process-heading h2, .standard-lead h2,
.network-copy h2, .related-heading h2, .pickup-content h2, .process-step h3,
.related-card h3 { font-family: var(--mona); }
