/* September 2026: story-led public pages and an interactive demonstration. */
body { padding-bottom: 0; }
button, input, select, textarea { font: inherit; }
button:disabled { cursor: not-allowed; opacity: .55; }
.prototype-bar { position: relative; inset: auto; transform: none; width: 100%; min-height: 54px; border: 0; border-radius: 0; padding: 9px 24px; box-shadow: none; background: #112131; gap: 16px; flex-wrap: wrap; }
.prototype-bar label { display: flex; align-items: center; gap: 10px; font-size: .875rem; font-weight: 750; }
.prototype-bar select { color: white; background: #203548; border: 1px solid #496071; border-radius: 7px; padding: 7px 30px 7px 10px; font-size: .875rem; max-width: 210px; }
.demo-context { color: #c2cfdb; font-size: .875rem; margin-left: auto; }
.demo-reset { color: #e0e8ee; background: transparent; border: 1px solid #496071; border-radius: 7px; padding: 7px 10px; font-size: .875rem; }
.prototype-toast { bottom: 20px; }
.brand-home { cursor: pointer; text-decoration: none; }
.development-hero { position: relative; isolation: isolate; display: grid; align-items: end; background: #02070b; overflow: hidden; }
.development-art { position: relative; grid-area: 1 / 1; align-self: start; z-index: -2; }
.development-backdrop { display: block; width: 100%; height: auto; object-fit: contain; }
/* Show only the retouched central lettering areas; all outer artwork stays original. */
.development-lettering-cleanup { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: fill; clip-path: polygon(27% 58.5%, 71.5% 58.5%, 71.5% 64.3%, 68.5% 64.3%, 68.5% 70%, 60.5% 70%, 60.5% 85%, 58% 86%, 58% 92%, 40% 92%, 40% 70%, 27% 70%); pointer-events: none; }
.development-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse at 50% 80%, rgba(2,7,11,.65), rgba(2,7,11,.25) 36%, transparent 68%); pointer-events: none; }
.development-copy { grid-area: 1 / 1; padding: clamp(280px, 27vw, 560px) 6vw 48px; text-align: center; color: white; text-shadow: 0 2px 12px #02070b, 0 0 28px rgba(2,7,11,.7); }
.development-message { position: relative; }
.development-copy h1 { max-width: 1050px; margin: 0 auto 20px; font-size: clamp(2.6rem, 5.2vw, 5.4rem); line-height: 1.02; }
.development-copy h1 em { color: #f5bd38; font-style: normal; }
.development-message > p { max-width: 740px; margin: 0 auto 24px; color: #e1e8ee; font-size: 1.13rem; }
.development-copy .eyebrow { font-size: .875rem; color: #7cd6ff; }
.development-copy .actions { justify-content: center; margin: 26px 0; }
.development-copy .button { min-height: 52px; padding: 12px 24px; text-shadow: none; }
.development-copy .button.secondary { background: #fff; color: #102131; border-color: #fff; }
.development-copy .hero-signoff { font-size: .95rem; text-transform: uppercase; font-weight: 800; letter-spacing: .22em; margin-bottom: 0; }
.cta-reassurance { font-size: 1rem; line-height: 1.6; }
.development-message > .cta-reassurance { margin: -8px auto 24px; font-size: 1rem; }
.featured-offering { border-color: #b78b1d; }
.membership-nav { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px 26px; padding: 18px 22px; border-block: 1px solid #d5e1e8; background: #fff; }
.membership-nav a { display: inline-flex; align-items: center; min-height: 44px; color: #17364b; font-size: .94rem; font-weight: 750; text-underline-offset: 5px; }
.membership-faq { background: #f0f5f8; }
#membership-how, #membership-includes, #membership-faq { scroll-margin-top: 110px; }
.faq-list { max-width: 960px; margin: auto; border-top: 1px solid #cad9e2; }
.faq-list details { border-bottom: 1px solid #cad9e2; }
.faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 72px; padding: 20px 0; list-style: none; cursor: pointer; font-family: Arial, Helvetica, sans-serif; font-weight: 700; font-size: 1.06rem; line-height: 1.5; color: #142735; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: '+'; color: #0878af; font-size: 1.5rem; flex-shrink: 0; }
.faq-list details[open] summary::after { content: '−'; }
.screen[hidden] .faq-list summary::after { content: none; }
.faq-list details p { margin: 0; padding: 0 42px 24px 0; max-width: 820px; color: #465d6d; font-size: 1rem; line-height: 1.75; }
.faq-list summary:focus-visible { outline: 3px solid #0878af; outline-offset: 4px; }
.faq-next { max-width: 960px; margin: 34px auto 0; display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.faq-next h3 { font-family: Arial, Helvetica, sans-serif; font-size: 1.25rem; }.faq-next p { margin: 9px 0 0; }.faq-next .button { flex-shrink: 0; }
.hero-signoff span:nth-child(1) { color: #69caff; }.hero-signoff span:nth-child(2) { color: #f6c14c; }.hero-signoff span:nth-child(3) { color: #ff6572; }
.coaching-photo { height: 560px; min-height: 0; }
.coaching-photo img { height: 100%; min-height: 0; object-position: center 8%; }
.founder-belief { margin: 24px 0; padding-left: 22px; border-left: 4px solid var(--gold); color: white; font-size: clamp(1.4rem, 2vw, 2rem); font-weight: 750; line-height: 1.3; }
.founder-story { display: grid; grid-template-columns: .8fr 1.2fr; gap: 7vw; align-items: start; }
.founder-story article { max-width: 720px; }
.founder-story article p { line-height: 1.8; margin-bottom: 22px; }
.story-mantra { margin-top: 32px; color: var(--ink); font-weight: 750; font-size: clamp(1.25rem, 2vw, 1.7rem); line-height: 1.5; }
.coach-collaboration { background: #081724; color: #fff; }
.coach-collaboration > p { max-width: 790px; color: #c4d4df; }
.coach-collaboration .steps { grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 32px; }
.coach-collaboration .step { color: #111d28; border-top-color: var(--gold); border-radius: 8px; }
#membership .price-panel { color: var(--ink); }
#membership .membership-hero .price-panel p { color: var(--muted); }
.app-shell { grid-template-columns: 218px minmax(0,1fr); }
.app-main { min-width: 0; }
.app-shell h1, .app-shell h2, .app-shell h3, .signup-page h1, .signup-page h2, dialog h2 { font-family: Arial, Helvetica, system-ui, sans-serif; font-stretch: normal; letter-spacing: -.025em; text-wrap: initial; }
.app-shell h1 { font-size: clamp(1.7rem, 2.7vw, 2.45rem); line-height: 1.17; }
.app-shell h2 { font-size: 1.4rem; line-height: 1.3; }
.app-shell h3 { font-size: 1.1rem; line-height: 1.35; }
.app-shell .eyebrow { color: #0676b6; font-size: .875rem; letter-spacing: .1em; }
.app-content { padding: 30px; max-width: 1400px; margin: auto; }
.app-topbar { min-height: 70px; padding: 10px 30px; gap: 12px; flex-wrap: wrap; }
.app-topbar select { max-width: 180px; min-height: 42px; padding: 8px 12px; border: 1px solid var(--line); background: #fff; border-radius: 8px; }
.app-topbar .top-actions { flex-wrap: wrap; }
.sidebar { padding: 26px 14px; }.sidebar .brand { font-size: .83rem; gap: 9px; }
.sidebar .brand-mark { width: 34px; height: 34px; flex-shrink: 0; }
.side-link { width: 100%; border: 0; background: none; text-align: left; align-items: center; font-weight: 650; text-decoration: none; min-height: 46px; }
.sidebar-note { font-size: .875rem; }
.page-heading { margin-bottom: 26px; align-items: center; }.page-heading p { margin-top: 10px; }
.panel { box-shadow: 0 8px 28px rgba(7,19,31,.035); padding: 24px; }
.panel-header { align-items: start; gap: 14px; margin-bottom: 18px; }.panel-header .status { flex-shrink: 0; }
.status, .mini-stat span { font-size: .875rem; }.status { white-space: nowrap; }
.dashboard-grid { grid-template-columns: minmax(0,1.25fr) minmax(290px,.85fr); gap: 22px; }
.dashboard-side { gap: 20px; }.dashboard-side .panel p { margin-bottom: 18px; }
.plan-main { border-top: 4px solid var(--blue); }.plan-main h2 { font-size: clamp(1.7rem,2.3vw,2.2rem); margin-bottom: 10px; }
.plan-topline { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-bottom: 18px; }
.plan-topline .eyebrow { margin: 0; }
.plan-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 22px; }
.plan-tags span { padding: 7px 12px; border: 1px solid #d4e5ef; border-radius: 7px; background: #f2f8fb; color: #1c526e; font-size: .875rem; font-weight: 650; }
.plan-note { padding: 18px; margin: 20px 0; background: #f4f7f9; border-left: 3px solid var(--gold); border-radius: 7px; }.plan-note p { margin: 6px 0 0; }
.plan-checklist { display: grid; gap: 5px; margin: 20px 0; }.plan-checklist label { display: flex; align-items: center; gap: 12px; padding: 10px 0; }
input[type=checkbox], input[type=radio] { width: 19px; height: 19px; flex-shrink: 0; accent-color: #087dab; }
.plan-progress { height: 6px; background: #e1e8ec; border-radius: 8px; margin: 14px 0 6px; overflow: hidden; }.plan-progress span { display: block; height: 100%; background: #0787bd; }
.subtle { font-size: .875rem; color: var(--muted); line-height: 1.5; }.demo-banner { padding: 11px 18px; background: #e8f1f7; color: #375365; font-size: .875rem; margin: 0 0 24px; border-radius: 8px; }
.mobile-portal-nav { display: none; }.text-button { padding: 0; border: 0; background: none; color: #0877ae; text-align: left; font-weight: 750; text-decoration: none; line-height: 1.5; }
.row-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }.row-actions .button { min-height: 40px; }
.stack { align-content: start; }.muted-box { padding: 18px; background: #f1f5f7; border-radius: 9px; }.muted-box p:last-child { margin-bottom: 0; }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }.field { display: grid; gap: 7px; align-content: start; }.field.full { grid-column: 1/-1; }
.field > label, .field > span { color: #1e2e3b; font-weight: 650; font-size: .94rem; }
.field input:not([type=checkbox]):not([type=radio]), .field select, .field textarea, .thread-search input { width: 100%; min-width: 0; min-height: 46px; padding: 11px 12px; border: 1px solid #b6c8d4; border-radius: 8px; background: white; color: #172936; font-size: 1rem; }
.field textarea { resize: vertical; min-height: 104px; }.field small { font-size: .875rem; color: #657582; }
.check-options { display: flex; flex-wrap: wrap; gap: 10px; }.check-options label { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border: 1px solid #cad7df; border-radius: 8px; }
.consent-line { display: flex; gap: 10px; align-items: start; font-size: .9rem; color: #536675; line-height: 1.5; }.consent-line input { margin-top: 3px; }
.form-actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-top: 26px; }.form-error { color: #ae1925; margin: 15px 0 0; }.form-error:empty { display: none; }
.signup-page { max-width: 1600px; margin: auto; background: #f0f5f8; min-height: 100vh; }.signup-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 55px; max-width: 1240px; padding: 65px 32px; margin: auto; align-items: start; }
.signup-layout h1 { font-size: clamp(2.3rem,4vw,3.5rem); line-height: 1.07; }.signup-layout .panel { padding: 32px; }.signup-intro { padding: 20px 0; }.signup-intro ol { padding-left: 24px; color: #476170; }.signup-intro li { padding: 7px 0; }
.form-success { max-width: 700px; padding: 45px; margin: 65px auto; }.form-success h1 { font-size: 2.3rem; }.empty-state { padding: 36px 22px; text-align: center; border: 1px dashed #bfd0dc; border-radius: 10px; background: #f7fafb; }.empty-state p:last-child { margin-bottom: 0; }
.portal-subtabs { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 22px; }.portal-subtabs button { padding: 9px 16px; border: 1px solid #c6d4de; border-radius: 8px; background: white; color: #304c60; font-weight: 650; }.portal-subtabs button.active { background: #102b40; color: white; border-color: #102b40; }
.program-document { padding: 30px; background: white; border: 1px solid #d1dde5; border-top: 5px solid var(--blue); border-radius: 12px; }.program-document h2 { margin: 15px 0; }.program-document .drill-row { grid-template-columns: 100px minmax(0,1fr); }.program-document .drill-row span { white-space: pre-wrap; overflow-wrap: anywhere; }
.plan-history { display: flex; flex-direction: column; gap: 8px; margin-top: 15px; }.plan-history button { border: 1px solid #d3e0e8; background: #f6fafc; padding: 12px; text-align: left; border-radius: 8px; color: #1a374a; }.plan-history button.active { border-color: #0787bd; background: #e9f5fb; }
.pdf-frame { width: 100%; min-height: 700px; border: 1px solid #c6d6e0; border-radius: 10px; }.history-item { padding: 18px 0; border-top: 1px solid #dbe4ea; }.history-item:first-child { border-top: 0; }.history-item p { white-space: pre-wrap; overflow-wrap: anywhere; }
.message-layout { grid-template-columns: 240px minmax(0,1fr); min-height: 560px; }.conversation { min-width: 0; }.thread { display: block; width: 100%; border: 0; border-bottom: 1px solid var(--line); background: white; text-align: left; }.thread.active { border-left: 4px solid #0798e7; }.thread-search { padding: 12px; }.messages { min-height: 300px; max-height: 530px; overflow-y: auto; }.bubble { overflow-wrap: anywhere; }.bubble p { white-space: pre-wrap; }.bubble small { font-size: .875rem; }.composer { align-items: end; }.composer textarea { width: 100%; min-height: 82px; max-height: 180px; resize: vertical; padding: 13px; border: 1px solid #b6c8d4; border-radius: 8px; }.conversation-header small { display: block; color: #526b7d; margin-top: 4px; font-size: .875rem; }
.admin-metrics .metric { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 9px; min-height: 126px; padding: 24px 20px 24px 38px; background: #fff; color: var(--ink); border: 1px solid #dbe3e8; text-align: left; }
.admin-metrics .metric::before { inset: 26px auto auto 20px; width: 4px; height: 28px; border-radius: 3px; }
.admin-metrics .metric:hover { background: #f7fbfd; border-color: #93b9cf; }
.admin-metrics .metric strong { font-family: Arial, sans-serif; font-size: 1.8rem; line-height: 1.1; color: var(--ink); }.admin-metrics .metric span { font-size: .875rem; color: #526675; font-weight: 650; line-height: 1.4; }.table-wrap button { white-space: nowrap; }.table-wrap p { margin: 3px 0; font-size: .875rem; }.table-wrap td { vertical-align: top; }.table-wrap .wrap-cell { white-space: normal; min-width: 220px; max-width: 350px; overflow-wrap: anywhere; }.table-wrap th { font-size: .875rem; }
.webinar-card { border-top: 4px solid var(--blue); max-width: 900px; }.webinar-card h2 { font-size: 1.8rem; }.webinar-card dl { display: grid; grid-template-columns: 100px 1fr; gap: 12px; margin: 24px 0; }.webinar-card dt { color: #697b88; }.webinar-card dd { margin: 0; }
dialog { max-width: min(650px,calc(100% - 28px)); width: 650px; max-height: 90vh; padding: 30px; border: 0; border-radius: 16px; box-shadow: 0 20px 80px #0005; color: #132331; }dialog::backdrop { background: #06111bc4; backdrop-filter: blur(4px); }.dialog-heading { display: flex; gap: 15px; justify-content: space-between; align-items: start; margin-bottom: 20px; }.dialog-heading h2 { font-size: 1.6rem; line-height: 1.2; margin: 0; }.dialog-close { width: 38px; height: 38px; border: 1px solid #c7d4df; border-radius: 50%; background: white; font-size: 1.4rem; }
@media (max-width: 1150px) { .app-shell { grid-template-columns: 195px minmax(0,1fr); }.app-content { padding: 25px; }.dashboard-grid { grid-template-columns: 1fr; }.dashboard-side { grid-template-columns: repeat(2,minmax(0,1fr)); }.dashboard-side > :last-child { grid-column: 1/-1; }.public-nav { gap: 15px; }.development-copy { padding-top: 240px; }.message-layout { grid-template-columns: 195px minmax(0,1fr); }.app-shell .pdf-layout { grid-template-columns: 1fr; } }
@media (max-width: 760px) {
 .table-wrap table, .table-wrap tbody, .table-wrap tr, .table-wrap td { display: block; width: 100%; }
 .table-wrap thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); }
 .table-wrap tr { padding: 18px 0; border-bottom: 1px solid #dbe4ea; }.table-wrap tr:last-child { border-bottom: 0; }
 .table-wrap td, .table-wrap .wrap-cell { min-width: 0; max-width: none; border: 0; padding: 6px 0; white-space: normal; overflow-wrap: anywhere; }
 .table-wrap td[data-label]:not([data-label=""])::before { content: attr(data-label); display: block; margin-bottom: 4px; font-size: .875rem; color: #536b7b; font-weight: 700; }
 .table-wrap td:last-child .button { min-height: 44px; }.public-nav .button.small { padding: 9px 12px; font-size: .875rem; }
 .public-nav { flex-wrap: wrap; }.public-nav .nav-link { display: inline-flex; align-items: center; min-height: 44px; font-size: .875rem; }
 .stat-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }.stat { min-width: 0; overflow-wrap: anywhere; }
 #membership-how, #membership-includes, #membership-faq { scroll-margin-top: 160px; }
 .faq-next { align-items: stretch; flex-direction: column; }.faq-list details p { padding-right: 0; }.membership-nav { justify-content: flex-start; gap: 4px 18px; }
 .coaching-photo { height: 480px; }
 .prototype-bar { flex-direction: row; padding: 9px 14px; gap: 8px; }.prototype-bar label { font-size: .8rem; }.prototype-bar select { max-width: 170px; }.demo-context { display: none; }.demo-reset { margin-left: auto; font-size: .8rem; }
 .site-header { flex-wrap: wrap; gap: 12px; padding: 16px; }.public-nav { width: 100%; justify-content: space-between; gap: 10px; }.public-nav .button { display: inline-flex; min-height: 40px; }.site-header .brand { font-size: .94rem; }
 .development-hero { grid-template-columns: 1fr; }.development-art { grid-area: auto; }.development-hero::after { display: none; }.development-copy { grid-area: auto; padding: 26px 22px 38px; }.development-copy h1 { font-size: clamp(2.2rem,8vw,3.2rem); }.development-message > p { font-size: 1rem; }.development-copy .eyebrow { font-size: .8rem; }.development-copy .actions { flex-direction: column; }.development-copy .button { width: 100%; }.development-copy .hero-signoff { font-size: .875rem; letter-spacing: .14em; }
 .founder-story { grid-template-columns: 1fr; gap: 24px; }.coach-collaboration .steps { grid-template-columns: 1fr; }.founder-story .story-mantra { margin-top: 20px; }
 .app-shell { grid-template-columns: 1fr; }.app-content { padding: 22px 16px 40px; }.app-topbar { padding: 14px 16px; position: static; }.app-topbar strong { font-size: .95rem; }.app-topbar .avatar { display: none; }.app-topbar select { max-width: 170px; font-size: .94rem; }.app-topbar .top-actions { gap: 8px; }.mobile-portal-nav { display: flex; gap: 8px; overflow-x: auto; padding: 10px 16px; border-bottom: 1px solid #d2dfe7; background: #fff; }.mobile-portal-nav button { padding: 8px 12px; border: 1px solid #d0dde5; border-radius: 7px; background: white; white-space: nowrap; color: #15354b; font-size: .875rem; }.mobile-portal-nav button.active { background: #123348; color: white; }
 .dashboard-side { grid-template-columns: 1fr; }.panel { padding: 21px; }.panel-header { flex-wrap: wrap; }.form-grid { grid-template-columns: 1fr; }.field.full { grid-column: auto; }.signup-layout { grid-template-columns: 1fr; gap: 20px; padding: 28px 16px; }.signup-intro { padding: 0; }.signup-layout .panel { padding: 22px; }.signup-intro ol { display: none; }.signup-layout h1 { font-size: 2.25rem; }.form-success { margin: 28px 16px; padding: 26px; }.message-layout { grid-template-columns: 1fr; }.thread-list { display: block; border-right: 0; }.thread-search { display: none; }.thread-list .thread:not(.active) { display: none; }.messages { padding: 18px; }.composer { grid-template-columns: 1fr; }.composer button { justify-self: end; }.program-document { padding: 22px; }.program-document .drill-row { grid-template-columns: 1fr; gap: 8px; }.row-actions .button { flex-grow: 1; }.demo-banner { margin-bottom: 20px; }.app-shell .admin-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }.metric { padding: 18px; }.activity-row { flex-wrap: wrap; }.pdf-frame { min-height: 520px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }*, *::before, *::after { animation: none !important; transition: none !important; } }
