/*
Theme Name: 1Body Child
Template: kadence
Author: Moka (thinkmoka.com)
Description: Child theme for 1Body Training — full site + coming-soon front page.
Version: 1.13.0
*/

/* ============================================================
   1BODY TRAINING — master stylesheet
   Global tokens/keyframes are shared; each page is scoped
   (.pg-home / .pg-classes / .sh shell + .pg-training / .pg-contact).
   ============================================================ */


/* ---------- GLOBAL ---------- */
:root {
    --ink9:#0B0B0C;--carbon:#16181c;--carbon2:#101216;--graphite:#22252B;--steel:#6B7177;--mist:#A9AEB4;--fog:#E9EBEE;--paper:#FFFFFF;
    --bg:#0B0B0C;--surface:#16181c;--surface2:#22252B;--banner:#565656;
    --img-hero:url("assets/img/photo1.jpg");
    --ink:#E9EBEE;--mut:#6B7177;
    --line:rgba(233,235,238,.12);--line2:rgba(233,235,238,.22);
  }
@keyframes scroll {to{transform:translateX(-50%)}}
:root {
    --ink9:#0B0B0C;--carbon:#16181c;--carbon2:#101216;--graphite:#22252B;--steel:#6B7177;--mist:#A9AEB4;--fog:#E9EBEE;--paper:#FFFFFF;
    --bg:#0B0B0C;--surface:#16181c;--surface2:#22252B;--banner:#565656;
    --ink:#E9EBEE;--mut:#6B7177;
    --line:rgba(233,235,238,.12);--line2:rgba(233,235,238,.22);
  }

