/* Marketing and launch/onboarding presentation. Clinic pages do not load this sheet. */
.site-header { display:flex; justify-content:space-between; align-items:center; min-height:108px; border-bottom:1px solid var(--border); }
.site-header nav { display:flex; gap:34px; align-items:center; font-size:13px; font-weight:500; }
.site-header nav a:not(.nav-cta):hover { color:#71874b; }
.nav-cta { border:1px solid #203d35; padding:12px 18px; border-radius:5px; display:inline-flex; align-items:center; gap:24px; }
.nav-cta:hover { background:#e9eddd; }
.hero { padding-top:72px; padding-bottom:27px; display:grid; grid-template-columns:1.2fr 1fr; column-gap:82px; align-items:center; }
.hero .eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 29px; }
.status-dot { width:6px; height:6px; background:#719253; border-radius:50%; flex-shrink:0; }
.hero-description { max-width:435px; font-size:15px; line-height:1.8; color:#606a61; margin-bottom:29px; }
.hero-note { font-size:10px; color:#6f776d; margin-top:17px; margin-bottom:0; }
.launch-panel { background:#e9eddf; padding:31px 34px 28px; border-radius:8px; position:relative; align-self:center; }
.panel-topline { display:flex; justify-content:space-between; align-items:center; font-size:9px; letter-spacing:1.7px; font-weight:600; margin-bottom:34px; }
.launch-panel h2 { font-family:var(--font-instrument-serif),Georgia,serif; font-size:47px; line-height:1.05; font-weight:400; letter-spacing:-1px; margin-bottom:31px; }
.launch-panel h2 em { color:#536d41; }
.launch-step { display:flex; align-items:center; gap:15px; padding:17px 0; border-top:1px solid #cbd2c2; font-size:13px; }
.launch-step>svg { margin-left:auto; opacity:.65; }
.step-number { font-size:10px; color:#737f6d; font-variant-numeric:tabular-nums; }
.panel-bottom { display:flex; align-items:center; gap:14px; background:#f8f9f2; margin-top:13px; padding:17px; border-radius:4px; }
.panel-symbol { display:grid; place-items:center; width:34px; height:34px; background:#d7eb9b; border-radius:50%; flex-shrink:0; }
.panel-bottom p { margin:0; font-size:11px; line-height:1.8; color:#65705e; }
.panel-bottom strong { font-weight:500; color:#203d35; }
.scroll-cue { grid-column:1/-1; display:flex; align-items:center; gap:12px; font-size:9px; letter-spacing:1.5px; padding-top:57px; }
.intro-section { padding-block:85px; margin-top:30px; border-top:1px solid var(--border); }
.intro-section h2 { font-family:var(--font-instrument-serif),Georgia,serif; font-size:clamp(40px,4vw,58px); line-height:1.1; font-weight:400; letter-spacing:-1px; margin-bottom:22px; }
.intro-section>p:last-child { max-width:550px; line-height:1.9; color:#606a61; font-size:15px; }
.site-footer { border-top:1px solid var(--border); padding-block:30px; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.site-footer .wordmark { font-size:28px; }
.site-footer>span { font-size:11px; color:#6f776d; }
@media(min-width:1600px) { .hero { padding-top:90px; padding-bottom:38px; } }
@media(max-width:1050px) { .hero { gap:35px; } .launch-panel { padding:27px; } .site-header nav { gap:22px; } }
@media(max-width:760px) { .site-header { min-height:86px; } .site-header nav>a:not(.nav-cta) { display:none; } .nav-cta { padding:10px 12px; gap:12px; } .hero { grid-template-columns:1fr; padding-top:45px; row-gap:38px; } .hero .eyebrow { font-size:8px; letter-spacing:1.1px; margin-bottom:24px; } .hero-description { font-size:14px; } .hero-note { font-size:9px; } .launch-panel { padding:27px; } .launch-panel h2 { font-size:45px; } .panel-topline { margin-bottom:25px; } .scroll-cue { padding-top:0; } .intro-section { padding-block:55px; } .site-footer { flex-wrap:wrap; } .site-footer>span:last-child { width:100%; } }
.section-heading { display:grid; grid-template-columns:1.2fr 1fr; gap:82px; align-items:end; margin-bottom:40px; }
.section-heading>p { max-width:440px; color:#606a61; font-size:14px; line-height:1.9; margin-bottom:26px; }
.services-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.service-card { padding:25px 0 16px; border-top:1px solid #bfc7b8; }
.service-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:26px; }
.service-top>span { font-size:10px; color:#798474; }
.service-card h3 { font-family:var(--font-instrument-serif),Georgia,serif; font-weight:400; font-size:27px; line-height:1.12; margin-bottom:15px; }
.service-card>p { font-size:12px; line-height:1.85; color:#606a61; min-height:90px; margin-bottom:23px; }
.service-card ul { list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.service-card li { display:flex; gap:8px; align-items:flex-start; font-size:10px; line-height:1.6; }
.service-card li svg { flex-shrink:0; margin-top:2px; color:#718753; }
.scope-note { font-size:10px; color:#697264; line-height:1.8; margin:28px 0 0; max-width:730px; }
.process-section { background:#edf0e5; padding-block:76px; }
.process-section h2,.experience-section h2,.faq-section h2 { font-family:var(--font-instrument-serif),Georgia,serif; font-size:clamp(40px,4vw,58px); font-weight:400; line-height:1.1; letter-spacing:-1px; margin-bottom:22px; }
.process-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; list-style:none; padding:0; margin:10px 0 35px; }
.process-grid li { border-top:1px solid #bac6ad; padding-top:19px; }
.process-number { font-size:10px; display:block; margin-bottom:26px; color:#758568; }
.process-grid h3 { font-size:14px; font-weight:500; margin-bottom:12px; }
.process-grid p { font-size:12px; line-height:1.85; color:#616e58; }
.experience-section { padding-block:95px; display:grid; grid-template-columns:1fr 1.45fr; gap:85px; align-items:start; }
.experience-label { padding:18px 0 0; }
.experience-label .eyebrow { margin:25px 0 8px; }
.experience-label>span { font-size:12px; color:#79806f; }
.experience-section>div>p:not(.eyebrow) { font-size:14px; line-height:1.9; color:#606a61; max-width:560px; }
.experience-section .experience-detail { font-size:12px; }
.experience-section .text-link { margin-top:13px; }
.faq-section { display:grid; grid-template-columns:1fr 1.45fr; gap:85px; border-top:1px solid var(--border); padding-block:75px 85px; }
.faq-section .eyebrow { max-width:240px; }
.faq-list [data-slot=accordion-item] { border-color:#d7dcce; }
.faq-list [data-slot=accordion-trigger] { font-size:13px; padding-block:21px; border-radius:3px; gap:22px; align-items:center; }
.faq-list [data-slot=accordion-content] { color:#606a61; font-size:13px; line-height:1.9; padding-right:20px; }
.faq-list [data-slot=accordion-content] p { margin-bottom:9px; }
.footer-wrap { padding-bottom:22px; }
.site-footer { border-top:0; padding-top:36px; }
.footer-bottom { display:flex; gap:25px; justify-content:space-between; border-top:1px solid #e1e3d9; padding-top:18px; font-size:9px; color:#767e70; line-height:1.8; }
.footer-bottom p { margin:0; }
.footer-bottom>span { white-space:nowrap; }
@media(max-width:1100px) { .services-grid { gap:20px; } .section-heading { gap:35px; } .experience-section,.faq-section { gap:45px; } .service-card h3 { font-size:24px; } .service-card>p { min-height:110px; } }
@media(max-width:850px) { .services-grid,.process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px; } .service-card>p { min-height:0; } .section-heading { grid-template-columns:1fr; gap:0; } .section-heading>p { max-width:600px; margin-bottom:0; } .experience-section { grid-template-columns:.7fr 1.3fr; gap:25px; } }
@media(max-width:760px) { .intro-section { margin-top:24px; } .section-heading { margin-bottom:30px; } .services-grid { column-gap:22px; } .service-card h3 { font-size:26px; } .service-card li { font-size:10px; } .service-top { margin-bottom:22px; } .scope-note { margin-top:20px; } .process-section { padding-block:55px; } .process-grid { gap:20px 25px; } .process-number { margin-bottom:20px; } .experience-section,.faq-section { grid-template-columns:1fr; gap:30px; padding-block:55px; } .experience-label { padding-top:0; } .experience-label .eyebrow { margin-top:17px; } .faq-section { gap:13px; } .faq-section .eyebrow { max-width:none; } .footer-bottom { flex-direction:column; gap:10px; } }
@media(max-width:440px) { .services-grid { grid-template-columns:1fr; gap:12px; } .service-card>p { max-width:320px; margin-bottom:17px; } .service-card { padding-bottom:18px; } .process-grid { grid-template-columns:1fr; gap:15px; } .process-grid li { display:grid; grid-template-columns:30px 1fr; column-gap:10px; } .process-grid h3 { margin-top:0; } .process-grid p { grid-column:2; } .process-number { margin-top:2px; } }
.contact-cta { background:#e4eadb; padding-block:66px; }
.contact-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:45px; }
.contact-cta h2 { font-family:var(--font-instrument-serif),Georgia,serif; font-size:clamp(42px,4vw,58px); font-weight:400; line-height:1.1; letter-spacing:-1px; margin-bottom:20px; }
.contact-cta p:not(.eyebrow) { font-size:14px; color:#5d6c54; line-height:1.8; margin-bottom:0; }
.contact-cta .primary-link { flex-shrink:0; }
.footer-links { display:flex; align-items:center; flex-wrap:wrap; gap:22px; font-size:11px; }
.footer-links>span { color:#6f776d; }
.footer-links a:hover { text-decoration:underline; text-underline-offset:4px; }
.contact-layout,.login-layout { display:grid; grid-template-columns:1.1fr 1fr; gap:95px; align-items:start; }
.inner-page-copy>p:not(.eyebrow) { font-size:14px; line-height:1.9; color:#606a61; max-width:410px; }
.inner-page-copy>.page-fine-print { margin-top:34px; font-size:11px; }
.contact-detail { display:flex; gap:16px; margin-top:32px; max-width:380px; }
.contact-detail>svg { flex-shrink:0; margin-top:3px; color:#66805b; }
.contact-detail strong { display:block; font-size:12px; font-weight:600; margin-bottom:6px; }
.contact-detail span { display:block; font-size:12px; line-height:1.8; color:#687160; }
.login-layout { align-items:center; padding-block:100px; }
.login-card>svg { margin-bottom:24px; color:#66805b; }
.login-card h2 { margin-bottom:14px; }
.login-card .form-note { margin-bottom:0; }
.portal-type-links { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:18px 0 28px; }
.portal-type-links a { padding:11px 12px; border:1px solid #b8c3b2; border-radius:5px; background:#fffefa; font-size:12px; font-weight:600; text-align:center; }
.portal-type-links a[aria-current=page] { background:#254e40; border-color:#254e40; color:#fff; }
.spin { animation:spin 1s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.member-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:35px; margin-bottom:45px; }
.member-heading h1 { margin-bottom:13px; }
.member-heading>div>p:last-child { font-size:13px; color:#687160; }
.member-actions { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.member-actions button { min-height:44px; padding-inline:16px; font-size:12px; cursor:pointer; }
.member-actions a { font-size:12px; text-decoration:underline; text-underline-offset:4px; }
.empty-materials { border:1px solid #d8dece; background:#f1f2e8; padding:60px 40px; text-align:center; border-radius:8px; }
.empty-materials>svg { color:#70885e; margin:0 auto 22px; }
.empty-materials h2 { font-family:var(--font-instrument-serif),Georgia,serif; font-size:38px; font-weight:400; margin-bottom:16px; }
.empty-materials p { max-width:480px; margin:0 auto; font-size:13px; color:#67715f; line-height:1.9; }
.resource-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.resource-card { padding:28px; border:1px solid #d1d9c5; border-radius:6px; background:#fffefa; }
.resource-card h2 { font-family:var(--font-instrument-serif),Georgia,serif; font-size:30px; font-weight:400; margin-bottom:13px; }
.resource-card p { font-size:13px; line-height:1.8; color:#65705e; }
.inquiry-list { display:grid; gap:18px; }
.inquiry-card { padding:26px; border:1px solid #d9dfd0; border-radius:6px; background:#fffefa; }
.inquiry-card h2 { font-size:16px; font-weight:500; margin-bottom:10px; }
.inquiry-card .inquiry-meta { font-size:11px; color:#67715f; }
.inquiry-card .inquiry-message { white-space:pre-wrap; overflow-wrap:anywhere; font-size:13px; line-height:1.8; margin-bottom:0; }
.inquiry-card a { text-decoration:underline; text-underline-offset:4px; }
.connection-notice { max-width:640px; padding:35px; background:#edf0e3; border-radius:7px; margin:35px 0; }
.connection-notice p { font-size:14px; line-height:1.9; color:#65715c; }
@media(max-width:1050px) { .contact-layout,.login-layout { gap:40px; } .footer-links { gap:15px; } }
@media(max-width:760px) { .site-header nav { gap:14px; font-size:11px; } .site-header nav>.login-link { display:inline-flex; } .contact-layout,.login-layout { grid-template-columns:1fr; gap:34px; } .inner-page-copy>p:not(.eyebrow) { max-width:530px; } .contact-detail { margin-top:23px; } .contact-cta { padding-block:50px; } .contact-cta-inner { flex-direction:column; align-items:flex-start; gap:27px; } .footer-links { width:100%; } .member-heading { flex-direction:column; gap:20px; } .resource-list { grid-template-columns:1fr; } .empty-materials { padding:40px 24px; } }
@media(max-width:390px) { .site-header .wordmark { font-size:27px; } .site-header nav { gap:10px; font-size:10px; } .nav-cta { padding:10px; gap:8px; } }
@media(prefers-reduced-motion:reduce) { .spin { animation:none; } }
.portal-page { padding-top:25px; }
.portal-navigation { display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid #d9ddcf; padding-bottom:22px; margin-bottom:56px; }
.portal-navigation nav { display:flex; gap:30px; }
.portal-navigation nav a { color:#717a69; font-size:12px; padding:12px 0; }
.portal-navigation nav a[aria-current="page"] { color:#29442b; box-shadow:0 2px 0 #36553b; }
.portal-navigation .button { min-height:38px; padding:9px 17px; font-size:11px; }
.portal-intro h1,.section-page-heading h1 { max-width:820px; }
.portal-intro>p:last-child,.section-page-heading>p:last-child { font-size:14px; color:#727968; max-width:590px; line-height:1.8; }
.portal-modules { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:42px; }
.portal-module { display:flex; flex-direction:column; align-items:flex-start; padding:36px; min-height:352px; background:#e8eddf; border:1px solid #d4ddca; border-radius:6px; transition:border-color 180ms ease,transform 180ms ease; }
.portal-module:hover { border-color:#6c8560; transform:translateY(-3px); }
.training-module { background:#efeee3; border-color:#dedfd1; }
.module-icon { width:48px; height:48px; display:grid; place-items:center; background:#f7f8ef; border-radius:50%; margin-bottom:30px; }
.module-number { font-size:9px; letter-spacing:1.8px; color:#748166; }
.portal-module h2 { font-family:var(--font-instrument-serif),Georgia,serif; font-size:42px; line-height:1.07; margin:12px 0 16px; font-weight:400; }
.portal-module>p { color:#6f7865; font-size:13px; line-height:1.85; max-width:370px; margin-bottom:32px; }
.module-progress { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; margin-top:auto; border-top:1px solid #ccd6c1; padding-top:21px; font-size:11px; }
.module-progress span:last-child { display:inline-flex; align-items:center; gap:8px; }
.portal-bottom { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:32px; padding:24px 0; border-bottom:1px solid #dde1d3; }
.portal-bottom h2 { font-family:var(--font-instrument-serif),Georgia,serif; font-size:28px; font-weight:400; }
.portal-bottom p,.portal-boundary { color:#78816e; font-size:11px; line-height:1.9; }
.portal-boundary { margin-top:27px; max-width:820px; }
.paperwork-summary { display:flex; justify-content:space-between; gap:25px; margin-top:42px; padding-bottom:20px; align-items:center; font-size:12px; }
.paperwork-summary>span { flex-shrink:0; }
.paperwork-summary p { color:#7b836f; font-size:11px; max-width:440px; }
.document-list { border-top:1px solid #d9dfcf; }
.document-row { display:flex; align-items:center; gap:22px; padding:27px 22px; border-bottom:1px solid #d9dfcf; transition:background 180ms; }
.document-row:hover { background:#eef0e6; }
.document-description { flex:1; }
.document-description h2 { font-size:15px; font-weight:500; }
.document-description p { font-size:11px; color:#7d856f; margin-top:7px; line-height:1.6; }
.training-heading { display:flex; justify-content:space-between; align-items:center; margin:40px 0 21px; }
.training-heading h2 { font-family:var(--font-instrument-serif),Georgia,serif; font-size:30px; font-weight:400; }
.training-heading p { font-size:11px; color:#77806c; }
.lesson-card { display:flex; flex-direction:column; align-items:flex-start; }
.lesson-card-top { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; margin-bottom:27px; }
.lesson-card .eyebrow { font-size:9px; margin:0 0 9px; }
.lesson-card .text-link { margin-top:auto; padding-top:18px; }
.video-coming { display:flex; gap:27px; align-items:center; background:#eceee3; padding:32px; border-radius:5px; margin-top:30px; }
.video-coming>svg { flex-shrink:0; }
.video-coming h2 { font-family:var(--font-instrument-serif),Georgia,serif; font-size:31px; font-weight:400; margin-bottom:9px; }
.video-coming .eyebrow { margin-bottom:8px; font-size:9px; }
.video-coming p:last-child { font-size:12px; line-height:1.8; color:#77806c; max-width:590px; }
.document-title { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-top:31px; }
.document-title h1 { font-size:clamp(36px,4vw,50px); margin-bottom:10px; }
.document-title p:last-child { font-size:11px; color:#7a826f; }
.signing-layout { display:grid; grid-template-columns:1.65fr 1fr; gap:30px; align-items:start; }
.document-paper { background:#fffefa; border:1px solid #d9ddcf; padding:35px; border-radius:3px; }
.document-paper-brand { display:flex; justify-content:space-between; font-family:var(--font-instrument-serif),Georgia,serif; font-size:25px; padding-bottom:23px; border-bottom:1px solid #dfe2d6; margin-bottom:25px; }
.document-paper-brand span { font-family:var(--font-dm-sans),sans-serif; font-size:8px; letter-spacing:1.8px; align-self:center; }
.document-paper .material-body { padding:0; background:transparent; font-size:13px; line-height:1.9; border:0; }
.signing-panel { padding:27px; background:#eaeedf; border:1px solid #d8dfcc; border-radius:5px; }
.signing-panel h2 { font-family:var(--font-instrument-serif),Georgia,serif; font-size:34px; font-weight:400; margin:15px 0; }
.signing-panel p { font-size:12px; line-height:1.8; color:#737d66; }
.signing-panel .form-submit { margin-top:20px; }
.signing-panel .form-note { font-size:10px; margin-top:18px; }
.consent-field { display:flex; align-items:flex-start; gap:10px; margin-top:21px; }
.consent-field [data-slot="checkbox"] { margin-top:3px; background:#fffefa; }
.consent-field label { font-size:11px; line-height:1.8; font-weight:400; }
.signature-receipt dl { margin:22px 0; font-size:12px; }
.signature-receipt dt { font-size:10px; color:#78816a; margin-top:16px; }
.signature-receipt dd { margin-top:5px; overflow-wrap:anywhere; }
.lesson-detail { max-width:770px; margin:35px auto 0; }
.lesson-detail h1 { font-size:clamp(40px,4.3vw,58px); }
.lesson-summary { font-size:14px; line-height:1.8; color:#717b64; }
.learning-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px; padding:20px 0; border-top:1px solid #dbe0ce; border-bottom:1px solid #dbe0ce; margin:25px 0; }
.learning-actions p { font-size:11px; color:#6f7b63; }
.lesson-body { font-size:14px; line-height:2; padding:30px 0; background:none; border:0; }
@media(max-width:900px) { .signing-layout { grid-template-columns:1fr; } .signing-panel { max-width:600px; } .portal-module { padding:28px; } .portal-navigation nav { gap:18px; } }
@media(max-width:640px) { .portal-navigation { flex-wrap:wrap; gap:12px; margin-bottom:38px; } .portal-navigation nav { gap:18px; } .portal-navigation nav a { font-size:10px; } .portal-modules { grid-template-columns:1fr; gap:18px; margin-top:30px; } .portal-module { min-height:310px; } .portal-bottom,.paperwork-summary,.document-title { align-items:flex-start; flex-direction:column; gap:14px; } .document-row { padding:23px 8px; gap:13px; flex-wrap:wrap; } .document-description { flex-basis:calc(100% - 40px); } .document-row .status-badge { margin-left:36px; } .document-paper { padding:23px; } .video-coming { align-items:flex-start; padding:24px; gap:18px; } .module-progress { gap:10px; } }
@media(prefers-reduced-motion:reduce) { .portal-module { transition:none; } .portal-module:hover { transform:none; } }
.faq-list details { border-bottom:1px solid #d7dcce; padding:21px 0; font-size:13px; }
.faq-list summary { cursor:pointer; line-height:1.6; }
.faq-list details p { color:#606a61; line-height:1.9; margin:18px 0 0; }
.consent-field input[type=checkbox] { flex-shrink:0; width:18px; height:18px; accent-color:#254e40; }
.workspace-switch { white-space:nowrap; }
.portal-navigation { flex-wrap:wrap; }
@media(max-width:760px) { .portal-navigation nav { flex-wrap:wrap; } }
