/* NextReady Studio, Phase 2 (September 2026): dates, registration, booking, follow-through */
.nr-strip{padding:44px 0;background:var(--paper);border-bottom:1px solid var(--line)}
.nr-strip-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px 24px;flex-wrap:wrap;margin-bottom:20px}
.nr-strip-head h2{font-size:clamp(22px,2.4vw,28px);margin:0}
.nr-strip-head a{font-weight:600;color:var(--rule)}
.nr-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.nr-sess{display:flex;flex-direction:column;gap:6px;background:var(--stock);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px 20px}
.nr-when{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--rule);margin:0}
.nr-sess h3{font-size:19px;line-height:1.25;margin:0}
.nr-meta{font-size:14px;color:var(--ink-soft);margin:0}
.nr-sess .btn-primary{margin-top:10px;align-self:flex-start;padding:11px 20px;font-size:14px}
.nr-fallback{color:var(--ink-soft);margin:0}

/* dates page */
.nr-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.nr-chip{font:600 13px/1 var(--body);padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer}
.nr-chip[aria-pressed="true"]{background:var(--rule);border-color:var(--rule);color:var(--paper)}
.nr-chip:focus-visible,.nr-choice input:focus-visible+span{outline:2px solid var(--rule);outline-offset:2px}
.nr-month{font-family:var(--mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--rule);margin:36px 0 10px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.nr-row{display:grid;grid-template-columns:86px 1fr auto;gap:20px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.nr-day{text-align:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:8px 4px}
.nr-day b{display:block;font-family:var(--display);font-size:28px;line-height:1.05;color:var(--ink)}
.nr-day span{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.nr-row h3{font-size:19px;line-height:1.25;margin:0 0 4px}
.nr-row h3 a{color:var(--ink);text-decoration:none}
.nr-row h3 a:hover{text-decoration:underline}
.nr-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.nr-actions .btn-primary{padding:11px 22px;font-size:14px}
.nr-cal{font-size:13px;color:var(--rule);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;font-family:var(--body)}
.nr-status{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--margin)}
.nr-note{font-size:14px;color:var(--ink-soft);max-width:62ch}
.nr-showing{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:-12px 0 20px;font-size:14px;color:var(--ink-soft)}
.nr-side{display:grid;gap:16px;align-content:start}
.nr-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px 22px 24px}
.nr-card h3{font-size:20px;line-height:1.25;margin:0 0 8px}
.nr-card p{font-size:15px;color:var(--ink-soft);margin:0 0 12px}
.nr-card .btn-primary,.nr-card .btn-ghost{padding:11px 20px;font-size:14px}
.nr-dates-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start}

/* chooser */
.nr-chooser{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.nr-chooser h2{font-size:clamp(22px,2.4vw,28px);margin:0 0 6px}
.nr-chooser fieldset{border:0;padding:0;margin:22px 0 0}
.nr-chooser legend{font-weight:600;margin-bottom:10px;font-size:16px}
.nr-choices{display:flex;flex-wrap:wrap;gap:8px}
.nr-choice{position:relative}
.nr-choice input{position:absolute;opacity:0;width:1px;height:1px}
.nr-choice span{display:inline-block;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:var(--stock);font-size:14px;cursor:pointer}
.nr-choice input:checked+span{background:var(--rule);border-color:var(--rule);color:var(--paper)}
.nr-result{margin-top:24px;padding-top:20px;border-top:1px dashed var(--line)}
.nr-result[hidden]{display:none}
.nr-result h3{font-size:22px;margin:4px 0 8px}
.nr-result .nr-next-line{margin:12px 0 16px;font-size:15px}

/* register + confirmation */
.nr-summary{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--margin);border-radius:var(--radius);padding:20px 22px;margin-bottom:28px}
.nr-summary h2{font-size:22px;line-height:1.25;margin:4px 0 6px}
.nr-summary p{margin:0;color:var(--ink-soft);font-size:15px}
.nr-summary .nr-price{margin-top:8px;color:var(--ink);font-weight:600}
.nr-form{display:grid;gap:16px;max-width:620px}
.nr-form .nr-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.nr-form label.nr-lbl{display:block;font-weight:600;font-size:14px;margin-bottom:6px}
.nr-form .nr-opt{font-weight:400;color:var(--ink-faint)}
.nr-form input[type=text],.nr-form input[type=email],.nr-form input[type=tel],.nr-form select,.nr-form textarea{width:100%;padding:.75rem .85rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);font-family:var(--body);font-size:1rem;color:var(--ink)}
.nr-form textarea{min-height:6rem;resize:vertical}
.nr-check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink-soft)}
.nr-check input{margin-top:4px;flex-shrink:0;width:18px;height:18px}
.nr-form details{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:12px 14px}
.nr-form summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--rule)}
.nr-form details[open] summary{margin-bottom:10px}
.nr-form button[type=submit]{justify-self:start}
.nr-fine{font-size:13px;color:var(--ink-faint);margin:0}
.nr-steps{display:grid;gap:20px;margin-top:8px}
.nr-step{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.nr-step>span{font-family:var(--display);font-size:30px;line-height:1;color:var(--margin)}
.nr-step h3{font-size:19px;margin:0 0 6px}
.nr-step p{margin:0 0 10px;color:var(--ink-soft);font-size:15px}
.nr-step p:last-child{margin-bottom:0}
.nr-count{font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--margin);margin:0 0 6px}
.nr-links{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}
.nr-caption{background:var(--stock);border:1px dashed var(--line);border-radius:var(--radius);padding:12px 14px;font-size:14px;color:var(--ink);margin:8px 0 10px}
.nr-copy{font:600 13px var(--body);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:8px 14px;cursor:pointer;color:var(--ink)}

