/* FullForm — premium private personal training. Black, white and restrained neutrals; FullForm blue used only as a small accent. Generous spacing, strong condensed type, real studio + client photography. */
/* Brand palette (FullForm Brand Guidelines V1): black #141414, white, dark grey #73787A, light grey #EAEBF3. Blue #0066FF only as a restrained accent — keylines, small labels, links. Never as a background. Type: Replica Pro, with Roboto Regular & Bold as the free web fallback. */
:root{
  --bg:#141414; --bg2:#EAEBF3; --panel:#1c1c1c; --line:#2e2e2e; --fg:#ffffff; --muted:#9a9ea0; --soft:#d9dae0; --accent:#0066FF; --grey:#73787A;
  --sans:'Roboto',Arial,sans-serif; --cond:'Roboto',Arial,sans-serif;
  color-scheme:dark;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--bg:#141414;}}
:root[data-theme="dark"]{--bg:#141414;}
/* light grey sections: tokens re-scoped so every component adapts */
section.alt,.light{--bg:#EAEBF3;--panel:#ffffff;--line:#d2d4dd;--fg:#141414;--soft:#3b3f42;--muted:#73787A;background:#EAEBF3;color:#141414;color-scheme:light;}
section.white{--bg:#ffffff;--panel:#EAEBF3;--line:#dfe0e7;--fg:#141414;--soft:#3b3f42;--muted:#73787A;background:#fff;color:#141414;}
*{box-sizing:border-box;margin:0;padding:0;}
html,body{overflow-x:hidden;max-width:100%;}
body{font-family:var(--sans);background:var(--bg);color:var(--fg);line-height:1.65;font-size:16px;}
img{max-width:100%;display:block;}
a{color:inherit;}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px));}
.narrow{max-width:820px;}
.kicker{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:3px;text-transform:uppercase;display:flex;align-items:center;gap:10px;}
.kicker::before{content:"";width:22px;height:2px;background:var(--accent);flex:none;}
.center .kicker,.sec-head .kicker{justify-content:center;}
h1,h2,h3{text-wrap:balance;font-family:var(--sans);font-weight:700;text-transform:uppercase;letter-spacing:-.6px;}
h3{text-transform:none;letter-spacing:-.3px;}
h2{font-size:clamp(30px,4.2vw,50px);line-height:1.04;}
h3{font-size:22px;line-height:1.1;}
p{text-wrap:pretty;}
.lead{font-size:clamp(17px,1.9vw,20px);color:var(--soft);}

/* review bar + confirm marks */
.review{background:#1c1a12;color:#f3e7c0;font-size:13px;border-bottom:1px solid #3a3420;}
:root[data-theme="light"] .review{background:#fbf6e6;color:#5a4a12;border-color:#efe2b5;}
.review .wrap{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;padding-top:8px;padding-bottom:8px;}
.review button{font:inherit;font-size:12.5px;font-weight:700;background:transparent;color:inherit;border:1px solid currentColor;border-radius:999px;padding:4px 12px;cursor:pointer;}
mark.cf{background:none;color:inherit;border-bottom:2px dotted #e0a400;cursor:help;}
mark.cf::after{content:"confirm";font-family:var(--sans);font-size:9px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:#1a1400;background:#e0a400;border-radius:3px;padding:1px 4px;margin-left:5px;vertical-align:middle;}
.nomarks mark.cf{border-bottom:0;cursor:auto;}
.nomarks mark.cf::after{display:none;}
.nomarks .review .note{opacity:.6;}

/* NAV */
.nav{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.nav .bar{display:flex;align-items:center;justify-content:space-between;gap:18px;height:68px;}
.brand{font-family:var(--cond);font-weight:700;font-size:23px;letter-spacing:2px;text-decoration:none;}
.navlinks{display:flex;gap:26px;align-items:center;font-size:14px;font-weight:500;}
.navlinks > a,.dd > a{text-decoration:none;color:var(--soft);padding:23px 0;}
.navlinks a:hover,.navlinks a.on{color:var(--fg);}
.navlinks a.on{box-shadow:inset 0 -2px 0 var(--fg);}
.dd{position:relative;}
.dd > a::after{content:" ▾";font-size:10px;color:var(--muted);}
.ddm{display:none;position:absolute;top:60px;left:-14px;min-width:240px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px;box-shadow:0 14px 34px rgba(0,0,0,.35);}
.dd:hover .ddm,.dd:focus-within .ddm{display:block;}
.ddm a{display:block;padding:9px 12px;border-radius:7px;text-decoration:none;color:var(--soft);font-size:14px;}
.ddm a:hover{background:var(--bg2);color:var(--fg);}
.navright{display:flex;align-items:center;gap:16px;}
.navphone{color:var(--soft);text-decoration:none;font-size:14px;white-space:nowrap;}
.menubtn{display:none;background:none;border:0;color:var(--fg);font-size:26px;cursor:pointer;line-height:1;}
.mobmenu{display:none;border-top:1px solid var(--line);padding:8px 20px 20px;max-height:calc(100vh - 80px);overflow-y:auto;}
.mobmenu a{display:block;padding:12px 0;text-decoration:none;color:var(--soft);font-size:16px;border-bottom:1px solid var(--line);}
.mobmenu .sub{padding-left:16px;font-size:15px;}
.mobmenu.open{display:block;}
@media(max-width:1040px){.navlinks,.navphone{display:none;}.menubtn{display:block;}}
@media(min-width:1041px){.mobmenu.open{display:none;}}
@media(max-width:520px){.nav .btn{display:none;}}

/* buttons */
.btns{display:flex;gap:12px;flex-wrap:wrap;}
.btn{display:inline-block;text-decoration:none;font-weight:700;font-size:15px;padding:15px 26px;border-radius:6px;border:1.5px solid transparent;cursor:pointer;font-family:var(--sans);letter-spacing:.2px;text-align:center;}
.btn-pri{background:var(--fg);color:var(--bg);}
.btn-pri:hover{opacity:.88;}
.btn-ghost{border-color:var(--line);color:var(--fg);background:transparent;}
.btn-ghost:hover{border-color:var(--fg);}
.btn-sm{padding:10px 18px;font-size:14px;}
.textlink{color:var(--fg);font-weight:700;text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:2px;}

/* sections */
section{padding:104px 0;}
section.alt{border:0;}
section.tight{padding:64px 0;}
.sec-head{text-align:center;max-width:780px;margin:0 auto 52px;}
.sec-head h2{margin-top:14px;}
.sec-head p{color:var(--muted);margin-top:16px;font-size:17px;}
.sec-foot{text-align:center;margin-top:40px;}
@media(max-width:700px){section{padding:72px 0;}.sec-head{margin-bottom:36px;}}

/* HOME HERO: studio photo */
.cover{position:relative;min-height:min(88vh,860px);display:flex;align-items:flex-end;background:#0d0d0d;overflow:hidden;}
.cover > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;}
.cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25) 0%,rgba(0,0,0,.15) 35%,rgba(0,0,0,.88) 100%);}
.cover .wrap{position:relative;z-index:1;padding-bottom:80px;color:#fff;width:100%;}
.cover h1{font-size:clamp(40px,6.6vw,84px);line-height:.96;margin:18px 0 22px;max-width:900px;}
.cover .lead{color:#e6e6e6;max-width:620px;margin-bottom:30px;}
.cover .kicker{color:#d4d4d4;}
.cover .btn-pri{background:#fff;color:#0a0a0a;}
.cover .btn-ghost{color:#fff;border-color:rgba(255,255,255,.45);}
.cover.short{min-height:min(64vh,620px);}
.cover.short h1{font-size:clamp(36px,5.6vw,68px);}

/* credibility */
.cred{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);}
.cred div{padding:30px 16px;text-align:center;border-left:1px solid var(--line);}
.cred div:first-child{border-left:0;}
.cred b{display:block;font-family:var(--cond);font-weight:700;font-size:clamp(24px,3vw,34px);line-height:1;text-transform:uppercase;}
.cred span{display:block;margin-top:8px;font-size:11.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);}
@media(max-width:700px){.cred{grid-template-columns:1fr 1fr;}.cred div:nth-child(3){border-left:0;}.cred div:nth-child(n+3){border-top:1px solid var(--line);}}

/* SERVICE HERO: copy + proof */
.phero{padding:64px 0 56px;border-bottom:1px solid var(--line);}
.phero .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;}
.phero h1{font-size:clamp(36px,5.2vw,66px);line-height:.98;margin:18px 0 20px;}
.phero .lead{margin-bottom:28px;max-width:560px;}
.trust{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:24px;color:var(--muted);font-size:13.5px;}
.trust span::before{content:"✓ ";color:var(--fg);font-weight:700;}
@media(max-width:900px){.phero{padding:28px 0 48px;}.phero .grid{grid-template-columns:1fr;gap:28px;}.phero .proof{order:-1;}}

/* drag slider */
.ff-ba{position:relative;}
.ff-ba__frame{position:relative;width:100%;height:0;padding-bottom:125%;overflow:hidden;border-radius:10px;background:#1a1a1a;cursor:ew-resize;touch-action:none;user-select:none;-webkit-user-select:none;}
.ff-ba__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform-origin:center bottom;pointer-events:none;}
.ff-ba__img--after{transform:var(--ff-after);object-position:var(--ff-aop,50% 50%);}
.ff-ba__img--before{transform:var(--ff-before);object-position:var(--ff-bop,50% 50%);}
.ff-ba__before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--ff-pos)) 0 0);}
.ff-ba__line{position:absolute;top:0;bottom:0;left:var(--ff-pos);width:2px;margin-left:-1px;background:#fff;pointer-events:none;box-shadow:0 0 0 1px rgba(0,0,0,.15);}
.ff-ba__handle{position:absolute;top:50%;left:var(--ff-pos);width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;background:#fff;color:#0a0a0a;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;pointer-events:none;box-shadow:0 3px 12px rgba(0,0,0,.4);}
.ff-ba__lbl{position:absolute;top:12px;font-size:10.5px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;padding:4px 9px;border-radius:3px;pointer-events:none;background:rgba(0,0,0,.72);color:#fff;}
.ff-ba__lbl.b{left:12px;}
.ff-ba__lbl.a{right:12px;background:#fff;color:#0a0a0a;}
.ff-cap{padding-top:14px;}
.ff-cap b{display:block;font-family:var(--cond);font-weight:700;font-size:26px;line-height:1.05;text-transform:uppercase;}
.ff-cap span{display:block;color:var(--soft);font-size:14px;margin-top:4px;}
.ff-cap small{display:block;color:var(--muted);font-size:12.5px;margin-top:6px;}
.ff-cap a{color:var(--fg);}
.proof .ff-ba{max-width:440px;margin:0 auto;}
.proof .ff-cap{text-align:center;}
.proof .hint{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.75);color:#fff;font-size:12px;font-weight:600;padding:6px 12px;border-radius:999px;pointer-events:none;z-index:3;white-space:nowrap;}
@media(max-width:900px){.proof .ff-ba{max-width:310px;}.proof .ff-ba__frame{padding-bottom:115%;}}

.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px;}
.chip{border:1px solid var(--line);background:transparent;color:var(--soft);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer;font-family:var(--sans);}
.chip:hover{border-color:var(--fg);color:var(--fg);}
.chip.on{background:var(--fg);border-color:var(--fg);color:var(--bg);}

/* featured slider grid (6 on home) */
.feature{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 28px;}
@media(max-width:900px){.feature{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding-bottom:8px;}.feature::-webkit-scrollbar{height:0;}.feature > *{flex:0 0 78%;scroll-snap-align:start;}}
.swipehint{display:none;text-align:center;color:var(--muted);font-size:13px;margin-top:14px;}
@media(max-width:900px){.swipehint{display:block;}}

/* side-by-side wall */
.filters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:-16px 0 34px;}
.wall{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.wcard{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--panel);}
.wpair{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--line);}
.wh{position:relative;aspect-ratio:3/4;overflow:hidden;background:#1a1a1a;}
.wh img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform-origin:center bottom;}
.wh .tag{position:absolute;left:8px;top:8px;background:rgba(0,0,0,.72);color:#fff;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:3px 7px;border-radius:3px;}
.wh.a .tag{background:#fff;color:#0a0a0a;}
.wmeta{padding:16px 18px 18px;}
.wmeta b{display:block;font-family:var(--cond);font-weight:700;font-size:26px;line-height:1.05;text-transform:uppercase;}
.wmeta span{display:block;color:var(--soft);font-size:14px;margin-top:4px;line-height:1.45;}
.wmeta small{display:block;color:var(--muted);font-size:12.5px;margin-top:8px;}
.wmeta a{color:var(--fg);font-weight:700;}
@media(max-width:900px){.wall{grid-template-columns:1fr 1fr;gap:12px;}.wmeta b{font-size:20px;}}
@media(max-width:520px){.wmeta{padding:11px 11px 13px;}.wmeta b{font-size:17px;}.wmeta span{font-size:12.5px;}}

/* inclusions */
.incl{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line);}
.incl > div{display:grid;grid-template-columns:56px 1fr;gap:18px;padding:30px 24px 30px 0;border-bottom:1px solid var(--line);}
.incl > div:nth-child(odd){padding-right:40px;border-right:1px solid var(--line);}
.incl > div:nth-child(even){padding-left:40px;}
.incl .n{font-family:var(--cond);font-weight:700;font-size:34px;line-height:1;color:var(--muted);}
.incl h3{font-size:21px;margin-bottom:8px;}
.incl p{color:var(--soft);font-size:15px;}
.incl p.why{color:var(--muted);font-size:14px;margin-top:8px;}
.incl p.why b{color:var(--fg);font-weight:700;}
@media(max-width:820px){.incl{grid-template-columns:1fr;}.incl > div,.incl > div:nth-child(odd),.incl > div:nth-child(even){padding:24px 0;border-right:0;}}
.incl-sum{margin-top:44px;text-align:center;font-family:var(--cond);font-weight:700;font-size:clamp(20px,2.6vw,28px);line-height:1.25;text-transform:uppercase;max-width:820px;margin-left:auto;margin-right:auto;}

/* method */
.method{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.method > div{padding:30px 26px;border-left:1px solid var(--line);position:relative;}
.method > div:first-child{border-left:0;}
.method .n{font-family:var(--cond);font-size:13px;color:var(--muted);letter-spacing:2px;}
.method h3{font-size:28px;margin:8px 0 10px;}
.method p{color:var(--soft);font-size:14.5px;}
.method > div:not(:last-child)::after{content:"→";position:absolute;right:-12px;top:30px;width:24px;height:24px;border-radius:50%;background:var(--bg);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--muted);z-index:1;}
.loopnote{text-align:center;color:var(--muted);font-size:14.5px;margin-top:22px;}
.loopnote b{color:var(--fg);}
@media(max-width:860px){.method{grid-template-columns:1fr 1fr;}.method > div:nth-child(3){border-left:0;}.method > div:nth-child(n+3){border-top:1px solid var(--line);}.method > div::after{display:none;}}
@media(max-width:520px){.method{grid-template-columns:1fr;}.method > div{border-left:0!important;}.method > div:nth-child(n+2){border-top:1px solid var(--line);}}

/* testimonials */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.qcard{border:1px solid var(--line);border-radius:12px;padding:30px 28px;background:var(--panel);display:flex;flex-direction:column;}
.qcard blockquote{font-family:var(--cond);font-weight:700;font-size:23px;line-height:1.25;flex:1;}
.qcard blockquote::before{content:"“";display:block;font-size:54px;line-height:.6;color:var(--accent);margin-bottom:8px;}
.qcard .who{margin-top:22px;padding-top:16px;border-top:1px solid var(--line);}
.qcard .who b{display:block;font-size:15px;}
.qcard .who span{display:block;color:var(--muted);font-size:13px;margin-top:2px;}
.qcard .acts{display:flex;gap:16px;margin-top:14px;font-size:13.5px;}
.qcard .acts a,.qcard .acts button{color:var(--fg);font-weight:700;background:none;border:0;cursor:pointer;font-family:var(--sans);font-size:13.5px;padding:0;text-decoration:none;border-bottom:1px solid var(--accent);}
.quotes.two{grid-template-columns:repeat(2,1fr);}
@media(max-width:960px){.quotes{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.quotes,.quotes.two{grid-template-columns:1fr;}}
.qcard.big{grid-column:span 2;}
@media(max-width:640px){.qcard.big{grid-column:auto;}}

/* videos */
.ff-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:18px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding-bottom:6px;}
.ff-track::-webkit-scrollbar{height:0;}
.ff-slide{flex:0 0 clamp(270px,32%,380px);scroll-snap-align:start;}
.ff-nav{display:flex;justify-content:center;gap:12px;margin-top:22px;}
.ff-nav button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--fg);font-size:18px;cursor:pointer;}
.ff-nav button:hover{border-color:var(--fg);}
.vthumb{position:relative;aspect-ratio:16/9;background:#000;cursor:pointer;border:0;width:100%;display:block;padding:0;border-radius:10px;overflow:hidden;}
.vthumb img{width:100%;height:100%;object-fit:cover;opacity:.8;}
.vthumb .play{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:#fff;color:#0a0a0a;display:flex;align-items:center;justify-content:center;font-size:18px;}
.vthumb iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.vcap{padding:12px 2px 0;}
.vcap b{display:block;font-family:var(--cond);font-size:19px;font-weight:700;text-transform:uppercase;}
.vcap span{color:var(--soft);font-size:14px;}
.vmodal{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.88);display:none;align-items:center;justify-content:center;padding:20px;}
.vmodal.open{display:flex;}
.vmodal .box{width:min(960px,100%);aspect-ratio:16/9;position:relative;background:#000;}
.vmodal iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.vmodal .x{position:absolute;top:-44px;right:0;background:none;border:0;color:#fff;font-size:30px;cursor:pointer;}

/* studio + coach */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.split.flip > :first-child{order:2;}
.s-img{border-radius:12px;overflow:hidden;background:#1a1a1a;aspect-ratio:4/5;}
.s-img.wide{aspect-ratio:4/3;}
.s-img img{width:100%;height:100%;object-fit:cover;}
.s-txt h2{margin:14px 0 18px;}
.s-txt p{color:var(--soft);font-size:16.5px;margin-bottom:16px;}
.s-txt blockquote{border-left:2px solid var(--accent);padding:2px 0 2px 18px;font-family:var(--cond);font-weight:700;font-size:23px;line-height:1.25;margin:24px 0;}
.kit{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 22px;}
.kit span{border:1px solid var(--line);border-radius:999px;padding:7px 13px;font-size:13px;color:var(--soft);}
.credlist{list-style:none;margin:6px 0 22px;}
.credlist li{padding:10px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--soft);display:flex;gap:12px;}
.credlist li b{color:var(--fg);min-width:110px;font-weight:700;}
.studio2{display:grid;grid-template-columns:1.4fr 1fr;grid-auto-rows:clamp(240px,30vw,400px);gap:14px;margin-top:56px;}
.studio2 div{border-radius:12px;overflow:hidden;background:#1a1a1a;}
.studio2 img{width:100%;height:100%;object-fit:cover;}
@media(max-width:860px){.split{grid-template-columns:1fr;gap:30px;}.split.flip > :first-child{order:0;}.s-img{aspect-ratio:4/3;}.studio2{grid-template-columns:1fr;margin-top:30px;}}

/* options */
.options{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.opt{border:1px solid var(--line);border-radius:12px;padding:30px 28px;text-decoration:none;display:flex;flex-direction:column;background:var(--panel);transition:border-color .2s;}
.opt:hover{border-color:var(--fg);}
.opt h3{font-size:25px;}
.opt .res{color:var(--muted);font-size:13px;margin:10px 0 12px;letter-spacing:.3px;}
.opt p{color:var(--soft);font-size:15px;flex:1;margin-bottom:18px;}
.opt .go{font-weight:700;font-size:14px;}
.opt.wide{grid-column:span 2;}
@media(max-width:960px){.options{grid-template-columns:1fr 1fr;}.opt.wide{grid-column:span 2;}}
@media(max-width:620px){.options{grid-template-columns:1fr;}.opt.wide{grid-column:auto;}}

/* pricing */
.pricing{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch;}
.pcard{border:1px solid var(--line);border-radius:12px;padding:36px;background:var(--panel);}
.pcard.dark{background:var(--fg);color:var(--bg);border-color:var(--fg);}
.pcard.dark .muted{color:color-mix(in srgb,var(--bg) 65%,transparent);}
.pcard .p{font-family:var(--cond);font-weight:700;font-size:clamp(60px,8vw,88px);line-height:1;margin:10px 0 4px;}
.pcard .p small{font-size:20px;font-weight:700;}
.pcard .muted{color:var(--muted);}
.pcard p{margin-top:14px;font-size:15.5px;}
.pcard .btn{margin-top:26px;}
.pcard.dark .btn-pri{background:var(--bg);color:var(--fg);}
.weekly{width:100%;border-collapse:collapse;margin-top:6px;}
.weekly td{padding:14px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--soft);}
.weekly td:last-child{text-align:right;font-family:var(--cond);font-weight:700;font-size:20px;color:var(--fg);white-space:nowrap;font-variant-numeric:tabular-nums;}
.weekly tr:last-child td{border-bottom:0;}
@media(max-width:820px){.pricing{grid-template-columns:1fr;}.pcard{padding:28px;}}

/* fit */
.fit{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.fitcol{border:1px solid var(--line);border-radius:12px;padding:30px;}
.fitcol h3{font-size:21px;margin-bottom:12px;}
.fitcol li{list-style:none;padding:11px 0 11px 28px;border-top:1px solid var(--line);color:var(--soft);font-size:15px;position:relative;}
.fitcol li:first-child{border-top:0;}
.fitcol li::before{content:"✓";position:absolute;left:2px;top:10px;font-weight:700;color:var(--fg);}
.fitcol.no li::before{content:"✕";color:var(--muted);}
@media(max-width:760px){.fit{grid-template-columns:1fr;}}

/* process */
.process{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:s;}
.process div{border-top:2px solid var(--fg);padding-top:18px;}
.process b{font-family:var(--cond);font-size:13px;letter-spacing:2px;color:var(--muted);}
.process h3{font-size:22px;margin:6px 0 8px;}
.process p{color:var(--soft);font-size:15px;}
@media(max-width:760px){.process{grid-template-columns:1fr;}}

/* prose */
.intro{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:start;}
.prose h2{margin:14px 0 22px;}
.prose p{color:var(--soft);font-size:17px;margin-bottom:18px;max-width:64ch;}
.prose p b{color:var(--fg);}
.aside{border:1px solid var(--line);border-radius:12px;padding:30px;background:var(--panel);}
.aside h3{font-size:20px;margin-bottom:12px;}
.aside li{list-style:none;padding:11px 0 11px 24px;border-top:1px solid var(--line);color:var(--soft);font-size:15px;position:relative;}
.aside li:first-child{border-top:0;}
.aside li::before{content:"";position:absolute;left:2px;top:21px;width:10px;height:2px;background:var(--fg);}
@media(max-width:860px){.intro{grid-template-columns:1fr;gap:32px;}}

/* faq */
.faq{max-width:820px;margin:0 auto;}
.faq details{border-bottom:1px solid var(--line);padding:20px 0;}
.faq summary{font-family:var(--cond);font-size:21px;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";color:var(--muted);font-weight:400;}
.faq details[open] summary::after{content:"–";}
.faq p{color:var(--soft);margin-top:12px;font-size:16px;max-width:68ch;}
.faq p a{color:var(--fg);}

.related{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
.related a{border:1px solid var(--line);border-radius:999px;padding:10px 18px;text-decoration:none;color:var(--soft);font-size:14px;}
.related a:hover{border-color:var(--fg);color:var(--fg);}

.final{text-align:center;padding:120px 20px;border-top:1px solid var(--line);}
.final h2{font-size:clamp(34px,6vw,64px);margin-top:16px;}
.final p{color:var(--soft);font-size:18px;margin:18px auto 32px;max-width:580px;}
.final .btns{justify-content:center;}
.final .process{max-width:900px;margin:0 auto 44px;text-align:left;}

/* case studies */
.cases{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.case{border:1px solid var(--line);border-radius:10px;padding:20px;text-decoration:none;background:var(--panel);display:flex;flex-direction:column;}
.case:hover{border-color:var(--fg);}
.case b{font-family:var(--cond);font-size:22px;font-weight:700;text-transform:uppercase;}
.case span{color:var(--soft);font-size:13.5px;margin:6px 0 12px;flex:1;}
.case em{font-style:normal;font-weight:700;font-size:13px;}
@media(max-width:960px){.cases{grid-template-columns:repeat(2,1fr);}}
.facts{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:30px;}
.facts div{padding:20px;border-left:1px solid var(--line);}
.facts div:first-child{border-left:0;}
.facts span{display:block;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);}
.facts b{display:block;font-size:16px;margin-top:6px;}
@media(max-width:760px){.facts{grid-template-columns:1fr 1fr;}.facts div:nth-child(3){border-left:0;}.facts div:nth-child(n+3){border-top:1px solid var(--line);}}
.story{max-width:780px;margin:0 auto;}
.story h2{font-size:clamp(24px,3vw,32px);margin:44px 0 12px;}
.story h2:first-child{margin-top:0;}
.story p,.story li{color:var(--soft);font-size:17px;}
.story ul{padding-left:20px;margin-top:6px;}
.story li{margin:6px 0;}
.missing{border:1px dashed #e0a400;border-radius:8px;padding:12px 16px;color:var(--muted)!important;font-size:15px!important;}
.nomarks .missing{display:none;}
.bigquote{max-width:900px;margin:0 auto;text-align:center;}
.bigquote blockquote{font-family:var(--cond);font-weight:700;font-size:clamp(26px,4vw,44px);line-height:1.15;text-transform:uppercase;}
.bigquote .by{color:var(--muted);margin-top:18px;}

/* forms + contact */
.applyform{border:1px solid var(--line);border-radius:12px;padding:32px;background:var(--panel);display:flex;flex-direction:column;gap:18px;}
.applyform label,.applyform fieldset{display:flex;flex-direction:column;gap:7px;font-size:13px;color:var(--muted);font-weight:500;border:0;}
.applyform legend{font-size:13px;color:var(--muted);font-weight:500;margin-bottom:7px;}
.applyform input[type=text],.applyform input[type=email],.applyform input[type=tel],.applyform select,.applyform textarea{font:inherit;font-size:15px;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:12px;}
.applyform .opts{display:flex;flex-wrap:wrap;gap:8px;}
.applyform .opts label{flex-direction:row;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:8px 14px;color:var(--soft);font-size:14px;cursor:pointer;}
.applyform .agree{flex-direction:row;align-items:flex-start;gap:10px;color:var(--soft);font-size:14px;}
.applyform .agree input{margin-top:4px;}
.formnote{font-size:12px;color:var(--muted);}
.contact-list{border-top:1px solid var(--line);margin-top:28px;}
.contact-list div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--line);font-size:16px;}
.contact-list span{color:var(--muted);font-size:12px;letter-spacing:1.4px;text-transform:uppercase;padding-top:3px;}
.contact-list a{color:var(--fg);text-decoration:none;word-break:break-word;}
.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.cards4 div{border:1px solid var(--line);border-radius:12px;padding:24px;}
.cards4 h3{font-size:20px;margin-bottom:8px;}
.cards4 p{color:var(--soft);font-size:14.5px;}
@media(max-width:920px){.cards4{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.cards4{grid-template-columns:1fr;}}
.ptable{width:100%;border-collapse:collapse;}
.ptable td{padding:16px 4px;border-bottom:1px solid var(--line);font-size:15.5px;color:var(--soft);}
.ptable td:last-child{text-align:right;font-family:var(--cond);font-weight:700;font-size:21px;color:var(--fg);white-space:nowrap;}
.coachresult{border:1px solid var(--line);border-radius:12px;padding:28px;display:grid;grid-template-columns:300px 1fr;gap:36px;align-items:center;}
.coachresult .lbl{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:12px;}
@media(max-width:760px){.coachresult{grid-template-columns:1fr;}}

/* SEO spec panel (not for the live site) */
.spec{max-width:1180px;margin:0 auto 56px;padding:0 20px;}
.spec details{border:1px dashed var(--muted);border-radius:10px;padding:16px 20px;}
.spec summary{cursor:pointer;font-weight:700;font-size:14px;color:var(--soft);}
.spec dl{display:grid;grid-template-columns:150px 1fr;gap:10px 18px;margin-top:14px;font-size:14px;}
.spec dt{color:var(--muted);}
.spec dd{color:var(--fg);font-family:ui-monospace,Menlo,monospace;font-size:13px;word-break:break-word;}
@media(max-width:620px){.spec dl{grid-template-columns:1fr;gap:4px;}.spec dd{margin-bottom:10px;}}

footer{border-top:1px solid var(--line);padding:56px 0 100px;color:var(--muted);font-size:14px;}
.footgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;}
.footgrid h4{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--fg);margin-bottom:12px;}
.footgrid a{color:var(--muted);text-decoration:none;}
.footgrid a:not(.brand){display:block;padding:4px 0;}
.footgrid a:hover{color:var(--fg);}
.footgrid p{margin-top:12px;line-height:1.7;}
@media(max-width:760px){.footgrid{grid-template-columns:1fr 1fr;}}

.mbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:50;background:color-mix(in srgb,var(--bg) 96%,transparent);border-top:1px solid var(--line);padding:10px max(14px,env(safe-area-inset-left,0px)) calc(10px + env(safe-area-inset-bottom,0px));gap:10px;}
.mbar a{flex:1;text-align:center;padding:13px 10px;border-radius:6px;font-weight:700;font-size:15px;text-decoration:none;}
.mbar .call{border:1px solid var(--line);color:var(--fg);flex:0 0 32%;}
.mbar .ap{background:var(--fg);color:var(--bg);}
@media(max-width:760px){.mbar{display:flex;}}
.themebtn{font:inherit;font-size:12.5px;background:transparent;color:inherit;border:1px solid currentColor;border-radius:999px;padding:4px 12px;cursor:pointer;opacity:.8;}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;}}

/* brand keyline graphic: a thin stroke taken from a segment of the logomark */
.has-key{position:relative;overflow:hidden;}
.has-key > .wrap,.has-key > *:not(.keyline){position:relative;z-index:1;}
.keyline{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;}
.keyline path{fill:none;stroke:var(--accent);stroke-width:1.5;vector-effect:non-scaling-stroke;}
/* logomark-style rounded corner on feature photos */
.shape{border-radius:96px 10px 10px 10px!important;}
@media(max-width:700px){.shape{border-radius:56px 8px 8px 8px!important;}}
.tagline{color:var(--accent);font-weight:700;}
/* about timeline */
.timeline{position:relative;max-width:980px;margin:0 auto;}
.timeline::before{content:"";position:absolute;left:150px;top:6px;bottom:6px;width:1px;background:var(--line);}
.tl-item{display:grid;grid-template-columns:150px 1fr;gap:0 44px;padding:0 0 64px;position:relative;}
.tl-item::before{content:"";position:absolute;left:146px;top:10px;width:9px;height:9px;border-radius:50%;background:var(--accent);}
.tl-when{font-weight:700;font-size:15px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);padding-top:2px;}
.tl-body{padding-left:28px;}
.tl-body .kicker{margin-bottom:10px;}
.tl-body h2{font-size:clamp(24px,3vw,34px);margin-bottom:14px;}
.tl-body p{color:var(--soft);font-size:17px;margin-bottom:14px;max-width:62ch;}
.tl-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px;}
.tl-photos.two{grid-template-columns:1.3fr 1fr;}
.tl-photos.one{grid-template-columns:1fr;}
.tl-photos div{border-radius:10px;overflow:hidden;background:#222;aspect-ratio:3/4;}
.tl-photos.one div,.tl-photos.two div{aspect-ratio:4/3;}
.tl-photos img{width:100%;height:100%;object-fit:cover;}
.tl-photos small{display:block;}
.tl-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:10px;margin-top:20px;}
.tl-stats div{padding:18px 14px;border-left:1px solid var(--line);}
.tl-stats div:first-child{border-left:0;}
.tl-stats b{display:block;font-size:26px;font-weight:700;line-height:1;}
.tl-stats span{display:block;font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-top:6px;}
@media(max-width:760px){.timeline::before{left:4px;}.tl-item{grid-template-columns:1fr;padding-left:26px;padding-bottom:48px;}.tl-item::before{left:0;}.tl-body{padding-left:0;}.tl-when{margin-bottom:8px;}.tl-stats{grid-template-columns:1fr 1fr;}.tl-stats div:nth-child(3){border-left:0;}.tl-stats div:nth-child(n+3){border-top:1px solid var(--line);}}
.logostrip{max-width:900px;margin:0 auto;background:#fff;border-radius:12px;padding:20px 26px;}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.pillars div{border-top:1px solid var(--accent);padding-top:18px;}
.pillars h3{font-size:22px;margin-bottom:8px;}
.pillars p{color:var(--soft);font-size:15px;}
@media(max-width:820px){.pillars{grid-template-columns:1fr 1fr;}}
.ggrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.ggrid div{border-radius:10px;overflow:hidden;background:#222;aspect-ratio:3/4;}
.ggrid img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.ggrid div:hover img{transform:scale(1.05);}
@media(max-width:760px){.ggrid{grid-template-columns:1fr 1fr;}}
.drag-h{color:var(--accent)!important;}
