:root{--bg:#13070a;--surface:#1b0b10;--primary:#4a0e1a;--accent:#a61e3b;--gold:#d6b56e;--glow-burgundy:#4a0e1e;--glow-burgundy-rgb:74, 14, 30;--glow-gold:#d4af37;--glow-gold-rgb:212, 175, 55;--text:#f8f7f4;--muted:#a39699;--glass:#ffffff08;--glass-border:#ffffff14;--ease:cubic-bezier(.25, 1, .5, 1);--font-sans:"Inter", -apple-system, sans-serif;--font-serif:"Playfair Display", serif;--font-mono:"JetBrains Mono", monospace}
h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);color:var(--text);font-weight:400}.serif{font-family:var(--font-serif)}.sans{font-family:var(--font-sans)}.mono{font-family:var(--font-mono)}.gold{color:var(--gold)}.text-center{text-align:center}.subtitle{font-family:var(--font-mono);color:var(--gold);text-transform:uppercase;letter-spacing:2px;align-items:center;gap:clamp(.5rem,2vw,1rem);margin-bottom:clamp(1rem,3vw,1.5rem);font-size:clamp(.75rem,2vw,.85rem);display:flex}.subtitle:before{content:"";background:var(--gold);width:clamp(20px,5vw,40px);height:1px;display:block}.section-title{text-align:center;word-break:break-word;margin-bottom:clamp(2rem,6vw,4rem);font-size:clamp(2rem,5vw,4rem);line-height:1.1}
.container{max-width:1400px;margin:0 auto;padding:0 clamp(1rem,5vw,5%)}.btn{font-family:var(--font-sans);transition:all .4s var(--ease);cursor:pointer;border:none;border-radius:100px;justify-content:center;align-items:center;padding:clamp(.8rem,2vw,1rem) clamp(1.5rem,4vw,2rem);font-size:clamp(.85rem,2vw,.95rem);font-weight:500;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 10px 20px #4a0e1a4d}.btn-primary:hover{background:var(--accent);transform:translateY(-3px);box-shadow:0 15px 30px #a61e3b66}.btn-glass{color:var(--text);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a}.btn-glass:hover{border-color:var(--gold);background:#ffffff1a}.btn-sm{padding:clamp(.5rem,1.5vw,.6rem) clamp(1rem,3vw,1.2rem);font-size:clamp(.75rem,1.5vw,.85rem)}.grid{display:grid}.flex{display:flex}
.glass-panel{background:var(--glass);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:24px}
.reveal{opacity:0;filter:blur(10px);will-change:opacity, transform, filter;transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1),filter 1s cubic-bezier(.16,1,.3,1);transform:translateY(40px)scale(.96)}.reveal.active{opacity:1;filter:blur();transform:translateY(0)scale(1)}@keyframes floatBlob{0%{transform:translate(0)scale(1)}to{transform:translate(30px,-50px)scale(1.1)}}@keyframes pulseGreen{0%{box-shadow:0 0 #10b98166}70%{box-shadow:0 0 0 10px #10b98100}to{box-shadow:0 0 #10b98100}}@keyframes spinLoader{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg);color:var(--text);font-family:var(--font-sans);font-weight:300;line-height:1.6;overflow-x:hidden}::selection{background:var(--gold);color:var(--bg)}.ambient-bg{z-index:-2;pointer-events:none;position:fixed;inset:0;overflow:hidden}.ambient-blob{filter:blur(140px);opacity:.5;animation:floatBlob 20s infinite alternate var(--ease);border-radius:50%;position:absolute}.blob-1{background:var(--primary);width:50vw;height:50vw;top:-10vw;left:-10vw}.blob-2{background:var(--accent);opacity:.3;width:60vw;height:60vw;animation-duration:25s;animation-direction:alternate-reverse;bottom:-20vw;right:-10vw}.noise-overlay{z-index:-1;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background:url("data:image/svg+xml;utf8,<svg viewBox=\"0 0 200 200\" xmlns=\"http://www.w3.org/2000/svg\"><filter id=\"noiseFilter\"><feTurbulence type=\"fractalNoise\" baseFrequency=\"0.8\" numOctaves=\"3\" stitchTiles=\"stitch\"/></filter><rect width=\"100%\" height=\"100%\" filter=\"url(%23noiseFilter)\"/></svg>");position:fixed;inset:0}.vignette{z-index:9999;pointer-events:none;background:radial-gradient(circle,#0000 50%,#13070a99 100%);position:fixed;inset:0}nav{-webkit-backdrop-filter:blur(32px);border:1px solid var(--glass-border);z-index:1000;width:clamp(90%,95vw,1000px);max-width:1000px;transition:top .4s var(--ease), width .4s var(--ease), background .4s;background:#1b0b1066;border-radius:100px;justify-content:space-between;align-items:center;padding:clamp(.5rem,2vw,.75rem) clamp(1rem,3vw,1.5rem);display:flex;position:fixed;top:clamp(1rem,3vw,2rem);left:50%;transform:translate(-50%)}nav.scrolled{background:#1b0b10b3;width:clamp(95%,98vw,1000px);top:1rem}.nav-logo{font-family:var(--font-serif);color:var(--text);white-space:nowrap;align-items:center;gap:.5rem;font-size:clamp(1rem,3vw,1.25rem);text-decoration:none;display:flex}.nav-logo:before{content:"";background:var(--gold);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:block}.nav-links{gap:clamp(1rem,4vw,2.5rem);display:flex}.nav-links a{color:var(--muted);text-transform:uppercase;letter-spacing:1px;font-size:.85rem;text-decoration:none;transition:color .3s}.nav-links a:hover{color:var(--gold)}footer{font-family:var(--font-mono);color:var(--muted);background:var(--bg);z-index:10;text-align:center;border-top:1px solid #ffffff0d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:clamp(2rem,5vw,3rem) clamp(1.5rem,5vw,5%);font-size:clamp(.75rem,2vw,.85rem);display:flex;position:relative}@media (max-width:768px){nav{width:95%;max-width:100%;padding:.6rem 1rem}.nav-logo{font-size:1.1rem}.nav-links{display:none}.nav-cta{padding:.5rem 1rem;font-size:.85rem}footer{text-align:center;flex-direction:column;justify-content:center}}
body:not(.touch-device),body:not(.touch-device) *{cursor:none!important}.cursor-wrapper{pointer-events:none;z-index:999999;position:fixed;inset:0}.touch-device .cursor-wrapper{display:none!important}.cursor-dot{background-color:var(--accent);width:8px;height:8px;box-shadow:0 0 10px var(--accent);will-change:transform;border-radius:50%;margin-top:-4px;margin-left:-4px;transition:transform 50ms linear,opacity .3s;position:absolute;top:0;left:0}.cursor-ring{-webkit-backdrop-filter:blur(2px);width:32px;height:32px;transition:width .3s var(--ease), height .3s var(--ease), margin .3s var(--ease), background .3s var(--ease), border-color .3s var(--ease), border-radius .3s var(--ease);will-change:transform, width, height;background:#ffffff0d;border:1px solid #fff6;border-radius:50%;justify-content:center;align-items:center;margin-top:-16px;margin-left:-16px;display:flex;position:absolute;top:0;left:0}.cursor-text{font-family:var(--font-sans);color:var(--text);opacity:0;text-transform:uppercase;letter-spacing:1px;font-size:10px;font-weight:600;transition:opacity .3s}.state-button .cursor-ring{background:#a61e3b1a;border-color:#a61e3b99;width:50px;height:50px;margin-top:-25px;margin-left:-25px;box-shadow:0 0 20px #a61e3b66}.state-button .cursor-dot{background:var(--gold);box-shadow:0 0 15px var(--gold);transform:scale(1.5)}.state-project .cursor-ring{mix-blend-mode:normal;background:0 0;border:1px solid #d6b56e33;width:120px;height:120px;margin-top:-60px;margin-left:-60px}.state-project .cursor-dot{opacity:0}.state-link .cursor-ring{background:var(--text);border-color:var(--text);mix-blend-mode:normal;border-radius:100px;width:70px;height:32px;margin-top:-16px;margin-left:-35px}.state-link .cursor-text{opacity:1;color:var(--bg)}.state-link .cursor-dot{opacity:0}.state-image .cursor-ring{-webkit-backdrop-filter:blur(8px);width:80px;height:80px;animation:cursorPulse 2s infinite var(--ease);border-color:#fffc;margin-top:-40px;margin-left:-40px}.state-image .cursor-dot{opacity:0}@keyframes cursorPulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}