/* follow band + wins */
.nr-follow{background:var(--stock-alt);border-top:1px solid var(--line);padding:52px 0}
.nr-follow .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}
.nr-follow h2{font-size:clamp(24px,2.6vw,32px);margin:0 0 10px}
.nr-follow p{color:var(--ink-soft);margin:0;max-width:52ch}
.nr-handles{display:grid;gap:12px}
.nr-handle{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;text-decoration:none;color:var(--ink)}
.nr-handle b{font-family:var(--display);font-size:18px}
.nr-handle span{font-size:13px;color:var(--ink-soft)}
.nr-handle:hover{border-color:var(--rule)}
.nr-wins-band[hidden]{display:none}
.nr-wins{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.nr-win{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin:0}
.nr-win blockquote{margin:0 0 10px;font-size:16px;line-height:1.55}
.nr-win figcaption{font-size:13px;color:var(--ink-soft)}

/* workshop next date */
.nr-next{margin-top:18px;padding-top:16px;border-top:1px dashed var(--line)}
.nr-next p{margin:0 0 10px;font-size:15px}
.nr-next .nr-more{display:inline-block;margin-top:8px;font-size:14px;color:var(--rule)}

/* booking embed */
.nr-embed{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);overflow:hidden}
.nr-embed .calendly-inline-widget{min-width:300px;height:720px}
.nr-embed-fallback{font-size:14px;color:var(--ink-soft);margin-top:10px}

/* cross-brand */
.nr-built{margin-top:28px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);font-size:15px;color:var(--ink-soft)}
.nr-built a{color:var(--rule);font-weight:600}
.nr-share{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin:0 0 20px;font-size:14px}
.nr-share a{color:var(--rule)}

/* practice card */
.nr-pc{max-width:760px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:32px}
.nr-pc h2{font-size:24px;margin:0 0 6px}
.nr-pc-line{border-bottom:1px solid var(--line);height:34px;margin-bottom:6px}
.nr-pc-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:14px 0 22px}
.nr-pc-days div{border:1px solid var(--line);border-radius:4px;height:64px;padding:6px;font-family:var(--mono);font-size:11px;color:var(--ink-soft)}
.nr-pc-days div.nr-mark{border-color:var(--margin);border-width:2px}
.nr-pc-q{margin:18px 0 6px;font-weight:600}

@media(max-width:900px){.nr-dates-layout{grid-template-columns:1fr}.nr-side{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.nr-grid3,.nr-wins{grid-template-columns:1fr}.nr-follow .wrap{grid-template-columns:1fr;gap:24px}}
@media(max-width:620px){.nr-row{grid-template-columns:64px 1fr;gap:14px}.nr-actions{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center}.nr-day b{font-size:22px}.nr-form .nr-two{grid-template-columns:1fr}.nr-side{grid-template-columns:1fr}.nr-pc{padding:20px}.nr-pc-days{grid-template-columns:repeat(4,1fr)}.nr-embed .calendly-inline-widget{height:1000px}}
@media print{.announce,.nav,footer,.nr-noprint,.gmw-family{display:none !important}body{background:#fff}.nr-pc{border:0;padding:0}.section{padding:0 !important}}

.nr-more{margin-top:24px}
.pagehead .nr-note{margin-top:14px}

.gmw-family{border-top:1px solid rgba(255,255,255,.14);padding:14px 24px 18px;text-align:center;font-size:13px;line-height:1.6;letter-spacing:.01em}
.gmw-family p{margin:0;opacity:.88}
.gmw-family a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.gmw-family [aria-current]{font-weight:600}

.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
footer .gmw-family{margin-top:8px}
