:root{--bg-a: #eef7f3;--bg-b: #f8f2ff;--ink: #15213d;--ink-soft: #5a6786;--line: #d9dfec;--surface: #ffffff;--emerald: #0f8f58;--blue: #2a52d6;--amber: #a56b00;--danger: #b42318;--radius-lg: 8px;--radius-sm: 8px}*{box-sizing:border-box}body{margin:0;font-family:Manrope,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:var(--ink);background:linear-gradient(135deg,var(--bg-a) 0%,#fbfcff 48%,var(--bg-b) 100%)}button,input,select{font:inherit}.site-state{min-height:100dvh;display:grid;place-content:center;gap:8px;padding:30px;text-align:center;color:var(--ink-soft)}.error-state strong{color:var(--danger);font-size:1.15rem}.portal-shell{min-height:100dvh;background:#f7f8f5;color:#21352e}.portal-header{height:76px;display:flex;align-items:center;gap:16px;padding:0 28px;background:#fff;border-bottom:1px solid #dfe5e1}.brand-lockup{display:flex;align-items:center;gap:11px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.brand-lockup strong,.brand-lockup small{display:block}.brand-lockup strong{font-size:16px}.brand-lockup small{margin-top:2px;color:#718078;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.brand-mark{width:38px;height:38px;display:grid;place-content:center;border-radius:11px;background:var(--portal-brand);color:#fff;font-weight:800}.preview-label{border:1px solid color-mix(in srgb,var(--portal-accent) 55%,#fff);border-radius:999px;background:color-mix(in srgb,var(--portal-accent) 15%,#fff);color:#86531d;padding:5px 10px;font-size:12px;font-weight:700}.sign-in{margin-left:auto;border:1px solid #ccd7d1;border-radius:8px;background:#fff;color:var(--portal-brand);padding:9px 14px;font-weight:700;cursor:pointer}.member-session{display:flex;align-items:center;gap:8px;max-width:min(380px,45vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-session>span{width:24px;height:24px;display:inline-grid;flex:0 0 auto;place-content:center;border-radius:50%;background:var(--portal-brand);color:#fff;font-size:12px}.portal-grid{display:grid;grid-template-columns:248px minmax(0,1fr);max-width:1320px;margin:0 auto}.portal-nav{min-height:calc(100dvh - 76px);padding:28px 18px;border-right:1px solid #dfe5e1;background:#fbfcfa}.nav-label{margin:0 10px 10px;color:#849087;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.nav-item{width:100%;display:grid;grid-template-columns:22px 1fr auto;gap:8px;align-items:center;margin-bottom:4px;padding:10px 11px;border:0;border-radius:8px;background:transparent;color:#506158;text-align:left;cursor:pointer}.nav-item:hover,.nav-item.active{background:color-mix(in srgb,var(--portal-brand) 10%,#fff);color:var(--portal-brand);font-weight:700}.nav-lock{color:#8d978f}.portal-main{width:min(100%,940px);padding:34px 42px 80px}.preview-bar{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:26px;padding:10px 12px;border:1px solid #ead8bd;border-radius:10px;background:#fffaf2;color:#735333;font-size:12px}.preview-bar>span:first-child{font-weight:700}.preview-bar small{margin-left:auto}.tier-chip{border-radius:999px;background:#f0ece6;padding:4px 8px}.tier-chip.current{background:var(--portal-brand);color:#fff;font-weight:700}.page-heading{margin-bottom:24px}.page-heading p{margin:0 0 6px;color:var(--portal-brand);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.page-heading h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,5vw,3.5rem);line-height:1.05;letter-spacing:-.035em}.content-section,.locked-card,.empty-module,.course-card,.curriculum-section{position:relative;margin-bottom:16px;border:1px solid #dfe5e1;border-radius:12px;background:#fff;box-shadow:0 7px 24px #1b362b0d}.content-section{padding:26px}.content-section h2,.locked-card h2,.curriculum-section h2{margin:0 0 10px;font-size:1.2rem}.section-copy{margin:0;color:#5f6f67;line-height:1.7;white-space:pre-line}.section-tag{position:absolute;top:10px;right:10px;border-radius:5px;background:#edf2ef;color:#718078;padding:3px 6px;font-size:10px;font-weight:700;text-transform:uppercase}.media-frame{aspect-ratio:16 / 9;margin-top:18px;overflow:hidden;border-radius:9px;background:#15221d}.media-frame iframe,.content-section img{width:100%;height:100%;border:0;object-fit:cover}.portal-button{margin-top:16px;border:0;border-radius:8px;background:var(--portal-brand);color:#fff;padding:11px 16px;font-weight:750}.locked-card,.empty-module{padding:38px;text-align:center}.lock-icon{width:50px;height:50px;display:grid;place-content:center;margin:0 auto 14px;border-radius:50%;background:#edf2ef;color:var(--portal-brand);font-size:22px}.locked-card p,.empty-module p{color:#68776f}.billing-module{display:grid;gap:18px}.billing-summary,.billing-group{border:1px solid #dfe5e1;border-radius:12px;background:#fff;box-shadow:0 7px 24px #1b362b0d}.billing-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px}.billing-summary span,.billing-summary strong,.billing-table td small{display:block}.billing-summary span,.billing-table td small{color:#68776f;font-size:12px}.billing-summary p{max-width:440px;margin:0;color:#68776f;font-size:13px}.billing-group{overflow:hidden}.billing-group-heading{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #edf1ee}.billing-group-heading h2{margin:0;font-size:1.05rem}.billing-group-heading span{border-radius:999px;background:#edf2ef;color:var(--portal-brand);padding:3px 8px;font-size:12px;font-weight:800}.billing-table-wrap{overflow-x:auto}.billing-table{width:100%;min-width:700px;border-collapse:collapse;font-size:13px}.billing-table th,.billing-table td{padding:13px 18px;border-bottom:1px solid #edf1ee;text-align:left;vertical-align:top}.billing-table th{color:#68776f;font-size:11px;letter-spacing:.04em;text-transform:uppercase}.billing-table tbody tr:last-child td{border-bottom:0}.billing-table .number-cell{text-align:right;white-space:nowrap}.billing-empty{margin:0;padding:24px 18px;color:#68776f;text-align:center}.billing-error{border-color:#f0c7c2}.offer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:22px;text-align:left}.offer-card{display:flex;flex-direction:column;gap:8px;border:1px solid #dfe5e1;border-radius:10px;background:#f9fbfa;padding:20px}.offer-card>span,.offer-card>small{color:#68776f;font-size:12px}.offer-card h3,.offer-card p{margin:0}.offer-card>strong{color:var(--portal-brand);font-size:1.65rem}.offer-card .portal-button{width:100%}.offer-card .purchase-button{margin-top:0}.entitlement-banner{display:flex;justify-content:space-between;gap:16px;margin-bottom:18px;border:1px solid color-mix(in srgb,var(--portal-brand) 25%,white);border-radius:10px;background:color-mix(in srgb,var(--portal-brand) 7%,white);padding:13px 16px;color:var(--portal-brand)}.entitlement-banner>div{display:grid;gap:3px}.entitlement-purchase{flex:0 0 auto;margin-top:0}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.course-card{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:20px;color:inherit;text-align:left;cursor:pointer}.course-art{width:48px;height:48px;display:grid;place-content:center;border-radius:12px;background:color-mix(in srgb,var(--portal-brand) 12%,#fff);color:var(--portal-brand);font-size:22px}.course-copy strong,.course-copy small,.lesson-row strong,.lesson-row small{display:block}.course-copy small,.lesson-row small{margin-top:5px;color:#738078;line-height:1.4}.course-meta{grid-column:2;color:var(--portal-brand);font-size:12px;font-weight:700}.course-intro{display:flex;gap:20px;justify-content:space-between;align-items:flex-start;margin-bottom:22px;color:#5f6f67}.course-intro p{margin:0 0 7px}.course-start{flex:0 0 auto;margin-top:0;cursor:pointer}.course-progress{display:grid;grid-template-columns:minmax(170px,auto) minmax(220px,1fr);gap:22px;align-items:center;margin-bottom:18px;border:1px solid #dfe5e1;border-radius:12px;background:#fff;padding:16px 18px}.course-progress strong,.course-progress span{display:block}.course-progress span{margin-top:3px;color:#718078;font-size:12px}.progress-track{height:8px;overflow:hidden;border-radius:999px;background:#e8edea}.progress-track span{height:100%;display:block;margin:0;border-radius:inherit;background:var(--portal-brand);transition:width .25s ease}.curriculum-section{overflow:hidden}.curriculum-section h2{padding:18px 20px;border-bottom:1px solid #e4e9e6;background:#fbfcfa}.lesson-row{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;border:0;padding:14px 20px;border-bottom:1px solid #edf0ee;background:#fff;color:inherit;text-align:left;cursor:pointer}.lesson-row:last-child{border-bottom:0}.lesson-state{color:var(--portal-brand)}.lesson-row:hover:not(:disabled){background:#f8fbf9}.lesson-row:disabled{color:#8a958f;cursor:not-allowed}.lesson-action{color:var(--portal-brand);font-size:12px;font-weight:750}.learning-error{margin:14px 0;border-radius:8px;background:#fff1f0;color:var(--danger);padding:10px 12px;font-size:13px}.auth-overlay{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:22px;background:#101f199e;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.auth-dialog{position:relative;width:min(100%,460px);border-radius:18px;background:#fff;padding:36px;box-shadow:0 26px 80px #0a191347}.lesson-overlay{align-items:start;overflow-y:auto}.lesson-dialog{position:relative;width:min(100%,880px);margin:24px 0;border-radius:18px;background:#fff;padding:34px;box-shadow:0 26px 80px #0a191347}.lesson-dialog-header{padding-right:34px}.lesson-dialog-header p,.quiz-heading p{margin:0 0 5px;color:var(--portal-brand);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.lesson-dialog-header h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.7rem,4vw,2.5rem)}.lesson-meta{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 22px}.lesson-meta span{border-radius:999px;background:#edf2ef;color:#5b6b63;padding:5px 9px;font-size:11px;font-weight:700}.lesson-meta .lesson-complete-chip{background:color-mix(in srgb,var(--portal-brand) 12%,#fff);color:var(--portal-brand)}.lesson-media{aspect-ratio:16 / 9;overflow:hidden;border-radius:12px;background:#101b16}.lesson-content-blocks{display:grid;gap:18px}.lesson-block .lesson-media{margin:0}.lesson-title{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.2}.lesson-image-wrap{border-radius:12px;overflow:hidden}.lesson-image-wrap img{width:100%;max-width:100%;border-radius:12px;display:block;background:#0f1813}.lesson-callout{padding:14px 16px;border-left:4px solid var(--portal-brand);background:#f8fcf8;border-radius:10px}.lesson-callout h3{margin:0 0 8px;font-size:1rem}.lesson-media iframe,.lesson-media video{width:100%;height:100%;border:0;object-fit:cover}.lesson-body{margin:24px 0;color:#4f6158;font-size:1rem;line-height:1.75}.lesson-body>:first-child{margin-top:0}.lesson-body img{display:block;max-width:100%;height:auto;border-radius:10px}.lesson-body>:last-child{margin-bottom:0}.lesson-body h1,.lesson-body h2,.lesson-body h3{margin:1.4em 0 .45em;color:#1f3229;line-height:1.25}.lesson-body ul,.lesson-body ol{padding-left:1.5rem}.lesson-body a{color:var(--portal-brand);text-underline-offset:2px}.lesson-body pre{overflow-x:auto;border-radius:8px;padding:14px;background:#16241d;color:#f3f7f5}.lesson-body code{border-radius:4px;padding:.15em .35em;background:#edf2ef;font-family:Consolas,SFMono-Regular,monospace;font-size:.9em}.lesson-body pre code{padding:0;background:transparent;color:inherit}.lesson-files{margin:24px 0;border-top:1px solid #e4e9e6;padding-top:20px}.lesson-files h3,.lesson-quiz h3{margin:0 0 12px}.lesson-files a{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:center;margin-top:8px;border:1px solid #dfe5e1;border-radius:9px;padding:12px 14px;color:inherit;text-decoration:none}.lesson-files a:hover{border-color:var(--portal-brand)}.lesson-files a[aria-disabled=true]{opacity:.55;pointer-events:none}.lesson-files strong,.lesson-files small{display:block}.lesson-files small{margin-top:3px;color:#718078}.lesson-quiz{margin-top:26px;border-top:1px solid #e4e9e6;padding-top:22px}.quiz-preview{display:grid;gap:16px}.quiz-preview-notice{margin:0;border-radius:10px;background:color-mix(in srgb,var(--portal-brand) 9%,#fff);padding:13px 15px;color:#405249}.quiz-preview-questions{display:grid;gap:16px;margin:0;padding-left:24px}.quiz-preview-questions>li{padding-left:4px}.quiz-preview-questions ul{display:grid;gap:6px;margin:9px 0 0;padding-left:20px;color:#586860}.quiz-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.quiz-heading>span{color:#718078;font-size:12px;white-space:nowrap}.quiz-form{display:grid;gap:14px;margin-top:18px}.quiz-form fieldset{display:grid;gap:8px;margin:0;border:1px solid #dfe5e1;border-radius:11px;padding:16px}.quiz-form legend{padding:0 6px;font-weight:750}.quiz-option{display:flex;gap:9px;align-items:flex-start;border-radius:8px;padding:8px;cursor:pointer}.quiz-option:hover{background:#f3f7f4}.quiz-option input{margin-top:3px;accent-color:var(--portal-brand)}.quiz-result{display:flex;gap:18px;align-items:center;margin-top:18px;border-radius:12px;background:#fff2ef;padding:18px}.quiz-result.passed{background:color-mix(in srgb,var(--portal-brand) 10%,#fff)}.quiz-result>strong{color:var(--danger);font-size:2rem}.quiz-result.passed>strong{color:var(--portal-brand)}.quiz-result h3,.quiz-result p{margin:0}.quiz-result p{margin-top:3px;color:#68776f}.quiz-review{display:grid;gap:6px;margin-top:14px}.quiz-review p{margin:0;color:#9f4137}.quiz-review p.correct{color:var(--portal-brand)}.quiz-review span{display:inline-block;width:22px;font-weight:800}.lesson-footer{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:26px;border-top:1px solid #e4e9e6;padding-top:20px;color:#68776f}.lesson-footer .portal-button{margin-top:0}.auth-close{position:absolute;top:14px;right:16px;border:0;background:transparent;color:#75837c;font-size:28px;cursor:pointer}.auth-mark{width:44px;height:44px;display:grid;place-content:center;margin-bottom:18px;border-radius:13px;background:var(--portal-brand);color:#fff;font-weight:800}.auth-eyebrow{margin:0 0 5px!important;color:var(--portal-brand)!important;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.auth-dialog h2{margin:0 0 10px;font-family:Georgia,Times New Roman,serif;font-size:1.8rem}.auth-dialog>p,.auth-dialog>small{color:#68776f;line-height:1.55}.purchase-total{display:block;margin:18px 0 8px;color:var(--portal-brand);font-family:Georgia,Times New Roman,serif;font-size:2rem}.purchase-dialog .auth-submit{margin-top:12px}.auth-dialog form{margin:24px 0 18px}.auth-dialog label{display:block;margin-bottom:7px;color:#3e5047;font-size:13px;font-weight:750}.auth-dialog input{width:100%;border:1px solid #cbd6d0;border-radius:9px;outline:none;padding:13px 14px;color:#21352e}.auth-dialog input:focus{border-color:var(--portal-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--portal-brand) 14%,transparent)}.auth-code{text-align:center;font-size:1.55rem!important;font-weight:800;letter-spacing:.28em}.auth-submit{width:100%;cursor:pointer}.auth-submit:disabled,.auth-back:disabled{cursor:wait;opacity:.55}.auth-back{width:100%;margin-top:10px;border:0;background:transparent;color:var(--portal-brand);font-weight:700;cursor:pointer}.development-code{margin:10px 0 0!important;border-radius:7px;background:#fff8e8;color:#855d18!important;padding:8px 10px;font-size:12px;text-align:center}.auth-error{border-radius:8px;background:#fff1f0;color:var(--danger)!important;padding:10px 12px;font-size:13px}@media(max-width:760px){.portal-header{padding:0 16px}.preview-label{display:none}.portal-grid{grid-template-columns:1fr}.portal-nav{min-height:0;display:flex;gap:4px;overflow-x:auto;padding:10px 12px;border-right:0;border-bottom:1px solid #dfe5e1}.nav-label,.nav-item>span:first-child,.nav-lock{display:none}.nav-item{width:auto;display:block;flex:0 0 auto;white-space:nowrap}.portal-main{padding:26px 18px 70px}.preview-bar small{width:100%;margin-left:0}.course-grid{grid-template-columns:1fr}.course-intro,.quiz-heading,.lesson-footer,.billing-summary{display:grid}.course-progress{grid-template-columns:1fr}.lesson-row{grid-template-columns:24px minmax(0,1fr)}.lesson-action{grid-column:2}.lesson-dialog{margin:0;border-radius:0;padding:28px 20px;min-height:100dvh}.member-session{max-width:42vw}.auth-dialog{padding:30px 22px}}.shell{min-height:100dvh;padding:28px 14px}.card{max-width:760px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px;box-shadow:0 14px 38px #16255014}.masthead{margin-bottom:18px}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.09em;font-weight:700;font-size:12px;color:var(--blue)}.title{margin:8px 0 0;font-size:clamp(1.6rem,2.5vw,2rem)}.status-row{margin-bottom:14px}.badge{display:inline-flex;align-items:center;border-radius:999px;font-weight:700;font-size:12px;letter-spacing:.04em;text-transform:uppercase;border:1px solid #ccead8;color:var(--emerald);background:#eefcf4;padding:5px 11px}.badge.off{border-color:#f0d7ce;color:var(--danger);background:#fff5f3}.facts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.fact{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fbfcff;padding:11px 12px}.label{margin:0 0 4px;font-size:12px;color:var(--ink-soft)}.value{margin:0;font-weight:700;font-size:15px}.btn{border:0;border-radius:8px;color:#fff;background:linear-gradient(100deg,var(--emerald),var(--blue));font-weight:700;font-size:14px;padding:11px 14px;cursor:pointer}.btn[disabled]{opacity:.58;cursor:not-allowed}.btn.secondary{color:var(--ink);background:#f0f4ff;border:1px solid #d8e1ff}.panel{margin:10px 0;border-radius:8px;border:1px solid #d8e1ff;background:#f5f8ff;color:#25417c;font-size:13px;padding:10px 12px}.panel.error{border-color:#f3d4d0;background:#fff6f5;color:var(--danger)}.panel.loading{color:var(--ink-soft);border-color:var(--line);background:#fbfcff}.panel.info{border-color:#cfe3db;background:#f3faf7;color:#23483c}.document-wrap{display:grid;gap:14px}.document-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:14px}.document-heading h2{margin:3px 0 0;font-size:1.45rem}.amount-due{min-width:180px;text-align:right}.amount-due strong{display:block;font-size:1.55rem}.line-items{display:grid;gap:8px}.line-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px;background:#fbfcff}.line-item strong,.line-item span{display:block}.line-item span{margin-top:3px;color:var(--ink-soft);font-size:13px}.line-item-numbers{text-align:right;white-space:nowrap}.totals{display:grid;gap:8px;margin:0 0 0 auto;width:min(100%,300px)}.totals div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:8px}.totals div:last-child{border-bottom:0;padding-bottom:0}.totals dt{color:var(--ink-soft)}.totals dd{margin:0;font-weight:700}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.recipient-note{margin:0;color:var(--ink-soft);font-size:13px}.build-stamp{position:fixed;left:12px;bottom:12px;z-index:20;max-width:calc(100vw - 24px);color:#d1d5db;font-size:11px;pointer-events:none}.build-stamp-trigger{pointer-events:auto;max-width:min(23rem,calc(100vw - 24px));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid rgba(21,33,61,.14);border-radius:6px;background:#15213ddb;color:inherit;padding:4px 7px;font:inherit;line-height:1.2;cursor:pointer;box-shadow:0 4px 14px #15213d29}.build-stamp-panel{pointer-events:auto;width:min(25rem,calc(100vw - 24px));margin-top:6px;padding:9px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#15213df5;box-shadow:0 10px 26px #15213d3d}.build-stamp-row{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:8px;align-items:baseline;padding:3px 0}.build-stamp-row span{color:#aeb8cc}.build-stamp-row strong{color:#fff;font-weight:600;overflow-wrap:anywhere}.build-stamp-row strong.muted{color:#aeb8cc;font-weight:400}@media(max-width:720px){.shell{padding:0}.card{border-left:0;border-right:0;border-radius:0;min-height:100dvh}.facts-grid,.line-item{grid-template-columns:1fr}.document-heading{display:grid}.amount-due,.line-item-numbers{min-width:0;text-align:left}.actions .btn{width:100%}}@media(max-width:480px){.build-stamp{position:static;left:auto;bottom:auto;z-index:auto;max-width:calc(100% - 24px);margin:12px}.build-stamp-trigger,.build-stamp-panel{width:100%;max-width:none}}