/* ---------- HOME (.pg-home) ---------- */
.pg-home * {box-sizing:border-box;margin:0;padding:0;border-radius:0}
pg-home {scroll-behavior:smooth}
.pg-home {font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--ink);overflow-x:hidden}
.pg-home a {color:inherit;text-decoration:none}
.pg-home img {display:block;max-width:100%}
.pg-home .anton {font-family:'Anton',sans-serif;font-weight:400!important;text-transform:uppercase;letter-spacing:.03em;line-height:.95;font-weight:300;display:block}
.pg-home .out {color:transparent;-webkit-text-stroke:1px var(--ink);text-stroke:1px var(--ink);letter-spacing:.06em}
.pg-home .mono {font-family:'IBM Plex Mono',monospace}
.pg-home .eyebrow {font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.56em;text-transform:uppercase;color:var(--mist);font-weight:600}
.pg-home .wrap {max-width:1240px;margin:0 auto;padding:0 32px}
.pg-home .sec {padding:108px 0;position:relative}
.pg-home .btn {display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:0;font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;padding:15px 26px;border:1px solid var(--line2);background:transparent;color:var(--ink);transition:all .2s;cursor:pointer}
.pg-home .btn::after {content:"→";display:inline-block;max-width:0;opacity:0;overflow:hidden;transition:max-width .25s ease,opacity .2s ease,margin-left .25s ease}
.pg-home .btn:hover::after {max-width:1.4em;opacity:1;margin-left:.5em}
.pg-home .btn-solid {background:var(--ink);color:var(--bg);border-color:var(--ink);font-weight:600}
.pg-home .btn-solid:hover {background:#4e4d4c;color:#fff;border-color:#4e4d4c;transform:translateY(-1px)}
.pg-home .btn-ghost {border-color:var(--ink)}
.pg-home .btn-ghost:hover {background:var(--ink);color:var(--bg)}
.pg-home .btn-sm {padding:12px 18px;font-size:.64rem}
.pg-home nav {position:sticky;top:0;z-index:100;background:rgba(12,12,12,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.pg-home nav .in {display:flex;align-items:center;justify-content:space-between;padding:18px 0;gap:24px}
.pg-home nav .logo img {height:26px;width:auto}
.pg-home nav .links {display:flex;gap:30px;align-items:center}
.pg-home nav .links>a, .pg-home .drop>span {font-family:'Inter',sans-serif;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);opacity:.8;transition:opacity .2s;cursor:pointer;font-weight:400;text-align:center}
.pg-home nav .links>a:hover, .pg-home .drop:hover>span {opacity:1}
.pg-home .drop {position:relative}
.pg-home .drop>span {display:inline-flex;align-items:center;gap:6px}
.pg-home .drop>span::after {content:"▾";font-size:.6rem;opacity:.6}
.pg-home .drop .menu {position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);background:var(--surface);border:1px solid var(--line2);padding:8px 0;min-width:150px;opacity:0;visibility:hidden;transition:all .18s}
.pg-home .drop:hover .menu {opacity:1;visibility:visible;transform:translateX(-50%) translateY(2px)}
.pg-home .drop .menu a {display:block;font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);opacity:.78;padding:9px 20px;transition:all .15s}
.pg-home .drop .menu a:hover {opacity:1;background:rgba(244,242,236,.06)}
.pg-home nav .actions {display:flex;gap:10px;align-items:center}
.pg-home .annc {background:var(--banner);border-bottom:1px solid var(--line)}
.pg-home .annc .in {display:flex;align-items:center;justify-content:center;gap:18px;padding:10px 32px;flex-wrap:wrap}
.pg-home .annc .al {font-family:'IBM Plex Mono',monospace;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mist);font-weight:500}
.pg-home .annc .al b {color:var(--ink);font-weight:600}
.pg-home .annc .ap {font-family:'Anton',sans-serif;font-weight:400!important;font-size:1.5rem;color:var(--ink);letter-spacing:.02em}
.pg-home .annc .btn {padding:8px 14px;font-size:.6rem}
.pg-home .hero {position:relative;min-height:88vh;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line)}
.pg-home .hero .bg {position:absolute;inset:0;z-index:0;background:var(--img-hero) center/cover no-repeat;filter:grayscale(1) contrast(1.05) brightness(.74)}
.pg-home .hero .bg img {width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(1) contrast(1.05) brightness(.74)}
.pg-home .hero .scrim {position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--bg) 22%,rgba(12,12,12,.5) 58%,rgba(12,12,12,.05))}
.pg-home .hero .in {position:relative;z-index:3;padding:64px 0;max-width:840px;text-align:left}
.pg-home .hero .wrap {max-width:none;margin:0;padding-left:5vw}
.pg-home .hero .tagrow {display:flex;align-items:center;justify-content:flex-start;gap:14px;margin-bottom:28px}
.pg-home .hero .tagrow .ln {width:44px;height:1px;background:var(--mut)}
.pg-home .hero h1 {font-size:11em;line-height:.95em;letter-spacing:.01em}
.pg-home .hero h1 .out {-webkit-text-stroke:1px var(--ink);text-stroke:1px var(--ink)}
.pg-home .hero .lede {max-width:52ch;margin-top:28px;font-size:1.02rem;line-height:1.6;color:var(--mist);font-weight:300}
.pg-home .hero .cta {display:flex;justify-content:flex-start;gap:13px;margin-top:36px;flex-wrap:wrap}
.pg-home .marquee {overflow:hidden;border-bottom:1px solid var(--line);background:var(--graphite);padding:20px 0}
.pg-home .marquee .track {display:flex;align-items:center;white-space:nowrap;width:max-content;animation:scroll 20s linear infinite}
.pg-home .marquee .item {font-family:'IBM Plex Mono',monospace;text-transform:uppercase;font-size:1.05rem;letter-spacing:.06em;padding:0 24px;color:var(--mist);font-weight:500}
.pg-home .marquee .sep {display:inline-block;width:3px;height:18px;background:var(--mist);transform:rotate(20deg);flex:0 0 auto}
.pg-home .sec-head {display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:54px}
.pg-home .sec-head h2 {font-size:4.4em;line-height:1em}
.pg-home .svc-grid {display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pg-home .svc {position:relative;background:var(--surface);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;transition:border-color .25s,transform .25s}
.pg-home .svc:hover {transform:translateY(-4px);border-color:var(--line2)}
.pg-home .svc .pic {position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--ink9)}
.pg-home .svc .pic img {width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.06) brightness(.82)}
.pg-home .svc .idx {position:absolute;top:8px;right:18px;z-index:3;font-family:'Anton',sans-serif;font-weight:400!important;font-size:6.5rem;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(244,242,236,.55);pointer-events:none}
.pg-home .svc .body {padding:26px 26px 30px;display:flex;flex-direction:column;gap:13px;flex:1}
.pg-home .svc .kr {font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mist);font-weight:600}
.pg-home .svc h3 {font-size:2.6rem}
.pg-home .svc p {font-size:.79rem;line-height:1.35;color:var(--mist);font-weight:300;max-width:42ch}
.pg-home .svc .more {font-family:'IBM Plex Mono',monospace;font-size:.86rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);font-weight:500;margin-top:6px;align-self:flex-start;display:inline-flex;align-items:center}
.pg-home .svc .more::after {content:"→";display:inline-block;max-width:0;opacity:0;overflow:hidden;transition:max-width .25s ease,opacity .2s ease,margin-left .25s ease}
.pg-home .svc .more:hover::after {max-width:1.4em;opacity:1;margin-left:.5em}
.pg-home .smarq {overflow:hidden;border-block:1px solid var(--line);background:var(--ink9);padding:54px 0}
.pg-home .smarq .sm-row {display:flex;white-space:nowrap;width:max-content;will-change:transform}
.pg-home .smarq .w {font-family:'Anton',sans-serif;font-weight:400!important;text-transform:uppercase;font-size:clamp(3.4rem,11vw,8.5rem);line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(244,242,236,.4);padding:0 .22em}
.pg-home .smarq .w.fill {color:rgba(244,242,236,.14);-webkit-text-stroke:0}
.pg-home .mission {background:var(--surface);border-block:1px solid var(--line)}
.pg-home .mission .grid {display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.pg-home .mission .pic {position:relative;min-height:480px;overflow:hidden;background:var(--ink9)}
.pg-home .mission .pic img {width:100%;height:100%;object-fit:cover;position:absolute;inset:0;filter:grayscale(1) contrast(1.06) brightness(.8)}
.pg-home .mission .copy {padding:84px 64px;display:flex;flex-direction:column;gap:22px;justify-content:center}
.pg-home .mission h2 {font-size:4.4em;line-height:1em}
.pg-home .mission p {font-size:.79rem;line-height:1.35;color:var(--mist);font-weight:300;max-width:46ch}
.pg-home .mission .cta {display:flex;gap:13px;margin-top:8px;flex-wrap:wrap}
.pg-home .trainers .grid {display:grid;grid-template-columns:.82fr 1fr;gap:56px;align-items:center}
.pg-home .trainers .bmask {position:relative;background:var(--ink9);border:1px solid var(--line);aspect-ratio:1/1;overflow:hidden}
.pg-home .trainers .bmask img {width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08) brightness(.92)}
.pg-home .trainers .copy {display:flex;flex-direction:column;gap:20px}
.pg-home .trainers h2 {font-size:4.4em;line-height:1em}
.pg-home .trainers p {font-size:1.04rem;line-height:1.6;color:#bdbcb6;font-weight:300;max-width:40ch}
.pg-home .pricing {background:var(--surface);border-top:1px solid var(--line)}
.pg-home .pricing .head {text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:46px}
.pg-home .pricing .head h2 {font-size:4.4em;line-height:1em}
.pg-home .pg {display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:900px;margin:0 auto}
.pg-home .price {background:var(--bg);border:1px solid var(--line);padding:40px 34px;display:flex;flex-direction:column;gap:18px;position:relative}
.pg-home .price.feat {border-color:var(--line2)}
.pg-home .price .badge {position:absolute;top:0;right:0;background:var(--ink);color:var(--bg);font-family:'IBM Plex Mono',monospace;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;font-weight:600}
.pg-home .price .pn {font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);font-weight:500}
.pg-home .price .amt {font-family:'Anton',sans-serif;font-weight:400!important;font-size:4.6rem;line-height:.9}
.pg-home .price .amt small {font-size:.9rem;color:var(--mut);font-family:'Inter';font-weight:300;letter-spacing:0}
.pg-home .price ul {list-style:none;display:flex;flex-direction:column;gap:11px;margin:4px 0}
.pg-home .price li {font-size:.92rem;color:var(--mist);font-weight:300;display:flex;gap:10px;line-height:1.45}
.pg-home .price li::before {content:"✓";color:var(--ink);font-weight:600}
.pg-home .price .fine {font-size:.68rem;color:var(--mut);margin-top:auto}
.pg-home .price .desc {font-size:.79rem;line-height:1.35;color:var(--mist);font-weight:300;max-width:34ch}
.pg-home .pricing .founding {max-width:900px;margin:18px auto 0;border:1px solid var(--line);background:var(--banner);padding:20px 28px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.pg-home .pricing .founding .l {display:flex;flex-direction:column;gap:4px}
.pg-home .pricing .founding .pn {font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:#fff;font-weight:500}
.pg-home .pricing .founding .t {font-family:'Anton',sans-serif;font-weight:400!important;text-transform:uppercase;font-size:1.5rem; color:#fff;}
.pg-home .pricing .founding .amt {font-family:'Anton',sans-serif;font-weight:400!important;font-size:4.4rem;line-height:1; color:#fff;}
.pg-home .final {text-align:center;border-top:1px solid var(--line);position:relative;overflow:hidden}
.pg-home .final .bg {position:absolute;inset:0;z-index:0;background:var(--img-hero) center/cover no-repeat;filter:grayscale(1) contrast(1.04) brightness(.62)}
.pg-home .final .scrim {position:absolute;inset:0;z-index:1;background:var(--bg);opacity:.72}
.pg-home .final .in {position:relative;z-index:2}
.pg-home .final .in {display:flex;flex-direction:column;align-items:center;gap:24px}
.pg-home .final .mk img {height:30px;opacity:.9;margin-bottom:4px}
.pg-home .final h2 {font-size:4.4em;line-height:1em}
.pg-home .final p {max-width:42ch;color:var(--mist);font-weight:300;font-size:.79rem;line-height:1.35}
.pg-home footer {background:#070707;border-top:1px solid var(--line);padding:74px 0 40px}
.pg-home .foot-top {display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid var(--line)}
.pg-home .foot-brand img {height:30px;margin-bottom:18px}
.pg-home .foot-brand p {font-size:.92rem;line-height:1.6;color:var(--steel);font-weight:300;max-width:34ch}
.pg-home .foot-brand a {font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.08em;color:var(--ink);display:inline-block;margin-top:16px;opacity:.8;font-weight:500}
.pg-home .fcol h4 {font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);font-weight:500;margin-bottom:18px}
.pg-home .fcol a {display:block;font-size:.9rem;color:var(--steel);padding:6px 0;transition:color .2s}
.pg-home .fcol a:hover {color:var(--ink)}
.pg-home .foot-bot {padding-top:28px;font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.08em;color:var(--steel);font-weight:500;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
.pg-home .light {--bg:#FFFFFF;--surface:#F2F3F5;--surface2:#E9EBEE;--ink:#0B0B0C;--mut:#6B7177;--line:rgba(11,11,12,.14);--line2:rgba(11,11,12,.26);background:#FFFFFF;color:var(--ink)}
.pg-home .light .eyebrow {color:var(--steel)}
.pg-home .light .svc .kr {color:var(--steel)}
.pg-home .light .svc p, .pg-home .light .mission p, .pg-home .light .hero .lede, .pg-home .light .price li, .pg-home .light .price .desc {color:#22252B}
.pg-home .light .price .fine, .pg-home .light .price .amt small {color:var(--steel)}
.pg-home .light .svc .idx {-webkit-text-stroke-color:rgba(12,12,12,.5)}
.pg-home.heads-solid .out {color:var(--ink);-webkit-text-stroke:0;text-stroke:0;letter-spacing:.03em}
.pg-home.heads-solid .hero h1 .out {-webkit-text-stroke:0;text-stroke:0;color:var(--ink)}
.pg-home.img-color .hero .bg {filter:contrast(1.03) brightness(.8)}
.pg-home.img-color .svc .pic img {filter:contrast(1.02) brightness(.9)}
.pg-home.img-color .mission .pic img {filter:contrast(1.02) brightness(.88)}
.pg-home.img-color .final .bg {filter:contrast(1.02) brightness(.7)}
@media(max-width:980px) {
.pg-home .hero h1 {font-size:8em}
.pg-home .mission .grid, .pg-home .trainers .grid {grid-template-columns:1fr}
.pg-home .mission .pic {min-height:340px}
.pg-home .mission .copy {padding:56px 36px}
.pg-home .trainers .bmask {max-width:420px}
.pg-home .foot-top {grid-template-columns:1fr 1fr}
}
@media(max-width:640px) {
.pg-home .hero h1 {font-size:4.4em;line-height:1.02em}
.pg-home .sec-head h2, .pg-home .mission h2, .pg-home .trainers h2, .pg-home .pricing .head h2, .pg-home .final h2 {font-size:2.7em}
.pg-home .wrap {padding:0 18px}
.pg-home .sec {padding:74px 0}
.pg-home nav .links {display:none}
.pg-home nav .actions .btn:last-child {display:none}
.pg-home .hero .scrim {background:linear-gradient(180deg,rgba(12,12,12,.35),var(--bg) 78%)}
.pg-home .svc-grid, .pg-home .pg {grid-template-columns:1fr}
.pg-home .svc .idx {font-size:5rem}
.pg-home .foot-top {grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce) {
.pg-home .marquee .track {animation:none}
pg-home {scroll-behavior:auto}
.pg-home .smarq .sm-row {transform:none!important}
}

/* ---------- CLASSES (.pg-classes) ---------- */
.pg-classes * {box-sizing:border-box;margin:0;padding:0;border-radius:0}
pg-classes {scroll-behavior:smooth}
.pg-classes {font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--ink);overflow-x:hidden}
.pg-classes a {color:inherit;text-decoration:none}
.pg-classes img {display:block;max-width:100%}
.pg-classes .anton {font-family:'Anton',sans-serif;font-weight:400!important;text-transform:uppercase;letter-spacing:.03em;line-height:.95;font-weight:300;display:block}
.pg-classes .out {color:transparent;-webkit-text-stroke:1px var(--ink);text-stroke:1px var(--ink);letter-spacing:.06em}
.pg-classes .mono {font-family:'IBM Plex Mono',monospace}
.pg-classes .eyebrow {font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.56em;text-transform:uppercase;color:var(--mist);font-weight:600}
.pg-classes .wrap {max-width:1240px;margin:0 auto;padding:0 32px}
.pg-classes .sec {padding:108px 0;position:relative}
.pg-classes .btn {display:inline-flex;align-items:center;justify-content:center;text-align:center;font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;padding:15px 26px;border:1px solid var(--line2);background:transparent;color:var(--ink);transition:all .2s;cursor:pointer}
.pg-classes .btn::after {content:"→";display:inline-block;max-width:0;opacity:0;overflow:hidden;transition:max-width .25s ease,opacity .2s ease,margin-left .25s ease}
.pg-classes .btn:hover::after {max-width:1.4em;opacity:1;margin-left:.5em}
.pg-classes .btn-solid {background:var(--ink);color:var(--bg);border-color:var(--ink);font-weight:600}
.pg-classes .btn-solid:hover {background:#4e4d4c;color:#fff;border-color:#4e4d4c;transform:translateY(-1px)}
.pg-classes .btn-ghost {border-color:var(--ink)}
.pg-classes .btn-ghost:hover {background:var(--ink);color:var(--bg)}
.pg-classes .btn-sm {padding:12px 18px;font-size:.64rem}
.pg-classes nav {position:sticky;top:0;z-index:100;background:rgba(12,12,12,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.pg-classes nav .in {display:flex;align-items:center;justify-content:space-between;padding:18px 0;gap:24px}
.pg-classes nav .logo img {height:26px;width:auto}
.pg-classes nav .links {display:flex;gap:30px;align-items:center}
.pg-classes nav .links>a, .pg-classes .drop>span {font-family:'Inter',sans-serif;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);opacity:.8;transition:opacity .2s;cursor:pointer;font-weight:400}
.pg-classes nav .links>a:hover, .pg-classes .drop:hover>span, .pg-classes nav .links>a.active {opacity:1}
.pg-classes nav .links>a.active {border-bottom:1px solid var(--ink);padding-bottom:2px}
.pg-classes .drop {position:relative}
.pg-classes .drop>span {display:inline-flex;align-items:center;gap:6px}
.pg-classes .drop>span::after {content:"▾";font-size:.6rem;opacity:.6}
.pg-classes .drop .menu {position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);background:var(--surface);border:1px solid var(--line2);padding:8px 0;min-width:150px;opacity:0;visibility:hidden;transition:all .18s}
.pg-classes .drop:hover .menu {opacity:1;visibility:visible;transform:translateX(-50%) translateY(2px)}
.pg-classes .drop .menu a {display:block;font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);opacity:.78;padding:9px 20px;transition:all .15s}
.pg-classes .drop .menu a:hover {opacity:1;background:rgba(244,242,236,.06)}
.pg-classes nav .actions {display:flex;gap:10px;align-items:center}
@media(max-width:1024px) {
.pg-classes nav .links {display:none}
}
.pg-classes .phero {position:relative;overflow:hidden;border-bottom:1px solid var(--line);min-height:56vh;display:flex;align-items:center}
.pg-classes .phero .bg {position:absolute;inset:0;z-index:0;
    background:
      radial-gradient(ellipse at 70% 30%, rgba(34,37,43,.9), rgba(11,11,12,1) 70%),
      repeating-linear-gradient(135deg, #101216 0 22px, #0d0f12 22px 44px);
    filter:contrast(1.05)}
.pg-classes .phero .bg::after {content:"IMAGE PLACEHOLDER — GROUP CLASS ACTION SHOT";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
    font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.3em;color:rgba(169,174,180,.28);white-space:nowrap}
.pg-classes .phero .scrim {position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--bg) 24%,rgba(12,12,12,.55) 60%,rgba(12,12,12,.15))}
.pg-classes .phero .in {position:relative;z-index:3;padding:80px 0;max-width:820px}
.pg-classes .phero .tagrow {display:flex;align-items:center;gap:14px;margin-bottom:26px}
.pg-classes .phero .tagrow .ln {width:44px;height:1px;background:var(--mut)}
.pg-classes .phero h1 {font-size:clamp(3.4rem,10vw,8em);line-height:.92em;letter-spacing:.01em}
.pg-classes .phero h1 .out {-webkit-text-stroke:1px var(--ink);text-stroke:1px var(--ink)}
.pg-classes .phero .lede {max-width:52ch;margin-top:26px;font-size:.95rem;line-height:1.6;color:var(--mist);font-weight:300}
.pg-classes .phero .cta {display:flex;gap:13px;margin-top:34px;flex-wrap:wrap}
.pg-classes .marquee {overflow:hidden;border-bottom:1px solid var(--line);background:var(--graphite);padding:18px 0}
.pg-classes .marquee .track {display:flex;align-items:center;white-space:nowrap;width:max-content;animation:scroll 24s linear infinite}
.pg-classes .marquee .item {font-family:'IBM Plex Mono',monospace;text-transform:uppercase;font-size:1.05rem;letter-spacing:.06em;padding:0 24px;color:var(--mist);font-weight:500}
.pg-classes .marquee .sep {display:inline-block;width:3px;height:18px;background:var(--mist);transform:rotate(20deg);flex:0 0 auto}
.pg-classes .sec-head {display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:48px}
.pg-classes .sec-head h2 {font-size:clamp(2.4rem,6vw,4.4em);line-height:1em}
.pg-classes .sec-head .note {font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--steel);max-width:34ch;text-align:right}
.pg-classes .sched {border-top:1px solid var(--line2)}
.pg-classes .day {display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:24px;
    padding:26px 8px;border-bottom:1px solid var(--line);transition:background .2s,padding .2s;cursor:default}
.pg-classes .day:hover {background:rgba(233,235,238,.03);padding-left:20px}
.pg-classes .day .dow {font-family:'IBM Plex Mono',monospace;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--steel);font-weight:600}
.pg-classes .day .cls {font-family:'Anton',sans-serif;font-weight:400!important;text-transform:uppercase;letter-spacing:.02em;line-height:1;
    font-size:clamp(1.5rem,4vw,2.6rem);color:var(--ink)}
.pg-classes .day:hover .cls {color:#fff}
.pg-classes .day .tag {font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mist);
    border:1px solid var(--line2);padding:5px 10px;white-space:nowrap}
@media(max-width:680px) {
.pg-classes .day {grid-template-columns:1fr;gap:8px;padding:20px 6px}
.pg-classes .day .tag {justify-self:start}
}
.pg-classes .classes .svc-grid {display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pg-classes .svc {position:relative;background:var(--surface);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;transition:border-color .25s,transform .25s}
.pg-classes .svc:hover {transform:translateY(-4px);border-color:var(--line2)}
.pg-classes .svc .pic {position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--ink9)}
.pg-classes .ph {position:absolute;inset:0;
    background:
      radial-gradient(ellipse at 60% 40%, rgba(34,37,43,.9), rgba(11,11,12,1) 72%),
      repeating-linear-gradient(135deg, #14161a 0 20px, #0f1114 20px 40px);
    display:flex;align-items:center;justify-content:center}
.pg-classes .ph span {font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;color:rgba(169,174,180,.32);text-align:center;padding:0 20px}
.pg-classes .svc .body {padding:28px 28px 32px;display:flex;flex-direction:column;gap:14px;flex:1}
.pg-classes .svc .kr {font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mist);font-weight:600}
.pg-classes .svc h3 {font-family:'Anton',sans-serif;font-weight:400!important;text-transform:uppercase;letter-spacing:.02em;line-height:1;font-size:2rem;color:var(--ink)}
.pg-classes .svc p {font-size:.92rem;line-height:1.65;color:var(--mist);font-weight:300}
.pg-classes .svc .lvl {margin-top:auto;font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--steel);border-top:1px solid var(--line);padding-top:16px}
@media(max-width:820px) {
.pg-classes .classes .svc-grid {grid-template-columns:1fr}
}
.pg-classes .cta-strip {background:var(--graphite);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pg-classes .cta-strip .in {display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;padding:56px 0}
.pg-classes .cta-strip h2 {font-family:'Anton',sans-serif;font-weight:400!important;text-transform:uppercase;letter-spacing:.02em;line-height:.95;font-size:clamp(2rem,5vw,3.4rem)}
.pg-classes .cta-strip .cta {display:flex;gap:12px;flex-wrap:wrap}
.pg-classes footer {background:#070707;border-top:1px solid var(--line);padding:74px 0 40px}
.pg-classes .foot-top {display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid var(--line)}
.pg-classes .foot-brand img {height:30px;margin-bottom:18px}
.pg-classes .foot-brand p {font-size:.92rem;line-height:1.6;color:var(--steel);font-weight:300;max-width:34ch}
.pg-classes .foot-brand a {font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.08em;color:var(--ink);display:inline-block;margin-top:16px;opacity:.8;font-weight:500}
.pg-classes .fcol h4 {font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);font-weight:500;margin-bottom:18px}
.pg-classes .fcol a {display:block;font-size:.9rem;color:var(--steel);padding:6px 0;transition:color .2s}
.pg-classes .fcol a:hover {color:var(--ink)}
.pg-classes .foot-bot {padding-top:28px;font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.06em;color:var(--steel);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
@media(max-width:820px) {
.pg-classes .foot-top {grid-template-columns:1fr 1fr;gap:30px}
}
@media(max-width:520px) {
.pg-classes .foot-top {grid-template-columns:1fr}
}

/* ============================================================
   NEW PAGES — Personal Training + Contact
   Shared shell scoped under .sh ; page specifics under
   .pg-training / .pg-contact. Uses the global :root tokens
   and the global @keyframes scroll already in this file.
   ============================================================ */

/* ---------- shared shell (.sh) ---------- */
.sh{background:var(--bg);color:var(--ink);font-family:'Inter',sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;}
.sh *{box-sizing:border-box;}
.sh img{max-width:100%;display:block;}
.sh a{color:inherit;text-decoration:none;}
.sh .wrap{max-width:1280px;margin:0 auto;padding:0 clamp(20px,5vw,64px);}

.sh nav{position:sticky;top:0;z-index:50;background:rgba(11,11,12,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.sh nav .in{display:flex;align-items:center;justify-content:space-between;height:76px;gap:24px;}
.sh .logo img{height:26px;}
.sh .links{display:flex;align-items:center;gap:26px;}
.sh .links a,.sh .drop>span{font-family:'Inter',sans-serif;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);opacity:.8;cursor:pointer;transition:opacity .2s;}
.sh .links a:hover,.sh .drop:hover>span{opacity:1;}
.sh .drop{position:relative;}
.sh .drop .menu{position:absolute;top:100%;left:-14px;background:var(--surface);border:1px solid var(--line);padding:8px 0;min-width:170px;opacity:0;visibility:hidden;transform:translateY(6px);transition:.2s;}
.sh .drop:hover .menu{opacity:1;visibility:visible;transform:translateY(0);}
.sh .drop .menu a{display:block;padding:9px 20px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;opacity:.8;}
.sh .drop .menu a:hover{opacity:1;background:var(--surface2);}
.sh .actions{display:flex;gap:12px;}

.sh .btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:15px 26px;border:1px solid var(--ink);color:var(--ink);cursor:pointer;transition:.2s;}
.sh .btn:hover{background:var(--ink);color:#000;}
.sh .btn-solid{background:var(--paper);color:#000;border-color:var(--paper);}
.sh .btn-solid:hover{background:transparent;color:var(--ink);border-color:var(--ink);}
.sh .btn-ghost{background:transparent;}
.sh .btn-sm{padding:11px 18px;font-size:.68rem;}

.sh .eyebrow{display:flex;align-items:center;gap:16px;font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--mist);}
.sh .eyebrow::before{content:"";width:46px;height:1px;background:var(--mist);opacity:.7;}
.sh .kicker{font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mist);font-weight:600;}
.sh h1.display,.sh h2.display{font-family:'Anton',sans-serif;font-weight:400!important;text-transform:uppercase;line-height:.92;letter-spacing:.01em;}
.sh h1.display{font-size:clamp(3rem,9vw,7rem);}
.sh .outline{color:transparent;-webkit-text-stroke:1px var(--ink);}
.sh section{padding:clamp(64px,10vw,120px) 0;}
.sh .sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:54px;}
.sh .sec-head h2{font-family:'Anton',sans-serif;font-weight:400!important;text-transform:uppercase;font-size:clamp(2.4rem,6vw,4.4rem);line-height:1;}
.sh .lede{color:var(--mist);font-weight:300;max-width:52ch;font-size:1.02rem;line-height:1.6;}

.sh .marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--graphite);padding:20px 0;}
.sh .marquee .track{display:flex;align-items:center;white-space:nowrap;width:max-content;animation:scroll 22s linear infinite;}
.sh .marquee .track span{font-family:'Anton',sans-serif;font-weight:400!important;text-transform:uppercase;font-size:1.6rem;letter-spacing:.02em;padding:0 26px;color:var(--mist);}
.sh .marquee .track span.slash{color:var(--steel);}

.sh footer{border-top:1px solid var(--line);padding:70px 0 40px;}
.sh .foot-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;}
.sh .foot-brand img{height:28px;margin-bottom:18px;}
.sh .foot-brand p{color:var(--mist);font-weight:300;font-size:.9rem;max-width:34ch;margin-bottom:14px;}
.sh .foot-brand a{font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.06em;color:var(--ink);}
.sh .fcol h4{font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);margin-bottom:16px;}
.sh .fcol a{display:block;color:var(--mut);font-size:.85rem;margin-bottom:9px;}
.sh .fcol a:hover{color:var(--ink);}
.sh .foot-bot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:50px;padding-top:26px;font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.06em;color:var(--steel);}

