/* Pulse: HIIT and group training. Cobalt and highlighter yellow, chunky type, thick outlines, hard shadows, stickers. */
.coach-site.pulse{
  --cs-bg:#ffffff;--cs-alt:#eef0ff;--cs-ink:#0d0f1a;--cs-soft:#464a5e;--cs-line:#0d0f1a;--cs-card:#ffffff;
  --cs-head:'Bricolage Grotesque',sans-serif;--cs-body:'Plus Jakarta Sans',sans-serif;--cs-head-weight:800;--cs-head-track:-0.04em;--cs-head-case:none;
  --cs-radius:18px;--cs-photo-radius:22px;--cs-button-radius:12px;--cs-photo-pos:46% 50%;
  --pu-pop:#ffe14d;--pu-border:2px solid var(--cs-ink);--pu-shadow:6px 6px 0 var(--cs-ink);--cs-shadow:var(--pu-shadow)
}
.coach-site.pulse.custom-palette{--pu-pop:color-mix(in srgb,var(--coach-accent) 24%,var(--design-bg))}
.pulse h1{font-size:clamp(46px,6.6vw,96px);line-height:.94}
.pulse h2{font-size:clamp(36px,4.4vw,60px);line-height:1}
.pulse .cs-kicker{width:fit-content;padding:6px 15px;border:var(--pu-border);border-radius:999px;background:var(--pu-pop);color:var(--cs-ink);font-size:13.5px;font-weight:700;transform:rotate(-2deg)}
.pulse .cs-button{border:var(--pu-border);box-shadow:4px 4px 0 var(--cs-ink);font-weight:700;transition:transform .15s,box-shadow .15s}
.pulse .cs-button:hover{filter:none;transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--cs-ink)}
.pulse .cs-button:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--cs-ink)}
.pulse .cs-button:disabled{transform:none;box-shadow:4px 4px 0 var(--cs-ink)}
.pulse .cs-link{text-decoration-color:var(--pu-pop);text-decoration-thickness:6px;text-underline-offset:-1px;text-decoration-skip-ink:none}

.pulse .cs-header{top:10px;background:none;border-bottom:0;backdrop-filter:none}
.pulse .cs-header-inner{margin-top:10px;padding:0 12px 0 18px;min-height:68px;border:var(--pu-border);border-radius:18px;background:var(--cs-card);box-shadow:4px 4px 0 var(--cs-ink)}
.pulse .cs-brand{font-weight:800;font-size:22px}
.pulse .cs-brand-mark{border:var(--pu-border);background:var(--pu-pop);color:var(--cs-ink);transform:rotate(-6deg)}
.pulse .cs-nav a{color:var(--cs-ink);font-weight:600}

/* Hero: tilted photo frame on a yellow block, a sticker with the coach's top credential */
.pu-hero{padding:56px 0 64px;overflow:hidden}
.pu-hero+.cs-marquee+.cs-section,.pu-hero+.cs-marquee+section{margin-top:40px}
.pu-hero-media{position:relative;isolation:isolate;padding:18px 18px 18px 0}
.pu-hero-media::before{content:"";position:absolute;z-index:-1;inset:0 -40px 46px 54px;border:var(--pu-border);border-radius:30px;background:var(--pu-pop);transform:rotate(3deg)}
.pu-frame{border:var(--pu-border);border-radius:var(--cs-photo-radius);overflow:hidden;box-shadow:var(--pu-shadow);transform:rotate(-2deg);background:var(--cs-card)}
.pu-frame img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:var(--cs-photo-pos)}
.pu-frame .cs-monogram{border-radius:0}
.pu-sticker{position:absolute;left:-18px;bottom:42px;max-width:230px;padding:15px 19px;border:var(--pu-border);border-radius:16px;background:var(--coach-accent);color:var(--design-button-ink);box-shadow:4px 4px 0 var(--cs-ink);font-size:15px;font-weight:700;line-height:1.35;transform:rotate(-5deg)}

