:root{--font-cormorant:"Cormorant Garamond";--font-dm-sans:"DM Sans";--font-mono:"JetBrains Mono";--bg-base:#0e0f0d;--bg-surface:#181a16;--bg-raised:#1f2219;--accent-moss:#8db87a;--accent-parchment:#f0ead6;--accent-amber:#c9913d;--text-primary:#edede8;--text-secondary:#9a9a8e;--text-muted:#5a5a52;--border:#2a2d24;--h1-size:72px;--h1-size-mobile:40px;--h2-size:48px;--h2-size-mobile:32px;--body-large:20px;--body-large-mobile:17px;--body-small:15px;--label-size:14px;--mono-size:13px;--anim-duration:.9s}@media (max-width:768px){:root{--h1-size:var(--h1-size-mobile);--h2-size:var(--h2-size-mobile);--body-large:var(--body-large-mobile)}}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-base);max-width:100vw;color:var(--text-primary);font-family:var(--font-dm-sans), sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,.display-font{font-family:var(--font-cormorant), serif;font-weight:700;line-height:1.1}h1{font-size:var(--h1-size);line-height:1.05}h2{font-size:var(--h2-size)}p,.body-font{font-family:var(--font-dm-sans), sans-serif;color:var(--text-secondary);font-weight:400;line-height:1.7}.body-large{font-size:var(--body-large)}.body-small{font-size:var(--body-small);line-height:1.6}.mono-font{font-family:var(--font-mono), monospace;font-size:var(--mono-size)}button,.label-font{font-family:var(--font-dm-sans), sans-serif;font-weight:500;font-size:var(--label-size);letter-spacing:.04em}a{color:inherit;text-decoration:none}.pill-button{background-color:var(--accent-moss);height:56px;color:var(--bg-base);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;padding:0 32px;font-weight:500;transition:transform .2s,filter .2s;display:inline-flex}.pill-button:hover{filter:brightness(1.1);transform:translateY(-2px)}.ghost-button{height:48px;color:var(--text-primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0 24px;font-weight:500;transition:color .2s;display:inline-flex}.ghost-button:hover{color:var(--accent-moss)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-up{opacity:0;animation:fadeInUp var(--anim-duration) cubic-bezier(.16, 1, .3, 1) forwards}.animate-fade{opacity:0;animation:fadeIn var(--anim-duration) ease forwards}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}
