/* styles/72-academy-integration.css */
/* Home-only brand composition around the unchanged Academy presentation. */
:is(.page-home,.page-clubs,.page-programs,.page-managed,.page-product){--ct-bg:#f7f8fa;--ct-surface:#fff;--ct-sunken:#f1f3f6;--ct-sunken-strong:#e9edf1;--ct-hairline:#e1e4e8;--ct-rule:#e3e6ea;--ct-rule-strong:#b8bfc8;--ct-text:#1f2328;--ct-text-secondary:#626a73;--ct-ring:#1f2328;--ct-green:#1e7b33;--ct-green-deep:#1e7b33;--ct-green-soft:#e5f7e8;--ct-on-green:#fff}
:is(.page-home,.page-clubs,.page-programs,.page-managed,.page-product) .lockup img{content:url("brand/CONTAKT_wordmark_primary.svg")}
:is(.page-home,.page-clubs,.page-programs,.page-managed,.page-product) .band[data-theme="ink"]{--ct-bg:#f7f8fa;--ct-text:#1f2328;--ct-text-secondary:#626a73;--ct-hairline:#e1e4e8;--ct-rule:#e3e6ea;--ct-green:#1e7b33;--ct-green-deep:#1e7b33;--ct-on-green:#fff;--ct-ring:#1f2328}
.ai-stage{--ai-paper:#f7f8fa;--ai-ink:#1f2328;--ai-club:#1f6f8b;background:var(--ai-paper);color:var(--ai-ink);padding:88px 0 96px;overflow:clip;scroll-margin-top:72px;outline:none}
.ai-wrap{width:min(1740px,calc(100% - 96px));margin-inline:auto}
.ai-stage :where(button,a,select){cursor:pointer}.ai-stage :where(button):disabled{cursor:default}
.ai-stage :where(button,a,select,input,textarea):focus-visible{outline:2px solid currentColor;outline-offset:4px}
.ai-heading{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:48px;margin-bottom:64px}
.ai-eyebrow{font:500 14px/1.5 var(--ct-font-text);letter-spacing:0;margin:0 0 22px;color:#626a73;display:flex;align-items:center;gap:12px}
.ai-eyebrow::before{content:"";width:28px;height:3px;background:#61ed6a;border-radius:2px}
.ai-heading h2,.ai-section-head h2{font:500 clamp(48px,5.3vw,82px)/1.07 var(--ct-font-display);letter-spacing:-.035em;margin:0;text-wrap:balance;color:var(--ai-ink)}
.ai-heading h2 span,.ai-section-head h2 span{color:#626a73}
.ai-heading-intro,.ai-section-head>p{font:400 17px/1.6 var(--ct-font-text);color:#626a73;max-width:455px;margin:28px 0 0}
.ai-org-bar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}
.ai-org-options{display:flex;gap:3px;border-bottom:1px solid #e1e4e8}
.ai-org-options button{border:0;background:transparent;color:#626a73;font:500 15px/1.4 var(--ct-font-text);padding:14px 18px;display:flex;align-items:center;gap:9px;border-bottom:2px solid transparent}
.ai-org-options button[aria-pressed=true]{color:#1f2328;border-bottom-color:#1e7b33}.ai-org-options button:hover{color:#1f2328}
.ai-org-dot{width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 3px #fff1}
.ai-org-kind{font:400 11px/1.4 var(--ct-font-mono);color:#626a73;margin-left:4px}
.ai-demo-label{font:400 12px/1.5 var(--ct-font-text);letter-spacing:0;color:#626a73;display:flex;align-items:center;gap:7px}
.ai-demo-label>span{width:5px;height:5px;border-radius:50%;background:#626a73}
.academy-scene:is(.ai-schedule,.ai-lesson-list,.ai-drafts,.ai-people,.ai-config-preview),.ai-overlay-root{--club1:var(--ai-club,#1f6f8b);--club1-ink:color-mix(in srgb,var(--ai-club,#1f6f8b) 85%,#1f2328);--club1-soft:color-mix(in srgb,var(--ai-club,#1f6f8b) 10%,#f9f8f4);--club1-line:color-mix(in srgb,var(--ai-club,#1f6f8b) 26%,#f9f8f4)}
.ai-schedule{padding:24px 0 0;background:transparent;border-radius:0;box-shadow:none;border-top:1px solid #e1e4e8;min-width:0}
.ai-schedule-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}
.ai-small-cap{font:500 12px/1.5 var(--font-sans);letter-spacing:0;color:var(--muted-foreground);display:block;margin-bottom:4px}
.ai-schedule-top h3{font:600 21px/1.2 var(--font-sans);letter-spacing:-.028em;margin:0}
.ai-week{font:400 11px/1.5 var(--font-mono);color:var(--muted-foreground)}
.ai-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid var(--border);margin-bottom:14px}
.ai-segment{display:flex;gap:2px;padding:3px;background:var(--surface);border:1px solid var(--border);border-radius:6px;margin-right:auto}
.ai-segment button{min-height:34px;padding:5px 12px;border:0;border-radius:4px;background:transparent;color:var(--muted-foreground);font-weight:500;font-size:12px}
.ai-segment button[aria-pressed=true]{background:var(--card);color:var(--foreground);box-shadow:0 1px 3px #0001}
.ai-control-label{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted-foreground)}
.ai-control-label select{font-size:12px;min-height:36px;border:1px solid var(--border);border-radius:5px;background:var(--card);padding:5px 24px 5px 9px;color:var(--foreground);max-width:155px}
.ai-schedule .csw,.ai-schedule .lsw{font-size:13px}
.ai-schedule .csw-tl,.ai-schedule .lsw-tl{max-height:540px}
.ai-schedule-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--border);margin-top:16px;padding:13px 0;color:var(--muted-foreground);font-size:11px}
.ai-schedule-foot button{display:flex;gap:6px;align-items:center;font:inherit;border:0;background:transparent;padding:7px;color:var(--muted-foreground);white-space:nowrap}
.ai-schedule-foot button:hover{color:var(--foreground)}
.ai-live-receipt{color:#626a73;font:400 12px/1.5 var(--ct-font-text);min-height:23px;margin:14px 0 0;max-width:1000px}
.ai-lessons-section{padding-top:100px}
.ai-section-head{display:grid;grid-template-columns:1.4fr .6fr;align-items:end;gap:64px;margin-bottom:36px}
.ai-section-head h2{font-size:clamp(40px,4.3vw,68px)}
.ai-collection-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px}
.ai-collection-tabs{display:flex;gap:26px;border-bottom:1px solid #d7dce1}
.ai-collection-tabs button{font:500 14px/1.5 var(--ct-font-text);color:#626a73;background:transparent;border:0;border-bottom:2px solid transparent;padding:12px 0;display:flex;gap:8px;align-items:center}
.ai-collection-tabs button[aria-pressed=true]{color:#1f2328;border-bottom-color:#1e7b33}
.ai-collection-tabs button span{font:400 10px/1.4 var(--ct-font-mono);padding:2px 5px;border:1px solid #d7dce1;border-radius:3px}
.ai-scroll-buttons{display:flex;gap:8px}.ai-scroll-buttons button{display:grid;place-items:center;background:transparent;border:1px solid #626a73;border-radius:50%;width:38px;height:38px;color:#1f2328;transition:background 160ms}
.ai-scroll-buttons button:hover{background:#e9edf1}.ai-scroll-buttons button:disabled{opacity:.3}
.ai-lesson-scroller{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x proximity;padding:12px 4px 30px;scroll-padding:1px;overscroll-behavior-x:contain;scrollbar-color:#b8bfc8 #e9edf1;scrollbar-width:thin}
.ai-lesson-card{flex:0 0 min(460px,100%);min-width:0;scroll-snap-align:start;background:var(--card);border:1px solid #e1e4e8;border-radius:9px;box-shadow:0 8px 20px #1f232812;display:flex;flex-direction:column;transition:transform 180ms}
.ai-lesson-card:hover{transform:translateY(-3px)}
.ai-card-caption{display:flex;justify-content:space-between;gap:10px;padding:14px 18px 0;font-size:10px;color:var(--muted-foreground)}
.ai-card-caption>span:first-child{font-weight:600;display:flex;align-items:center;gap:4px;color:var(--foreground)}
.ai-lesson-card>.space-y-4{background:transparent;border:0;padding:18px;flex:1}
.ai-lesson-card .lg\:grid-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.ai-lesson-card h2{min-height:45px;line-height:1.3}
.ai-open-lesson{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 18px;margin:0;background:var(--card);border:0;border-top:1px solid var(--border);border-radius:0 0 9px 9px;color:var(--foreground);font-size:12px;font-weight:600;width:100%}
.ai-open-lesson:hover{background:var(--surface)}
.ai-drafts{padding:22px;background:var(--background);border-radius:9px}
.ai-draft-note{display:flex;align-items:flex-start;gap:9px;font-size:12px;color:var(--muted-foreground);line-height:1.6;margin-top:16px!important}
.ai-people-section{padding-top:100px}.ai-people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:transparent;color:var(--ai-ink);border-top:1px solid #e1e4e8}
.ai-people button{display:flex;align-items:center;gap:14px;background:transparent;color:inherit;border:0;border-bottom:1px solid #e1e4e8;padding:24px 12px;text-align:left;min-width:0}
.ai-people button>div:nth-child(2){flex:1;min-width:0}.ai-people button strong{font-weight:500;font-size:14px;display:block}.ai-people button span{font-size:11px;color:#626a73;display:block;margin-top:4px}.ai-people button:hover{background:#eef1f4}
.ai-people .control-well{color:#1f2328;background:#fff;border:1px solid #e1e4e8}
.ai-overlay-root{position:relative;z-index:1000;isolation:isolate;color:var(--foreground)}
.ai-record-sheet{width:min(860px,100vw)!important;max-width:100vw!important}
.ai-detail-stack{display:flex;flex-direction:column;gap:22px;min-width:0}.ai-detail-stack .ai-detail-subtitle{font-size:15px;font-weight:600}.ai-detail-actions{display:flex;gap:9px;flex-wrap:wrap}
.ai-detail-name{font-size:24px;font-weight:600}.ai-session-note{font-size:12px;color:var(--muted-foreground);padding:9px 12px;background:var(--surface);border-radius:5px}
.ai-demo-action{padding:18px;border:1px dashed var(--border-strong);border-radius:8px;display:flex;flex-direction:column;align-items:start;gap:12px;font-size:12px;line-height:1.6}
.ai-demo-action [role=status]{color:var(--foreground);font-weight:500}
.ai-coach-profile{display:flex;gap:16px;align-items:center}.ai-coach-profile h3{font-size:23px;font-weight:600}.ai-coach-profile p{font-size:12px;color:var(--muted-foreground);margin-top:4px}.ai-coach-profile .control-well{width:64px;height:64px;font-size:19px}
.ai-coach-lessons{display:flex;flex-direction:column;gap:15px}
.ai-form{display:flex;flex-direction:column;gap:18px}.ai-form label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600}.ai-form :is(input,textarea,select){width:100%;padding:10px 12px;background:var(--card);border:1px solid var(--border-strong);border-radius:5px;color:var(--foreground);font:400 14px/1.5 var(--font-sans);max-width:100%}.ai-form textarea{resize:vertical}.ai-form>button{align-self:start}.ai-form [role=status]{font-size:12px;line-height:1.6}.ai-booking-time{font:500 12px/1.5 var(--font-mono)}
.ai-after{padding:96px 0;background:#f7f8fa}.ai-after h2{font:500 clamp(34px,4vw,64px)/1.04 var(--ct-font-display);letter-spacing:-.04em;margin:18px 0 24px}.ai-after>.wrap>p:not(.eyebrow){max-width:650px;font:400 16px/1.7 var(--ct-font-text);color:#5d646a;margin-bottom:28px}
@media(min-width:2000px){.ai-wrap{width:min(2200px,calc(100% - 160px))}.ai-heading h2{font-size:104px}.ai-section-head h2{font-size:82px}.ai-schedule{padding-top:32px}.ai-lesson-card{flex-basis:520px}}
@media(max-width:1100px){.ai-wrap{width:calc(100% - 48px)}.ai-heading,.ai-section-head{gap:28px;grid-template-columns:1.25fr .75fr}.ai-heading{grid-template-columns:1.1fr 1fr}.ai-heading-intro,.ai-section-head>p{font-size:15px}.ai-demo-label{max-width:190px;font-size:9px}.ai-people{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-controls{gap:10px}.ai-segment{margin-right:0}}
@media(max-width:767px){.ai-stage{padding:48px 0 56px}.ai-wrap{width:calc(100% - 32px)}.ai-heading,.ai-section-head{grid-template-columns:1fr;gap:22px;margin-bottom:28px}.ai-heading h2{font-size:clamp(40px,8vw,59px)}.ai-section-head h2{font-size:clamp(38px,7vw,52px)}.ai-heading-intro,.ai-section-head>p{max-width:500px;font-size:14px}.ai-eyebrow{margin-bottom:16px}.ai-org-bar{flex-direction:column;align-items:flex-start;gap:12px}.ai-org-options{width:100%}.ai-org-options button{flex:1;padding:12px 7px;gap:6px;font-size:13px}.ai-org-kind{font-size:10px;margin:0}.ai-demo-label{max-width:none;font-size:8px}.ai-schedule{padding:18px 0 0;border-radius:0}.ai-schedule-top{align-items:flex-start;flex-direction:column;gap:6px;margin-bottom:15px}.ai-schedule-top h3{font-size:18px}.ai-week{font-size:10px}.ai-controls{gap:8px}.ai-segment{width:100%}.ai-segment button{flex:1;min-height:40px;font-size:11px;padding:4px 7px}.ai-control-label{font-size:10px;gap:5px}.ai-control-label select{font-size:11px;max-width:120px;min-height:40px;padding-right:16px}.ai-schedule-foot{gap:4px;font-size:10px}.ai-schedule-foot p{max-width:150px}.ai-schedule-foot button{font-size:10px;min-height:44px;padding:4px}.ai-lessons-section{padding-top:68px}.ai-collection-bar{gap:8px;align-items:flex-start}.ai-collection-tabs{gap:13px;flex:1}.ai-collection-tabs button{gap:4px;font-size:11px;flex-wrap:wrap;align-content:center;min-height:47px;padding:9px 0}.ai-scroll-buttons{gap:4px;margin-top:5px}.ai-scroll-buttons button{width:32px;height:32px}.ai-lesson-card{flex-basis:min(420px,100%)}.ai-card-caption{padding:13px 14px 0;font-size:9px}.ai-lesson-card>.space-y-4{padding:16px 14px}.ai-lesson-card .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-lesson-card h2{font-size:17px}.ai-people-section{padding-top:62px}.ai-people{grid-template-columns:1fr}.ai-people button{padding:18px 0}.ai-record-sheet{border-radius:0!important}.ai-drafts{padding:14px}.ai-after{padding:60px 0}.ai-detail-stack{gap:18px}}
/* The marketing context supplies brand type and cool, opaque neutral material.
   Tenant accent, status hues and the Academy component geometry remain intact. */
.ai-stage .academy-scene,.ai-overlay-root.academy-scene{--font-sans:var(--ct-font-text);--font-display:var(--ct-font-display);--font-mono:var(--ct-font-mono);--background:#f7f8fa;--card:#fff;--surface:#f1f3f6;--surface-strong:#e9edf1;--foreground:#1f2328;--muted-foreground:#626a73;--border:#e1e4e8;--border-strong:#b8bfc8;font-family:var(--ct-font-text)}
.ai-stage .academy-scene,.ai-overlay-root.academy-scene{--club1-foreground:#fff}
.ai-stage :is(input,select,textarea),.ai-stage .ai-lesson-search{border-color:var(--ct-control-border)}
.ai-moments{display:grid;grid-template-columns:1fr;align-content:center;gap:20px;padding:18px 12px 18px 24px;min-width:0}
.ai-moment{display:flex;flex-direction:column;gap:8px;width:min(345px,100%);padding:22px;text-align:left;border:1px solid #e1e4e8;border-radius:9px;background:#fff;color:#1f2328;box-shadow:0 8px 20px rgb(31 35 40 / .07);position:relative;transition:border-color 180ms,box-shadow 180ms}
.ai-moment-lesson{justify-self:start}.ai-moment-booking{justify-self:end;width:min(290px,100%)}
.ai-moment:hover{border-color:#8a929c;box-shadow:0 12px 28px rgb(31 35 40 / .1)}
.ai-moment-kind{display:flex;align-items:center;gap:8px;color:#626a73;font-size:12px;line-height:1.4}.ai-moment-kind>svg:last-child{margin-left:auto;color:#1f2328}
.ai-moment>strong{font:500 25px/1.15 var(--ct-font-display);letter-spacing:-.025em;margin-top:8px}
.ai-moment-time{font:400 12px/1.5 var(--ct-font-mono);color:#626a73}
.ai-moment-time:has(>span){display:flex;flex-wrap:wrap;gap:2px 8px}.ai-moment-time>span{white-space:nowrap}
.ai-list-tools.academy-scene{display:flex;align-items:center;gap:20px;background:transparent;border:0;border-radius:0;overflow:visible;margin-bottom:18px}
.ai-lesson-search{display:flex;align-items:center;gap:10px;max-width:450px;flex:1;min-width:0;border:1px solid #626a73;border-radius:6px;background:#fff;padding:0 12px;color:#626a73}
.ai-lesson-search input{min-width:0;width:100%;min-height:44px;border:0;outline:0;font:400 14px/1.4 var(--ct-font-text);color:#1f2328;background:transparent}.ai-lesson-search input::placeholder{color:#626a73}.ai-lesson-search:focus-within{outline:2px solid #1f2328;outline-offset:3px}.ai-lesson-search input:focus-visible{outline:0}.ai-lesson-search button{border:0;display:grid;place-items:center;min-width:32px;min-height:40px;background:transparent}
.ai-list-day{display:flex;align-items:center;gap:10px;color:#626a73;font-size:13px}.ai-list-day select{min-height:44px;border:1px solid #626a73;background:#fff;border-radius:6px;padding:8px;font:400 13px var(--ct-font-text);color:#1f2328;max-width:180px}
.ai-list-count{font-size:12px;color:#626a73;margin-left:auto;white-space:nowrap}
.ai-stage .ai-lesson-list.academy-scene{border:0;border-top:1px solid #e1e4e8;border-radius:0;background:transparent;overflow:visible;container-type:normal;display:flex;flex-direction:column;gap:8px;padding-top:8px}
.ai-lesson-list>li{min-width:0}.ai-lesson-list>li>div{border-radius:6px;border:1px solid #e1e4e8}
.ai-list-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:20px;color:#626a73;font-size:13px}.ai-list-pagination>div{display:flex;gap:8px}.ai-list-pagination button{display:flex;gap:8px;align-items:center;font:500 13px var(--ct-font-text);min-height:44px;border:1px solid #626a73;border-radius:6px;background:#fff;padding:8px 12px;color:#1f2328}.ai-list-pagination button:disabled{opacity:.45}
.ai-list-empty{padding:32px 0;display:flex;flex-direction:column;gap:16px;align-items:start;font-size:14px;color:#626a73}
.ai-story-intro>p{font:400 16px/1.65 var(--ct-font-text);color:#626a73;max-width:440px;margin:0}
.ai-story-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:22px}.ai-story-actions button{display:inline-flex;align-items:center;gap:16px;border:0;border-bottom:1px solid #1f2328;background:transparent;color:#1f2328;padding:10px 0;font:500 14px/1.4 var(--ct-font-text);min-height:44px}.ai-story-actions button:hover{color:#1e7b33;border-color:#1e7b33}
@media(max-width:767px){.ai-list-tools.academy-scene{flex-wrap:wrap;gap:12px}.ai-lesson-search{flex-basis:100%;max-width:none}.ai-lesson-search input{font-size:16px}.ai-list-day select{font-size:16px;max-width:165px}.ai-list-count{font-size:12px}.ai-list-pagination{font-size:12px}.ai-list-pagination button{font-size:12px;padding:8px}.ai-lesson-list>li>div>div{min-width:0}}
.ai-moment-person{display:flex;gap:12px;align-items:center;padding-top:14px;margin-top:7px;border-top:1px solid #e1e4e8;font-size:13px;line-height:1.5}
.ai-moment-person small{display:block;color:#626a73;font-size:12px}
.ai-moment .control-well{background:#f7f8fa;color:#1f2328;border-color:#e1e4e8}
.ai-stage .ai-schedule{border:0;border-top:1px solid #e1e4e8;overflow:visible;container-type:normal}
.ai-stage .ai-schedule :is(.csw-tl,.lsw-tl){border-radius:0;border-inline:0;background:transparent}
/* The pinned Agendas omit their old sidebars. Give the remaining native list
   the complete row, without changing a source layout that has a sidebar. */
.ai-stage :is(.lsw-ag,.csw-ag):has(> :is(.lsw-ag-main,.csw-ag-main):only-child){grid-template-columns:minmax(0,1fr)}
/* On phones, status follows the record text instead of squeezing it out.
   The source time, glyph, title and status remain in one native button. */
@media(max-width:767px){
  .ai-stage :is(.csw-ag-row,.lsw-ag-row){grid-template-columns:48px 26px minmax(0,1fr);column-gap:10px;row-gap:6px;padding:12px}
  .ai-stage .csw-ag-row>.csw-statuspill,.ai-stage .lsw-ag-row>.lsw-ag-right{grid-column:3;justify-self:start;max-width:100%;flex-wrap:wrap}
  .ai-stage .csw-ag-row>.csw-statuspill,.ai-stage .lsw-ag-right>.lsw-statuspill{max-width:100%;white-space:normal}
}
.ai-stage .ai-people{border:0;border-top:1px solid #e1e4e8;border-radius:0;background:transparent;overflow:visible}
.ai-stage .ai-schedule .csw-tl{--csw-linew:1px;--csw-line:#d0d6dc}
.ai-stage .ai-schedule .csw-corner{font-family:var(--ct-font-text);text-transform:none;letter-spacing:0}
.ai-stage .ai-schedule .csw-tl-row{border-bottom-color:#e1e4e8}
.ai-stage .ai-schedule .csw-ev{box-shadow:0 3px 8px rgb(31 35 40 / .06)}
/* Queued records remain readable through filter/layout changes. The entrance
   itself owns opacity; an observer queue is never a content visibility gate. */
.ai-stage [data-ai-pending]:focus-within{opacity:1;transform:none}
.ai-section-head .ai-eyebrow{font-size:12px;letter-spacing:.01em;text-transform:none}
.ai-stage .ai-heading-intro{font-size:17px;line-height:1.7}
@media(min-width:2000px){.ai-moments{max-width:780px;gap:28px}.ai-moment{width:430px;padding:28px}.ai-moment-booking{width:370px}.ai-moment>strong{font-size:30px}.ai-moment-kind,.ai-moment-person{font-size:15px}}
@media(max-width:1100px){.ai-moments{padding:10px 0}.ai-moment{padding:18px}.ai-moment>strong{font-size:22px}.ai-moment-booking{width:min(270px,100%)}}
@media(max-width:767px){.ai-heading{gap:28px}.ai-moments{grid-template-columns:1fr 1fr;gap:12px;padding:0 2px 8px;align-items:start}.ai-moment{width:100%;padding:16px}.ai-moment-booking{margin-top:44px}.ai-moment>strong{font-size:20px}.ai-moment-kind{font-size:11px;gap:6px}.ai-moment-kind>svg:first-child{display:none}.ai-moment-person{gap:8px;padding-top:12px;font-size:12px}.ai-moment-person .control-well{display:none}.ai-moment-person small{font-size:11px}.ai-moment-time{font-size:11px}.ai-stage .ai-heading-intro{font-size:15px;margin-top:20px}.ai-demo-label{font-size:10px}.ai-section-head>p{margin:0}}
@media(max-width:380px){.ai-moments{grid-template-columns:1fr}.ai-moment{max-width:245px;justify-self:start}.ai-moment-booking{max-width:215px;justify-self:end;margin-top:0}.ai-moment-person .control-well{display:flex}}
@media(prefers-reduced-motion:reduce){.ai-stage *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.ai-stage [data-ai-pending]{opacity:1;transform:none}.ai-lesson-card:hover{transform:none}}

/* Kept visible by SSR until the source-backed React scene actually mounts. */
.ai-static-preview{padding-top:24px;padding-bottom:24px;border-top:1px solid var(--ct-hairline);font:400 14px/1.65 var(--ct-font-text);color:var(--ct-text-secondary)}
.ai-static-preview[hidden]{display:none}
.ai-static-preview p{margin:0;max-width:76ch}
.ai-static-preview nav{display:flex;gap:8px 24px;flex-wrap:wrap;margin-top:8px}
.ai-static-preview a{display:inline-flex;min-height:44px;align-items:center;color:var(--ct-text);font-weight:500;text-underline-offset:4px}

/* styles/73-audience-experiences.css */
/* Audience pages share Home's brand field; source tenant accents stay inside
   Academy assets. Support copy retains the commercial and release boundaries. */
:is(.page-clubs,.page-programs,.page-managed,.page-product) .hero{padding-bottom:clamp(32px,5vw,72px)}
:is(.page-clubs,.page-programs,.page-managed,.page-product) .hero h1{font-size:clamp(48px,5.8vw,88px);letter-spacing:-.04em;max-width:15ch}
:is(.page-clubs,.page-programs,.page-managed,.page-product) .hero .lede{font-size:18px;line-height:1.65}
:is(.page-clubs,.page-programs,.page-managed,.page-product) .band .head h2{letter-spacing:-.035em}
:is(.page-clubs,.page-programs,.page-managed,.page-product) .band{border-top:1px solid #e1e4e8}
:is(.page-clubs,.page-programs,.page-managed,.page-product) .band .facts{gap:32px 48px}
:is(.page-clubs,.page-programs,.page-managed,.page-product) .band .facts>li{border-top:1px solid #e1e4e8;padding-top:24px}
:is(.page-clubs,.page-programs,.page-managed,.page-product) .ai-stage{padding-top:64px}
.ai-stage[data-audience=programs] .ai-heading{grid-template-columns:1.1fr 1fr}
.ai-stage[data-audience=managed] .ai-heading{margin-bottom:40px}
.ai-stage[data-audience=managed] .ai-heading h2{font-size:clamp(44px,4.9vw,76px)}
.ai-venues-section{padding-top:100px;scroll-margin-top:96px}
.ai-venue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.ai-venue{min-width:0;border-top:1px solid #b8bfc8;padding-top:24px}
.ai-venue-head{margin-bottom:22px}.ai-venue-head h3{font:500 clamp(22px,2.1vw,34px)/1.2 var(--ct-font-display);letter-spacing:-.025em;margin:8px 0 14px}.ai-venue-head p{font:400 13px/1.5 var(--ct-font-text);color:#626a73}
.ai-venue .ai-lesson-list{padding-top:0!important;border-top:0!important}
.ai-venue .ai-story-actions button[aria-pressed=true]{color:#1e7b33;border-color:#1e7b33}
.ai-lessons-section{scroll-margin-top:96px}
.ai-config-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,6vw,100px);align-items:center;border-top:1px solid #e1e4e8;padding-top:40px}
.ai-config-editor{max-width:430px}.ai-config-editor h3{font:500 clamp(32px,3vw,48px)/1.1 var(--ct-font-display);letter-spacing:-.03em;margin:0 0 20px}.ai-config-editor>p:not(.ai-eyebrow){font:400 16px/1.65 var(--ct-font-text);color:#626a73;margin-bottom:28px}
.ai-config-editor label{display:flex;flex-direction:column;gap:9px;font:500 13px/1.5 var(--ct-font-text);color:#626a73}
.ai-config-editor input{width:100%;min-height:48px;background:#fff;border:1px solid #626a73;border-radius:6px;padding:10px 12px;font:400 16px/1.5 var(--ct-font-text);color:#1f2328}
.ai-color-options{display:flex;gap:12px;margin:22px 0}.ai-color-options button{width:44px;height:44px;border:4px solid #f7f8fa;border-radius:50%;outline:1px solid #b8bfc8}.ai-color-options button[aria-pressed=true]{outline:2px solid #1f2328;outline-offset:3px}
.ai-config-reset{display:flex;gap:8px;align-items:center;min-height:44px;border:0;background:transparent;color:#626a73;font:400 13px var(--ct-font-text);padding:8px 0}
.ai-config-preview{overflow-wrap:anywhere;background:transparent!important;border:0!important;overflow:visible!important}.ai-config-preview>.space-y-4{box-shadow:0 8px 20px rgb(31 35 40 / .07)}
.ai-config-brand{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding:8px 0}.ai-brand-mark{display:grid;place-items:center;flex:none;width:60px;height:60px;border-radius:10px;background:var(--ai-club);color:#fff;font:500 28px var(--ct-font-display)}.ai-config-brand strong{display:block;font:500 24px/1.3 var(--ct-font-display);letter-spacing:-.02em;overflow-wrap:anywhere}.ai-config-brand div>span{display:block;font:400 13px/1.5 var(--ct-font-text);color:#626a73;margin-top:5px}
@media(min-width:2000px){:is(.page-clubs,.page-programs,.page-managed,.page-product) .hero h1{font-size:104px}.ai-venue-grid{gap:64px}.ai-config-grid{gap:140px}}
@media(max-width:1100px){.ai-venue-grid{gap:24px}.ai-config-grid{grid-template-columns:.8fr 1.2fr;gap:30px}.ai-config-preview .lg\:grid-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){:is(.page-clubs,.page-programs,.page-managed,.page-product) .hero h1{font-size:clamp(42px,9vw,62px)}:is(.page-clubs,.page-programs,.page-managed,.page-product) .hero .lede{font-size:16px}:is(.page-clubs,.page-programs,.page-managed,.page-product) .ai-stage{padding-top:40px}.ai-stage[data-audience=programs] .ai-heading,.ai-config-grid,.ai-venue-grid{grid-template-columns:1fr}.ai-stage[data-audience=managed] .ai-heading h2{font-size:clamp(38px,8vw,58px)}.ai-venues-section{padding-top:64px}.ai-venue-grid{gap:40px}.ai-config-grid{gap:32px;padding-top:24px}.ai-config-editor{max-width:none}.ai-config-brand strong{font-size:22px}.ai-config-preview>.space-y-4{padding:16px}.ai-config-preview .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-config-preview h2{font-size:18px}.ai-stage[data-audience=managed] .ai-heading{margin-bottom:30px}}
.ai-week-story{padding-top:100px}.ai-week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #e1e4e8;border-bottom:1px solid #e1e4e8}.ai-week-days button{text-align:left;display:flex;flex-direction:column;padding:22px 20px;background:transparent;border:0;border-right:1px solid #e1e4e8;color:#626a73;font:400 13px/1.5 var(--ct-font-text);min-width:0}.ai-week-days button:last-child{border-right:0}.ai-week-days button:hover{background:#eef1f4}.ai-week-days button[aria-pressed=true]{background:#fff;box-shadow:inset 0 -3px #1e7b33}.ai-week-days button>span:first-child{font-weight:500;color:#1f2328}.ai-week-days button small{display:block;color:#626a73;font-size:11px;font-weight:400}.ai-week-days button>strong{font:500 26px/1.2 var(--ct-font-display);color:#1f2328;margin-bottom:6px}.ai-week-days button>strong small{display:inline;margin-left:4px}.ai-day-bars{height:112px;display:flex;align-items:end;gap:5px;padding:8px 0;margin:14px 0 10px}.ai-day-bars i{display:block;width:14px;background:#b8bfc8;border-radius:3px}.ai-day-bars i:nth-child(2){background:var(--ai-club)}.ai-week-disclosure{font:400 12px/1.5 var(--ct-font-text);color:#626a73;margin-top:16px}
@media(max-width:1100px){.ai-week-days button{padding:18px 12px}.ai-week-days button>strong small{display:block;margin:0}}
@media(max-width:767px){.ai-week-story{padding-top:64px}.ai-week-days{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-week-days button{border-bottom:1px solid #e1e4e8;padding:18px}.ai-week-days button:nth-child(2n){border-right:0}.ai-week-days button:last-child{grid-column:1/-1;flex-direction:row;align-items:center;gap:20px;border-bottom:0}.ai-week-days button:last-child .ai-day-bars{margin-left:auto;min-width:35px}.ai-day-bars{height:80px}.ai-day-bars i{max-height:64px}.ai-week-days button>strong small{display:inline;margin-left:4px}}

:is(.page-clubs,.page-programs,.page-managed,.page-product){--wrap:1740px;--gutter:48px}
:is(.page-clubs,.page-programs,.page-managed,.page-product) .hero .eyebrow{font-family:var(--ct-font-text);letter-spacing:0;text-transform:none}
@media(min-width:2000px){:is(.page-clubs,.page-programs,.page-managed,.page-product){--wrap:2200px;--gutter:80px}}
@media(max-width:1100px){:is(.page-clubs,.page-programs,.page-managed,.page-product){--gutter:24px}}
@media(max-width:767px){:is(.page-clubs,.page-programs,.page-managed,.page-product){--gutter:16px}}

/* styles/74-marketing-cohesion.css */
/* The company website keeps one light Contakt material across route changes.
   Tenant branding remains scoped to the source-rendered product assets. */
body{--ct-bg:#f7f8fa;--ct-surface:#fff;--ct-sunken:#f1f3f6;--ct-sunken-strong:#e9edf1;--ct-hairline:#e1e4e8;--ct-rule:#e3e6ea;--ct-rule-strong:#b8bfc8;--ct-text:#1f2328;--ct-text-secondary:#626a73;--ct-ring:#1f2328;--ct-control-border:#626a73;--ct-green-mid:#2fa24b;--ct-green:#1e7b33;--ct-green-deep:#1e7b33;--ct-green-soft:#e5f7e8;--ct-on-green:#fff}
body .closing[data-theme=ink]{--ct-bg:#f7f8fa;--ct-surface:#fff;--ct-sunken:#f1f3f6;--ct-sunken-strong:#e9edf1;--ct-text:#1f2328;--ct-text-secondary:#626a73;--ct-hairline:#e1e4e8;--ct-rule:#e3e6ea;--ct-rule-strong:#b8bfc8;--ct-control-border:#626a73;--ct-green:#1e7b33;--ct-green-deep:#1e7b33;--ct-green-soft:#e5f7e8;--ct-on-green:#fff;--ct-ring:#1f2328;border-top:1px solid #e1e4e8}
.site-header .lockup img,.site-footer .lockup img{content:url('brand/CONTAKT_wordmark_primary.svg')}
.site-footer h2{font-family:var(--ct-font-text);letter-spacing:0;text-transform:none;font-size:13px}
.menu__panel nav a[aria-current=page]{color:#1e7b33}
.menu__panel nav a[aria-current=page]::after{content:'';width:7px;height:7px;border-radius:50%;background:#1e7b33;margin-left:auto}
.site-nav a{padding-inline:10px}
:is(.page-home,.page-clubs,.page-programs,.page-managed){--wrap:1740px;--gutter:48px}
:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero{display:block;min-height:0;padding-block:clamp(56px,5.2vw,88px) 44px}
:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero__top{grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:clamp(40px,6vw,100px);align-items:center}
:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero__title{gap:22px}
:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero .eyebrow{font-family:var(--ct-font-text);font-size:13px;letter-spacing:0;text-transform:none;margin:0}
:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero h1{font:500 clamp(48px,5.45vw,84px)/1.04 var(--ct-font-display);letter-spacing:-.045em;max-width:16ch;text-wrap:balance}
:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero h1>span{color:#626a73}
:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero__side{padding:0;gap:18px}
:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero__side .lede{font-size:18px;line-height:1.65;max-width:43ch}
.page-home .hero__side .actions{margin-top:4px}
.page-home .hero .home-help{margin-top:0;padding-top:16px}
.page-home .ai-stage{padding-top:44px}
.page-home .ai-heading h2{font-size:clamp(42px,4.6vw,70px)}
.page-home .ai-heading{margin-bottom:48px}
.page-home .ai-after{border-top:1px solid #e1e4e8;padding-block:56px}
.page-home .ai-after>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:12px 64px;align-items:center}
.page-home .ai-after .eyebrow{grid-column:1;margin:0}
.page-home .ai-after h2{grid-column:1;font-size:clamp(32px,3.4vw,50px);margin:0}
.page-home .ai-after>.wrap>p:not(.eyebrow){grid-column:2;grid-row:1/3;margin:0}
.academy-pathways{border-top:1px solid #e1e4e8}
.academy-pathways__head{display:grid;grid-template-columns:1.2fr .8fr;gap:20px 80px;align-items:end;margin-bottom:56px}
.academy-pathways__head .eyebrow{grid-column:1/-1;margin:0}
.academy-pathways__head h2{font:500 clamp(40px,4.4vw,68px)/1.08 var(--ct-font-display);letter-spacing:-.035em;max-width:16ch}
.academy-pathways__head>p{font-size:17px;line-height:1.7;color:#626a73;max-width:43ch}
.academy-pathways__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px}
.academy-path{min-width:0;border-top:1px solid #b8bfc8;padding-top:28px}
.academy-path__text>h3{font:500 clamp(28px,2.7vw,42px)/1.15 var(--ct-font-display);letter-spacing:-.035em;max-width:19ch;margin:14px 0 16px}
.academy-path__text>p:not(.eyebrow){max-width:49ch;font-size:16px;line-height:1.7;color:#626a73;margin-bottom:20px}
.academy-path__asset{display:block;text-decoration:none;color:#626a73;margin-top:36px;outline-offset:8px}
.academy-path__caption:focus-visible{outline:2px solid #1f2328}
.academy-path__asset:has(a:hover,a:focus-visible) .pathway-record:first-child{border-color:#626a73}
.pathway-asset.academy-scene{--font-sans:var(--ct-font-text);--font-display:var(--ct-font-display);--font-mono:var(--ct-font-mono);--foreground:#1f2328;--muted-foreground:#626a73;--card:#fff;--background:#f7f8fa;--surface:#f1f3f6;--surface-strong:#e9edf1;--warning-soft:#fbefd9;--warning-ink:#8a5714;--border:#e1e4e8;--border-strong:#b8bfc8;--club1:var(--ai-club);--club1-ink:color-mix(in srgb,var(--ai-club) 85%,#1f2328);--club1-soft:color-mix(in srgb,var(--ai-club) 10%,#f7f8fa);border:0;background:transparent;overflow:visible;position:relative;padding:0 24px 0 0;font-family:var(--ct-font-text)}
.pathway-record{position:relative;z-index:2;border:1px solid #e1e4e8;border-radius:8px;box-shadow:0 8px 20px rgb(31 35 40 / .07);background:#fff;transition:border-color 180ms}
.pathway-record>.space-y-4{border:0!important;background:transparent!important;padding:24px}
.pathway-record h2{font-size:19px;letter-spacing:-.025em}
.pathway-record .lg\:grid-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.pathway-record:nth-child(2){z-index:1;position:relative;height:110px;margin:18px -24px 0 24px;overflow:hidden;pointer-events:none}
.pathway-record:nth-child(2)>.space-y-4{min-height:110px}
.academy-path__caption{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;text-decoration:none;color:#626a73;font:400 12px/1.5 var(--ct-font-text);margin-top:12px}
.academy-service-bridge{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;border-top:1px solid #b8bfc8;margin-top:72px;padding-top:32px;align-items:start}
.academy-service-bridge h3{font:500 clamp(28px,2.7vw,42px)/1.15 var(--ct-font-display);letter-spacing:-.035em;max-width:24ch}
.academy-service-bridge p:not(.eyebrow){color:#626a73;font-size:17px;line-height:1.7;max-width:43ch}
.academy-service-bridge .actions{margin-top:16px}
.academy-related{border-top:1px solid #e1e4e8}
.academy-related__head{margin-bottom:36px}
.academy-related__head h2{font:500 clamp(38px,3.7vw,56px)/1.1 var(--ct-font-display);letter-spacing:-.035em}
.academy-related nav{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.academy-related__link{display:grid;grid-template-columns:1fr 24px;gap:12px 20px;border-top:1px solid #b8bfc8;padding-block:24px;text-decoration:none;color:#1f2328}
.academy-related__link>span{font-size:13px;color:#626a73}
.academy-related__link>strong{grid-column:1;font:500 clamp(24px,2.4vw,36px)/1.2 var(--ct-font-display);letter-spacing:-.025em}
.academy-related__link>p{grid-column:1;color:#626a73;font-size:15px;line-height:1.7;max-width:45ch}
.academy-related__link>svg{grid-column:2;grid-row:2;align-self:center;width:24px;height:24px}
.academy-related__link:hover>strong,.academy-related__link:hover>svg{color:#1e7b33}
.academy-start-now{border-top:1px solid #b8bfc8;padding-top:24px}
.academy-start-now>h3{font:500 25px/1.3 var(--ct-font-display);letter-spacing:-.025em;margin-bottom:20px}
.academy-start-now .actions{margin-top:20px}
.academy-monthly-help{border-top:1px solid #b8bfc8;padding-top:8px}
.academy-monthly-help .note{margin-top:20px}
.page-home #managed .split--flip{grid-template-columns:1fr 1fr}
.page-home #managed .split__text{order:0}
.page-home #managed .home-request{padding:32px 0 0;background:transparent;border:0;border-top:1px solid #e1e4e8;border-radius:0}
.page-home .band .eyebrow,.academy-related .eyebrow{font-family:var(--ct-font-text);letter-spacing:0;text-transform:none}
.page-home #facts .facts>li{border-top:1px solid #e1e4e8;padding-top:24px}
@media(min-width:2000px){:is(.page-home,.page-clubs,.page-programs,.page-managed){--wrap:2200px;--gutter:80px}:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero h1{font-size:110px}.page-home .ai-heading h2{font-size:90px}.academy-pathways__head h2{font-size:82px}.academy-pathways__grid{gap:100px}.pathway-record>.space-y-4{padding:32px}.pathway-record h2{font-size:24px}}
@media(max-width:1179px){.site-header .wrap{--gutter:24px}}
@media(max-width:1100px){:is(.page-home,.page-clubs,.page-programs,.page-managed){--gutter:24px}.academy-pathways__grid,.academy-service-bridge,.academy-related nav{gap:32px}.academy-pathways__head{gap:20px 40px}.academy-path__text>h3{font-size:30px}}
@media(max-width:899px){:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero__top{grid-template-columns:1fr;gap:28px}:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero h1{max-width:21ch}:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero__side .lede{max-width:55ch}.academy-pathways__head,.academy-service-bridge{grid-template-columns:1fr}.academy-pathways__head h2{max-width:24ch}.academy-pathways__head>p{max-width:55ch}.academy-pathways__grid{grid-template-columns:1fr;gap:48px}.academy-path{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}.academy-path__asset{margin-top:0}.page-home #managed .split--flip{grid-template-columns:1fr}}
@media(max-width:767px){:is(.page-home,.page-clubs,.page-programs,.page-managed){--gutter:16px}:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero{padding-block:40px 22px}:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero__title{gap:18px}:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero h1{font-size:clamp(42px,10.5vw,64px);max-width:20ch}:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero__side{gap:16px}:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero__side .lede{font-size:16px;line-height:1.6}.page-home .hero .home-help{font-size:12px}.page-home .ai-stage{padding-top:30px}.page-home .ai-heading h2{font-size:clamp(38px,8vw,52px)}.page-home .ai-after{padding-block:40px}.page-home .ai-after>.wrap{grid-template-columns:1fr;gap:16px}.page-home .ai-after h2{font-size:36px}.page-home .ai-after>.wrap>p:not(.eyebrow){grid-column:1;grid-row:auto;font-size:15px}.academy-pathways__head{gap:18px;margin-bottom:36px}.academy-pathways__head h2{font-size:clamp(38px,8vw,52px)}.academy-pathways__head>p{font-size:15px}.academy-path{display:block;padding-top:24px}.academy-path__text>h3{font-size:32px}.academy-path__text>p:not(.eyebrow){font-size:15px}.academy-path__asset{margin-top:28px}.pathway-asset.academy-scene{padding:0 16px 40px 0}.pathway-record>.space-y-4{padding:16px}.pathway-record:nth-child(2){height:95px;margin:14px -16px 0 16px}.pathway-record h2{font-size:18px}.academy-service-bridge{margin-top:48px;padding-top:24px;gap:20px}.academy-service-bridge h3{font-size:32px}.academy-service-bridge p:not(.eyebrow){font-size:15px}.academy-related nav{grid-template-columns:1fr;gap:12px}.academy-related__link>strong{font-size:28px}.site-header .wrap{--gutter:16px}.page-home #managed .home-request{padding-top:24px}}
@media(prefers-reduced-motion:reduce){.academy-path__asset *{transition:none!important}}

@media(max-width:767px){.page-home .hero h1>span{font-size:clamp(36px,9.5vw,64px)}.page-home .hero__side .btn{padding-inline:16px}.page-home .hero__side .actions{gap:10px}}
@media(max-width:767px){.page-product .hero__side>.actions{flex-direction:column;align-items:flex-start}}

/* styles/75-audience-stories.css */
/* Audience-specific editorial stories. Source widgets keep their own tokens. */
.ai-audience-story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,120px);align-items:center;padding-top:120px}
.ai-story-copy h2,.ai-invitation-heading h2{font:500 clamp(38px,4vw,64px)/1.07 var(--ct-font-display);letter-spacing:-.035em;margin:0 0 28px;text-wrap:balance}
.ai-story-copy h2 span,.ai-invitation-heading h2 span{color:var(--ct-text-secondary)}
.ai-story-copy>p:not(.ai-eyebrow),.ai-invitation-heading>p:not(.ai-eyebrow){font:400 17px/1.7 var(--ct-font-text);color:var(--ct-text-secondary);max-width:44ch}
.ai-conversation-asset{min-width:0;background:#fff;border-top:3px solid var(--ai-club);box-shadow:0 20px 50px rgb(31 35 40 / .07);border-radius:6px;padding:28px}
.ai-conversation-head{padding-bottom:20px;border-bottom:1px solid var(--ct-hairline)}
.ai-conversation-head h3{font:500 26px/1.2 var(--ct-font-display);letter-spacing:-.025em;margin:12px 0 8px}
.ai-conversation-head p{font:400 13px/1.6 var(--ct-font-text);color:var(--ct-text-secondary)}
.ai-story-board{margin:20px -12px 0;border:0;background:transparent;overflow:visible}
.ai-story-messages li>.academy-scene{width:36px;flex:none;border:0;background:transparent;overflow:visible;container-type:normal}
.ai-story-messages .control-well{background:#f1f3f6;color:#1f2328;border-color:#e1e4e8}
.ai-story-messages{list-style:none;margin:0;padding:0}
.ai-story-messages li{display:flex;align-items:flex-start;gap:12px;padding-top:24px}
.ai-story-messages li>div:last-child{min-width:0;flex:1}
.ai-story-messages strong{display:flex;gap:12px;flex-wrap:wrap;font:500 14px/1.5 var(--ct-font-text)}
.ai-story-messages strong span{font-weight:400;color:var(--ct-text-secondary)}
.ai-story-messages li p{font:400 15px/1.65 var(--ct-font-text);margin:7px 0 0;max-width:48ch}
.ai-story-evidence{font:400 12px/1.65 var(--ct-font-text);color:var(--ct-text-secondary);margin:24px 0 0}
.ai-story-programs .ai-story-copy{grid-column:2;grid-row:1}
.ai-story-programs .ai-conversation-asset{grid-column:1;grid-row:1}
.ai-invitation-story{padding-top:120px}
.ai-invitation-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:16px 64px;align-items:end;margin-bottom:44px}
.ai-invitation-heading .ai-eyebrow{grid-column:1/-1;margin-bottom:0}
.ai-invitation-heading h2{margin-bottom:0}
.ai-invitation-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
.ai-invite-roles{border-top:1px solid var(--ct-rule-strong)}
.ai-invite-roles button{display:flex;gap:16px;align-items:center;width:100%;min-height:80px;background:transparent;border:0;border-bottom:1px solid var(--ct-rule-strong);padding:20px 16px;font:500 19px/1.5 var(--ct-font-text);text-align:left;color:var(--ct-text)}
.ai-invite-roles button span{flex:1}
.ai-invite-roles button[aria-pressed=true]{background:var(--ct-green-soft);box-shadow:inset 3px 0 var(--ct-green);color:var(--ct-green-deep)}
.ai-invitation-letter{background:#fff;box-shadow:0 20px 50px rgb(31 35 40 / .07);border-radius:6px;padding:32px 40px;min-width:0;min-height:400px}
.ai-letter-from{display:flex;gap:14px;align-items:center;padding-bottom:22px;border-bottom:1px solid var(--ct-hairline);font:500 15px/1.6 var(--ct-font-text)}
.ai-letter-from small{display:block;color:var(--ct-text-secondary);font:400 12px/1.6 var(--ct-font-text)}
.ai-letter-content{padding-top:24px}
.ai-letter-content h3{font:500 28px/1.2 var(--ct-font-display);letter-spacing:-.025em;margin:12px 0 20px}
.ai-letter-content>p:not(.ai-small-cap){font:400 16px/1.7 var(--ct-font-text);max-width:50ch}
.ai-letter-signoff{margin-top:24px}
.ai-invite-connected{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center;margin-top:32px}
.ai-invite-connected>span{font:400 13px/1.6 var(--ct-font-text);color:var(--ct-text-secondary)}
.ai-invite-connected .ai-lesson-list{padding:0!important;margin:0}
.ai-invite-roles button:focus-visible{outline:2px solid var(--ct-ring);outline-offset:3px}
.ai-teaching-story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,120px);align-items:center;margin-bottom:48px}
.ai-teaching-asset{min-width:0;margin:0;padding:28px;background:#fff;border:1px solid var(--ct-hairline);border-radius:6px;box-shadow:0 20px 50px rgb(31 35 40 / .07)}
.ai-teaching-person{display:flex;align-items:center;gap:14px;padding-bottom:24px}
.ai-teaching-person>.academy-scene{width:44px;border:0;container-type:normal;overflow:visible;background:transparent}
.ai-teaching-person .control-well{color:#1f2328;background:#f1f3f6;border-color:#e1e4e8}
.ai-teaching-person strong{display:block;font:500 17px/1.5 var(--ct-font-text)}
.ai-teaching-person>div>span{display:block;font:400 12px/1.5 var(--ct-font-text);color:var(--ct-text-secondary)}
.ai-teaching-date{margin-left:auto;font:400 12px/1.5 var(--ct-font-text);color:var(--ct-text-secondary);text-align:right}
.ai-teaching-today.academy-scene{border:0;background:transparent;overflow:visible;container-type:normal;--club1:var(--ai-club);--club1-soft:color-mix(in srgb,var(--ai-club) 10%,#f7f8fa);--club1-ink:color-mix(in srgb,var(--ai-club) 85%,#1f2328)}
.ai-teaching-place{display:flex;gap:12px;align-items:center;padding:20px 0 24px;border-top:1px solid var(--ct-hairline)}
.ai-teaching-place strong{font:500 14px/1.5 var(--ct-font-text);display:block}
.ai-teaching-place span{font:400 12px/1.5 var(--ct-font-text);color:var(--ct-text-secondary)}
.ai-teaching-asset figcaption{font:400 12px/1.6 var(--ct-font-text);color:var(--ct-text-secondary)}
.ai-teaching-programs .ai-story-copy{grid-column:2;grid-row:1}
.ai-teaching-programs .ai-teaching-asset{grid-column:1;grid-row:1}
@media(min-width:2000px){.ai-teaching-asset{padding:40px}.ai-teaching-person strong{font-size:22px}}
@media(max-width:1100px){.ai-teaching-story{gap:32px}.ai-teaching-asset{padding:24px}}
@media(max-width:767px){.ai-teaching-story{grid-template-columns:1fr;gap:28px;margin-bottom:36px}.ai-teaching-programs .ai-story-copy,.ai-teaching-programs .ai-teaching-asset{grid-column:auto;grid-row:auto}.ai-teaching-asset{padding:20px 16px}.ai-teaching-person{gap:10px}.ai-teaching-person strong{font-size:15px}.ai-teaching-date{font-size:11px;flex:none}.ai-teaching-person>div:nth-child(2){min-width:0}}
@media(min-width:2000px){.ai-story-copy h2,.ai-invitation-heading h2{font-size:80px}.ai-conversation-asset{padding:40px}.ai-story-messages li p{font-size:18px}.ai-letter-content>p:not(.ai-small-cap){font-size:18px}.ai-invitation-letter{padding:48px 56px}}
@media(max-width:1100px){.ai-audience-story{gap:32px}.ai-invitation-layout,.ai-invite-connected{gap:32px}.ai-conversation-asset{padding:24px}.ai-invitation-letter{padding:28px}}
@media(max-width:767px){.ai-audience-story{grid-template-columns:1fr;padding-top:72px}.ai-story-programs .ai-story-copy,.ai-story-programs .ai-conversation-asset{grid-column:auto;grid-row:auto}.ai-story-copy h2,.ai-invitation-heading h2{font-size:clamp(36px,8vw,48px)}.ai-conversation-asset{padding:20px 16px}.ai-invitation-story{padding-top:72px}.ai-invitation-heading{grid-template-columns:1fr;gap:20px;margin-bottom:28px}.ai-invitation-layout,.ai-invite-connected{grid-template-columns:1fr;gap:24px}.ai-invitation-letter{min-height:390px;padding:24px 20px}.ai-invite-roles button{font-size:17px;min-height:64px}.ai-letter-content h3{font-size:26px}.ai-invite-connected{gap:12px}}

/* The member calendar is one bounded household asset, at native source density. */
.ai-family-story{padding-top:112px}
.ai-family-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,120px);align-items:center;margin-bottom:36px}
.ai-family-intro>p{font:400 17px/1.7 var(--ct-font-text);color:var(--ct-text-secondary);max-width:48ch}
.ai-family-asset{margin:0;padding:28px;background:#fff;border:1px solid var(--ct-hairline);border-radius:6px;box-shadow:0 20px 50px rgb(31 35 40 / .06)}
.ai-family-heading{display:flex;justify-content:space-between;gap:20px;align-items:baseline;padding-bottom:24px}
.ai-family-heading strong{font:500 22px/1.3 var(--ct-font-display);letter-spacing:-.02em}
.ai-family-heading>span{font:400 12px/1.5 var(--ct-font-text);color:var(--ct-text-secondary)}
.ai-family-week.academy-scene{container-type:normal;border:0;overflow:visible;background:transparent;--club1-soft:#e4eef5;--club1-ink:#174564;--joint-soft:#f3e9f2;--joint-ink:#633060}
.ai-family-week a:focus-visible{outline:2px solid var(--ct-ring);outline-offset:2px}
.ai-family-asset figcaption{margin:24px 0 0;font:400 12px/1.65 var(--ct-font-text);color:var(--ct-text-secondary);max-width:86ch}
@media(min-width:2000px){.ai-family-asset{padding:40px}.ai-family-heading strong{font-size:28px}.ai-family-intro>p{font-size:20px}}
@media(max-width:767px){.ai-family-story{padding-top:72px}.ai-family-intro{grid-template-columns:1fr;gap:20px;margin-bottom:28px}.ai-family-intro .ai-story-copy h2{margin-bottom:0}.ai-family-asset{padding:20px 16px}.ai-family-heading{display:block;padding-bottom:20px}.ai-family-heading strong{display:block;font-size:20px}.ai-family-heading>span{display:block;margin-top:8px}.ai-family-intro>p{font-size:16px}}

/* One subject, three sequential readings. Source surfaces keep their own frame. */
:is(.page-clubs,.page-programs) .hero{padding-block:40px 32px}
:is(.page-clubs,.page-programs) .hero h1{font-size:clamp(44px,4.8vw,68px);max-width:18ch;overflow-wrap:anywhere}
:is(.page-clubs,.page-programs) .hero__title{gap:14px;min-width:0}
:is(.page-clubs,.page-programs) .hero__side{padding-top:0;gap:16px}
:is(.page-clubs,.page-programs) .ai-stage{padding-top:16px}
.ai-shared-heading{padding-block:12px 16px}
.ai-shared-intro{display:flex;gap:12px 32px;align-items:baseline;flex-wrap:wrap}
.ai-shared-intro h2{font:500 26px/1.25 var(--ct-font-display);letter-spacing:-.025em;margin:0}
.ai-shared-intro>p{font:400 15px/1.6 var(--ct-font-text);color:var(--ct-text-secondary);margin:0}
.ai-subject-spine{display:flex;flex-wrap:wrap;gap:6px 24px;padding:16px 0;margin-top:16px;border-block:1px solid var(--ct-rule-strong);font:400 14px/1.65 var(--ct-font-text)}
.ai-subject-spine strong{font-weight:500}
.ai-subject-disclosure{font:400 12px/1.6 var(--ct-font-text);color:var(--ct-text-secondary);margin:12px 0 0}
.ai-perspective{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,5vw,72px);align-items:center;padding-block:28px;border-bottom:1px solid var(--ct-hairline)}
.ai-perspective .ai-story-copy h2{font-size:clamp(30px,3vw,42px);margin-bottom:20px}
.ai-perspective .ai-story-copy>p:not(.ai-eyebrow){font-size:16px;line-height:1.65;max-width:36ch}
.ai-three-perspectives .ai-perspective-asset{min-width:0;margin:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.ai-three-perspectives .ai-perspective-asset figcaption{margin-top:14px;font:400 12px/1.6 var(--ct-font-text);color:var(--ct-text-secondary)}
.ai-shared-summary.academy-scene{border:0;overflow:visible;background:transparent;container-type:normal}
.ai-shared-summary .ai-occurrence-facts{margin:16px 0 8px;font:400 13px/1.65 var(--ct-font-text)}
.ai-role-record-link{display:inline-flex;gap:12px;align-items:center;min-height:44px;font-weight:500;text-decoration:underline;text-underline-offset:4px}
.ai-role-record-link:focus-visible{outline:2px solid var(--ct-ring);outline-offset:4px}
.ai-three-perspectives .ai-teaching-person{align-items:center;flex-wrap:wrap;padding-bottom:18px}
.ai-three-perspectives .ai-teaching-person .ai-teaching-date{font:400 12px/1.6 var(--ct-font-text);color:var(--ct-text-secondary);max-width:none;text-wrap:balance}
.ai-three-perspectives .ai-family-heading{flex-wrap:wrap;gap:8px 20px;padding-bottom:18px}
.ai-three-perspectives .ai-family-heading strong{font-size:22px}
.ai-parent-place{display:flex;gap:12px;align-items:start;margin-top:18px;font:400 14px/1.65 var(--ct-font-text)}
.ai-shared-payoff{padding-block:36px 48px}
.ai-shared-payoff h3{font:500 28px/1.2 var(--ct-font-display);letter-spacing:-.02em;margin:0 0 14px}
.ai-shared-payoff p{font:400 14px/1.65 var(--ct-font-text);color:var(--ct-text-secondary);margin:0}
/* Opening the finite workspace must not anchor the document to its late
   timeline layout and move a schedule control during a pointer press. */
.ai-office-disclosure{border-block:1px solid var(--ct-rule-strong);margin-top:16px;padding-block:24px;overflow-anchor:none}
.ai-office-disclosure>summary{max-width:var(--ct-content-wide,1200px);margin:auto;padding:16px 32px;cursor:pointer;font:500 19px/1.5 var(--ct-font-text);min-height:56px}
.ai-office-disclosure>summary:focus-visible{outline:2px solid var(--ct-ring);outline-offset:-2px}
.ai-office-disclosure-note{font:400 14px/1.7 var(--ct-font-text);color:var(--ct-text-secondary);margin-top:20px}
.ai-personal-detail .ai-detail-owner{font:500 13px/1.6 var(--ct-font-text);color:var(--muted-foreground);margin-bottom:12px}
.ai-personal-detail dd{min-width:0;overflow-wrap:anywhere}
@media(max-width:899px){:is(.page-clubs,.page-programs) .hero__side{padding-top:0}}
@media(max-width:767px){:is(.page-clubs,.page-programs) .hero{padding-block:28px 20px}:is(.page-clubs,.page-programs) .hero__top{gap:20px}:is(.page-clubs,.page-programs) .hero h1{font-size:clamp(40px,9vw,54px)}:is(.page-clubs,.page-programs) .ai-stage{padding-top:12px}.ai-shared-heading{padding-block:16px 12px}.ai-shared-intro{gap:8px}.ai-shared-intro h2{font-size:24px}.ai-shared-intro>p{font-size:14px}.ai-subject-spine{gap:8px;padding-block:12px}.ai-subject-spine span{flex-basis:100%}.ai-perspective{grid-template-columns:1fr;padding-block:28px;gap:22px}.ai-perspective .ai-story-copy h2{font-size:32px;margin-bottom:14px}.ai-perspective .ai-story-copy>p:not(.ai-eyebrow){font-size:15px}.ai-three-perspectives .ai-teaching-person .ai-teaching-date{flex-basis:100%;margin-left:0;text-align:left;max-width:none}.ai-three-perspectives .ai-family-heading{display:block}.ai-three-perspectives .ai-family-heading>span{margin-top:6px}.ai-office-disclosure>summary{padding-inline:20px}.ai-shared-payoff{padding-block:28px 32px}}

@media(min-width:900px){:is(.page-clubs,.page-programs) .hero__side .actions{gap:12px}:is(.page-clubs,.page-programs) .hero__side .btn{padding-inline:16px}}

@media(min-width:900px){:is(.page-clubs,.page-programs) .hero__top{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px}:is(.page-clubs,.page-programs) .hero h1{font-size:clamp(44px,4.4vw,64px)}}
/* Personal facts use the same right SourceSheet with website-only geometry.
   Office records retain their existing full-height width and native lifecycle. */
.ai-personal-record-sheet{width:min(600px,calc(100vw - 32px))!important;height:auto!important;max-height:calc(100dvh - 48px);top:24px!important;bottom:auto!important;right:16px!important;border-radius:14px!important;border:1px solid var(--border)!important;padding:24px!important;scroll-padding-block:24px}
.ai-personal-record-sheet .ai-personal-detail{padding-top:4px}
.ai-personal-record-sheet .ai-detail-owner{margin:0}
.ai-personal-record-sheet [data-slot=dialog-header]{margin-bottom:20px}
.ai-schedule-top [data-testid=schedule-heading]{scroll-margin-top:calc(var(--header-h,64px) + 20px);outline-offset:5px}
@media(max-width:767px){.ai-personal-record-sheet{width:100vw!important;max-height:calc(100dvh - 24px);top:auto!important;bottom:0!important;right:0!important;border-radius:14px 14px 0 0!important;padding:24px 20px max(24px,env(safe-area-inset-bottom))!important}.ai-personal-record-sheet [data-slot=dialog-close]{min-width:44px;min-height:44px}}

/* Feature examples use the existing editorial/record language, directly on
   the page. R4/R23: finite website projections, original record components. */
.ai-feature-stories{padding-top:100px;scroll-margin-top:90px}
.ai-feature-intro{padding-bottom:40px;border-bottom:1px solid var(--ct-rule-strong)}
.ai-feature-intro h2{font:500 clamp(34px,4vw,60px)/1.1 var(--ct-font-display);letter-spacing:-.035em;max-width:19ch;margin:0 0 24px;text-wrap:balance}
.ai-feature-intro>p:not(.ai-eyebrow){font:400 16px/1.7 var(--ct-font-text);color:var(--ct-text-secondary);max-width:65ch}
.ai-feature-index{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:30px}
.ai-feature-index a{display:flex;align-items:center;gap:8px;min-height:44px;color:var(--ct-text);font:500 14px/1.5 var(--ct-font-text);text-decoration:underline;text-decoration-color:var(--ct-hairline);text-underline-offset:6px}
.ai-feature-index a:hover{color:var(--ct-green-deep);text-decoration-color:currentColor}
.ai-feature-story{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,90px);padding-block:72px;border-bottom:1px solid var(--ct-hairline);align-items:center;scroll-margin-top:88px}
.ai-feature-copy h3{font:500 clamp(30px,3.2vw,44px)/1.15 var(--ct-font-display);letter-spacing:-.025em;margin:0 0 20px;max-width:20ch;text-wrap:balance}
.ai-feature-copy>p:not(.ai-eyebrow){font:400 15.5px/1.7 var(--ct-font-text);color:var(--ct-text-secondary);max-width:44ch}
.ai-feature-copy .ai-feature-example{padding-top:18px;margin-top:22px;border-top:1px solid var(--ct-hairline);color:var(--ct-text)!important}
.ai-feature-roles{list-style:none;padding:0;margin:20px 0;font:400 12px/1.7 var(--ct-font-text);color:var(--ct-text-secondary)}
.ai-feature-roles li{margin:4px 0}
.ai-stage .ai-feature-asset.academy-scene{border:0;border-radius:0;background:transparent;overflow:visible;container-type:normal;min-width:0}
.ai-feature-asset-heading{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--ct-rule-strong);padding:0 0 14px;margin-bottom:18px;font:500 13px/1.6 var(--ct-font-text);color:var(--ct-text-secondary)}
.ai-feature-asset .elev-card{box-shadow:0 8px 20px rgb(31 35 40 / .05);border:1px solid var(--ct-hairline)}
.ai-feature-asset .ai-lesson-list{padding:0!important;margin:0}
.ai-feature-asset :is(button,a){white-space:normal}
.ai-feature-caption{font:400 12px/1.7 var(--ct-font-text);color:var(--ct-text-secondary);margin:20px 0 0}
.ai-feature-caption a{color:var(--ct-green-deep);text-underline-offset:3px}
.ai-feature-retail-mark{display:flex;align-items:center;gap:16px;padding:18px 0 28px;font:500 17px/1.4 var(--ct-font-text)}
.ai-feature-location-options{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.ai-feature-location-options button,.ai-feature-editions button{display:flex;align-items:center;gap:8px;border:1px solid var(--ct-control-border);background:transparent;color:var(--ct-text);border-radius:6px;min-height:44px;padding:8px 12px;font:500 13px/1.5 var(--ct-font-text);text-align:left}
.ai-feature-location-options button[aria-pressed=true],.ai-feature-editions button[aria-pressed=true]{background:var(--ct-green-soft);border-color:var(--ct-green-deep);color:var(--ct-green-deep)}
.ai-feature-site-title{display:flex;gap:12px;align-items:center;padding:12px 0 20px}
.ai-feature-site-title h4{font:500 22px/1.25 var(--ct-font-display);letter-spacing:-.02em;margin:0;overflow-wrap:anywhere}
.ai-feature-money-lead{display:flex;align-items:center;gap:12px;padding:24px 0 30px;flex-wrap:wrap;font:400 14px/1.6 var(--ct-font-text)}
.ai-feature-money-lead strong{flex-basis:100%;font:500 clamp(36px,4vw,52px)/1.1 var(--ct-font-display);letter-spacing:-.025em;margin-top:10px;color:var(--ct-text);font-variant-numeric:tabular-nums}
.ai-feature-teacher{display:flex;gap:12px;align-items:center;padding-block:12px 24px}
.ai-feature-teacher strong{display:block;font:500 17px/1.5 var(--ct-font-text)}
.ai-feature-teacher span{display:block;font:400 12px/1.6 var(--ct-font-text);color:var(--ct-text-secondary)}
.ai-feature-hours{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;border-block:1px solid var(--ct-hairline);padding-block:24px;margin:0 0 24px}
.ai-feature-hours dt{font:400 12px/1.6 var(--ct-font-text);color:var(--ct-text-secondary)}
.ai-feature-hours dd{font:500 clamp(25px,3vw,36px)/1.2 var(--ct-font-display);font-variant-numeric:tabular-nums;margin:8px 0 0}
.ai-feature-editions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.ai-feature-detail dl>div{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:20px;padding-block:12px;border-bottom:1px solid var(--border)}
.ai-feature-detail dt{color:var(--muted-foreground);font:400 13px/1.6 var(--font-sans)}
.ai-feature-detail dd{margin:0;overflow-wrap:anywhere;font:500 14px/1.6 var(--font-sans)}
.ai-feature-detail p{font:400 13px/1.7 var(--font-sans);color:var(--muted-foreground);margin-top:24px}
@media(max-width:767px){.ai-feature-stories{padding-top:64px}.ai-feature-intro h2{font-size:36px}.ai-feature-index{gap:6px 16px}.ai-feature-index a{font-size:13px}.ai-feature-story{grid-template-columns:1fr;gap:28px;padding-block:44px}.ai-feature-copy h3{font-size:32px}.ai-feature-copy>p:not(.ai-eyebrow){font-size:15px}.ai-feature-asset-heading{font-size:12px;gap:12px}.ai-feature-asset .elev-card{flex-direction:column}.ai-feature-asset .elev-card>div:last-child{max-width:100%}.ai-feature-asset button{min-height:44px}.ai-feature-hours{gap:8px}.ai-feature-hours dt{font-size:12px}.ai-feature-hours dd{font-size:27px}.ai-feature-detail dl>div{gap:12px}}

.ai-feature-copy>.ai-feature-action{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 0;border:0;border-bottom:1px solid var(--ct-control-border);border-radius:0;background:transparent;color:var(--ct-text);font:500 14px/1.5 var(--ct-font-text);text-align:left}
.ai-feature-copy>.ai-feature-action:hover{color:var(--ct-green-deep);border-bottom-color:currentColor}

/* Public Spaces is an illustrative tenant front door; it is a preview, never a live tenant page. */
.ai-public-preview{position:relative;max-width:680px;margin:0 auto;padding:0 0 0 22px}
.ai-public-browser{position:relative;z-index:1;display:flex;align-items:center;gap:7px;height:42px;padding:0 14px;background:#eef0f2;border:1px solid #dfe2e5;border-bottom:0;border-radius:8px 8px 0 0;color:#606975}
.ai-public-browser>span{width:8px;height:8px;border-radius:50%;background:#b6bbc1}
.ai-public-browser small{margin-left:12px;font:400 11px/1.4 var(--ct-font-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-public-page{position:relative;z-index:2;margin-left:20px;padding:22px;background:#fff;border:1px solid var(--ct-hairline);border-radius:0 8px 8px 8px;box-shadow:0 22px 55px rgb(31 35 40 / .10)}
.ai-public-brand{display:flex;align-items:center;gap:10px;padding-bottom:18px;border-bottom:1px solid var(--ct-hairline)}
.ai-public-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:6px;background:#e7f0ea;color:#245d43}
.ai-public-brand>div{min-width:0;flex:1}
.ai-public-brand strong,.ai-public-brand small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-public-brand strong{font:500 14px/1.4 var(--ct-font-text)}
.ai-public-brand small{font:400 11px/1.4 var(--ct-font-text);color:var(--ct-text-secondary)}
.ai-public-preview-tag{padding:4px 8px;border:1px solid var(--ct-hairline);border-radius:999px;color:var(--ct-text-secondary);font:500 10px/1.4 var(--ct-font-text);text-transform:uppercase;letter-spacing:.08em}
.ai-public-hero{padding:22px 0 20px}
.ai-public-photo{display:block;width:100%;height:160px;object-fit:cover;margin:18px 0 0;border-radius:4px}
.ai-public-photo-credit{display:block;margin-top:5px;font:400 10px/1.5 var(--ct-font-text);color:var(--ct-text-secondary)}
.ai-public-photo-credit a{color:inherit;text-underline-offset:2px}
.ai-public-hero>p{margin:0 0 8px;color:var(--ct-text-secondary);font:500 10px/1.5 var(--ct-font-text);letter-spacing:.12em}
.ai-public-hero h4{margin:0 0 7px;font:500 clamp(23px,3vw,34px)/1.12 var(--ct-font-display);letter-spacing:-.025em}
.ai-public-hero>span{font:400 12px/1.6 var(--ct-font-text);color:var(--ct-text-secondary)}
.ai-public-doors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ai-public-doors>span{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;padding:9px 11px;border:1px solid var(--ct-hairline);border-radius:6px;font:500 11px/1.4 var(--ct-font-text)}
.ai-public-note{margin:14px 0 0;color:var(--ct-text-secondary);font:400 11px/1.55 var(--ct-font-text)}
.ai-public-preview>.ai-feature-caption{margin-left:20px}
.ai-visitor-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:32px 64px;align-items:center;padding-block:72px 88px;border-top:1px solid var(--ct-rule-strong)}
.ai-visitor-entry h2{max-width:19ch;margin:0 0 12px;font:500 clamp(30px,3.4vw,46px)/1.12 var(--ct-font-display);letter-spacing:-.03em}
.ai-visitor-entry>div:first-child>p:not(.ai-eyebrow){max-width:60ch;margin:0;color:var(--ct-text-secondary);font:400 14px/1.7 var(--ct-font-text)}
.ai-visitor-entry-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ai-visitor-entry-links a{display:flex;align-items:center;justify-content:center;min-height:54px;padding:12px 15px;border:1px solid var(--ct-green-deep);border-radius:6px;background:var(--ct-green-deep);color:#fff;text-align:center;text-decoration:none;font:500 13px/1.4 var(--ct-font-text)}
.ai-visitor-entry-links a:hover{background:#174532;border-color:#174532}
.ai-visitor-entry-links a:focus-visible{outline:2px solid var(--ct-ring);outline-offset:3px}
@media(max-width:767px){.ai-public-preview{padding-left:8px}.ai-public-page{margin-left:8px;padding:16px}.ai-public-browser{height:36px;padding-inline:10px}.ai-public-browser small{font-size:10px}.ai-public-doors{grid-template-columns:1fr}.ai-public-preview>.ai-feature-caption{margin-left:8px}.ai-visitor-entry{grid-template-columns:1fr;gap:24px;padding-block:48px 56px}.ai-visitor-entry-links{grid-template-columns:1fr}.ai-visitor-entry-links a{min-height:48px}}

/* styles/78-taste-product.css */
/* Marketing copy introduces the actual interface; it does not compete with it. */
:is(.page-home,.page-clubs,.page-programs,.page-managed,.page-product) .hero h1{font-size:clamp(40px,4.8vw,72px);max-width:20ch;line-height:1.08;letter-spacing:-.04em}
:is(.page-home,.page-clubs,.page-programs,.page-managed,.page-product) .hero h1>span{color:var(--ct-text)}
:is(.page-home,.page-clubs,.page-programs,.page-managed,.page-product) .hero{padding-block:44px 36px}
.home-opening{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,5vw,80px);align-items:center}
.home-opening__copy{display:flex;flex-direction:column;align-items:flex-start;gap:22px;max-width:36rem}
.page-home .hero h1{font-size:clamp(40px,4vw,64px)}
.home-opening__copy .lede{font-size:18px;line-height:1.65;max-width:39ch;color:var(--ct-text)}
.home-opening__product{min-width:0;padding:24px;background:var(--ct-green-soft);border-radius:8px}
.hero__top--product{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)!important}
.hero__copy{display:flex;flex-direction:column;gap:24px}
.hero__copy .hero__side .lede{color:var(--ct-text)}
.hero__asset{min-width:0;padding:28px;background:var(--ct-sunken-strong);border-radius:8px}
.page-programs .hero__asset{background:#f2edf1}
.hero-product-preview{margin:0}
.hero-product-preview .pathway-asset{width:100%;padding-right:20px}
.hero-product-preview .pathway-record h2{font-size:22px}
.hero-product-preview figcaption{font-size:12px;margin-top:18px;color:var(--ct-text-secondary)}
.home-opening__product .ai-wrap{width:100%;margin-inline:0}
.page-home .home-opening .foundation-stage{padding:0}
.home-opening .foundation-field{display:block;padding-top:0}
.home-opening .foundation-workspace{align-items:flex-start;gap:12px;margin-bottom:16px}
.home-opening .foundation-workspace>p{max-width:20ch;text-align:right}
.home-opening .foundation-record figcaption{margin-top:4px}
.home-opening .foundation-connections{display:grid;grid-template-columns:.8fr 1.2fr;gap:12px;padding:0;margin-top:16px}
.home-opening .foundation-connections>a{margin:0;padding:16px;box-shadow:none}
.home-opening .foundation-person{grid-template-columns:36px 1fr;gap:0 10px}
.home-opening .foundation-avatar{width:36px}
.home-opening .foundation-asset-label{font-size:12px;margin-bottom:10px}
.home-opening .foundation-dates>strong{font-size:21px}
.home-opening .foundation-disclosure{margin-top:16px}
.sales-fee-summary{padding-block:28px}
.sales-fee-summary .wrap{grid-template-columns:150px minmax(0,1fr) auto;gap:24px 48px}
.sales-fee-summary__figure strong{font-size:64px;letter-spacing:-.05em}
.sales-fee-summary__figure span{font-size:13px}
.sales-fee-summary h2{font-size:25px;max-width:none;text-wrap:initial}
.sales-fee-summary p{margin-top:8px;font-size:15px;max-width:74ch}
.sales-fee-summary .sales-note{font-size:12px}
.sales-fee-summary>.wrap>.btn{white-space:nowrap}
.academy-pathways__head{display:block;margin-bottom:36px;max-width:60rem}
.academy-pathways__head>.eyebrow{display:none}
.academy-pathways__head h2{font-size:clamp(30px,3vw,44px);max-width:none;margin-bottom:16px}
.academy-pathways__head>p{max-width:64ch;font-size:16px}
.academy-path__text>h3,.academy-service-bridge h3{font-size:clamp(25px,2.5vw,36px);max-width:26ch}
.academy-path__text>.eyebrow{color:var(--ct-green-deep);font-weight:600}
.sales-advantages h2,.sales-next-step h2{font-size:clamp(28px,3vw,40px);max-width:32ch}
.sales-advantages--clubs .sales-advantages__items{grid-template-columns:1fr 1fr}
.sales-advantages--clubs article:first-child{grid-column:1/-1;display:grid;grid-template-columns:.7fr 1.3fr;gap:32px;padding:24px;background:var(--ct-surface);border:1px solid var(--ct-hairline);border-radius:6px}
.sales-advantages--clubs article:first-child p{margin:0;max-width:60ch}
.sales-advantages--programs .sales-advantages__items{grid-template-columns:1fr;gap:0}
.sales-advantages--programs article{display:grid;grid-template-columns:minmax(180px,.5fr) minmax(0,1fr);gap:32px;padding-block:20px}
.sales-advantages--programs article p{margin:0;max-width:62ch}
.ai-section-head,.ai-family-intro{grid-template-columns:1fr;gap:16px;align-items:start}
.ai-section-head h2,.ai-story-copy h2,.ai-invitation-heading h2,.ai-shared-heading h2,.ai-feature-intro h2{font-size:clamp(28px,3.2vw,44px);line-height:1.15;max-width:28ch}
.ai-section-head>p,.ai-section-head .ai-story-intro,.ai-family-intro>p{max-width:68ch;margin:0}
.ai-heading h2{font-size:clamp(32px,3.4vw,48px)}
.ai-heading h2 span{color:var(--ct-text)}
.ai-feature-story h3{font-size:clamp(24px,2.6vw,36px);line-height:1.2}
.ai-shared-heading{margin-bottom:36px}
.ai-shared-payoff h3{font-size:22px}
.ai-perspective .ai-story-copy>p:not(.ai-eyebrow),.ai-feature-copy>p,.ai-invitation-heading>p{color:var(--ct-text)}
.page-product .hero{padding-block:28px 20px}
.page-product .hero__top{grid-template-columns:1fr;gap:14px}
.page-product .hero__title>.eyebrow{display:none}
.page-product .hero h1{font-size:40px;max-width:none}
.page-product .hero__side{padding:0;gap:14px}
.page-product .hero .lede{font-size:16px;max-width:72ch;color:var(--ct-text)}
.page-product .hero .actions{flex-direction:row}
.page-product #experience{background:var(--ct-sunken);border-block:1px solid var(--ct-hairline)}
.page-product .ai-stage{padding-top:24px}
.page-product .ai-org-bar{padding-bottom:18px}
.page-product .ai-schedule{padding:24px;background:var(--ct-surface);border:1px solid var(--ct-hairline);border-radius:8px}
.page-product .ai-schedule-top :is(h2,h3){font-size:24px}
.pricing-section-label h2{font-size:30px;line-height:1.2}
@media(min-width:2000px){.page-home .hero h1{font-size:86px}.home-opening__product{padding:32px}.page-product .hero h1{font-size:48px}}
@media(max-width:1100px){.home-opening{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:28px}.home-opening__copy h1{font-size:46px}.home-opening__product{padding:18px}.home-opening .foundation-workspace{flex-direction:column}.home-opening .foundation-workspace>p{text-align:left;max-width:none}.sales-fee-summary .wrap{gap:24px}}
@media(max-width:899px){.home-opening{grid-template-columns:1fr;align-items:start}.home-opening__copy{max-width:44rem}.home-opening__copy h1{font-size:52px}.home-opening__product{max-width:48rem}.home-opening .foundation-workspace{flex-direction:row}.sales-fee-summary .wrap{grid-template-columns:130px minmax(0,1fr)}.sales-fee-summary>.wrap>.btn{grid-column:2;justify-self:start}}
@media(max-width:767px){:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero{padding-block:32px}.home-opening{gap:28px}.home-opening__copy{gap:18px}.home-opening__copy .lede{font-size:16px}.home-opening__copy h1{font-size:44px}.home-opening__product{padding:16px}.home-opening .foundation-workspace{flex-direction:column}.home-opening .foundation-connections{grid-template-columns:1fr 1fr}.home-opening .foundation-connections>a{padding:12px}.home-opening .foundation-asset-label{font-size:11px}.home-opening .foundation-dates>strong{font-size:18px}.home-opening .foundation-person strong{font-size:15px}.sales-fee-summary .wrap{grid-template-columns:1fr;gap:18px}.sales-fee-summary>.wrap>.btn{grid-column:1}.sales-fee-summary__figure{flex-direction:row;align-items:center;gap:20px}.sales-fee-summary h2{font-size:23px}.sales-advantages--clubs .sales-advantages__items{grid-template-columns:1fr}.sales-advantages--clubs article:first-child,.sales-advantages--programs article{display:block;padding:18px}.sales-advantages--clubs article:first-child p,.sales-advantages--programs article p{margin-top:10px}.sales-advantages--programs article{padding-inline:0}.ai-section-head h2,.ai-story-copy h2,.ai-invitation-heading h2,.ai-feature-intro h2{font-size:30px}.ai-heading h2{font-size:34px}.page-product .hero h1{font-size:34px}.page-product .ai-schedule{padding:16px}.pricing-section-label{flex-direction:column;align-items:flex-start;gap:8px}.pricing-section-label h2{font-size:28px}}
@media(max-width:359px){.home-opening__copy h1{font-size:38px}.home-opening .foundation-connections{grid-template-columns:1fr}}
@media(max-width:899px){.hero__top--product{grid-template-columns:1fr!important}.hero__asset{max-width:48rem;padding:20px}.hero__copy{gap:20px}}
@media(max-width:767px){.hero__asset{padding:18px}.hero-product-preview .pathway-record h2{font-size:18px}.hero-product-preview .pathway-asset{padding-right:12px;padding-bottom:0}.hero-product-preview .pathway-record:nth-child(2){margin-right:-12px}}

/* The workspace selector belongs to the example beneath it. Its selection is
   distinct from a momentary press, and both organizations get equal space. */
.ai-org-options:has(>button+button){padding:4px;gap:4px;border:1px solid var(--ct-rule-strong);border-radius:8px;background:var(--ct-surface)}
.ai-org-options:has(>button+button) button{min-height:44px;padding:10px 14px;border:1px solid transparent;border-radius:5px;color:var(--ct-text);transition:background-color 120ms ease-out,border-color 120ms ease-out}
.ai-org-options:has(>button+button) button[aria-pressed=true]{background:var(--ct-green-soft);border-color:var(--ct-green-deep)}
.ai-org-kind{font-family:var(--ct-font-text);font-size:12px;letter-spacing:0}
.ai-demo-label{font-size:12px;max-width:none;line-height:1.5}
.ai-week{font-size:12px}
.ai-collection-tabs button{min-height:44px;padding-inline:6px;border-radius:4px 4px 0 0}
.ai-stage :is(.ai-org-options,.ai-collection-tabs,.ai-story-actions,.ai-week-days,.ai-people) button:active:not(:disabled):not([aria-disabled=true]){box-shadow:inset 0 0 0 100vmax rgb(31 35 40 / .08);transition-duration:0ms}
.ai-moment:active{border-color:var(--ct-text-secondary);box-shadow:inset 0 0 0 100vmax rgb(31 35 40 / .04);transition-duration:0ms}
.hero-product-preview figcaption{font-size:13px;line-height:1.5}
/* The second source record previews its identity and enrollment. Its timing
   fields belong to the complete record in the working example below. */
.hero-product-preview .pathway-record:nth-child(2){height:auto;overflow:visible}
.hero-product-preview .pathway-record:nth-child(2)>.space-y-4{min-height:0}
.hero-product-preview .pathway-record:nth-child(2)>.space-y-4>.grid{display:none}
@media(max-width:767px){
  .ai-org-options:has(>button+button){width:100%}
  .ai-org-options:has(>button+button) button{flex:1;flex-wrap:wrap;justify-content:center;column-gap:7px;row-gap:2px;padding:8px}
  .ai-org-options:has(>button+button) .ai-org-kind{flex-basis:100%;font-size:12px}
  .ai-demo-label{font-size:12px}
  .ai-collection-tabs{gap:10px}
}
@media(prefers-contrast:more){
  .ai-org-options:has(>button+button),.ai-collection-tabs,.hero__asset,.home-opening__product,.page-product .ai-schedule{border:1px solid var(--ct-text)}
  .ai-collection-tabs button[aria-pressed=true]{border-bottom-color:var(--ct-text);font-weight:600}
}

/* styles/79-product-composition.css */
/* Five-round composition pass. Website framing stays outside source surfaces. */
/* Round 1 — the opening is a product composition, with room for real records. */
:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero{padding-block:56px 52px;background:var(--ct-surface)}
.home-opening{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(32px,4.5vw,72px);align-items:center}
.home-opening__product{background:transparent;padding:0;border-radius:0}
.home-opening .foundation-workspace{margin-bottom:20px;align-items:center}
.home-opening .foundation-workspace>p{max-width:24ch;font-size:13px}
.home-opening .foundation-examples{gap:0;border-bottom:1px solid var(--ct-rule-strong)}
.home-opening .foundation-examples button{padding:12px 10px;font-size:14px;color:var(--ct-text)}
.home-opening .foundation-source{border:1px solid var(--ct-hairline);box-shadow:0 18px 44px rgb(31 35 40 / .09)}
.home-opening .foundation-connections{gap:16px;margin-top:20px;align-items:start}
.home-opening .foundation-connections>a{padding:20px;background:var(--ct-bg);border-color:var(--ct-rule-strong);box-shadow:none}
.home-opening .foundation-connections .foundation-dates{margin-top:24px}
.home-opening .foundation-disclosure{font-size:12px;line-height:1.6;max-width:68ch}
.hero__top--product{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)!important;gap:clamp(32px,5vw,80px)}
.hero__asset{padding:32px;background:var(--ct-bg);border:1px solid var(--ct-hairline);border-radius:8px}
.page-programs .hero__asset{background:var(--ct-bg)}
.hero-product-preview .pathway-record{box-shadow:0 12px 28px rgb(31 35 40 / .07)}
.hero-product-preview .pathway-record:first-child{border-left:3px solid var(--ai-club)}
.hero-product-preview .pathway-record:nth-child(2){margin-top:24px}
.page-product .hero{padding-block:32px 28px;background:var(--ct-surface)}
.page-product .hero h1{font-size:clamp(38px,4.2vw,56px);letter-spacing:-.035em}
.page-product .hero .lede{max-width:70ch}
.page-product #experience{background:var(--ct-bg)}
.page-product .ai-stage{padding-top:28px}
.page-product .ai-org-bar{align-items:start;gap:24px;flex-wrap:wrap;padding-bottom:28px}
.page-product .ai-org-options{flex:1;max-width:760px;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0;border:0;background:transparent}
.page-product .ai-org-options button{display:grid;grid-template-columns:8px 1fr auto;gap:6px 12px;align-content:center;align-items:center;min-height:94px;padding:16px 20px;border:1px solid var(--ct-rule-strong);border-radius:6px;background:var(--ct-surface);text-align:left}
.page-product .ai-org-options button strong{font:500 19px/1.3 var(--ct-font-display);letter-spacing:-.02em}
.page-product .ai-org-options button .ai-org-kind{font-size:13px;justify-self:end}
.page-product .ai-org-options button .ai-org-description{grid-column:2/-1;font:400 14px/1.5 var(--ct-font-text);color:var(--ct-text-secondary)}
.page-product .ai-org-options button[aria-pressed=true]{background:var(--ct-green-soft);border-color:var(--ct-green)}
.page-product .ai-demo-label{padding-top:20px;font-size:12px;max-width:26ch}
.page-product .ai-schedule{box-shadow:0 14px 40px rgb(31 35 40 / .06)}
@media(min-width:2000px){.home-opening{gap:80px}.home-opening__copy{max-width:46rem}.home-opening__copy .lede{font-size:22px}.hero__asset{padding:48px}.page-product .ai-org-options{max-width:1000px}}
@media(max-width:1100px){.home-opening .foundation-workspace{align-items:start;flex-direction:column}.home-opening .foundation-workspace>p{max-width:none}.hero__asset{padding:24px}.home-opening .foundation-connections>a{padding:16px}}
@media(max-width:899px){.home-opening,.hero__top--product{grid-template-columns:1fr!important;gap:36px}.home-opening__copy{max-width:42rem}.home-opening__product,.hero__asset{max-width:52rem}.home-opening .foundation-workspace{flex-direction:row;align-items:center}.page-product .ai-org-options{max-width:none;width:100%}.page-product .ai-demo-label{padding:0;max-width:none}}
@media(max-width:767px){:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero{padding-block:32px 40px}.home-opening{gap:32px}.home-opening .foundation-workspace{flex-direction:column;gap:12px;align-items:start}.home-opening .foundation-examples{width:100%}.home-opening .foundation-examples button{flex:1;justify-content:center;padding-inline:6px;font-size:13px}.home-opening .foundation-connections{gap:12px}.home-opening .foundation-connections>a{padding:16px 12px}.home-opening .foundation-connections .foundation-dates{margin-top:16px}.hero__asset{padding:20px 16px}.page-product .hero{padding-block:24px}.page-product .hero h1{font-size:38px}.page-product .ai-stage{padding-top:20px}.page-product .ai-org-bar{gap:14px;padding-bottom:20px}.page-product .ai-org-options button{min-height:102px;padding:12px;grid-template-columns:8px 1fr;gap:5px 8px}.page-product .ai-org-options button strong{font-size:17px}.page-product .ai-org-options button .ai-org-kind{grid-column:2;justify-self:start;font-size:12px}.page-product .ai-org-options button .ai-org-description{grid-column:1/-1;font-size:12px}.page-product .ai-schedule{padding:16px 12px}}
@media(max-width:359px){.home-opening .foundation-connections{grid-template-columns:1fr}.home-opening .foundation-connections .foundation-dates{margin-top:0}.page-product .ai-org-options button{padding:12px 8px}.page-product .ai-org-options button strong{font-size:15px}}

/* Round 2 — weight and reading ink carry hierarchy; metadata stays quiet. */
:is(.page-home,.page-clubs,.page-programs,.page-managed,.page-product) .hero h1{font-weight:600;letter-spacing:-.045em;line-height:1.06}
.home-opening .foundation-stage{background:transparent;overflow:visible}
.home-opening__copy .lede,.hero__copy .hero__side .lede{font-size:1.125rem;line-height:1.65}
.academy-path__text>p:not(.eyebrow),.sales-advantages__items p,.ai-feature-copy>p:not(.ai-eyebrow),.ai-perspective .ai-story-copy>p:not(.ai-eyebrow){font-size:1.0625rem;line-height:1.7;color:var(--ct-text)}
.academy-path__text>h3,.ai-feature-copy h3{font-weight:600;letter-spacing:-.03em}
.ai-perspective .ai-story-copy h2{font-weight:600;line-height:1.14;letter-spacing:-.035em;max-width:23ch}
.ai-role-label{display:inline-flex;align-items:center;gap:9px;padding:7px 11px;margin:0 0 18px;background:var(--ct-green-soft);border-radius:4px;color:var(--ct-green);font:500 0.875rem/1.4 var(--ct-font-text)}
.ai-role-label svg{flex:none}
.ai-stage .ai-eyebrow::before{background:var(--ct-green);height:2px;width:20px}
.ai-feature-copy .ai-feature-example{font-size:0.9375rem;line-height:1.65;border-left:2px solid var(--ct-rule-strong);padding-left:16px;margin-top:20px}
.ai-feature-roles{font-size:0.8125rem;color:var(--ct-text-secondary)}
.ai-feature-caption,.ai-perspective-asset figcaption{font-size:0.8125rem;line-height:1.6}
.ai-controls .ai-control-label{font-size:12px;color:var(--ct-text-secondary)}
.ai-controls .ai-control-label select,.ai-controls .ai-segment button{font-size:13px;min-height:44px}
.ai-collection-tabs button{font-size:14px;color:var(--ct-text)}
.ai-collection-tabs button[aria-pressed=true]{font-weight:600}
.page-home #facts .head h2{font-size:clamp(30px,3vw,42px);max-width:none}
.page-home #facts .facts h3{font-size:21px;font-weight:600}
.page-home #facts .facts p{font-size:16px;line-height:1.7;color:var(--ct-text)}
.sales-fee-summary .sales-note,.sales-eligibility p{font-size:13px;line-height:1.65}
.pricing-price__proposal{color:var(--ct-text);font-weight:500}
@media(max-width:767px){.home-opening__copy .lede,.hero__copy .hero__side .lede{font-size:1rem}.ai-perspective .ai-story-copy h2{font-size:30px}.academy-path__text>p:not(.eyebrow),.sales-advantages__items p,.ai-feature-copy>p:not(.ai-eyebrow),.ai-perspective .ai-story-copy>p:not(.ai-eyebrow){font-size:1rem}.ai-controls .ai-control-label select{font-size:16px;max-width:150px}.ai-controls .ai-segment button{font-size:12px}.ai-collection-tabs button{font-size:13px}.ai-role-label{font-size:13px}.ai-feature-copy .ai-feature-example{font-size:14px}}

/* Round 3 — one subject leads into different compositions for each role. */
.ai-three-perspectives{width:calc(100% - 64px);max-width:1200px;margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 48px;padding-bottom:48px}
.ai-three-perspectives>.ai-wrap{width:100%;margin:0;max-width:none}
.ai-three-perspectives .ai-shared-heading{grid-column:1/-1;padding-block:28px 36px}
.ai-shared-intro{display:block}
.ai-shared-intro h2{font-size:28px;line-height:1.25;letter-spacing:-.025em}
.ai-shared-intro>p{margin-top:10px;max-width:68ch}
.ai-subject-spine{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,1fr);gap:16px 28px;padding:20px 0;margin-top:24px;align-items:center;font-size:14px}
.ai-subject-spine>strong{font:600 22px/1.3 var(--ct-font-display);letter-spacing:-.025em}
.ai-three-perspectives [data-testid=office-lesson-story]{grid-column:1/-1;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);padding:36px 0 48px;margin-bottom:32px;border-bottom:1px solid var(--ct-rule-strong)}
.ai-three-perspectives :is([data-testid=teaching-day-story],[data-testid=family-week-story]){display:flex;flex-direction:column;align-items:stretch;gap:28px;padding-block:0 36px;border-bottom:0}
.ai-three-perspectives :is([data-testid=teaching-day-story],[data-testid=family-week-story]) .ai-story-copy>p{max-width:54ch}
.ai-three-perspectives :is([data-testid=teaching-day-story],[data-testid=family-week-story]) .ai-perspective-asset{flex:1}
.ai-three-perspectives .ai-teaching-person,.ai-three-perspectives .ai-family-heading{min-height:64px;padding-bottom:20px}
.ai-three-perspectives .ai-family-heading>span{max-width:24ch}
.ai-three-perspectives .ai-family-heading strong{font-size:21px}
.ai-feature-stories{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start;padding-top:88px}
.ai-feature-intro{grid-column:1/-1;margin-bottom:4px}
.ai-feature-story{display:flex;flex-direction:column;gap:28px;padding:28px;border:1px solid var(--ct-hairline);border-radius:6px;background:var(--ct-surface);height:100%;min-width:0}
.ai-feature-story .ai-feature-copy h3{font-size:32px;max-width:25ch}
.ai-feature-story .ai-feature-copy>p:not(.ai-eyebrow){max-width:60ch}
.ai-feature-story .ai-feature-copy .ai-eyebrow{margin-bottom:14px}
.ai-feature-story :is(.ai-feature-roles,.ai-feature-example){max-width:60ch}
.ai-feature-story .ai-feature-asset{width:100%;min-width:0}
:is(#features-booking,#features-scheduling,#features-public-spaces){grid-column:1/-1;height:auto}
#features-booking,#features-public-spaces{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;padding:36px}
#features-scheduling .ai-feature-copy{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
#features-scheduling .ai-feature-copy>.ai-eyebrow{grid-column:1/-1}
#features-scheduling .ai-feature-copy>h3{grid-column:1;grid-row:2/4}
#features-scheduling .ai-feature-copy>p:not(.ai-eyebrow){grid-column:2}
#features-scheduling .ai-feature-copy>.ai-feature-roles,#features-scheduling .ai-feature-copy>.ai-feature-action{grid-column:1}
#features-scheduling .ai-feature-copy>.ai-feature-action{justify-self:start}
#features-public-spaces .ai-public-photo{height:220px}
.academy-pathways__grid{gap:40px}
.academy-path{border-top:2px solid var(--ct-green);padding-top:24px}
.academy-path__asset{padding:24px 20px 8px;background:var(--ct-surface);border:1px solid var(--ct-hairline);border-radius:6px}
.academy-path .pathway-record:nth-child(2){height:auto}
.academy-path .pathway-record:nth-child(2)>.space-y-4{min-height:0}
.academy-path .pathway-record:nth-child(2)>.space-y-4>.grid{display:none}
.academy-path__caption{font-size:13px;color:var(--ct-text);margin-top:16px}
@media(min-width:2000px){.ai-three-perspectives{width:calc(100% - 160px);max-width:2200px;gap:0 80px}.ai-feature-story{padding:40px}.ai-feature-story .ai-feature-copy h3{font-size:42px}}
@media(max-width:1100px){.ai-three-perspectives{width:calc(100% - 48px);gap:0 32px}.ai-subject-spine{grid-template-columns:1fr 1fr}.ai-subject-spine>strong{grid-column:1/-1}.ai-feature-story{padding:24px}.ai-feature-stories{gap:24px}#features-booking,#features-public-spaces{gap:28px;padding:28px}}
@media(max-width:899px){.ai-three-perspectives{display:block}.ai-three-perspectives :is([data-testid=teaching-day-story],[data-testid=family-week-story]){padding-block:28px;border-bottom:1px solid var(--ct-hairline)}.ai-three-perspectives [data-testid=office-lesson-story]{margin-bottom:0}.ai-feature-stories{display:block}.ai-feature-story{margin-top:28px}.academy-path{display:block}.academy-path__asset{margin-top:28px}.academy-pathways__grid{grid-template-columns:1fr 1fr;gap:28px}}
@media(max-width:767px){.ai-three-perspectives{width:calc(100% - 32px);padding-bottom:28px}.ai-three-perspectives .ai-shared-heading{padding-block:24px 12px}.ai-subject-spine{grid-template-columns:1fr;gap:10px;font-size:14px}.ai-subject-spine>strong{font-size:20px}.ai-three-perspectives [data-testid=office-lesson-story]{grid-template-columns:1fr;padding-block:28px;gap:24px}.ai-three-perspectives :is([data-testid=teaching-day-story],[data-testid=family-week-story]){gap:24px}.ai-three-perspectives .ai-family-heading>span{max-width:none}.ai-feature-stories{padding-top:56px}.ai-feature-story{padding:24px 16px;margin-top:24px}.ai-feature-story .ai-feature-copy h3{font-size:28px}#features-booking,#features-public-spaces,#features-scheduling .ai-feature-copy{display:block;padding:24px 16px}#features-scheduling .ai-feature-copy{padding:0}#features-booking .ai-feature-asset,#features-public-spaces .ai-feature-asset{margin-top:28px}#features-public-spaces .ai-public-photo{height:180px}.academy-pathways__grid{grid-template-columns:1fr;gap:44px}.academy-path__asset{padding:18px 12px 6px}}

/* Round 4 — controls map to the content they affect, at every input size. */
.ai-perspective-index{display:flex;gap:8px 12px;flex-wrap:wrap;margin-top:20px}
.ai-perspective-index a{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:9px 14px;background:var(--ct-surface);border:1px solid var(--ct-rule-strong);border-radius:4px;color:var(--ct-text);text-decoration:none;font:500 14px/1.5 var(--ct-font-text)}
.ai-perspective-index a:hover{background:var(--ct-green-soft);border-color:var(--ct-green)}
.ai-perspective-index a:focus-visible,.ai-feature-index a:focus-visible{outline:2px solid var(--ct-ring);outline-offset:3px}
:is(#office-lesson-heading,#teaching-day-heading,#family-week-heading,.ai-feature-story){scroll-margin-top:calc(var(--header-h) + 24px)}
.ai-feature-index{gap:10px;margin-block:24px 16px}
.ai-feature-index a{display:inline-flex;align-items:center;gap:12px;padding:9px 14px;min-height:44px;border:1px solid var(--ct-rule-strong);border-radius:4px;background:var(--ct-surface);color:var(--ct-text);font-size:14px;text-decoration:none}
.ai-feature-index a:hover{background:var(--ct-green-soft);border-color:var(--ct-green)}
.ai-invitation-heading{display:block;max-width:58rem}
.ai-invitation-heading h2{margin-block:16px;max-width:25ch}
.ai-invitation-heading>p:not(.ai-eyebrow){max-width:66ch;color:var(--ct-text);font-size:17px}
.ai-invitation-layout{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:48px}
.ai-invite-roles button{border-color:var(--ct-rule-strong);border-radius:4px;margin-top:8px;min-height:64px;font-size:17px}
.ai-invitation-letter{border:1px solid var(--ct-hairline);box-shadow:0 12px 36px rgb(31 35 40 / .06);min-height:0}
.ai-org-description,.ai-feature-copy,.ai-story-copy,.ai-subject-spine>span{overflow-wrap:break-word}
@media(min-width:900px){.ai-three-perspectives :is([data-testid=teaching-day-story],[data-testid=family-week-story]) .ai-story-copy{min-height:190px}}
@media(max-width:767px){.ai-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 12px}.ai-controls .ai-control-label{display:flex;flex-direction:column;align-items:start;gap:6px;min-width:0}.ai-controls .ai-control-label select{width:100%;max-width:none;font-size:16px}.ai-controls .ai-control-label:first-child{grid-column:1/-1;flex-direction:row;align-items:center}.ai-controls .ai-control-label:first-child select{width:auto;min-width:130px}.ai-controls .ai-segment{grid-column:1/-1;width:100%;margin:0}.ai-invitation-layout{grid-template-columns:1fr;gap:24px}.ai-invitation-heading>p:not(.ai-eyebrow){font-size:16px}.ai-invite-roles{display:grid;grid-template-columns:1fr;gap:6px;border:0}.ai-invite-roles button{margin:0;padding:12px 14px;border:1px solid var(--ct-rule-strong);min-height:52px;font-size:16px}.ai-invitation-letter{padding:24px 20px}.ai-feature-index a{font-size:13px;padding:8px 11px}.ai-perspective-index{gap:8px}.ai-perspective-index a{flex:1;justify-content:center;padding:9px 8px;font-size:13px}}
@media(max-width:359px){.ai-perspective-index a{flex:none}.ai-controls .ai-segment button{padding-inline:5px}.ai-controls{gap:12px 8px}}

/* Round 5 — clear destinations and restrained, immediate interaction cues. */
.ai-perspective-index a,.ai-feature-index a,.foundation-examples button{transition:background-color 120ms ease-out,border-color 120ms ease-out}
:is(.ai-perspective-index a,.ai-feature-index a,.foundation-examples button):active{box-shadow:inset 0 0 0 100vmax rgb(31 35 40 / .08);transition-duration:0ms}
.home-opening .foundation-connections>a{transition:background-color 160ms ease-out,border-color 160ms ease-out}
.home-opening .foundation-connections>a:hover{background:var(--ct-green-soft);border-color:var(--ct-green);box-shadow:none}
.home-opening .foundation-connections>a:active{box-shadow:inset 0 0 0 100vmax rgb(31 35 40 / .06);transition-duration:0ms}
.ai-perspective:has(h2:target) .ai-role-label{outline:1px solid var(--ct-green);outline-offset:3px}
.ai-office-disclosure>summary{background:var(--ct-surface);border:1px solid var(--ct-rule-strong);border-radius:6px;color:var(--ct-green);min-height:64px;padding:18px 24px}
.ai-office-disclosure[open]>summary{background:var(--ct-green-soft);border-color:var(--ct-green)}
.ai-schedule-foot{font-size:13px;line-height:1.6}
.ai-schedule-foot button{font-size:13px}
.page-home #evaluate{background:var(--ct-green-soft);border-block:0;padding-block:64px}
.page-home #evaluate h2{font-weight:600}
.sales-next-step h2{overflow-wrap:anywhere}
body:is(.page-clubs,.page-programs,.page-managed,.page-product) .closing[data-theme=ink]{--ct-bg:#1e7b33;--ct-surface:#1e7b33;--ct-sunken:#17662a;--ct-text:#fff;--ct-text-secondary:#e5f7e8;--ct-green:#fff;--ct-green-deep:#fff;--ct-on-green:#1e7b33;--ct-control-border:#fff;--ct-hairline:#9bc6a4;--ct-ring:#fff;background:var(--ct-bg);border:0}
:is(.page-clubs,.page-programs,.page-managed,.page-product) .closing h2{font-size:clamp(30px,3.3vw,46px);font-weight:600;max-width:26ch}
:is(.page-clubs,.page-programs,.page-managed,.page-product) .closing .lede{font-size:17px;color:var(--ct-text);max-width:62ch}
:is(.page-clubs,.page-programs,.page-managed,.page-product) .closing .btn--secondary:hover{background:#17662a}
@media(max-width:767px){.ai-office-disclosure>summary{margin-inline:16px;padding:16px;font-size:17px}.ai-schedule-foot{gap:12px;flex-wrap:wrap}.ai-schedule-foot p{max-width:100%;flex:1 1 160px}.ai-schedule-foot button{font-size:12px}.page-home #evaluate{padding-block:44px}.closing__in{gap:24px}}
@media(prefers-reduced-motion:reduce){.ai-perspective-index a,.ai-feature-index a,.foundation-examples button,.home-opening .foundation-connections>a{transition:none}}
@media(prefers-contrast:more){.ai-feature-story,.hero__asset,.ai-perspective-index a,.ai-feature-index a,.ai-office-disclosure>summary,.home-opening .foundation-connections>a{border-color:var(--ct-text)}.ai-role-label{outline:1px solid currentColor}.ai-org-description,.ai-demo-label,.ai-feature-caption,.ai-feature-roles,.ai-subject-disclosure{color:var(--ct-text)}}

/* pages/programs/style.css */
/* For Programs */

/* The last line of the hero, under the request and what sending it does:
   for which programs Contakt creates the workspace for now. Set like the
   lines above it. */
.programs-hero-today {
  max-width: 54ch;
  padding-top: 14px;
  border-top: 1px solid var(--ct-hairline);
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--ct-text-secondary);
}

/* Three situations, and the three facts about plans: side by side when each
   has room, otherwise one under another, so the third never sits alone on a row. */
@media (min-width: 820px) {
  .page-programs #situations .facts,
  .page-programs #plans .facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 819.98px) {
  .page-programs #situations .facts,
  .page-programs #plans .facts {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  .page-programs #situations .facts p,
  .page-programs #plans .facts p {
    max-width: 60ch;
  }
}

/* From registration to the register: five numbered beats, each a line of
   text above one view. */
.programs-journey {
  counter-reset: beat;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 40px;
}
.programs-beat {
  counter-increment: beat;
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-width: 0;
}
.programs-beat__text {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-top: 12px;
  border-top: 1px solid var(--ct-rule-strong);
}
.programs-beat__text::before {
  content: counter(beat, decimal-leading-zero);
  font: 500 12px/1.9 var(--ct-font-mono);
  letter-spacing: 0.06em;
  color: var(--ct-text-secondary);
}
.programs-beat__text h3 {
  font-size: 1.0625rem;
}
.programs-beat__text p {
  color: var(--ct-text-secondary);
  max-width: 52ch;
}
.programs-beat .view--phone {
  max-width: 260px;
}
.programs-journey + .note {
  margin-top: 24px;
}

/* Tablets: two columns. The family's two beats lie flat (text in the first
   column, phone in the second), the office's screen takes the full width, and
   the instructor's two phones stand side by side. */
@media (min-width: 620px) and (max-width: 1119.98px) {
  .programs-journey {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 48px clamp(20px, 4vw, 40px);
    align-items: start;
  }
  .programs-beat--wide,
  .programs-beat:first-child,
  .programs-beat:last-child {
    grid-column: 1 / -1;
  }
  .programs-beat:first-child,
  .programs-beat:last-child {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px clamp(20px, 4vw, 40px);
    align-items: center;
    padding-top: 24px;
    border-top: 1px solid var(--ct-rule-strong);
  }
  .programs-beat:first-child > .programs-beat__text,
  .programs-beat:last-child > .programs-beat__text {
    padding-top: 0;
    border-top: 0;
  }
}

/* Wide screens: twelve columns. Row one is the family's phone beside the
   office's screen, cut so both are the same height. Row two is three phones. */
@media (min-width: 1120px) {
  .programs-journey {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 64px clamp(24px, 3.4vw, 48px);
    align-items: start;
  }
  .programs-beat {
    grid-column: span 4;
  }
  .programs-beat:first-child {
    grid-column: span 3;
  }
  .programs-beat--wide {
    grid-column: span 9;
  }
  .programs-beat--wide .programs-beat__text p {
    max-width: 40ch;
  }
  /* The text of every beat in a row ends on one line, so the views start
     level, and every phone is three columns wide. */
  @supports (grid-template-rows: subgrid) {
    .programs-journey {
      row-gap: 20px;
    }
    .programs-beat {
      display: grid;
      grid-row: span 2;
      grid-template-rows: subgrid;
      grid-template-columns: subgrid;
      gap: normal;
      align-items: start;
    }
    .programs-beat > * {
      grid-column: 1 / -1;
    }
    .programs-beat:nth-child(n + 3) > .view {
      grid-column: 1 / span 3;
    }
    .programs-beat:nth-child(n + 3) > .programs-beat__text {
      margin-top: 44px;
    }
    .programs-beat .view--phone {
      max-width: 300px;
    }
  }
}

/* Places: the two kinds of location close the text column. */
.page-programs #places .rows {
  margin-top: 4px;
}

/* Plans and prices: a link inside a fact keeps to its text, and the line
   that leads to Managed stands clear of the facts. */
.page-programs #plans .facts .link-arrow {
  align-self: flex-start;
}
.page-programs #plans .route-line {
  margin-top: clamp(28px, 4vw, 48px);
}
/* With room, the line wraps inside its own column and the link stays beside it. */
@media (min-width: 760px) {
  .page-programs #plans .route-line {
    flex-wrap: nowrap;
  }
  .page-programs #plans .route-line .link-arrow {
    flex: none;
  }
}

/* If you also run a club: a statement on the left, its two lines on the right. */
.programs-also {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  gap: 20px 64px;
  align-items: end;
}
.programs-also__title,
.programs-also__body {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.programs-also__body {
  gap: 8px;
}
@media (max-width: 899.98px) {
  .programs-also {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
  }
}

/* Good to know: six facts in three columns on wide screens. */
@media (min-width: 900px) {
  .page-programs #facts .facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
