@layer components{:where(a.btn,button.btn){appearance:none;-webkit-appearance:none;margin:0;background:none;color:inherit;font:inherit;text-align:center}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding-block:var(--space-sm);padding-inline:var(--space-lg);font-family:var(--font-body);font-size:.9375rem;font-weight:600;line-height:1.4;text-decoration:none;border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;overflow:hidden;transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}.btn:after{content:"";position:absolute;inset-block:0;width:60%;background:linear-gradient(105deg,transparent 20%,oklch(from var(--color-neutral-100) l c h / .12) 45%,oklch(from var(--color-neutral-100) l c h / .2) 50%,oklch(from var(--color-neutral-100) l c h / .12) 55%,transparent 80%);translate:-120% 0;pointer-events:none;transition:none}.btn:hover:not(:disabled):after{animation:btn-shimmer .6s cubic-bezier(.22,1,.36,1) forwards}@keyframes btn-shimmer{to{translate:120% 0}}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-sm{padding-block:var(--space-xs);padding-inline:var(--space-md);font-size:.8125rem}.btn-lg{padding-block:var(--space-md);padding-inline:var(--space-xl);font-size:1.0625rem}.btn-hero{padding-block:var(--space-md);padding-inline:var(--space-2xl);font-size:1.1rem;border-radius:var(--radius-lg)}.btn-filled{background-color:var(--color-primary);color:oklch(from var(--color-primary) 15% .02 h)}.btn-filled:hover:not(:disabled){background-color:var(--color-primary-300);transform:translateY(-1px) scale(1.02);box-shadow:0 6px 20px oklch(from var(--color-primary) l c h / .3)}.btn-filled.btn-secondary{background-color:var(--color-secondary);color:oklch(from var(--color-secondary) 15% .02 h)}.btn-filled.btn-secondary:hover:not(:disabled){background-color:var(--color-secondary-300);transform:translateY(-1px) scale(1.02);box-shadow:0 6px 20px oklch(from var(--color-secondary) l c h / .3)}.btn-outline{background-color:transparent;border-color:var(--color-primary);color:var(--color-primary)}.btn-outline:hover:not(:disabled){background-color:oklch(from var(--color-primary) l c h / .1);border-color:var(--color-primary-300);color:var(--color-primary-300);transform:translateY(-1px);box-shadow:0 4px 16px oklch(from var(--color-primary) l c h / .15)}.btn-outline.btn-secondary{border-color:var(--color-secondary);color:var(--color-secondary)}.btn-outline.btn-secondary:hover:not(:disabled){background-color:oklch(from var(--color-secondary) l c h / .1);border-color:var(--color-secondary-300);color:var(--color-secondary-300)}.btn-text{background:none;border:none;padding:0;color:var(--color-primary);font-weight:500;text-decoration:none}.btn-text:hover:not(:disabled){text-decoration:underline;text-underline-offset:3px;color:var(--color-primary-300)}@media(max-width:640px){.btn-hero{padding-block:.875rem;padding-inline:var(--space-lg);font-size:.9375rem}}.badge{display:inline-flex;align-items:center;gap:var(--space-xs);inline-size:fit-content;min-height:1.65rem;padding:.3rem .78rem;font-size:.8125rem;font-weight:700;line-height:1;letter-spacing:.01em;border:1px solid transparent;border-radius:var(--radius-full);white-space:nowrap;box-shadow:inset 0 1px oklch(from var(--color-neutral-100) l c h / .06)}.badge-filled{background:linear-gradient(160deg,var(--color-primary-300) 0%,var(--color-primary) 100%);border-color:oklch(from var(--color-primary) l c h / .4);color:oklch(from var(--color-primary) 15% .02 h);box-shadow:0 8px 18px oklch(from var(--color-primary) 22% .07 h / .35),inset 0 1px oklch(from var(--color-neutral-100) l c h / .13)}.badge-filled.badge-secondary{background:linear-gradient(160deg,var(--color-secondary-300) 0%,var(--color-secondary) 100%);border-color:oklch(from var(--color-secondary) l c h / .4);color:oklch(from var(--color-secondary) 15% .02 h);box-shadow:0 8px 18px oklch(from var(--color-secondary) 24% .07 h / .35),inset 0 1px oklch(from var(--color-neutral-100) l c h / .13)}.badge-filled.badge-neutral{background-color:var(--color-neutral-700);border-color:oklch(from var(--color-neutral-300) l c h / .3);color:var(--color-text);box-shadow:inset 0 1px oklch(from var(--color-neutral-100) l c h / .07)}.badge-soft{background:linear-gradient(180deg,oklch(from var(--color-primary) l c h / .18),oklch(from var(--color-primary) l c h / .11));border-color:oklch(from var(--color-primary) l c h / .28);color:var(--color-primary-200)}.badge-soft.badge-secondary{background:linear-gradient(180deg,oklch(from var(--color-secondary) l c h / .18),oklch(from var(--color-secondary) l c h / .11));border-color:oklch(from var(--color-secondary) l c h / .28);color:var(--color-secondary-200)}.badge-soft.badge-neutral{background-color:oklch(from var(--color-neutral-800) l c h / .9);border-color:oklch(from var(--color-neutral-300) l c h / .2);color:var(--color-neutral-200)}.badge-outline{background-color:oklch(from var(--color-primary) l c h / .03);border:1px solid var(--color-primary);color:var(--color-primary)}.badge-outline.badge-secondary{border-color:var(--color-secondary);color:var(--color-secondary)}.badge-outline.badge-neutral{border-color:var(--color-border);color:var(--color-text-muted)}.badge-sm{min-height:1.5rem;padding:.24rem .66rem;font-size:.75rem}.card{background-color:var(--color-surface-hover);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-lg)}.surface-panel{background-color:var(--color-surface-hover);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg)}.card-hover{transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.card-hover:hover{border-color:var(--color-border);box-shadow:0 4px 20px oklch(from var(--color-primary) 20% .05 h / .3)}:where(.content-card,.featured-content-card,.learning-path-card):after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(105deg,transparent 40%,oklch(from var(--color-neutral-100) l c h / .04) 48%,oklch(from var(--color-neutral-100) l c h / .07) 50%,oklch(from var(--color-neutral-100) l c h / .04) 52%,transparent 60%);translate:-120% 0;pointer-events:none}:where(.content-card,.featured-content-card,.learning-path-card):hover:after{animation:card-shine .8s cubic-bezier(.22,1,.36,1) forwards}@keyframes card-shine{to{translate:120% 0}}@media(prefers-reduced-motion:reduce){:where(.content-card,.featured-content-card,.learning-path-card):after{display:none}}.icon-feature-card{position:relative;overflow:hidden;isolation:isolate;min-height:12rem;padding-block-end:1.5rem;border-color:var(--color-border-subtle);background-color:var(--color-surface-elevated)}.icon-feature-card>:is(h3,.icon-feature-card-description){position:relative;z-index:1;max-width:min(78%,18rem)}.icon-feature-card[data-has-icon-media=false]>:is(h3,.icon-feature-card-description){max-width:none}.icon-feature-card h3{margin-bottom:var(--space-sm);color:var(--color-primary)}.icon-feature-card-description{color:var(--color-text-muted);font-size:.9375rem;line-height:1.6}.icon-feature-card-description :where(p){margin:0}.icon-feature-card-description :where(p+p){margin-top:var(--space-xs)}.icon-feature-card-icon{position:absolute;inset-inline-end:-.35rem;inset-block-end:-.5rem;width:clamp(5rem,7.3vw,6.25rem);height:auto;object-fit:contain;opacity:.5;pointer-events:none;z-index:0;filter:saturate(1.05);transform:translate(8%,8%);transition:transform var(--transition-base),opacity var(--transition-base)}.icon-feature-card-slot{position:absolute;inset-inline-end:-.15rem;inset-block-end:-.35rem;width:clamp(3.2rem,5.5vw,4rem);height:clamp(3.2rem,5.5vw,4rem);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);border:1px solid oklch(from var(--color-primary) l c h / .28);background:linear-gradient(165deg,oklch(from var(--color-primary) l c h / .2),oklch(from var(--color-secondary) l c h / .15));font-size:clamp(1.35rem,2.4vw,1.75rem);line-height:1;opacity:.96;pointer-events:none;z-index:0;transform:translate(6%,6%);transition:transform var(--transition-base),opacity var(--transition-base)}.icon-feature-card:hover .icon-feature-card-icon{transform:translate(4%,4%);opacity:.44}.icon-feature-card:hover .icon-feature-card-slot{transform:translate(4%,4%);opacity:.9}@media(max-width:640px){.icon-feature-card{min-height:auto;padding-bottom:1.25rem}.icon-feature-card>:is(h3,.icon-feature-card-description){max-width:min(76%,18rem)}.icon-feature-card-icon{width:4.9rem;right:-.45rem;bottom:-.55rem;transform:translate(6%,8%)}.icon-feature-card-slot{width:3rem;height:3rem;right:-.25rem;bottom:-.4rem;font-size:1.3rem}}.page-stack{--page-section-space: var(--space-2xl);--page-content-gap: var(--space-lg);min-height:100dvh}.page-stack-rhythm-relaxed{--page-section-space-start: clamp(3.25rem, 6vw, 5.25rem);--page-section-space-stack-start: clamp(1.75rem, 3.5vw, 3rem);--page-section-space-end: clamp(2.25rem, 4.5vw, 3.5rem)}.page-stack-rhythm-roomy{--page-section-space-start: clamp(3.5rem, 6.25vw, 5.5rem);--page-section-space-stack-start: clamp(2.25rem, 4.25vw, 3.5rem);--page-section-space-end: clamp(2.5rem, 4.75vw, 3.75rem)}.page-stack-rhythm-legal{--page-section-space-start: clamp(2.5rem, 4.5vw, 3.5rem);--page-section-space-stack-start: clamp(1.5rem, 3vw, 2rem);--page-section-space-end: clamp(1.75rem, 3vw, 2.5rem)}.page-section{padding-block-start:var(--page-section-space-start, var(--page-section-space));padding-block-end:var(--page-section-space-end, var(--page-section-space))}.page-stack>:where(.page-hero,.page-section,.newsletter-section)+:where(.page-hero,.page-section,.newsletter-section){padding-block-start:var( --page-section-space-stack-start, var(--page-section-space-start, var(--page-section-space)) )}.list-reset{margin:0;padding:0;list-style:none}.section-flow{display:grid;gap:var(--page-content-gap)}.metadata-badge-list{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.page-stack .section-heading{margin-bottom:0}.page-stack .page-hero,.page-stack .newsletter-section{padding-block-start:var(--page-section-space-start, var(--page-section-space));padding-block-end:var(--page-section-space-end, var(--page-section-space))}@media(max-width:1024px){.page-stack{--page-section-space: var(--space-3xl);--page-content-gap: var(--space-xl)}}@media(max-width:640px){.page-stack{--page-section-space: var(--space-2xl);--page-content-gap: var(--space-lg)}}.page-hero{padding-block:var(--space-3xl);text-align:center}.page-hero h1{font-size:clamp(2rem,5vw,3rem);background:linear-gradient(135deg,var(--color-text) 0%,var(--color-primary) 50%,var(--color-secondary) 100%);background-clip:text;-webkit-background-clip:text;color:transparent;margin-block-end:var(--space-md)}.page-hero-description{max-width:min(100%,38rem);margin-inline:auto;font-size:1.125rem;color:var(--color-text-muted)}.section-kicker{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-secondary-300)}.section-heading{text-align:center;margin-block-end:var(--space-xl)}.section-heading h2{font-size:2rem;margin-block-end:var(--space-sm)}.section-heading p{color:var(--color-text-muted);max-width:min(100%,38rem);margin-inline:auto}.section-heading-left{text-align:start}.catalog-section-title{font-size:clamp(1.6rem,3.2vw,2.25rem);margin-bottom:0}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:var(--space-lg)}.catalog-grid>li{display:flex}.catalog-grid>li>*{flex:1}.catalog-empty{text-align:center;padding-block:var(--space-2xl);padding-inline:var(--space-lg);color:var(--color-text-muted)}.catalog-toggle{display:flex;justify-content:center}.catalog-featured-with-sidebar{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-lg);align-items:stretch}.catalog-featured-sidebar{display:flex;min-height:0}.catalog-featured-sidebar>*{flex:1}@media(max-width:1024px){.catalog-featured-with-sidebar{grid-template-columns:1fr}}.page-not-found{min-height:100dvh;display:flex;align-items:center;justify-content:center;text-align:center;padding-block:var(--space-xl)}.page-not-found-title{font-size:2rem;margin-block-end:var(--space-md)}.page-not-found-message{color:var(--color-text-muted);margin-block-end:var(--space-xl)}.newsletter-section{padding-block:var(--space-3xl)}.newsletter-content{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-md)}.newsletter-section h2{font-size:2rem}.newsletter-content>p{color:var(--color-text-muted);max-width:500px}.newsletter-form{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-sm);margin-block-start:var(--space-md);width:100%;max-width:min(100%,28rem)}.newsletter-form>*{width:100%}.newsletter-input{flex:1;padding-block:var(--space-sm);padding-inline:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);font-size:.9375rem}.newsletter-input::placeholder{color:var(--color-text-muted)}.newsletter-input:focus{outline:2px solid var(--color-primary);outline-offset:2px;border-color:var(--color-primary)}.newsletter-feedback{width:100%;max-width:min(100%,28rem);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);font-size:.9375rem}.newsletter-feedback-success{color:var(--color-neutral-100);background:oklch(from var(--color-secondary) l c h / .12);border-color:oklch(from var(--color-secondary) l c h / .32)}.newsletter-feedback-error{margin-block-start:var(--space-sm);color:#edc1c0;background:#c5344324;border-color:#dd4d5759}.newsletter-disclaimer{font-size:.8125rem;color:var(--color-neutral-500)}}
