/* Stridelyn homepage (v3, Mono): black and white sections, bold sans type,
   full-photo hero, big product mockups and color photos. No accent hue. */
:root{
  --ink:#0B0B0C;
  --ink-2:#141415;
  --ink-3:#1E1E20;
  --ivory:#F3F3F2;      /* light section */
  --paper:#FFFFFF;      /* lightest section */
  --text-dark:#A9A9AC;  /* body text on black */
  --text-light:#56565A; /* body text on white */
  --line-dark:rgba(255,255,255,.12);
  --line-light:#E1E1E1;
  --clay:#EDEDEB;       /* accent on black: off-white buttons */
  --clay-hover:#FFFFFF;
  --clay-deep:#111112;  /* accent on white: black */
  --gray:#8E8E93;       /* labels */
  --sans:"Archivo","Helvetica Neue",Arial,sans-serif;
  --body:"Manrope","Helvetica Neue",Arial,sans-serif;
  --wrap:1240px;
  --gutter:clamp(16px,5vw,72px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
html{overflow-x:clip}
body{margin:0;background:var(--ink);color:var(--ivory);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
.skip{position:absolute;left:-999px;top:8px;background:var(--clay);color:var(--ink);padding:8px 14px;z-index:100}
.skip:focus{left:8px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}

/* Type */
h1,h2,h3{font-family:var(--sans);font-weight:800;letter-spacing:-.025em;line-height:.98;margin:0}
h1{font-size:clamp(42px,7.4vw,104px)}
h2{font-size:clamp(38px,5.6vw,80px)}
h3{font-size:clamp(22px,2.2vw,28px);letter-spacing:-.015em;line-height:1.1}
.kicker{font-family:var(--sans);font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--gray);margin:0 0 18px}
.lede{font-size:clamp(18px,1.6vw,21px);line-height:1.55;max-width:34ch;margin:22px 0 0}
.light .kicker,.paper .kicker{color:var(--text-light)}
.light .text-link,.paper .text-link{border-color:var(--ink)}
.light .points .n,.paper .points .n{background:var(--ink);color:#fff}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;font-family:var(--sans);font-weight:700;font-size:16px;text-decoration:none;transition:background .2s,transform .2s}
.btn-accent{background:var(--clay);color:var(--ink)}
.btn-accent:hover{background:var(--clay-hover)}
.btn-ghost{border:1.5px solid currentColor}
.text-link{font-family:var(--sans);font-weight:700;text-decoration:none;border-bottom:2px solid var(--clay);padding-bottom:2px}
.actions{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;margin-top:34px}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(13,12,11,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-dark)}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px;gap:24px}
.brand img{width:132px;height:auto}
.nav-links{display:flex;gap:32px;font-family:var(--sans);font-weight:600;font-size:15px}
.nav-links a{text-decoration:none;opacity:.86}
.nav-links a:hover{opacity:1}
.nav-cta{display:flex;align-items:center;gap:20px}
.nav-cta .signin{font-family:var(--sans);font-weight:600;font-size:15px;text-decoration:none}
.nav-cta .btn{min-height:44px;padding:0 22px;font-size:15px}
.menu-toggle{display:none;background:none;border:1px solid var(--line-dark);color:var(--ivory);border-radius:999px;padding:8px 16px;font:600 14px var(--sans)}
.mobile-only{display:none}

/* Sections */
section{padding:clamp(80px,11vw,150px) 0;position:relative;overflow-x:clip}
.dark{background:var(--ink);color:var(--ivory)}
.dark-2{background:var(--ink-2);color:var(--ivory)}
.light{background:var(--ivory);color:var(--ink)}
.paper{background:var(--paper);color:var(--ink)}
.dark .lede,.dark-2 .lede{color:var(--text-dark)}
.light .lede,.paper .lede{color:var(--text-light)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px);align-items:center}
.split.flip > :first-child{order:2}
.center{text-align:center}
.center .lede{margin-left:auto;margin-right:auto}