/* ---------- Personal Training (.pg-training) ---------- */
.pg-training .hero{padding:clamp(56px,8vw,104px) 0 clamp(40px,6vw,64px);}
.pg-training .hero .eyebrow{margin-bottom:30px;}
.pg-training .hero p.lede{margin:26px 0 34px;}
.pg-training .hero .cta{display:flex;gap:14px;flex-wrap:wrap;}
.pg-training .feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);}
.pg-training .feat{background:var(--bg);padding:34px 30px;}
.pg-training .feat .n{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.2em;color:var(--steel);}
.pg-training .feat h3{font-family:'Anton',sans-serif;font-weight:400!important;text-transform:uppercase;font-size:1.7rem;line-height:1;margin:14px 0 12px;}
.pg-training .feat p{color:var(--mist);font-weight:300;font-size:.9rem;line-height:1.55;}
.pg-training .steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:30px;}
.pg-training .step .num{font-family:'Anton',sans-serif;font-weight:400!important;font-size:3.4rem;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--steel);}
.pg-training .step h3{font-family:'Anton',sans-serif;font-weight:400!important;text-transform:uppercase;font-size:1.4rem;margin:12px 0 10px;}
.pg-training .step p{color:var(--mist);font-weight:300;font-size:.9rem;line-height:1.55;}
.pg-training .plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:20px;}
.pg-training .plan{border:1px solid var(--line);background:var(--surface);padding:36px 30px;display:flex;flex-direction:column;}
.pg-training .plan.feature{border-color:var(--paper);}
.pg-training .plan .tag{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mist);}
.pg-training .plan .price{font-family:'Anton',sans-serif;font-weight:400!important;font-size:3rem;line-height:1;margin:16px 0 4px;}
.pg-training .plan .price small{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.08em;color:var(--steel);}
.pg-training .plan ul{list-style:none;padding:0;margin:20px 0 26px;display:flex;flex-direction:column;gap:11px;}
.pg-training .plan li{color:var(--mist);font-weight:300;font-size:.88rem;padding-left:18px;position:relative;}
.pg-training .plan li::before{content:"—";position:absolute;left:0;color:var(--steel);}
.pg-training .plan .btn{margin-top:auto;}
.pg-training .cta-band{background:var(--surface2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;}
.pg-training .cta-band h2{font-family:'Anton',sans-serif;font-weight:400!important;text-transform:uppercase;font-size:clamp(2.4rem,6vw,4rem);line-height:1;margin-bottom:24px;}

/* ---------- Contact (.pg-contact) ---------- */
.pg-contact .hero{padding:clamp(56px,8vw,104px) 0 clamp(30px,5vw,50px);}
.pg-contact .hero .eyebrow{margin-bottom:28px;}
.pg-contact .cwrap{display:grid;grid-template-columns:.9fr 1.2fr;gap:clamp(36px,6vw,72px);align-items:start;}
.pg-contact .info .blk{padding:22px 0;border-top:1px solid var(--line);}
.pg-contact .info .blk:last-child{border-bottom:1px solid var(--line);}
.pg-contact .info h4{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--steel);margin-bottom:9px;}
.pg-contact .info p,.pg-contact .info a{color:var(--ink);font-size:1rem;line-height:1.5;}
.pg-contact .info a:hover{color:var(--mist);}
.pg-contact form{display:grid;gap:18px;}
.pg-contact .row2{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.pg-contact .field{display:flex;flex-direction:column;gap:8px;}
.pg-contact .field label{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mist);}
.pg-contact input,.pg-contact select,.pg-contact textarea{width:100%;background:var(--surface);border:1px solid var(--line);color:var(--ink);padding:14px 16px;font-family:'Inter',sans-serif;font-size:.95rem;}
.pg-contact input:focus,.pg-contact select:focus,.pg-contact textarea:focus{outline:none;border-color:var(--paper);}
.pg-contact textarea{resize:vertical;min-height:130px;}
.pg-contact .map{margin-top:0;aspect-ratio:16/7;background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--steel);font-family:'IBM Plex Mono',monospace;letter-spacing:.2em;text-transform:uppercase;font-size:.7rem;}

/* ---------- responsive (new pages) ---------- */
@media (max-width:900px){
  .sh .links,.sh .actions{display:none;}
  .sh .foot-top{grid-template-columns:1fr 1fr;gap:32px;}
  .pg-contact .cwrap{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .sh .foot-top{grid-template-columns:1fr;}
  .pg-contact .row2{grid-template-columns:1fr;}
}


/* ============================================================
   WORDPRESS / KADENCE FIXES
   - restore heading color (Kadence forces its own dark color)
   - images as stylesheet-relative backgrounds (survive subfolder installs)
   ============================================================ */
.pg-home h1,.pg-home h2,.pg-home h3,.pg-home h4,.pg-home h5,.pg-home h6,
.pg-classes h1,.pg-classes h2,.pg-classes h3,.pg-classes h4,.pg-classes h5,.pg-classes h6,
.sh h1,.sh h2,.sh h3,.sh h4,.sh h5,.sh h6{color:var(--ink);}
/* neutralize Kadence's injected heading/paragraph margins (design's own class rules stay more specific) */
.pg-home h1,.pg-home h2,.pg-home h3,.pg-home h4,.pg-home h5,.pg-home h6,.pg-home p,.pg-home ul,.pg-home ol,.pg-home li,.pg-home figure,.pg-home blockquote,.pg-classes h1,.pg-classes h2,.pg-classes h3,.pg-classes h4,.pg-classes h5,.pg-classes h6,.pg-classes p,.pg-classes ul,.pg-classes ol,.pg-classes li,.pg-classes figure,.pg-classes blockquote,.sh h1,.sh h2,.sh h3,.sh h4,.sh h5,.sh h6,.sh p,.sh ul,.sh ol,.sh li,.sh figure,.sh blockquote{margin:0;padding:0;}


.mklogo{display:inline-block;height:28px;width:150px;background:url(assets/img/photo2.png) left center/contain no-repeat;vertical-align:middle;}
.mklogo-c{background-image:url(assets/img/logo.png);}
.foot-brand .mklogo{display:block;margin-bottom:16px;}
.mk .mklogo{background-position:center;opacity:.9;}
.pg-home .svc .pic.photo-3::before,.pg-home .svc .pic.photo-4::before,.pg-home .mission .pic.photo-5::before{content:"";position:absolute;inset:0;background-size:cover;background-position:center;filter:contrast(1.02) brightness(.9);z-index:0;}
.pg-home .svc .pic.photo-3::before{background-image:url(assets/img/photo3.jpg);}
.pg-home .svc .pic.photo-4::before{background-image:url(assets/img/photo4.jpg);}
.pg-home .mission .pic.photo-5::before{background-image:url(assets/img/photo5.jpg);}


/* ---------- Schedule page (.pg-schedule) ---------- */
.pg-schedule .sched-wrap{padding:clamp(30px,5vw,56px) 0 clamp(64px,10vw,110px);}
.pg-schedule .mariana-embed{min-height:640px;}


/* ============================================================
   GLOBAL HEADER / FOOTER  (Kadence Header & Footer HTML modules)
   Un-scoped so they style .ob-header / .ob-footer wherever
   Kadence renders them, on every page.
   ============================================================ */
.ob-header,.ob-footer{font-family:'Inter',sans-serif;color:var(--ink);background:var(--bg);}
.ob-header *,.ob-footer *{margin:0;padding:0;box-sizing:border-box;}
.ob-header a,.ob-footer a{color:inherit;text-decoration:none;}
.ob-header .wrap,.ob-footer .wrap{max-width:1240px;margin:0 auto;padding:0 32px;}

/* buttons */
.ob-header .btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;padding:15px 26px;border:1px solid var(--line2);background:transparent;color:var(--ink);transition:all .2s;cursor:pointer;}
.ob-header .btn-solid{background:var(--ink);color:var(--bg);border-color:var(--ink);font-weight:600;}
.ob-header .btn-solid:hover{background:#4e4d4c;color:#fff;border-color:#4e4d4c;}
.ob-header .btn-ghost{border-color:var(--ink);}
.ob-header .btn-ghost:hover{background:var(--ink);color:var(--bg);}
.ob-header .btn-sm{padding:12px 18px;font-size:.64rem;}

/* announcement */
.ob-header .annc{background:var(--banner);border-bottom:1px solid var(--line);}
.ob-header .annc .in{display:flex;align-items:center;justify-content:center;gap:18px;padding:10px 32px;flex-wrap:wrap;}
.ob-header .annc .al{font-family:'IBM Plex Mono',monospace;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mist);font-weight:500;}
.ob-header .annc .al b{color:var(--ink);font-weight:600;}
.ob-header .annc .ap{font-family:'Anton',sans-serif;font-weight:400!important;font-size:1.5rem;color:var(--ink);letter-spacing:.02em;}
.ob-header .annc .btn{padding:8px 14px;font-size:.6rem;}

/* nav */
.ob-header > nav{background:rgba(12,12,12,.92);border-bottom:1px solid var(--line);}
.ob-header > nav .in{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;gap:24px;}
.ob-header .logo .mklogo{height:26px;width:150px;}
.ob-header .links{display:flex;gap:30px;align-items:center;}
.ob-header .links>a,.ob-header .drop>span{font-family:'Inter',sans-serif;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);opacity:.8;transition:opacity .2s;cursor:pointer;font-weight:400;}
.ob-header .links>a:hover,.ob-header .drop:hover>span{opacity:1;}
.ob-header .drop{position:relative;}
.ob-header .drop>span{display:inline-flex;align-items:center;gap:6px;}
.ob-header .drop>span::after{content:"\25BE";font-size:.6rem;opacity:.6;}
.ob-header .drop .menu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);background:var(--surface);border:1px solid var(--line2);padding:8px 0;min-width:150px;opacity:0;visibility:hidden;transition:all .18s;z-index:60;}
.ob-header .drop:hover .menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(2px);}
.ob-header .drop .menu a{display:block;font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);opacity:.78;padding:9px 20px;transition:all .15s;}
.ob-header .drop .menu a:hover{opacity:1;background:rgba(244,242,236,.06);}
.ob-header .actions{display:flex;gap:10px;align-items:center;}

/* footer */
.ob-footer{border-top:1px solid var(--line);padding:74px 0 40px;background:#070707;}
.ob-footer .foot-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid var(--line);}
.ob-footer .foot-brand .mklogo{height:30px;width:150px;margin:0 0 18px;display:block;}
.ob-footer .foot-brand p{font-size:.92rem;line-height:1.6;color:var(--steel);font-weight:300;max-width:34ch;}
.ob-footer .foot-brand a{font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.08em;color:var(--ink);display:inline-block;margin-top:16px;opacity:.8;font-weight:500;}
.ob-footer .fcol h4{font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);font-weight:500;margin:0 0 18px;}
.ob-footer .fcol a{display:block;font-size:.9rem;color:var(--steel);padding:6px 0;transition:color .2s;}
.ob-footer .fcol a:hover{color:var(--ink);}
.ob-footer .foot-bot a{color:var(--steel);transition:color .2s;}
.ob-footer .foot-bot a:hover{color:var(--ink);}
.ob-footer .fcol a.addr{line-height:1.6;}
.ob-footer .foot-bot{padding-top:28px;font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.08em;color:var(--steel);font-weight:500;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;}

@media(max-width:980px){.ob-footer .foot-top{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){
  .ob-header > nav .in{padding:18px;}
  .ob-header .annc .in{padding:10px 18px;}
  .ob-header .wrap,.ob-footer .wrap{padding:0 18px;}
  .ob-footer .foot-top{grid-template-columns:1fr;}
}

/* hide Kadence's default header/footer — replaced by the global .ob-header / .ob-footer */
#masthead,.site-header,#colophon,.site-footer{display:none !important;}


/* ---------- Schedule page photo hero ---------- */
.pg-schedule .sched-hero{position:relative;min-height:50vh;display:flex;align-items:flex-end;overflow:hidden;border-bottom:1px solid var(--line);padding:0;}
.pg-schedule .sched-hero .bg{position:absolute;inset:0;z-index:0;background:url(assets/img/photo3.jpg) center 20%/cover no-repeat;filter:grayscale(1) contrast(1.05) brightness(.62);}
.pg-schedule .sched-hero .scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(11,11,12,.35) 0%,rgba(11,11,12,.5) 55%,var(--bg) 100%);}
.pg-schedule .sched-hero .wrap{position:relative;z-index:2;padding-top:clamp(72px,11vw,140px);padding-bottom:clamp(36px,5vw,60px);}
.pg-schedule .sched-hero .lede{margin-top:22px;}

:root {
    --ink9:#0B0B0C;--carbon:#16181c;--carbon2:#101216;--graphite:#22252B;--steel:#6B7177;--mist:#A9AEB4;--fog:#E9EBEE;--paper:#FFFFFF;
    --bg:#0B0B0C;--surface:#16181c;--surface2:#22252B;--banner:#565656;
    
    --ink:#E9EBEE;--mut:#6B7177;
    --line:rgba(233,235,238,.12);--line2:rgba(233,235,238,.22);
  }
