.touch-target{min-width:44px;min-height:44px}.touch-target-lg{min-width:48px;min-height:48px}button,[role=button],a,input[type=checkbox],input[type=radio],select,.clickable{min-height:44px}input[type=checkbox],input[type=radio]{width:20px;height:20px}.skip-link{position:absolute;top:-100%;left:50%;transform:translate(-50%);z-index:9999;padding:var(--space-3, .875rem) var(--space-6, 1.5rem);background:var(--color-primary-600, #4f46e5);color:#fff;font-weight:600;text-decoration:none;border-radius:var(--radius-lg, .875rem);transition:top var(--timing-fast) var(--ease-sharp)}.skip-link:focus{top:var(--space-4, 1rem);outline:3px solid var(--color-primary-300, #a5b4fc);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:focus{position:static;width:auto;height:auto;padding:inherit;margin:inherit;overflow:visible;clip:auto;white-space:normal}:focus-visible{outline:3px solid var(--color-primary-500, #6366f1);outline-offset:2px}:focus:not(:focus-visible){outline:none}.dark :focus-visible,[data-theme=dark] :focus-visible{outline-color:var(--color-primary-300, #a5b4fc)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-smooth: cubic-bezier(.23, 1, .32, 1);--ease-snappy: cubic-bezier(.19, 1, .22, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--duration-slower: .6s}.stagger-container>*{opacity:0;animation:stagger-fade-in var(--duration-normal) var(--ease-out) forwards}.stagger-container>*:nth-child(1){animation-delay:0ms}.stagger-container>*:nth-child(2){animation-delay:50ms}.stagger-container>*:nth-child(3){animation-delay:.1s}.stagger-container>*:nth-child(4){animation-delay:.15s}.stagger-container>*:nth-child(5){animation-delay:.2s}.stagger-container>*:nth-child(6){animation-delay:.25s}.stagger-container>*:nth-child(7){animation-delay:.3s}.stagger-container>*:nth-child(8){animation-delay:.35s}.stagger-container>*:nth-child(9){animation-delay:.4s}.stagger-container>*:nth-child(10){animation-delay:.45s}@keyframes stagger-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stagger-left>*{opacity:0;animation:stagger-slide-left var(--duration-normal) var(--ease-out) forwards}@keyframes stagger-slide-left{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.stagger-scale>*{opacity:0;animation:stagger-scale-in var(--duration-normal) var(--ease-spring) forwards}@keyframes stagger-scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.btn{transition:background-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(.98)}.btn:focus-visible{box-shadow:0 0 0 3px var(--color-primary-200, #c7d2fe)}.btn-press:active{transform:scale(.95);transition-duration:calc(var(--timing-fast) / 3)}.card-hover{transition:transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.card-hover:hover{transform:translateY(-4px);box-shadow:0 12px 24px -8px #00000026,0 4px 8px -4px #0000001a}.card-lift{transition:transform var(--duration-normal) var(--ease-smooth),box-shadow var(--duration-normal) var(--ease-smooth)}.card-lift:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px -12px #0003,0 8px 16px -8px #0000001a}.card-glow:hover{box-shadow:0 0 20px #6366f14d,0 8px 24px #00000026}.scroll-indicator{position:absolute;bottom:var(--space-6, 1.5rem);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-2, .5rem);color:var(--color-neutral-500, #6b7280);animation:bounce-down 2s infinite}@keyframes bounce-down{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(10px)}60%{transform:translate(-50%) translateY(5px)}}.scroll-mouse{width:24px;height:40px;border:2px solid currentColor;border-radius:var(--radius-lg);position:relative}.scroll-mouse:before{content:"";position:absolute;top:8px;left:50%;width:4px;height:8px;background:currentColor;border-radius:calc(var(--radius-sm) / 2);transform:translate(-50%);animation:scroll-wheel 1.5s infinite}@keyframes scroll-wheel{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(12px)}}:root{color-scheme:light dark}.dark,[data-theme=dark]{--color-bg: var(--color-neutral-900, #111827);--color-bg-secondary: var(--color-neutral-800, #1f2937);--color-text: var(--color-neutral-100, #f3f4f6);--color-text-secondary: var(--color-neutral-300, #d1d5db);--color-border: var(--color-neutral-700, #374151)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg: var(--color-neutral-900, #111827);--color-bg-secondary: var(--color-neutral-800, #1f2937);--color-text: var(--color-neutral-100, #f3f4f6);--color-text-secondary: var(--color-neutral-300, #d1d5db);--color-border: var(--color-neutral-700, #374151)}}.group-tight{gap:var(--space-1, .25rem)}.group-normal{gap:var(--space-4, 1rem)}.group-loose{gap:var(--space-8, 2rem)}.group-separate{gap:var(--space-12, 3rem)}.section-tight{padding-block:var(--space-8, 2rem)}.section-normal{padding-block:var(--space-16, 4rem)}.section-loose{padding-block:var(--space-24, 6rem)}.emphasis-high{font-weight:700;font-size:var(--font-size-xl)}.emphasis-medium{font-weight:600}.emphasis-low{font-weight:400;color:var(--color-text-secondary, #6b7280)}.contrast-high{color:var(--color-neutral-900, #111827)}.contrast-medium{color:var(--color-neutral-700, #374151)}.contrast-low{color:var(--color-neutral-500, #6b7280)}:root{--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .875rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem}.status-success:before{content:"✓ "}.status-error:before{content:"✗ "}.status-warning:before{content:"⚠ "}.status-info:before{content:"ℹ "}.pattern-stripes{background-image:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(0,0,0,.05) 4px,rgba(0,0,0,.05) 8px)}.pattern-dots{background-image:radial-gradient(circle,rgba(0,0,0,.1) 1px,transparent 1px);background-size:8px 8px}.form-field{position:relative}.form-field.is-valid .form-input{border-color:var(--color-success-500, #22c55e)}.form-field.is-valid:after{content:"✓";position:absolute;right:var(--space-4, 1rem);top:50%;transform:translateY(-50%);color:var(--color-success-500, #22c55e)}.form-field.is-invalid .form-input{border-color:var(--color-error-500, #ef4444)}.form-field .error-message{display:none;margin-top:var(--space-1, .25rem);font-size:var(--text-sm, .875rem);color:var(--color-error-600, #dc2626)}.form-field.is-invalid .error-message{display:block}.skip-link[data-astro-cid-kliz6zdp]:focus{position:fixed;width:auto;height:auto;clip:auto;clip-path:none}@media(prefers-reduced-motion:reduce){.scroll-progress-bar[data-astro-cid-qfk2msa3]{transition:none}.animate-bounce[data-astro-cid-qfk2msa3]{animation:none}}
