  :root{ --navy:#0A2540; --medblue:#0052CC; --teal:#00A6B2; --ink:#102A43; --mist:#F5F8FB; }
  *{ scroll-behavior:smooth; }
  body{ font-family:'Inter',sans-serif; color:var(--ink); background:#fff; }
  h1,h2,h3,h4,.font-head{ font-family:'Manrope',sans-serif; }

  .container-px{ padding-left:1.25rem; padding-right:1.25rem; }
  @media(min-width:768px){ .container-px{ padding-left:2.5rem; padding-right:2.5rem; } }

  .reveal{ opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
  .reveal.in{ opacity:1; transform:translateY(0); }

  .header-shadow{ box-shadow:0 1px 0 rgba(10,37,64,0.08); }

  /* Hero: typography-driven, no photo — subtle abstract medical background */
  .hero-mesh{
    position:absolute; inset:0; z-index:0; pointer-events:none;
    background:
      radial-gradient(60% 55% at 82% 8%, rgba(0,166,178,0.22), transparent 60%),
      radial-gradient(45% 40% at 8% 95%, rgba(0,82,204,0.20), transparent 60%);
  }
  .hero-rings{
    position:absolute; inset:0; width:100%; height:100%; z-index:0; pointer-events:none;
    opacity:0.9;
  }
  .hero-chip{
    display:inline-flex; align-items:center; padding:0.4rem 0.85rem;
    font-size:12.5px; font-weight:500; color:#DCE8F5;
    border:1px solid rgba(255,255,255,0.18); border-radius:999px;
    background:rgba(255,255,255,0.04);
  }

  .surgery-photo{ cursor:zoom-in; }

  .lightbox{
    position:fixed; inset:0; z-index:100; background:rgba(10,37,64,0.92);
    display:flex; align-items:center; justify-content:center; padding:1.5rem;
  }
  .lightbox.hidden{ display:none; }
  .lightbox img{ max-width:92vw; max-height:86vh; border-radius:0.5rem; box-shadow:0 20px 60px -20px rgba(0,0,0,0.6); }
  .lightbox-close{
    position:absolute; top:1.25rem; right:1.5rem; width:44px; height:44px;
    display:flex; align-items:center; justify-content:center;
    border-radius:999px; background:rgba(255,255,255,0.12); color:#fff;
  }

  .specialty-card{ border:1px solid #E3EAF2; transition:border-color .25s ease, transform .25s ease, box-shadow .25s ease; }
  .specialty-card:hover{ border-color:var(--teal); transform:translateY(-4px); box-shadow:0 12px 28px -14px rgba(10,37,64,0.25); }

  .step-track::before{
    content:'';
    position:absolute;
    left:0; right:0; top:22px;
    height:2px;
    background:linear-gradient(90deg, #C9D6E5, #C9D6E5);
  }
  @media(max-width:767px){
    .step-track::before{ left:22px; top:0; bottom:0; width:2px; height:auto; right:auto; }
  }

  .tap-target{ min-height:44px; }

  .mobile-cta-bar{ box-shadow:0 -6px 20px -10px rgba(10,37,64,0.35); }

  .nav-link{ position:relative; }
  .nav-link::after{
    content:''; position:absolute; left:0; bottom:-6px; width:0; height:2px; background:var(--teal);
    transition:width .25s ease;
  }
  .nav-link:hover::after{ width:100%; }

  @media (prefers-reduced-motion: reduce){
    *{ scroll-behavior:auto !important; transition:none !important; animation:none !important; }
    .reveal{ opacity:1; transform:none; }
  }

  .fs-form input, .fs-form textarea{
    border:1px solid #D7E1EC; background:#fff;
  }
  .fs-form input:focus, .fs-form textarea:focus{
    outline:2px solid var(--teal); outline-offset:1px; border-color:var(--teal);
  }

  a:focus-visible, button:focus-visible{
    outline:2px solid var(--teal); outline-offset:2px;
  }

