
:root{
--primary:#292351;--accent:#9380AB;--background:#FFF8F0;--surface:#FFFFFF;--text:#29243A;--muted:#706B7C;--border:#E3DFEA;
--header-bg:#535980;--header-text:#FFF8F0;
--font-heading:"Iowan Old Style","Baskerville","Palatino Linotype","Book Antiqua",Georgia,serif;
--font-body:"Helvetica Neue",Helvetica,Arial,sans-serif;
--button-bg:#535980;--button-text:#FFFFFF;--button-hover-bg:#444A6D;--button-hover-text:#FFFFFF;--button-border:#535980;--button-radius:3px;--button-border-width:1px;--button-tracking:.14em;
}
:root { --card-shadow: 0 2px 3px color-mix(in srgb, var(--primary) 5%, transparent), 0 10px 18px -8px color-mix(in srgb, var(--primary) 17%, transparent), 0 24px 40px -16px color-mix(in srgb, var(--primary) 20%, transparent), inset 0 1px 0 var(--surface); }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--background); color: var(--text); font-family: var(--font-body); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
:focus-visible { outline: 2px solid var(--primary); outline-offset: 5px; }
::selection { background: var(--primary); color: var(--background); }
.skip-link { position: fixed; top: 12px; left: 12px; padding: 14px 22px; background: var(--primary); color: var(--background); z-index: 10; transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); }
.site-header { min-height: 76px; padding: 0 clamp(24px, 4.5vw, 80px); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 28px; background: var(--header-bg); color: var(--header-text); }
.site-header :focus-visible { outline-color: var(--header-text); }
.logo { justify-self: start; display: inline-flex; align-items: center; }
.logo img { width: 110px; max-height: 48px; object-fit: contain; }
.logo-placeholder { min-height: 38px; display: flex; align-items: center; border: 1px solid color-mix(in srgb, var(--header-text) 40%, transparent); padding: 0 16px; font-size: 10px; letter-spacing: .17em; color: var(--header-text); }
.business-name { font-family: var(--font-heading); font-size: 25px; text-align: center; overflow-wrap: anywhere; }
nav { justify-self: end; display: flex; align-items: center; gap: 12px; font-size: 14px; }
nav a { padding: 14px 0; white-space: nowrap; }
.header-auth-button { padding: 14px 0; background: none; border: 0; color: inherit; font: inherit; white-space: nowrap; cursor: pointer; }
.header-auth-button:hover { text-decoration: underline; text-underline-offset: 6px; }
.header-auth-button:disabled, .auth-pending { opacity: .7; }
.sign-out-control { position: relative; }
.sign-out-error { position: absolute; z-index: 5; right: 0; top: 100%; width: 230px; padding: 12px; background: var(--surface); color: var(--text); box-shadow: var(--card-shadow); line-height: 1.5; }
nav a:hover { color: var(--header-text); text-decoration: underline; text-underline-offset: 6px; }
.account-divider { width: 1px; height: 15px; background: color-mix(in srgb, var(--header-text) 45%, transparent); flex-shrink: 0; }
.introduction { max-width: 1120px; margin: 0 auto; padding: 68px 24px 60px; text-align: center; }
.eyebrow { font-size: 12px; font-weight: 500; letter-spacing: .19em; color: var(--primary); margin: 0 0 23px; line-height: 1.6; }
h1, h2 { color: var(--primary); font-family: var(--font-heading); font-weight: 400; text-wrap: balance; }
h1 { font-size: clamp(38px, 4.3vw, 62px); letter-spacing: -.035em; line-height: 1.12; margin: 0 auto 23px; max-width: 1040px; }
@media (min-width: 901px) {
  .introduction h1, .introduction .eyebrow { white-space: nowrap; }
}
.intro-copy { max-width: 565px; font-size: 16px; line-height: 1.85; color: var(--muted); margin: 0 auto; }
.collection { width: min(1040px, calc(100% - 112px)); margin: 0 auto; scroll-margin-top: 28px; }
.program { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(30px, 4.5vw, 56px); padding: 32px; margin-bottom: 30px; background: var(--surface); border: 1px solid color-mix(in srgb, var(--border) 55%, transparent); border-radius: 7px; box-shadow: var(--card-shadow); }
.program:last-child { margin-bottom: 70px; }
.program-artwork img { display: block; width: 100%; height: auto; aspect-ratio: 16/9; object-fit: contain; border-radius: 3px; }
.program-details { min-width: 0; }
.program-details .button { margin-top: 24px; }
h2 { margin: 0 0 10px; font-size: clamp(27px, 2.5vw, 34px); line-height: 1.2; letter-spacing: -.025em; }
.program-copy { max-width: 450px; }
.program-copy p { font-size: 16px; line-height: 1.7; color: var(--muted); margin: 0; max-width: 570px; }
.button { min-height: 50px; display: inline-flex; justify-content: center; align-items: center; padding: 16px 28px; border: var(--button-border-width) solid var(--button-border); border-radius: var(--button-radius); background: var(--button-bg); color: var(--button-text); font-size: 11px; font-weight: 500; letter-spacing: var(--button-tracking); line-height: 1.4; text-align: center; cursor: pointer; box-shadow: 0 5px 12px color-mix(in srgb, var(--primary) 12%, transparent); transition: background .18s ease, color .18s ease; }
.button:hover { background: var(--button-hover-bg); color: var(--button-hover-text); }
footer { border-top: 1px solid var(--border); margin: 0 clamp(24px, 4.5vw, 80px); padding: 34px 0 40px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
footer span { font-family: var(--font-heading); font-size: 23px; }
footer p { font-size: 12px; color: var(--muted); margin: 0; }
dialog { width: min(510px, calc(100% - 40px)); max-height: calc(100dvh - 40px); padding: 0; border: 1px solid var(--border); background: var(--background); color: var(--text); }
dialog::backdrop { background: color-mix(in srgb, var(--primary) 48%, transparent); }
.access-message { padding: 52px 35px; text-align: center; }
.access-message h2 { font-size: 36px; }
.access-message > p:not(.eyebrow) { font-size: 16px; line-height: 1.8; color: var(--muted); margin: 18px 0 28px; }
@media (max-width: 900px) {
  .site-header { grid-template-columns: auto minmax(0, 1fr) auto; gap: 22px; }
  .business-name { font-size: 22px; }
  .collection { width: calc(100% - 64px); }
  .program { gap: 28px; padding: 25px; }
}
@media (max-width: 600px) {
  .site-header { min-height: 100px; padding: 12px 22px 0; grid-template-columns: auto minmax(0, 1fr); column-gap: 18px; row-gap: 5px; }
  .logo-placeholder { padding: 0 10px; min-height: 38px; font-size: 9px; }
  .logo img { width: 75px; max-height: 45px; }
  .business-name { font-size: 22px; text-align: right; }
  nav { grid-column: 1 / -1; justify-self: center; padding-bottom: 6px; }
  nav a { padding: 10px 0; }
  .header-auth-button { padding: 10px 0; }
  .introduction { padding: 48px 25px 43px; }
  .eyebrow { font-size: 10px; letter-spacing: .16em; margin-bottom: 18px; }
  h1 { font-size: clamp(36px, 9.5vw, 48px); line-height: 1.1; margin-bottom: 21px; }
  .intro-copy { font-size: 16px; line-height: 1.75; }
  .collection { width: calc(100% - 32px); }
  .program { grid-template-columns: minmax(0, 1fr); gap: 25px; padding: 20px; margin-bottom: 24px; }
  .program:last-child { margin-bottom: 24px; }
  .program-artwork { width: min(100%, 380px); }
  h2 { font-size: 29px; margin-bottom: 12px; }
  .program-copy p { font-size: 16px; line-height: 1.65; }
  .program-details .button { margin-top: 22px; }
  footer { margin: 0 22px; padding: 30px 0; flex-direction: column; gap: 12px; text-align: center; }
  .access-message { padding: 38px 24px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .button { transition: none; } }
.program-page { width: min(1080px, calc(100% - 80px)); margin: 0 auto; }
.program-welcome { text-align: center; padding: 68px 0 56px; }
.program-welcome h1 { font-size: clamp(36px, 3.8vw, 52px); max-width: 100%; margin-bottom: 20px; }
.program-welcome p { color: var(--muted); font-size: 17px; line-height: 1.75; margin: 0; }
.session-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 46px 36px; padding-bottom: 72px; scroll-margin-top: 24px; align-items: start; }
.session { min-width: 0; padding: 25px; background: var(--surface); border-radius: 7px; border: 1px solid color-mix(in srgb, var(--border) 55%, transparent); box-shadow: var(--card-shadow); }
.session h2 { font-size: 29px; margin: 0 0 20px; }
.session-player { position: relative; width: 100%; }
.session-player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.flipbook-player, .flipbook-placeholder { aspect-ratio: 4 / 3; }
.flipbook-placeholder { display: flex; align-items: center; justify-content: center; background: var(--background); border: 1px dashed var(--border); color: var(--muted); font-size: 15px; }
@media (max-width: 700px) {
  .program-page { width: calc(100% - 32px); }
  .program-welcome { padding: 45px 10px 36px; }
  .program-welcome h1 { font-size: 36px; }
  .program-welcome p { font-size: 16px; }
  .session-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; padding-bottom: 45px; }
  .session { padding: 20px; }
  .session h2 { font-size: 27px; margin-bottom: 17px; }
}

/* Account and Clerk screens reuse the existing brand tokens. */
.account-page { width: min(850px, calc(100% - 48px)); margin: 0 auto; padding: 64px 0 80px; min-height: 60vh; }
.account-page h1 { font-size: clamp(36px, 4vw, 52px); margin: 0 0 24px; }
.account-page p { font-size: 16px; line-height: 1.75; color: var(--muted); overflow-wrap: anywhere; }
.account-page .account-name { font-family: var(--font-heading); color: var(--primary); font-size: 25px; margin-bottom: 0; }
.account-programs { margin-top: 38px; padding: 32px; background: var(--surface); border-radius: 7px; box-shadow: var(--card-shadow); }
.account-programs p { margin-bottom: 0; }
.auth-page { min-height: 65vh; display: flex; justify-content: center; padding: 56px 20px 72px; }
.auth-page > div { max-width: 100%; }
.setup-note { max-width: 600px; }
@media (max-width: 600px) { .account-page { padding: 40px 0 56px; } .account-programs { padding: 24px; } }

