/* 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/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/pricing/style.css */
/* Pricing */

/* The plans sit directly under the hero, on the same paper. */
.page-pricing .hero {
  padding-bottom: clamp(32px, 4vw, 48px);
}
.pricing-start {
  padding-top: 0;
}

/* Under the lede: the sentence that says no price or limit is set yet. */
.pricing-notset {
  max-width: 62ch;
  padding-top: 16px;
  border-top: 1px solid var(--ct-rule-strong);
  font-weight: 500;
}

/* A small label above a group of lines. */
.pricing-label {
  font: 500 11px/1.4 var(--ct-font-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ct-text-secondary);
}

/* ── Price ───────────────────────────────────────────────────────────── */
.pricing-price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 10px;
}
.pricing-price__amount {
  font: 500 clamp(2.5rem, 2rem + 1.6vw, 3.25rem) / 1 var(--ct-font-display);
  letter-spacing: -0.03em;
  white-space: nowrap;
}
.pricing-price__per,
.pricing-price__from {
  font-weight: 500;
  white-space: nowrap;
}

/* ── The three plans ─────────────────────────────────────────────────── */
.pricing-plans {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
}
.pricing-plan {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 24px 20px;
  background: var(--ct-surface);
  border: 1px solid var(--ct-hairline);
  border-radius: var(--ct-radius);
}
.pricing-plan__head {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.pricing-plan__head h3 {
  font-size: 1.375rem;
  font-weight: 500;
  letter-spacing: -0.02em;
}
.pricing-plan__head p {
  color: var(--ct-text-secondary);
}
.pricing-plan__block {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.pricing-includes {
  display: grid;
  gap: 10px;
}
.pricing-includes li {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 10px;
}
.pricing-includes .icon {
  margin-top: 4px;
  color: var(--ct-text-secondary);
}
/* What a plan leaves out: the same list, each line marked with a dash. */
.pricing-includes--out,
.pricing-plan__today {
  color: var(--ct-text-secondary);
}
.pricing-includes--out .pricing-no {
  margin: 12px 0 0 2px;
}
.pricing-plan__action {
  margin-top: auto;
}
/* The greyed start action and its tag stay on one line in a narrow card. */
.pricing-plan__action .btn {
  width: 100%;
  padding-inline: 12px;
}
/* Under the cards: when the start opens and for whom, and a link that works. */
.pricing-plans__after {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 12px;
  margin-top: 20px;
  color: var(--ct-text-secondary);
}
.pricing-plans__after p {
  max-width: 72ch;
}
/* Three columns only once a card is wide enough for its action on one line. */
@media (min-width: 980px) {
  .pricing-plans {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
  }
  .pricing-plan {
    padding: clamp(24px, 2.4vw, 32px);
  }
  /* Each part of a plan lines up with the same part of its neighbours. */
  @supports (grid-template-rows: subgrid) {
    .pricing-plan {
      display: grid;
      grid-row: span 4;
      grid-template-rows: subgrid;
      row-gap: 28px;
    }
  }
}

/* ── Managed, on graphite ────────────────────────────────────────────── */
.pricing-managed {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 32px;
}
.pricing-managed__text {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.pricing-managed__text .actions {
  margin-top: 12px;
}
.pricing-managed__offer {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 24px 20px;
  background: var(--ct-surface);
  border: 1px solid var(--ct-hairline);
  border-radius: var(--ct-radius);
}
.pricing-managed__price {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.pricing-managed__price p + p,
.pricing-managed__open {
  color: var(--ct-text-secondary);
}
.pricing-managed__text .request-aside {
  margin-top: 4px;
}
@media (min-width: 900px) {
  .pricing-managed {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: clamp(40px, 6vw, 88px);
    align-items: center;
  }
  .pricing-managed__offer {
    padding: clamp(24px, 2.4vw, 32px);
  }
}

/* ── Compare table ───────────────────────────────────────────────────── */
.pricing-compare .table th,
.pricing-compare .table td {
  vertical-align: middle;
}
.pricing-compare .table thead th,
.pricing-compare .table thead td {
  vertical-align: bottom;
  border-bottom-color: var(--ct-rule-strong);
}
.pricing-compare .table tbody th[scope="row"] {
  font-weight: 400;
}
@media (min-width: 720px) {
  .pricing-compare .table {
    table-layout: fixed;
  }
  .pricing-compare .pricing-compare__corner {
    width: 46%;
  }
}
.pricing-compare .table .pricing-compare__group th {
  padding-top: 36px;
  font: 600 1.0625rem/1.25 var(--ct-font-display);
  letter-spacing: -0.01em;
}
.pricing-compare .table tbody:first-of-type .pricing-compare__group th {
  padding-top: 24px;
}
.pricing-figure {
  font-weight: 600;
  white-space: nowrap;
}
.pricing-yes {
  color: var(--ct-text);
}
.pricing-no {
  display: block;
  width: 12px;
  height: 0;
  margin-block: 8px 7px;
  border-top: 1px solid var(--ct-text-secondary);
}

/* On a phone each row puts its label on one line and the three plans under it.
   The plan names stay in view while the rows scroll. */
@media (max-width: 719.98px) {
  .page-pricing .pricing-compare {
    overflow: visible;
  }
  .pricing-compare .table,
  .pricing-compare .table thead,
  .pricing-compare .table tbody {
    display: block;
    min-width: 0;
  }
  .pricing-compare .table tr {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 12px;
  }
  .pricing-compare .table tbody tr {
    border-bottom: 1px solid var(--ct-hairline);
  }
  .pricing-compare .table thead {
    position: sticky;
    top: var(--header-h);
    z-index: 2;
    background: var(--ct-surface);
    border-bottom: 1px solid var(--ct-rule-strong);
  }
  .pricing-compare .table thead th {
    padding: 12px 0;
    border-bottom: 0;
    font: 600 15px/1.3 var(--ct-font-text);
    letter-spacing: 0;
    text-transform: none;
    color: var(--ct-text);
  }
  /* Kept for screen readers so each cell still lines up with its plan. */
  .pricing-compare .table .pricing-compare__corner {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip-path: inset(50%);
  }
  .pricing-compare .table tbody th {
    grid-column: 1 / -1;
    width: auto;
    padding: 14px 0 0;
    border-bottom: 0;
  }
  .pricing-compare .table tbody th[scope="row"] {
    color: var(--ct-text-secondary);
  }
  .pricing-compare .table tbody td {
    padding: 6px 0 14px;
    border-bottom: 0;
  }
  .pricing-compare .table .pricing-compare__group th,
  .pricing-compare .table tbody:first-of-type .pricing-compare__group th {
    padding: 32px 0 12px;
  }
}

/* ── Three choices: yourself, with a piece of help, Managed ──────────── */
.pricing-fit {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 40px clamp(32px, 4vw, 56px);
}
@media (min-width: 1000px) {
  .pricing-fit {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.pricing-fit > li {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 20px;
  border-top: 1px solid var(--ct-rule-strong);
}
.pricing-fit h3 {
  font-size: 1.375rem;
  font-weight: 500;
  letter-spacing: -0.02em;
}
.pricing-fit__lead {
  font-size: 1.0625rem;
  line-height: 1.5;
  max-width: 56ch;
}
.pricing-fit__lead ~ p {
  color: var(--ct-text-secondary);
  max-width: 56ch;
}
/* The actions sit at the foot of their column, level with the neighbours'.
   Beside a greyed start stands a question by email; when both do not fit on
   one line, the link takes the lower line. */
.pricing-fit__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 20px;
  margin-top: auto;
}
.pricing-fit .soon {
  min-height: 44px;
}

/* ── Questions ───────────────────────────────────────────────────────── */
.pricing-questions {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 28px;
}
.pricing-questions > .head + * {
  margin-top: 0;
}
.pricing-questions__list > li {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 20px 0;
  border-top: 1px solid var(--ct-hairline);
}
.pricing-questions__list > li:last-child {
  border-bottom: 1px solid var(--ct-hairline);
}
.pricing-questions__list h3 {
  font-size: 1.0625rem;
}
.pricing-questions__list p {
  color: var(--ct-text-secondary);
  max-width: 64ch;
}
.pricing-questions__list .link-arrow {
  align-self: flex-start;
}
@media (min-width: 900px) {
  .pricing-questions {
    grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
    gap: clamp(40px, 6vw, 88px);
    align-items: start;
  }
.pricing-questions > .head {
    position: sticky;
    top: calc(var(--header-h) + 32px);
  }
}

/* Plan fit and monthly assistance are separate decisions. */
.page-pricing .hero{min-height:0;padding-block:clamp(56px,5.2vw,88px) 44px}
.page-pricing .hero__top{grid-template-columns:1.15fr .85fr;gap:clamp(36px,6vw,88px);align-items:start}
.page-pricing .hero h1{font:500 clamp(44px,4.6vw,70px)/1.06 var(--ct-font-display);letter-spacing:-.04em;max-width:17ch;text-wrap:balance}
.page-pricing .hero .eyebrow,.page-pricing .band .eyebrow{font-family:var(--ct-font-text);text-transform:none;letter-spacing:0}
.pricing-section-label{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}
.pricing-section-label h2{font:500 22px/1.3 var(--ct-font-display);letter-spacing:-.025em}
.pricing-label{font:500 12px/1.5 var(--ct-font-text);text-transform:none;letter-spacing:0}
.pricing-plan__head h3{font:500 30px/1.2 var(--ct-font-display);letter-spacing:-.035em}
.pricing-managed__text h2{font:500 clamp(36px,4vw,56px)/1.1 var(--ct-font-display);letter-spacing:-.035em;max-width:16ch}
.pricing-managed__text>p:not(.eyebrow){max-width:50ch;color:var(--ct-text-secondary)}
.page-pricing #managed{border-block:1px solid var(--ct-hairline)}
.pricing-plans__after{gap:12px 24px;padding-top:24px;border-top:1px solid var(--ct-hairline)}
@media(max-width:899px){.page-pricing .hero__top{grid-template-columns:1fr;gap:24px}.page-pricing .hero h1{max-width:22ch}.page-pricing .hero__side{padding:0}.pricing-section-label{flex-wrap:wrap}}
@media(max-width:767px){.page-pricing .hero{padding-top:40px}.page-pricing .hero h1{font-size:clamp(38px,8.8vw,54px)}.pricing-plan{gap:20px}.pricing-managed__text h2{font-size:38px}.pricing-price__amount{font-size:42px}}
.pricing-plan{display:flex;grid-row:auto}
.pricing-plan__details{margin-top:auto;border-top:1px solid var(--ct-hairline);padding-top:12px}
.pricing-plan__details summary,.pricing-comparison-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;list-style:none;cursor:pointer;color:var(--ct-text);font:500 14px/1.5 var(--ct-font-text)}
.pricing-plan__details summary::-webkit-details-marker,.pricing-comparison-disclosure summary::-webkit-details-marker{display:none}
.pricing-plan__details[open] summary svg,.pricing-comparison-disclosure[open] summary svg{transform:rotate(180deg)}
.pricing-plan__detail-body{display:grid;gap:24px;padding-top:20px}
.pricing-comparison-disclosure{border-top:1px solid var(--ct-rule-strong)}
.pricing-comparison-disclosure summary{padding-block:16px;font-size:16px}
.pricing-comparison-body{padding-top:12px}
.pricing-plan__details summary:focus-visible,.pricing-comparison-disclosure summary:focus-visible{outline:2px solid var(--ct-ring);outline-offset:4px}

@media(max-width:767px){.page-pricing .pricing-section-label h2,.page-pricing .pricing-managed__text h2{overflow-wrap:anywhere}}
