/* The public site has its own light palette; learning workspace styles remain scoped to its existing UI. */
body.landing-active { background:#fff; color:#202222; }
.landing-active > header { background:rgba(255,255,255,.96); border-color:transparent; backdrop-filter:blur(16px); }
.landing-active > header > div { max-width:1168px; padding:24px; }
.landing-active header a .text-white { color:#202222; }
.landing-active header a .certa-gradient { background:hsl(340 78.0% 44.0%); box-shadow:none; }
.landing-active header a .certa-gradient svg { color:white; }
.landing-active header a .rounded-full.text-\[10px\] { display:none; }
.landing-active #landingNavLinks { color:#45494f; font-size:12px; gap:27px; }
.landing-active #landingNavLinks a:hover { color:hsl(340 78.0% 44.0%); }
.landing-active #navStartBtn { background:hsl(340 78.0% 44.0%); box-shadow:none; border-radius:9px; font-size:12px; padding:13px 19px; }
.landing-active #navStartBtn > svg { display:none; }
#landingView { --brand-accent:hsl(340 78.0% 44.0%); --ink:#202222; --muted:#72777e; color:var(--ink); background:white; font-size:14px; }
#landingView .lp-wrap { width:min(1120px,calc(100% - 64px)); margin-inline:auto; }
#landingView .lp-eyebrow { font-size:10px; font-weight:600; letter-spacing:1.1px; line-height:1.7; }
#landingView h1,#landingView h2,#landingView h3 { font-weight:600; }
#landingView h1 { font-size:clamp(42px,5.1vw,68px); letter-spacing:-3.5px; line-height:1.13; margin:24px 0 28px; position:relative; }
#landingView h1 > span:not(.lp-spark),#landingView h2 span { color:var(--brand-accent); }
#landingView h2 { font-size:clamp(32px,3.5vw,45px); line-height:1.16; letter-spacing:-1.9px; }
#landingView h3 { font-size:17px; letter-spacing:-.45px; }
#landingView p { margin:0; }
#landingView .lp-hero { padding-top:66px; }
#landingView .lp-spark { position:absolute; right:25px; top:0; color:var(--brand-accent); font-size:144px; line-height:1; font-weight:400; }
#landingView .lp-hero-bottom { display:flex; justify-content:space-between; gap:48px; align-items:center; }
#landingView .lp-hero-bottom > p { max-width:490px; line-height:1.85; color:var(--muted); }
#landingView .lp-hero-actions { display:grid; gap:13px; }
#landingView .lp-button { background:var(--brand-accent); color:#fff; padding:16px 23px; border-radius:9px; font-weight:500; font-size:13px; display:inline-flex; align-items:center; justify-content:space-between; gap:34px; transition:background .2s,transform .2s; }
#landingView .lp-button:hover { background:hsl(340 78.0% 37.0%); transform:translateY(-2px); }
#landingView .lp-button span { font-size:21px; line-height:1; }
#landingView .lp-note { font-size:11px; color:var(--muted); line-height:1.7; }
#landingView .lp-preview { display:grid; grid-template-columns:.65fr 1fr 1.35fr; gap:22px; margin-top:56px; padding:28px; background:hsl(340 46.7% 97.1%); border-radius:14px; }
#landingView .lp-preview-aside { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:24px; padding:10px; }
#landingView .lp-preview-aside .lp-eyebrow { color:hsl(340 11.8% 49.8%); font-size:9px; }
#landingView .lp-circle { display:grid; place-items:center; width:75px; height:75px; border-radius:50%; background:var(--brand-accent); color:white; font-size:43px; font-weight:300; outline:1px solid hsl(340 100.0% 83.1%); outline-offset:8px; margin:8px; }
#landingView .lp-study-card,#landingView .lp-challenge-card { padding:24px; border-radius:12px; background:white; }
#landingView .lp-card-top { display:flex; align-items:center; gap:8px; font-size:8px; letter-spacing:.4px; font-weight:600; }
#landingView .lp-card-top > :last-child { margin-left:auto; }
#landingView .lp-card-top .lp-icon { width:27px; height:27px; font-size:20px; border-radius:7px; }
#landingView .lp-study-card h3,#landingView .lp-challenge-card h3 { font-size:29px; line-height:1.15; letter-spacing:-1px; margin:20px 0 12px; }
#landingView .lp-study-card > p { font-size:11px; color:var(--muted); line-height:1.6; margin-bottom:18px; }
#landingView .lp-chapter { display:flex; gap:12px; align-items:center; padding:12px 8px; border-top:1px solid hsl(340 18.5% 94.7%); font-size:10px; }
#landingView .lp-chapter span { color:var(--brand-accent); font-size:9px; } #landingView .lp-chapter b { margin-left:auto; }
#landingView .muted { color:#8d949c; }
#landingView .lp-challenge-card { background:var(--brand-accent); color:white; }
#landingView .lp-dot { width:6px; height:6px; background:hsl(340 100.0% 83.1%); border-radius:50%; }
#landingView .lp-challenge-card > p { font-size:14px; line-height:1.65; color:hsl(340 100.0% 94.3%); max-width:310px; }
#landingView .lp-answer { margin-top:20px; padding:14px 12px; background:#fff; color:hsl(340 65.3% 44.1%); border-radius:8px; font-size:11px; line-height:1.7; display:flex; gap:9px; }
#landingView .lp-card-bottom { display:flex; justify-content:space-between; align-items:center; margin-top:19px; font-size:9px; color:hsl(340 100.0% 92.4%); }
#landingView .lp-tracks { display:flex; justify-content:space-between; flex-wrap:wrap; gap:15px; padding:30px 0; border-bottom:1px solid hsl(340 20.0% 94.1%); scroll-margin-top:100px; }
#landingView .lp-tracks button { display:flex; align-items:center; gap:9px; font-size:11px; color:hsl(340 9.1% 36.7%); padding:8px; border-radius:7px; }
#landingView .lp-tracks button:hover { background:hsl(340 100.0% 96.5%); color:var(--brand-accent); }
#landingView .lp-tracks span { color:var(--brand-accent); background:hsl(340 88.2% 96.7%); width:24px; height:24px; border-radius:50%; display:grid; place-items:center; font-size:14px; }
#landingView section[id] { scroll-margin-top:100px; }
#landingView .lp-features { padding-top:88px; }
#landingView .lp-section-title { text-align:center; margin-bottom:42px; }
#landingView .lp-section-title h2 { margin-top:17px; }
#landingView .lp-feature { display:grid; grid-template-columns:64px 1fr 62px; align-items:center; gap:28px; padding:29px 0; border-bottom:1px solid hsl(340 17.9% 92.4%); width:100%; text-align:left; }
#landingView .lp-icon { width:58px; height:58px; display:grid; place-items:center; background:hsl(340 68.4% 96.3%); color:var(--brand-accent); border-radius:13px; font-size:29px; flex-shrink:0; }
#landingView .lp-feature p { max-width:700px; font-size:12px; line-height:1.8; margin-top:8px; color:var(--muted); }
#landingView .lp-arrow { border-radius:50%; width:54px; height:54px; display:grid; place-items:center; font-size:30px; background:var(--brand-accent); color:white; font-weight:300; transition:transform .2s; }
#landingView .lp-feature:hover .lp-arrow { transform:rotate(-45deg); }
#landingView .featured { margin-top:22px; padding:28px; border-radius:12px; background:var(--brand-accent); color:white; border:0; }
#landingView .featured p { color:hsl(340 100.0% 91.2%); } #landingView .featured .lp-arrow { background:white; color:var(--brand-accent); }
#landingView .lp-steps { padding-block:90px; border-bottom:1px solid hsl(340 17.9% 92.4%); }
#landingView .lp-split-heading { display:flex; justify-content:space-between; gap:40px; align-items:center; }
#landingView .lp-split-heading > p { font-size:12px; line-height:1.8; color:var(--muted); max-width:340px; }
#landingView .lp-steps-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:35px; margin-top:44px; }
#landingView .lp-steps-grid article { display:flex; gap:18px; }
#landingView .lp-steps-grid .lp-icon { width:48px; height:48px; font-size:17px; font-weight:600; }
#landingView .lp-steps-grid h3 { font-size:13px; margin-bottom:8px; }
#landingView .lp-steps-grid p { font-size:11px; color:var(--muted); line-height:1.8; }
#landingView .lp-approach { display:grid; grid-template-columns:.9fr 1fr; gap:95px; padding-block:90px; align-items:center; }
#landingView .lp-quote-art { background:hsl(340 100.0% 96.3%); border-radius:14px; padding:35px; min-height:470px; display:flex; flex-direction:column; position:relative; overflow:hidden; }
#landingView .lp-large-spark { font-size:170px; color:var(--brand-accent); line-height:1.2; align-self:flex-end; }
#landingView .lp-quote-art > p { font-size:38px; font-weight:500; letter-spacing:-1.6px; line-height:1.2; margin-top:8px; }
#landingView .lp-quote-art em { font-style:normal; color:var(--brand-accent); }
#landingView .lp-quote-art .lp-note { margin-top:30px; }
#landingView .lp-approach-copy h2 { margin:18px 0; font-size:38px; }
#landingView .lp-approach-copy > p:not(.lp-eyebrow) { color:var(--muted); font-size:12px; line-height:1.9; }
#landingView .lp-principle { display:flex; gap:20px; margin-top:25px; }
#landingView .lp-principle > span { color:var(--brand-accent); font-size:11px; padding-top:3px; }
#landingView .lp-principle h3 { font-size:14px; } #landingView .lp-principle p { font-size:11px; color:var(--muted); margin-top:7px; line-height:1.7; }
#landingView .lp-text-link { display:inline-block; color:var(--brand-accent); font-size:12px; margin-top:28px; }
#landingView .lp-cta { border-top:1px solid hsl(340 17.9% 92.4%); padding-block:66px 82px; display:flex; justify-content:space-between; align-items:center; gap:30px; }
#landingView .lp-cta h2 { margin-top:16px; } #landingView .lp-cta .lp-note { margin-top:15px; text-align:center; }
#landingView .lp-footer { background:var(--brand-accent); color:white; text-align:center; padding:48px 24px 30px; }
#landingView .lp-footer-brand { font-size:27px; font-weight:600; letter-spacing:-1px; }
#landingView .lp-footer > div { display:flex; justify-content:center; gap:35px; margin:30px 0; font-size:11px; }
#landingView .lp-footer p { font-size:10px; color:hsl(340 100.0% 85.3%); }
#landingView a:focus-visible,#landingView button:focus-visible { outline:3px solid hsl(340 100.0% 76.1%); outline-offset:5px; }
@media(max-width:1000px) { .landing-active #landingNavLinks { gap:16px; } #landingView .lp-spark { font-size:100px; right:0; top:20px; } #landingView .lp-preview { grid-template-columns:1fr 1.3fr; } #landingView .lp-preview-aside { display:none; } #landingView .lp-approach { gap:40px; } #landingView .lp-steps-grid { gap:20px; } }
@media(max-width:767px) { .landing-active #landingNavLinks { display:none; } #landingView .lp-wrap { width:calc(100% - 40px); } #landingView .lp-hero { padding-top:40px; } #landingView h1 { letter-spacing:-2px; font-size:42px; } #landingView .lp-spark { display:none; } #landingView .lp-hero-bottom { flex-direction:column-reverse; align-items:flex-start; gap:24px; } #landingView .lp-hero-bottom > p { font-size:13px; } #landingView .lp-preview { gap:14px; padding:14px; margin-top:36px; } #landingView .lp-study-card,#landingView .lp-challenge-card { padding:18px; } #landingView .lp-preview { grid-template-columns:1fr; } #landingView .lp-study-card { display:none; } #landingView .lp-challenge-card > p { max-width:none; } #landingView .lp-tracks { justify-content:flex-start; gap:7px; } #landingView .lp-tracks button { width:calc(50% - 4px); } #landingView .lp-features { padding-top:55px; } #landingView .lp-feature { grid-template-columns:43px 1fr 32px; gap:14px; padding:24px 0; } #landingView .lp-icon { width:42px; height:42px; font-size:22px; border-radius:9px; } #landingView .lp-arrow { width:32px; height:32px; font-size:22px; } #landingView .lp-feature h3 { font-size:15px; } #landingView .lp-feature p { font-size:11px; } #landingView .featured { padding:22px 14px; } #landingView .lp-split-heading { display:block; } #landingView .lp-split-heading > p { margin-top:20px; } #landingView .lp-steps { padding-block:55px; } #landingView .lp-steps-grid { grid-template-columns:1fr; gap:27px; margin-top:30px; } #landingView .lp-approach { grid-template-columns:1fr; padding-block:55px; gap:35px; } #landingView .lp-quote-art { min-height:360px; } #landingView .lp-large-spark { font-size:110px; } #landingView .lp-approach-copy h2 { font-size:34px; } #landingView .lp-cta { flex-direction:column; align-items:flex-start; padding-block:45px 55px; } #landingView .lp-footer > div { gap:20px; flex-wrap:wrap; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto!important; } #landingView * { transition:none!important; } }

/* Signup uses the same calm, light palette as the public page. */
#creditClaimModal { background:rgba(30,25,28,.38); backdrop-filter:blur(5px); overflow-y:auto; color:#202222; }
.claim-panel { position:relative; width:100%; max-width:440px; max-height:calc(100dvh - 32px); overflow-y:auto; background:#fff; border:1px solid hsl(340 35.3% 93.3%); border-radius:20px; padding:36px; box-shadow:0 24px 90px rgba(30,25,28,.16); }
.claim-close { position:absolute; top:13px; right:13px; width:36px; height:36px; border-radius:50%; color:#717986; font-size:26px; line-height:1; }
.claim-close:hover { background:hsl(340 47.4% 96.3%); color:#202222; }
.claim-icon { display:grid; place-items:center; width:48px; height:48px; margin-bottom:25px; border-radius:12px; background:hsl(340 100.0% 96.5%); color:hsl(340 78.0% 44.0%); font-size:29px; }
.claim-eyebrow { margin:0 0 10px; font-size:10px; font-weight:600; letter-spacing:1.3px; color:hsl(340 78.0% 44.0%); }
#claimTitle { font-size:30px; font-weight:600; line-height:1.15; letter-spacing:-1.2px; margin:0 0 12px; }
.claim-description { font-size:13px; line-height:1.8; color:#72777e; margin:0; }
.claim-field { margin-top:26px; }
.claim-field label { display:block; font-size:12px; font-weight:600; margin-bottom:9px; }
#visitorNameInput { width:100%; background:white; color:#202222; border:1px solid hsl(340 27.3% 89.2%); border-radius:9px; font-family:inherit; font-size:14px; padding:13px 14px; outline:none; }
#visitorNameInput::placeholder { color:hsl(340 10.0% 60.8%); }
#visitorNameInput:focus { border-color:hsl(340 78.0% 44.0%); box-shadow:0 0 0 3px hsl(340 78.0% 44.0% / 0.078); }
#visitorNameInput[aria-invalid="true"] { border-color:#bd3434; }
.claim-error { color:#a52c2c; font-size:12px; margin-top:8px; }
.claim-credit { display:flex; gap:10px; align-items:flex-start; margin:22px 0; padding:14px; background:hsl(340 66.7% 97.6%); border-radius:10px; }
.claim-check { color:hsl(340 78.0% 44.0%); font-size:16px; }
.claim-credit strong { display:block; font-size:12px; font-weight:600; }
.claim-credit p { margin:5px 0 0; color:#72777e; font-size:11px; line-height:1.7; }
.claim-submit { display:flex; align-items:center; justify-content:space-between; width:100%; padding:14px 18px; background:hsl(340 78.0% 44.0%); color:white; font-size:13px; font-weight:500; border-radius:9px; }
.claim-submit span { font-size:21px; line-height:1; }
.claim-submit:hover { background:hsl(340 78.0% 37.0%); }
.claim-panel button:focus-visible { outline:3px solid hsl(340 100.0% 76.1%); outline-offset:3px; }
@media(max-width:480px) { .claim-panel { padding:28px 23px; border-radius:16px; } #claimTitle { font-size:28px; } }
