:root{--color-text: #111111;--color-text-strong: #333333;--color-text-body: #444444;--color-text-muted: #555555;--color-text-soft: #666666;--color-text-faint: #6b6b6b;--color-text-inverse: #ffffff;--color-bg: #ffffff;--color-bg-alt: #fafafa;--color-surface: #f5f5f5;--color-surface-hover: #eeeeee;--color-border: #eeeeee;--color-border-strong: #dddddd;--color-border-scrolled: #e5e5e5;--radius-card: 12px;--radius-button: 8px;--radius-pill: 100px;--shadow-card: 0 12px 40px rgba(0, 0, 0, .1);--shadow-soft: 0 8px 24px rgba(0, 0, 0, .06)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}:focus-visible{outline:2px solid var(--color-text);outline-offset:3px;border-radius:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:0;left:16px;z-index:2000;transform:translateY(-150%);padding:12px 20px;background:var(--color-text);color:var(--color-text-inverse);font-size:.9rem;font-weight:600;border-radius:0 0 var(--radius-button) var(--radius-button);transition:transform .2s ease}.skip-link:focus-visible{transform:translateY(0)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.js .reveal.revealed{opacity:1;transform:translateY(0)}.js .hero-anim{opacity:0;animation:fadeInUp .7s ease forwards}.section{position:relative;z-index:1;padding:100px 24px}@media(max-width:768px){.section{padding:64px 16px}}.section-title{font-size:2.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:16px}@media(max-width:768px){.section-title{font-size:1.75rem}}.section-subtitle{font-size:1.125rem;color:var(--color-text-muted);max-width:600px}@media(max-width:768px){.section-subtitle{font-size:1rem}}.container{max-width:1120px;margin:0 auto;width:100%}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.js .reveal,.js .hero-anim{opacity:1;transform:none;animation:none}}
