:root,[data-theme=dark]{--bg: #060812;--navy: #0D0F1E;--panel: #0F1225;--screen: #060C1A;--violet: #5757FF;--cyan: #03CBF9;--orange: #FF962E;--coral: #FF5A5A;--green: #3BE287;--amber: #FFB020;--white: #F0F0FF;--dim: rgba(240,240,255,.45);--border: rgba(87,87,255,.18);--text: #F0F0FF;--text-muted: rgba(240,240,255,.45);--text-faint: rgba(240,240,255,.25);--card-bg: #0F1225;--card-hover: rgba(87,87,255,.06);--tag-bg: rgba(87,87,255,.1);--tag-border: rgba(87,87,255,.2);--overlay: rgba(0,0,0,.7);--divider-glow: var(--violet);--stats-bg: #5757FF;--stats-text: #FFFFFF;--stats-dim: rgba(255,255,255,.6);--stats-border: rgba(255,255,255,.2)}[data-theme=light]{--bg: #F5F5FA;--navy: #EAEAF2;--panel: #FFFFFF;--screen: #E8E8F0;--violet: #5757FF;--cyan: #0888B0;--orange: #D06A10;--coral: #D03030;--green: #239956;--amber: #B87A08;--white: #1A1A2E;--dim: rgba(26,26,46,.6);--border: rgba(87,87,255,.18);--text: #1A1A2E;--text-muted: rgba(26,26,46,.6);--text-faint: rgba(26,26,46,.35);--card-bg: #FFFFFF;--card-hover: rgba(87,87,255,.05);--tag-bg: rgba(87,87,255,.08);--tag-border: rgba(87,87,255,.18);--overlay: rgba(255,255,255,.8);--divider-glow: var(--violet);--stats-bg: #5757FF;--stats-text: #FFFFFF;--stats-dim: rgba(255,255,255,.7);--stats-border: rgba(255,255,255,.25)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:DM Sans,sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden;transition:background .3s,color .3s}[data-theme=dark] body{cursor:none}[data-theme=light] body{cursor:auto}[data-theme=dark] body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.025) 2px,rgba(0,0,0,.025) 4px);pointer-events:none;z-index:9990}[data-theme=dark] body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9985;opacity:.3;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E");animation:grain .8s steps(1) infinite}@keyframes grain{0%,to{transform:translate(0)}10%{transform:translate(-2%,-3%)}20%{transform:translate(3%,2%)}30%{transform:translate(-1%,4%)}40%{transform:translate(2%,-1%)}50%{transform:translate(-3%,3%)}60%{transform:translate(4%,-2%)}70%{transform:translate(-2%,1%)}80%{transform:translate(3%,-3%)}90%{transform:translate(-1%,2%)}}[data-theme=light] #cursor,[data-theme=light] #cursor-ring{display:none!important}.divider{height:2px;background:linear-gradient(90deg,transparent,var(--violet),transparent);margin:0 3rem;position:relative;overflow:hidden}.divider:after{content:"";position:absolute;top:0;left:-5%;width:5%;height:100%;background:var(--violet);box-shadow:0 0 12px var(--violet),0 0 4px var(--violet);animation:scan 4s linear infinite}@keyframes scan{to{left:105%}}[data-theme=light] .divider{height:2px;background:linear-gradient(90deg,transparent,rgba(87,87,255,.4),transparent)}[data-theme=light] .divider:after{box-shadow:0 0 16px var(--violet),0 0 6px var(--violet)}.btn-clip{clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,0 100%)}.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.reveal-l{opacity:0;transform:translate(-40px);transition:opacity .7s ease,transform .7s ease}.reveal-l.visible{opacity:1;transform:none}[data-theme=light] .proj-card{box-shadow:0 1px 4px #0000000f}[data-theme=light] .proj-card:hover{box-shadow:0 4px 20px #5757ff1f!important}[data-theme=light] .exp-card{box-shadow:0 1px 3px #0000000a}[data-theme=light] .nav.stuck{background:#f5f5faeb!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.form-field input:focus~label,.form-field textarea:focus~label{top:-.8rem;font-size:.5rem;color:var(--violet)}.form-field input:not(:placeholder-shown)~label,.form-field textarea:not(:placeholder-shown)~label{opacity:0;pointer-events:none}.btn-clip{transition:opacity .2s,transform .2s,background .2s}.btn-clip:hover{opacity:.85;transform:translateY(-1px)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--violet);border-radius:2px}@media (max-width: 768px){.divider{margin:0 1.5rem}.section-title{font-size:clamp(2rem,8vw,3rem)!important}.hero-intro-text{font-size:clamp(2.5rem,10vw,4rem)!important}}.mobile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;background:#060812f2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;opacity:0;pointer-events:none;transition:opacity .3s ease}.mobile-overlay.open{opacity:1;pointer-events:all}.mobile-overlay a{font-family:Bebas Neue,sans-serif;font-size:2rem;letter-spacing:.1em;color:var(--dim);text-decoration:none;transition:color .2s}.mobile-overlay a:hover{color:var(--white)}.mobile-controls{display:flex;gap:1rem;margin-top:1rem}.mobile-cta{font-family:IBM Plex Mono,monospace;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;background:var(--green);color:var(--bg);font-weight:700;padding:.8rem 2rem;text-decoration:none;margin-top:1rem;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,0 100%)}.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border)}.expertise-header{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:4rem}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;max-width:1100px;margin:0 auto}.approach-grid{display:grid;grid-template-columns:2fr 3fr;gap:6rem;align-items:start}.about-grid{display:grid;grid-template-columns:1fr 1fr}.contact-grid{display:grid;grid-template-columns:1fr 1fr;min-height:70vh}.footer-inner{display:flex;align-items:center;justify-content:space-between}@media (max-width: 1024px){.expertise-header{grid-template-columns:1fr;gap:1.5rem}.projects-grid{grid-template-columns:repeat(2,1fr)}.approach-grid{grid-template-columns:1fr;gap:3rem}.about-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr;min-height:auto}}@media (max-width: 768px){.expertise-grid,.projects-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.footer-inner{flex-direction:column;gap:1.5rem;text-align:center}.footer-inner>div:last-child{align-items:center}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr}}.projects-page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem}@media (max-width: 480px){.projects-page-grid{grid-template-columns:1fr}}.contact-submit:hover:not(:disabled){background:var(--white)!important;color:var(--bg)!important}.hover-text{color:var(--dim);transition:color .2s}.hover-text:hover{color:var(--white)}.hover-border{transition:border-color .2s,color .2s}.hover-border:hover{border-color:var(--violet)!important}.hover-violet:hover{color:var(--violet)!important}.hover-opacity{transition:opacity .2s}.hover-opacity:hover{opacity:.7}.cert:hover{border-color:var(--violet)!important;color:var(--violet)!important}.geo-item:hover{border-color:var(--violet)!important}.doc-card{transition:border-color .2s}.doc-card:hover{border-color:var(--violet)!important}.download-btn{transition:opacity .15s}.download-btn:hover{opacity:.8}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--panel) 25%,var(--border) 50%,var(--panel) 75%);background-size:200% 100%;animation:shimmer 1.5s ease infinite;border-radius:2px}.skeleton-text{height:.8rem;margin-bottom:.6rem;width:80%}.skeleton-title{height:2rem;margin-bottom:1rem;width:60%}.skeleton-card{height:200px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%)}.skip-link{position:absolute;top:-100%;left:1rem;background:var(--violet);color:#fff;padding:.5rem 1rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;z-index:10000;text-decoration:none;clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,0 100%)}.skip-link:focus{top:1rem}.back-to-top{position:fixed;bottom:2rem;right:2rem;z-index:900;width:40px;height:40px;background:var(--violet);color:#f0f0ff;border:none;font-family:IBM Plex Mono,monospace;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,0 100%);opacity:0;pointer-events:none;transition:opacity .3s,transform .2s}.back-to-top.visible{opacity:1;pointer-events:all}.back-to-top:hover{transform:translateY(-2px)}.filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;padding:1.5rem 3rem;border-bottom:1px solid var(--border)}.filter-chip{font-family:IBM Plex Mono,monospace;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;padding:.4rem .8rem;border:1px solid var(--border);background:transparent;color:var(--dim);cursor:pointer;transition:all .2s;clip-path:polygon(0 0,calc(100% - 4px) 0,100% 4px,100% 100%,0 100%)}.filter-chip:hover{border-color:var(--violet);color:var(--violet)}.filter-chip.active{background:var(--violet);color:#f0f0ff;border-color:var(--violet)}@media (max-width: 768px){.filter-bar{padding:1rem 1.5rem}}:focus-visible{outline:2px solid var(--violet);outline-offset:2px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--violet);outline-offset:2px}[data-theme=light] .divider:after{box-shadow:0 0 8px #5757ff80,0 0 3px #5757ff4d}[data-theme=light] .proj-card{box-shadow:0 2px 12px #5757ff14}[data-theme=light] .proj-card:hover{box-shadow:0 8px 24px #5757ff26!important;transform:translateY(-4px)}[data-theme=light] .exp-card{box-shadow:0 1px 6px #5757ff0f}[data-theme=dark] .proj-card:hover{box-shadow:0 8px 20px #5757ff1f}.geo-item:hover{background:var(--card-hover)!important;transform:translate(2px)}.doc-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #5757ff1a}.download-btn:hover{transform:scale(.98)}.contact-submit:hover:not(:disabled){transform:translateY(-1px)}.step:hover{background:var(--card-hover)}.nav-cta,.mobile-cta{background:var(--green)!important;color:var(--bg)!important}.nav-cta:hover{background:var(--white)!important}
