/* Being Fit v1.3.2: training gallery (3D coverflow + lightbox) and the real-photo blocks. Cream & gold palette from
   site.css. Without JavaScript the gallery is a plain swipeable row. All motion respects prefers-reduced-motion. */
.bf-gal-sec{position:relative;overflow:hidden;background:radial-gradient(1200px 520px at 50% 62%,rgba(229,189,105,.16),transparent 70%),linear-gradient(180deg,var(--cream,#efebe3) 0%,var(--off,#f7f4ee) 100%)}
.bf-gal-sec--page{padding-top:clamp(1.5rem,3vw,2.5rem)}
.bf-gal{--cw:clamp(232px,29vw,392px);position:relative;margin-top:clamp(1.8rem,4vw,3rem)}
.bf-gal-track{list-style:none;margin:0;padding:0}
.bf-gal-card{margin:0;position:relative}
.bf-gal-open{display:block;position:relative;border-radius:calc(var(--r,22px) - 4px);overflow:hidden;color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;background:#1b1813}
.bf-gal-media{display:block;position:relative;aspect-ratio:4/5;overflow:hidden}
.bf-gal-media img,.bf-gal-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;-webkit-user-drag:none;user-select:none}
.bf-gal-vid{opacity:0;transition:opacity .5s}
.is-playing .bf-gal-vid{opacity:1}
.bf-gal-play{position:absolute;z-index:3;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;display:grid;place-items:center;color:#1b1813;background:var(--gold-grad);box-shadow:0 0 0 6px rgba(229,189,105,.25),0 12px 30px -8px rgba(0,0,0,.5);transition:opacity .4s;pointer-events:none}
.bf-gal-play svg{width:26px;height:26px;margin-left:3px}
.is-playing .bf-gal-play{opacity:0}
.bf-gal-chip{position:absolute;z-index:3;left:50%;bottom:14px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .8rem .45rem .6rem;border-radius:99px;white-space:nowrap;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#1b1813;background:var(--gold-grad);box-shadow:0 8px 22px -8px rgba(0,0,0,.55);opacity:0;transition:opacity .4s;pointer-events:none}
.bf-gal-chip svg{width:12px;height:12px}
.bf-gal-item.is-active .bf-gal-chip,.bf-gal:not(.is-3d) .bf-gal-chip{opacity:1}
.bf-gal-item.is-video.is-playing .bf-gal-play{opacity:0}
.bf-gal-cap{display:flex;align-items:baseline;gap:.6rem;margin-top:.85rem;font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-text,#715820)}
.bf-gal-num{font-family:var(--serif);font-size:1.15rem;letter-spacing:0;font-weight:500;color:var(--gold-deep,#8a6d2b)}
/* no-JS / pre-init: native swipe row */
.bf-gal:not(.is-3d) .bf-gal-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.5rem;-webkit-overflow-scrolling:touch}
.bf-gal:not(.is-3d) .bf-gal-item{flex:0 0 var(--cw);scroll-snap-align:center}
/* 3D coverflow */
.bf-gal.is-3d .bf-gal-viewport{position:relative;height:calc(var(--cw) * 1.25 + 3.6rem);perspective:1500px;perspective-origin:50% 42%;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab;outline:none}
.bf-gal.is-3d.is-drag .bf-gal-viewport{cursor:grabbing}
.bf-gal.is-3d .bf-gal-track{position:absolute;inset:0;transform-style:preserve-3d}
.bf-gal.is-3d .bf-gal-item{position:absolute;top:.6rem;left:50%;width:var(--cw);margin-left:calc(var(--cw) / -2);transform-style:preserve-3d;will-change:transform,opacity;backface-visibility:hidden}
.bf-gal.is-3d .bf-gal-open{box-shadow:0 30px 60px -32px rgba(40,28,8,.6),0 0 0 1px rgba(176,138,60,calc(.25 + var(--g,0) * .55)),0 0 calc(var(--g,0) * 46px) calc(var(--g,0) * 2px) rgba(229,189,105,calc(var(--g,0) * .55));transition:box-shadow .35s}
/* depth parallax: the photo drifts inside its frame against the card's movement */
.bf-gal.is-3d .bf-gal-media img{inset:0 -9%;width:118%;transform:translate3d(calc(var(--d,0) * -7%),0,0);transition:none}
/* glass sheen that sweeps with the card angle + dim on the side cards */
.bf-gal.is-3d .bf-gal-open::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 30%,rgba(255,246,220,.28) 48%,transparent 62%),linear-gradient(0deg,rgba(14,11,6,calc((1 - var(--g,0)) * .42)),rgba(14,11,6,calc((1 - var(--g,0)) * .42)));background-size:250% 100%,100% 100%;background-position:calc(50% + var(--d,0) * 60%) 0,0 0}
.bf-gal.is-3d .bf-gal-cap{opacity:calc(.25 + var(--g,0) * .75)}
/* animated gold ring on the front card */
.bf-gal.is-3d .bf-gal-item.is-active .bf-gal-open::before{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;padding:2px;background:conic-gradient(from var(--ang,0deg),rgba(246,227,174,0) 0deg,#f6e3ae 60deg,#e5bd69 120deg,rgba(180,133,56,0) 200deg,rgba(246,227,174,0) 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:bf-gal-ring 5s linear infinite;pointer-events:none}
@property --ang{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes bf-gal-ring{to{--ang:360deg}}
/* light floor under the stage */
.bf-gal.is-3d .bf-gal-viewport::after{content:"";position:absolute;left:50%;bottom:1.2rem;width:min(760px,90%);height:46px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(184,140,55,.32),transparent);filter:blur(6px);pointer-events:none;z-index:-1}
/* nav */
.bf-gal-nav{display:flex;align-items:center;justify-content:center;gap:.8rem;margin-top:.6rem}
.bf-gal-nav[hidden]{display:none}
.bf-gal-count{display:none;min-width:4.2em;text-align:center;font-size:.8rem;font-weight:600;letter-spacing:.12em;color:var(--gold-text,#715820)}
.bf-gal-pause{width:36px;height:36px;flex:none;display:grid;place-items:center;padding:0;border-radius:50%;border:1px solid rgba(138,109,43,.35);background:transparent;color:var(--gold-text,#715820);cursor:pointer}
.bf-gal-pause svg{width:14px;height:14px;fill:currentColor}
.bf-gal-pause .i-play,.bf-gal-pause[aria-pressed="true"] .i-pause{display:none}
.bf-gal-pause[aria-pressed="true"] .i-play{display:block}
.bf-gal-pause:focus-visible{outline:2px solid var(--gold-deep);outline-offset:2px}
.bf-gal-pause[hidden]{display:none}
.bf-gal-progress{width:min(220px,50%);height:2px;margin:.9rem auto 0;border-radius:2px;background:rgba(138,109,43,.18);overflow:hidden}
.bf-gal-progress i{display:block;height:100%;width:100%;background:var(--gold-grad);transform-origin:0 50%;transform:scaleX(0);animation:bf-gal-prog var(--gal-delay,4800ms) linear forwards;animation-play-state:paused}
.bf-gal.is-playing-auto .bf-gal-progress i{animation-play-state:running}
.bf-gal:not(.is-playing-auto) .bf-gal-progress{opacity:.4}
@keyframes bf-gal-prog{to{transform:scaleX(1)}}
.bf-gal-more{text-align:center;margin:clamp(1.6rem,3vw,2.4rem) 0 0}
@media (max-width:699px){
  .bf-gal{--cw:min(68vw,300px)}
  .bf-gal .bf-gal-dots{display:none}
  .bf-gal .bf-gal-count{display:block}
  .bf-gal-cap{font-size:.7rem;letter-spacing:.12em}
  .bf-gal.is-3d .bf-gal-viewport{margin-inline:-1.25rem}
}
/* /gallery/ page grid */
.bf-gal-grid-head{margin:clamp(3rem,6vw,4.5rem) 0 1.4rem}
.bf-gal-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(46%,240px),1fr));gap:14px}
.bf-gal-thumb{position:relative;display:block;aspect-ratio:4/5;border-radius:16px;overflow:hidden;border:1px solid rgba(176,138,60,.35);box-shadow:var(--shadow-soft);background:#1b1813}
.bf-gal-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.bf-gal-thumb:hover img{transform:scale(1.05)}
.bf-gal-thumb:focus-visible{outline:2px solid var(--gold-deep);outline-offset:3px}
.bf-gal-thumb-cap{position:absolute;left:0;right:0;bottom:0;padding:1.6rem .8rem .7rem;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:linear-gradient(transparent,rgba(10,8,4,.72))}
.bf-gal-thumb .bf-gal-play{width:48px;height:48px;margin:-24px 0 0 -24px}
/* lightbox */
html.bf-lb-lock{overflow:hidden}
.bf-lb{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;background:rgba(12,10,7,calc(.94 * var(--lbfade,1)));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .25s}
.bf-lb.is-open{opacity:1}
.bf-lb[hidden]{display:none}
.bf-lb-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:4.2rem 4.5rem 3.2rem;touch-action:none}
.bf-lb-fig{margin:0;display:flex;flex-direction:column;align-items:center;max-width:100%;max-height:100%;transition:transform .32s var(--ease,ease),opacity .32s}
.bf-lb-media{display:flex;justify-content:center;max-width:100%}
.bf-lb-media picture{display:contents}
.bf-lb-img{display:block;max-width:min(100%,1400px);max-height:calc(100vh - 8.5rem);max-height:calc(100dvh - 8.5rem);width:auto;height:auto;border-radius:12px;box-shadow:0 0 0 1px rgba(229,189,105,.35),0 0 60px -10px rgba(229,189,105,.35);user-select:none;-webkit-user-drag:none;background:#1b1813}
.bf-lb-cap{margin-top:.9rem;color:#ece7dc;font-size:.8rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;text-align:center}
.bf-lb-count{position:absolute;top:1.25rem;left:50%;transform:translateX(-50%);margin:0;color:var(--gold,#e5bd69);font-size:.8rem;font-weight:600;letter-spacing:.14em}
.bf-lb-btn{position:absolute;width:48px;height:48px;display:grid;place-items:center;padding:0;border-radius:50%;border:1px solid rgba(229,189,105,.5);background:rgba(20,17,12,.6);color:var(--gold,#e5bd69);cursor:pointer;transition:background .25s,color .25s}
.bf-lb-btn svg{width:20px;height:20px}
.bf-lb-btn:hover{background:var(--gold,#e5bd69);color:#14110c}
.bf-lb-btn:focus-visible{outline:2px solid var(--gold,#e5bd69);outline-offset:3px}
.bf-lb-x{top:.9rem;right:.9rem}
.bf-lb-prev{left:1rem;top:50%;margin-top:-24px}
.bf-lb-next{right:1rem;top:50%;margin-top:-24px}
.bf-lb.is-single .bf-lb-prev,.bf-lb.is-single .bf-lb-next{display:none}
@media (max-width:699px){
  .bf-lb-stage{padding:3.8rem .6rem 4.6rem}
  .bf-lb-prev,.bf-lb-next{top:auto;bottom:1rem;margin-top:0}
  .bf-lb-prev{left:calc(50% - 64px)}.bf-lb-next{right:calc(50% - 64px)}
  .bf-lb-img{max-height:calc(100vh - 9.5rem);max-height:calc(100dvh - 9.5rem)}
}
/* real-photo blocks (Home "Why Being Fit", Coaches women-only training, Personal Training) */
.bf-photo{margin:0;position:relative}
.bf-photo img{display:block;width:100%;height:auto;object-fit:cover;border-radius:var(--r,22px);border:1px solid var(--gold-deep,#8a6d2b);box-shadow:0 40px 80px -40px rgba(60,40,10,.55)}
.bf-photo figcaption{margin-top:.75rem;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-text,#715820)}
.why-side .bf-photo{margin-top:2.2rem;max-width:520px}
.why-side .bf-photo img{aspect-ratio:5/4}
.wide-shot picture{display:contents}
@media (prefers-reduced-motion:reduce){
  .bf-gal.is-3d .bf-gal-item.is-active .bf-gal-open::before{animation:none}
  .bf-gal.is-3d .bf-gal-media img{transform:none;inset:0;width:100%}
  .bf-gal-progress{display:none}
  .bf-lb,.bf-lb-fig,.bf-gal-thumb img,.bf-gal-vid{transition:none}
}
@media (min-width:1021px) and (max-height:820px){.why-side.bf-why-photo{position:static}}
