/* Shared public-page treatment, aligned with the quiet October homepage.
   Content, form state, submission endpoints and retired-service behaviour stay separate. */
:root{--paper:#F5F2EA;--bg:#F5F2EA;--ink:#1D241A;--green:#60A484;--quiet:#62695e;--muted:#62695e;--line:#1d241a26;--sans:'Helvetica Neue',Helvetica,Arial,sans-serif;--display:var(--sans);--shell:min(calc(100% - 96px),1040px)}
.stb-page{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
.stb-page :focus-visible{outline:2px solid var(--green);outline-offset:5px}
.stb-page ::selection{background:#60a48440}
.stb-page .brand{font-family:var(--sans);font-size:18px;font-weight:500;letter-spacing:-.04em}
.stb-page .brand svg,.stb-page .brand-mark{width:28px;height:28px;flex:none}
.stb-page .site-header{border:0}
.stb-page .header-main{min-height:88px;grid-template-rows:auto}
.stb-page .primary-nav{font-size:13px;font-weight:400;letter-spacing:0;text-transform:none;gap:28px}
.stb-page .primary-nav a{padding:12px 0;opacity:1;color:var(--quiet);transform:none}
.stb-page .primary-nav a:hover,.stb-page .primary-nav a[aria-current="page"]{color:#527b62;transform:none}
.stb-page .top-action{font-size:13px;font-weight:400;color:var(--quiet)}
.stb-page .top-action::before{display:none}
.stb-page .top-action:hover{color:#527b62}
.stb-page .hero,.stb-page .section{border:0;min-height:0;overflow:visible}
.stb-page .hero::before,.stb-page .cta-band::before,.stb-page .course-cta::after{display:none}
.stb-page .hero-grid{display:flex;flex-direction:column;align-items:flex-start;min-height:0;max-width:640px;padding:108px 0 100px;gap:36px}
.stb-page .eyebrow,.stb-page .section-label,.stb-page .course-kicker{position:static;opacity:1;font-family:var(--sans);font-size:14px;font-weight:400;line-height:1.5;letter-spacing:0;text-transform:none;color:var(--quiet)}
.stb-page .hero-copy h1,.stb-page .course-hero h1{font-family:var(--sans);font-size:clamp(36px,4.2vw,52px);font-weight:400;line-height:1.15;letter-spacing:-.04em;max-width:22ch;margin-top:32px;text-wrap:balance}
.stb-page .hero-copy h1 em,.stb-page .course-hero h1 em{font-family:inherit;font-style:normal;font-weight:inherit}
.stb-page .hero-intro{max-width:none;align-self:auto;padding:0;font-size:18px;line-height:1.85;color:#454e41}
.stb-page .hero-foot{width:100%;margin-top:12px;align-items:center;flex-wrap:wrap;font-size:13px;font-weight:400;line-height:1.6;letter-spacing:0;text-transform:none;color:var(--quiet)}
.stb-page .section-grid,.stb-page .pricing .section-grid{max-width:640px;display:block;padding:100px 0}
.stb-page .section-label{margin:0 0 36px}
.stb-page .content{max-width:640px}
.stb-page .content h2,.stb-page .cta-inner h2,.stb-page .course-cta h2{font-family:var(--sans);font-size:clamp(30px,3.8vw,44px);font-weight:400;line-height:1.18;letter-spacing:-.04em;max-width:24ch;text-wrap:balance}
.stb-page .content .lead{max-width:none;margin-top:36px;font-size:18px;line-height:1.85;color:#454e41}
.stb-page .prose{display:block;margin-top:28px}
.stb-page .prose>div+div{margin-top:28px}
.stb-page .single-prose{margin-top:28px;max-width:none}
.stb-page .prose p,.stb-page .single-prose p{font-size:18px;line-height:1.85;color:#454e41}
.stb-page .prose p+p,.stb-page .single-prose p+p{margin-top:28px}
.stb-page .content h3{font-family:var(--sans);font-size:21px;font-weight:400;line-height:1.4;letter-spacing:-.02em}
.stb-page .facts{border:0;background:none;gap:32px;margin-top:48px}
.stb-page .fact{min-height:0;border:0;background:none;padding:0}
.stb-page .fact .number{font-family:var(--sans);font-size:24px;color:var(--quiet)}
.stb-page .fact h3{margin-top:16px;font-size:18px;font-weight:400}
.stb-page .fact p{font-size:16px;line-height:1.8}
.stb-page .quote{border:0;padding:0;margin-top:64px}
.stb-page .quote blockquote{font-family:var(--sans);font-style:normal;font-size:26px;line-height:1.5;letter-spacing:-.02em}
.stb-page .quote cite{font-size:13px;font-weight:400;text-transform:none;letter-spacing:0;opacity:1;color:var(--quiet)}
.stb-page .portrait-row{display:block;margin-top:48px}
.stb-page .portrait{width:200px;aspect-ratio:4/5;border-radius:0;margin:0 0 36px}
.stb-page .cta-band,.stb-page .course-cta,.stb-page .footer{background:var(--paper);color:var(--ink);border:0}
.stb-page .cta-inner,.stb-page .course-cta-inner{display:block;min-height:0;max-width:640px;padding:100px 0;text-align:left}
.stb-page .cta-copy{max-width:none;margin-top:36px}
.stb-page .cta-copy p{color:#454e41;font-size:18px;line-height:1.85}
.stb-page .button,.stb-page .btn,.stb-page .invitation .button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 30px;border:1px solid #60a48429;border-radius:4px;background:linear-gradient(115deg,#60a48426,#eecd7821);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5;font-weight:400;letter-spacing:0;transform:none;transition:background-color .25s ease,border-color .25s ease}
.stb-page .button:hover,.stb-page .btn:hover{transform:none;background-color:#60a48417;border-color:#60a4844d}
.stb-page .footer-inner{min-height:120px;letter-spacing:0;text-transform:none;font-size:12px;color:var(--quiet);gap:24px}
.stb-page .footer a:hover{color:#527b62}
.stb-page .footer-links{gap:16px 24px}
.stb-page .text-link{font-size:14px;line-height:1.6}

/* Existing About draft is preserved; only its visual treatment changes. */
.stb-page .about-jump{max-width:640px;padding:0 0 36px;font-size:13px;gap:16px 24px}
.stb-page .about-items{display:block;margin-top:36px}
.stb-page .about-items article{border:0;padding:0;margin:0 0 48px}
.stb-page .about-items p,.stb-page .about-person p,.stb-page .about-list,.stb-page .about-lead{font-size:18px;line-height:1.85;color:#454e41}
.stb-page .about-story{border:0;padding:0;margin-top:40px}
.stb-page .about-person{display:block;margin-top:36px}
.stb-page .about-person img{width:180px;margin-bottom:32px}
.stb-page .about-facts th,.stb-page .about-facts td{border:0;padding:14px 0}
.stb-page .about-facts th{padding-right:24px}
.stb-page .about-facts caption{text-transform:none;letter-spacing:0;font-size:14px}
.stb-page .elsewhere{border:0}

/* Course keeps its artwork, waitlist and prices, at the quieter site scale. */
.stb-course .course-hero{min-height:0;border:0;overflow:visible}
.stb-course .course-hero::after{display:none}
.stb-course .course-hero>img{position:static;width:min(calc(100% - 96px),900px);height:auto;max-height:440px;aspect-ratio:2/1;object-fit:cover;margin:56px auto 0}
.stb-course .course-hero-grid{display:block;min-height:0;max-width:640px;padding:80px 0;color:var(--ink)}
.stb-course .course-intro{margin-top:36px}
.stb-course .course-lead{font-size:18px;line-height:1.85;color:#454e41}
.stb-course .course-meta{margin-top:48px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-size:13px;line-height:1.6;letter-spacing:0;text-transform:none;color:var(--quiet)}
.stb-course .course-meta strong{color:inherit;font-weight:400}
.stb-course main>.facts{width:var(--shell);max-width:640px;margin:0 auto 32px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px}
.stb-course main>.facts .fact:nth-child(n){grid-column:auto;border:0;padding:0;min-height:0}
.stb-course .fact-label{font-size:13px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--quiet)}
.stb-course .fact-value{font-family:var(--sans);font-size:22px;line-height:1.5;margin-top:8px}
.stb-course .split{display:flex;flex-direction:column;width:var(--shell);max-width:640px;margin:auto}
.stb-course .split-copy{padding:100px 0 48px}
.stb-course .split-image{min-height:0;width:240px;height:320px;margin:0 auto 60px}
.stb-course .split-image img{height:100%;object-fit:cover}
.stb-course .image-band{width:var(--shell);max-width:900px;height:320px;margin:40px auto 60px}
.stb-course .weeks{margin-top:40px}
.stb-course .week{border:0;padding:24px 0;gap:16px 24px;grid-template-columns:28px 1fr}
.stb-course .week p{grid-column:2;font-size:16px;line-height:1.8}
.stb-course .week-number{font-size:13px;color:var(--quiet)}
.stb-course .testimonials,.stb-course .pricing{background:none}
.stb-course .testimonial-grid{display:block;border:0;background:none;margin-top:48px}
.stb-course .testimonial{min-height:0;padding:0;margin-bottom:48px;background:none;gap:20px}
.stb-course .testimonial blockquote{font-family:var(--sans);font-style:normal;font-size:25px;line-height:1.5}
.stb-course .testimonial figcaption{font-size:13px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--quiet);opacity:1}
.stb-course .price-grid{border:0;background:none;gap:24px;margin-top:40px}
.stb-course .price-card{min-height:0;align-content:start;border:0;padding:24px;gap:24px;background:#1d241a04;border-radius:4px}
.stb-course .price-card-standard{background:linear-gradient(115deg,#60a48426,#eecd7821)}
.stb-course .price-heading h3{font-size:22px}
.stb-course .price-heading span{font-size:16px;font-weight:400;letter-spacing:0}
.stb-course .price-card p,.stb-course .price-note{font-size:16px;line-height:1.8}
.stb-course .price-note{border:0;padding:0;margin-top:32px}

/* Forms retain every step, validation and permission choice. */
.stb-form .topbar{width:var(--shell);height:80px;background:var(--paper)}
.stb-form .close{font-size:13px;letter-spacing:0;min-height:44px}
.stb-form .inner,.stb-form .thanks .inner{max-width:640px}
.stb-form .screen{padding:104px max(28px,calc((100vw - 640px)/2)) 88px;overflow-y:auto;align-items:safe center}
.stb-form .question{gap:24px}
.stb-form h1,.stb-form h2{font-size:clamp(30px,3.8vw,44px);font-weight:400;letter-spacing:-.04em;line-height:1.18;max-width:24ch}
.stb-form .step{font-size:13px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--quiet)}
.stb-form .sub{font-size:17px;line-height:1.8;color:#454e41}
.stb-form .small{font-size:13px;line-height:1.7}
.stb-form input[type="text"],.stb-form input[type="email"],.stb-form textarea{font-size:18px;line-height:1.6;border-bottom-width:1px}
.stb-form .choices{border:0;gap:12px}
.stb-form .choice{border:1px solid var(--line);border-radius:4px;padding:16px;min-height:56px}
.stb-form .choice span,.stb-form .choice-copy strong{font-weight:400}
.stb-form .choice:has(input:checked){box-shadow:inset 0 0 0 1px var(--green)}
.stb-form .thanks .inner{display:block}
.stb-form .ring-large{display:none}
.stb-form .arrival{border:0;margin-top:36px}
.stb-form .progress{height:2px;background:var(--green)}
.stb-form .nav button{border-radius:4px}

.stb-listening .listening-header{padding:28px 0}
.stb-listening main{padding:48px 28px 80px}
.stb-listening h1{font-family:var(--sans);font-size:40px;line-height:1.18}
.stb-listening h1 em{font-family:inherit;font-style:normal}
.stb-listening .cover{margin-bottom:36px}
.stb-listening .invitation{border:0;margin-top:40px;padding-top:0}
.stb-listening .invitation .button{margin-top:20px}

/* Closure and error pages are useful destinations, not resurrected services. */
.stb-retired>header,.stb-error>header{width:var(--shell);position:static;transform:none;min-height:80px;height:auto;margin:auto;gap:24px}
.stb-retired>header>a:last-child,.stb-error .home-link{font-size:13px;font-weight:400;border:0;color:var(--quiet);line-height:1.5}
.stb-retired main,.stb-error main{width:min(calc(100% - 56px),640px);min-height:calc(100svh - 80px);height:auto;padding:80px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:28px}
.stb-retired h1,.stb-error h1{font-family:var(--sans);font-size:clamp(34px,4vw,46px);line-height:1.18;font-weight:400;letter-spacing:-.04em;max-width:22ch}
.stb-retired .note,.stb-error .note{position:static;max-width:46ch;font-size:17px;line-height:1.8;color:#454e41}
.stb-error{min-height:100svh;height:auto;overflow:auto}
html:has(.stb-error){height:auto;overflow:auto}
.stb-error .ring{position:static;transform:none;order:-1;width:80px;opacity:1;margin-bottom:8px}
.stb-error .ring::before{display:none}
.stb-error .ring svg{animation:none}
.stb-redirect main{max-width:640px;text-align:center;padding:48px 28px}
.stb-redirect h1{font-size:40px;line-height:1.18;font-weight:400}
.stb-redirect p{font-size:17px;line-height:1.8}

@media(max-width:62rem){
  .stb-page .header-main{min-height:80px;grid-template-rows:80px;gap:16px}
  .stb-page .mobile-route-toggle{min-height:44px;font-size:13px;font-weight:400}
  .stb-page .mobile-route-sheet{inset:80px 0 0;border:0;background:var(--paper);padding:48px 0}
  .stb-page .mobile-route-links{display:flex;flex-direction:column;max-width:640px;border:0;gap:20px}
  .stb-page .mobile-route-links::before{display:none}
  .stb-page .mobile-route-links a:nth-child(n){font-family:var(--sans);font-size:28px;line-height:1.3;min-height:60px;border:0;padding:12px 0;overflow:visible;letter-spacing:-.03em}
}
@media(max-width:700px){
  :root{--shell:calc(100% - 56px)}
  .stb-page .brand{font-size:16px}
  .stb-page .brand svg,.stb-page .brand-mark{width:24px;height:24px}
  .stb-page .header-main{min-height:72px;grid-template-rows:72px;gap:10px}
  .stb-page .mobile-route-sheet{inset:72px 0 0}
  .stb-page .top-action{font-size:12px}
  .stb-page .hero-grid{padding:64px 0 72px;gap:28px}
  .stb-page .hero-copy h1,.stb-page .course-hero h1{font-size:36px}
  .stb-page .hero-foot{align-items:flex-start;flex-direction:column;gap:16px}
  .stb-page .section-grid,.stb-page .pricing .section-grid{padding:64px 0}
  .stb-page .section-label{font-size:13px;margin-bottom:28px}
  .stb-page .content h2,.stb-page .cta-inner h2,.stb-page .course-cta h2{font-size:32px}
  .stb-page .hero-intro,.stb-page .content .lead,.stb-page .prose p,.stb-page .single-prose p,.stb-page .cta-copy p,.stb-page .about-items p,.stb-page .about-person p,.stb-page .about-list{font-size:16px;line-height:1.85}
  .stb-page .facts{grid-template-columns:1fr;gap:36px}
  .stb-page .cta-inner,.stb-page .course-cta-inner{padding:64px 0 80px}
  .stb-page .footer-inner{padding:28px 0;min-height:0;align-items:flex-start}
  .stb-course .course-hero>img{width:var(--shell);margin-top:28px;aspect-ratio:4/3}
  .stb-course .course-hero-grid{padding:48px 0 64px}
  .stb-course .course-lead{font-size:16px}
  .stb-course .split-copy{padding:64px 0 40px}
  .stb-course .split-image{width:200px;height:267px}
  .stb-course .image-band{height:220px;margin-block:24px}
  .stb-course .price-grid{grid-template-columns:1fr}
  .stb-course .testimonial blockquote{font-size:22px}
  .stb-form .topbar{height:72px}
  .stb-form .screen{padding:96px 28px 88px}
  .stb-form .sub{font-size:16px}
  .stb-form .arrival .choices{grid-template-columns:1fr}
  .stb-listening h1{font-size:34px}
}
@media(max-height:650px){.stb-form .screen{align-items:start}.stb-retired main,.stb-error main{padding:40px 0}}
@media(prefers-reduced-motion:reduce){.stb-page *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
