/* Uses the existing Design Engine shell and Casper-world tokens. */
.casper-intro{padding-block:26px 38px}.casper-intro-grid{grid-template-columns:1.2fr 1fr;gap:7vw;align-items:end}.casper-intro h1{font-size:clamp(38px,4.8vw,68px)!important;max-width:17ch;line-height:1.04;letter-spacing:-.045em}.eyebrow{font-size:11px!important;letter-spacing:.085em;line-height:1.5;text-transform:uppercase;font-weight:600;margin-bottom:18px}.intro-right{max-width:490px}.intro-right>p{font-size:17px;line-height:1.6}.intro-right .intro-foot{font-size:11px;margin-top:16px;color:var(--ink-soft)}.program-crumb{margin-bottom:30px}.story-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px;border-top:1px solid var(--line)}.chapter-nav{padding:0;gap:28px;margin:0;flex-wrap:wrap;border:0}.chapter-nav a{min-height:36px;display:flex;align-items:center;font-size:12px}.scene-controls{padding:0;gap:8px}.scene-controls button{min-height:40px;padding:8px 12px;font-size:11px}.media-status{max-width:200px}.scene-chapter{min-height:calc(76svh - var(--preview-header-height,80px));padding:52px var(--page-gutter) 76px}.scene-chapter:last-child{min-height:calc(94svh - var(--preview-header-height,80px))}.scroll-story .website-copy{max-width:500px}.scroll-story .website-copy h2{font-size:clamp(32px,3.1vw,46px);margin-bottom:18px}.scroll-story .stage-body{font-size:15px;line-height:1.6}.scroll-story .chapter-label{margin-bottom:16px!important}.scroll-story .coach-feedback,.scroll-story .response-example{margin-top:18px;padding-top:14px}.scroll-story .revision{margin-top:14px}.scene-disclaimer{padding-block:15px;font-size:11px}.practice-section,.coach-showcase,.casper-faq,.package-section{padding-block:64px;scroll-margin-top:calc(var(--preview-header-height,80px) + 24px)}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;column-gap:7vw;margin-bottom:36px;align-items:end}.section-heading>.eyebrow{grid-column:1/-1}.section-heading h2,.package-heading h2,.casper-faq h2{font-size:clamp(30px,3.2vw,46px);line-height:1.12;letter-spacing:-.035em;font-weight:550}.section-heading>p:last-child,.package-heading>p{max-width:49ch;line-height:1.65;font-size:16px;color:var(--ink-soft)}.practice-rows article{display:grid;grid-template-columns:60px minmax(0,1fr) 240px;gap:26px;padding-block:25px;border-top:1px solid var(--line);align-items:start}.practice-rows article:last-child{border-bottom:1px solid var(--line)}.practice-rows article>span{font-size:12px;color:var(--ink-soft);padding-top:5px}.practice-rows h3{font-size:23px;font-weight:550;letter-spacing:-.025em;margin-bottom:9px}.practice-rows p{font-size:14px;line-height:1.7;max-width:62ch;color:var(--ink-soft)}.practice-rows a{font-size:12px;text-decoration:underline;text-underline-offset:5px;line-height:1.5;min-height:44px;display:flex;align-items:center;justify-self:end}.coach-showcase{border-block:1px solid var(--line)}.coaching-profile{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:start}.coaching-review{background:var(--world-paper);color:var(--world-ink);padding:38px;min-height:430px}.coaching-review .eyebrow{color:var(--world-soft)}.coaching-review blockquote{font-size:clamp(24px,2.3vw,34px);font-weight:500;letter-spacing:-.025em;line-height:1.35;margin:24px 0}.coaching-review .review-source{font-size:11px;color:var(--world-soft);margin-bottom:32px}.review-annotation{padding-block:15px;border-top:1px solid var(--world-line);display:grid;grid-template-columns:105px 1fr;gap:15px}.review-annotation span{font-size:11px;color:var(--world-accent)}.review-annotation p{font-size:13px;color:var(--world-ink)}.coach-method h3{font-size:30px;font-weight:550;line-height:1.16;letter-spacing:-.03em;margin-bottom:20px}.coach-method>p:not(.eyebrow){font-size:14px;line-height:1.7;color:var(--ink-soft)}.coach-method dl{margin-top:22px}.coach-method dl>div{display:grid;grid-template-columns:100px 1fr;gap:16px;padding-block:16px;border-top:1px solid var(--line);font-size:12px}.coach-method dd{margin:0;color:var(--ink-soft);line-height:1.6}.coach-method .text-link{font-size:13px;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:5px;margin-top:10px}.casper-faq{display:grid;grid-template-columns:1fr 1.2fr;gap:7vw}.casper-faq details{border-top:1px solid var(--line)}.casper-faq details:last-child{border-bottom:1px solid var(--line)}.casper-faq summary{font-size:14px;line-height:1.5;cursor:pointer;padding:20px 0;min-height:48px}.casper-faq details p{font-size:14px;line-height:1.7;color:var(--ink-soft);padding-bottom:24px}.package-section{border-top:1px solid var(--line);padding-bottom:32px}.package-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:7vw;align-items:end;margin-bottom:34px}.complete-package{display:grid;grid-template-columns:1.2fr 1fr;background:var(--world-bg);color:var(--world-ink);padding:44px;gap:6vw;border-radius:var(--radius-sm);scroll-margin-top:calc(var(--preview-header-height,80px) + 24px)}.complete-package h3{font-size:26px;font-weight:550;letter-spacing:-.025em}.complete-package p{color:var(--world-ink)}.complete-package .eyebrow{color:var(--world-soft)}.complete-package .package-tagline{font-size:clamp(30px,3vw,44px);line-height:1.13;letter-spacing:-.025em;margin-block:20px}.complete-copy>p:not(.eyebrow):not(.package-tagline){font-size:14px;line-height:1.7;max-width:48ch;color:var(--world-soft)}.complete-copy>ul{font-size:13px;line-height:1.7;padding-left:18px;margin-block:24px}.complete-copy>ul li{padding-block:4px}.complete-price{border-left:1px solid var(--world-line);padding-left:40px}.price{font-size:clamp(40px,5.5vw,76px);line-height:1;letter-spacing:-.055em;font-weight:550;display:flex;align-items:baseline;gap:9px}.price>span{font-size:15px;font-weight:500;letter-spacing:0}.price-caption{font-size:11px;margin-top:12px;color:var(--world-soft)!important}.guarantee-panel{margin-top:30px;border-top:1px solid var(--world-line);padding-top:24px}.guarantee-number{font-size:64px;line-height:1;letter-spacing:-.06em;color:var(--world-accent)}.guarantee-number>span{font-size:22px;vertical-align:super;letter-spacing:0}.guarantee-panel h4{font-size:24px;line-height:1.2;font-weight:500;margin-block:12px 18px;letter-spacing:-.025em}.guarantee-panel>p,.guarantee-panel details p{font-size:12px;line-height:1.7;max-width:42ch;color:var(--world-soft)}.guarantee-panel details{margin-top:16px}.guarantee-panel summary{font-size:12px;min-height:44px;cursor:pointer;padding-block:12px}.package-details{border-top:1px solid var(--line);margin-top:20px}.package-details summary{font-size:13px;min-height:48px;padding-block:16px;cursor:pointer}.package-details p,.package-details li{font-size:13px;line-height:1.7}.package-details ul{padding:0 0 8px 18px}.package-details a{font-size:12px;display:inline-flex;min-height:44px;align-items:center;text-decoration:underline;text-underline-offset:5px}.complete-package .package-details{border-color:var(--world-line)}.complete-package .package-details p{color:var(--world-soft)}.complete-package a{color:var(--world-ink)}.other-packages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:32px}.small-package{border-top:1px solid var(--line);padding-top:25px;scroll-margin-top:calc(var(--preview-header-height,80px) + 24px)}.small-package>.eyebrow{font-size:12px!important}.small-package .price{font-size:46px;margin-block:22px}.small-package h4{font-size:18px;line-height:1.3;font-weight:550;letter-spacing:-.02em;min-height:48px;margin-bottom:12px}.small-package>p:not(.eyebrow){font-size:13px;line-height:1.7;color:var(--ink-soft);min-height:88px}.pricing-footnote{font-size:11px;line-height:1.7;max-width:105ch;color:var(--ink-soft);margin-top:32px}.site-footer{margin-top:20px}.package-details summary:focus-visible,.casper-faq summary:focus-visible,.guarantee-panel summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.scene-chapter .example-note{font-size:10px}
@media(min-width:1800px){.scene-video,.scene-poster{object-fit:contain}.scene-shade{background:linear-gradient(90deg,var(--world-bg),color-mix(in srgb,var(--world-bg) 94%,transparent) 26%,transparent 60%)}}
@media(max-width:1000px){.scene-chapter{min-height:76svh}.scene-chapter:last-child{min-height:95svh}.casper-intro-grid{gap:32px}.practice-rows article{grid-template-columns:35px 1fr;gap:18px}.practice-rows a{grid-column:2;justify-self:start}.complete-package{padding:30px;gap:32px}.complete-price{padding-left:26px}.coaching-profile{gap:30px}.coaching-review{padding:28px}.other-packages{gap:24px}.small-package .price{font-size:40px}.small-package>p:not(.eyebrow){min-height:110px}}
@media(max-width:650px){.casper-intro{padding-block:20px 28px}.program-crumb{margin-bottom:24px}.casper-intro-grid{grid-template-columns:1fr;gap:22px}.casper-intro h1{font-size:40px!important;max-width:17ch}.intro-right>p{font-size:15px;line-height:1.65}.intro-right .button{margin-top:18px}.intro-right .intro-foot{font-size:10px;max-width:36ch}.story-navigation{align-items:start;gap:10px;flex-wrap:wrap}.chapter-nav{gap:18px}.chapter-nav a{font-size:11px;min-height:32px}.scene-controls button{min-height:36px;font-size:10px}.scene-controls{margin-left:auto}.scene-chapter{min-height:91svh;padding-top:38px;padding-bottom:28svh}.scene-chapter:last-child{min-height:110svh;padding-bottom:18svh}.scroll-story .website-copy h2{font-size:32px}.scroll-story .stage-body{font-size:14px}.scene-chapter .example-note{font-size:9px;max-width:90%;bottom:16px}.scene-disclaimer{font-size:10px;line-height:1.6}.practice-section,.coach-showcase,.casper-faq,.package-section{padding-block:38px}.section-heading,.coaching-profile,.casper-faq,.package-heading{grid-template-columns:1fr;gap:22px}.section-heading{margin-bottom:24px}.section-heading>.eyebrow{margin-bottom:0}.section-heading h2,.package-heading h2,.casper-faq h2{font-size:31px}.section-heading>p:last-child,.package-heading>p{font-size:14px}.practice-rows article{padding-block:22px;row-gap:10px}.practice-rows h3{font-size:21px}.practice-rows p{font-size:13px}.practice-rows a{font-size:11px}.coaching-review{padding:26px;min-height:0}.coaching-review blockquote{font-size:28px}.coach-method h3{font-size:29px}.coach-method dl>div{grid-template-columns:88px 1fr}.casper-faq summary{font-size:13px}.casper-faq details p{font-size:13px}.package-heading{margin-bottom:26px}.complete-package{grid-template-columns:1fr;padding:26px;gap:28px}.complete-copy .package-tagline{font-size:34px}.complete-price{border-left:0;border-top:1px solid var(--world-line);padding-left:0;padding-top:26px;grid-row:1}.complete-price .price{font-size:58px}.guarantee-panel{display:grid;grid-template-columns:62px 1fr;gap:0 16px;margin-top:24px;padding-top:22px}.guarantee-number{font-size:52px;grid-row:1/3}.guarantee-number>span{font-size:17px}.guarantee-panel h4{font-size:22px;margin-top:0}.guarantee-panel>p,.guarantee-panel details{grid-column:2;font-size:11px}.guarantee-panel details{margin-top:8px}.complete-copy>.eyebrow{margin-bottom:12px}.complete-package h3{font-size:24px}.other-packages{grid-template-columns:1fr;gap:24px;margin-top:28px}.small-package{display:grid;grid-template-columns:1fr auto;column-gap:16px}.small-package>.eyebrow{grid-column:1;margin-bottom:8px}.small-package .price{grid-column:2;grid-row:1/3;font-size:36px;margin:0}.small-package .price>span{font-size:11px}.small-package h4{grid-column:1;font-size:17px;min-height:0;max-width:23ch;margin-bottom:16px}.small-package>p:not(.eyebrow){grid-column:1/-1;min-height:0}.small-package .package-details{grid-column:1/-1}.pricing-footnote{font-size:10px}.eyebrow{font-size:10px!important}}
@media(prefers-reduced-motion:reduce){.scene-chapter,.scene-chapter:last-child{min-height:0;padding-block:42px}.scene-background{position:absolute;height:100%;max-height:none}.scene-shade{background:color-mix(in srgb,var(--world-bg) 94%,transparent)!important}.scene-video{display:none!important}.scene-poster{height:100%;width:100%;inset:0;object-fit:cover}.scene-chapter .example-note{position:static;margin-top:16px}.scene-chapter{display:block}}
.product-story{padding-block:48px 12px}.product-beat{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:5vw;align-items:center;padding-block:30px 50px}.product-beat-reverse{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}.product-beat-reverse .product-screen{grid-column:2;grid-row:1}.product-beat-reverse .product-copy{grid-column:1;grid-row:1}.product-screen{margin:0;transform:translateY(var(--product-shift,0px))}.product-screen a{display:block;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.product-screen img{display:block;width:100%;height:auto}.product-screen figcaption{font-size:10px;line-height:1.6;color:var(--ink-soft);padding-block:12px}.product-copy h3,.practice-life h3{font-size:clamp(28px,3vw,42px);line-height:1.13;letter-spacing:-.035em;font-weight:550;margin-bottom:24px}.product-copy p:not(.eyebrow),.practice-life p:not(.eyebrow){font-size:14px;line-height:1.75;color:var(--ink-soft)}.product-copy .text-link,.practice-life .text-link{font-size:12px;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:5px;margin-top:20px}.practice-life{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;padding-block:16px 38px}.practice-life figure{margin:0;position:relative}.practice-life figure>img{width:100%;max-height:560px;object-fit:cover;object-position:center 62%;display:block;border-radius:var(--radius-sm)}.practice-life figcaption{font-size:10px;color:var(--ink-soft);padding-top:12px;line-height:1.6}.practice-life>div{max-width:430px}.practice-section{padding-top:20px}.practice-section .section-heading{display:none}
@media(max-width:650px){.product-story{padding-top:32px}.product-beat,.product-beat-reverse{display:flex;flex-direction:column-reverse;gap:24px;align-items:stretch;padding-block:16px 32px}.product-copy h3,.practice-life h3{font-size:31px;margin-bottom:18px}.product-copy .text-link{margin-top:12px}.product-screen{transform:none}.product-screen figcaption{font-size:9px}.practice-life{grid-template-columns:1fr;gap:25px;padding-block:10px 22px}.practice-life figure>img{height:390px;max-height:none;object-position:center 62%}.practice-life>div{grid-row:1}.practice-section{padding-top:10px}.product-copy p:not(.eyebrow),.practice-life p:not(.eyebrow){font-size:13px}.product-story .section-heading>p:last-child{font-size:14px}}
@media(prefers-reduced-motion:reduce){.product-screen{transform:none!important}}
@media(max-width:650px){.casper-intro h1 br{display:initial!important}.complete-price{border-top:0;padding-top:0}.complete-copy{border-top:1px solid var(--world-line);padding-top:24px}}
.package-inclusions{list-style:none;padding:0;margin:20px 0 0;border-top:1px solid var(--line);font-size:14px;line-height:1.55}.package-inclusions li{padding-block:14px;border-bottom:1px solid var(--line)}.package-inclusions li::before{content:'—';color:var(--world-accent);margin-right:10px}.complete-copy>.eyebrow{color:var(--world-accent)}.package-heading h2{max-width:16ch}.small-package>.eyebrow{font-size:14px!important;letter-spacing:.025em}.small-package .price{font-size:52px}.pricing-footnote{font-size:12px}.small-package>p:not(.eyebrow){min-height:70px}.small-package h4{min-height:32px}.small-package .package-inclusions{align-self:start}
@media(max-width:650px){.package-inclusions{grid-column:1/-1;font-size:14px;margin-top:15px}.small-package .price{font-size:38px}.small-package>.eyebrow{font-size:12px!important}.small-package>p:not(.eyebrow){min-height:0}.pricing-footnote{font-size:11px}.small-package h4{min-height:0}}

/* Coach profiles (2026-09-13): one card renders as a spread beside the coaching method; two or three become a grid. Tokens only. */
.coach-profiles{margin:0 0 44px}
.coach-card{display:grid;grid-template-columns:minmax(220px,.34fr) 1fr;gap:clamp(24px,4vw,56px);align-items:start}
.coach-profiles[data-coach-count="2"],.coach-profiles[data-coach-count="3"]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.coach-profiles[data-coach-count="2"] .coach-card,.coach-profiles[data-coach-count="3"] .coach-card{grid-template-columns:1fr}
.coach-plate{aspect-ratio:4/5;border-radius:var(--radius);background:var(--world-paper);color:var(--world-ink);display:grid;place-items:center;overflow:hidden}
.coach-plate img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.coach-mono{font-size:clamp(96px,13vw,168px);font-weight:500;letter-spacing:-.06em;line-height:1;color:var(--world-accent)}
.coach-body>.eyebrow{margin-bottom:12px}
.coach-body h3{font-size:clamp(30px,3.4vw,44px);font-weight:550;line-height:1.06;letter-spacing:-.035em;margin:0 0 6px}
.coach-role{font-size:14px;color:var(--ink-soft);margin:0 0 20px}
.coach-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:0 0 22px;padding-top:14px;border-top:1px solid var(--line)}
.coach-facts div{margin:0}
.coach-facts dt{font-size:11px;letter-spacing:.075em;text-transform:uppercase;color:var(--ink-soft);font-weight:550}
.coach-facts dd{margin:4px 0 0;font-size:15px;font-weight:550}
.coach-statement{font-size:clamp(17px,1.35vw,19px);font-weight:500;letter-spacing:-.012em;line-height:1.58;margin:0 0 26px;max-width:54ch}
.coach-card .button{margin:0}
.coach-letter .package-dialog-header>div{min-width:0}
.coach-letter .package-dialog-header .eyebrow{margin-bottom:6px}
.coach-letter .package-dialog-body{padding:var(--space-6) var(--space-8) var(--space-8);overflow:auto}
.coach-letter-body{max-width:62ch;font-size:17px;line-height:1.7}
.coach-letter-body p{margin:0}
.coach-letter-body p+p{margin-top:14px}
.coach-letter-foot{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap}
.coach-letter-foot .coach-facts{margin:0;padding:0;border:0;gap:0 28px;grid-template-columns:auto auto}
.coach-letter-foot .button{margin:0}
html.coach-letter-open{overflow:hidden}
@media(max-width:860px){.coach-card,.coach-profiles[data-coach-count="2"],.coach-profiles[data-coach-count="3"]{grid-template-columns:1fr}.coach-plate{aspect-ratio:4/3}.coach-statement{max-width:none}}

