/* Active Foot 1.3.14 — full-video hero, cleaner reason split, unified rhythm and motion. */

/* HERO: full-bleed video, no white/green fade. The media remains fully visible edge to edge. */
.af-site .af-hero.af-container{
  min-height:clamp(680px,73vh,790px);
  margin:26px 0 clamp(92px,9.5vh,116px);
  background:#e8ece5;
}
.af-site .af-hero .af-hero-video video{
  object-position:right 80%;
  filter:none;
  opacity:1;
}
.af-site .af-hero .af-hero-video:before,
.af-site .af-hero .af-hero-video:after{
  display:none!important;
  content:none!important;
  background:none!important;
}
/* Dark-green copy sits directly on the video; no overlay panel and no edge fade. */
.af-site .af-hero .af-hero-copy{
  max-width:640px;
  padding:0;
  margin:0;
  background:transparent;
  border:0;
  box-shadow:none;
}
.af-site .af-hero .af-hero-copy h1{
  color:#153d2f;
  font-family:AFSerif,"Source Serif 4",Georgia,serif;
  font-weight:560;
  letter-spacing:-.052em;
  text-shadow:0 1px 2px rgba(255,255,255,.72),0 0 18px rgba(255,255,255,.38);
}
.af-site .af-hero .af-hero-copy h1 span{color:#1f513d;font-weight:650}
.af-site .af-hero .af-hero-copy h2,
.af-site .af-hero .af-hero-copy .af-lead,
.af-site .af-hero .af-hero-copy .af-specialty,
.af-site .af-hero .af-hero-actions .af-text-link{color:#153d2f;text-shadow:0 1px 8px rgba(255,255,255,.68)}
.af-site .af-hero .af-hero-actions .af-button{background:#153d2f;border-color:#153d2f;color:#fff!important}
.af-site .af-hero .af-google-rating{background:rgba(247,249,244,.82);border-color:rgba(21,61,47,.20);color:#153d2f}

/* Keep the homepage on one consistent vertical rhythm. */
.af-site .af-services-home{padding-block:64px 36px}
.af-site .af-team-home{padding-block:64px 54px}
.af-site .af-home-content>.af-care-intro{padding-top:52px}
.af-site .af-home-content .af-baliston{margin:64px 0 0}
.af-site .af-home-content .af-baliston-why{margin:0;padding:66px 0 66px}
.af-site .af-home-content .af-home-cta{margin:0 0 64px}
.af-site .af-faq.af-container{margin:0 auto 64px}
.af-site .af-reviews.af-container{margin:0 auto 64px}

/* BALISTON: simple editorial rows, no dashboard-like numbering. */
.af-site .af-baliston-top{align-items:start}
.af-site .af-baliston-details{margin-top:40px}
.af-site .af-baliston-results li{
  min-height:70px;
  padding:18px 16px 18px 31px;
  border-top:1px solid rgba(232,241,229,.18);
  background:transparent;
}
.af-site .af-baliston-results li:hover{
  background:rgba(255,255,255,.055);
  padding-left:36px;
}
.af-site .af-baliston-statement{
  max-width:900px;
  margin:36px auto 0;
  padding-top:24px;
}
.af-site .af-baliston-statement span{display:block;max-width:100%;text-wrap:pretty}
@media(min-width:1040px){
  .af-site .af-baliston-statement span{white-space:normal}
  .af-site .af-baliston-statement span:first-child{white-space:nowrap}
  .af-site .af-baliston-statement span:last-child{white-space:nowrap}
}

/* "Proč Active Foot Physiotherapy?" — reasons on the left, question/explanation on the right. */
.af-site .af-home-content .af-baliston-why{
  display:grid;
  grid-template-columns:minmax(0,1.22fr) minmax(320px,.78fr);
  gap:clamp(54px,7vw,96px);
  align-items:start;
  border-top:1px solid var(--af-line);
  border-bottom:1px solid var(--af-line);
  background:transparent;
}
.af-site .af-baliston-why-points{grid-column:1}
.af-site .af-baliston-why-copy{grid-column:2;position:sticky;top:132px;padding-top:2px}
.af-site .af-baliston-why h2{
  max-width:570px;
  margin:0 0 22px;
  font-family:inherit;
  font-size:clamp(30px,3.45vw,42px);
  font-weight:500;
  line-height:1.15;
  letter-spacing:-.035em;
}
.af-site .af-baliston-why-copy>p:not(.af-baliston-close){font-size:17px;line-height:1.8;color:#44534e}
.af-site .af-baliston-why-points ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 34px;
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--af-line);
}
.af-site .af-baliston-why li{
  position:relative;
  display:flex;
  align-items:center;
  min-height:74px;
  margin:0;
  padding:18px 16px 18px 31px;
  border-bottom:1px solid var(--af-line);
  border-top:0;
  background:transparent;
  color:#31483e;
  font-size:15.5px;
  font-weight:600;
  line-height:1.5;
  transition:background .28s ease,padding-left .32s cubic-bezier(.2,.7,.2,1),color .28s ease;
}
.af-site .af-baliston-why li:before{
  content:"";
  position:absolute;
  left:9px;
  top:50%;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#718564;
  transform:translateY(-50%);
  box-shadow:0 0 0 4px rgba(113,133,100,.08);
  transition:transform .28s ease,box-shadow .28s ease,background .28s ease;
}
.af-site .af-baliston-why li:hover{
  padding-left:36px;
  background:#f0f3ec;
  color:#173d2f;
}
.af-site .af-baliston-why li:hover:before{transform:translate(2px,-50%) scale(1.08);background:#506f4f;box-shadow:0 0 0 5px rgba(80,111,79,.10)}
.af-site .af-baliston-why .af-baliston-close{margin-top:28px}

/* FAQ and reviews share the same width/rhythm as the rest of the site. */
.af-site .af-faq.af-container,
.af-site .af-reviews.af-container{width:min(1280px,calc(100% - 96px));max-width:none}

/* Motion: always active by request; this intentionally does not use prefers-reduced-motion. */
html.af-motion .af-site .af-reveal{
  opacity:0!important;
  transform:translateY(26px)!important;
  filter:blur(1.5px);
  transition:opacity .72s cubic-bezier(.2,.7,.2,1),transform .86s cubic-bezier(.2,.7,.2,1),filter .7s ease!important;
}
html.af-motion .af-site .af-reveal.is-visible{
  opacity:1!important;
  transform:none!important;
  filter:none;
}
html.af-motion .af-site .af-hero-copy{
  animation:af-hero-pro-enter .9s .06s cubic-bezier(.2,.72,.2,1) both!important;
}
html.af-motion .af-site .af-hero-video video{
  animation:af-hero-video-enter 1.15s cubic-bezier(.2,.72,.2,1) both!important;
}
@keyframes af-hero-pro-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes af-hero-video-enter{from{opacity:.72;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}

html.af-motion .af-site .af-motion-child{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .58s cubic-bezier(.2,.7,.2,1),transform .72s cubic-bezier(.2,.7,.2,1)!important;
  transition-delay:var(--af-motion-delay,0ms)!important;
}
html.af-motion .af-site .af-motion-child.is-in{opacity:1;transform:none}
html.af-motion .af-site .af-motion-child.is-in:hover,
html.af-motion .af-site .af-motion-child.is-in:focus-within{transition-delay:0ms!important}

@media(max-width:900px){
  .af-site .af-home-content .af-baliston-why{grid-template-columns:1fr;gap:34px;padding-block:52px}
  .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}
}
@media(max-width:760px){
  .af-site .af-hero.af-container{min-height:620px;margin:12px 0 48px;padding:32px 20px 42px}
  .af-site .af-hero .af-hero-video video{object-position:66% 82%}
  .af-site .af-hero .af-hero-copy{max-width:100%;margin:0;padding:0;background:transparent;backdrop-filter:none}
  .af-site .af-services-home{padding-block:42px 24px}
  .af-site .af-team-home{padding-block:42px 34px}
  .af-site .af-home-content>.af-care-intro{padding-top:32px}
  .af-site .af-home-content .af-baliston{margin-top:42px}
  .af-site .af-home-content .af-baliston-why{padding-block:42px;margin:0}
  .af-site .af-baliston-why-points ul{grid-template-columns:1fr;gap:0}
  .af-site .af-baliston-why li{min-height:0;padding-block:16px}
  .af-site .af-home-content .af-home-cta{margin-bottom:42px}
  .af-site .af-faq.af-container{width:calc(100% - 40px);margin-bottom:42px}
  .af-site .af-reviews.af-container{width:calc(100% - 40px);margin-bottom:42px}
  .af-site .af-baliston-statement span:first-child,
  .af-site .af-baliston-statement span:last-child{white-space:normal}
}

/* 1.3.15 — hero contrast, reversed "why" editorial split, refined directional motion and phone-first tuning. */

/* HERO: full video stays untouched; only the crop and text contrast are refined. */
.af-site .af-hero .af-hero-video video{
  object-position:right 87%;
}
.af-site .af-hero .af-hero-copy h1{
  color:#153d2f;
  text-shadow:0 1px 2px rgba(255,255,255,.82),0 0 22px rgba(255,255,255,.42);
}
.af-site .af-hero .af-hero-copy h1 span{
  color:#1d4d39;
}
.af-site .af-hero .af-hero-copy h2,
.af-site .af-hero .af-hero-copy .af-lead,
.af-site .af-hero .af-hero-copy .af-specialty,
.af-site .af-hero .af-hero-actions .af-text-link{
  color:#fff;
  text-shadow:0 1px 2px rgba(8,31,23,.58),0 2px 14px rgba(8,31,23,.34);
}
.af-site .af-hero .af-specialty img{filter:brightness(0) invert(1)}
.af-site .af-hero .af-hero-actions .af-button{
  background:#153d2f;
  border-color:#153d2f;
  color:#fff!important;
  box-shadow:0 10px 26px rgba(10,40,29,.18);
}
.af-site .af-hero .af-google-rating{
  background:rgba(16,53,40,.78);
  border-color:rgba(255,255,255,.26);
  color:#fff;
  box-shadow:0 10px 30px rgba(10,31,24,.14);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.af-site .af-hero .af-google-rating strong,
.af-site .af-hero .af-google-rating b,
.af-site .af-hero .af-google-rating span{color:#fff}
.af-site .af-hero .af-google-stars{color:#dce8bd!important}
.af-site .af-hero .af-hero-video figcaption,
.af-site .af-hero .af-hero-video figcaption strong,
.af-site .af-hero .af-hero-video figcaption .af-eyebrow{color:#fff;text-shadow:0 1px 10px rgba(6,25,18,.44)}

/* Proč Active Foot Physiotherapy — headline/copy left, reasons right. */
.af-site .af-home-content .af-baliston-why{
  grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);
  gap:clamp(52px,6.5vw,94px);
  align-items:start;
}
.af-site .af-baliston-why-copy{
  grid-column:1;
  grid-row:1;
  position:sticky;
  top:132px;
  padding-top:2px;
}
.af-site .af-baliston-why-points{
  grid-column:2;
  grid-row:1;
}
.af-site .af-baliston-why h2{
  max-width:520px;
  margin-bottom:22px;
}
.af-site .af-baliston-why-copy>p:not(.af-baliston-close){
  max-width:510px;
}
.af-site .af-baliston-why-points ul{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

/* Directional motion: calm editorial movement instead of generic fade-up. */
html.af-motion .af-site .af-reveal{
  --af-rx:0px;
  --af-ry:18px;
  opacity:0!important;
  transform:translate3d(var(--af-rx),var(--af-ry),0)!important;
  filter:none!important;
  transition:opacity .68s cubic-bezier(.22,.68,.18,1),transform .9s cubic-bezier(.2,.72,.2,1)!important;
  will-change:opacity,transform;
}
html.af-motion .af-site .af-reveal--left{--af-rx:-26px;--af-ry:4px}
html.af-motion .af-site .af-reveal--right{--af-rx:26px;--af-ry:4px}
html.af-motion .af-site .af-reveal--up{--af-rx:0px;--af-ry:20px}
html.af-motion .af-site .af-reveal.is-visible{
  opacity:1!important;
  transform:translate3d(0,0,0)!important;
}
html.af-motion .af-site .af-motion-child{
  --af-cx:0px;
  --af-cy:13px;
  opacity:0!important;
  transform:translate3d(var(--af-cx),var(--af-cy),0)!important;
  transition:opacity .54s cubic-bezier(.22,.68,.18,1),transform .72s cubic-bezier(.2,.72,.2,1),background-color .28s ease,padding-left .32s cubic-bezier(.2,.7,.2,1)!important;
  transition-delay:var(--af-motion-delay,0ms)!important;
}
html.af-motion .af-site .af-motion-child--right{--af-cx:18px;--af-cy:0px}
html.af-motion .af-site .af-motion-child--left{--af-cx:-18px;--af-cy:0px}
html.af-motion .af-site .af-motion-child.is-in{
  opacity:1!important;
  transform:translate3d(0,0,0)!important;
}
html.af-motion .af-site .af-motion-child.is-in:hover,
html.af-motion .af-site .af-motion-child.is-in:focus-within{transition-delay:0ms!important}

/* Phone is composed independently: shorter copy, full-screen media, usable actions and stacked editorial sections. */
@media(max-width:760px){
  .af-site .af-hero.af-container{
    min-height:calc(100svh - 76px);
    height:auto;
    margin:0 0 42px;
    padding:0;
    display:block;
  }
  .af-site .af-hero .af-hero-video video{
    object-position:67% 88%;
  }
  .af-site .af-hero .af-hero-copy{
    width:calc(100% - 36px);
    max-width:none;
    min-height:calc(100svh - 76px);
    margin:0 auto;
    padding:54px 0 34px;
    justify-content:flex-end;
  }
  .af-site .af-hero .af-hero-copy h1{
    max-width:330px;
    margin:0 0 18px;
    font-size:clamp(46px,14vw,61px);
    line-height:.93;
    letter-spacing:-.055em;
  }
  .af-site .af-hero .af-hero-copy h1 span{display:inline-block;margin-top:.08em}
  .af-site .af-hero .af-hero-copy h2{
    max-width:345px;
    margin:0 0 12px;
    font-size:18px;
    line-height:1.28;
  }
  .af-site .af-hero .af-hero-copy .af-lead{
    max-width:350px;
    margin:0;
    font-size:15px;
    line-height:1.58;
  }
  .af-site .af-hero-actions{
    width:100%;
    margin:22px 0 18px;
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  .af-site .af-hero-actions .af-button{
    width:100%;
    min-height:52px;
    justify-content:space-between;
    padding:13px 16px;
  }
  .af-site .af-hero-actions .af-text-link{
    width:max-content;
    min-height:42px;
    margin:0;
    font-size:14px;
  }
  .af-site .af-hero .af-specialty{
    max-width:340px;
    margin:0 0 14px;
    padding-top:14px;
    font-size:13px;
    line-height:1.45;
  }
  .af-site .af-hero .af-google-rating{
    width:max-content;
    max-width:100%;
    min-height:46px;
    padding:8px 12px;
    border-radius:10px;
  }
  .af-site .af-hero .af-hero-video figcaption{display:none}

  .af-site .af-home-content .af-baliston-why{
    grid-template-columns:1fr;
    gap:30px;
    padding:44px 0 48px;
  }
  .af-site .af-baliston-why-copy{
    grid-column:1;
    grid-row:1;
    position:static;
    padding:0;
  }
  .af-site .af-baliston-why-points{
    grid-column:1;
    grid-row:2;
  }
  .af-site .af-baliston-why h2{
    max-width:330px;
    margin-bottom:16px;
    font-size:clamp(31px,9.3vw,40px);
    line-height:1.08;
  }
  .af-site .af-baliston-why-copy>p:not(.af-baliston-close){
    max-width:none;
    font-size:16px;
    line-height:1.7;
  }
  .af-site .af-baliston-why-points ul{
    grid-template-columns:1fr;
    gap:0;
  }
  .af-site .af-baliston-why li{
    min-height:0;
    padding:16px 10px 16px 28px;
    font-size:15px;
    line-height:1.45;
  }
  .af-site .af-baliston-why li:before{left:7px}
  .af-site .af-baliston-why li:hover{padding-left:32px}
  .af-site .af-baliston-why .af-baliston-close{
    margin-top:22px;
    font-size:18px;
    line-height:1.45;
  }

  .af-site .af-home-content .af-baliston{
    margin-top:42px;
    padding:34px 20px 36px;
    border-radius:16px;
  }
  .af-site .af-baliston-heading-row{gap:10px}
  .af-site .af-baliston-heading-row h2{font-size:clamp(31px,9vw,40px);line-height:1.08}
  .af-site .af-baliston-lead{margin-top:22px}
  .af-site .af-baliston-tagline{font-size:20px;line-height:1.35}
  .af-site .af-baliston-intro{font-size:15px;line-height:1.68}
  .af-site .af-baliston-details{margin-top:30px}
  .af-site .af-baliston-details h3{font-size:22px;line-height:1.3}
  .af-site .af-baliston-results{grid-template-columns:1fr}
  .af-site .af-baliston-results li{min-height:0;padding:15px 10px 15px 29px;font-size:15px}
  .af-site .af-baliston-results li:hover{padding-left:33px}
  .af-site .af-baliston-statement{margin-top:26px;padding-top:20px;font-size:15px;line-height:1.6;text-align:left}
  .af-site .af-baliston-statement span{display:inline}
  .af-site .af-baliston-statement span+span:before{content:" ";}

  .af-site .af-faq.af-container,
  .af-site .af-reviews.af-container{
    width:calc(100% - 36px);
    margin-bottom:46px;
  }
  .af-site .af-faq{padding-block:42px}
  .af-site .af-faq h2,
  .af-site .af-reviews h2{font-size:clamp(31px,9vw,39px);line-height:1.08}
  .af-site .af-reviews-heading{gap:18px;align-items:flex-start}
  .af-site .af-reviews-fallback{padding:22px 0 0}

  /* Side reveals stay subtle on narrow screens instead of sliding across the viewport. */
  html.af-motion .af-site .af-reveal--left{--af-rx:-14px;--af-ry:3px}
  html.af-motion .af-site .af-reveal--right{--af-rx:14px;--af-ry:3px}
  html.af-motion .af-site .af-motion-child--right{--af-cx:11px}
  html.af-motion .af-site .af-motion-child--left{--af-cx:-11px}
}

@media(max-width:390px){
  .af-site .af-hero .af-hero-copy{width:calc(100% - 28px)}
  .af-site .af-hero .af-hero-copy h1{font-size:44px;max-width:300px}
  .af-site .af-hero .af-hero-copy h2{font-size:16.5px}
  .af-site .af-hero .af-hero-copy .af-lead{font-size:14.5px}
  .af-site .af-home-content .af-baliston{padding-inline:16px}
  .af-site .af-faq.af-container,.af-site .af-reviews.af-container{width:calc(100% - 28px)}
}