/* Hero */
.hero{padding:clamp(56px,8vw,110px) 0 clamp(72px,9vw,130px);overflow:hidden}
.hero .split{grid-template-columns:1.1fr .9fr}
.hero h1 span{color:#B8B8BC}
.hero-note{font-size:14px;color:var(--text-dark);margin-top:22px}
.hero-stage{position:relative;display:flex;justify-content:center}
.hero-stage::before{content:"";position:absolute;inset:8% -10% 0;background:radial-gradient(closest-side,rgba(217,132,94,.22),transparent 70%);z-index:0}

/* Phone mockup */
.phone{position:relative;z-index:1;width:min(340px,82vw);aspect-ratio:9/19.2;background:#000;border-radius:52px;padding:12px;box-shadow:0 0 0 2px #2c2925,0 40px 80px rgba(0,0,0,.45)}
.light .phone,.paper .phone{box-shadow:0 0 0 2px #2c2925,0 40px 80px rgba(40,30,20,.28)}
.phone::after{content:"";position:absolute;top:22px;left:50%;transform:translateX(-50%);width:96px;height:28px;background:#000;border-radius:20px;z-index:3}
.screen{position:relative;height:100%;border-radius:40px;overflow:hidden;background:var(--ink-2);color:var(--ivory);font-family:var(--sans)}
.phone.big{width:min(380px,86vw)}

/* Workout player screen */
.player .video{position:absolute;inset:0}
.player .video img,.player .video video{width:100%;height:100%;object-fit:cover;filter:contrast(1.08) brightness(.9)}
.player .video::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,transparent 26%,transparent 52%,rgba(0,0,0,.92) 80%)}
.player .top{position:absolute;top:58px;left:26px;right:26px;z-index:2}
.player .time{display:flex;justify-content:space-between;font-weight:800;font-size:20px}
.player .time small{font-weight:600;font-size:12px;opacity:.8;align-self:center}
.bars{display:flex;gap:4px;margin-top:10px}
.bars i{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.28)}
.bars i.done{background:#fff}
.bars i.now{background:var(--clay)}
.player .bottom{position:absolute;left:20px;right:20px;bottom:22px;z-index:2}
.player .ex{font-weight:800;font-size:22px;line-height:1.1}
.player .cue{font-family:var(--body);font-size:13px;opacity:.82;margin-top:6px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.stats div{background:rgba(255,255,255,.1);border-radius:14px;padding:9px 10px}
.stats span{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;opacity:.7}
.stats b{font-size:18px}
.log-btn{margin-top:12px;background:var(--clay);color:var(--ink);border-radius:999px;text-align:center;font-weight:800;padding:12px;font-size:15px}
.video-tag{position:absolute;top:118px;left:20px;z-index:2;font-size:10px;letter-spacing:.12em;text-transform:uppercase;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.25);padding:5px 9px;border-radius:999px}

/* Floating chips around mockups */
.chip{position:absolute;z-index:4;background:var(--paper);color:var(--ink);border-radius:18px;padding:12px 14px;font-family:var(--body);font-size:13px;line-height:1.4;box-shadow:0 18px 40px rgba(0,0,0,.3);max-width:230px}
.chip b{font-family:var(--sans);display:block;font-size:13px}
.chip .who{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.chip .who img{width:28px;height:28px;border-radius:50%;object-fit:cover;filter:none}
.chip.c1{left:-8%;top:44%}
.chip.c2{right:-4%;top:14%}
.chip .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#3FA34D;margin-right:6px}

/* Video call screen */
.call .tile{position:absolute;inset:0}
.call .tile img{width:100%;height:100%;object-fit:cover;filter:contrast(1.05)}
.call .tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45),transparent 30%,transparent 65%,rgba(0,0,0,.85))}
.call .self{position:absolute;right:16px;top:66px;width:96px;height:132px;border-radius:16px;overflow:hidden;z-index:2;border:2px solid rgba(255,255,255,.7)}
.call .self img{width:100%;height:100%;object-fit:cover;filter:none}
.call .label{position:absolute;left:20px;top:66px;z-index:2}
.call .label b{display:block;font-size:17px}
.call .label span{font-size:12px;opacity:.85}
.call .controls{position:absolute;left:0;right:0;bottom:30px;z-index:2;display:flex;justify-content:center;gap:14px}
.call .controls i{width:50px;height:50px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;font-style:normal;font-size:18px}
.call .controls i.end{background:#D9483B}
.call .timer{position:absolute;left:0;right:0;bottom:96px;text-align:center;z-index:2;font-weight:700;font-size:14px}

/* Coach view screen */
.coachview{background:var(--paper);color:var(--ink);padding:62px 18px 18px;font-family:var(--body)}
.coachview .hd{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.coachview .hd img{width:40px;height:40px;border-radius:50%;object-fit:cover;filter:none}
.coachview .hd b{font-family:var(--sans);font-size:16px;display:block;line-height:1.1}
.coachview .hd span{font-size:12px;color:var(--text-light)}
.coachview .card{background:#fff;border:1px solid var(--line-light);border-radius:16px;padding:12px 14px;margin-bottom:10px}
.coachview .card h4{font-family:var(--sans);font-size:14px;margin:0 0 8px;display:flex;justify-content:space-between}
.coachview .card h4 small{font-weight:600;color:#3F8A4B;font-size:11px}
.coachview .row{display:flex;justify-content:space-between;font-size:13px;padding:5px 0;border-top:1px solid #EEE9DF}
.coachview .row:first-of-type{border-top:0}
.coachview .row b{font-family:var(--sans)}
.coachview .row .up{color:#3F8A4B;font-weight:700}
.coachview .msg{background:var(--ink);color:var(--ivory);border-radius:16px 16px 4px 16px;padding:11px 13px;font-size:13px;margin-left:24px}
.coachview .msg small{display:block;opacity:.6;font-size:10px;margin-top:4px}
.coachview .clip{display:flex;gap:10px;align-items:center}
.coachview .clip .thumb{width:58px;height:58px;border-radius:12px;overflow:hidden;position:relative;flex:none}
.coachview .clip .thumb img{width:100%;height:100%;object-fit:cover;filter:none}
.coachview .clip .thumb::after{content:"▶";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:16px;background:rgba(0,0,0,.25)}
.coachview .clip p{margin:0;font-size:12.5px;line-height:1.4}

/* Feature list beside mockups */
.points{list-style:none;padding:0;margin:36px 0 0;display:grid;gap:22px}
.points li{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start}
.points .n{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-family:var(--sans);font-weight:800;background:var(--clay);color:var(--ink);font-size:15px}
.points strong{font-family:var(--sans);font-size:19px;display:block;line-height:1.2}
.points span{font-size:15.5px}
.dark .points span,.dark-2 .points span{color:var(--text-dark)}
.light .points span,.paper .points span{color:var(--text-light)}

/* Live call banner stat */
.big-stat{display:flex;gap:clamp(24px,4vw,56px);margin-top:40px;flex-wrap:wrap}
.big-stat div b{display:block;font-family:var(--sans);font-weight:800;font-size:clamp(44px,5vw,64px);line-height:1;letter-spacing:-.03em}
.big-stat div span{font-size:14px;color:var(--text-light)}

/* Coaches */
.coach-head{display:flex;justify-content:space-between;align-items:end;gap:32px;flex-wrap:wrap;margin-bottom:56px}
.coaches{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.coach{position:relative;border-radius:22px;overflow:hidden;background:var(--ink-3);aspect-ratio:3/4.4;display:flex;flex-direction:column;justify-content:flex-end}
.coach img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:contrast(1.06) brightness(.92);transition:transform .6s}
.coach:hover img{transform:scale(1.03)}
.coach::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(13,12,11,.96) 88%)}
.coach .body{position:relative;z-index:1;padding:26px 26px 30px}
.coach .name{font-family:var(--sans);font-weight:600;font-size:16px;opacity:.9}
.coach .focus{font-family:var(--sans);font-weight:800;font-size:clamp(30px,3vw,42px);letter-spacing:-.02em;text-transform:uppercase;line-height:1;margin:6px 0 10px}
.coach p{margin:0;font-size:15px;color:var(--text-dark)}
.coach .badge{position:absolute;top:18px;left:18px;z-index:1;font-family:var(--sans);font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:rgba(13,12,11,.7);border:1px solid var(--line-dark);padding:6px 10px;border-radius:999px}
.fine-dark{font-size:13px;color:var(--text-dark);margin-top:22px}

/* Plans */
.plans{display:grid;grid-template-columns:1fr 1.15fr;gap:20px;max-width:1000px;margin:56px auto 0;text-align:left}
.plan{border-radius:26px;padding:clamp(28px,3.5vw,44px);background:#fff;border:1px solid var(--line-light);display:flex;flex-direction:column}
.plan.featured{background:var(--ink);color:var(--ivory);border-color:var(--ink)}
.plan .tag{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--clay-deep)}
.plan.featured .tag{color:var(--clay)}
.plan h3{font-size:30px;margin-top:10px}
.price{font-family:var(--sans);font-weight:800;font-size:60px;letter-spacing:-.03em;line-height:1;margin:22px 0 4px}
.price small{font-size:17px;font-weight:600;letter-spacing:0;opacity:.7}
.plan ul{list-style:none;padding:0;margin:22px 0 30px;display:grid;gap:12px;font-size:15.5px}
.plan li{padding-left:28px;position:relative}
.plan li::before{content:"";position:absolute;left:0;top:7px;width:14px;height:8px;border-left:2.5px solid var(--clay-deep);border-bottom:2.5px solid var(--clay-deep);transform:rotate(-45deg)}
.plan.featured li::before{border-color:var(--clay)}
.plan li.hi{font-weight:700}
.plan .btn{margin-top:auto}
.plan:not(.featured) .btn{background:var(--ink);color:var(--ivory)}
.fine{font-size:13px;color:var(--text-light);margin-top:26px;text-align:center}

/* Closing */
.closing{text-align:center;overflow:hidden}
.closing .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%;filter:brightness(.55)}
.closing .wrap{position:relative}
.closing .lede{margin-left:auto;margin-right:auto;color:#D8D2C6}

/* Footer */
.footer{background:var(--ink);border-top:1px solid var(--line-dark);padding:64px 0 40px;font-size:14px;color:var(--text-dark)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}
.footer h4{font-family:var(--sans);color:var(--ivory);font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px}
.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.footer a{text-decoration:none}
.footer img{width:132px;margin-bottom:14px}
.footer .safety{margin-top:40px;font-size:12.5px;max-width:80ch}

/* Reveal */
.reveal-ready .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal-ready .reveal.in{opacity:1;transform:none}

/* Responsive */
@media (max-width:980px){
  .split,.hero .split{grid-template-columns:1fr}
  .split.flip > :first-child{order:0}
  .coaches{grid-template-columns:1fr 1fr}
  .plans{grid-template-columns:1fr}
  .chip.c1{left:0}
  .chip.c2{right:0}
}
@media (max-width:820px){
  .nav-links{display:none;position:absolute;top:76px;left:0;right:0;flex-direction:column;gap:0;background:var(--ink);border-bottom:1px solid var(--line-dark);padding:8px var(--gutter) 20px}
  .nav-links a{padding:14px 0;border-bottom:1px solid var(--line-dark)}
  .site-header.open .nav-links{display:flex}
  .nav-cta .signin,.nav-cta .btn{display:none}
  .menu-toggle{display:inline-block}
  .mobile-only{display:block}
  .nav-links .btn.mobile-only{display:inline-flex;margin-top:16px;border-bottom:0}
}
@media (max-width:620px){
  body{font-size:16px}
  .coaches{grid-template-columns:1fr}
  .coach{aspect-ratio:4/4.6}
  .chip{display:none}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-grid > :first-child{grid-column:1/-1}
  .big-stat div b{font-size:44px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Logo 1: white swoosh S + wide caps */
.logo{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:#fff}
.logo .s{width:22px;height:28px;background:currentColor;-webkit-mask:url(assets/mark-white.png) center/contain no-repeat;mask:url(assets/mark-white.png) center/contain no-repeat}
.logo .w{font-family:var(--sans);font-weight:800;font-stretch:125%;font-size:19px;letter-spacing:.07em}

/* Full-photo hero */
.photo-hero{position:relative;min-height:min(760px,88vh);display:flex;align-items:center;padding:clamp(80px,10vw,120px) 0;overflow:hidden}
.photo-hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 30%}
.photo-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,11,12,.92) 0%,rgba(11,11,12,.7) 34%,rgba(11,11,12,0) 64%)}
.photo-hero .wrap{position:relative;z-index:1;width:100%}
.photo-hero .copy{max-width:620px}
.photo-hero h1{text-transform:uppercase;font-stretch:112%;font-size:clamp(44px,6.6vw,92px);line-height:.92}
.photo-hero .lede{color:#D2D2D4}

/* Two phones side by side */
.duo{position:relative;display:flex;justify-content:center;align-items:flex-end;gap:0}
.duo .phone{width:min(290px,62vw)}
.duo .phone + .phone{margin-left:-24px;margin-bottom:-40px;transform:rotate(4deg)}
.duo .phone:first-child{transform:rotate(-3deg)}
.split > *{min-width:0}
.points li > div{min-width:0}

/* Full-bleed photo band */
.band{position:relative;padding:0;min-height:min(640px,70vh);display:flex;align-items:flex-end;overflow:hidden}
.band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.band::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,11,12,.9) 0%,rgba(11,11,12,.25) 45%,transparent 70%)}
.band .wrap{position:relative;z-index:1;width:100%;padding-block:clamp(48px,7vw,88px)}
.band h2{max-width:14ch}

/* Plan card photo */
.plan .pic{border-radius:16px;overflow:hidden;aspect-ratio:16/10;margin:-6px -6px 20px}
.plan .pic img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}

@media (max-width:980px){
  .photo-hero{min-height:0;align-items:flex-end;padding-top:min(78vw,520px)}
  .photo-hero .bg{object-position:78% 20%;height:min(100vw,640px)}
  .photo-hero::after{background:linear-gradient(0deg,var(--ink) 38%,rgba(11,11,12,.55) 60%,rgba(11,11,12,0) 80%)}
}
@media (max-width:620px){
  .duo .phone{width:min(320px,82vw)}
  .duo .phone:first-child{transform:none}
  .duo .phone + .phone{display:none}
  .logo .w{font-size:16px}
}
