/* Fytaal Pilates — premium funnel, Bootstrap v1.2.15
   Aanvullend op site.css. Alle pagina-specifieke selectors zijn pil-/pilates-page. */
.pilates-page{overflow-x:hidden;background:#fffdfb}
.pilates-page section[id]{scroll-margin-top:104px}
.pilates-page h1,.pilates-page h2,.pilates-page h3{text-wrap:balance}
.pilates-page h2 span,.pil-hero h1 span{color:var(--jf-purple)}
.pil-textlink{display:inline-flex;align-items:center;gap:.5rem;color:var(--jf-purple);font-weight:750;text-decoration:none;transition:gap .18s ease,color .18s ease}
.pil-textlink:hover,.pil-textlink:focus{gap:.72rem;color:var(--jf-pink)}
.pil-primary{box-shadow:0 14px 32px rgba(83,32,158,.22)}

/* Hero */
.pil-hero{position:relative;overflow:hidden;padding:clamp(3rem,6vw,6.2rem) 0 clamp(4rem,7vw,6.6rem);background:radial-gradient(circle at 8% 12%,rgba(204,0,102,.075),transparent 28%),radial-gradient(circle at 88% 22%,rgba(83,32,158,.11),transparent 30%),linear-gradient(180deg,#fff 0%,#f4eff9 100%)}
.pil-hero::after{content:"";position:absolute;right:-10rem;bottom:-15rem;width:36rem;height:36rem;border:1px solid rgba(83,32,158,.08);border-radius:50%;box-shadow:0 0 0 4rem rgba(83,32,158,.025),0 0 0 8rem rgba(204,0,102,.02)}
.pil-hero__copy{position:relative;z-index:2}
.pil-hero h1{max-width:760px;margin-bottom:1.25rem;font-size:clamp(3rem,5.9vw,5.65rem);line-height:.95}
.pil-hero__lead{max-width:690px;margin:0;color:#49414e;font-size:clamp(1.08rem,1.55vw,1.3rem);line-height:1.72}
.pil-hero__sub{max-width:650px;margin:1rem 0 0;color:#6f6675;font-size:1rem}
.pil-hero__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.7rem}
.pil-proof-row{display:flex;flex-wrap:wrap;gap:.55rem 1rem;margin-top:1.25rem;color:#625a67;font-size:.87rem;font-weight:700}
.pil-proof-row span{display:inline-flex;align-items:center;gap:.38rem}.pil-proof-row i{color:var(--jf-pink);font-size:.68rem}
.pil-returning{margin:1rem 0 0;color:#756d79;font-size:.86rem}.pil-returning a{color:var(--jf-purple);font-weight:750}
.pil-hero-visual{position:relative;min-height:570px;z-index:2}
.pil-hero-visual__main{position:absolute;inset:0 0 3.5rem 4.2rem;overflow:hidden;border-radius:2.4rem;box-shadow:0 28px 72px rgba(63,28,91,.18)}
.pil-hero-visual__main img,.pil-hero-visual__small img{width:100%;height:100%;object-fit:cover}
.pil-hero-visual__small{position:absolute;left:0;bottom:0;width:42%;aspect-ratio:4/3;overflow:hidden;border:7px solid #fff;border-radius:1.6rem;box-shadow:0 18px 44px rgba(50,30,58,.18)}
.pil-hero-badge{position:absolute;right:-.4rem;top:2rem;width:min(245px,48%);padding:1rem 1.1rem;border-radius:1.25rem;background:rgba(255,255,255,.96);box-shadow:0 18px 44px rgba(50,30,58,.15);backdrop-filter:blur(10px)}
.pil-hero-badge span{display:block;color:var(--jf-pink);font-family:var(--jf-font-meta);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.pil-hero-badge strong{display:block;margin:.25rem 0;color:var(--jf-purple-deep);font-family:var(--jf-font-heading);font-size:1.25rem;line-height:1.2}.pil-hero-badge small{color:#706876}
.pil-hero-note{position:absolute;right:1rem;bottom:1.1rem;display:flex;align-items:center;gap:.65rem;padding:.75rem 1rem;border-radius:999px;background:var(--jf-purple-deep);color:#fff;box-shadow:0 12px 30px rgba(46,18,87,.24);font-size:.8rem;font-weight:700}.pil-hero-note i{color:#f4a6cb}

/* Difference */
.pil-difference{background:#fff}.pil-difference h2{max-width:660px}
.pil-pattern-panel{overflow:hidden;border-radius:2rem;background:linear-gradient(145deg,#35135f,#5a209c 60%,#7b277f);box-shadow:0 24px 68px rgba(54,22,87,.18);color:#fff}
.pil-pattern-panel__head{padding:1.5rem 1.6rem 1.15rem;border-bottom:1px solid rgba(255,255,255,.11)}
.pil-pattern-panel__head span{display:block;color:#efafd1;font-family:var(--jf-font-meta);font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.pil-pattern-panel__head strong{display:block;margin-top:.2rem;font-family:var(--jf-font-heading);font-size:1.45rem}
.pil-pattern-row{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);gap:1rem;align-items:center;padding:1rem 1.35rem;border-bottom:1px solid rgba(255,255,255,.1)}
.pil-pattern-row>i{justify-self:center;color:#efafd1}.pil-pattern-row__auto{display:flex;align-items:center;gap:.7rem;color:rgba(255,255,255,.8)}.pil-pattern-row__auto>i{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.09);color:#fff}.pil-pattern-row__choice strong{display:block;color:#fff}.pil-pattern-row__choice span{display:block;color:rgba(255,255,255,.68);font-size:.86rem}
.pil-pattern-panel__foot{display:flex;align-items:center;gap:.75rem;padding:1rem 1.35rem;background:rgba(255,255,255,.06);font-weight:650}.pil-pattern-panel__foot i{color:#efafd1}

/* Core pillars */
.pil-core{background:linear-gradient(180deg,#f7f2fb 0%,#fff 100%)}.pil-core__head{max-width:830px}.pil-core-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:2.2rem}
.pil-core-grid article{position:relative;min-height:260px;padding:1.5rem;border:1px solid rgba(83,32,158,.1);border-radius:1.65rem;background:#fff;box-shadow:0 12px 34px rgba(45,17,87,.055)}.pil-core-grid article:nth-child(2n){transform:translateY(1.2rem)}
.pil-core-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:1.25rem;border-radius:15px;background:linear-gradient(145deg,#f2ebfa,#fceef5);color:var(--jf-purple);font-size:1.05rem}.pil-core-grid h3{font-size:1.35rem}.pil-core-grid p{margin:0;color:#69606e;font-size:.96rem}

/* Video */
.pil-video-section{background:#fff}.pil-video-shell{overflow:hidden;border-radius:2.2rem;background:linear-gradient(140deg,var(--jf-purple-deep),#5d249f 62%,#8e185f);box-shadow:0 28px 72px rgba(57,24,86,.16)}
.pil-video-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(1.55rem,2.6vw,2.35rem);color:#fff}.pil-video-copy h2{margin-bottom:.65rem;color:#fff;font-size:clamp(2rem,3vw,2.7rem);line-height:1.02}.pil-video-copy p{margin-bottom:.55rem;color:rgba(255,255,255,.78)}.pil-video-copy ul{display:grid;gap:.4rem;padding:0;margin:.8rem 0 1rem;list-style:none}.pil-video-copy li{display:flex;gap:.65rem;align-items:flex-start}.pil-video-copy li i{margin-top:.28rem;color:#f5b0d0;font-size:.72rem}.pil-video-cta{align-self:flex-start;border-radius:999px;font-weight:800;color:var(--jf-purple)}
.pil-video-media{display:flex;align-items:center;background:#211826}.pil-video-frame{width:100%;min-height:0;background:#211826}.pil-video-frame iframe{border:0;width:100%;height:100%}

/* Free start */
.pil-free{background:linear-gradient(180deg,#fff 0%,#faf3f8 100%)}.pil-free-panel{position:relative;overflow:hidden;padding:clamp(1.5rem,3.5vw,3rem);border:1px solid rgba(204,0,102,.12);border-radius:2.3rem;background:linear-gradient(145deg,#fff 0%,#fff8fb 55%,#f6eefb 100%);box-shadow:0 22px 58px rgba(60,27,94,.09)}
.pil-free-panel::before{content:"2";position:absolute;right:-.02em;top:-.26em;color:rgba(83,32,158,.035);font-family:var(--jf-font-heading);font-size:20rem;font-weight:700;line-height:1;pointer-events:none}.pil-free h2 span{color:var(--jf-pink)}.pil-free-lead{max-width:690px;color:#5e5663;font-size:1.08rem}
.pil-free-points{display:grid;gap:.7rem;margin:1.35rem 0 1.55rem}.pil-free-points>div{display:flex;align-items:center;gap:.85rem}.pil-free-points>div>i{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:var(--jf-purple);color:#fff;font-size:.78rem}.pil-free-points strong,.pil-free-points small{display:block}.pil-free-points small{color:#756c79}
.pil-free-photo{position:relative;height:100%;min-height:430px;overflow:hidden;border-radius:1.8rem;box-shadow:0 20px 50px rgba(56,31,63,.15)}.pil-free-photo img{width:100%;height:100%;object-fit:cover}.pil-free-photo__card{position:absolute;left:1rem;right:1rem;bottom:1rem;padding:1rem 1.1rem;border-radius:1rem;background:rgba(46,18,87,.92);color:#fff;backdrop-filter:blur(8px)}.pil-free-photo__card span,.pil-free-photo__card strong{display:block}.pil-free-photo__card span{color:#f5b1d1;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.pil-free-photo__card strong{font-family:var(--jf-font-heading);font-size:1.2rem}

/* Program */
.pil-program{background:#fff}.pil-section-head h2{margin-bottom:0}.pil-week-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.pil-week-grid article{position:relative;overflow:hidden;min-height:230px;padding:1.45rem;border:1px solid rgba(83,32,158,.1);border-radius:1.55rem;background:linear-gradient(145deg,#fff,#fbf8fd);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.pil-week-grid article:hover{transform:translateY(-3px);border-color:rgba(83,32,158,.18);box-shadow:0 14px 36px rgba(54,24,82,.08)}.pil-week-grid article::after{content:"";position:absolute;right:-2rem;bottom:-2.5rem;width:7rem;height:7rem;border-radius:50%;background:rgba(204,0,102,.04)}
.pil-week-grid span{display:inline-block;margin-bottom:.9rem;color:var(--jf-pink);font-family:var(--jf-font-meta);font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.pil-week-grid strong{display:block;margin-bottom:.55rem;color:var(--jf-purple-deep);font-family:var(--jf-font-heading);font-size:1.28rem;line-height:1.25}.pil-week-grid p{margin:0;color:#6a616e;font-size:.94rem}
.pil-program-footer{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:1.2rem;padding:1.2rem 1.35rem;border-radius:1.35rem;background:var(--jf-purple-wash)}.pil-program-footer strong,.pil-program-footer span{display:block}.pil-program-footer strong{color:var(--jf-purple-deep);font-family:var(--jf-font-heading);font-size:1.15rem}.pil-program-footer span{color:#6b6270;font-size:.9rem}.pil-program-footer__actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}

/* Method bridge */
.pil-method{background:linear-gradient(180deg,#f5eff9,#fff)}.pil-method-panel{position:relative;overflow:hidden;padding:clamp(1.8rem,4vw,3.4rem);border-radius:2.2rem;background:linear-gradient(135deg,#2e1257 0%,#53209e 55%,#8f145f 100%);color:#fff;box-shadow:0 26px 70px rgba(53,18,92,.17)}.pil-method-panel::after{content:"";position:absolute;right:-8rem;top:-8rem;width:24rem;height:24rem;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 3.5rem rgba(255,255,255,.025),0 0 0 7rem rgba(255,255,255,.018)}.pil-method-panel h2{color:#fff}.pil-method-panel p{color:rgba(255,255,255,.8)}
.pil-method-links{position:relative;z-index:2;display:grid;gap:.75rem}.pil-method-links a{display:grid;grid-template-columns:42px minmax(0,1fr) 18px;gap:.85rem;align-items:center;padding:.95rem 1rem;border:1px solid rgba(255,255,255,.12);border-radius:1rem;background:rgba(255,255,255,.08);color:#fff;text-decoration:none;transition:background .18s ease,transform .18s ease}.pil-method-links a:hover{background:rgba(255,255,255,.14);transform:translateX(3px)}.pil-method-links>a>i:first-child{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:rgba(255,255,255,.1);color:#f5b3d1}.pil-method-links strong,.pil-method-links small{display:block}.pil-method-links small{margin-top:.18rem;color:rgba(255,255,255,.65);line-height:1.4}

/* Fit */
.pil-fit{background:#fff}.pil-fit-list{display:grid;gap:.72rem;padding:0;margin:1.35rem 0 0;list-style:none}.pil-fit-list li{display:flex;align-items:flex-start;gap:.7rem}.pil-fit-list i{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;margin-top:.08rem;border-radius:50%;background:var(--jf-purple-wash);color:var(--jf-purple);font-size:.68rem}.pil-fit-choice{padding:clamp(1.5rem,3vw,2.2rem);border:1px solid rgba(83,32,158,.11);border-radius:2rem;background:linear-gradient(145deg,#fbf8fd,#fff);box-shadow:0 14px 40px rgba(45,17,87,.06)}.pil-fit-choice__icon{display:grid;place-items:center;width:54px;height:54px;margin-bottom:1rem;border-radius:17px;background:linear-gradient(135deg,var(--jf-purple),var(--jf-pink));color:#fff}.pil-fit-choice h3{font-size:1.55rem}.pil-fit-choice p{color:#685f6d}

/* Online */
.pil-online{background:linear-gradient(180deg,#f9f4fb,#fff)}.pil-online-band{display:grid;grid-template-columns:1fr 1.15fr auto;gap:2rem;align-items:center;padding:1.5rem 1.6rem;border:1px solid rgba(83,32,158,.1);border-radius:1.8rem;background:#fff;box-shadow:0 12px 34px rgba(45,17,87,.055)}.pil-online-band h2{margin:0;font-size:clamp(1.7rem,2.8vw,2.5rem)}.pil-online-band p{color:#665d6b;font-size:.95rem}.pil-online-band .btn-jf-outline{white-space:nowrap}

/* FAQ */
.pil-faq{background:#fff}.pil-accordion .accordion-item{margin-bottom:.65rem;border:1px solid rgba(83,32,158,.1);border-radius:1rem!important;overflow:hidden;background:#fff}.pil-accordion .accordion-button{padding:1.05rem 1.2rem;background:#fff;color:#352d3a;box-shadow:none;font-family:var(--jf-font-heading);font-size:1.08rem}.pil-accordion .accordion-button:not(.collapsed){background:var(--jf-purple-wash);color:var(--jf-purple)}.pil-accordion .accordion-body{color:#665d6b;line-height:1.7}.pil-accordion .accordion-body a{color:var(--jf-purple);font-weight:750}

/* Final */
.pil-final{background:#fff}.pil-final-panel{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:clamp(1.7rem,4vw,3.2rem);border-radius:2.2rem;background:linear-gradient(135deg,#361365,#59209d 58%,#c10060);color:#fff;box-shadow:0 24px 64px rgba(55,21,93,.18)}.pil-final-panel::after{content:"";position:absolute;right:-5rem;bottom:-8rem;width:20rem;height:20rem;border-radius:50%;border:1px solid rgba(255,255,255,.09);box-shadow:0 0 0 3rem rgba(255,255,255,.025),0 0 0 6rem rgba(255,255,255,.018)}.pil-final-panel h2{max-width:720px;margin-bottom:.65rem;color:#fff}.pil-final-panel p{max-width:660px;margin:0;color:rgba(255,255,255,.82)}.pil-final-actions{position:relative;z-index:2;display:grid;gap:.65rem;justify-items:center;min-width:250px}.pil-final-actions .btn{border-radius:999px;font-weight:800;color:var(--jf-purple)}.pil-final-actions>a:last-child{color:#fff;font-size:.88rem;font-weight:700}

@media(max-width:1199.98px){.pil-core-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pil-core-grid article:nth-child(2n){transform:none}.pil-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pil-online-band{grid-template-columns:1fr 1fr}.pil-online-band .btn-jf-outline{grid-column:1/-1;justify-self:start}}
@media(max-width:991.98px){.pil-hero-visual{min-height:520px;margin-top:1rem}.pil-hero-visual__main{left:3rem}.pil-pattern-panel{margin-top:.75rem}.pil-video-copy{padding:2rem}.pil-video-media{display:block}.pil-video-frame{min-height:0}.pil-method-links{margin-top:1rem}.pil-final-panel{display:block}.pil-final-actions{justify-items:start;margin-top:1.5rem}.pil-program-footer{align-items:flex-start;flex-direction:column}.pil-online-band{grid-template-columns:1fr}.pil-online-band .btn-jf-outline{grid-column:auto}}
@media(max-width:767.98px){.pil-hero{padding-top:2.4rem}.pil-hero h1{font-size:clamp(2.65rem,13vw,4.4rem)}.pil-hero__actions{flex-direction:column;align-items:stretch}.pil-hero__actions a{width:100%}.pil-hero-visual{min-height:430px}.pil-hero-visual__main{inset:0 0 2.6rem 1.8rem;border-radius:1.8rem}.pil-hero-visual__small{width:40%;border-width:5px}.pil-hero-badge{right:.3rem;top:1rem;width:52%;padding:.8rem}.pil-hero-note{right:.5rem;bottom:.5rem;font-size:.72rem}.pil-pattern-row{grid-template-columns:1fr;gap:.45rem}.pil-pattern-row>i{transform:rotate(90deg)}.pil-core-grid,.pil-week-grid{grid-template-columns:1fr}.pil-core-grid article{min-height:auto}.pil-free-photo{min-height:340px}.pil-program-footer__actions{align-items:flex-start;flex-direction:column}.pil-program-footer__actions .btn-jf{width:100%}.pil-video-shell{border-radius:1.7rem}.pil-free-panel,.pil-method-panel{border-radius:1.7rem}.pil-online-band{padding:1.2rem}.pil-final-actions .btn{width:100%}}
@media(max-width:520px){.pil-hero-visual{min-height:360px}.pil-hero-badge strong{font-size:1rem}.pil-hero-badge small{display:none}.pil-proof-row{display:grid;gap:.35rem}.pil-hero-note{display:none}.pil-free-photo{min-height:280px}.pil-week-grid article{min-height:auto}.pil-method-links a{grid-template-columns:38px minmax(0,1fr) 14px}.pil-method-links>a>i:first-child{width:38px;height:38px}.pil-final-panel{padding:1.45rem}}

/* v1.2.18 — consistente interne hero-typografie */
.pil-hero h1{
  font-size:clamp(2.6rem,4.6vw,4.7rem);
  line-height:.98;
  letter-spacing:-.018em;
}
@media(max-width:767.98px){
  .pil-hero h1{
    font-size:clamp(2.25rem,10.2vw,3.35rem);
    line-height:1.01;
  }
}
