/* 1.3.18: render copy on the native text layer, without blur or persistent GPU transforms. */
.af-site { -webkit-font-smoothing:auto; -moz-osx-font-smoothing:auto; }
.af-site, .af-site * { text-shadow:none!important; }
html.af-motion .af-site .af-reveal,
html.af-motion .af-site .af-motion-child,
html.af-motion .af-site .af-hero-copy {
  filter:none!important;
  transform:none!important;
  will-change:auto!important;
  opacity:1!important;
  animation:none!important;
  transition-property:background-color,border-color,color,box-shadow!important;
  transition-delay:0s!important;
}
.af-site .af-hero .af-hero-copy h1,
.af-site .af-hero .af-hero-copy h1 span {
  color:#153d2f;
  font-family:AFInter,"Segoe UI",Arial,sans-serif;
  font-weight:500;
  letter-spacing:-.045em;
  line-height:1.1;
  -webkit-text-fill-color:currentColor;
  background:none;
}
.af-site .af-hero .af-hero-copy h1 span { font-weight:inherit; letter-spacing:inherit; }
.af-site .af-hero .af-google-rating {
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
/* Tablet: do not keep the desktop's fixed two-column reason panel. */
@media (min-width:761px) and (max-width:1000px) {
  .af-site .af-home-content .af-baliston-why { grid-template-columns:1fr; gap:30px; }
  .af-site .af-baliston-why-copy { grid-column:1; grid-row:1; position:static; }
  .af-site .af-baliston-why-points { grid-column:1; grid-row:2; }
}
/* Phone: full-bleed video behind readable copy. */
@media (max-width:760px) {
  html { scroll-padding-top:92px; }
  .af-site { -webkit-text-size-adjust:100%; }
  .af-site .af-hero.af-container {
    display:flex; flex-direction:column; align-items:stretch;
    width:100%; min-height:calc(100svh - 76px); height:auto; padding:0;
    margin:0 0 42px; background:#f4f6f1;
  }
  .af-site .af-hero .af-hero-copy {
    flex:none; width:auto; max-width:none; min-height:0;
    margin:0; padding:40px 20px 36px;
  }
  .af-site .af-hero .af-hero-copy h1 {
    max-width:none; font-size:clamp(38px,10.2vw,60px);
    margin:0 0 22px; text-wrap:initial;
  }
  .af-site .af-hero .af-hero-copy h1 span { display:inline; }
  .af-site .af-hero .af-hero-copy h2 {
    color:#153d2f; max-width:36ch; font-size:19px; line-height:1.4;
  }
  .af-site .af-hero .af-hero-copy .af-lead,
  .af-site .af-hero .af-hero-copy .af-specialty {
    color:#365246; max-width:48ch; font-size:16px; line-height:1.65;
  }
  .af-site .af-hero .af-hero-copy .af-specialty { font-size:14px; border-color:#cbd6c6; }
  .af-site .af-hero .af-hero-actions { gap:10px; }
  .af-site .af-hero .af-hero-actions .af-text-link { color:#153d2f; min-height:48px; font-size:16px; }
  .af-site .af-hero .af-hero-actions .af-button { min-height:54px; white-space:normal; gap:12px; }
  .af-site .af-hero .af-google-rating { margin-top:18px; background:#153d2f; }
  .af-site .af-hero .af-hero-photo.af-hero-video {
    position:absolute; inset:0; z-index:0;
    width:100%; height:100%; min-height:0;
    aspect-ratio:auto; margin:0; border-radius:0;
  }
  .af-site .af-hero .af-hero-video video { object-position:64% center; }
  .af-site .af-hero .af-hero-video:before {
    content:""!important; display:block!important; position:absolute; inset:0; z-index:1;
    background:linear-gradient(90deg,rgba(244,246,241,.94),rgba(244,246,241,.80) 65%,rgba(244,246,241,.50))!important;
  }
  .af-site .af-hero .af-video-toggle { right:12px; bottom:12px; }
  .af-site .af-service-grid,
  .af-site .af-process-grid,
  .af-site .af-care-opening>.wp-block-list { grid-template-columns:minmax(0,1fr); }
  .af-site .af-care-opening>.wp-block-list li { min-height:0; padding-block:18px; font-size:16px; line-height:1.65; }
  .af-site .af-care-icon { flex-shrink:0; }
  .af-site .af-care-opening li>span { min-width:0; }
  .af-site .af-section-heading { align-items:flex-start; }
  .af-site :is(.af-column,.af-service-card,.af-profile-copy,.af-booking-form-panel) { min-width:0; }
  .af-site :is(h1,h2,h3,p,li,a) { overflow-wrap:break-word; }
  .af-site :is(input,textarea,select) { font-size:16px; }
  .af-site .af-header .af-nav {
    position:fixed!important; inset:var(--af-menu-top,76px) 0 0!important;
    width:100%; height:calc(100dvh - var(--af-menu-top,76px)); max-height:none;
    overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
    border-radius:0; transform:none; padding:18px 24px max(24px,env(safe-area-inset-bottom));
  }
  .af-site .af-header .af-nav>a { flex-shrink:0; }
  .af-site.af-mobile-menu-open .af-header {
    position:fixed!important; top:var(--af-admin-bottom,0px)!important; left:0; right:0;
    width:100%; margin:0; border-radius:0; background:#fafaf7; z-index:99990;
    overflow:visible; clip-path:none; transform:none; filter:none; contain:none;
  }
  .af-site .af-header .af-brand { position:relative; z-index:2; pointer-events:auto; }
  .af-site .af-header .af-menu-toggle { position:relative; z-index:2; }
}
.af-site .af-hero .af-google-rating,
.af-site .af-hero .af-google-rating:hover,
.af-site .af-hero .af-google-rating:focus-visible {
  background:#153d2f; border-color:#153d2f; color:#fff;
}
.af-site .af-header .af-header-cta,
.af-site .af-header .af-header-cta:hover,
.af-site .af-header .af-header-cta:focus-visible,
.af-site .af-header .af-nav .af-mobile-nav-actions>.af-header-cta {
  background:#153d2f!important; border-color:#153d2f!important; color:#fff!important;
  transform:none!important;
}
.af-site .af-header .af-header-cta::before,
.af-site .af-header .af-header-cta::after { display:none!important; }
/* Deliberately identical in both motion preference modes, as requested.
   No blur, scale or permanent compositor layer; class is removed on completion. */
html.af-motion body.af-site .af-scroll-enter {
  animation:none!important;
  opacity:.12!important;
  translate:0 20px!important;
  transform:none!important;
  transition:opacity 800ms cubic-bezier(.22,.61,.36,1),translate 900ms cubic-bezier(.16,1,.3,1)!important;
  transition-delay:var(--af-enter-delay,0ms)!important;
  filter:none!important;
  will-change:auto!important;
}
html.af-motion body.af-site .af-scroll-enter.af-scroll-shown { opacity:1!important; translate:0 0!important; }

/* Emphasis specified in oprava_webu_AFP.pdf, with unchanged font sizes/layout. */
.af-site .svc-content p strong,
.af-site .af-baliston p strong,
.af-site .af-baliston-results li strong,
.af-site .af-baliston-close strong { font-weight:700; color:inherit; }
.af-site .svc-content .svc-copy-section h2,
.af-site .af-baliston h2,
.af-site .af-baliston h3,
.af-site .af-baliston-why h2 { font-weight:700; }
