  :root{--blue:#0a4d8c;--blue-dark:#073763;--blue-light:#e8f1fa;--accent:#1477d1;--text:#1b2733;--muted:#5c6b7a;--line:#e2e8f0;--bg:#f6f9fc}
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:'Segoe UI',system-ui,-apple-system,Roboto,Arial,sans-serif;color:var(--text);line-height:1.6;background:white}
  a{color:inherit;text-decoration:none}
  .container{max-width:1140px;margin:auto;padding:0 24px}
  header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(6px)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:72px;gap:20px}
  .logo img{display:block;height:52px;width:auto}
  nav.menu{display:flex;gap:28px}
  nav.menu a{font-size:.98rem;font-weight:500}
  nav.menu a:hover{color:var(--accent)}
  .btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border:2px solid transparent;border-radius:8px;background:var(--blue);color:white;font-family:inherit;font-size:1rem;font-weight:600;line-height:1.35;cursor:pointer;text-align:center}
  .btn:hover{background:var(--blue-dark)}
  .btn-light{background:white;color:var(--blue-dark)}
  .btn-light:hover{background:var(--blue-light)}
  .btn-outline{background:transparent;border-color:#a4c8ee;color:white}
  .btn-outline:hover{background:#ffffff12;border-color:white}
  .menu-toggle{display:none;background:none;border:0;color:var(--blue-dark);font-size:1.7rem;cursor:pointer;padding:8px}
  a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
  .service-hero{background:linear-gradient(125deg,var(--blue-dark),var(--blue));color:white;padding:30px 0 44px}
  .crumbs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px;color:#dbeafe;font-size:.88rem}
  .crumbs a{text-decoration:underline;text-underline-offset:3px}
  .service-intro{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);align-items:center;gap:56px}
  .eyebrow{font-size:.76rem;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;color:var(--blue);margin-bottom:12px}
  .service-hero .eyebrow{color:#add3ff}
  h1,h2,h3{line-height:1.2;color:var(--blue-dark)}
  h1{font-size:2.7rem;color:white;letter-spacing:-.6px;max-width:650px;margin-bottom:18px}
  .hero-copy{font-size:1.08rem;color:#e5effb;max-width:600px;margin-bottom:24px}
  .actions{display:flex;gap:12px;flex-wrap:wrap}
  .visit-card{background:white;color:var(--text);border-radius:14px;padding:26px}
  .visit-card .eyebrow{color:var(--blue)}
  .visit-card h2{font-size:1.15rem;margin-bottom:12px}
  .visit-card p{font-size:.95rem;color:var(--muted)}
  .visit-card .phone{display:inline-block;font-size:1.4rem;font-weight:700;color:var(--blue-dark);margin:18px 0 10px;white-space:nowrap}
  .hours{padding-top:16px;margin-top:18px;border-top:1px solid var(--line)}
  section.content{padding:56px 0}
  section.tinted{background:var(--bg)}
  .section-head{max-width:680px;margin-bottom:28px}
  h2{font-size:1.9rem;margin-bottom:14px}
  .section-head>p,.body-copy p{color:var(--muted)}
  .steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;list-style:none}
  .step{border:1px solid var(--line);border-radius:14px;padding:24px}
  .step-number{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;background:var(--blue-light);color:var(--blue);font-weight:700;border-radius:9px;margin-bottom:18px}
  h3{font-size:1.1rem;margin-bottom:10px}
  .step p{color:var(--muted);font-size:.95rem}
  .two-col{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:48px;align-items:start}
  .check-list{list-style:none;margin-top:22px}
  .check-list li{padding:12px 0 12px 28px;border-bottom:1px solid var(--line);position:relative}
  .check-list li:before{content:'✓';color:var(--blue);position:absolute;left:0;font-weight:700}
  .info-card{padding:28px;background:white;border:1px solid var(--line);border-radius:14px}
  .info-card p{color:var(--muted);margin-bottom:18px}
  .text-link{color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:3px}
  .related{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
  .related a{padding:10px 16px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--blue);font-weight:600;font-size:.9rem}
  .faq{max-width:820px}
  details{border-top:1px solid var(--line);padding:18px 0}
  details:last-child{border-bottom:1px solid var(--line)}
  summary{font-weight:600;color:var(--blue-dark);cursor:pointer;padding-right:14px}
  details p{color:var(--muted);padding-top:12px;max-width:740px}
  .booking{background:var(--blue-light);padding:32px;border-radius:16px;display:flex;justify-content:space-between;align-items:center;gap:28px;margin-top:40px}
  .booking h2{font-size:1.4rem;margin-bottom:8px}
  .booking p{color:var(--muted)}
  .booking .btn{flex-shrink:0}
  footer{background:var(--blue-dark);color:#c6d7e9;padding:36px 0 20px}
  .footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;margin-bottom:28px}
  footer h3{font-size:1.1rem;color:white;margin-bottom:12px}
  footer a{display:block;margin:6px 0}
  footer a:hover{color:white;text-decoration:underline}
  footer p{font-size:.93rem}
  .footer-bottom{padding-top:18px;border-top:1px solid #ffffff25;font-size:.85rem;color:#a4bfdc}
  @media(max-width:1000px){nav.menu{gap:16px}.nav .btn{padding:10px 16px}.service-intro{gap:28px}h1{font-size:2.35rem}}
  @media(max-width:900px){
    nav.menu{position:fixed;top:72px;left:0;right:0;display:none;flex-direction:column;gap:0;padding:10px 24px 20px;background:white;border-bottom:1px solid var(--line)}
    nav.menu.open{display:flex}nav.menu a{padding:12px 0}.menu-toggle{display:block}.nav>.btn{display:none}
    .service-intro{grid-template-columns:1fr 1fr;gap:24px}.visit-card{padding:22px}h1{font-size:2rem}
    .steps{gap:14px}.step{padding:20px}.two-col{gap:28px}.footer-grid{gap:24px}
  }
  @media(max-width:640px){
    .logo img{height:42px}.service-hero{padding:20px 0 28px}.crumbs{margin-bottom:22px;font-size:.8rem}
    .service-intro,.steps,.two-col,.footer-grid{grid-template-columns:1fr}.service-intro{gap:24px}
    h1{font-size:2.05rem}.hero-copy{font-size:1rem}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
    .btn{font-size:.9rem;padding:12px 10px}.visit-card{padding:20px}.visit-card .phone{margin:12px 0 8px}
    .hours{margin-top:12px;padding-top:12px}section.content{padding:36px 0}h2{font-size:1.55rem}
    .section-head{margin-bottom:22px}.step{padding:22px}.step-number{margin-bottom:12px}
    .booking{display:block;padding:24px;margin-top:28px}.booking .btn{margin-top:20px}.info-card{padding:24px}
  }
  @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
