:root{--font-sans:"Montserrat", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--font-serif:"Playfair Display", "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-body:system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;font-family:var(--font-body);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}html,body{width:100%;min-height:100vh;margin:0;padding:0;overflow-x:hidden}h1,h2,h3{margin:0}#root{width:100%;min-height:100vh}:root{--bg:#04041a;--bg-deep:#02020f;--bg-section:#07073a;--bg-card:#ffffff0a;--bg-card-hover:#ffffff14;--bg-nav:#04041ad1;--accent-gold:#d4a52e;--accent-gold-bright:#e8c547;--accent-blue:#5e6cff;--gradient:linear-gradient(180deg, #04041a 0%, #0a0a52 45%, #1818c8 85%, #2a2aff 100%);--gradient-soft:linear-gradient(180deg, #07073a 0%, #14149a 100%);--text:#fffffff2;--text-dim:#ffffffb3;--text-muted:#ffffff73;--border:#ffffff1a;--border-accent:#d4a52e66;--nav-h:4rem;--max-w:1100px;--section-pad:6rem}.site{background:var(--bg);color:var(--text);min-height:100vh;font-family:var(--font-body)}.nav{z-index:100;height:var(--nav-h);background:var(--bg-nav);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);position:fixed;top:0;left:0;right:0}.nav-inner{max-width:var(--max-w);justify-content:space-between;align-items:center;height:100%;margin:0 auto;padding:0 2rem;display:flex}.nav-logo{-webkit-user-select:none;user-select:none;align-items:center;text-decoration:none;transition:opacity .2s;display:inline-flex}.nav-logo:hover{opacity:.78}.nav-logo-mark{width:auto;height:32px;display:block}.nav-links{gap:2rem;display:flex}.nav-links a{color:var(--text-dim);font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;font-size:.8125rem;font-weight:600;text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--accent-gold)}.nav-links a:focus-visible{outline:2px solid var(--accent-gold);outline-offset:4px;border-radius:2px}.hero{min-height:100vh;padding-top:var(--nav-h);background:var(--gradient);align-items:center;display:flex;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(120% 80% at 50% 0,#0000008c 0%,#0000 60%);position:absolute;inset:0}.hero-bg-logo{pointer-events:none;z-index:0;justify-content:flex-end;align-items:center;display:flex;position:absolute;inset:0}.hero-bg-logo img{opacity:.95;filter:drop-shadow(0 0 60px #3a46f073);width:min(780px,58vw);height:auto}.hero-mobile-logo{display:none}.hero-inner{z-index:1;width:100%;max-width:var(--max-w);margin:0 auto;padding:0 2rem;position:relative}.hero-content{flex-direction:column;align-items:flex-start;max-width:580px;display:flex}.hero-eyebrow{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--accent-gold);margin:0 0 1.5rem;font-size:.75rem;font-weight:700}.hero-title{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--text);margin:0 0 1.5rem;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:700;line-height:1.1}.gradient-text{font-family:var(--font-serif);letter-spacing:-.01em;background:linear-gradient(135deg,#e8c547 0%,#d4a52e 50%,#a07a10 100%);-webkit-text-fill-color:transparent;text-transform:lowercase;-webkit-background-clip:text;background-clip:text;font-size:1.15em;font-style:italic;font-weight:700;display:inline-block}.hero-sub{font-family:var(--font-body);color:var(--text-dim);max-width:540px;margin:0 0 2.5rem;font-size:1.125rem;line-height:1.7}.btn-primary{background:var(--accent-gold);color:#1a1304;font-family:var(--font-sans);letter-spacing:.06em;text-transform:uppercase;border-radius:.5rem;align-items:center;gap:.5rem;padding:.95rem 1.875rem;font-size:.875rem;font-weight:700;text-decoration:none;transition:opacity .2s,transform .2s,box-shadow .2s,background .2s;display:inline-flex;box-shadow:0 2px 4px #00000059}.btn-primary:hover{background:var(--accent-gold-bright);transform:translateY(-2px);box-shadow:0 12px 30px #d4a52e66}.btn-primary:active{transform:translateY(0)}.btn-primary:focus-visible{outline:3px solid var(--accent-gold-bright);outline-offset:3px}.section-inner{max-width:var(--max-w);margin:0 auto;padding:0 2rem}.section-label{font-family:var(--font-serif);letter-spacing:.04em;color:var(--accent-gold);text-transform:lowercase;margin:0 0 3rem;font-size:1rem;font-style:italic;font-weight:500}.section-label:before{content:"— ";color:var(--accent-gold);opacity:.7}.services{padding:var(--section-pad) 0;background:var(--bg-section);border-top:1px solid var(--border);border-bottom:1px solid var(--border);position:relative}.services:before,.about:before{content:"";pointer-events:none;background:linear-gradient(#0a0a5299 0%,#07073a00 60%);position:absolute;inset:0}.services>*,.about>*{position:relative}.services-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.25rem;display:grid}.service-card{background:var(--bg-card);border:1px solid var(--border);border-radius:.75rem;padding:1.75rem;transition:border-color .25s,background .25s,transform .25s,box-shadow .25s}.service-card:hover{border-color:var(--border-accent);background:var(--bg-card-hover);transform:translateY(-2px);box-shadow:0 8px 20px #0006}.service-title{font-family:var(--font-sans);letter-spacing:.02em;color:var(--accent-gold);margin:0 0 .75rem;font-size:.9375rem;font-weight:700}.service-body{color:var(--text-dim);margin:0;font-size:.9rem;line-height:1.65}.portfolio{padding:var(--section-pad) 0;background:var(--bg);border-bottom:1px solid var(--border)}.portfolio-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:.75rem;flex-direction:column;gap:.75rem;padding:2rem;transition:border-color .25s,background .25s,transform .25s,box-shadow .25s;display:flex}.project-card:hover{border-color:var(--border-accent);background:var(--bg-card-hover);transform:translateY(-2px);box-shadow:0 8px 20px #0006}.project-card-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.project-name{margin:0}.project-name a{font-family:var(--font-serif);color:var(--text);align-items:center;gap:.375rem;font-size:1.375rem;font-style:italic;font-weight:700;text-decoration:none;transition:color .2s;display:inline-flex}.project-name a:hover{color:var(--accent-gold)}.project-badge{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--border-accent);color:var(--accent-gold);white-space:nowrap;background:#d4a52e1f;border-radius:9999px;flex-shrink:0;padding:.25rem .625rem;font-size:.7rem;font-weight:700}.project-tagline{color:var(--text-dim);margin:0;font-size:.875rem;font-weight:600}.project-body{color:var(--text-dim);flex:1;margin:0;font-size:.9rem;line-height:1.65}.project-stack{flex-wrap:wrap;gap:.5rem;margin:.25rem 0 0;padding:0;list-style:none;display:flex}.about{padding:var(--section-pad) 0;background:var(--bg-section);border-bottom:1px solid var(--border);position:relative}.about-inner{grid-template-columns:1fr 1fr;align-items:start;gap:5rem;display:grid}.about-text p{color:var(--text-dim);margin:0 0 1rem;font-size:.9375rem;line-height:1.8}.about-text p:last-child{margin-bottom:0}.skills-heading{font-family:var(--font-serif);letter-spacing:.02em;text-transform:lowercase;color:var(--accent-gold);margin:0 0 1.25rem;font-size:.95rem;font-style:italic;font-weight:500}.skills-list{flex-wrap:wrap;gap:.625rem;margin:0;padding:0;list-style:none;display:flex}.skill-tag{font-family:var(--font-sans);letter-spacing:.04em;border:1px solid var(--border-accent);color:var(--accent-gold);background:#d4a52e14;border-radius:9999px;padding:.4rem .875rem;font-size:.75rem;font-weight:600}.contact{padding:var(--section-pad) 0;background:var(--gradient);border-top:1px solid var(--border);position:relative;overflow:hidden}.contact:before{content:"";pointer-events:none;background:radial-gradient(120% 80% at 50% 0,#00000073 0%,#0000 60%);position:absolute;inset:0}.contact-inner{text-align:center;position:relative}.contact-inner h2{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--accent-gold);margin:0 0 1rem;font-size:clamp(2rem,4.5vw,3rem);font-style:italic;font-weight:700}.contact-inner p{color:var(--text-dim);margin:0 0 2.5rem;font-size:1.0625rem}.footer{border-top:1px solid var(--border);background:var(--bg-deep);padding:2rem 0}.footer-inner{max-width:var(--max-w);justify-content:center;margin:0 auto;padding:0 2rem;display:flex}.footer-inner span{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.75rem}@media (width<=768px){:root{--section-pad:4rem}.hero-bg-logo{display:none}.hero-mobile-logo{opacity:1;width:min(300px,72vw);height:auto;margin:0 auto 2.5rem;display:block}.hero-content{text-align:center;align-items:center;max-width:100%}.hero-sub{max-width:42ch;margin-left:auto;margin-right:auto}.nav-links{gap:1.25rem}.about-inner{grid-template-columns:1fr;gap:3rem}}@media (width<=480px){.nav-links{gap:1rem}.nav-links a{letter-spacing:.06em;font-size:.7rem}.hero-sub{font-size:1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:focus-visible{outline:2px solid var(--accent-gold);outline-offset:3px}