/* ================= ABOUT PAGE (.pg-about) ================= */
.pg-about * {box-sizing:border-box;margin:0;padding:0;border-radius:0}
pg-about {scroll-behavior:smooth}
.pg-about {font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--ink);overflow-x:hidden}
.pg-about a {color:inherit;text-decoration:none}
.pg-about img {display:block;max-width:100%}
.pg-about .anton {font-family:'Anton',sans-serif;font-weight:400!important;text-transform:uppercase;letter-spacing:.03em;line-height:.95;font-weight:300;display:block}
.pg-about .out {color:transparent;-webkit-text-stroke:1px var(--ink);text-stroke:1px var(--ink);letter-spacing:.06em}
.pg-about .mono {font-family:'IBM Plex Mono',monospace}
.pg-about .eyebrow {font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.56em;text-transform:uppercase;color:var(--mist);font-weight:600}
.pg-about .wrap {max-width:1240px;margin:0 auto;padding:0 32px}
.pg-about .sec {padding:108px 0;position:relative}
.pg-about .btn {display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:0;font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;padding:15px 26px;border:1px solid var(--line2);background:transparent;color:var(--ink);transition:all .2s;cursor:pointer}
.pg-about .btn::after {content:"→";display:inline-block;max-width:0;opacity:0;overflow:hidden;transition:max-width .25s ease,opacity .2s ease,margin-left .25s ease}
.pg-about .btn:hover::after {max-width:1.4em;opacity:1;margin-left:.5em}
.pg-about .btn-solid {background:var(--ink);color:var(--bg);border-color:var(--ink);font-weight:600}
.pg-about .btn-solid:hover {background:#4e4d4c;color:#fff;border-color:#4e4d4c;transform:translateY(-1px)}
.pg-about .btn-ghost {border-color:var(--ink)}
.pg-about .btn-ghost:hover {background:var(--ink);color:var(--bg)}
.pg-about .btn-sm {padding:12px 18px;font-size:.64rem}
.pg-about nav {position:sticky;top:0;z-index:100;background:rgba(12,12,12,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.pg-about nav .in {display:flex;align-items:center;justify-content:space-between;padding:18px 0;gap:24px}
.pg-about nav .logo img {height:26px;width:auto}
.pg-about nav .links {display:flex;gap:30px;align-items:center}
.pg-about nav .links>a, .pg-about .drop>span {font-family:'Inter',sans-serif;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);opacity:.8;transition:opacity .2s;cursor:pointer;font-weight:400;text-align:center}
.pg-about nav .links>a:hover, .pg-about .drop:hover>span {opacity:1}
.pg-about .drop {position:relative}
.pg-about .drop>span {display:inline-flex;align-items:center;gap:6px}
.pg-about .drop>span::after {content:"▾";font-size:.6rem;opacity:.6}
.pg-about .drop .menu {position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);background:var(--surface);border:1px solid var(--line2);padding:8px 0;min-width:150px;opacity:0;visibility:hidden;transition:all .18s}
.pg-about .drop:hover .menu {opacity:1;visibility:visible;transform:translateX(-50%) translateY(2px)}
.pg-about .drop .menu a {display:block;font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);opacity:.78;padding:9px 20px;transition:all .15s}
.pg-about .drop .menu a:hover {opacity:1;background:rgba(244,242,236,.06)}
.pg-about nav .actions {display:flex;gap:10px;align-items:center}
.pg-about .annc {background:var(--banner);border-bottom:1px solid var(--line)}
.pg-about .annc .in {display:flex;align-items:center;justify-content:center;gap:18px;padding:10px 32px;flex-wrap:wrap}
.pg-about .annc .al {font-family:'IBM Plex Mono',monospace;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mist);font-weight:500}
.pg-about .annc .al b {color:var(--ink);font-weight:600}
.pg-about .annc .ap {font-family:'Anton',sans-serif;font-weight:400!important;font-size:1.5rem;color:var(--ink);letter-spacing:.02em}
.pg-about .annc .btn {padding:8px 14px;font-size:.6rem}
.pg-about .hero {position:relative;min-height:88vh;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line)}
.pg-about .hero .bg {position:absolute;inset:0;z-index:0;background:var(--img-hero) center/cover no-repeat;filter:grayscale(1) contrast(1.05) brightness(.74)}
.pg-about .hero .bg img {width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(1) contrast(1.05) brightness(.74)}
.pg-about .hero .scrim {position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--bg) 22%,rgba(12,12,12,.5) 58%,rgba(12,12,12,.05))}
.pg-about .hero .in {position:relative;z-index:3;padding:64px 0;max-width:840px;text-align:left}
.pg-about .hero .wrap {max-width:none;margin:0;padding-left:5vw}
.pg-about .hero .tagrow {display:flex;align-items:center;justify-content:flex-start;gap:14px;margin-bottom:28px}
.pg-about .hero .tagrow .ln {width:44px;height:1px;background:var(--mut)}
.pg-about .hero h1 {font-size:11em;line-height:.95em;letter-spacing:.01em}
.pg-about .hero h1 .out {-webkit-text-stroke:1px var(--ink);text-stroke:1px var(--ink)}
.pg-about .hero .lede {max-width:44ch;margin-top:28px;font-size:.92rem;line-height:1.35;color:var(--mist);font-weight:300}
.pg-about .hero .cta {display:flex;justify-content:flex-start;gap:13px;margin-top:36px;flex-wrap:wrap}
.pg-about .marquee {overflow:hidden;border-bottom:1px solid var(--line);background:var(--graphite);padding:20px 0}
.pg-about .marquee .track {display:flex;align-items:center;white-space:nowrap;width:max-content;animation:scroll 20s linear infinite}
.pg-about .marquee .item {font-family:'IBM Plex Mono',monospace;text-transform:uppercase;font-size:1.05rem;letter-spacing:.06em;padding:0 24px;color:var(--mist);font-weight:500}
.pg-about .marquee .sep {display:inline-block;width:3px;height:18px;background:var(--mist);transform:rotate(20deg);flex:0 0 auto}
.pg-about .sec-head {display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:54px}
.pg-about .sec-head h2 {font-size:4.4em;line-height:1em}
.pg-about .svc-grid {display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pg-about .svc {position:relative;background:var(--surface);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;transition:border-color .25s,transform .25s}
.pg-about .svc:hover {transform:translateY(-4px);border-color:var(--line2)}
.pg-about .svc .pic {position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--ink9)}
.pg-about .svc .pic img {width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.06) brightness(.82)}
.pg-about .svc .idx {position:absolute;top:8px;right:18px;z-index:3;font-family:'Anton',sans-serif;font-weight:400!important;font-size:6.5rem;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(244,242,236,.55);pointer-events:none}
.pg-about .svc .body {padding:26px 26px 30px;display:flex;flex-direction:column;gap:13px;flex:1}
.pg-about .svc .kr {font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mist);font-weight:600}
.pg-about .svc h3 {font-size:2.6rem}
.pg-about .svc p {font-size:.92rem;line-height:1.35;color:var(--mist);font-weight:300;max-width:42ch}
.pg-about .svc .more {font-family:'IBM Plex Mono',monospace;font-size:.86rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);font-weight:500;margin-top:6px;align-self:flex-start;display:inline-flex;align-items:center}
.pg-about .svc .more::after {content:"→";display:inline-block;max-width:0;opacity:0;overflow:hidden;transition:max-width .25s ease,opacity .2s ease,margin-left .25s ease}
.pg-about .svc .more:hover::after {max-width:1.4em;opacity:1;margin-left:.5em}
.pg-about .smarq {overflow:hidden;border-block:1px solid var(--line);background:var(--ink9);padding:54px 0}
.pg-about .smarq .sm-row {display:flex;white-space:nowrap;width:max-content;will-change:transform}
.pg-about .smarq .w {font-family:'Anton',sans-serif;font-weight:400!important;text-transform:uppercase;font-size:clamp(3.4rem,11vw,8.5rem);line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(244,242,236,.4);padding:0 .22em}
.pg-about .smarq .w.fill {color:rgba(244,242,236,.14);-webkit-text-stroke:0}
.pg-about .mission {background:var(--surface);border-block:1px solid var(--line)}
.pg-about .mission .grid {display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.pg-about .mission .pic {position:relative;min-height:480px;overflow:hidden;background:var(--ink9)}
.pg-about .mission .pic img {width:100%;height:100%;object-fit:cover;position:absolute;inset:0;filter:grayscale(1) contrast(1.06) brightness(.8)}
.pg-about .mission .copy {padding:84px 64px;display:flex;flex-direction:column;gap:22px;justify-content:center}
.pg-about .mission h2 {font-size:4.4em;line-height:1em}
.pg-about .mission p {font-size:.92rem;line-height:1.35;color:var(--mist);font-weight:300;max-width:46ch}
.pg-about .mission .cta {display:flex;gap:13px;margin-top:8px;flex-wrap:wrap}
.pg-about .trainers .grid {display:grid;grid-template-columns:.82fr 1fr;gap:56px;align-items:center}
.pg-about .trainers .bmask {position:relative;background:var(--ink9);border:1px solid var(--line);aspect-ratio:1/1;overflow:hidden}
.pg-about .trainers .bmask img {width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08) brightness(.92)}
.pg-about .trainers .copy {display:flex;flex-direction:column;gap:20px}
.pg-about .trainers h2 {font-size:4.4em;line-height:1em}
.pg-about .trainers p {font-size:1.04rem;line-height:1.6;color:#bdbcb6;font-weight:300;max-width:40ch}
.pg-about .pricing {background:var(--surface);border-top:1px solid var(--line)}
.pg-about .pricing .head {text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:46px}
.pg-about .pricing .head h2 {font-size:4.4em;line-height:1em}
.pg-about .pg {display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:900px;margin:0 auto}
.pg-about .price {background:var(--bg);border:1px solid var(--line);padding:40px 34px;display:flex;flex-direction:column;gap:18px;position:relative}
.pg-about .price.feat {border-color:var(--line2)}
.pg-about .price .badge {position:absolute;top:0;right:0;background:var(--ink);color:var(--bg);font-family:'IBM Plex Mono',monospace;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;font-weight:600}
.pg-about .price .pn {font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);font-weight:500}
.pg-about .price .amt {font-family:'Anton',sans-serif;font-weight:400!important;font-size:4.6rem;line-height:.9}
.pg-about .price .amt small {font-size:.9rem;color:var(--mut);font-family:'Inter';font-weight:300;letter-spacing:0}
.pg-about .price ul {list-style:none;display:flex;flex-direction:column;gap:11px;margin:4px 0}
.pg-about .price li {font-size:.92rem;color:var(--mist);font-weight:300;display:flex;gap:10px;line-height:1.45}
.pg-about .price li::before {content:"✓";color:var(--ink);font-weight:600}
.pg-about .price .fine {font-size:.68rem;color:var(--mut);margin-top:auto}
.pg-about .price .desc {font-size:.92rem;line-height:1.35;color:var(--mist);font-weight:300;max-width:34ch}
.pg-about .pricing .founding {max-width:900px;margin:18px auto 0;border:1px solid var(--line);background:var(--banner);padding:20px 28px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.pg-about .pricing .founding .l {display:flex;flex-direction:column;gap:4px}
.pg-about .pricing .founding .pn {font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mist);font-weight:500}
.pg-about .pricing .founding .t {font-family:'Anton',sans-serif;font-weight:400!important;text-transform:uppercase;font-size:1.5rem}
.pg-about .pricing .founding .amt {font-family:'Anton',sans-serif;font-weight:400!important;font-size:2.4rem;line-height:1}
.pg-about .final {text-align:center;border-top:1px solid var(--line);position:relative;overflow:hidden}
.pg-about .final .bg {position:absolute;inset:0;z-index:0;background:var(--img-hero) center/cover no-repeat;filter:grayscale(1) contrast(1.04) brightness(.62)}
.pg-about .final .scrim {position:absolute;inset:0;z-index:1;background:var(--bg);opacity:.72}
.pg-about .final .in {position:relative;z-index:2}
.pg-about .final .in {display:flex;flex-direction:column;align-items:center;gap:24px}
.pg-about .final .mk img {height:30px;opacity:.9;margin-bottom:4px}
.pg-about .final h2 {font-size:4.4em;line-height:1em}
.pg-about .final p {max-width:42ch;color:var(--mist);font-weight:300;font-size:.92rem;line-height:1.35}
.pg-about footer {background:#070707;border-top:1px solid var(--line);padding:74px 0 40px}
.pg-about .foot-top {display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid var(--line)}
.pg-about .foot-brand img {height:30px;margin-bottom:18px}
.pg-about .foot-brand p {font-size:.92rem;line-height:1.6;color:var(--steel);font-weight:300;max-width:34ch}
.pg-about .foot-brand a {font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.08em;color:var(--ink);display:inline-block;margin-top:16px;opacity:.8;font-weight:500}
.pg-about .fcol h4 {font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);font-weight:500;margin-bottom:18px}
.pg-about .fcol a {display:block;font-size:.9rem;color:var(--steel);padding:6px 0;transition:color .2s}
.pg-about .fcol a:hover {color:var(--ink)}
.pg-about .foot-bot {padding-top:28px;font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.08em;color:var(--steel);font-weight:500;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
.pg-about .light {--bg:#FFFFFF;--surface:#F2F3F5;--surface2:#E9EBEE;--ink:#0B0B0C;--mut:#6B7177;--line:rgba(11,11,12,.14);--line2:rgba(11,11,12,.26);background:#FFFFFF;color:var(--ink)}
.pg-about .light .eyebrow {color:var(--steel)}
.pg-about .light .svc .kr {color:var(--steel)}
.pg-about .light .svc p, .pg-about .light .mission p, .pg-about .light .hero .lede, .pg-about .light .price li, .pg-about .light .price .desc {color:#22252B}
.pg-about .light .price .fine, .pg-about .light .price .amt small {color:var(--steel)}
.pg-about .light .svc .idx {-webkit-text-stroke-color:rgba(12,12,12,.5)}
.pg-about.heads-solid .out {color:var(--ink);-webkit-text-stroke:0;text-stroke:0;letter-spacing:.03em}
.pg-about.heads-solid .hero h1 .out {-webkit-text-stroke:0;text-stroke:0;color:var(--ink)}
.pg-about.img-color .hero .bg {filter:contrast(1.03) brightness(.8)}
.pg-about.img-color .svc .pic img {filter:contrast(1.02) brightness(.9)}
.pg-about.img-color .mission .pic img {filter:contrast(1.02) brightness(.88)}
.pg-about.img-color .final .bg {filter:contrast(1.02) brightness(.7)}
@media(max-width:980px) {
.pg-about .hero h1 {font-size:8em}
.pg-about .mission .grid, .pg-about .trainers .grid {grid-template-columns:1fr}
.pg-about .mission .pic {min-height:340px}
.pg-about .mission .copy {padding:56px 36px}
.pg-about .trainers .bmask {max-width:420px}
.pg-about .foot-top {grid-template-columns:1fr 1fr}
}
@media(max-width:640px) {
.pg-about .hero h1 {font-size:4.4em;line-height:1.02em}
.pg-about .sec-head h2, .pg-about .mission h2, .pg-about .trainers h2, .pg-about .pricing .head h2, .pg-about .final h2 {font-size:2.7em}
.pg-about .wrap {padding:0 18px}
.pg-about .sec {padding:74px 0}
.pg-about nav .links {display:none}
.pg-about nav .actions .btn:last-child {display:none}
.pg-about .hero .scrim {background:linear-gradient(180deg,rgba(12,12,12,.35),var(--bg) 78%)}
.pg-about .svc-grid, .pg-about .pg {grid-template-columns:1fr}
.pg-about .svc .idx {font-size:5rem}
.pg-about .foot-top {grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce) {
.pg-about .marquee .track {animation:none}
pg-about {scroll-behavior:auto}
.pg-about .smarq .sm-row {transform:none!important}
}
.pg-about .ab-hero {position:relative;overflow:hidden;padding:128px 0 96px;border-bottom:1px solid var(--line)}
.pg-about .ab-hero .bg {position:absolute;inset:-12% 0;z-index:0;background:var(--img-hero) center/cover no-repeat;filter:grayscale(1) contrast(1.05) brightness(.32);will-change:transform}
.pg-about .ab-hero .scrim {position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--bg) 32%,rgba(11,11,12,.55) 100%)}
.pg-about .ab-hero .wrap {position:relative;z-index:2;max-width:none;margin:0;padding-left:5vw}
.pg-about .ab-hero .in2 {max-width:920px}
.pg-about .ab-hero h1 {font-size:7em;line-height:.95em;letter-spacing:.01em;margin-top:18px}
.pg-about .ab-hero .lede {max-width:52ch;margin-top:26px;font-size:.92rem;line-height:1.35;color:var(--mist);font-weight:300}
.pg-about .ab-collage {position:relative;overflow:hidden;padding:92px 0;border-bottom:1px solid var(--line);background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%2722%27%20height%3D%2722%27%20viewBox%3D%270%200%2022%2022%27%3E%3Cline%20x1%3D%276%27%20y1%3D%2715%27%20x2%3D%2715%27%20y2%3D%276%27%20stroke%3D%27%2333373d%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20opacity%3D%270.6%27/%3E%3C/svg%3E") 0 0/22px 22px,var(--bg)}
.pg-about .ab-collage .stage {position:relative;max-width:1120px;margin:0 auto;aspect-ratio:1120/860;padding:0 24px}
.pg-about .ab-collage .tile {position:absolute;overflow:hidden;background:var(--ink9);border:1px solid var(--line);transition:border-color .3s,box-shadow .3s}
.pg-about .ab-collage .tile img {width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05) brightness(.82);display:block;transition:transform .45s ease,filter .3s}
.pg-about .ab-collage .t1 {left:24px;top:5%;width:40%;height:46%;z-index:2}
.pg-about .ab-collage .t2 {right:14%;top:0;width:42%;height:57%;z-index:1}
.pg-about .ab-collage .t3 {left:14%;bottom:0;width:58%;height:45%;z-index:3}
.pg-about .ab-collage .tile .lab {position:absolute;left:16px;bottom:12px;font-family:'Anton',sans-serif;font-weight:400!important;font-weight:300;text-transform:uppercase;color:var(--paper);font-size:2rem;letter-spacing:.03em;z-index:2;pointer-events:none}
.pg-about .ab-collage .tile .lab.v {writing-mode:vertical-rl;left:12px;bottom:16px}
.pg-about .ab-collage .vword {position:absolute;left:-0.4rem;right:auto;top:0;bottom:0;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;font-family:'Anton',sans-serif;font-weight:400!important;font-weight:300;text-transform:uppercase;font-size:10rem;letter-spacing:.05em;color:transparent;-webkit-text-stroke:1.3px var(--line2);z-index:5;pointer-events:auto;cursor:default;transition:color .35s}
.pg-about .ab-story {position:relative;padding:96px 0;border-bottom:1px solid var(--line);overflow:hidden}
.pg-about .ab-story .vword {position:absolute;right:-0.4rem;left:auto;top:0;bottom:0;z-index:2;display:flex;align-items:center;writing-mode:vertical-rl;font-family:'Anton',sans-serif;font-weight:400!important;font-weight:300;text-transform:uppercase;font-size:10rem;letter-spacing:.06em;color:transparent;-webkit-text-stroke:1.3px var(--line2);pointer-events:auto;cursor:default;transition:color .35s;will-change:transform}
.pg-about .ab-story .grid {display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;max-width:1180px;margin:0 auto;padding:0 64px}
.pg-about .ab-story h2 {font-size:5.5em;line-height:.96em}
.pg-about .ab-story p {font-size:.92rem;line-height:1.35;color:var(--mist);font-weight:300;max-width:50ch;margin-top:18px}
.pg-about .ab-story .pic {position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--ink9);border:1px solid var(--line)}
.pg-about .ab-story .pic img {position:absolute;top:-7%;left:0;width:100%;height:114%;object-fit:cover;filter:grayscale(1) contrast(1.05) brightness(.8);will-change:transform}
.pg-about .ab-values {padding:90px 0;border-bottom:1px solid var(--line);background:var(--surface)}
.pg-about .ab-values .head {margin-bottom:42px}
.pg-about .ab-values h2 {font-size:4em;line-height:1em}
.pg-about .ab-values .grid {display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pg-about .ab-values .v {background:var(--surface);border:1px solid var(--line);padding:42px 34px 54px;position:relative;min-height:210px;transition:transform .28s cubic-bezier(.2,.7,.2,1),background .28s,border-color .28s,box-shadow .28s}
.pg-about .ab-values .v .idx {position:absolute;right:20px;bottom:2px;font-family:'Anton',sans-serif;font-weight:400!important;font-weight:300;font-size:5rem;line-height:1;color:transparent;-webkit-text-stroke:1px var(--line2);letter-spacing:.04em}
.pg-about .ab-values .v h3 {font-family:'Anton',sans-serif;font-weight:400!important;font-weight:300;font-size:2rem;text-transform:uppercase;letter-spacing:.02em}
.pg-about .ab-values .v p {font-size:.92rem;line-height:1.35;color:var(--mist);font-weight:300;margin-top:12px;max-width:32ch}
.pg-about .ab-team {padding:96px 0;border-bottom:1px solid var(--line)}
.pg-about .ab-team .head {margin-bottom:8px}
.pg-about .ab-team h2 {font-size:4em;line-height:1em}
.pg-about .ab-team .badge {font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--steel);font-weight:600;margin:34px 0 18px}
.pg-about .ab-team .founders {display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pg-about .ab-team .staff {display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.pg-about .ab-team .m .ph {position:relative;aspect-ratio:3/4;background:var(--surface2);border:1px solid var(--line);overflow:hidden}
.pg-about .ab-team .m .ph .ini {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--steel)}
.pg-about .ab-team .m .nm {font-family:'Anton',sans-serif;font-weight:400!important;font-weight:300;font-size:1.5rem;text-transform:uppercase;letter-spacing:.01em;margin-top:14px}
.pg-about .ab-team .m .ro {font-family:'IBM Plex Mono',monospace;font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mist);font-weight:600;margin-top:7px}
.pg-about .ab-team .m .sp {font-size:.76rem;color:var(--steel);margin-top:9px}
.pg-about .ab-team .m .so {display:inline-block;margin-top:9px;font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mist)}
.pg-about .ab-team .note {font-size:.72rem;color:var(--steel);margin-top:32px;font-style:italic}
.pg-about .ab-callouts {display:grid;grid-template-columns:1fr 1fr}
.pg-about .ab-callouts .co {padding:76px 5vw;border-right:1px solid var(--line);position:relative;transition:transform .28s cubic-bezier(.2,.7,.2,1),background .28s,box-shadow .28s}
.pg-about .ab-callouts .co:last-child {border-right:none;background:var(--surface)}
.pg-about .ab-callouts .co .ti {font-size:2.8em;line-height:1.02em}
.pg-about .ab-callouts .co p {color:var(--mist);font-size:.92rem;line-height:1.35;margin:16px 0 24px;max-width:40ch}
.pg-about.img-color .ab-hero .bg {filter:contrast(1.03) brightness(.42)}
.pg-about.img-color .ab-collage .tile img, .pg-about.img-color .ab-story .pic img {filter:contrast(1.03) brightness(.9)}
@media(max-width:900px) {
.pg-about .ab-hero h1 {font-size:4.4em}
.pg-about .ab-collage .stage {aspect-ratio:auto;display:flex;flex-direction:column;gap:14px;padding:0 18px}
.pg-about .ab-collage .tile {position:static;width:100%!important;height:auto!important;aspect-ratio:16/11}
.pg-about .ab-collage .vword {position:static;writing-mode:horizontal-tb;width:auto;height:auto;justify-content:flex-start;font-size:3rem;margin-top:6px}
.pg-about .ab-story .grid {grid-template-columns:1fr;gap:30px;padding:0 18px}
.pg-about .ab-story .vword {display:none}
.pg-about .ab-story h2, .pg-about .ab-values h2, .pg-about .ab-team h2 {font-size:2.7em}
.pg-about .ab-values .grid {grid-template-columns:1fr}
.pg-about .ab-team .founders {grid-template-columns:1fr 1fr}
.pg-about .ab-team .staff {grid-template-columns:1fr 1fr}
.pg-about .ab-callouts {grid-template-columns:1fr}
.pg-about .ab-callouts .co {border-right:none;border-bottom:1px solid var(--line)}
}
.pg-about .reveal {opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.pg-about .reveal.in {opacity:1;transform:translateY(0)}
.pg-about .ab-values .v.reveal:nth-child(2) {transition-delay:.09s}
.pg-about .ab-values .v.reveal:nth-child(3) {transition-delay:.18s}
.pg-about .ab-callouts .co.reveal:nth-child(2) {transition-delay:.1s}
.pg-about .ab-team .m {cursor:pointer;transition:transform .25s}
.pg-about .ab-team .m .ph {transition:outline-color .25s;outline:1px solid transparent;outline-offset:-1px}
.pg-about .ab-team .m:hover .ph, .pg-about .ab-team .m:focus-visible .ph {outline-color:var(--mist)}
.pg-about .ab-team .m:hover .nm {color:var(--paper)}
.pg-about .ab-team .m:focus {outline:none}
.pg-about .ab-team .m:focus-visible {outline:1px solid var(--mist);outline-offset:4px}
.pg-about .cm {position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:24px}
.pg-about .cm.open {display:flex}
.pg-about .cm-back {position:absolute;inset:0;background:rgba(8,8,9,.82)}
.pg-about .cm-card {position:relative;z-index:2;width:min(760px,100%);max-height:88vh;overflow:auto;background:var(--surface);border:1px solid var(--line2);display:grid;grid-template-columns:300px 1fr}
.pg-about .cm-x {position:absolute;top:8px;right:12px;z-index:3;background:none;border:none;color:var(--ink);font-size:1.7rem;line-height:1;cursor:pointer;font-family:'Inter',sans-serif}
.pg-about .cm-img {position:relative;background:var(--surface2);min-height:340px;overflow:hidden;border-right:1px solid var(--line)}
.pg-about .cm-img img {width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05) brightness(.85);display:block}
.pg-about .cm-img .cm-ph {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--steel)}
.pg-about .cm-body {padding:42px 40px}
.pg-about .cm-body .cm-ro {font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mist);font-weight:600}
.pg-about .cm-body h3 {font-family:'Anton',sans-serif;font-weight:400!important;font-weight:300;font-size:2.6rem;text-transform:uppercase;letter-spacing:.01em;margin-top:10px;line-height:1}
.pg-about .cm-body .cm-sp {font-size:.78rem;color:var(--steel);margin-top:10px}
.pg-about .cm-body p {font-size:.82rem;line-height:1.55;color:var(--mist);font-weight:300;margin-top:18px}
.pg-about .cm-body .cm-so {display:inline-block;margin-top:22px;font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--line2);padding-bottom:3px}
@media(max-width:680px) {
.pg-about .cm-card {grid-template-columns:1fr}
.pg-about .cm-img {min-height:230px}
}
@media(prefers-reduced-motion:reduce) {
.pg-about .reveal {opacity:1;transform:none;transition:none}
.pg-about [data-par] {transform:none!important}
}
.pg-about .ab-story .copy {position:relative;z-index:1}
.pg-about .reveal-r {opacity:0;transform:translateX(90px);transition:opacity .95s cubic-bezier(.16,.84,.3,1),transform .95s cubic-bezier(.16,.84,.3,1)}
.pg-about .reveal-r.in {opacity:1;transform:translateX(0)}
.pg-about .ab-collage .tile:hover {border-color:var(--mist);box-shadow:0 22px 50px rgba(0,0,0,.6);z-index:6}
.pg-about .ab-collage .tile:hover img {transform:scale(1.05) translateY(-2px)}
.pg-about .ab-values .v:hover {transform:translateY(-7px);background:var(--surface2);border-color:var(--mist);box-shadow:0 20px 42px rgba(0,0,0,.5)}
.pg-about .ab-callouts .co:hover {transform:translateY(-6px);background:var(--surface2);box-shadow:0 20px 42px rgba(0,0,0,.5);z-index:1}
.pg-about .ab-team .m:hover {transform:translateY(-6px)}
.pg-about .ab-team .m:hover .ph {box-shadow:0 18px 38px rgba(0,0,0,.55)}
@media(prefers-reduced-motion:reduce) {
.pg-about .reveal-r {opacity:1;transform:none;transition:none}
}
.pg-about .ab-story .vword:hover, .pg-about .ab-collage .vword:hover {color:rgba(233,235,238,.18)}

