:root{--color-canvas: #FAFAFA;--color-surface: #FFFFFF;--color-surface-subtle: #F5F5F4;--color-text-primary: #1C1917;--color-text-secondary: #57534E;--color-text-tertiary: #A8A29E;--color-border: #E7E5E4;--color-border-subtle: #F5F5F4;--color-accent: #166534;--color-accent-hover: #15803D;--color-accent-subtle: #DCFCE7;--color-accent-muted: rgba(22, 101, 52, .1);--font-heading: "Playfair Display", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Consolas, monospace;--text-display: clamp(3rem, 8vw, 7rem);--text-h1: clamp(2.5rem, 5vw, 4.5rem);--text-h2: clamp(1.75rem, 3vw, 2.5rem);--text-h3: clamp(1.25rem, 2vw, 1.75rem);--text-body-lg: clamp(1.125rem, 1.5vw, 1.375rem);--text-body: 1rem;--text-small: .875rem;--text-xs: .75rem;--leading-display: .95;--leading-tight: 1.1;--leading-snug: 1.3;--leading-normal: 1.6;--leading-relaxed: 1.8;--tracking-tighter: -.04em;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .05em;--tracking-wider: .1em;--tracking-widest: .15em;--space-section: clamp(6rem, 12vw, 12rem);--space-component: clamp(3rem, 6vw, 6rem);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--transition-slower: .8s cubic-bezier(.25, .46, .45, .94);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 16px rgba(0, 0, 0, .06);--shadow-lg: 0 12px 48px rgba(0, 0, 0, .08);--shadow-glow: 0 0 60px rgba(22, 101, 52, .15);--radius-sm: 2px;--radius-md: 4px;--radius-lg: 8px}html.dark{--color-canvas: #0C0A09;--color-surface: #1C1917;--color-surface-subtle: #292524;--color-text-primary: #FAFAF9;--color-text-secondary: #D6D3D1;--color-text-tertiary: #78716C;--color-border: #292524;--color-border-subtle: #1C1917;--color-accent: #D97706;--color-accent-hover: #F59E0B;--color-accent-subtle: rgba(217, 119, 6, .15);--color-accent-muted: rgba(217, 119, 6, .08);--color-accent-glow: #FBBF24;--shadow-glow: 0 0 80px rgba(217, 119, 6, .2)}html{scroll-behavior:smooth;font-size:16px}body{overflow-x:hidden;font-family:var(--font-body);background-color:var(--color-canvas);color:var(--color-text-primary);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.font-heading{font-family:var(--font-heading)}.font-body{font-family:var(--font-body)}.text-display{font-family:var(--font-heading);font-size:var(--text-display);line-height:var(--leading-display);letter-spacing:var(--tracking-tighter);font-weight:400}.text-h1{font-family:var(--font-heading);font-size:var(--text-h1);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);font-weight:400}.text-h2{font-family:var(--font-heading);font-size:var(--text-h2);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);font-weight:400}.text-h3{font-family:var(--font-heading);font-size:var(--text-h3);line-height:var(--leading-snug);font-weight:500}.text-body-lg{font-size:var(--text-body-lg);line-height:var(--leading-relaxed)}.text-label{font-size:var(--text-xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;font-weight:500}.bg-canvas{background-color:var(--color-canvas)}.bg-surface{background-color:var(--color-surface)}.bg-surface-subtle{background-color:var(--color-surface-subtle)}.bg-accent{background-color:var(--color-accent)}.bg-accent-subtle{background-color:var(--color-accent-subtle)}.bg-accent-muted{background-color:var(--color-accent-muted)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-accent{color:var(--color-accent)}.border-default{border-color:var(--color-border)}.border-subtle{border-color:var(--color-border-subtle)}.border-accent{border-color:var(--color-accent)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:1rem 2rem;font-size:var(--text-xs);font-weight:500;letter-spacing:var(--tracking-widest);text-transform:uppercase;text-decoration:none;transition:all var(--transition-base);cursor:pointer;border:1px solid transparent}.btn-primary{background-color:#166534!important;border-color:#166534!important;color:#fff!important}.btn-primary:hover{background-color:#15803d!important;border-color:#15803d!important;color:#fff!important}html.dark .btn-primary{background-color:#d97706!important;border-color:#d97706!important;color:#fff!important}html.dark .btn-primary:hover{background-color:#f59e0b!important;border-color:#f59e0b!important;color:#fff!important}.btn-accent{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn-accent:hover{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-ghost{background-color:transparent;border-color:#e7e5e4}.btn-ghost:hover{border-color:#166534}html.dark .btn-ghost{border-color:#292524}html.dark .btn-ghost:hover{border-color:#d97706}.btn-outline{background-color:transparent;border-color:var(--color-text-primary);color:var(--color-text-primary)}.btn-outline:hover{background-color:var(--color-text-primary);color:var(--color-canvas)}.link-underline{position:relative;text-decoration:none;color:var(--color-text-primary)}.link-underline:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background-color:var(--color-accent);transition:width var(--transition-base)}.link-underline:hover:after{width:100%}.card{background-color:var(--color-surface);border:1px solid var(--color-border-subtle);transition:all var(--transition-base)}.card-hover:hover{border-color:var(--color-border);box-shadow:var(--shadow-md)}.card-interactive{cursor:pointer}.card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.hover-card{transition:all var(--transition-base);border:1px solid var(--color-border-subtle)}@media (hover: hover){.hover-card:hover{transform:translateY(-2px);border-color:var(--color-accent);box-shadow:var(--shadow-md)}}.input-underline{width:100%;padding:1rem 0;font-size:var(--text-body);font-family:var(--font-body);background:transparent;border:none;border-bottom:1px solid var(--color-border);color:var(--color-text-primary);transition:border-color var(--transition-base);outline:none}.input-underline::-moz-placeholder{color:var(--color-text-tertiary)}.input-underline::placeholder{color:var(--color-text-tertiary)}.input-underline:focus{border-bottom-color:var(--color-accent)}.form-input{transition:all var(--transition-base)}.form-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-muted)}.fade-in{opacity:0;transform:translateY(20px);transition:opacity var(--transition-slower),transform var(--transition-slower)}.fade-in.animate-fade-in,.fade-in.visible{opacity:1;transform:translateY(0)}.reveal{opacity:0;transform:translateY(30px);transition:opacity var(--transition-slower),transform var(--transition-slower)}.reveal.visible{opacity:1;transform:translateY(0)}.stagger>*{opacity:0;transform:translateY(20px);transition:opacity var(--transition-slow),transform var(--transition-slow)}.stagger.visible>*{opacity:1;transform:translateY(0)}.stagger.visible>*:nth-child(1){transition-delay:0ms}.stagger.visible>*:nth-child(2){transition-delay:.1s}.stagger.visible>*:nth-child(3){transition-delay:.2s}.stagger.visible>*:nth-child(4){transition-delay:.3s}.stagger.visible>*:nth-child(5){transition-delay:.4s}.stagger.visible>*:nth-child(6){transition-delay:.5s}.hover-scale{transition:transform var(--transition-base)}.hover-scale:hover{transform:scale(1.02)}.forge-glow{background:linear-gradient(135deg,var(--color-accent),var(--color-accent-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}html.dark .forge-glow{background:linear-gradient(135deg,var(--color-accent-glow),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-overlay{position:fixed;inset:0;background-color:var(--color-canvas);z-index:100;opacity:0;visibility:hidden;transition:opacity var(--transition-slow),visibility var(--transition-slow)}.nav-overlay.open{opacity:1;visibility:visible}.nav-overlay-link{font-family:var(--font-heading);font-size:clamp(2rem,5vw,4rem);line-height:1.2;color:var(--color-text-primary);text-decoration:none;opacity:0;transform:translateY(30px);transition:opacity var(--transition-slow),transform var(--transition-slow),color .2s ease-out;display:block;position:relative}.nav-overlay.open .nav-overlay-link{opacity:1;transform:translateY(0)}.nav-overlay-link:hover{color:var(--color-accent)}.nav-overlay.open .nav-overlay-link:nth-child(1){transition-delay:.1s}.nav-overlay.open .nav-overlay-link:nth-child(2){transition-delay:.15s}.nav-overlay.open .nav-overlay-link:nth-child(3){transition-delay:.2s}.nav-overlay.open .nav-overlay-link:nth-child(4){transition-delay:.25s}.nav-overlay.open .nav-overlay-link:nth-child(5){transition-delay:.3s}.nav-overlay.open .nav-overlay-link:nth-child(6){transition-delay:.35s}.section{padding-top:var(--space-section);padding-bottom:var(--space-section)}.section-sm{padding-top:var(--space-component);padding-bottom:var(--space-component)}.container{width:100%;padding-right:1.5rem;padding-left:1.5rem;margin-right:auto;margin-left:auto}@media (min-width: 640px){.container{max-width:640px;padding-right:2rem;padding-left:2rem}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1400px}}.container-narrow{max-width:720px;margin-left:auto;margin-right:auto}.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}.divider{width:100%;height:1px;background-color:var(--color-border)}.divider-vertical{width:1px;height:100%;background-color:var(--color-border)}.accent-line{width:60px;height:1px;background-color:var(--color-accent)}::-moz-selection{background-color:var(--color-accent-subtle);color:var(--color-text-primary)}::selection{background-color:var(--color-accent-subtle);color:var(--color-text-primary)}html.dark ::-moz-selection{background-color:var(--color-accent-subtle)}html.dark ::selection{background-color:var(--color-accent-subtle)}