/* A loud ticker band under the hero */
.coach-site.pulse #main{overflow-x:clip}
.pu-marquee{padding:16px 0;border-block:var(--pu-border);background:var(--pu-pop);transform:rotate(-1.2deg);margin:0 -20px}
.pu-marquee span{font:800 28px/1 var(--cs-head);letter-spacing:-0.02em;color:var(--cs-ink)}
.pu-marquee span::after{content:"\2731";margin:0 28px;color:var(--coach-accent)}

/* Offers: colour-blocked headers */
.pu-offer{display:flex;flex-direction:column;border:var(--pu-border);border-radius:var(--cs-radius);background:var(--cs-card);box-shadow:var(--pu-shadow);overflow:hidden}
.pu-offer header{padding:26px 28px;border-bottom:var(--pu-border);background:var(--coach-accent);color:var(--design-button-ink)}
.pu-offer:nth-child(3n+2) header{background:var(--pu-pop);color:var(--cs-ink)}
.pu-offer:nth-child(3n+3) header{background:var(--cs-ink);color:var(--cs-bg)}
.pu-offer header>p:first-child{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.85}
.pu-offer h3{font-size:28px;margin:6px 0 0}
.pu-offer .cs-price{margin:18px 0 0;font-size:46px;color:inherit}
.pu-offer .cs-price span{color:inherit;opacity:.8}
.pu-offer-body{display:flex;flex-direction:column;flex:1;padding:26px 28px 30px}
.pu-offer .cs-includes{margin:18px 0 28px;font-size:15.5px}
.pu-offer .cs-button{margin-top:auto}

/* Stories: tilted cards */
.pu-stories{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:30px}
.pu-story{margin:0;padding:30px;border:var(--pu-border);border-radius:22px;background:var(--cs-card);box-shadow:var(--pu-shadow);display:flex;flex-direction:column;gap:20px;transform:rotate(-1deg)}
.pu-story:nth-child(even){transform:rotate(1.2deg);background:var(--cs-alt)}
.pu-story:nth-child(3n){background:var(--pu-pop)}
.pu-story blockquote{margin:0;font-size:18px;font-weight:600;line-height:1.5}
.pu-story figcaption{margin-top:auto;font:800 17px/1.2 var(--cs-head)}

.pulse .cs-step,.pulse .cs-form,.pulse .cs-quals{border:var(--pu-border);box-shadow:var(--pu-shadow)}
.pulse .cs-step-num{border:var(--pu-border);background:var(--pu-pop);color:var(--cs-ink)}
.pulse .cs-faq-list details,.pulse .cs-faq-list details:first-child{margin-bottom:12px;padding:0 22px;border:var(--pu-border);border-radius:14px;background:var(--cs-card)}
.pulse .cs-faq-list details[open]{background:var(--cs-alt)}
.pulse .cs-faq-list summary::after{color:var(--cs-ink);font-weight:700}
.pulse .cs-form input,.pulse .cs-form textarea{border-width:2px}
.pulse .cs-footer{border-top:var(--pu-border)}

/* About as one big yellow card, footer on yellow */
.pulse .cs-about-inner{padding:clamp(28px,5vw,60px);border:var(--pu-border);border-radius:28px;background:var(--pu-pop);box-shadow:var(--pu-shadow)}
.pulse .cs-about .cs-kicker{background:var(--cs-card)}
.pulse .cs-about-body>p{color:var(--cs-ink)}
.pulse .cs-footer{background:var(--pu-pop)}
.pulse .cs-footer-brand p,.pulse .cs-footer-nav a,.pulse .cs-footer-legal{color:var(--cs-ink)}

@media (max-width:960px){
  .pu-hero{padding-bottom:72px}
  .pu-hero-media{max-width:480px;margin-inline:auto}
  .pu-frame img{aspect-ratio:4/4.4}
}
@media (max-width:600px){
  .pu-hero-media::before{inset:0 -14px 36px 30px}
  .pu-sticker{left:-6px;bottom:28px;max-width:200px;font-size:14px}
}
