:root { --navy:#0d1018; --navy-2:#141a25; --navy-3:#1a2230; --white:#f7f9fb; --gray:#b7c0ce; --line:rgba(157,179,207,.22); }
.service-page { font-size:1.0625rem; overflow-x:visible; }
.service-page .topbar { background:rgba(13,16,24,.98); padding-inline:max(20px,calc((100vw - 1080px)/2)); }
.service-page .brand { text-decoration:none; }
.service-page .wrap { width:calc(100% - 40px); max-width:1080px; padding:48px 0; }
.service-hero { background:none; padding:116px 20px 42px; }
.service-hero h1 { font-size:clamp(2.25rem,4.6vw,3.7rem); line-height:1.14; }
.service-hero h1 span { color:var(--teal); }
.service-hero .eyebrow { font-size:.875rem; letter-spacing:.12em; }
.service-hero .tagline { max-width:49ch; }
.service-nav { display:flex; flex-wrap:wrap; justify-content:center; gap:4px 22px; margin-top:20px; }
.service-nav a,.detail-link { display:inline-flex; align-items:center; min-height:44px; text-underline-offset:5px; font-weight:600; }
.service-nav a { color:var(--gray); }
.service-page h2 { font-family:'Anton',sans-serif; font-size:clamp(1.6rem,2.6vw,2.2rem); font-weight:400; line-height:1.25; margin:0 0 18px; }
.service-page p { color:var(--gray); }
.service-page .kicker { color:var(--teal); font-weight:600; margin-bottom:10px; }
.service-overview { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:64px; border-top:1px solid var(--line); align-items:start; }
.included-list { list-style:none; margin:0 0 22px; }
.included-list li { padding:8px 0; border-bottom:1px solid var(--line); }
.service-prices { width:100%; border-collapse:collapse; margin-top:30px; }
.service-prices caption { text-align:left; color:var(--white); font-weight:600; margin-bottom:8px; }
.service-prices th,.service-prices td { padding:13px 0; border-bottom:1px solid var(--line); }
.service-prices th { text-align:left; font-weight:600; }
.service-prices th span { display:block; font-size:.9375rem; color:var(--gray); font-weight:400; }
.service-prices td { padding-left:16px; text-align:right; font-size:1.4rem; font-weight:600; color:var(--teal); }
.service-proof img { display:block; width:100%; height:auto; border-radius:12px; }
.service-proof figcaption { font-size:.9375rem; color:var(--gray); padding-top:12px; }
.service-visit,.service-next { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px; border-top:1px solid var(--line); }
.service-visit p + p { margin-top:16px; }
.service-review { padding:26px; border-left:2px solid var(--teal); background:var(--navy-2); align-self:center; }
.service-review blockquote p { font-size:1.3rem; color:var(--white); line-height:1.55; }
.service-review figcaption { margin-top:18px; }
.service-review figcaption a { display:block; min-height:44px; padding-top:8px; text-underline-offset:4px; }
.service-next h2 { font-size:1.65rem; }
.service-next .detail-link { margin-top:12px; }
.service-book { text-align:center; padding:8px 20px 48px; }
.service-page footer { border-top:1px solid var(--line); }
.service-footer { max-width:1080px; margin:auto; text-align:center; }
.policy-nav { font-size:.9375rem; }
.mobile-contact { display:none; }
a:focus-visible { outline:3px solid var(--teal); outline-offset:4px; }
.skip-link { position:fixed; top:8px; left:8px; z-index:100; transform:translateY(-160%); background:var(--teal); color:var(--navy); padding:12px; }
.skip-link:focus { transform:none; }
@media(max-width:760px) {
  .service-overview,.service-visit,.service-next { grid-template-columns:minmax(0,1fr); gap:32px; }
  .service-page .wrap { padding-block:32px; }
  .service-proof { max-width:440px; margin:auto; }
}
@media(max-width:700px) {
  .service-page { padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
  .service-hero { padding-top:106px; }
  .service-hero .cta-row { max-width:440px; margin-inline:auto; }
  .mobile-contact { display:grid; grid-template-columns:1fr 1fr 1.4fr; position:fixed; z-index:70; bottom:0; left:0; right:0; padding:10px 14px calc(10px + env(safe-area-inset-bottom)); gap:10px; background:rgba(13,16,24,.98); border-top:1px solid var(--line); }
  .mobile-contact a { display:flex; align-items:center; justify-content:center; min-height:48px; color:var(--white); border:1px solid var(--line); border-radius:8px; text-decoration:none; font-weight:600; }
  .mobile-contact a:last-child { background:var(--teal); color:var(--navy); }
}
@media(max-width:380px) { .service-page .topbar { padding-inline:12px; } .service-page .topbar .brand { font-size:.875rem; letter-spacing:0; } .service-page .topbar .phone { padding-inline:9px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; animation:none!important; } }