/* Casper world opening — Fable, 2026-09-13 night (v2). The animation runs under the header; the title card starts right below it; the three chapters follow; after the animation the section tabs take the pricing-page formula (one section shown at a time) and hold under the header. Tokens only; motion gated. */
.program-page[data-program="casper"] .scroll-story{margin-top:calc(-1 * var(--preview-header-height,80px))}
.program-page[data-program="casper"] .scene-background{top:0;height:100svh}
.program-page[data-program="casper"] .scene-background::after{content:'';position:absolute;left:0;right:0;top:0;height:min(240px,34svh);background:linear-gradient(180deg,color-mix(in srgb,var(--world-bg) 78%,transparent),color-mix(in srgb,var(--world-bg) 36%,transparent) 58%,transparent);pointer-events:none}
.world-title{position:relative;box-sizing:border-box;min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:calc(var(--preview-header-height,80px) + 40px) var(--page-gutter) 56px;pointer-events:auto;color:var(--world-ink)}
.world-title-copy{display:flex;flex-direction:column;align-items:flex-start}
.scroll-story .world-title .eyebrow{color:var(--world-soft);margin-bottom:16px}
.scroll-story .world-title h1{font-size:clamp(84px,11vw,176px)!important;line-height:.9;letter-spacing:-.055em;font-weight:600;margin:0 0 26px;color:var(--world-ink)}
.scroll-story .world-lede{font-size:clamp(21px,2.1vw,31px);line-height:1.22;letter-spacing:-.022em;font-weight:500;max-width:24ch;text-wrap:balance;margin:0 0 12px;color:var(--world-ink)}
.scroll-story .world-foot{font-size:14px;line-height:1.5;color:var(--world-soft);margin:0}
.world-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:40px}
.scroll-story .world-cta.button.primary{background:var(--world-ink);color:var(--world-bg);border-color:var(--world-ink)}
.scroll-story .world-cue{display:inline-flex;align-items:center;gap:14px;min-height:44px;font-size:12px;font-weight:550;letter-spacing:.08em;text-transform:uppercase;color:var(--world-soft);text-decoration:none;margin:0}
.world-cue-line{display:block;width:36px;height:1px;background:currentColor}
.scroll-story .world-cue:hover,.scroll-story .world-cue:focus-visible{color:var(--world-ink)}
.world-controls{grid-column:1;grid-row:1;align-self:end;justify-self:end;position:sticky;bottom:16px;z-index:2;margin-right:var(--page-gutter);pointer-events:none}
.world-controls .scene-controls{padding:0;gap:10px;justify-content:flex-end;pointer-events:auto}
.world-controls .scene-controls button{background:color-mix(in srgb,var(--world-bg) 55%,transparent);color:var(--world-ink);border-color:var(--world-line)}
.program-page .world-controls .quiet-motion{opacity:.78;color:var(--world-ink)}
.program-page .world-controls .quiet-motion:hover,.program-page .world-controls .quiet-motion:focus-visible{opacity:1;background:color-mix(in srgb,var(--world-ink) 16%,transparent)!important}
.scroll-story .world-controls .media-status{color:var(--world-soft);font-size:12px;max-width:34ch;text-align:right}
.program-page[data-program="casper"] .scene-disclaimer{max-width:none;width:auto;margin:0;padding:16px var(--page-gutter) 20px;background:var(--world-bg);color:var(--world-soft)}
.program-nav{position:sticky;top:var(--preview-header-height,80px);z-index:18;background:var(--paper);border-bottom:1px solid var(--line)}
.program-nav-tabs{display:flex;gap:36px;overflow-x:auto;scrollbar-width:none}
.program-nav-tabs::-webkit-scrollbar{display:none}
.program-nav-tabs.is-overflowing{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 34px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 34px),transparent);padding-right:24px}
.program-nav-tabs>a{display:flex;align-items:center;justify-content:center;min-height:52px;margin-bottom:-1px;padding:8px 0;border-bottom:2px solid transparent;color:var(--ink-soft);font-size:17px;font-weight:550;text-decoration:none;text-align:center;white-space:nowrap}
.program-nav-tabs>a:hover{color:var(--ink)}
.program-nav-tabs>a[aria-selected="true"]{color:var(--ink);border-color:var(--ink)}
.program-nav-tabs>a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.program-page [data-program-panel][hidden]{display:none!important}
html.casper-world-chrome .site-header{background:transparent;border-bottom-color:transparent;color:var(--world-ink)}
html.casper-world-chrome .site-header .header-theme{color:var(--world-ink)}
html.casper-world-chrome .site-header .header-theme:hover{background:color-mix(in srgb,var(--world-ink) 14%,transparent)}
html.casper-world-chrome .site-header #main-nav>a:hover{color:var(--world-accent)}
html.casper-world-chrome .site-header #main-nav>a[aria-current=page]::after{background:var(--world-ink)}
html.casper-world-chrome .site-header #main-nav.is-open{color:var(--ink)}
html.casper-world-chrome .site-header .header-app.button.primary{background:var(--world-ink);color:var(--world-bg);border-color:var(--world-ink)}
html.casper-world-scrolled .site-header{background:color-mix(in srgb,var(--world-bg) 48%,transparent);-webkit-backdrop-filter:blur(20px) saturate(1.1);backdrop-filter:blur(20px) saturate(1.1)}
@media(prefers-reduced-motion:no-preference){html.casper-chrome-ready .site-header[data-program="casper"]{transition:background var(--duration,220ms) ease,border-color var(--duration,220ms) ease,color var(--duration,220ms) ease}html.scroll-js .world-title-copy>*,html.scroll-js .world-actions{animation:world-rise .9s cubic-bezier(.16,1,.3,1) both}html.scroll-js .world-title-copy>:nth-child(2){animation-delay:.08s}html.scroll-js .world-title-copy>:nth-child(3){animation-delay:.16s}html.scroll-js .world-title-copy>:nth-child(4){animation-delay:.24s}html.scroll-js .world-actions{animation-delay:.34s}@keyframes world-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}}
@media(max-width:1000px){.scroll-story .world-title h1{font-size:clamp(80px,13vw,150px)!important}}
@media(max-width:650px){.program-nav-tabs{gap:0;justify-content:space-between}.program-nav-tabs>a{font-size:14px;padding:8px 4px}.program-page[data-program="casper"] .scene-background::after{height:58svh;background:linear-gradient(180deg,color-mix(in srgb,var(--world-bg) 72%,transparent) 30%,transparent)}.world-title{justify-content:flex-start;padding-top:calc(var(--preview-header-height,80px) + 18px);padding-bottom:36px}.scroll-story .world-title h1{font-size:clamp(68px,22vw,104px)!important;margin-bottom:18px}.scroll-story .world-lede{font-size:20px;max-width:18ch}.scroll-story .world-foot{font-size:13px}.world-actions{gap:18px;margin-top:26px}.world-controls{bottom:12px;margin-right:12px}html.casper-world-scrolled .site-header{background:color-mix(in srgb,var(--world-bg) 66%,transparent);-webkit-backdrop-filter:blur(24px) saturate(1.1);backdrop-filter:blur(24px) saturate(1.1)}}
/* v3 — the practice content closes the Workspace page; Sandy's letter set as a reading piece. */
.product-story>.practice-section{padding:52px 0 0;margin-top:48px;border-top:1px solid var(--line)}
.package-dialog.coach-letter{width:min(760px,calc(100vw - 32px))}
.coach-letter .package-dialog-body{padding:36px 56px 44px}
.coach-letter-body{max-width:60ch;font-size:16.5px;line-height:1.75}
.coach-letter-body p+p{margin-top:1.1em}
.coach-letter-body .letter-lede{font-size:clamp(20px,1.7vw,23px);line-height:1.45;letter-spacing:-.015em;font-weight:500}
.coach-letter-body .letter-lede+p{margin-top:1.4em}
.coach-letter-body .letter-beat{font-size:clamp(19px,1.5vw,21px);line-height:1.5;font-weight:500;letter-spacing:-.012em;padding:4px 0 4px 22px;border-left:3px solid var(--world-accent);margin-top:1.5em}
.coach-letter-body .letter-beat+p{margin-top:1.5em}
.coach-letter-body .letter-sign{display:flex;flex-direction:column;gap:2px;margin-top:30px;padding-top:18px;border-top:1px solid var(--line);font-size:14px;color:var(--ink-soft)}
.coach-letter-body .letter-sign strong{font-size:17px;color:var(--ink);font-weight:600;letter-spacing:-.01em}
@media(max-width:650px){.coach-letter .package-dialog-body{padding:22px 20px 30px}.coach-letter-body{font-size:16px}.coach-letter-body .letter-lede{font-size:19px}.coach-letter-body .letter-beat{font-size:18px;padding-left:16px}}