/* Coach tools share the public site's type, colors, and spacing. */
.admin-page { width: min(960px, calc(100% - 48px)); margin: 64px auto 96px; }
.admin-page h1 { font-family: var(--font-heading); font-weight: 400; font-size: clamp(2.5rem, 5vw, 3.5rem); margin: 24px 0 16px; }
.back-link, .text-button { color: var(--primary); }
.client-search { margin: 36px 0; }
.client-search label { display: block; margin-bottom: 12px; }
.client-search > div { display: flex; gap: 12px; }
.client-search input { min-width: 0; flex: 1; padding: 12px; font: inherit; border: 1px solid var(--border); border-radius: 3px; background: var(--surface); color: var(--text); }
.client-card { background: var(--surface); padding: 28px; margin-bottom: 24px; border-radius: 8px; box-shadow: 0 8px 24px rgb(41 35 81 / 7%); }
.client-heading { display: flex; gap: 16px; align-items: baseline; flex-wrap: wrap; }
.client-heading h2 { font-size: 1.7rem; margin: 0; overflow-wrap: anywhere; }
.coach-label { font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; }
.client-email { overflow-wrap: anywhere; }
.client-card fieldset { border: 0; padding: 0; margin: 24px 0 0; min-width: 0; }
.client-card legend { font-size: .85rem; margin-bottom: 12px; }
.access-options { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 24px; }
.access-options label { display: flex; gap: 12px; align-items: center; min-height: 44px; cursor: pointer; }
.access-options input { width: 20px; height: 20px; flex: 0 0 20px; accent-color: var(--button-bg); }
.save-status { min-height: 1.5em; margin-bottom: 0; font-size: .9rem; }
.client-pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 32px 0 16px; }
button:disabled { opacity: .55; cursor: not-allowed; }
.text-button { padding: 12px 0; background: none; border: 0; font: inherit; text-decoration: underline; cursor: pointer; }
.manage-clients { margin-top: 24px; }
.account-program-list { list-style: none; padding: 0; display: grid; gap: 20px; }
.account-program-list li { padding: 24px; background: var(--surface); border-radius: 6px; }
.account-program-list h3 { margin: 0 0 16px; font-size: 1.5rem; font-weight: 400; }
@media (max-width: 600px) {
  .admin-page { width: calc(100% - 32px); margin-top: 36px; }
  .client-card { padding: 20px; }
  .access-options { grid-template-columns: 1fr; }
  .client-search > div { flex-direction: column; }
  .client-pagination { flex-wrap: wrap; }
  .client-pagination .button { padding: 12px; }
}
.profile-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 8px 0 24px; }
.profile-fields label { display: block; font-size: .95rem; }
.profile-fields input { display: block; width: 100%; min-width: 0; margin-top: 8px; padding: 12px; border: 1px solid var(--border); border-radius: 3px; background: var(--surface); color: var(--text); font: inherit; }
.profile-fields .email-field { grid-column: 1 / -1; }
.invite-client { margin-top: 32px; }
.pending-invitations { margin-top: 24px; overflow-wrap: anywhere; }
.pending-invitations summary { cursor: pointer; padding: 10px 0; }
@media (max-width: 600px) { .profile-fields { grid-template-columns: 1fr; } }

