@import url("https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@300;400&display=swap");:root{--bg:#f5f4f1;--bg-white:#fff;--bg-warm:#efeee9;--bg-card:#fff;--bg-dark:#0f0c0b;--text:#1a1a1a;--text-secondary:#5a5a5a;--text-muted:#8a8a8a;--text-light:#bcbbc3;--accent:#c73f22;--accent-hover:#a8341c;--accent-light:rgba(199,63,34,.08);--accent-glow:rgba(199,63,34,.12);--orange:#e8600a;--border:rgba(0,0,0,.06);--border-strong:rgba(0,0,0,.1);--shadow-sm:0 1px 3px rgba(0,0,0,.04),0 1px 2px rgba(0,0,0,.03);--shadow-md:0 4px 20px rgba(0,0,0,.06),0 1px 3px rgba(0,0,0,.04);--shadow-lg:0 12px 40px rgba(0,0,0,.08),0 4px 12px rgba(0,0,0,.04);--shadow-xl:0 24px 60px rgba(0,0,0,.1),0 8px 20px rgba(0,0,0,.05);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--max-width:1200px;--section-padding:120px;--serif:"DM Serif Display",Georgia,serif;--sans:"Inter",system-ui,-apple-system,sans-serif;--mono:"JetBrains Mono",monospace;--ease:cubic-bezier(0.16,1,0.3,1);--ease-out:cubic-bezier(0.33,1,0.68,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--sans);background:var(--bg);color:var(--text);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,video{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit}ol,ul{list-style:none}::selection{background:var(--accent);color:#fff}.container{max-width:var(--max-width);margin:0 auto;padding:0 40px}.section-label{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:12px}.section-heading{font-family:var(--serif);font-size:clamp(36px,5vw,56px);font-weight:400;line-height:1.1;color:var(--text)}.section-heading em{font-style:italic;color:var(--accent)}.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.visible{opacity:1;transform:translateY(0)}@media (max-width:1024px){.container{padding:0 32px}}@media (max-width:768px){:root{--section-padding:60px}.container{padding:0 20px}}