/* Sandy's supplied portrait and first-person introduction. Shared engine tokens. */
#coach-sandy[data-coach-presentation="portrait"]{grid-template-columns:minmax(0,.9fr) minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,72px)}
#coach-sandy .sandy-portrait{margin:0;min-width:0}
#coach-sandy .sandy-portrait img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:var(--radius)}
#coach-sandy .sandy-portrait figcaption{font:500 clamp(18px,1.5vw,22px)/1.45 var(--sans);letter-spacing:-.015em;color:var(--ink-soft);margin-top:18px;max-width:34ch;text-wrap:pretty}
#coach-sandy .coach-body{min-width:0}
#coach-sandy .coach-body h3{font-size:clamp(38px,4.2vw,60px);letter-spacing:-.035em}
#coach-sandy .coach-role{font-size:15px;margin-bottom:24px}
#coach-sandy .sandy-intro{font:500 clamp(20px,1.8vw,26px)/1.5 var(--sans);letter-spacing:-.015em;margin:0;max-width:38ch;color:var(--ink);text-wrap:pretty}
#coach-sandy .coach-facts{margin-block:24px;gap:24px}
#coach-sandy .ce-bio{border-top:1px solid var(--line);margin:0 0 22px}
#coach-sandy .ce-bio>summary{padding-block:16px;min-height:48px;font:500 15px/1.5 var(--sans);cursor:pointer}
#coach-sandy .sandy-actions{display:flex;gap:18px 24px;align-items:center;flex-wrap:wrap}
#coach-sandy .sandy-actions .text-link{display:inline-flex;align-items:center;min-height:44px;font-size:15px;text-decoration:underline;text-underline-offset:5px}
#coach-sandy-letter .sandy-letter-identity{display:flex;align-items:center;gap:18px}
#coach-sandy-letter .sandy-letter-identity img{width:64px;height:64px;flex:none;object-fit:cover;border-radius:var(--radius-sm)}
#coach-sandy-letter .sandy-letter-identity h2{margin:0;font-size:clamp(24px,3vw,34px);line-height:1.15;letter-spacing:-.025em}
@media(max-width:760px){
 #coach-sandy[data-coach-presentation="portrait"]{grid-template-columns:1fr;gap:28px;align-items:start}
 #coach-sandy .sandy-portrait{width:100%;max-width:440px;justify-self:center}
 #coach-sandy .sandy-portrait figcaption{margin-top:14px}
 #coach-sandy .coach-role{margin-bottom:18px}
 #coach-sandy .sandy-intro{max-width:none}
 #coach-sandy-letter .sandy-letter-identity{gap:12px}
 #coach-sandy-letter .sandy-letter-identity img{width:48px;height:48px}
}
