*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-yellow: #f7d046;--color-yellow-light: #fbedb3;--color-yellow-dark: #d4b23b;--color-charcoal: #353238;--color-cream: #faf8f5;--color-cream-dark: #f3efe9;--color-bg: #ffffff;--color-bg-secondary: #faf8f5;--color-bg-tertiary: #f3efe9;--color-text: #171717;--color-text-secondary: #6b6770;--color-text-muted: #6b6770;--color-text-inverse: #ffffff;--color-primary: #353238;--color-primary-hover: #1a181c;--color-primary-light: #f3efe9;--color-accent: #f7d046;--color-accent-hover: #d4b23b;--color-accent-light: #fbedb3;--color-link: #2563eb;--color-link-hover: #1d4ed8;--color-success: #22c55e;--color-success-light: #f0fdf4;--color-success-text: #166534;--color-warning: #f59e0b;--color-warning-light: #fffbeb;--color-warning-text: #92400e;--color-danger: #dc2626;--color-danger-light: #fef2f2;--color-danger-text: #991b1b;--color-border: #e5e2e9;--color-border-hover: #d8d5db;--font-heading: var(--font-fraunces), Georgia, serif;--font-body: var(--font-dm-sans), system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;--max-width: 1390px;--spacing-container: clamp(1.25rem, 5vw, 4rem);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgb(53 50 56 / .04);--shadow-sm: 0 2px 4px rgb(53 50 56 / .06);--shadow-md: 0 4px 12px rgb(53 50 56 / .08);--shadow-lg: 0 8px 24px rgb(53 50 56 / .1);--shadow-glow: 0 0 40px rgb(247 208 70 / .3);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1)}html{font-size:17px;scroll-behavior:smooth}@media(min-width:768px){html{font-size:18px}}body{font-family:var(--font-body);font-weight:400;color:var(--color-text);background:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-link-hover);text-decoration:underline;text-decoration-color:var(--color-accent);text-underline-offset:3px;text-decoration-thickness:2px}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700;line-height:1.15;letter-spacing:-.015em;color:var(--color-charcoal);text-wrap:balance}h5,h6{font-family:var(--font-body);font-weight:600;line-height:1.3;color:var(--color-charcoal)}h1{font-size:clamp(2rem,5vw,3rem)}h2{font-size:clamp(1.5rem,3.5vw,2.25rem)}h3{font-size:clamp(1.25rem,2.5vw,1.5rem)}h4{font-size:1.125rem}::selection{background:var(--color-yellow-light);color:var(--color-text)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}button,.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}button:hover,.btn:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-sm)}.btn-primary{background:var(--color-charcoal);color:var(--color-text-inverse);border-color:var(--color-charcoal)}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-accent{background:var(--color-yellow);color:var(--color-charcoal);border-color:var(--color-yellow);font-weight:600}.btn-accent:hover{background:var(--color-yellow-dark);border-color:var(--color-yellow-dark);box-shadow:var(--shadow-glow)}.btn-danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn-success{background:var(--color-success);color:#fff;border-color:var(--color-success)}input,textarea,select{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;font-family:var(--font-body);width:100%;background:var(--color-bg);color:var(--color-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-container)}.card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-xs);transition:box-shadow var(--transition-normal),transform var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md)}.badge{display:inline-flex;align-items:center;padding:.125rem .625rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;font-family:var(--font-body);letter-spacing:.025em}.badge-success{background:var(--color-success-light);color:var(--color-success-text)}.badge-warning{background:var(--color-warning-light);color:var(--color-warning-text)}.badge-danger{background:var(--color-danger-light);color:var(--color-danger-text)}.badge-primary{background:var(--color-cream-dark);color:var(--color-charcoal)}.badge-accent{background:var(--color-yellow-light);color:var(--color-charcoal)}.highlight{position:relative;display:inline;background:linear-gradient(to top,var(--color-yellow-light) 0%,var(--color-yellow-light) 40%,transparent 40%);padding:0 .15em;box-decoration-break:clone;-webkit-box-decoration-break:clone}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in var(--transition-normal) ease-out forwards}.animate-fade-up{animation:fade-up .4s ease-out forwards}.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}
