:root{--font-mono:"Roboto Mono", monospace}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;background:#000;font-size:18px;line-height:32px}html,body,#app{height:100%}body{color:#fff;margin:0;font-family:system-ui;font-size:18px;line-height:32px}@media (max-width:1024px){body{font-size:15px;line-height:24px}}img{max-width:100%;height:auto;display:block}h1{margin:40px 0;font-size:64px;font-weight:700;line-height:70px}@media (max-width:1024px){h1{margin:24px 0;font-size:42px;line-height:42px}}@media (max-width:768px){h1{font-size:38px;line-height:38px}}@media (max-width:400px){h1{font-size:32px;line-height:32px}}p{margin:24px 0}@media (max-width:1024px){p{margin:calc(var(--base) * .75) 0}}a{color:currentColor}a:focus{opacity:.8;outline:none}a:active{opacity:.7;outline:none}svg{vertical-align:middle}.storefront{--brand:#1f3d2b;color:#122018;background:#f7f4ee;flex-direction:column;min-height:100%;display:flex}.storefront a{color:var(--brand)}.storefront-header,.storefront-body,.storefront-footer{width:min(960px,100% - 32px);margin:0 auto}.storefront-header{border-bottom:1px solid color-mix(in srgb, var(--brand) 25%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;padding:24px 0;display:flex}.storefront-brand{color:var(--brand);margin:0;font-weight:700}.storefront-nav{flex-wrap:wrap;gap:12px 16px;display:flex}.storefront-nav a{text-decoration:none}.storefront-body{flex:1;padding:16px 0 48px}.storefront h1{margin:16px 0 24px;font-size:clamp(2rem,5vw,3.5rem);line-height:1.1}.storefront-footer{border-top:1px solid color-mix(in srgb, var(--brand) 25%, transparent);padding:24px 0 40px;font-size:15px}.storefront-footer p{margin:0 0 8px}.course-list{gap:16px;margin:0;padding:0;list-style:none;display:grid}.course-list a{border:1px solid color-mix(in srgb, var(--brand) 20%, transparent);background:#fff;border-radius:8px;gap:4px;padding:16px;text-decoration:none;display:grid}.course-list p{margin:0}.storefront-hero h1{color:var(--brand)}.unknown-storefront{width:min(720px,100% - 32px);margin:0 auto;padding:48px 0}.home{flex-direction:column;justify-content:space-between;align-items:center;max-width:1024px;height:100vh;margin:0 auto;padding:45px;display:flex;overflow:hidden}@media (max-width:400px){.home{padding:24px}}.home .content{flex-direction:column;flex-grow:1;justify-content:center;align-items:center;display:flex}.home .content h1{text-align:center}.home .links{align-items:center;gap:12px;display:flex}.home .links a{border-radius:4px;padding:.25rem .5rem;text-decoration:none}.home .links .admin{color:#000;background:#fff;border:1px solid #000}.home .links .docs{color:#fff;background:#000;border:1px solid #fff}.home .footer{align-items:center;gap:8px;display:flex}@media (max-width:1024px){.home .footer{flex-direction:column;gap:6px}}.home .footer p{margin:0}.home .footer .codeLink{background:#3c3c3c;border-radius:4px;padding:0 .5rem;text-decoration:none}.eyebrow{letter-spacing:.04em;text-transform:uppercase;color:color-mix(in srgb, var(--brand) 80%, #122018);margin:0 0 8px;font-size:13px;font-weight:700}.muted{color:#4d5b54;font-size:15px;line-height:1.5}.cta{border:1px solid var(--brand);background:var(--brand);color:#fff;min-height:46px;font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:12px 18px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.cta:disabled{opacity:.65;cursor:wait}.checkoutLayout{grid-template-columns:minmax(260px,.7fr) minmax(320px,1.3fr);align-items:start;gap:24px;display:grid}.checkoutSummary,.checkoutFormPanel{border:1px solid color-mix(in srgb, var(--brand) 20%, transparent);background:#fff;border-radius:8px;padding:24px}.checkoutSummary h1{margin:0 0 12px;font-size:clamp(1.6rem,4vw,2.4rem)}.checkoutSummary p,.checkoutSummary ul{margin-top:0}.checkoutPrice{margin:16px 0;font-size:1.4rem;font-weight:800}.checkoutForm,.singleCheckoutForm,.paymentResult{gap:16px;display:grid}.checkoutPanelHeader{gap:6px;margin-bottom:16px;display:grid}.checkoutPanelHeader h3,.checkoutPanelHeader p,.checkoutStepHeader h4,.checkoutStepHeader p,.paymentResult p{margin:0}.checkoutStep{gap:16px;display:grid}.checkoutProgress,.checkoutStepHeader{align-items:center;gap:8px;display:flex}.checkoutProgress span,.checkoutStepHeader>span{border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:800;display:inline-flex}.checkoutProgress span{border:1px solid color-mix(in srgb, var(--brand) 25%, transparent);color:#4d5b54}.checkoutProgress span.isActive,.checkoutStepHeader>span{border-color:var(--brand);background:var(--brand);color:#fff}.checkoutProgress span.isDone{background:color-mix(in srgb, var(--brand) 14%, #fff);color:var(--brand)}.checkoutStepHeader h4{margin:0;font-size:1.2rem}.checkoutStepHeader p,.fieldHint,.formMessage{color:#4d5b54;font-size:14px}.formGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.fieldLabel{gap:6px;font-size:14px;font-weight:700;display:grid}.fieldLabel input{border:1px solid color-mix(in srgb, var(--brand) 25%, transparent);color:#122018;width:100%;font:inherit;background:#fff;border-radius:8px;padding:11px 12px}.fieldLabel input[aria-invalid=true]{border-color:#b42318}.fieldError{color:#b42318;font-size:13px;font-weight:700}.fieldHint{font-size:12px;font-weight:500}.telrFrameShell{border:1px solid color-mix(in srgb, var(--brand) 20%, transparent);border-radius:8px;padding:12px;overflow:hidden}.paymentStage{min-height:272px}.telrParking{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.telrPaymentFrame{border:1px solid color-mix(in srgb, var(--brand) 20%, transparent);background:#fff;border-radius:8px;width:100%;height:min(560px,68vh);min-height:360px}.checkoutPayButton{width:100%}.checkoutActionRow{grid-template-columns:minmax(160px,.42fr) minmax(180px,.58fr);gap:8px;display:grid}.secondaryButton{border:1px solid color-mix(in srgb, var(--brand) 35%, transparent);color:var(--brand);cursor:pointer;font:inherit;background:#fff;border-radius:8px;padding:10px 14px;font-weight:700}.formMessage{margin:0;font-weight:700}.paymentFacts{gap:12px;margin:0;display:grid}.paymentFacts div{gap:2px;display:grid}.paymentFacts dt{color:#4d5b54;font-size:13px}.paymentFacts dd{margin:0;font-weight:700}@media (max-width:800px){.checkoutLayout,.formGrid,.checkoutActionRow{grid-template-columns:1fr}}