/* about page: scoped hero var, reveal-visible (no JS), image backgrounds */
.pg-about{--img-hero:url(assets/img/about-hero.jpg);}
.pg-about [class*="reveal"]{opacity:1 !important;transform:none !important;}
.pg-about .tile.t1{background:url(assets/img/about-c1.jpg) center/cover no-repeat;}
.pg-about .tile.t2{background:url(assets/img/about-c2.jpg) center/cover no-repeat;}
.pg-about .tile.t3{background:url(assets/img/about-c3.jpg) center/cover no-repeat;}
.pg-about .ab-story .pic{background:url(assets/img/about-story.jpg) center/cover no-repeat;}

/* about page: heading color + margin reset (beat Kadence) */
.pg-about h1,.pg-about h2,.pg-about h3,.pg-about h4,.pg-about h5,.pg-about h6{color:var(--ink);}
.pg-about h1,.pg-about h2,.pg-about h3,.pg-about h4,.pg-about h5,.pg-about h6,.pg-about p,.pg-about ul,.pg-about ol,.pg-about li,.pg-about figure,.pg-about blockquote{margin:0;padding:0;}


/* ============ EDITABLE TEAM GRID (core blocks, styled to match) ============ */
.ob-team-wrap{background:#fff;color:#0B0B0C;padding:clamp(56px,9vw,104px) 0 clamp(64px,10vw,110px);}
.ob-team-inner{max-width:1240px;margin:0 auto;padding:0 clamp(20px,5vw,32px);font-family:'Inter',sans-serif;}
.ob-team-inner .ob-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:#6B7177;margin:0 0 14px;font-weight:600;}
.ob-team-inner .ob-h2{font-family:'Anton',sans-serif;font-weight:400!important;text-transform:uppercase;font-size:clamp(2.4rem,6vw,4.4rem);line-height:1;color:#0B0B0C;margin:0 0 48px;letter-spacing:.02em;}
.ob-team-grid,.ob-team-grid>.wp-block-group__inner-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:clamp(28px,3.5vw,44px);align-items:start;}
.ob-member{display:flex;flex-direction:column;margin:0;}
.ob-member .ob-photo{margin:0 0 20px;}
.ob-member .ob-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:0;display:block;}
.ob-member .ob-name{font-family:'Anton',sans-serif;font-weight:400!important;text-transform:uppercase;font-size:1.9rem;line-height:1;color:#0B0B0C;margin:0 0 9px;letter-spacing:.02em;}
.ob-member .ob-role{font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:#6B7177;margin:0 0 12px;font-weight:600;}
.ob-member .ob-bio{font-size:.9rem;line-height:1.55;color:#22252B;font-weight:300;margin:0;max-width:34ch;}
@media(max-width:560px){.ob-team-grid{grid-template-columns:1fr;}}


/* ---- team cards: clickable summary + bio modal ---- */
.ob-member{cursor:pointer;position:relative;}
.ob-member .ob-bio,.ob-member .ob-social{display:none;}
.ob-member .ob-role{margin:0 0 6px;}
.ob-member .ob-spec{font-family:'Inter',sans-serif;font-size:.95rem;color:#6B7177;font-weight:300;margin:0 0 10px;}
.ob-member::after{content:"View bio \2192";display:block;font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#9aa0a6;margin-top:2px;transition:color .2s;}
.ob-member:hover::after{color:#0B0B0C;}
.ob-member:hover .ob-photo img{opacity:.92;}

/* bio modal */
.ob-modal{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;background:rgba(8,8,9,.88);padding:20px;}
.ob-modal.open{display:flex;}
.ob-modal-card{position:relative;display:grid;grid-template-columns:1fr 1.1fr;width:100%;max-width:1000px;max-height:88vh;background:#0B0B0C;border:1px solid rgba(245,244,241,.14);overflow:hidden;}
.ob-modal-photo{background:#16181c;min-height:440px;}
.ob-modal-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.ob-modal-body{padding:clamp(28px,4vw,56px);overflow:auto;color:#E9EBEE;font-family:'Inter',sans-serif;}
.ob-modal-body .role{font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:#A9AEB4;margin:0 0 14px;}
.ob-modal-body .name{font-family:'Anton',sans-serif;font-weight:400!important;text-transform:uppercase;font-size:clamp(2.2rem,4vw,3.4rem);line-height:1;letter-spacing:.02em;margin:0 0 10px;color:#F5F4F1;}
.ob-modal-body .spec{color:#6B7177;margin:0 0 22px;font-size:1rem;}
.ob-modal-body .bio{color:#A9AEB4;font-weight:300;line-height:1.6;margin:0 0 26px;}
.ob-modal-body .social{display:flex;gap:18px;align-items:center;}
.ob-modal-body .social a{color:#A9AEB4;display:inline-flex;transition:color .2s;}
.ob-modal-body .social a:hover{color:#F5F4F1;}
.ob-modal-body .social svg{display:block;}
.ob-modal-close{position:absolute;top:16px;right:16px;width:46px;height:46px;background:rgba(11,11,12,.55);border:1px solid rgba(245,244,241,.4);color:#F5F4F1;font-size:1.3rem;line-height:1;cursor:pointer;z-index:3;}
.ob-modal-close:hover{background:rgba(245,244,241,.1);}
@media(max-width:680px){.ob-modal-card{grid-template-columns:1fr;max-height:92vh;overflow:auto;}.ob-modal-photo{min-height:240px;}}


/* ---------- shared photo hero + embed (membership / account) ---------- */
.sh .photo-hero{position:relative;min-height:50vh;display:flex;align-items:flex-end;overflow:hidden;border-bottom:1px solid var(--line);padding:0;}
.sh .photo-hero .bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center 25%;background-repeat:no-repeat;filter:grayscale(1) contrast(1.05) brightness(.62);}
.sh .photo-hero .scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(11,11,12,.35) 0%,rgba(11,11,12,.5) 55%,var(--bg) 100%);}
.sh .photo-hero .wrap{position:relative;z-index:2;padding-top:clamp(72px,11vw,140px);padding-bottom:clamp(36px,5vw,60px);}
.sh .photo-hero .lede{margin-top:22px;}
.pg-membership .photo-hero .bg{background-image:url(assets/img/photo1.jpg);}
.pg-account .photo-hero .bg{background-image:url(assets/img/photo5.jpg);}
.pg-membership .embed-wrap,.pg-account .embed-wrap{padding:clamp(30px,5vw,56px) 0 clamp(64px,10vw,110px);}
.pg-membership .mariana-embed,.pg-account .mariana-embed{min-height:640px;}
.pg-account .embed-wrap{padding-top:clamp(48px,8vw,90px);}


/* ---- white background for the MarianaTek embed sections (schedule / membership / account) ---- */
.pg-schedule .sched-wrap,.pg-membership .embed-wrap,.pg-account .embed-wrap{background:#fff;border-top:1px solid var(--line);}
.pg-schedule .sched-wrap .sec-head h2,.pg-membership .embed-wrap .sec-head h2{color:#0B0B0C;}
.pg-schedule .sched-wrap .kicker,.pg-membership .embed-wrap .kicker{color:#6B7177;}

/* hide hero eyebrow on embed pages */
.pg-schedule .sched-hero .eyebrow,.pg-membership .photo-hero .eyebrow,.pg-account .photo-hero .eyebrow{display:none;}


/* ---- class accordion ---- */
.pg-classes .accordion{border-top:1px solid var(--line);}
.pg-classes .acc-item{border-bottom:1px solid var(--line);}
.pg-classes .acc-head{width:100%;display:flex;align-items:center;gap:20px;background:none;border:0;cursor:pointer;padding:26px 4px;text-align:left;color:var(--ink);}
.pg-classes .acc-title{font-family:'Anton',sans-serif;font-weight:400!important;text-transform:uppercase;font-size:clamp(1.45rem,3.4vw,2.4rem);line-height:1;letter-spacing:.02em;flex:1;transition:color .2s;}
.pg-classes .acc-tag{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--steel);white-space:nowrap;}
.pg-classes .acc-icon{position:relative;width:20px;height:20px;flex:none;}
.pg-classes .acc-icon::before,.pg-classes .acc-icon::after{content:"";position:absolute;background:var(--ink);transition:transform .3s ease,opacity .2s ease;}
.pg-classes .acc-icon::before{top:9px;left:0;width:20px;height:2px;}
.pg-classes .acc-icon::after{left:9px;top:0;width:2px;height:20px;}
.pg-classes .acc-item.open .acc-icon::after{transform:scaleY(0);opacity:0;}
.pg-classes .acc-head:hover .acc-title{color:var(--mist);}
.pg-classes .acc-item.open .acc-title{color:var(--ink);}
.pg-classes .acc-panel{max-height:0;overflow:hidden;transition:max-height .4s ease;}
.pg-classes .acc-inner{padding:2px 4px 30px;}
.pg-classes .acc-inner p{color:var(--mist);font-weight:300;font-size:1rem;line-height:1.65;max-width:72ch;}
.pg-classes .acc-inner p + p{margin-top:14px;}
@media(max-width:600px){.pg-classes .acc-tag{display:none;}}


/* ---- full-bleed community image block (native Image, align full) ---- */
.ab-community-block{margin:0;border-top:1px solid rgba(233,235,238,.12);border-bottom:1px solid rgba(233,235,238,.12);}
.ab-community-block img{width:100%;height:clamp(340px,56vw,680px);object-fit:cover;object-position:center 28%;display:block;}


/* ============ interior hero: photo bg + left block (standardized) ============ */
.sh .photo-hero,.sh .sched-hero,.pg-classes .phero{position:relative;min-height:54vh;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line);padding:0;}
.sh .photo-hero .bg,.sh .sched-hero .bg,.pg-classes .phero .bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center 25%;background-repeat:no-repeat;filter:grayscale(1) contrast(1.05) brightness(.55);}
.sh .photo-hero .scrim,.sh .sched-hero .scrim,.pg-classes .phero .scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(11,11,12,.86),rgba(11,11,12,.5) 60%,rgba(11,11,12,.2));}
.sh .photo-hero .wrap,.sh .sched-hero .wrap,.pg-classes .phero .wrap{position:relative;z-index:2;max-width:1240px!important;margin:0 auto!important;padding:clamp(60px,9vw,110px) clamp(20px,5vw,64px)!important;width:100%;}
.sh .photo-hero .wrap>*,.sh .sched-hero .wrap>*,.pg-classes .phero .wrap>*{max-width:900px;}
.pg-classes .phero .bg{background-image:url(assets/img/about-c1.jpg);}
.pg-training .photo-hero .bg{background-image:url(assets/img/photo4.jpg);}
.pg-contact .photo-hero .bg{background-image:url(assets/img/about-story.jpg);}
.pg-schedule .sched-hero .bg{background-image:url(assets/img/photo3.jpg);}

/* training CTA band: photo bg */
.pg-training .cta-band{position:relative;overflow:hidden;}
.pg-training .cta-band::before{content:"";position:absolute;inset:0;z-index:0;background:url(assets/img/about-c3.jpg) center/cover no-repeat;filter:grayscale(1) contrast(1.05) brightness(.4);}
.pg-training .cta-band .wrap{position:relative;z-index:1;}

/* outlined emphasis in secondary heads — dark stroke on the white embed sections */
.pg-schedule .sched-wrap .sec-head h2 .outline,.pg-membership .embed-wrap .sec-head h2 .outline{-webkit-text-stroke-color:#0B0B0C;}
@keyframes modalIn {
    from { opacity:0; transform:translate(-50%, calc(-50% + 8px)); }
    to   { opacity:1; transform:translate(-50%, -50%); }
  }
@keyframes slide { to { transform: translateX(-50%); } }
@keyframes rise { to { opacity:1; transform:translateY(0); } }
/* ================= COMING SOON PAGE (.pg-coming) ================= */
.pg-coming{
    --bg:        #000;   /* black            */
    --bg-2:      #1e1e21;   /* input field gray */
    --ink:       #f5f4f1;   /* white            */
    --ink-soft:  #8d8d92;   /* gray             */
    --line:      rgba(245,244,241,0.14);
    --panel:     #151517;   /* form panel: slightly lighter than bg */
    --card-line: rgba(245,244,241,0.24);
    --hero-img:  url("assets/coming/mural.webp");
    --footer-img: url("assets/coming/footer.jpg");
    --font-display: "Oswald", sans-serif;
    --font-body:    "Barlow", system-ui, sans-serif;
  }
.pg-coming *, .pg-coming *::before, .pg-coming *::after {box-sizing: border-box; margin: 0; padding: 0;}
.pg-coming {-webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; scroll-behavior: smooth;}
.pg-coming {min-height: 100vh; min-height: 100dvh;
    background: var(--bg); color: var(--ink);
    font-family: var(--font-body);
    display: grid; grid-template-rows: auto 1fr auto;
    position: relative; overflow-x: hidden;}
.pg-coming .grain {position: fixed; inset: -50%; z-index: 0; pointer-events: none; opacity:.045;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.pg-coming .top {position: relative; z-index: 2;
    background-image:
      linear-gradient(180deg, rgba(10, 10, 11, 0) 0%, rgba(10, 10, 11, 0) 56%, #000000 100%), radial-gradient(ellipse at 50% 40%, rgb(0 0 0) 0%, rgba(10, 10, 11, .17) 75%), var(--hero-img);
    background-size: cover; background-position: center; background-repeat: no-repeat;
    background-color: var(--bg);
    padding-bottom: 18px;}
.pg-coming .top::after {content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
    opacity: 8; mix-blend-mode: overlay;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.pg-coming .top > * {position: relative; z-index: 1;}
.pg-coming .hero {display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
    min-height: 30vh; padding: 50px 24px 0;}
.pg-coming .logo {height: clamp(88px, 16vw, 165px); width:auto;}
.pg-coming .announce {font-family: var(--font-display); text-align:center; font-weight:700; text-transform:uppercase;
    font-size: clamp(1.5rem, 4.2vw, 3.1rem); line-height:1.02; letter-spacing:.04em;
    color: var(--ink); margin:0; text-shadow:0 2px 18px rgba(0,0,0,.55);}
.pg-coming .announce em {font-style:normal; color:var(--ink-soft);}
.pg-coming .hero-tag {font-family: var(--font-body); font-weight:700;
    font-size: clamp(.9rem, 2.3vw, 1.08rem); line-height:1.5; letter-spacing:.01em;
    color: #d6d5d1; margin:0; max-width:46ch;
    text-align: center;
    text-transform:uppercase;}
.pg-coming main {position: relative; z-index: 2;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center; padding: 1.5vh 24px 3vh;}
.pg-coming .kicker {font-family: var(--font-display);
    font-size:.82rem; letter-spacing:.32em; text-transform:uppercase;
    color: var(--ink-soft); font-weight:600; margin:0; padding-left:.32em;
    text-align:center;}
.pg-coming h1 {font-family: var(--font-display);
    font-weight: 700; text-transform: uppercase;
    font-size: clamp(3rem, 11.5vw, 7.5rem);
    line-height: .94; letter-spacing: .005em; max-width: 18ch;}
.pg-coming h1 .em {font-style: italic;}
.pg-coming h1 .goal {color: var(--ink-soft); font-style: italic;}
.pg-coming .tagline {margin-top: 20px; max-width: 52ch;
    font-size: clamp(0.875rem, 2.1vw, 1.05rem); line-height:1.6;
    color: var(--ink-soft); font-weight: 400;}
.pg-coming .tagline em {font-style: italic; color: var(--ink); font-weight:500;}
.pg-coming .tagline strong {color: var(--ink); font-weight:600;}
.pg-coming .cta-grid {display:grid; grid-template-columns:repeat(2, minmax(0,1fr));
    gap:14px; width:100%; max-width:640px; margin-top:30px; text-align:left;}
.pg-coming .cta-card {display:flex; flex-direction:column;
    border:1px solid var(--card-line); padding:26px 24px 24px;
    background:rgba(245,244,241,0.015);}
.pg-coming .cta-eyebrow {font-family:var(--font-display); font-weight:800; text-transform:uppercase;
    letter-spacing:.2em; font-size:.72rem; color:#fff; margin:0 0 10px;}
.pg-coming .cta-desc {font-family:var(--font-body); font-size:.9rem; line-height:1.55;
    color:var(--ink-soft); margin:0 0 22px;}
.pg-coming .cta-desc strong {color:var(--ink); font-weight:600;}
.pg-coming .btn-solid, .pg-coming .btn-link {display:inline-block;
    font-family:var(--font-display); font-weight:600;
    text-transform:uppercase; letter-spacing:.08em; font-size:.95rem;
    text-decoration:none; border-radius:0; padding:15px 34px; cursor:pointer;
    transition:transform .2s ease, background .2s ease, color .2s ease;}
.pg-coming .btn-solid {color:#0a0a0b; background:#ffffff; border:1px solid #ffffff;}
.pg-coming .btn-solid:hover {transform:translateY(-1px); background:#e6e6e3;}
.pg-coming .btn-link {color:var(--ink); background:transparent; border:1px solid var(--ink);}
.pg-coming .btn-link:hover {background:var(--ink); color:var(--bg); transform:translateY(-1px);}
.pg-coming .cta-card .btn-solid, .pg-coming .cta-card .btn-link {width:100%; text-align:center; margin-top:auto;}
.pg-coming .cta-card .btn-solid:focus-visible, .pg-coming .cta-card .btn-link:focus-visible {outline:2px solid var(--ink); outline-offset:3px;}
.pg-coming .app-cta {display:flex; flex-direction:column; align-items:center; text-align:center; gap:16px; margin-top:6px; max-width:640px;}
.pg-coming .open-eyebrow {font-family:var(--font-display); text-transform:uppercase; letter-spacing:.22em; font-size:.8rem; color:var(--ink-soft); font-weight:600; margin:0;}
.pg-coming .open-date {font-family:var(--font-display); text-transform:uppercase; font-weight:700; letter-spacing:.02em; font-size:clamp(1.4rem,4.6vw,2.4rem); line-height:1.3; color:var(--ink); margin:0;}
.pg-coming .open-copy {font-family:var(--font-body); font-size:clamp(.9rem,2.2vw,1rem); line-height:1.6; color:var(--ink-soft); max-width:48ch; margin:0;}
.pg-coming .open-copy strong {color:var(--ink); font-weight:600;}
.pg-coming .stores {display:flex; gap:14px; flex-wrap:wrap; justify-content:center; margin-top:10px;}
.pg-coming .store-badge {display:inline-flex; align-items:center; gap:12px; background:#ffffff; color:#0a0a0b; border:1px solid #ffffff; padding:12px 22px; text-decoration:none; min-width:210px; transition:transform .2s ease, background .2s ease;}
.pg-coming .store-badge:hover {transform:translateY(-2px); background:#e6e6e3;}
.pg-coming .store-badge:focus-visible {outline:2px solid var(--ink); outline-offset:3px;}
.pg-coming .store-badge svg {width:26px; height:26px; flex:0 0 auto; fill:#0a0a0b;}
.pg-coming .store-badge span {display:flex; flex-direction:column; line-height:1.06; text-align:left;}
.pg-coming .store-badge small {font-family:var(--font-body); font-size:.62rem; letter-spacing:.06em; text-transform:uppercase; opacity:.82;}
.pg-coming .store-badge b {font-family:var(--font-display); text-transform:uppercase; letter-spacing:.03em; font-size:1.05rem; font-weight:700;}
@media (max-width:520px) {
.pg-coming .store-badge {min-width:0; flex:1 1 100%; justify-content:center;}
}
@media (max-width:560px) {
.pg-coming .cta-grid {grid-template-columns:1fr; max-width:380px; margin-top:24px;}
}
.pg-coming .modal {position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%);
    margin: 0; border:none; padding:0; background:transparent;
    max-width:480px; width:calc(100% - 40px);
    max-height: calc(100dvh - 40px); overflow:auto;
    color:var(--ink);}
.pg-coming .modal::backdrop {background:rgba(5,5,6,.74); backdrop-filter:blur(2px);}
.pg-coming .modal-inner {position:relative; background:var(--panel); border:3px double var(--card-line); padding:38px 32px;}
.pg-coming .modal-close {position:absolute; top:8px; right:12px; background:none; border:none; color:var(--ink-soft); font-size:1.7rem; line-height:1; cursor:pointer; padding:4px; transition:color .2s ease;}
.pg-coming .modal-close:hover {color:var(--ink);}
.pg-coming .modal-title {font-family:var(--font-display); text-transform:uppercase; letter-spacing:.18em; font-style:italic; color:var(--ink-soft); font-weight:600; font-size:1.3em; margin:0 0 18px; text-align:center;}
.pg-coming .modal[open] {animation: modalIn .25s ease;}
.pg-coming .subhead {font-family: var(--font-display);
    text-transform: uppercase; letter-spacing:.22em; font-weight:600;
    font-size:1.8em; color: var(--ink-soft); font-style: italic; margin: 30px 0 16px;}
.pg-coming .subhead em {font-style: italic;}
.pg-coming .form-slot {width:100%; max-width:460px; margin-top:26px; background:var(--panel); border:3px double var(--card-line); padding:22px 24px;}
.pg-coming .xpl-form {text-align:left;}
.pg-coming .xpl-form #bb_form {background:transparent; box-shadow:none; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.pg-coming .xpl-form #alert {grid-column:1 / -1;}
.pg-coming .xpl-form #alert:empty {display:none;}
.pg-coming .xpl-form .form-group:has(#bb_opt_in_sms), .pg-coming .xpl-form .form-group:has(#bb_submit) {grid-column:1 / -1;}
@media (max-width:480px) {
.pg-coming .xpl-form #bb_form {grid-template-columns:1fr;}
}
.pg-coming .xpl-form .form-group {margin:0; min-width:0;}
.pg-coming .xpl-form label[for="bb_first_name"], .pg-coming .xpl-form label[for="bb_last_name"], .pg-coming .xpl-form label[for="bb_email"], .pg-coming .xpl-form label[for="bb_phone"] {display:none !important;}
.pg-coming .xpl-form label[for="bb_opt_in_sms"] {display:block !important; margin:0 0 8px;
    font-family:var(--font-display); font-weight:600;
    text-transform:uppercase; letter-spacing:.14em; font-size:.72rem; color:var(--ink-soft);}
.pg-coming .xpl-form .form-control {width:100%; min-width:0; background:var(--bg-2);
    border:1px solid var(--line); border-radius:0;
    padding:10px 14px; color:var(--ink);
    font-family:var(--font-body); font-size:1rem; outline:none;
    transition:border-color .25s ease;}
.pg-coming .xpl-form .form-control::placeholder {color:var(--ink-soft);}
.pg-coming .xpl-form .form-control:focus {border-color:var(--ink);}
.pg-coming .xpl-form #bb_opt_in_sms {width:auto; margin-right:9px; accent-color:#ffffff; vertical-align:middle;}
.pg-coming .xpl-form .form-group:has(#bb_opt_in_sms) > div {font-family:var(--font-body); font-size:.8rem; color:var(--ink-soft);
    line-height:1.45; text-transform:none; letter-spacing:0;}
.pg-coming .xpl-form #bb_submit {width:100%; margin-top:4px;
    background:#ffffff !important;
    border:1px solid #ffffff !important;
    color:#0a0a0b !important;
    border-radius:0 !important; padding:13px 30px;
    font-family:var(--font-display); font-weight:600;
    text-transform:uppercase; letter-spacing:.08em; font-size:.95rem;
    cursor:pointer; transition:transform .2s ease, background .2s ease;}
.pg-coming .xpl-form #bb_submit:hover {transform:translateY(-1px); background:#e6e6e3 !important;}
.pg-coming .xpl-form #alert:not(:empty) {margin-bottom:12px; font-family:var(--font-body); font-size:.9rem;}
.pg-coming .marquee {position:relative; z-index:2; margin-top:4vh; margin-bottom:2vh;
    border-top:1px solid var(--line); border-bottom:1px solid var(--line);
    overflow:hidden; white-space:nowrap; padding:18px 0;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
            mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);}
.pg-coming .marquee-track {display:inline-flex; gap:44px; align-items:center; animation: slide 24s linear infinite; will-change:transform;}
.pg-coming .marquee-track span {font-family:var(--font-display); font-weight:600; text-transform:uppercase; letter-spacing:.06em; font-size:1.05rem; color:var(--ink-soft);}
.pg-coming .marquee-track .dot {color:var(--ink-soft); opacity:.6;}
.pg-coming footer {position:relative; z-index:2; text-align:center;
    padding:64px 24px 46px; font-size:.84rem; color:var(--ink-soft);
    background-image:
      linear-gradient(180deg, var(--bg) 0%, rgba(10,10,11,.55) 40%, rgba(10,10,11,.55) 100%),
      var(--footer-img);
    background-size: cover; background-position: center; background-repeat: no-repeat;}
.pg-coming footer a {color:var(--ink-soft); text-decoration:none; transition:color .2s ease; font-family:var(--font-display); text-transform:uppercase; letter-spacing:.12em; font-size:.8rem;}
.pg-coming footer a:hover {color:var(--ink);}
.pg-coming .socials {margin-bottom:12px;}
.pg-coming .reveal {opacity:0; transform:translateY(16px); animation:rise .9s cubic-bezier(.2,.7,.2,1) forwards;}
.pg-coming .d1 {animation-delay:.05s}
.pg-coming .d2 {animation-delay:.18s}
.pg-coming .d3 {animation-delay:.31s}
.pg-coming .d4 {animation-delay:.44s}
.pg-coming .d5 {animation-delay:.57s}
.pg-coming .ig {position:relative; z-index:2; width:100%; margin:0 auto; padding:7vh 24px 0; text-align:center;}
.pg-coming .ig-head {font-family:var(--font-display); font-weight:600; text-transform:uppercase; letter-spacing:.14em; font-size:1.2rem; color:var(--ink); margin:0 0 4px;}
.pg-coming .ig-head em {color:var(--ink-soft); font-style:italic;}
.pg-coming .ig-handle {display:inline-block; margin-bottom:20px; font-family:var(--font-display); text-transform:uppercase; letter-spacing:.12em; font-size:.78rem; color:var(--ink-soft); text-decoration:none; transition:color .2s ease;}
.pg-coming .ig-handle:hover {color:var(--ink);}
.pg-coming .ig-grid {display:grid; grid-template-columns:repeat(5,1fr); gap:10px;}
.pg-coming .ig-tile {display:block; aspect-ratio:1/1; background-size:cover; background-position:center; border:1px solid var(--line); filter:grayscale(1) contrast(1.02); transition:filter .35s ease, transform .35s ease;}
.pg-coming .ig-tile:hover {filter:grayscale(0); transform:translateY(-3px);}
@media (max-width:640px) {
.pg-coming .hero {min-height:0; max-height:none; padding:22px 16px 8px;}
.pg-coming .ig {padding:6vh 12px 0;}
.pg-coming .ig-grid {gap:6px;}
}
@media (prefers-reduced-motion: reduce) {
.pg-coming .marquee-track {animation:none;}
.pg-coming .reveal {animation:none; opacity:1; transform:none;}
}
/* IG tiles as stylesheet-relative backgrounds */
.pg-coming .ig-tile.ig1{background-image:url(assets/coming/post1.png);}
.pg-coming .ig-tile.ig2{background-image:url(assets/coming/post2.png);}
.pg-coming .ig-tile.ig3{background-image:url(assets/coming/post3.png);}
.pg-coming .ig-tile.ig4{background-image:url(assets/coming/post4.png);}
.pg-coming .ig-tile.ig5{background-image:url(assets/coming/post5.png);}


/* ---- Team page ---- */
.pg-team .photo-hero .bg{background-image:url(assets/img/about-c2.jpg);}


/* ---- About: long-form story — 2 text columns + image column alongside ---- */
.pg-about .ab-story .story-head{margin-bottom:clamp(30px,4vw,48px);}
.pg-about .ab-story .story-grid{display:grid;grid-template-columns:2fr .95fr;gap:clamp(32px,5vw,64px);align-items:start;}
.pg-about .ab-story .story-text{columns:2;column-gap:clamp(26px,3vw,40px);}
.pg-about .ab-story .story-text p{break-inside:avoid;margin:0 0 1.05em;font-size:.95rem;line-height:1.65;color:#22252B;font-weight:300;}
.pg-about .ab-story .story-media{display:flex;flex-direction:column;gap:18px;}
.pg-about .ab-story .story-img{width:100%;aspect-ratio:4/5;background:#e9ebee center/cover no-repeat;display:flex;align-items:center;justify-content:center;}
.pg-about .ab-story .story-img span{font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.22em;color:#9aa0a6;}
.pg-about .ab-story .story-img.s1{background-image:url(assets/img/about-story.jpg);}
@media(max-width:980px){
  .pg-about .ab-story .story-grid{grid-template-columns:1fr;}
  .pg-about .ab-story .story-media{flex-direction:row;}
  .pg-about .ab-story .story-img{flex:1;}
}
@media(max-width:620px){
  .pg-about .ab-story .story-text{columns:1;}
  .pg-about .ab-story .story-media{flex-direction:column;}
}


/* ============ Careers ============ */
.pg-careers .photo-hero .bg{background-image:url(assets/img/about-c3.jpg);}

/* white main section */
.pg-careers .careers-wrap{background:#fff;color:#0B0B0C;padding:clamp(56px,9vw,104px) 0 clamp(64px,10vw,110px);border-top:1px solid var(--line);}
.pg-careers .careers-wrap .cwrap{display:grid;grid-template-columns:.95fr 1.1fr;gap:clamp(36px,6vw,72px);align-items:start;}
.pg-careers .careers-wrap .sec-head{margin-bottom:26px;}
.pg-careers .careers-wrap .sec-head h2{color:#0B0B0C;}
.pg-careers .careers-wrap .sec-head h2 .outline{-webkit-text-stroke-color:#0B0B0C;}
.pg-careers .careers-list{list-style:none;padding:0;margin:0 0 26px;display:flex;flex-direction:column;gap:16px;}
.pg-careers .careers-list li{display:flex;gap:14px;font-size:.98rem;line-height:1.6;color:#22252B;font-weight:300;}
.pg-careers .careers-list .k{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.18em;color:#6B7177;padding-top:6px;flex:none;font-weight:600;}
.pg-careers .careers-note{font-size:.9rem;line-height:1.6;color:#6B7177;font-weight:300;margin:0;}

/* form on white */
.pg-careers .careers-wrap form{display:grid;gap:18px;}
.pg-careers .careers-wrap .row2{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.pg-careers .careers-wrap .field{display:flex;flex-direction:column;gap:8px;}
.pg-careers .careers-wrap .field label{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:#6B7177;}
.pg-careers .careers-wrap input,.pg-careers .careers-wrap select,.pg-careers .careers-wrap textarea{width:100%;background:#F2F3F5;border:1px solid rgba(11,11,12,.16);color:#0B0B0C;padding:14px 16px;font-family:'Inter',sans-serif;font-size:.95rem;}
.pg-careers .careers-wrap input:focus,.pg-careers .careers-wrap select:focus,.pg-careers .careers-wrap textarea:focus{outline:none;border-color:#0B0B0C;}
.pg-careers .careers-wrap textarea{resize:vertical;min-height:140px;}
.pg-careers .careers-wrap .btn-solid{background:#0B0B0C;color:#fff;border-color:#0B0B0C;justify-self:start;}
.pg-careers .careers-wrap .btn-solid:hover{background:#4e4d4c;border-color:#4e4d4c;color:#fff;}
@media(max-width:900px){.pg-careers .careers-wrap .cwrap{grid-template-columns:1fr;}}
@media(max-width:560px){.pg-careers .careers-wrap .row2{grid-template-columns:1fr;}}


/* ============ Contact: white main section + form (black text) ============ */
/* flip the design tokens on the content sections; the hero (<header>) stays dark */
.pg-contact section{
  --bg:#FFFFFF;--surface:#F2F3F5;--surface2:#E9EBEE;--ink:#0B0B0C;--mut:#6B7177;
  --line:rgba(11,11,12,.14);--line2:rgba(11,11,12,.26);
  background:#FFFFFF;color:#0B0B0C;
}
.pg-contact section .info h4{color:#6B7177;}
.pg-contact section .info p,.pg-contact section .info a{color:#0B0B0C;}
.pg-contact section .info a:hover{color:#6B7177;}
.pg-contact section .field label{color:#6B7177;}
.pg-contact section input,.pg-contact section select,.pg-contact section textarea{background:#F2F3F5;border:1px solid rgba(11,11,12,.16);color:#0B0B0C;}
.pg-contact section input:focus,.pg-contact section select:focus,.pg-contact section textarea:focus{border-color:#0B0B0C;}
.pg-contact section input::placeholder,.pg-contact section textarea::placeholder{color:#9aa0a6;}
.pg-contact section .btn-solid{background:#0B0B0C;color:#fff;border-color:#0B0B0C;}
.pg-contact section .btn-solid:hover{background:#4e4d4c;border-color:#4e4d4c;color:#fff;}
.pg-contact section .map{background:#F2F3F5;border:1px solid rgba(11,11,12,.14);color:#6B7177;}
/* breathing room under the dark hero now that the section is white */
.pg-contact section:first-of-type{padding-top:clamp(48px,7vw,80px)!important;}


/* ---- IG grid: ignore anything WordPress's auto-formatter injects between tiles ---- */
/* wpautop turns the newlines between the <a> tiles into <br>, which then occupy grid cells
   and break the 5-across layout. Hide them; unwrap any <p> it wraps the tiles in. */
.pg-coming .ig-grid br{display:none!important;}
.pg-coming .ig-grid > p{display:contents;}


/* ---- Contact: Google Maps embed fills the map block ---- */
.pg-contact section .map{display:block;padding:0;overflow:hidden;}
.pg-contact section .map iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(1) contrast(1.05);}
.pg-contact section .map iframe:hover{filter:none;}

/* ============ LEGAL PAGES (privacy / terms / cancellation) ============ */
.pg-legal .photo-hero .bg{background-image:url(assets/img/about-hero.jpg);}
.pg-legal .legal-wrap{background:#fff;color:#0B0B0C;padding:clamp(52px,8vw,92px) 0 clamp(64px,10vw,110px);border-top:1px solid var(--line);}
.pg-legal .legal-wrap .lwrap{max-width:760px;}
.pg-legal .legal-meta{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:#6B7177;margin:0 0 28px;font-weight:600;}
.pg-legal .legal-intro{font-size:1.05rem;line-height:1.7;color:#22252B;font-weight:300;margin:0 0 8px;padding-bottom:34px;border-bottom:1px solid rgba(11,11,12,.12);}
.pg-legal .legal-wrap h2{font-family:'Anton',sans-serif;font-weight:400!important;font-size:clamp(1.25rem,2.2vw,1.6rem);letter-spacing:.01em;text-transform:uppercase;color:#0B0B0C;margin:44px 0 14px;}
.pg-legal .legal-wrap p{font-size:.98rem;line-height:1.75;color:#22252B;font-weight:300;margin:0 0 14px;}
.pg-legal .legal-wrap a{color:#0B0B0C;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
.pg-legal .legal-wrap a:hover{color:#6B7177;}
.pg-legal .legal-wrap strong{font-weight:600;color:#0B0B0C;}
.pg-legal .legal-wrap ul{margin:0 0 14px;padding-left:0;list-style:none;}
.pg-legal .legal-wrap li{position:relative;font-size:.98rem;line-height:1.75;color:#22252B;font-weight:300;margin-bottom:12px;padding-left:22px;}
.pg-legal .legal-wrap li:before{content:"";position:absolute;left:0;top:.62em;width:7px;height:1px;background:#6B7177;}
@media(max-width:700px){.pg-legal .legal-wrap h2{margin-top:34px;}}

/* ============ WAIVER PAGE ============ */
/* Header reproduces the homepage "How We Train" treatment (wide-tracked eyebrow
   above a large Anton head with an outlined word), on a white reading section.
   Scoped here because .sh's own .sec-head uses tighter tracking + a leading dash rule. */
.pg-waiver .waiver-wrap{background:#fff;color:#0B0B0C;padding:clamp(56px,9vw,108px) 0 clamp(64px,10vw,110px);}
.pg-waiver .waiver-head{margin-bottom:clamp(32px,4vw,48px);}
.pg-waiver .waiver-head .eyebrow{display:block;font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.56em;text-transform:uppercase;color:#6B7177;font-weight:600;margin:0 0 14px;}
.pg-waiver .waiver-head .eyebrow::before{content:none;}
.pg-waiver .waiver-head h2.anton{font-family:'Anton',sans-serif;font-weight:400!important;text-transform:uppercase;letter-spacing:.03em;line-height:1em;font-size:4.4em;color:#0B0B0C;margin:0;}
.pg-waiver .waiver-head .out{color:transparent;-webkit-text-stroke:1px #0B0B0C;text-stroke:1px #0B0B0C;letter-spacing:.06em;}
.pg-waiver .waiver-note{font-size:1.02rem;line-height:1.7;color:#22252B;font-weight:300;max-width:620px;margin:22px 0 0;}
.pg-waiver .waiver-note a{color:#0B0B0C;text-decoration:underline;text-underline-offset:3px;}
.pg-waiver .waiver-slot{border:1px dashed rgba(11,11,12,.28);background:#F2F3F5;padding:clamp(40px,7vw,72px) 24px;text-align:center;}
.pg-waiver .waiver-slot p{font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#6B7177;margin:0;}
@media(max-width:640px){.pg-waiver .waiver-head h2.anton{font-size:2.7em;}}

/* ============ CONSULTATION PAGE ============ */
/* White main section + intro/form split, mirroring .pg-careers. */
.pg-consultation .photo-hero .bg{background-image:url(assets/img/photo4.jpg);}
.pg-consultation .consultation-wrap{background:#fff;color:#0B0B0C;padding:clamp(56px,9vw,104px) 0 clamp(64px,10vw,110px);border-top:1px solid var(--line);}
.pg-consultation .consultation-wrap .cwrap{display:grid;grid-template-columns:.95fr 1.1fr;gap:clamp(36px,6vw,72px);align-items:start;}
.pg-consultation .consultation-wrap .sec-head{margin-bottom:26px;}
.pg-consultation .consultation-wrap .sec-head h2{color:#0B0B0C;}
.pg-consultation .consultation-wrap .sec-head h2 .outline{-webkit-text-stroke-color:#0B0B0C;}
.pg-consultation .consultation-list{list-style:none;padding:0;margin:0 0 26px;display:flex;flex-direction:column;gap:16px;}
.pg-consultation .consultation-list li{display:flex;gap:14px;font-size:.98rem;line-height:1.6;color:#22252B;font-weight:300;}
.pg-consultation .consultation-list .k{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.18em;color:#6B7177;padding-top:6px;flex:none;font-weight:600;}
.pg-consultation .consultation-note{font-size:.9rem;line-height:1.6;color:#6B7177;font-weight:300;margin:0;}
.pg-consultation .consultation-note a{color:#0B0B0C;text-decoration:underline;text-underline-offset:3px;}
.pg-consultation .consultation-wrap form{display:grid;gap:18px;}
.pg-consultation .consultation-wrap .row2{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.pg-consultation .consultation-wrap .field{display:flex;flex-direction:column;gap:8px;}
.pg-consultation .consultation-wrap .field label{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:#6B7177;}
.pg-consultation .consultation-wrap input,.pg-consultation .consultation-wrap select,.pg-consultation .consultation-wrap textarea{width:100%;background:#F2F3F5;border:1px solid rgba(11,11,12,.16);color:#0B0B0C;padding:14px 16px;font-family:'Inter',sans-serif;font-size:.95rem;}
.pg-consultation .consultation-wrap input:focus,.pg-consultation .consultation-wrap select:focus,.pg-consultation .consultation-wrap textarea:focus{outline:none;border-color:#0B0B0C;}
.pg-consultation .consultation-wrap input::placeholder,.pg-consultation .consultation-wrap textarea::placeholder{color:#9aa0a6;}
.pg-consultation .consultation-wrap textarea{resize:vertical;min-height:120px;}
.pg-consultation .consultation-wrap .btn-solid{background:#0B0B0C;color:#fff;border-color:#0B0B0C;justify-self:start;}
.pg-consultation .consultation-wrap .btn-solid:hover{background:#4e4d4c;border-color:#4e4d4c;color:#fff;}
@media(max-width:900px){.pg-consultation .consultation-wrap .cwrap{grid-template-columns:1fr;}}
@media(max-width:560px){.pg-consultation .consultation-wrap .row2{grid-template-columns:1fr;}}

/* ---- footer app badges ---- */
.ob-footer .store-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;}
.ob-footer .foot-brand .store-badge{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line2);padding:9px 14px;margin-top:0;color:var(--ink);opacity:1;font-family:'Inter',sans-serif;letter-spacing:normal;transition:background .2s,color .2s,border-color .2s;}
.ob-footer .foot-brand .store-badge:hover{background:var(--ink);color:#070707;border-color:var(--ink);}
.ob-footer .store-badge svg{width:19px;height:19px;flex:0 0 auto;fill:currentColor;}
.ob-footer .store-badge span{display:flex;flex-direction:column;line-height:1.08;text-align:left;}
.ob-footer .store-badge small{font-family:'IBM Plex Mono',monospace;font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;opacity:.75;}
.ob-footer .store-badge b{font-family:'Anton',sans-serif;font-weight:400!important;text-transform:uppercase;letter-spacing:.02em;font-size:.84rem;}
@media(max-width:560px){.ob-footer .store-row{width:100%;}.ob-footer .foot-brand .store-badge{flex:1 1 auto;justify-content:center;}}

/* ---- header login icon ---- */
.ob-header .btn-icon{padding:0;width:40px;align-self:stretch;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;}
.ob-header .btn-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}

/* ============ MOBILE MENU ============ */
/* The desktop nav needs ~1008px of natural width (logo 150 + links 402 + actions 344
   + gaps + padding). It previously only collapsed at 640, so every tablet rendered a
   crushed header with 2- and 3-line buttons. Collapse at 1024 instead. */
.ob-header .ob-burger{display:none;width:40px;align-self:stretch;align-items:center;justify-content:center;gap:5px;flex-direction:column;background:transparent;border:1px solid var(--line2);cursor:pointer;flex:0 0 auto;padding:0;}
.ob-header .ob-burger span{display:block;width:17px;height:1.5px;background:var(--ink);transition:transform .25s,opacity .2s;}
.ob-header .ob-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.ob-header .ob-burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.ob-header .ob-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

.ob-menu{position:fixed;inset:0;z-index:9999;background:rgba(8,8,9,.98);overflow-y:auto;-webkit-overflow-scrolling:touch;opacity:0;transition:opacity .22s ease;}
.ob-menu.open{opacity:1;}
.ob-menu[hidden]{display:none;}
.ob-menu-in{min-height:100%;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:80px 28px 40px;max-width:520px;margin:0 auto;}
.ob-menu-close{position:absolute;top:18px;right:22px;width:44px;height:44px;background:transparent;border:1px solid var(--line2);color:var(--ink);font-size:1.6rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.ob-menu-close:hover{background:var(--ink);color:#070707;}
.ob-menu-links{display:flex;flex-direction:column;}
.ob-menu-links a{font-family:'Anton',sans-serif;font-weight:400!important;text-transform:uppercase;font-size:clamp(1.7rem,7vw,2.3rem);line-height:1.18;letter-spacing:.02em;color:var(--ink);padding:7px 0;transition:opacity .18s;}
.ob-menu-links a:hover{opacity:.6;}
.ob-menu-sec{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--steel);font-weight:600;margin:22px 0 8px;padding-top:20px;border-top:1px solid var(--line);}
.ob-menu-sub{display:flex;flex-direction:column;}
.ob-menu-sub a{font-family:'Inter',sans-serif;font-size:1rem;line-height:1.25;letter-spacing:.04em;text-transform:uppercase;color:var(--mist);padding:13px 0;font-weight:300;transition:color .18s;}
.ob-menu-sub a:hover{color:var(--ink);}
.ob-menu-actions{display:flex;flex-direction:column;gap:10px;margin-top:30px;padding-top:26px;border-top:1px solid var(--line);}
.ob-menu-actions .btn{width:100%;justify-content:center;padding:15px 22px;}

@media(max-width:1024px){
  .ob-header .links{display:none;}
  .ob-header .actions .btn-ghost:not(.btn-icon){display:none;} /* Schedule Training -> menu */
  .ob-header .ob-burger{display:inline-flex;}
}
@media(max-width:560px){
  .ob-header .actions .btn-solid{display:none;}   /* Book a Class -> menu (first action) */
  .ob-header .logo .mklogo{width:120px;height:22px;}
  .ob-header > nav .in{gap:12px;}
}
@media(min-width:1025px){
  .ob-menu{display:none!important;}
}

/* ---- homepage: app download (white section, before the final CTA) ---- */
.pg-home .app-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center;}
.pg-home .app-shot img{width:100%;height:auto;display:block;}
.pg-home .app-shot-ph{aspect-ratio:4/3;border:1px dashed rgba(11,11,12,.3);background:#F2F3F5;display:flex;align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:#6B7177;}
.pg-home .app-copy{display:flex;flex-direction:column;gap:18px;}
.pg-home .app-copy h2{font-size:clamp(1.9rem,3.4vw,2.7rem);line-height:1.02em;}
.pg-home .app-copy p{font-size:1rem;line-height:1.7;color:#22252B;font-weight:300;max-width:48ch;}
.pg-home .app-badges{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px;}
.pg-home .app-badges .store-badge{display:inline-flex;align-items:center;gap:11px;background:#0B0B0C;color:#fff;border:1px solid #0B0B0C;padding:11px 18px;transition:opacity .2s;}
.pg-home .app-badges .store-badge:hover{opacity:.82;}
.pg-home .app-badges .store-badge svg{width:21px;height:21px;flex:0 0 auto;fill:currentColor;}
.pg-home .app-badges .store-badge span{display:flex;flex-direction:column;line-height:1.08;text-align:left;}
.pg-home .app-badges .store-badge small{font-family:'IBM Plex Mono',monospace;font-size:.54rem;letter-spacing:.1em;text-transform:uppercase;opacity:.8;}
.pg-home .app-badges .store-badge b{font-family:'Anton',sans-serif;font-weight:400!important;text-transform:uppercase;letter-spacing:.02em;font-size:.92rem;}
@media(max-width:820px){
  .pg-home .app-grid{grid-template-columns:1fr;}
  .pg-home .app-copy{order:-1;}
}
@media(max-width:480px){
  .pg-home .app-badges .store-badge{flex:1 1 100%;justify-content:center;}
}
