:root{--color-bg:#060c16;--color-surface:#0c1828;--color-surface-2:#132035;--color-border:#78a0d72e;--color-border-gold:#e8943a52;--color-blue:#4d8ffa;--color-blue-light:#74aaff;--color-blue-glow:#4d8ffa52;--color-gold:#e8943a;--color-gold-light:#ffb85a;--color-gold-glow:#e8943a4d;--color-text:#f0f4fc;--color-text-muted:#a8bdd4;--color-text-subtle:#6e90b4;--color-danger:#ff7070;--color-on-accent:#04101e;--color-focus:#74aaff;--color-surface-card:#0f1a2ce0;--color-surface-glass:#0f1a2ccc;--color-surface-deep:#0a1220f7;--color-surface-input:#122032e0;--color-nav-bg:#060c16eb;--color-overlay:#040a14f7;--color-section-tint:#0f1a2cb8;--font-display:"Outfit", sans-serif;--font-body:"Outfit", sans-serif;--font-mono:"JetBrains Mono", monospace;--size-base:18px;--size-sm:16px;--size-lg:20px;--size-xl:24px;--size-2xl:32px;--size-3xl:42px;--size-4xl:56px;--size-5xl:72px;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--shadow-card:0 16px 40px #0206108f, 0 1px 0 var(--color-border);--shadow-glow:0 0 36px var(--color-blue-glow);--shadow-gold:0 0 32px var(--color-gold-glow);--transition:.3s cubic-bezier(.4, 0, .2, 1);--transition-slow:.6s cubic-bezier(.4, 0, .2, 1);--section-pad:32px}[data-theme=light]{--color-bg:#f4f7ff;--color-surface:#fff;--color-surface-2:#eaf0fb;--color-border:#0f1e501f;--color-border-gold:#8c440038;--color-blue:#1a5cd9;--color-blue-light:#2468e8;--color-blue-glow:#1a5cd929;--color-gold:#8c4400;--color-gold-light:#b05a12;--color-gold-glow:#8c440024;--color-text:#0d1929;--color-text-muted:#2d4060;--color-text-subtle:#5070a0;--color-danger:#b91c1c;--color-on-accent:#fff;--color-focus:#1a5cd9;--color-surface-card:#fffffff0;--color-surface-glass:#ffffffdb;--color-surface-deep:#fafcfffa;--color-surface-input:#fffffff7;--color-nav-bg:#f4f7fff0;--color-overlay:#f4f7fff7;--color-section-tint:#dce8fc8c;--shadow-card:0 4px 24px #0f173c17, 0 1px 0 #0f173c0f;--shadow-glow:0 0 24px #1a5cd92e;--shadow-gold:0 0 20px #8c440024}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:var(--size-base);-webkit-text-size-adjust:100%;scroll-padding-top:80px}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(circle at 14% 12%,#e8943a38,#0000 34%),radial-gradient(circle at 85% 82%,#e8943a24,#0000 38%),linear-gradient(165deg,#060c16 0%,#0a1422 52%,#1a120b 100%);background-attachment:fixed;line-height:1.7;overflow-x:hidden}[data-theme=light] body{background-image:radial-gradient(circle at 12% 8%,#b05a121a,#0000 34%),radial-gradient(circle at 88% 84%,#b05a1214,#0000 36%),linear-gradient(165deg,#f4f7ff 0%,#f0f3fb 58%,#fff4e8 100%)}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.15}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-surface-2)}::-webkit-scrollbar-thumb{background:var(--color-blue);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-blue-light)}::selection{color:var(--color-text);background:#6d98cd47}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{box-shadow:0 0 0 3px #0c121ae6,0 0 0 5px #9fc2e86b}.skip-link{background:var(--color-blue);color:var(--color-on-accent);border-radius:var(--radius-sm);z-index:9999;padding:.5rem 1rem;font-weight:600;transition:top .2s;position:absolute;top:-100%;left:1rem}.skip-link:focus{top:1rem}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 2rem}.section{padding:var(--section-pad) 0;position:relative}.section-label{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--color-gold);margin-bottom:.75rem;font-size:13px}.section-title{font-size:clamp(var(--size-xl), 3vw, var(--size-3xl));color:var(--color-text);margin-bottom:.75rem;font-weight:800}.section-title span{color:var(--color-blue)}.section-subtitle{font-size:var(--size-lg);color:var(--color-text-muted);max-width:600px;line-height:1.7}.glass-card{background:var(--color-surface-glass);-webkit-backdrop-filter:blur(16px);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition)}.glass-card:hover{box-shadow:var(--shadow-card), var(--shadow-glow);border-color:#8ab2de66;transform:translateY(-4px)}.glass-card:focus-visible{box-shadow:var(--shadow-card), var(--shadow-glow), 0 0 0 3px #0c121ae6, 0 0 0 5px #9fc2e86b;border-color:#8ab2de66;transform:translateY(-4px)}.project-card:hover,.project-card:focus-within{border-color:#8ab2de47;transform:translateY(-4px);box-shadow:0 12px 28px #020a1880}.btn{border-radius:var(--radius-md);font-family:var(--font-display);font-size:var(--size-base);letter-spacing:.02em;transition:all var(--transition);align-items:center;gap:.5rem;padding:.85rem 2rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:var(--color-blue);color:var(--color-on-accent);box-shadow:0 0 20px var(--color-blue-glow)}.btn-primary:hover{background:var(--color-blue-light);box-shadow:0 0 36px var(--color-blue-glow);transform:translateY(-2px)}.btn-outline{color:var(--color-text);border:1px solid var(--color-border);background:0 0}.btn-outline:hover{border-color:var(--color-gold);color:var(--color-gold);box-shadow:0 0 20px var(--color-gold-glow);transform:translateY(-2px)}.btn-primary:focus-visible{background:var(--color-blue-light);box-shadow:0 0 0 3px #0c121ae6, 0 0 0 5px #9fc2e86b, 0 0 36px var(--color-blue-glow);transform:translateY(-2px)}.btn-outline:focus-visible{border-color:var(--color-gold);color:var(--color-gold);box-shadow:0 0 0 3px #0c121ae6, 0 0 0 5px #9fc2e86b, 0 0 20px var(--color-gold-glow);transform:translateY(-2px)}button:disabled{cursor:not-allowed;opacity:.65}@keyframes fade-up{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes pulse-ring{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.4)}}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes draw-line{0%{height:0}to{height:100%}}@keyframes skill-fill{0%{width:0%}to{width:var(--target-width)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes orbit{0%{transform:rotate(0)translate(80px)rotate(0)}to{transform:rotate(360deg)translate(80px)rotate(-360deg)}}@keyframes mesh-move{0%{transform:translate(0)scale(1)}33%{transform:translate(-30px,20px)scale(1.05)}66%{transform:translate(20px,-15px)scale(.97)}to{transform:translate(0)scale(1)}}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(32px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transition:opacity .7s,transform .7s;transform:translate(-40px)}.reveal-left.visible{opacity:1;transform:translate(0)}.reveal-right{opacity:0;transition:opacity .7s,transform .7s;transform:translate(40px)}.reveal-right.visible{opacity:1;transform:translate(0)}.tag{font-family:var(--font-mono);color:var(--color-blue-light);white-space:nowrap;background:#6d98cd2e;border:1px solid #8ab2de4d;border-radius:100px;padding:.25rem .75rem;font-size:13px;display:inline-block}.section-divider{background:linear-gradient(90deg, var(--color-blue), var(--color-gold));border-radius:2px;width:64px;height:3px;margin-bottom:1.25rem}.grid-bg{pointer-events:none;background-image:linear-gradient(#94a3b814 1px,#0000 1px),linear-gradient(90deg,#94a3b814 1px,#0000 1px);background-size:60px 60px;position:absolute;inset:0}@media (width<=1024px){:root{--section-pad:40px}}@media (width<=768px){:root{--section-pad:28px;--size-base:17px}.container{padding:0 1.25rem}.contact-grid{grid-template-columns:1fr!important}}@media (width<=480px){:root{--section-pad:24px;--size-base:16px}.container{padding:0 1rem}}@media (width>=1600px){:root{--size-base:20px;--section-pad:48px}.container{max-width:1440px}}@media (width>=2560px){:root{--size-base:22px}.container{max-width:1800px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal,.reveal-left,.reveal-right{opacity:1;transition:none;transform:none}}.approach-page{background:radial-gradient(circle at 10% 0%, var(--color-blue-glow), transparent 34%), radial-gradient(circle at 90% 30%, var(--color-gold-glow), transparent 36%), var(--color-bg);min-height:100vh}.approach-scroll-progress{z-index:1400;background:linear-gradient(90deg, var(--color-blue), var(--color-gold));transform-origin:0%;height:3px;position:fixed;top:0;left:0;right:0}.approach-topbar{z-index:1300;border-bottom:1px solid var(--color-border);background:var(--color-nav-bg);-webkit-backdrop-filter:blur(10px);justify-content:space-between;align-items:center;padding:.85rem 1.2rem;display:flex;position:sticky;top:0}.approach-back{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);padding:.45rem .85rem;font-size:.84rem;transition:border-color .2s,color .2s}.approach-back:hover{border-color:var(--color-blue);color:var(--color-blue)}.approach-topbar-label{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--color-text-subtle);font-size:11px}.approach-hero{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:baseline;gap:.6rem 1.25rem;padding:.85rem 1.4rem .8rem;display:flex}.approach-kicker{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-gold);white-space:nowrap;font-size:11px}.approach-hero h1{margin:0;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1}.approach-hero .approach-subtitle{margin:0;font-size:.87rem}.approach-subtitle{color:var(--color-text-muted);font-size:.9rem}.approach-body-grid{border-bottom:1px solid var(--color-border);grid-template-columns:1fr 1fr;display:grid}.approach-col-left{border-right:1px solid var(--color-border);flex-direction:column;gap:1.1rem;padding:1.25rem 1.4rem;display:flex}.approach-col-right{padding:1.25rem 1.4rem}.approach-static-stack{flex-direction:column;gap:.5rem;display:flex}.approach-static-stack h2{font-size:clamp(1.05rem,1.8vw,1.35rem);line-height:1.35}.approach-system-intro{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--color-text-subtle);margin-bottom:.65rem;font-size:11px}.approach-diagram{grid-template-columns:repeat(2,1fr);gap:.55rem;display:grid}.approach-node{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-card);color:var(--color-text);text-align:left;padding:.6rem .8rem;font-size:.88rem;transition:border-color .2s,background-color .2s,transform .15s}.approach-node:hover{transform:translateY(-2px)}.approach-node.active{border-color:var(--color-blue);background:#4d8ffa1f}.approach-node-detail{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-input);color:var(--color-text-muted);grid-column:1/-1;padding:.7rem .85rem;font-size:.87rem;line-height:1.65}.approach-center{grid-template-columns:repeat(2,1fr);gap:.65rem;display:grid}.approach-decision-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-card);text-align:center;padding:.75rem 1rem;font-size:.9rem;font-weight:600}.approach-section-title{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-subtle);margin-bottom:.45rem;font-size:11px}.approach-progress-bar{background:#94a3b833;border-radius:999px;width:100%;height:6px;overflow:hidden}.approach-progress-fill{background:linear-gradient(90deg, var(--color-blue), var(--color-gold));height:100%}@media (width<=900px){.approach-body-grid{grid-template-columns:1fr}.approach-col-left{border-right:none;border-bottom:1px solid var(--color-border)}.approach-topbar{padding:.75rem .95rem}}@media (width<=560px){.approach-center,.approach-diagram{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.approach-scroll-progress{transform:none!important}.approach-node,.approach-back{transition:none}.approach-node:hover{transform:none}}
