:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Noto Sans,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;text-decoration:inherit}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer;transition:all .18s}button:hover{transform:translateY(-2px)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color-scheme:light}}:root{--bg: #0f1720;--surface: #0b1220;--text: #e6eef6;--muted: #9aa6b3;--accent: #ff7a55;--accent-2: #5f52d6;--btn-text: #ffffff;--max-width: 1200px;--radius: 14px}.palette-1{--accent:#ff7a55;--accent-2:#5f52d6}.palette-2{--accent:#ffd166;--accent-2:#06d6a0}.palette-3{--accent:#ff8fab;--accent-2:#7a5cff}*{box-sizing:border-box;max-width:100%}.site-root{background:radial-gradient(1200px 600px at 10% 10%,rgba(106,92,255,.06),transparent),radial-gradient(900px 400px at 90% 90%,rgba(255,106,61,.04),transparent)}html,body,#root{height:100%;overflow-x:hidden!important;width:100vw!important;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,Helvetica,sans-serif;margin:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overflow-x:hidden!important;width:100vw!important}.site-root{width:100%;margin:0;padding:0;overflow-x:hidden;max-width:100vw}.nav{position:sticky;top:0;z-index:60;background:linear-gradient(180deg,rgba(11,17,32,.28),transparent);width:100%;box-sizing:border-box;overflow:hidden;-webkit-backdrop-filter:blur(6px) saturate(120%);backdrop-filter:blur(6px) saturate(120%)}.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;max-width:var(--max-width);margin:0 auto;box-sizing:border-box;width:100%}.logo-img{height:34px;max-width:none;filter:drop-shadow(0 6px 18px rgba(10,8,20,.6))}.nav-links{display:flex;align-items:center;flex-wrap:wrap}.nav-links a{color:var(--text);margin-left:20px;text-decoration:none;font-weight:600;white-space:nowrap}.nav-links .cta{padding:8px 14px;border-radius:10px;background:linear-gradient(90deg,var(--accent),var(--accent-2));color:var(--surface);margin-left:20px;font-weight:700;box-shadow:0 8px 30px #6a5cff1f}.logo-mark{margin-left:8px;color:var(--accent-2);font-size:18px;display:inline-block;transform:translateY(-2px)}.nav--scrolled{background:#0b1120e6;box-shadow:0 8px 30px #06080c8c;-webkit-backdrop-filter:saturate(120%) blur(6px);backdrop-filter:saturate(120%) blur(6px)}.nav-links a{position:relative}.nav-links a:after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--accent);bottom:-8px;transform:scaleX(0);transform-origin:left center;transition:transform .28s cubic-bezier(.2,.9,.2,1)}.nav-links a:hover:after{transform:scaleX(1)}.is-loaded .hero-title{animation:fadeUp .7s cubic-bezier(.2,.9,.2,1) .06s both}.is-loaded .hero-sub{animation:fadeUp .7s cubic-bezier(.2,.9,.2,1) .14s both}.is-loaded .hero-ctas{animation:fadeUp .7s cubic-bezier(.2,.9,.2,1) .22s both}.is-loaded .project{animation:fadeUp .6s cubic-bezier(.2,.9,.2,1) .3s both}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hero-image-inner{animation:float 6s ease-in-out infinite}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}html{scroll-behavior:smooth}.hero-title,.hero-sub{opacity:0;transform:translateY(8px)}.is-loaded .hero-title{animation:clipReveal .8s cubic-bezier(.2,.9,.2,1) .05s both}.is-loaded .hero-sub{animation:clipReveal .8s cubic-bezier(.2,.9,.2,1) .12s both}@keyframes clipReveal{0%{opacity:0;transform:translateY(12px);clip-path:inset(0 0 100% 0)}50%{opacity:1;transform:translateY(4px);clip-path:inset(0 0 12% 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0 0 0 0)}}.hero-image-inner{background:linear-gradient(120deg,var(--surface) 0%,rgba(255,255,255,.02) 35%,rgba(255,255,255,.02) 65%);background-size:300% 300%;animation:gradientShift 8s ease-in-out infinite,float 6s ease-in-out infinite;border:1px solid rgba(255,255,255,.03)}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.btn.primary{background:linear-gradient(90deg,var(--accent),var(--accent-2));box-shadow:0 8px 30px #6a5cff1f;border:0}.btn.primary:after{content:"";position:absolute;inset:0;border-radius:12px;pointer-events:none;box-shadow:0 12px 40px #ff6a3d14;opacity:0;transition:opacity .28s}.btn.primary:hover:after{opacity:1}.project-thumb{position:relative}.project-thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0a0a0c00,#0b112099);opacity:0;transition:opacity .28s}.project:hover .project-thumb:after{opacity:1}.project-overlay{position:absolute;bottom:12px;left:12px;right:12px;color:var(--text);opacity:0;transform:translateY(6px);transition:all .28s}.project:hover .project-overlay{opacity:1;transform:translateY(0)}.btn{transition:transform .18s ease,box-shadow .18s ease}.btn:hover{transform:translateY(-4px);box-shadow:0 10px 30px #00000014}.btn.primary:hover{box-shadow:0 14px 42px #ff6a3d24}.projects .project{opacity:0;transform:translateY(10px) scale(.995)}.is-loaded .projects .project{animation:projectIn .6s cubic-bezier(.2,.9,.2,1) both}.projects .project:nth-child(1){animation-delay:.12s}.projects .project:nth-child(2){animation-delay:.18s}.projects .project:nth-child(3){animation-delay:.24s}.projects .project:nth-child(4){animation-delay:.3s}@keyframes projectIn{0%{opacity:0;transform:translateY(14px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}.project-thumb{transition:transform .5s cubic-bezier(.2,.9,.2,1)}.project:hover .project-thumb{transform:translateY(-6px) scale(1.02)}.nav-links a{opacity:0;transform:translateY(-6px)}.is-loaded .nav-links a{animation:navIn .5s cubic-bezier(.2,.9,.2,1) both}.nav-links a:nth-child(1){animation-delay:.12s}.nav-links a:nth-child(2){animation-delay:.18s}.nav-links a:nth-child(3){animation-delay:.24s}.nav-links a:nth-child(4){animation-delay:.3s}@keyframes navIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.project{transition:transform .28s ease,box-shadow .28s ease}.project:hover{transform:translateY(-8px);box-shadow:0 18px 50px #12121214}.hero-inner{padding:8px 0}.work-inner{padding:6px 0}.hero-refined{background:transparent;color:var(--text);padding:84px 16px;width:100%;overflow:hidden;box-sizing:border-box;max-width:100vw}.hero-inner{display:flex;align-items:center;gap:24px;max-width:var(--max-width);margin:0 auto;box-sizing:border-box;width:100%;padding:0 18px}.hero-left{flex:1;min-width:0;max-width:none}.hero-right{max-width:420px;width:34%;flex:0 0 auto;min-width:260px}.hero-title{font-size:clamp(32px,4.4vw,64px);line-height:.98;margin:0 0 18px;font-weight:800;word-wrap:break-word;letter-spacing:-.02em}.hero-sub{color:var(--muted);font-size:clamp(14px,2vw,18px);margin-bottom:28px;line-height:1.6}.text-highlight{background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent;padding:0 6px;border-radius:6px}.hero-ctas .btn{display:inline-block;margin:0 6px 8px 0;padding:10px 16px;border-radius:10px;text-decoration:none;font-size:14px}.btn{position:relative}.btn.primary{background:linear-gradient(90deg,var(--accent),var(--accent-2));color:var(--surface)}.btn.ghost{border:1px solid rgba(0,0,0,.06);color:var(--text);background:transparent}.hero-image{height:320px;border-radius:18px;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 30px 60px #0a0c1499;width:100%}.hero-image-inner{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--surface);font-weight:800;font-size:28px;transform:none}.hero-image-inner:before{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.08),transparent 40%);opacity:.6;transform:translateY(-40px)}.work-grid{background:var(--bg);color:var(--text);padding:80px 16px;width:100%;box-sizing:border-box;overflow:hidden;max-width:100vw}.work-inner{max-width:var(--max-width);margin:0 auto;box-sizing:border-box;padding:0 4px}.work-header{text-align:center;margin-bottom:48px}.work-header h2{font-size:clamp(28px,4vw,42px);margin:0 0 16px;font-weight:800}.work-header p{color:var(--muted);font-size:clamp(14px,2vw,18px);max-width:600px;margin:0 auto}.projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:48px;width:100%}.project{background:var(--surface);border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden;padding:24px;box-shadow:0 8px 30px #06080c99;transition:transform .3s ease,box-shadow .3s ease;color:var(--surface)}.project-wide{grid-column:span 1}.project-thumb{background:transparent;padding:18px;display:flex;align-items:flex-start;position:relative;overflow:hidden;width:100%}.project-category{position:absolute;top:12px;left:12px;background:linear-gradient(90deg,var(--accent),var(--accent-2));color:var(--surface);padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}.project-year{position:absolute;top:12px;right:12px;color:var(--muted);font-size:12px;font-weight:600}.thumb-content{padding:12px 6px}.thumb-title{margin:0 0 6px;font-size:18px;font-weight:800}.thumb-excerpt{margin:0 0 12px;color:var(--muted)}.thumb-meta{display:flex;gap:8px;margin-bottom:12px}.chip{background:#ffffff0a;padding:6px 10px;border-radius:999px;font-size:12px;color:var(--text);font-weight:600}.thumb-features{margin:0 0 12px;padding-left:18px;color:var(--muted)}.project-actions{margin-top:6px}.project .btn.ghost{border:1px solid rgba(255,255,255,.04);color:var(--text);background:transparent;padding:8px 12px;border-radius:10px}.project:hover{transform:translateY(-8px);box-shadow:0 16px 50px #06080c99}.project-meta{padding:20px}.project h3{margin:0 0 8px;color:var(--text);font-size:18px}.project p{margin:0;color:var(--muted);font-size:14px;line-height:1.4}.project{background:var(--surface);border-radius:12px;padding:20px;box-shadow:0 6px 20px #06080c99;transition:transform .3s ease,box-shadow .3s ease}.project:hover{transform:translateY(-6px);box-shadow:0 12px 40px #06080c99}.project-header{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);padding:16px;color:var(--surface)}.project-title{font-size:20px;font-weight:800;margin:0}.project-content{padding:20px}.project-desc{font-size:16px;color:var(--text);margin-bottom:16px}.project-bullets{list-style:none;padding-left:0;margin:0}.project-bullet{font-size:14px;color:var(--text);margin-bottom:8px;display:flex;align-items:center}.bullet-icon{color:var(--accent);margin-right:8px}.site-footer{padding:40px 16px;border-top:1px solid rgba(255,255,255,.04);background:var(--surface);color:var(--text);width:100%;box-sizing:border-box;overflow:hidden;max-width:100vw}.footer-inner{max-width:var(--max-width);margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:start;box-sizing:border-box;padding:0 4px}.footer-brand strong{font-size:20px;font-weight:800}.footer-brand p{color:var(--muted);margin:8px 0 0;font-size:12px}.footer-links{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.footer-links a{color:var(--muted);text-decoration:none;font-size:12px;font-weight:500;white-space:nowrap}.footer-links a:hover{color:var(--text)}.legal{color:#777;font-size:11px;text-align:right}.services-section{background:transparent;padding:80px 16px;color:var(--text);width:100%;box-sizing:border-box;overflow:hidden;max-width:100vw}.services-inner{max-width:var(--max-width);margin:0 auto;box-sizing:border-box;padding:0 4px}.services-header{text-align:center;margin-bottom:64px}.services-header h2{font-size:clamp(28px,4vw,42px);margin:0 0 16px;font-weight:800}.services-header p{color:var(--muted);font-size:clamp(14px,2vw,18px);max-width:600px;margin:0 auto}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;width:100%}.service-card{background:var(--surface);padding:24px;border-radius:16px;box-shadow:0 8px 28px #06080c73;width:100%;box-sizing:border-box}.service-card h3{margin:0 0 12px;font-size:20px;font-weight:700}.service-card p{color:var(--muted);margin-bottom:20px;line-height:1.6;font-size:14px}.service-features{list-style:none;padding:0;margin:0}.service-features li{padding:4px 0;color:var(--muted);font-size:13px}.service-features li:before{content:"✓";color:var(--accent);font-weight:700;margin-right:8px}.service-card{opacity:0;transform:translateY(10px) scale(.995)}.is-loaded .service-card{animation:serviceIn .56s cubic-bezier(.2,.9,.2,1) both}.service-card--1{animation-delay:.08s}.service-card--2{animation-delay:.14s}.service-card--3{animation-delay:.2s}.service-card--4{animation-delay:.26s}.service-card--5{animation-delay:.32s}.service-card--6{animation-delay:.38s}@keyframes serviceIn{0%{opacity:0;transform:translateY(14px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}.about-section{background:var(--bg);padding:80px 16px;color:var(--text);width:100%;box-sizing:border-box;overflow:hidden;max-width:100vw}.about-inner{max-width:var(--max-width);margin:0 auto;box-sizing:border-box;padding:0 4px}.about-header h2{font-size:clamp(28px,4vw,42px);margin:0 0 32px;font-weight:800}.about-content{display:grid;grid-template-columns:2fr 1fr;gap:32px;margin-bottom:64px}.about-copy{font-size:15px;line-height:1.6}.about-lead{font-size:18px;color:var(--text);margin-bottom:24px;font-weight:500}.about-copy p{color:var(--muted);margin-bottom:16px;font-size:14px}.about-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.stat{text-align:center}.stat-number{font-size:28px;font-weight:800;color:var(--accent);margin-bottom:4px}.stat-label{font-size:12px;color:var(--muted);font-weight:500}.team-section h3{font-size:24px;margin:0 0 32px;font-weight:700}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;width:100%}.team-member{background:var(--surface);padding:20px;border-radius:12px;width:100%;box-sizing:border-box}.member-photo{width:50px;height:50px;border-radius:50%;background:linear-gradient(90deg,var(--accent),var(--accent-2));display:flex;align-items:center;justify-content:center;color:var(--surface);font-weight:700;margin-bottom:16px}.photo-placeholder{font-size:16px}.member-info h4{margin:0 0 4px;font-size:16px;font-weight:600}.member-role{color:var(--accent);font-size:12px;font-weight:500;margin:0 0 8px}.member-bio{color:var(--muted);font-size:13px;line-height:1.4;margin:0}.contact-section{background:transparent;padding:80px 16px;color:var(--text);width:100%;box-sizing:border-box;overflow:hidden;max-width:100vw}.contact-inner{max-width:var(--max-width);margin:0 auto;box-sizing:border-box;padding:0 4px}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:32px}.contact-copy h2{font-size:clamp(28px,4vw,42px);margin:0 0 16px;font-weight:800}.contact-copy>p{color:var(--muted);font-size:clamp(14px,2vw,18px);margin-bottom:32px;line-height:1.6}.contact-info{display:grid;gap:20px}.contact-item h4{margin:0 0 8px;font-size:15px;font-weight:600}.contact-item p{margin:0 0 4px;color:var(--muted);font-size:13px}.contact-form{background:var(--surface);padding:24px;border-radius:16px;box-shadow:0 8px 28px #06080c73;width:100%;box-sizing:border-box}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;font-size:13px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:8px;font-size:13px;font-family:inherit;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #ff6a3d1a}.form-group textarea{resize:vertical;min-height:100px}@media (max-width:1100px){.hero-inner{flex-direction:column;gap:24px}.hero-right{width:100%;max-width:400px}.projects{grid-template-columns:1fr}.project-wide{grid-column:unset}.about-content,.contact-content{grid-template-columns:1fr;gap:32px}.services-grid{grid-template-columns:1fr}.team-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.footer-inner{grid-template-columns:1fr;gap:20px;text-align:center}}@media (max-width:768px){.hero-title{font-size:32px}.nav-inner{padding:14px 16px}.services-header h2,.work-header h2,.about-header h2,.contact-copy h2{font-size:28px}.about-stats{grid-template-columns:repeat(2,1fr);gap:16px}.hero-refined,.services-section,.work-grid,.about-section,.contact-section{padding:60px 16px}.site-footer{padding:40px 16px}}@media (max-width:600px){.nav-links a{margin-left:16px;font-size:14px}.nav-links .cta{margin-left:16px;padding:6px 12px}.hero-ctas .btn{margin:0 4px 8px 0;padding:10px 16px;font-size:14px}.about-stats,.team-grid{grid-template-columns:1fr}.footer-links{justify-content:center}}.scroll-progress{position:fixed;right:18px;top:14px;height:calc(100vh - 28px);width:6px;background:#ffffff08;border-radius:99px;overflow:hidden;z-index:90}.scroll-progress .bar{position:absolute;left:0;bottom:0;width:100%;height:0;background:linear-gradient(180deg,var(--accent),var(--accent-2));transition:height .12s linear}.scroll-progress[aria-hidden=true]{display:none}@media (max-width:768px){.scroll-progress{display:none}}.section-heading{position:relative;display:inline-block}.section-heading:after{content:"";position:absolute;left:50%;transform:translate(-50%) scaleX(0);height:3px;width:64px;background:linear-gradient(90deg,var(--accent),var(--accent-2));bottom:-14px;border-radius:3px;transform-origin:center;transition:transform .5s cubic-bezier(.2,.9,.2,1);opacity:0}.section-heading.in-view:after{transform:translate(-50%) scaleX(1);opacity:1}.scroll-line-wrap{position:fixed;left:18px;top:14px;height:calc(100vh - 28px);width:40px;z-index:80;pointer-events:none}.scroll-line{height:100%;width:40px;display:block}.scroll-line path{filter:drop-shadow(0 6px 18px rgba(20,16,40,.18))}.scroll-line .ghost{opacity:.5;stroke-width:2}.scroll-line #lyv-line{stroke-width:3.6}.scroll-line #lyv-dot{transition:transform .12s linear;transform-origin:center;filter:drop-shadow(0 10px 26px rgba(20,16,40,.36))}@media (max-width:900px){.scroll-line-wrap{display:none}}.logo-text{font-family:Inter,Segoe UI,Arial,Helvetica,sans-serif;font-size:2.2rem;font-weight:900;letter-spacing:.12em;color:var(--accent);text-shadow:0 2px 16px rgba(255,122,85,.1);line-height:1;display:inline-block;vertical-align:middle;margin-right:8px}
