/* GrooveRX page styles (grx-*). Shared brand system lives in psychboss-brand.css */
/* GrooveRX page extras (shared styles live in psychboss-brand.css) */
.grx-h1{font-size:clamp(40px,5.2vw,70px)}
.grx-sub{margin:0;font-size:18px;line-height:1.45;font-weight:600;color:var(--pb-teal-text)}
.grx-presented{margin:0;font-size:13px;line-height:1.6;color:var(--pb-body)}
.grx-presented strong{color:var(--pb-ink);font-weight:600}
.grx-logo-chip{position:absolute;z-index:3;left:-22px;top:18%;background:#fff;border-radius:14px;padding:12px 16px;box-shadow:0 18px 36px -20px rgba(0,0,0,.35)}
.grx-logo-chip img{height:60px;width:auto}
@media (max-width:900px){.grx-logo-chip{left:12px;top:12px}.grx-logo-chip img{height:46px}}
.grx-hero .pb-photo img{object-position:center 30%}
.grx-title-xl{margin:0;font-family:var(--pb-display);font-weight:500;font-size:clamp(64px,9vw,128px);line-height:.95;letter-spacing:-.03em;color:var(--pb-ink)}
.grx-q{margin:0;font-family:var(--pb-display);font-weight:400;font-size:clamp(26px,2.8vw,36px);line-height:1.2;color:var(--pb-ink)}
.grx-hero .pb-frame{max-width:460px;justify-self:end;width:100%}
.grx-hero{padding-block:clamp(56px,7vw,104px) clamp(80px,9vw,128px)}
.grx-hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:center}
@media (max-width:900px){.grx-hero-grid{grid-template-columns:1fr}}
.grx-essentials{margin:0;font-size:15px;font-weight:700;letter-spacing:.04em;color:var(--pb-ink);padding:14px 0;border-top:1px solid var(--pb-rule);border-bottom:1px solid var(--pb-rule)}
.grx-hero-media{position:relative;isolation:isolate;max-width:420px;width:100%;justify-self:end}
.grx-hero-media::before{content:"";position:absolute;z-index:0;left:-16%;bottom:-8%;width:70%;height:60%;background:var(--pb-teal)}
.grx-hero-media::after{content:"";position:absolute;z-index:0;right:-9%;top:-6%;width:44%;aspect-ratio:1;border-radius:50%;background:var(--pb-aqua)}
.grx-hero-media .pb-photo img{object-position:center 30%}
.grx-namecard{position:absolute;z-index:3;left:-18%;bottom:-7%;background:var(--pb-blush);color:var(--pb-ink);padding:16px 22px;box-shadow:0 20px 40px -24px rgba(60,50,40,.45)}
.grx-namecard strong{display:block;font-family:var(--pb-display);font-weight:500;font-size:21px;line-height:1.2}
.grx-namecard span{display:block;font-size:13px;font-weight:600;margin-top:2px}
.grx-note{position:absolute;z-index:4;top:auto;bottom:10%;right:-10%;width:min(170px,46%);margin:0;padding:18px 16px 14px;background:var(--pb-ivory);transform:rotate(4deg);box-shadow:0 14px 28px -16px rgba(60,50,40,.5)}
.grx-note::before{content:"";position:absolute;top:-11px;left:50%;width:80px;height:22px;transform:translateX(-50%) rotate(-5deg);background:rgba(184,219,221,.85)}
.grx-note b{display:block;font-family:var(--pb-display);font-style:italic;font-weight:600;font-size:34px;line-height:1;color:var(--pb-teal-dark)}
.grx-note span{display:block;margin-top:8px;font-family:var(--pb-display);font-style:italic;font-weight:500;font-size:16px;line-height:1.4;color:var(--pb-teal-dark)}
@media (max-width:900px){.grx-hero-media{justify-self:stretch;max-width:none}.grx-hero-media::before{left:-4%}.grx-hero-media::after{right:-4%}.grx-note{right:8px;top:auto;bottom:12%}.grx-namecard{left:16px;bottom:-24px}}
.grx-statement{padding-block:clamp(72px,9vw,120px)}
.grx-statement-h{margin:0 auto;max-width:980px;text-align:center;font-family:var(--pb-display);font-weight:300;font-size:clamp(36px,5vw,68px);line-height:1.1;letter-spacing:-.02em;color:var(--pb-ink);text-wrap:balance}
.grx-hero-title{margin:0;font-family:var(--pb-display);font-weight:600;font-size:clamp(36px,4.6vw,62px);line-height:1.08;letter-spacing:-.015em;color:var(--pb-ink);text-wrap:balance}
.grx-hero-title em{font-style:italic;font-weight:500;color:var(--pb-teal-text)}
.grx-quick{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;padding:20px 22px;background:#fff;border-radius:var(--pb-radius);border-left:5px solid var(--pb-teal)}
.grx-quick p{margin:0;font-size:15px;font-weight:700;color:var(--pb-ink)}
.grx-logo-card{display:inline-block;background:#fff;padding:12px 16px;border-radius:12px;border:1px solid var(--pb-border);align-self:flex-start}
.grx-logo-card img{display:block;height:64px;width:auto;opacity:1;filter:none}
.grx-edu-photo2{margin-top:20px;aspect-ratio:1/1;max-width:300px;border-radius:12px var(--pb-arch) 12px 12px}
.grx-exp-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.grx-exp-list li{display:flex;gap:14px;font-size:16px;line-height:1.6;color:var(--pb-ink)}
.grx-exp-list li::before{content:"";flex:none;width:9px;height:9px;margin-top:8px;border-radius:50%;background:var(--pb-teal-dark)}
}
/* experiential */
.grx-callout{margin:0;padding-top:18px;border-top:1px solid rgba(37,37,36,.18);font-size:15px;line-height:1.6;color:var(--pb-ink)}
/* testimonials */
.grx-quotes{display:flex;flex-direction:column;gap:48px}
.grx-quotes figure{margin:0;display:flex;flex-direction:column;gap:20px;padding-top:28px;border-top:1px solid var(--pb-ink)}
.grx-quotes figure:first-child .pb-quote{font-size:clamp(19px,1.8vw,23px)}
/* agenda */
.grx-agenda{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:24px;margin-top:44px;align-items:stretch}
@media (max-width:900px){.grx-agenda{grid-template-columns:1fr}}
.grx-ce-block{border-top:4px solid var(--pb-teal-dark);display:flex;flex-direction:column;gap:18px}
.grx-opt-block{border:1.5px dashed #b9ada0;border-radius:var(--pb-radius);padding:clamp(24px,3vw,36px);display:flex;flex-direction:column;gap:16px}
.grx-opt-block p{margin:0;font-size:15px;line-height:1.7;color:var(--pb-body)}
.grx-tag{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:6px 10px;border-radius:2px}
.grx-tag--ce{background:var(--pb-teal-dark);color:#fff}
.grx-tag--opt{border:1px solid #b9ada0;color:var(--pb-body)}
.grx-agenda-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.grx-agenda-head h3{margin:0;font-family:var(--pb-display);font-weight:400;font-size:26px}
.grx-agenda-time{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--pb-teal-text)}
.grx-steps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:0 28px}
.grx-steps li{counter-increment:s;display:grid;grid-template-columns:32px 1fr;gap:8px;padding:11px 0;border-bottom:1px solid var(--pb-rule);font-size:15px;line-height:1.5}
.grx-steps li::before{content:counter(s,decimal-leading-zero);font-size:13px;font-weight:700;color:var(--pb-teal-text);padding-top:1px}
.grx-min{display:block;font-size:13px;color:var(--pb-body)}
.grx-credit{margin:0;font-size:15px;font-weight:600}
/* educator */
.grx-edu .pb-photo img{object-position:center 30%}
.grx-edu-name{margin:0;font-family:var(--pb-display);font-weight:400;font-size:clamp(28px,3vw,38px);line-height:1.15}
.grx-edu-role{margin:0;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;line-height:1.7;color:var(--pb-teal-text)}
.grx-creds{list-style:none;margin:0;padding:22px 0 0;border-top:1px solid var(--pb-rule);display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px 24px}
.grx-creds li{display:flex;gap:12px;font-size:15px}
.grx-creds li::before{content:"";flex:none;width:7px;height:7px;margin-top:8px;border-radius:50%;background:var(--pb-teal)}
.grx-owner{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.grx-name-logo{height:64px;width:auto;margin:6px 0 4px}
.grx-owner p{margin:0;max-width:340px;font-size:14px;line-height:1.55;color:var(--pb-body)}
/* CE */
.grx-ce{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:24px;margin-top:40px}
.grx-ce-hours{display:flex;gap:40px;flex-wrap:wrap;margin:0}
.grx-ce-hours div{display:flex;flex-direction:column}
.grx-ce-hours dt{order:2;font-size:14px;color:var(--pb-body)}
.grx-ce-hours dd{order:1;margin:0;font-family:var(--pb-display);font-weight:300;font-size:56px;line-height:1}
.grx-ce-status{margin:12px 0 0;font-size:14px;font-weight:600;color:var(--pb-teal-text)}
.grx-ce ul{margin:12px 0 0;padding-left:20px;font-size:15px;line-height:1.8;color:var(--pb-body)}
.grx-disclosure{margin-top:24px;padding:24px 28px;background:#fff;border-left:3px solid var(--pb-teal);font-size:15px;line-height:1.65;color:var(--pb-body)}
.grx-disclosure p{margin:0 0 8px}.grx-disclosure p:last-child{margin:0}.grx-disclosure strong{color:var(--pb-ink)}
/* register */
.grx-reg-head{text-align:center;max-width:700px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:16px}
.grx-dates{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px}
.grx-date{display:flex;flex-direction:column;gap:6px;transition:box-shadow .25s ease}
.grx-date:hover,.grx-date:focus-within{box-shadow:0 22px 44px -28px rgba(60,50,40,.4)}
.grx-date-day{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--pb-teal-text)}
.grx-date-date{margin:0;font-family:var(--pb-display);font-weight:400;font-size:28px;line-height:1.2}
.grx-date-time{margin:0;font-size:16px;font-weight:600}
.grx-date-where{margin:0 0 14px;font-size:14px;color:var(--pb-body)}
.grx-date-foot{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding-top:18px;border-top:1px solid var(--pb-rule)}
.grx-date-amt{margin:0;font-size:24px;font-weight:700}
.grx-date-foot .pb-btn{width:100%;padding:0 20px}
.grx-date-status{margin:0;font-size:14px;font-weight:600;color:var(--pb-teal-text)}
.grx-date[data-status="closed"],.grx-date[data-status="full"]{opacity:.7}
.grx-policy{max-width:780px;margin:40px auto 0;font-size:15px;line-height:1.7;color:var(--pb-body);text-align:center}
.grx-policy strong{color:var(--pb-ink)}
.grx-close{text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px}