/* Mother Wound: a quiet session library and a dedicated viewing page. */
.learning-page { width: min(1120px, calc(100% - 96px)); margin: 0 auto; padding: 36px 0 100px; }
.learning-back { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; color: var(--muted); }
.learning-back:hover { color: var(--primary); }
.library-introduction { display: grid; grid-template-columns: 1.2fr 1fr; gap: 80px; align-items: center; padding: 44px 0 62px; }
.library-introduction .eyebrow { font-size: 10px; margin-bottom: 20px; letter-spacing: .22em; }
.library-introduction h1 { font-size: clamp(44px, 5.4vw, 72px); max-width: 13ch; margin: 0; line-height: 1.04; letter-spacing: -.045em; }
.library-intro-copy { border-left: 1px solid var(--border); padding-left: 36px; }
.library-intro-copy p { font: 26px/1.4 var(--font-heading); color: var(--primary); margin: 0 0 20px; }
.library-intro-copy span { display: block; color: var(--muted); font-size: 14px; line-height: 1.8; max-width: 34ch; }
.library-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; border-top: 1px solid var(--border); padding: 30px 0 24px; }
.library-section-heading h2 { font-size: 29px; margin: 0; }
.library-section-heading p { color: var(--muted); font-size: 12px; margin: 0; }
.lesson-library { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.lesson-card { min-width: 0; background: var(--surface); border-radius: 9px; overflow: hidden; padding: 12px 12px 0; border: 1px solid color-mix(in srgb, var(--border) 65%, transparent); box-shadow: 0 4px 7px color-mix(in srgb, var(--primary) 3%, transparent), 0 18px 35px -22px color-mix(in srgb, var(--primary) 30%, transparent); }
.lesson-cover-link { display: block; overflow: hidden; border-radius: 4px; }
.lesson-cover-link img { display: block; width: 100%; height: auto; aspect-ratio: 16/9; object-fit: contain; }
.lesson-card-copy { padding: 25px 20px 6px; }
.lesson-card h3 { font: 35px/1.15 var(--font-heading); color: var(--primary); letter-spacing: -.03em; margin: 0 0 20px; }
.lesson-subtitle { font: 22px/1.35 var(--font-heading); margin: 0 0 12px; }
.lesson-description { font-size: 14px; color: var(--muted); line-height: 1.7; }
.lesson-start { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 64px; border-top: 1px solid var(--border); color: var(--button-bg); font-size: 10px; letter-spacing: .15em; font-weight: 600; }
.lesson-start > span:last-child { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: color-mix(in srgb, var(--button-bg) 9%, var(--surface)); font-size: 20px; transition: background .18s, color .18s; }
.lesson-start:hover > span:last-child { background: var(--button-bg); color: var(--button-text); }
.lesson-page { max-width: 1040px; }
.lesson-introduction { text-align: center; padding: 32px 0 38px; }
.lesson-introduction .eyebrow { display: inline-block; font-size: 11px; letter-spacing: .17em; margin: 0 0 18px; }
.lesson-introduction h1 { font-size: clamp(48px, 5.5vw, 72px); margin: 0; }
.lesson-introduction h2 { margin: 20px 0 0; font-size: 26px; }
.lesson-introduction > p { max-width: 620px; margin: 20px auto 0; color: var(--muted); line-height: 1.7; }
.lesson-viewing-room { padding: 12px; background: var(--surface); border: 1px solid var(--border); border-radius: 9px; box-shadow: var(--card-shadow); scroll-margin-top: 25px; }
.lesson-viewing-room .session-player { overflow: hidden; border-radius: 3px; background: var(--primary); }
.lesson-navigation { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; gap: 24px; width: 100%; margin-top: 30px; padding: 0; }
.lesson-navigation .lesson-nav-link { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 23px 28px; border: 1px solid var(--border); border-radius: var(--button-radius); white-space: normal; font: 27px/1.3 var(--font-heading); color: var(--primary); }
.lesson-navigation .lesson-nav-link small { display: block; font: 9px/1.5 var(--font-body); letter-spacing: .18em; margin-bottom: 6px; }
.lesson-navigation .previous-session { background: var(--surface); justify-content: flex-start; }
.lesson-navigation .next-session { background: var(--button-bg); color: var(--button-text); border-color: var(--button-bg); }
.lesson-navigation .lesson-nav-link:hover { text-decoration: none; background: color-mix(in srgb, var(--button-bg) 7%, var(--surface)); color: var(--primary); }
.lesson-navigation .next-session:hover { background: var(--button-hover-bg); color: var(--button-hover-text); }
@media (max-width: 800px) {
  .learning-page { width: calc(100% - 48px); }
  .library-introduction { gap: 32px; }
  .library-intro-copy { padding-left: 24px; }
  .lesson-library { gap: 24px; }
  .lesson-card-copy { padding: 20px 12px 6px; }
}
@media (max-width: 600px) {
  .learning-page { width: calc(100% - 32px); padding: 20px 0 56px; }
  .library-introduction { grid-template-columns: 1fr; gap: 24px; padding: 24px 8px 36px; }
  .library-introduction h1 { font-size: 49px; }
  .library-intro-copy { padding: 0; border: 0; }
  .library-intro-copy p { font-size: 23px; margin-bottom: 14px; }
  .library-intro-copy span { max-width: none; }
  .library-section-heading { padding: 24px 8px 20px; }
  .library-section-heading p { display: none; }
  .lesson-library { grid-template-columns: 1fr; }
  .lesson-card h3 { font-size: 32px; }
  .lesson-introduction { padding: 24px 8px 30px; }
  .lesson-introduction .eyebrow { font-size: 10px; letter-spacing: .12em; }
  .lesson-viewing-room { padding: 6px; }
  .lesson-navigation { gap: 12px; }
  .lesson-navigation .lesson-nav-link { padding: 18px 14px; font-size: 22px; gap: 10px; }
}
@media (prefers-reduced-motion: reduce) { .lesson-start > span:last-child { transition: none; } }

/* Public homepage: spacious editorial pairs, with artwork kept intact. */
.home-page { padding-bottom: 100px; }
.home-page .introduction { max-width: 1280px; padding: 88px 40px 76px; }
.home-page .introduction .eyebrow { font-size: 10px; letter-spacing: .25em; margin-bottom: 28px; }
.home-page .introduction h1 { max-width: none; font-size: clamp(38px, 4.5vw, 64px); letter-spacing: -.045em; margin-bottom: 30px; }
.home-page .intro-copy { max-width: 690px; font-size: 16px; line-height: 1.9; }
.home-page .introduction::after { content: ''; display: block; width: 54px; height: 1px; margin: 38px auto 0; background: var(--accent); }
.home-page .collection { width: min(1180px, calc(100% - 96px)); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 70px 48px; }
.home-page .program { display: flex; flex-direction: column; align-items: stretch; min-width: 0; gap: 0; padding: 0; margin: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.home-page .program-artwork { width: 100%; padding: 10px; background: var(--surface); border: 1px solid color-mix(in srgb, var(--border) 65%, transparent); border-radius: 4px; box-shadow: 0 16px 32px -24px color-mix(in srgb, var(--primary) 35%, transparent); }
.home-page .program-artwork img { border-radius: 1px; }
.home-page .program-details { padding: 27px 6px 0; flex: 1; display: flex; flex-direction: column; align-items: flex-start; }
.home-page .program-copy { max-width: none; }
.home-page .program-format { color: var(--button-bg); font-size: 10px; line-height: 1.6; text-transform: uppercase; letter-spacing: .15em; margin: 0 0 14px; }
.home-page .program-copy h2 { font-size: clamp(31px, 3.1vw, 43px); line-height: 1.1; letter-spacing: -.035em; margin-bottom: 19px; }
.home-page .program-copy p:not(.program-format) { font-size: 16px; line-height: 1.8; max-width: 49ch; }
.home-page .program-access { margin-top: auto; position: relative; top: 0; gap: 30px; min-width: 205px; justify-content: space-between; padding: 15px 22px; font-size: 10px; letter-spacing: .15em; box-shadow: none; }
.home-page .program-details::after { content: ''; display: block; width: 100%; height: 1px; background: var(--border); margin-top: 28px; }
.home-page .program-copy { margin-bottom: 27px; }
.home-page .program:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: 1.08fr 1fr; gap: 48px; align-items: center; padding: 36px; margin: 2px 0 0; background: color-mix(in srgb, var(--surface) 72%, var(--background)); border: 1px solid var(--border); border-radius: 4px; }
.home-page .program:last-child .program-details { padding: 0; }
.home-page .program:last-child .program-details::after { display: none; }
.home-page .program:last-child .program-artwork { padding: 0; border: 0; background: transparent; box-shadow: none; }
@media (max-width: 900px) {
  .home-page .collection { width: calc(100% - 56px); gap: 52px 28px; }
  .home-page .introduction { padding: 65px 28px 58px; }
  .home-page .program:last-child { gap: 28px; padding: 26px; }
}
@media (max-width: 650px) {
  .home-page { padding-bottom: 48px; }
  .home-page .introduction { padding: 48px 24px 44px; }
  .home-page .introduction h1 { font-size: clamp(38px, 10vw, 52px); }
  .home-page .introduction .eyebrow { font-size: 9px; letter-spacing: .18em; margin-bottom: 22px; }
  .home-page .introduction::after { margin-top: 28px; }
  .home-page .collection { width: calc(100% - 32px); grid-template-columns: minmax(0, 1fr); gap: 38px; }
  .home-page .program-artwork { padding: 7px; }
  .home-page .program-details { padding: 24px 8px 0; }
  .home-page .program-copy h2 { font-size: 36px; }
  .home-page .program-copy p:not(.program-format) { max-width: none; }
  .home-page .program:last-child { display: flex; gap: 0; padding: 0; background: transparent; border: 0; }
  .home-page .program:last-child .program-artwork { padding: 7px; background: var(--surface); border: 1px solid var(--border); }
  .home-page .program:last-child .program-details { padding: 24px 8px 0; }
}

/* Finishing touches shared by the editorial homepage and the portal. */
.site-header .business-name { letter-spacing: -.025em; }
.site-header .logo-placeholder { border-color: color-mix(in srgb, var(--header-text) 25%, transparent); letter-spacing: .2em; }
.site-header nav { font-size: 12px; letter-spacing: .025em; }
footer { margin: 0; padding: 38px max(24px, calc((100vw - 1180px) / 2)) 42px; border-top-color: color-mix(in srgb, var(--border) 75%, transparent); background: color-mix(in srgb, var(--surface) 45%, var(--background)); }
footer span { font-size: 25px; letter-spacing: -.025em; }
footer p { font-size: 10px; letter-spacing: .09em; }
@media (max-width: 600px) { footer { padding: 32px 24px; } }

/* Preview only: account and program links stay in the working Codex portal. */
.site-header nav button{padding:14px 0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;white-space:nowrap}
.site-header nav button:hover{text-decoration:underline;text-underline-offset:6px}
#preview-dialog{width:min(480px,calc(100% - 32px));padding:0}
.dialog-content{position:relative;padding:42px;text-align:center}
.dialog-content h2{font-size:36px}
.dialog-content>p:last-child{font-size:16px;line-height:1.7;color:var(--muted)}
.dialog-close{position:absolute;top:8px;right:14px;border:0;background:none;color:var(--primary);font-size:28px;cursor:pointer}
@media(max-width:600px){.site-header nav button{padding:10px 0}}

/* HMI example branding; the coach template keeps these fields configurable. */
.site-header .logo img{width:66px;max-height:66px;height:66px;object-fit:contain}
.site-header{min-height:90px}
@media(max-width:600px){.site-header .logo img{width:53px;height:53px;max-height:53px}}

/* Visual study: replaceable split hero above the original program collection. */
.home-page .introduction{width:min(1320px,calc(100% - 80px));max-width:none;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(48px,5vw,82px);padding:48px 0 74px;text-align:left}
.home-page .introduction::after{display:none}
.hero-copy{padding:28px 0 28px clamp(0px,2vw,26px)}
.home-page .introduction .eyebrow{margin-bottom:24px;white-space:normal}
.home-page .introduction h1{font-size:clamp(45px,4vw,62px);line-height:1.08;letter-spacing:-.045em;white-space:normal;max-width:11ch;margin:0 0 26px;text-wrap:balance}
.home-page .intro-copy{max-width:48ch;margin:0;font-size:17px;line-height:1.78}
.hero-visual{min-width:0;height:clamp(410px,36vw,510px);overflow:hidden;background:#d7dee0}
.hero-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:57% center}
.home-page .collection{width:min(1260px,calc(100% - 96px));gap:70px 48px}
.home-page .program-artwork{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.home-page .program-artwork img{border-radius:0}
.home-page .program-details{padding:25px 3px 0}
.home-page .program-copy h2{font-size:clamp(31px,2.8vw,39px);margin-bottom:14px}
.home-page .program-copy p:not(.program-format){line-height:1.7}
.home-page .program:last-child{padding:34px;border-radius:0}
@media(max-width:900px){.home-page .introduction{width:calc(100% - 56px);gap:28px;padding:38px 0 58px}.hero-copy{padding:10px 0}.home-page .introduction h1{font-size:clamp(40px,5vw,50px)}.hero-visual{height:420px}.home-page .collection{width:calc(100% - 56px)}}
@media(max-width:650px){.home-page .introduction{display:flex;flex-direction:column;align-items:stretch;width:100%;gap:28px;padding:42px 18px 52px}.hero-copy{padding:0 7px}.home-page .introduction h1{font-size:clamp(42px,10vw,55px);max-width:12ch}.home-page .intro-copy{font-size:16px}.hero-visual{height:300px}.home-page .collection{width:calc(100% - 36px)}.home-page .program-artwork{padding:0}.home-page .program:last-child .program-artwork{padding:0;border:0;background:none}.home-page .program:last-child{padding:0}.home-page .program-details,.home-page .program:last-child .program-details{padding:23px 5px 0}}

/* HMI visual study: an immersive, coach-replaceable homepage hero. */
.home-page{background:#f6f3ec;color:#223329;padding-bottom:105px}
.site-header{position:absolute;inset:0 0 auto;z-index:3;min-height:104px;background:linear-gradient(180deg,rgba(8,20,15,.8),rgba(8,20,15,.46) 64%,rgba(8,20,15,0));color:#fff;padding-inline:clamp(25px,4vw,76px)}
.site-header .business-name{font-size:21px;letter-spacing:.025em;text-shadow:0 1px 14px rgba(0,0,0,.3)}
.site-header .logo img{height:66px;width:66px;max-height:66px}
.site-header nav{font-size:12px;letter-spacing:.09em;text-transform:uppercase}
.site-header .account-divider{background:rgba(255,255,255,.55)}
.home-page .introduction{isolation:isolate;position:relative;display:flex;align-items:center;width:100%;max-width:none;min-height:clamp(560px,78svh,690px);margin:0;padding:150px clamp(28px,8vw,150px) 125px;text-align:left;color:#fff;background:#17271e}
.home-page .introduction::after{content:"";display:block;position:absolute;z-index:-1;inset:0;width:auto;height:auto;margin:0;background:linear-gradient(90deg,rgba(5,20,12,.72) 0%,rgba(7,23,15,.5) 32%,rgba(10,28,17,.13) 68%,rgba(8,22,13,.09) 100%),linear-gradient(0deg,rgba(5,18,12,.47),transparent 43%);pointer-events:none}
.home-page .hero-visual{position:absolute;z-index:-2;inset:0;width:100%;height:100%;min-width:0;background:#17271e}
.home-page .hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center 52%}
.home-page .hero-copy{width:min(850px,68vw);padding:0;transform:translateY(25px)}
.home-page .introduction .eyebrow{margin:0 0 24px;color:#e0c58e;font-size:12px;font-weight:500;letter-spacing:.3em;text-shadow:0 2px 15px rgba(0,0,0,.3)}
.home-page .introduction h1{max-width:none;margin:0;color:#fff;font-size:clamp(74px,8.3vw,155px);line-height:.93;letter-spacing:-.055em;font-weight:400;white-space:normal;text-wrap:balance;text-shadow:0 5px 35px rgba(0,0,0,.13)}
.home-page .hero-subtitle{font-family:var(--font-heading);font-size:clamp(24px,2.2vw,36px);line-height:1.35;letter-spacing:.02em;margin:27px 0 0;color:#f7f1e7}
.collection-intro{width:min(1260px,calc(100% - 96px));margin:0 auto;padding:95px 0 78px;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:80px;border-bottom:1px solid #c9cfc4}
.section-kicker{font-size:10px;letter-spacing:.24em;color:#867047;margin:0 0 21px}
.collection-intro h2{font-size:clamp(48px,5vw,78px);line-height:1.02;color:#203c2b;letter-spacing:-.055em;margin:0}
.home-page .collection-intro .intro-copy{max-width:56ch;margin:0;color:#57645b;font-size:16px;line-height:1.85}
.home-page .collection{padding-top:75px;gap:76px 52px}
.home-page .program-format{color:#8b744c}
.home-page .program-copy h2{color:#203c2b}
.home-page .program-copy p:not(.program-format){color:#5e6a60}
.home-page .program-details::after{background:#c9cfc4}
.home-page .program:last-child{background:#eae8df;border-color:#d2d6ca}
.home-page .button{background:#244632;border-color:#244632;color:#fff}
.home-page .button:hover{background:#172f21}
footer{background:#eae8df;border-top:1px solid #d2d6ca;color:#203c2b}
@media(max-width:900px){
  .home-page .introduction{min-height:clamp(550px,76svh,640px);padding:140px 7vw 100px}
  .home-page .hero-copy{width:min(740px,80vw)}
  .home-page .introduction h1{font-size:clamp(68px,9vw,100px)}
  .collection-intro{width:calc(100% - 56px);gap:42px;padding:75px 0 62px}
}
@media(max-width:650px){
  .site-header{min-height:92px;padding:9px 21px 0;grid-template-columns:60px 1fr;column-gap:12px;row-gap:0}
  .site-header .logo img{width:54px;height:54px;max-height:54px}
  .site-header .business-name{font-size:21px;text-align:right}
  .site-header nav{grid-column:1/-1;justify-self:end;gap:11px;padding-bottom:7px;font-size:10px}
  .site-header nav button{padding:8px 0}
  .home-page .introduction{min-height:clamp(620px,82svh,720px);display:flex;flex-direction:row;align-items:flex-end;padding:160px 26px 110px}
  .home-page .hero-visual{height:100%;width:100%}
  .home-page .hero-visual img{object-position:76% center}
  .home-page .introduction::after{background:linear-gradient(0deg,rgba(4,19,11,.91),rgba(5,20,13,.46) 47%,rgba(6,21,13,.1) 78%),linear-gradient(180deg,rgba(4,16,10,.46),transparent 27%)}
  .home-page .hero-copy{width:100%;padding:0;transform:none}
  .home-page .introduction .eyebrow{font-size:10px;letter-spacing:.24em;margin-bottom:16px}
  .home-page .introduction h1{font-size:clamp(62px,14vw,90px);line-height:.93;max-width:8ch}
  .home-page .hero-subtitle{font-size:24px;margin-top:20px;max-width:16ch}
  .collection-intro{width:calc(100% - 44px);padding:64px 0 55px;display:block}
  .collection-intro h2{font-size:55px;margin-bottom:28px}
  .home-page .collection-intro .intro-copy{font-size:15px}
  .home-page .collection{padding-top:55px;gap:48px}
}

/* Editorial course collection: retain the original covers and copy. */
.collection-intro{padding-top:112px;padding-bottom:94px;border-bottom-color:#c9bda6}
.collection-intro h2{color:#332b36;font-size:clamp(52px,5.4vw,84px)}
.section-kicker{color:#90774e;font-weight:600}
.home-page .collection-intro .intro-copy{color:#59575a;font-size:17px;line-height:1.9}
.home-page .collection{padding-top:88px;gap:100px 58px}
.home-page .program-details{padding:28px 3px 0;border-top:1px solid #c9bda6;margin-top:25px}
.home-page .program-format{color:#7b6878;font-size:10px;font-weight:600;letter-spacing:.18em;margin-bottom:18px}
.home-page .program-copy h2{color:#332b36;font-size:clamp(34px,3vw,44px);line-height:1.09;margin-bottom:19px}
.home-page .program-copy p:not(.program-format){color:#5d595d;line-height:1.82}
.home-page .program-copy{margin-bottom:32px}
.home-page .program-access{min-height:56px;min-width:229px;justify-content:center;padding:16px 21px;border-radius:1px;background:#342b39;border-color:#342b39;color:#fffaf2;font-size:11px;font-weight:600;letter-spacing:.17em;box-shadow:none}
.home-page .program-access:hover{background:#221c26;border-color:#221c26;color:#fffaf2}
.home-page .program-details::after{margin-top:33px;background:#d6d0c5}
.home-page .program:last-child{background:#ebe7df;border-color:#d8cebd;padding:42px;gap:55px}
.home-page .program:last-child .program-details{border-top:0;margin-top:0;padding-top:0}
footer{color:#332b36}
@media(max-width:900px){
  .collection-intro{padding-top:86px;padding-bottom:70px}
  .home-page .collection{padding-top:69px;gap:70px 32px}
  .home-page .program:last-child{padding:28px;gap:32px}
}
@media(max-width:650px){
  .collection-intro{padding-top:68px;padding-bottom:56px}
  .collection-intro h2{font-size:clamp(49px,13vw,64px)}
  .home-page .collection-intro .intro-copy{font-size:16px}
  .home-page .collection{padding-top:54px;gap:54px}
  .home-page .program-details,.home-page .program:last-child .program-details{border-top:1px solid #c9bda6;margin-top:21px;padding:24px 4px 0}
  .home-page .program-copy h2{font-size:clamp(34px,9vw,42px)}
  .home-page .program:last-child{padding:0;gap:0;background:transparent;border:0}
  .home-page .program-access{min-height:55px}
}

/* Dimensional gallery cards with an amethyst accent drawn from the hero. */
.home-page{background:#f7f3ed}
.collection-intro{border-bottom-color:#d8cde0}
.collection-intro h2{color:#45345a}
.section-kicker{color:#76538c}
.home-page .collection{gap:66px 50px}
.home-page .program{padding:18px 18px 0;background:#fffcf8;border:1px solid #e5dce8;border-radius:13px;overflow:hidden;box-shadow:0 6px 13px rgba(49,32,65,.07),0 25px 52px -14px rgba(52,34,69,.25),inset 0 1px rgba(255,255,255,.95);transition:transform .22s ease,box-shadow .22s ease}
.home-page .program:hover{transform:translateY(-4px);box-shadow:0 10px 18px rgba(49,32,65,.09),0 30px 58px -13px rgba(52,34,69,.28),inset 0 1px rgba(255,255,255,.95)}
.home-page .program-artwork{width:100%;padding:0;background:#eee9ef;border:0;border-radius:3px;box-shadow:0 2px 10px rgba(38,23,48,.11)}
.home-page .program-artwork img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:0}
.home-page .program-details{margin:0;padding:32px 18px 36px;border:0}
.home-page .program-details::after{display:none}
.home-page .program-format{color:#76538c;margin-bottom:16px}
.home-page .program-copy h2{color:#45345a}
.home-page .program-copy p:not(.program-format){color:#5b5660}
.home-page .program-access{background:#684b89;border-color:#684b89;color:#fff;min-width:216px;box-shadow:0 8px 15px rgba(92,62,124,.18)}
.home-page .program-access:hover{background:#543a72;border-color:#543a72;color:#fff}
.home-page .program:last-child{padding:22px;gap:36px;background:#fffcf8;border-color:#e5dce8;border-radius:13px}
.home-page .program:last-child .program-details{margin:0;padding:24px 22px 24px 0;border:0}
.home-page .program:last-child .program-artwork{background:#eee9ef;box-shadow:0 2px 10px rgba(38,23,48,.11)}
footer{color:#45345a}
@media(max-width:900px){
  .home-page .collection{gap:44px 28px}
  .home-page .program{padding:12px 12px 0}
  .home-page .program-details{padding:25px 12px 30px}
  .home-page .program:last-child{padding:16px;gap:24px}
}
@media(max-width:650px){
  .home-page .collection{gap:32px}
  .home-page .program,.home-page .program:last-child{padding:10px 10px 0;background:#fffcf8;border:1px solid #e5dce8;border-radius:12px}
  .home-page .program-details,.home-page .program:last-child .program-details{margin:0;padding:27px 15px 32px;border:0}
  .home-page .program:last-child .program-artwork{padding:0;border:0;background:#eee9ef}
}
@media(prefers-reduced-motion:reduce){.home-page .program{transition:none}.home-page .program:hover{transform:none}}

/* One warm cream canvas connects the introduction and the raised course cards. */
body,.home-page{background:#FBF3EA}
.site-header{color:#FBF3EA}
.home-page .introduction h1,.home-page .hero-subtitle,.home-page .introduction .eyebrow{color:#FBF3EA}
.collection-intro{display:block;width:min(780px,calc(100% - 56px));padding:98px 0 64px;border:0;text-align:center}
.collection-intro h2{margin:0 0 24px;color:#535980;font-size:clamp(48px,4.7vw,70px);line-height:1.08;letter-spacing:-.04em}
.home-page .collection-intro .intro-copy{max-width:690px;margin:0 auto;color:#56566b;font-size:17px;line-height:1.85}
.home-page .collection{padding-top:10px}
.home-page .program,.home-page .program:last-child{background:#FFFCF8;border-color:#e4deea}
.home-page .program-format,.home-page .program-copy h2{color:#535980}
.home-page .program-access{background:#535980;border-color:#535980;color:#fff;box-shadow:0 8px 15px rgba(83,89,128,.19)}
.home-page .program-access:hover{background:#444a6f;border-color:#444a6f;color:#fff}
footer{background:#FBF3EA;border-top-color:#ded7e4;color:#535980}
@media(max-width:900px){
  .collection-intro{padding:83px 0 54px}
  .home-page .collection{padding-top:8px}
}
@media(max-width:650px){
  .collection-intro{width:calc(100% - 48px);padding:70px 0 45px}
  .collection-intro h2{font-size:clamp(43px,11.5vw,58px);margin-bottom:22px}
  .home-page .collection-intro .intro-copy{font-size:16px;line-height:1.8}
  .home-page .collection{padding-top:5px}
  .home-page .program,.home-page .program:last-child{background:#FFFCF8}
}

/* Give the shorter course-page headline a calmer scale and clearer silhouette. */
.home-page .introduction::after{background:linear-gradient(90deg,rgba(5,20,12,.8) 0%,rgba(7,23,15,.53) 36%,rgba(10,28,17,.13) 70%,rgba(8,22,13,.09) 100%),linear-gradient(0deg,rgba(5,18,12,.47),transparent 43%)}
.home-page .introduction h1{font-size:clamp(64px,6.3vw,104px);line-height:1.02;letter-spacing:-.035em;max-width:13ch;text-shadow:0 2px 22px rgba(0,0,0,.3)}
.home-page .hero-subtitle{font-size:clamp(22px,1.9vw,30px);margin-top:24px}
@media(max-width:650px){
  .home-page .introduction::after{background:linear-gradient(0deg,rgba(4,19,11,.92),rgba(5,20,13,.48) 48%,rgba(6,21,13,.1) 78%),linear-gradient(180deg,rgba(4,16,10,.46),transparent 27%)}
  .home-page .introduction h1{font-size:clamp(48px,11.6vw,62px);line-height:1.04;max-width:10ch;letter-spacing:-.035em}
  .home-page .hero-subtitle{font-size:22px;margin-top:21px}
}

@media(min-width:901px){
  .home-page .introduction{padding-left:clamp(90px,12vw,190px)}
}

/* Header balance and a nearby sign-in action for the course page. */
.site-header .logo img{width:78px;height:78px;max-height:78px}
.site-header .business-name{font-size:23px}
.site-header nav{font-size:14px;letter-spacing:.025em;text-transform:none}
.home-page .intro-signin{margin-top:31px;min-width:164px;min-height:54px;padding:15px 30px;background:#535980;border-color:#535980;color:#fff;font-size:16px;font-weight:600;letter-spacing:.01em;box-shadow:0 5px 12px rgba(83,89,128,.15)}
.home-page .intro-signin:hover{background:#444a6f;border-color:#444a6f;color:#fff}
@media(max-width:650px){
  .site-header .logo img{width:62px;height:62px;max-height:62px}
  .site-header .business-name{font-size:22px}
  .site-header nav{font-size:13px}
  .home-page .intro-signin{margin-top:26px}
}

/* A second collection shares the same card language with a distinct backdrop. */
.home-page{padding-bottom:0}
.hmi-collection{margin-top:108px;padding:106px 0 118px;background:#F0ECF3;border-top:1px solid #DDD6E4}
.hmi-collection-inner{width:min(1180px,calc(100% - 96px));margin:auto}
.hmi-heading{text-align:center;max-width:780px;margin:0 auto 70px}
.hmi-eyebrow{color:#535980;font-size:13px;font-weight:600;letter-spacing:.19em;margin:0 0 22px}
.hmi-heading h2{color:#535980;font-size:clamp(46px,5.1vw,72px);font-weight:400;line-height:1.08;letter-spacing:-.04em;margin:0 0 22px}
.hmi-intro{color:#57576d;font-size:18px;line-height:1.65;margin:0}
.hmi-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}
.hmi-card{min-width:0;padding:18px 18px 0;background:#FFFCF8;border:1px solid #e4deea;border-radius:13px;box-shadow:0 6px 13px rgba(49,32,65,.07),0 25px 52px -14px rgba(52,34,69,.20),inset 0 1px rgba(255,255,255,.95)}
.hmi-card-cover{aspect-ratio:16/9;display:grid;place-items:center;background:#E9E4EC;border:1px solid #ded7e4;border-radius:3px}
.hmi-card-cover span{color:#77738b;font-size:14px;letter-spacing:.06em}
.hmi-card-content{padding:31px 18px 35px;min-height:120px;color:#77738b;font-size:16px;line-height:1.6}
.hmi-card{display:flex;flex-direction:column;transition:transform .22s ease,box-shadow .22s ease}
.hmi-card:hover{transform:translateY(-4px);box-shadow:0 10px 18px rgba(49,32,65,.09),0 30px 58px -13px rgba(52,34,69,.25),inset 0 1px rgba(255,255,255,.95)}
.hmi-card-cover img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:3px}
.hmi-card-content{display:flex;flex:1;flex-direction:column;align-items:flex-start;min-height:220px}
.hmi-card-content h3{color:#535980;font-size:clamp(30px,2.7vw,39px);font-weight:400;line-height:1.13;letter-spacing:-.035em;margin:0 0 28px}
.hmi-card-content p{color:#5b5660;font-size:16px;line-height:1.75;margin:0 0 30px}
.hmi-card-content .program-access{margin-top:auto;min-height:56px;min-width:216px;justify-content:center;padding:16px 21px;font-size:11px;font-weight:600;letter-spacing:.15em}
@media(max-width:900px){.hmi-collection{margin-top:85px;padding:84px 0 92px}.hmi-collection-inner{width:calc(100% - 56px)}.hmi-heading{margin-bottom:54px}.hmi-card-grid{gap:28px}.hmi-card{padding:12px 12px 0}}
@media(max-width:650px){.hmi-collection{margin-top:68px;padding:70px 0 78px}.hmi-collection-inner{width:calc(100% - 32px)}.hmi-heading{padding:0 14px;margin-bottom:42px}.hmi-heading h2{font-size:clamp(40px,10vw,55px)}.hmi-intro{font-size:16px}.hmi-card-grid{grid-template-columns:minmax(0,1fr);gap:30px}.hmi-card{padding:10px 10px 0}.hmi-card-content{padding:26px 15px 30px}}
@media(prefers-reduced-motion:reduce){.hmi-card{transition:none}.hmi-card:hover{transform:none}}

/* Mirror the first collection's heading and body typography. */
.hmi-heading h2{font-family:var(--font-heading);font-size:clamp(48px,4.7vw,70px);font-weight:400;line-height:1.08;letter-spacing:-.04em;color:#535980}
.hmi-intro{font-family:var(--font-body);font-size:17px;line-height:1.85;color:#56566b}
.hmi-card-content h3{font-family:var(--font-heading);font-size:clamp(34px,3vw,44px);font-weight:400;line-height:1.09;letter-spacing:-.035em;color:#535980;margin-bottom:19px}
.hmi-card-content p{font-family:var(--font-body);font-size:16px;line-height:1.82;color:#5b5660;max-width:49ch}
.hmi-card-content .program-access{min-height:56px;min-width:229px;justify-content:center;padding:16px 21px;font-size:11px;font-weight:600;letter-spacing:.17em}
@media(max-width:650px){
  .hmi-heading h2{font-size:clamp(43px,11.5vw,58px)}
  .hmi-intro{font-size:16px;line-height:1.8}
  .hmi-card-content h3{font-size:clamp(34px,9vw,42px)}
  .hmi-card-content p{max-width:none}
}

/* The coach's logo is a transparent, replaceable asset over the hero. */
.site-header .logo{width:88px;height:88px;display:grid;place-items:center;background:transparent}
.site-header .logo img{display:block;width:88px;height:88px;max-height:none;object-fit:contain}
@media(max-width:650px){.site-header .logo{width:68px;height:68px}.site-header .logo img{width:68px;height:68px;max-height:none}}

/* The journal hero leads into A Journey Inward; the earlier image studies remain available. */
.site-header{color:#FBF3EA;background:linear-gradient(180deg,rgba(7,19,13,.72),rgba(7,19,13,.38) 72%,transparent)}
.site-header .business-name{text-shadow:0 1px 14px rgba(0,0,0,.28)}
.site-header .account-divider{background:rgba(251,243,234,.48)}
.site-header :focus-visible{outline-color:#FBF3EA}
.home-page .introduction{background:#17271e;color:#FBF3EA}
.home-page .hero-visual{background:#17271e}
.home-page .hero-visual img{object-position:center 48%}
.home-page .introduction::after{background:linear-gradient(90deg,rgba(5,20,12,.78) 0%,rgba(7,23,15,.49) 35%,rgba(10,28,17,.08) 70%),linear-gradient(0deg,rgba(5,18,12,.25),transparent 45%)}
.home-page .introduction h1,.home-page .hero-subtitle{color:#FBF3EA;text-shadow:0 2px 18px rgba(0,0,0,.24)}
.home-page .hero-copy{transform:translateY(-8px)}
@media(max-width:650px){
  .site-header{background:linear-gradient(180deg,rgba(7,19,13,.82),rgba(7,19,13,.48) 72%,transparent)}
  .home-page .introduction{min-height:clamp(580px,78svh,700px);padding:145px 26px 70px}
  .home-page .hero-visual img{object-position:88% center}
  .home-page .introduction::after{background:linear-gradient(0deg,rgba(4,19,11,.87) 0%,rgba(5,20,13,.52) 39%,rgba(6,21,13,.06) 78%),linear-gradient(180deg,rgba(4,16,10,.3),transparent 25%)}
  .home-page .hero-copy{transform:none}
  .home-page .introduction h1{font-size:clamp(48px,11.6vw,62px)}
}

/* A sunlit nutrition interlude carries the landscape into the second collection. */
.hmi-collection{margin-top:108px;padding:0 0 118px;background:#FFF9F2;border-top:0}
.hmi-photo{position:relative;width:100%;height:clamp(180px,19vw,265px);overflow:hidden;background:#E5DBCA}
.hmi-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 54%;filter:saturate(.82) contrast(.96)}
.hmi-photo::after{content:"";position:absolute;inset:0;background:rgba(251,243,234,.08);pointer-events:none}
.hmi-heading{padding-top:78px}
@media(max-width:900px){.hmi-collection{margin-top:85px;padding-bottom:92px}.hmi-heading{padding-top:64px}}
@media(max-width:650px){.hmi-collection{margin-top:68px;padding-bottom:78px}.hmi-photo{height:170px}.hmi-heading{padding-top:53px}}

/* Set the nutrition image into its introduction rather than a full-width band. */
.hmi-collection{padding:105px 0 118px;margin-top:100px}
.hmi-section-intro{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(40px,5vw,80px);align-items:center;margin:0 0 78px}
.hmi-section-intro .hmi-heading{max-width:none;margin:0;padding:0;text-align:left}
.hmi-section-intro .hmi-heading h2{max-width:9ch}
.hmi-section-intro .hmi-intro{max-width:35ch}
.hmi-section-intro .hmi-photo{height:clamp(260px,26vw,370px);border-radius:8px;box-shadow:0 18px 42px -25px rgba(38,40,44,.28)}
.hmi-section-intro .hmi-photo img{object-position:center center}
.hmi-section-intro .hmi-photo::after{background:rgba(251,243,234,.06)}
@media(max-width:900px){.hmi-collection{padding-top:83px}.hmi-section-intro{gap:32px;margin-bottom:60px}.hmi-section-intro .hmi-photo{height:260px}}
@media(max-width:650px){.hmi-collection{padding-top:65px}.hmi-section-intro{display:flex;flex-direction:column;align-items:stretch;gap:34px;margin-bottom:49px}.hmi-section-intro .hmi-heading{text-align:center;padding:0 12px}.hmi-section-intro .hmi-heading h2,.hmi-section-intro .hmi-intro{max-width:none}.hmi-section-intro .hmi-photo{height:205px}}
/* Keep the second collection in the same editorial rhythm as the first. */
.hmi-collection{margin-top:98px;padding:94px 0 116px;background:#FBF3EA;border-top:1px solid #E8DED4}
.hmi-section-intro{display:block;width:min(960px,100%);margin:0 auto 72px}
.hmi-section-intro .hmi-heading{max-width:780px;margin:0 auto;text-align:center}
.hmi-section-intro .hmi-heading h2,.hmi-section-intro .hmi-intro{max-width:none}
.hmi-section-intro .hmi-photo{width:100%;height:170px;margin:48px auto 0;border-radius:5px;box-shadow:none}
.hmi-section-intro .hmi-photo img{object-position:center 54%;filter:saturate(.72) contrast(.95) brightness(1.03)}
.hmi-section-intro .hmi-photo::after{background:rgba(251,243,234,.1)}
@media(max-width:900px){.hmi-collection{margin-top:78px;padding:78px 0 90px}.hmi-section-intro{margin-bottom:57px}.hmi-section-intro .hmi-photo{height:150px;margin-top:38px}}
@media(max-width:650px){.hmi-collection{margin-top:64px;padding:65px 0 76px}.hmi-section-intro{margin-bottom:46px}.hmi-section-intro .hmi-photo{height:140px;margin-top:31px}.hmi-section-intro .hmi-heading{padding:0 12px}}

/* Compact photographic chapter header for the nutrition collection. */
.hmi-collection{margin-top:0;padding:91px 0 116px;background:#FBF3EA;border-top:1px solid #E8DED4}
.hmi-banner{position:relative;height:350px;overflow:hidden;border-radius:7px;background:#263524}
.hmi-banner>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.hmi-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,27,15,.46),rgba(8,27,15,.16) 36%,transparent 65%);pointer-events:none}
.hmi-banner-copy{position:absolute;z-index:1;inset:0 auto 0 0;width:52%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:26px 28px 26px clamp(34px,5.5vw,76px);color:#FBF3EA;text-align:left}
.hmi-banner-copy .hmi-eyebrow{color:#FBF3EA;font-size:12px;letter-spacing:.18em;margin:0 0 17px;text-shadow:0 1px 12px rgba(0,0,0,.25)}
.hmi-banner-copy h2{font-family:var(--font-heading);font-size:clamp(43px,4.7vw,65px);font-weight:400;line-height:1.04;letter-spacing:-.04em;color:#FBF3EA;margin:0 0 17px;text-shadow:0 2px 18px rgba(0,0,0,.22)}
.hmi-banner-copy .hmi-intro{color:#FBF3EA;font-size:16px;line-height:1.55;max-width:33ch;margin:0;text-shadow:0 1px 12px rgba(0,0,0,.3)}
.hmi-card-grid{margin-top:75px}
@media(max-width:900px){.hmi-collection{padding:74px 0 90px}.hmi-banner{height:310px}.hmi-banner-copy{width:58%;padding-left:35px}.hmi-banner-copy h2{font-size:clamp(40px,5.7vw,56px)}.hmi-card-grid{margin-top:60px}}
@media(max-width:650px){.hmi-collection{padding:60px 0 76px}.hmi-banner{height:350px}.hmi-banner>img{object-position:30% center}.hmi-banner::after{background:linear-gradient(90deg,rgba(5,22,12,.68),rgba(5,22,12,.32) 62%,rgba(5,22,12,.05))}.hmi-banner-copy{width:100%;padding:28px 26px}.hmi-banner-copy h2{font-size:clamp(41px,10vw,53px)}.hmi-banner-copy .hmi-intro{font-size:15px;max-width:28ch}.hmi-card-grid{margin-top:48px}}

/* Full-width nutrition divider between the two card collections. */
.hmi-collection{margin-top:100px;padding:0 0 118px;border-top:0;background:#FBF3EA}
.hmi-banner{width:100%;height:clamp(360px,29vw,430px);border-radius:0}
.hmi-banner>img{object-position:center 52%}
.hmi-banner-copy{width:53%;padding-left:clamp(42px,11vw,190px)}
.hmi-card-grid{margin-top:87px}
@media(max-width:900px){.hmi-collection{margin-top:82px;padding:0 0 90px}.hmi-banner{height:360px}.hmi-banner-copy{width:61%;padding-left:clamp(36px,8vw,76px)}.hmi-card-grid{margin-top:66px}}
@media(max-width:650px){.hmi-collection{margin-top:68px;padding:0 0 76px}.hmi-banner{height:350px}.hmi-banner-copy{width:100%;padding:28px 26px}.hmi-card-grid{margin-top:49px}}

.hmi-banner-copy h2 sup{font-family:var(--font-body);font-size:.31em;font-weight:400;letter-spacing:0;line-height:0;vertical-align:super;margin-left:.08em}
/* One card system for both licensed collections. */
.home-page .collection,.hmi-collection-inner{width:min(1260px,calc(100% - 96px))}
.hmi-card-grid{column-gap:50px;row-gap:66px}
.home-page .program,.home-page .program:last-child,.hmi-card{padding:18px 18px 0;background:#FFFCF8;border:1px solid #e4deea;border-radius:13px;box-shadow:0 6px 13px rgba(49,32,65,.07),0 25px 52px -14px rgba(52,34,69,.25),inset 0 1px rgba(255,255,255,.95)}
.home-page .program:last-child{grid-column:auto;display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0;overflow:hidden}
.home-page .program:last-child .program-artwork,.home-page .program-artwork,.hmi-card-cover{width:100%;aspect-ratio:16/9;padding:0;background:#eee9ef;border:0;border-radius:3px;box-shadow:0 2px 10px rgba(38,23,48,.11);overflow:hidden}
.home-page .program:last-child .program-artwork img,.home-page .program-artwork img,.hmi-card-cover img{display:block;width:100%;height:100%;aspect-ratio:16/9;object-fit:contain;border-radius:0}
.home-page .program:last-child .program-details,.home-page .program-details,.hmi-card-content{margin:0;padding:32px 18px 36px;border:0}
.home-page .program:last-child .program-details{display:flex;flex:1;flex-direction:column;align-items:flex-start}
.home-page .program:last-child .program-copy{margin-bottom:32px}
.hmi-card-content h3{font-size:clamp(34px,3vw,44px);line-height:1.09;letter-spacing:-.035em;margin-bottom:19px}
.hmi-card-content p{font-size:16px;line-height:1.82;max-width:49ch}
.hmi-card:hover{box-shadow:0 10px 18px rgba(49,32,65,.09),0 30px 58px -13px rgba(52,34,69,.28),inset 0 1px rgba(255,255,255,.95)}
@media(max-width:900px){.home-page .collection,.hmi-collection-inner{width:calc(100% - 56px)}.hmi-card-grid{column-gap:28px;row-gap:44px}.home-page .program,.home-page .program:last-child,.hmi-card{padding:12px 12px 0}.home-page .program:last-child .program-details,.home-page .program-details,.hmi-card-content{padding:25px 12px 30px}}
@media(max-width:650px){.home-page .collection,.hmi-collection-inner{width:calc(100% - 32px)}.hmi-card-grid{grid-template-columns:minmax(0,1fr);gap:32px}.home-page .program,.home-page .program:last-child,.hmi-card{padding:10px 10px 0}.home-page .program:last-child .program-details,.home-page .program-details,.hmi-card-content{padding:27px 15px 32px}.hmi-card-content h3{font-size:clamp(34px,9vw,42px)}}
/* Keep the fifth healing program as the intentional full-row feature. */
.home-page .program:last-child{grid-column:1/-1;display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:36px;padding:22px}
.home-page .program:last-child .program-details{margin:0;padding:24px 22px 24px 0}
.home-page .program:last-child .program-artwork{width:100%;aspect-ratio:16/9}
@media(max-width:900px){.home-page .program:last-child{padding:16px;gap:24px}.home-page .program:last-child .program-details{padding:20px 12px 20px 0}}
@media(max-width:650px){.home-page .program:last-child{display:flex;flex-direction:column;gap:0;padding:10px 10px 0}.home-page .program:last-child .program-details{padding:27px 15px 32px}}
/* Align the full-bleed banner copy with the collection card edge. */
.hmi-banner-copy{padding-left:max(48px,calc((100vw - 1260px)/2))}
@media(max-width:900px){.hmi-banner-copy{padding-left:28px}}
@media(max-width:650px){.hmi-banner-copy{padding-left:16px;padding-right:16px}}
/* A dark brand-colored ending to the programs page. */
footer{margin:0;padding:38px max(48px,calc((100vw - 1260px)/2));background:#454B70;border-top:0;color:#FBF3EA}
footer span{color:#FBF3EA}
footer p{color:rgba(251,243,234,.82);font-size:13px}
@media(max-width:900px){footer{padding-left:28px;padding-right:28px}}
@media(max-width:650px){footer{padding:34px 22px}}
/* Gently temper the nutrition photograph to sit with the coastal hero. */
.hmi-banner>img{filter:saturate(.88) contrast(.97)}
/* Keep the footer concise beneath the long course catalog. */
footer{padding-top:27px;padding-bottom:28px}
@media(max-width:650px){footer{padding-top:27px;padding-bottom:28px}}

/* Interior account and course previews carry the homepage's cream, violet and card language. */
.interior-body{background:#FBF3EA}
.interior-header{background:#454B70;color:#FBF3EA}
.interior-header .business-name{text-shadow:none}
.interior-header nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:7px}
.interior-main{padding:0 0 105px;min-height:70vh}
.interior-container{width:min(1260px,calc(100% - 96px));margin:auto}
.preview-label{margin:0;padding:20px 0 0;color:#76738a;font-size:10px;letter-spacing:.15em;font-weight:600}
.section-kicker,.course-kind{color:#535980;font-size:11px;font-weight:600;letter-spacing:.18em;margin:0 0 19px}
.account-intro{display:grid;grid-template-columns:1fr .7fr;align-items:center;gap:75px;padding:76px 0 76px;border-bottom:1px solid #ded7d4}
.account-intro h1,.course-intro h1{color:#535980;font-size:clamp(58px,6vw,88px);line-height:1.03;letter-spacing:-.045em;margin:0 0 25px}
.account-intro h1{font-size:clamp(50px,4.8vw,64px);letter-spacing:-.035em}
.account-deck{font-family:var(--font-heading);color:#686276;font-size:clamp(23px,2.4vw,32px);line-height:1.38;margin:0}
.account-intro-art{height:230px;margin-top:72px;overflow:hidden;border-radius:8px;box-shadow:0 18px 34px -23px rgba(42,37,69,.3)}
.account-intro-art img{width:100%;height:100%;object-fit:cover;object-position:center 58%;filter:saturate(.8) brightness(1.04)}
.interior-section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin:0 0 35px}
.interior-section-heading .section-kicker{margin-bottom:12px}
.interior-section-heading h2{color:#535980;font-size:clamp(40px,4.5vw,60px);margin:0;letter-spacing:-.04em}
.interior-section-heading>p{color:#686276;font-size:15px;margin:0 0 9px}
.account-library{padding:71px 0 0}
.account-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}
.account-course-card{display:flex;flex-direction:column;min-width:0;padding:18px 18px 0;background:#FFFCF8;border:1px solid #e4deea;border-radius:13px;box-shadow:0 6px 13px rgba(49,32,65,.07),0 25px 52px -14px rgba(52,34,69,.25),inset 0 1px rgba(255,255,255,.95)}
.account-course-image{aspect-ratio:16/9;overflow:hidden;background:#eee9ef;border-radius:3px}
.account-course-image img{display:block;width:100%;height:100%;object-fit:contain}
.account-course-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:31px 18px 36px}
.account-course-copy .course-kind{margin-bottom:15px}
.account-course-copy h3{font:400 clamp(34px,3vw,44px)/1.09 var(--font-heading);letter-spacing:-.035em;color:#535980;margin:0 0 20px}
.account-course-copy>p:not(.course-kind){font-size:16px;line-height:1.82;color:#5b5660;margin:0 0 30px}
.account-course-copy .button{margin-top:auto;min-height:56px;min-width:214px}
.sample-note{font-size:12px;line-height:1.6;color:#797484;margin:27px 0 0}
.quiet-link{display:inline-block;margin:36px 0 0;color:#535980;font-size:14px;text-decoration:underline;text-underline-offset:5px}
.course-intro{display:grid;grid-template-columns:.93fr 1.07fr;align-items:center;gap:65px;padding:60px 0 92px}
.course-intro h1{font-size:clamp(52px,5.4vw,76px);max-width:11ch}
.course-intro-copy>p:not(.section-kicker){max-width:54ch;color:#5b5660;font-size:17px;line-height:1.82;margin:0 0 31px}
.course-intro-copy .button{min-height:56px}
.course-intro-image{padding:15px;background:#FFFCF8;border:1px solid #e4deea;border-radius:13px;box-shadow:0 6px 13px rgba(49,32,65,.07),0 25px 52px -14px rgba(52,34,69,.25)}
.course-intro-image img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.course-sessions{border-top:1px solid #ded7d4;padding:62px 0 0;scroll-margin-top:25px}
.session-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:20px 34px;background:#535980;border:1px solid #535980;border-radius:12px;box-shadow:0 17px 42px -18px rgba(44,43,75,.38)}
.session-list article{display:flex;align-items:center;gap:18px;min-height:136px;padding:25px 32px;background:transparent;border-bottom:1px solid rgba(251,243,234,.32)}
.session-list article:nth-child(odd){border-right:1px solid rgba(251,243,234,.32)}
.session-list article:nth-last-child(-n+2){border-bottom:0}
.session-number{font-family:var(--font-heading);font-size:27px;color:#9590a9}
.session-list h3{font:400 clamp(29px,2.9vw,37px)/1.2 var(--font-heading);color:#FBF3EA;margin:0 auto 0 0}
.session-list button{background:transparent;border:0;border-bottom:1px solid #535980;padding:8px 0;color:#535980;white-space:nowrap;font-size:11px;letter-spacing:.12em;cursor:pointer}
.session-list button:hover{color:#333b65}
.dialog-content{padding:42px 35px 38px;position:relative}
.dialog-content h2{font-size:32px}
.dialog-content p:last-child{color:#5b5660;font-size:16px;line-height:1.7}
.dialog-close{position:absolute;right:17px;top:12px;background:none;border:0;font-size:27px;color:#535980;cursor:pointer}
@media(max-width:900px){.interior-container{width:calc(100% - 56px)}.account-intro{gap:35px}.account-card-grid{gap:28px}.course-intro{gap:34px}.session-list article{padding:20px;gap:12px}}
@media(max-width:650px){.interior-main{padding-bottom:70px}.interior-container{width:calc(100% - 32px)}.preview-label{padding:15px 0 0}.account-intro{display:flex;flex-direction:column;align-items:stretch;gap:33px;padding:52px 8px 55px}.account-intro h1{font-size:52px}.account-intro-art{height:180px}.account-library{padding-top:50px}.interior-section-heading{display:block;margin-bottom:28px}.interior-section-heading h2{font-size:43px}.interior-section-heading>p{margin:14px 0 0}.account-card-grid{grid-template-columns:1fr;gap:30px}.account-course-card{padding:10px 10px 0}.account-course-copy{padding:27px 15px 32px}.quiet-link{margin-top:26px}.course-intro{display:flex;flex-direction:column-reverse;align-items:stretch;gap:37px;padding:34px 0 60px}.course-intro-image{padding:9px}.course-intro-copy{padding:0 8px}.course-intro h1{font-size:50px}.course-sessions{padding-top:48px}.session-list{grid-template-columns:1fr;gap:14px}.session-list article{min-height:100px;padding:18px}.session-list h3{font-size:25px}.session-list button{font-size:10px}}
/* Dedicated lesson page: one protected video and simple neighboring lessons. */
.session-list article>a{border-bottom:1px solid rgba(251,243,234,.7);padding:8px 0;color:#FBF3EA;white-space:nowrap;font-size:11px;letter-spacing:.12em}
.session-list article>a:hover{color:#fff;border-color:#fff}
.lesson-container{width:min(1060px,calc(100% - 96px));margin:auto}
.lesson-heading{text-align:center;padding:54px 0 35px}
.lesson-heading h1{color:#535980;font-size:clamp(50px,5.6vw,76px);margin:0}
.lesson-player{aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(145deg,#4e5579,#292d49);color:#FBF3EA;border:10px solid #FFFCF8;border-radius:11px;box-shadow:0 6px 13px rgba(49,32,65,.07),0 25px 52px -14px rgba(52,34,69,.25)}
.lesson-player-mark{width:72px;height:72px;display:grid;place-items:center;padding-left:5px;border:1px solid rgba(251,243,234,.6);border-radius:50%;font-size:25px}
.lesson-player p{font:400 34px/1.2 var(--font-heading);margin:21px 0 6px}
.lesson-player span{font-size:13px;color:rgba(251,243,234,.72)}
.lesson-paging{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;width:100%;justify-self:stretch;margin:31px 0 0}
.lesson-paging a{min-height:96px;display:flex;flex-direction:column;justify-content:center;padding:20px 26px;background:#FFFCF8;border:1px solid #e4deea;border-radius:7px;color:#535980}
.lesson-paging a:last-child{background:#535980;color:#FBF3EA;border-color:#535980;text-align:right}
.lesson-paging small{font-size:10px;font-weight:600;letter-spacing:.16em;margin-bottom:6px}
.lesson-paging strong{font:400 26px/1.2 var(--font-heading)}
.lesson-main .sample-note{text-align:center;margin-top:28px}
@media(max-width:650px){.lesson-container{width:calc(100% - 32px)}.lesson-heading{padding:43px 0 30px}.lesson-heading h1{font-size:48px}.lesson-player{border-width:6px}.lesson-player-mark{width:54px;height:54px;font-size:19px}.lesson-player p{font-size:25px;margin-top:13px}.lesson-player span{max-width:24ch;font-size:11px}.lesson-paging{gap:12px}.lesson-paging a{min-height:88px;padding:14px}.lesson-paging strong{font-size:21px}}
@media(max-width:900px){.account-intro-art{margin-top:52px}.session-list{padding:14px}.session-list article{flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;padding:22px}}
@media(max-width:650px){.account-intro h1{font-size:48px}.account-intro-art{height:185px;margin-top:0}.session-list{grid-template-columns:1fr;padding:9px 21px}.session-list article,.session-list article:nth-child(odd){flex-direction:row;align-items:center;min-height:105px;padding:18px 3px;border-right:0;border-bottom:1px solid rgba(251,243,234,.32)}.session-list article:nth-last-child(2){border-bottom:1px solid rgba(251,243,234,.32)}.session-list article:last-child{border-bottom:0}.session-list h3{font-size:27px}.session-list article>a{font-size:10px}}
/* Image-led lesson library: each entry is a single clear link. */
.course-sessions .session-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.course-sessions .session-list article,.course-sessions .session-list article:nth-child(odd),.course-sessions .session-list article:nth-last-child(-n+2){display:block;min-height:0;padding:0;background:#F7EEE5;border:1px solid #e5dcd8;border-radius:10px;box-shadow:0 7px 15px rgba(49,32,65,.06),0 22px 38px -22px rgba(52,34,69,.22);overflow:hidden}
.course-sessions .session-list .session-entry{display:grid;grid-template-columns:42% 1fr;align-items:center;width:100%;height:100%;min-height:185px;padding:13px;border:0;color:#535980;text-decoration:none;transition:transform .18s ease,background .18s ease}
.course-sessions .session-list .session-entry:hover{background:#FFFCF8;transform:translateY(-2px)}
.session-entry-art{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:4px;background:#e6e1e8;box-shadow:0 5px 13px rgba(40,29,60,.14)}
.session-entry-art img{display:block;width:100%;height:100%;object-fit:contain}
.session-entry-copy{display:flex;flex-direction:column;align-items:flex-start;padding:12px 15px 12px 25px;min-width:0}
.session-entry-kicker{font-size:9px;font-weight:600;letter-spacing:.13em;line-height:1.5;color:#77758d}
.session-entry-title{display:block;font:400 clamp(28px,2.7vw,38px)/1.08 var(--font-heading);letter-spacing:-.03em;color:#535980;margin:13px 0 22px}
.session-entry-action{font-size:10px;font-weight:600;letter-spacing:.16em;line-height:1.5;border-bottom:1px solid #535980;padding-bottom:4px}
@media(max-width:1050px){.course-sessions .session-list{gap:20px}.course-sessions .session-list .session-entry{grid-template-columns:38% 1fr;min-height:155px}.session-entry-copy{padding-left:18px}.session-entry-title{font-size:30px}}
@media(max-width:780px){.course-sessions .session-list{grid-template-columns:1fr}.course-sessions .session-list .session-entry{grid-template-columns:40% 1fr;min-height:175px}}
@media(max-width:650px){.course-sessions .session-list{padding:0;gap:16px}.course-sessions .session-list .session-entry{grid-template-columns:39% 1fr;min-height:142px;padding:8px}.session-entry-copy{padding:6px 6px 6px 14px}.session-entry-kicker{font-size:8px;letter-spacing:.08em}.session-entry-title{font-size:clamp(25px,6.8vw,32px);margin:8px 0 12px}.session-entry-action{font-size:9px}.session-entry-art{aspect-ratio:4/3}}
@media(prefers-reduced-motion:reduce){.course-sessions .session-list .session-entry{transition:none}.course-sessions .session-list .session-entry:hover{transform:none}}
/* One type scale for account, course overview, and individual lesson titles. */
:root{--interior-title-size:clamp(48px,4.8vw,64px)}
.account-intro h1,.course-intro h1,.lesson-heading h1{font-size:var(--interior-title-size);line-height:1.07;letter-spacing:-.035em}
@media(max-width:650px){:root{--interior-title-size:48px}}
.course-intro h1{max-width:none}
/* Coach dashboard preview follows the same type, palette, surfaces, and buttons. */
.admin-preview .quiet-link{margin-bottom:12px}
.admin-intro{padding:41px 0 58px}
.admin-intro h1{font-size:var(--interior-title-size);line-height:1.07;letter-spacing:-.035em;color:#535980;margin:0 0 16px}
.admin-intro p:last-child{color:#676476;font-size:18px;line-height:1.6;margin:0}
.admin-tabs{display:flex;gap:35px;width:100%;border-bottom:1px solid #dcd5dc}
.admin-tabs button{position:relative;appearance:none;padding:16px 0 19px;background:none;border:0;color:#777285;font:600 13px/1.4 var(--font-body);letter-spacing:.03em;cursor:pointer}
.admin-tabs button[aria-selected="true"]{color:#535980}
.admin-tabs button[aria-selected="true"]::after{content:"";position:absolute;height:3px;bottom:-1px;left:0;right:0;background:#535980}
.admin-panel{padding:56px 0 0}
.admin-panel[hidden]{display:none}
.admin-panel-header{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:33px}
.admin-panel-header .section-kicker{margin-bottom:12px}
.admin-panel-header h2{font-size:clamp(38px,4vw,54px);color:#535980;margin:0 0 12px}
.admin-panel-header p:last-child{color:#686276;font-size:16px;line-height:1.6;margin:0}
.admin-columns{display:grid;grid-template-columns:.85fr 1.15fr;gap:30px;align-items:start}
.admin-surface{padding:34px;background:#FFFCF8;border:1px solid #e4deea;border-radius:12px;box-shadow:0 6px 13px rgba(49,32,65,.06),0 22px 42px -22px rgba(52,34,69,.19)}
.admin-surface h3{font:400 35px/1.15 var(--font-heading);letter-spacing:-.025em;color:#535980;margin:0 0 12px}
.admin-surface>p{color:#686276;font-size:15px;line-height:1.7;margin:0 0 27px}
.admin-form,.settings-grid{font-size:14px}
.admin-form label,.settings-grid label,.admin-search label{display:block;color:#49465c;font-size:13px;font-weight:600;line-height:1.5}
.admin-form input,.settings-grid input:not([type="color"]),.settings-grid select,.settings-grid textarea,.admin-search input{display:block;width:100%;min-width:0;margin-top:8px;padding:14px 15px;border:1px solid #d9d3df;border-radius:5px;background:#fffefa;color:#29243a;font:400 15px/1.4 var(--font-body)}
.admin-form input:focus,.settings-grid input:focus,.settings-grid select:focus,.settings-grid textarea:focus,.admin-search input:focus{outline:2px solid #535980;outline-offset:2px}
.admin-form-pair{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-bottom:18px}
.admin-form .button{margin-top:23px;min-height:52px}
.admin-invite details{border-top:1px solid #e4deea;margin-top:32px;padding-top:19px;color:#686276;font-size:14px;line-height:1.6}
.admin-invite summary{color:#535980;cursor:pointer;font-weight:600}
.admin-search{margin-bottom:29px}
.admin-search>div{display:flex;gap:10px;margin-top:8px}
.admin-search input{margin:0;flex:1}
.admin-search .button{min-height:49px}
.admin-sample-client{padding:26px;background:#F7EEE5;border:1px solid #e6deda;border-radius:7px}
.admin-client-head{display:flex;align-items:end;justify-content:space-between;gap:15px;border-bottom:1px solid #ded5d3;padding-bottom:20px;margin-bottom:15px}
.admin-client-head .section-kicker{margin-bottom:5px;font-size:10px}
.admin-client-head h4{font:400 27px/1.2 var(--font-heading);color:#535980;margin:0}
.admin-client-head>span{font-size:12px;color:#777285}
.admin-checks{display:grid;grid-template-columns:1fr 1fr;gap:3px 18px}
.admin-checks label{display:flex;align-items:center;gap:10px;min-height:41px;color:#49465c;font-size:13px;line-height:1.4}
.admin-checks input{width:18px;height:18px;flex:0 0 18px;accent-color:#535980;opacity:1}
.admin-panel-note{font-size:12px!important;margin:19px 0 0!important}
.planned-pill{align-self:center;padding:10px 13px;background:#eee8ed;border-radius:50px;color:#535980;font-size:10px;font-weight:600;letter-spacing:.1em;white-space:nowrap}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;align-items:start}
.settings-grid .admin-surface{display:flex;flex-direction:column;gap:18px}
.settings-grid .admin-surface h3{margin-bottom:-6px}
.settings-grid .admin-surface>p{margin:0 0 6px}
.settings-grid .settings-copy{grid-column:1/-1}
.settings-grid .setting-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.settings-grid input[type="color"]{display:block;width:100%;height:52px;margin-top:8px;padding:5px;border:1px solid #d9d3df;border-radius:5px;background:#fffefa;cursor:pointer}
.settings-grid input[type="file"]{font-size:13px}
.settings-grid .field-hint{color:#777285;font-size:12px;line-height:1.6}
.settings-grid .button{align-self:flex-start}
.sample-note a{text-decoration:underline;text-underline-offset:3px;color:#535980}
@media(max-width:900px){.admin-columns{grid-template-columns:1fr}.admin-surface{padding:28px}.settings-grid{gap:20px}}
@media(max-width:650px){.admin-intro{padding:30px 0 40px}.admin-intro p:last-child{font-size:16px}.admin-tabs{gap:23px}.admin-tabs button{font-size:12px}.admin-panel{padding-top:41px}.admin-panel-header{display:block}.admin-panel-header h2{font-size:40px}.planned-pill{display:inline-block;margin-top:18px}.admin-surface{padding:23px}.admin-surface h3{font-size:30px}.admin-form-pair,.settings-grid,.settings-grid .setting-row{grid-template-columns:1fr}.settings-grid .settings-copy{grid-column:auto}.admin-checks{grid-template-columns:1fr}.admin-search>div{flex-direction:column}.admin-search .button{align-self:flex-start}.admin-client-head{align-items:start;flex-direction:column}.admin-client-head>span{display:none}}
/* Searchable client directory with a focused detail view. */
.admin-invite-drawer{padding:0;margin-bottom:42px}
.admin-invite-drawer>summary{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 30px;list-style:none;cursor:pointer;color:#535980}
.admin-invite-drawer>summary::-webkit-details-marker{display:none}
.admin-invite-drawer>summary strong{display:block;font:400 27px/1.2 var(--font-heading);margin-bottom:5px}
.admin-invite-drawer>summary small{display:block;font:400 13px/1.5 var(--font-body);color:#686276}
.admin-invite-drawer>summary>span:last-child{font:300 26px/1 var(--font-body)}
.admin-invite-drawer[open]>summary{border-bottom:1px solid #e4deea}
.admin-invite-content{max-width:670px;padding:25px 30px 32px}
.admin-invite-content>p{color:#777285;font-size:12px;margin:20px 0 0}
.client-directory{padding-bottom:20px}
.directory-top{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:27px}
.directory-top .section-kicker{margin-bottom:7px}
.directory-top h3{font:400 39px/1.2 var(--font-heading);color:#535980;margin:0}
.directory-top>span{color:#777285;font-size:12px;margin-bottom:6px}
.directory-search{margin-bottom:20px}
.directory-search label{display:block;color:#49465c;font-size:13px;font-weight:600;margin-bottom:9px}
.directory-search input{display:block;width:100%;padding:16px 18px;border:1px solid #d9d3df;border-radius:6px;background:#FFFCF8;color:#29243a;font:400 16px/1.4 var(--font-body)}
.directory-layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:24px;align-items:start}
.directory-list,.directory-detail{background:#FFFCF8;border:1px solid #e4deea;border-radius:11px;box-shadow:0 6px 13px rgba(49,32,65,.06),0 22px 42px -22px rgba(52,34,69,.19)}
.directory-list{padding:20px 13px}
.directory-list-label{display:flex;justify-content:space-between;color:#777285;font-size:10px;font-weight:600;letter-spacing:.16em;margin:0 16px 13px}
.directory-person{display:grid;grid-template-columns:1fr auto;gap:4px 8px;width:100%;padding:18px 16px;border:0;border-bottom:1px solid #ebe5e6;background:transparent;color:#535980;text-align:left;cursor:pointer}
.directory-person:last-child{border-bottom:0}
.directory-person:hover,.directory-person[aria-current="true"]{background:#F3ECE7;border-radius:5px}
.directory-person[aria-current="true"]{box-shadow:inset 3px 0 #535980}
.directory-person strong{font:400 23px/1.2 var(--font-heading)}
.directory-person small{grid-column:1;color:#777285;font-size:12px}
.directory-person span{grid-column:2;grid-row:1/3;align-self:center;color:#777285;font-size:11px;white-space:nowrap}
.directory-empty{padding:15px;color:#777285;font-size:14px}
.directory-detail{padding:33px 35px 31px;min-height:400px}
.directory-detail-head{display:flex;justify-content:space-between;align-items:start;gap:18px;border-bottom:1px solid #e4deea;padding-bottom:23px;margin-bottom:26px}
.directory-detail-head .section-kicker{margin-bottom:7px}
.directory-detail-head h4{font:400 37px/1.12 var(--font-heading);color:#535980;margin:0 0 8px}
.directory-detail-head p:last-child{color:#777285;font-size:14px;margin:0}
.sample-badge{padding:8px 10px;background:#eee8ed;border-radius:50px;color:#535980;font-size:9px;font-weight:600;letter-spacing:.12em}
.directory-detail fieldset{padding:0;border:0;min-width:0}
.directory-detail legend{font:400 27px/1.2 var(--font-heading);color:#535980;padding:0}
.directory-detail fieldset>p{color:#686276;font-size:14px;line-height:1.6;margin:11px 0 18px}
.directory-detail .admin-checks{gap:5px 24px}
.directory-detail .admin-checks label{font-size:14px}
.directory-detail .admin-panel-note{border-top:1px solid #e4deea;padding-top:18px;margin-top:27px!important}
@media(max-width:900px){.directory-layout{grid-template-columns:1fr}.directory-list{display:grid;grid-template-columns:1fr}.directory-detail{min-height:0}}
@media(max-width:650px){.admin-invite-drawer>summary{padding:20px}.admin-invite-content{padding:20px}.directory-top{align-items:start;flex-direction:column;gap:6px}.directory-top h3{font-size:33px}.directory-detail{padding:25px 22px}.directory-detail-head h4{font-size:33px}.directory-person strong{font-size:22px}}
/* Separate licensed collections within each client profile. */
.directory-detail .access-group{padding-top:20px;margin-top:10px}
.directory-detail .access-group+.access-group{border-top:1px solid #e4deea;margin-top:26px;padding-top:27px}
.directory-detail .access-group h5{font:400 24px/1.25 var(--font-heading);color:#535980;margin:0 0 16px}
.directory-detail .access-group .admin-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 25px}
.directory-detail .access-group .admin-checks label{align-items:flex-start;min-height:36px;line-height:1.45}
.directory-detail .access-group .admin-checks input{margin-top:2px}
.directory-detail .access-group-note{color:#777285;font-size:12px;line-height:1.55;margin:18px 0 0}
@media(max-width:650px){.directory-detail .access-group .admin-checks{grid-template-columns:1fr}.directory-detail .access-group h5{font-size:23px}}
/* Coach-editable website settings are grouped by purpose and previewed in context. */
.settings-intro-note{padding:14px 18px;margin:-8px 0 35px;border-left:3px solid #535980;background:#F4ECE6;color:#625f71;font-size:13px;line-height:1.6}
.settings-block{border-top:1px solid #ded7dc;padding:43px 0 54px}
.settings-block-heading{margin-bottom:27px}
.settings-block-heading .section-kicker{margin-bottom:8px}
.settings-block-heading h3{font:400 clamp(36px,3.8vw,49px)/1.13 var(--font-heading);letter-spacing:-.035em;color:#535980;margin:0 0 12px}
.settings-block-heading p:last-child{color:#686276;font-size:16px;line-height:1.6;margin:0}
.settings-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
.settings-card{display:flex;flex-direction:column;align-items:stretch;gap:18px;padding:30px;background:#FFFCF8;border:1px solid #e4deea;border-radius:11px;box-shadow:0 6px 13px rgba(49,32,65,.05),0 21px 42px -23px rgba(52,34,69,.19)}
.settings-card h4{font:400 31px/1.2 var(--font-heading);color:#535980;margin:0 0 4px}
.settings-card h4.settings-card-subhead{font-size:26px;margin:13px 0 -4px;padding-top:22px;border-top:1px solid #e7dfe4}
.settings-card label{display:block;color:#49465c;font-size:13px;font-weight:600;line-height:1.5}
.settings-card label>span{display:block;color:#777285;font-size:11px;font-weight:400;margin-top:7px}
.settings-card input:not([type="color"]),.settings-card select,.settings-card textarea{display:block;width:100%;min-width:0;margin-top:8px;padding:13px 15px;border:1px solid #d9d3df;border-radius:5px;background:#fffefa;color:#29243a;font:400 15px/1.4 var(--font-body)}
.settings-card input[type="color"]{display:block;width:100%;height:52px;margin-top:8px;padding:5px;border:1px solid #d9d3df;border-radius:5px;background:#fffefa;cursor:pointer}
.settings-card .setting-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.settings-card .settings-help{font-size:12px;line-height:1.65;color:#777285;margin:0}
.settings-type-card{grid-column:1/-1}
.asset-setting{display:flex;align-items:center;gap:24px;padding-top:20px;border-top:1px solid #e7dfe4}
.logo-setting-preview{width:92px;height:92px;flex:0 0 92px;display:grid;place-items:center;background:#535980;border-radius:7px}
.logo-setting-preview img{width:78px;height:78px;object-fit:contain}
.asset-setting strong{display:block;color:#535980;font-size:15px;margin-bottom:5px}
.asset-setting p{color:#777285;font-size:12px;line-height:1.5;margin:0 0 11px}
.settings-outline-button{align-self:flex-start;min-height:39px;padding:8px 13px;border:1px solid #535980;border-radius:3px;background:transparent;color:#535980;font-size:10px;font-weight:600;letter-spacing:.1em;cursor:pointer}
.settings-outline-button:hover{background:#535980;color:#FBF3EA}
.settings-image-preview{height:210px;overflow:hidden;border-radius:5px;background:#e5e1e8}
.settings-image-preview img{display:block;width:100%;height:100%;object-fit:cover}
.settings-copy-card textarea{resize:vertical}
.interior-theme-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.interior-theme-sample{min-height:205px;padding:27px;background:#FFFCF8;border:1px solid #e4deea;border-radius:9px;box-shadow:0 10px 25px -18px rgba(52,34,69,.2)}
.interior-theme-sample>span:first-child{display:block;color:#777285;font-size:10px;font-weight:600;letter-spacing:.16em;margin-bottom:12px}
.interior-theme-sample strong{display:block;font:400 31px/1.2 var(--font-heading);color:#535980}
.interior-theme-sample p{color:#686276;font-size:14px;margin:9px 0 18px}
.theme-sample-button{display:inline-block;padding:10px 14px;background:#535980;color:#FBF3EA;font-size:9px;font-weight:600;letter-spacing:.12em;border-radius:3px}
.interior-theme-caption{grid-column:1/-1;color:#686276;font-size:13px;line-height:1.6;margin-top:2px}
.settings-actions{display:flex;align-items:center;gap:21px;margin:0 0 40px}
.settings-actions>span{color:#777285;font-size:12px}
@media(max-width:900px){.settings-card-grid{gap:18px}.settings-card{padding:24px}.settings-image-preview{height:175px}}
@media(max-width:650px){.settings-block{padding:35px 0 42px}.settings-card-grid,.interior-theme-preview{grid-template-columns:1fr}.settings-card{padding:21px}.settings-card h4{font-size:28px}.settings-card .setting-row{grid-template-columns:1fr}.settings-type-card,.interior-theme-caption{grid-column:auto}.settings-image-preview{height:185px}.settings-actions{flex-direction:column;align-items:flex-start}.asset-setting{gap:14px}.logo-setting-preview{width:76px;height:76px;flex-basis:76px}.logo-setting-preview img{width:64px;height:64px}}
.advanced-colors{margin-top:25px;padding:20px 24px;background:#F7EEE5;border:1px solid #e5dcd8;border-radius:8px}
.advanced-colors summary{cursor:pointer;color:#535980;font:400 23px/1.3 var(--font-heading)}

/* Website Settings: quiet, reversible controls */
.settings-block-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.settings-undo-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:3px 0 22px;color:#686276;font-size:14px}
.settings-undo-bar{position:sticky;top:10px;z-index:8;padding:15px 19px;background:#f7eee5;border:1px solid #e3d9d3;border-radius:7px;box-shadow:0 8px 20px rgba(49,32,65,.1)}
.settings-undo-bar strong{color:#45415a;font-size:14px}
.settings-undo-bar .settings-text-button{padding:7px 11px;border:1px solid #535980;border-radius:4px;color:#535980;background:#fffaf5}
.settings-undo-bar .settings-text-button:disabled{opacity:1;color:#656178;border-color:#b7b0c2;background:#fdf9f5}
.settings-reset-status{color:#535980;font-size:13px;line-height:1.5}
.settings-text-button{appearance:none;border:0;border-bottom:1px solid currentColor;background:none;padding:2px 0;color:#535980;font:600 13px/1.4 var(--font-body);cursor:pointer;text-align:left}
.settings-text-button:hover{color:#353b67}
.settings-text-button:disabled{opacity:.42;cursor:default}
.setting-control{min-width:0}
.setting-control label{display:block}
.setting-field-reset{margin-top:7px;font-size:12px}
.settings-image-reset{align-self:flex-start;margin-top:3px}.asset-setting .settings-image-reset{display:block;margin-top:14px}
.settings-all-reset{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:24px 0 34px;border-top:1px solid #ded7dc}
.settings-all-reset strong{font-size:15px;color:#45415a}
.settings-all-reset p{margin:5px 0 0;max-width:650px;color:#777285;font-size:13px;line-height:1.6}
.settings-all-reset button{flex:none}
@media(max-width:650px){.settings-block-heading,.settings-all-reset{align-items:flex-start;flex-direction:column}.settings-block-heading{gap:5px}.settings-all-reset{gap:16px}.settings-undo-bar{gap:8px}}
.advanced-colors summary span{display:inline-block;margin-left:15px;color:#777285;font:400 12px/1.5 var(--font-body)}
.advanced-color-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:25px 0 14px}
.advanced-color-grid label{color:#49465c;font-size:12px;font-weight:600}
.advanced-color-grid input{display:block;width:100%;height:49px;padding:5px;margin-top:8px;border:1px solid #d9d3df;border-radius:5px;background:#fffefa}
.advanced-colors>p{color:#777285;font-size:12px;line-height:1.6;margin:0}
@media(max-width:800px){.advanced-color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.advanced-colors summary span{display:block;margin:5px 0 0}.advanced-color-grid{gap:15px}}
/* Keep administrative inputs comfortably sized rather than stretching across the directory. */
.admin-invite-drawer{width:min(100%,670px)}
.directory-search{width:min(100%,560px)}
.settings-image-card .image-guidance{color:#777285;font-size:12px;line-height:1.6;margin:-8px 0 0}
.directory-search{width:min(100%,670px)}
