:root{--background:#0f0f0f;--text:#fff;--accent:#ff3c00;--secondary:#333;--light-gray:#f5f5f5;--blue:#5352ed;--transition:0.6s cubic-bezier(0.33,1,0.68,1);--heading-font:"Della Respira",serif;--body-font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--text-strong:#fff;--text-soft:#ffffffe6;--text-muted:#ffffffb3;--text-faint:#ffffff80;--text-dim:#fff6;--border-soft:#ffffff2e;--border-faint:#ffffff14;--surface-soft:#ffffff05;--nav-bg-scrolled:#0f0f0ff2;--scrollbar-thumb-idle:#ff3c0073;--scrollbar-thumb-hover:#ff3c00d9}:root.light-mode{--background:#f5f5f0;--text:#1a1a1a;--secondary:#e0e0e0;--light-gray:#333;--text-strong:#000;--text-soft:#000000d9;--text-muted:#000000b3;--text-faint:#0000008c;--text-dim:#0006;--border-soft:#0000002e;--border-faint:#0000001a;--surface-soft:#00000008;--nav-bg-scrolled:#f5f5f0f2;--scrollbar-thumb-idle:#0006;--scrollbar-thumb-hover:#ff3c00b3}*{box-sizing:border-box;margin:0;padding:0}:after,:before{box-sizing:inherit}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0f0f0f;background-color:var(--background);color:#fff;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--body-font);line-height:1.6;overflow-x:hidden;transition:background-color .5s ease,color .5s ease}html{scroll-behavior:smooth;scroll-padding-top:80px;scrollbar-color:#0000 #0000;scrollbar-width:thin;transition:scrollbar-color .4s ease}html.is-scrolling{scrollbar-color:#ff3c0073 #0000;scrollbar-color:var(--scrollbar-thumb-idle) #0000}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#0000;background-clip:padding-box;border:2px solid #0000;border-radius:10px;-webkit-transition:background .5s cubic-bezier(.33,1,.68,1);transition:background .5s cubic-bezier(.33,1,.68,1)}html.is-scrolling ::-webkit-scrollbar-thumb{background:#ff3c0073;background:var(--scrollbar-thumb-idle);background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#ff3c00d9!important;background:var(--scrollbar-thumb-hover)!important;background-clip:padding-box}::-webkit-scrollbar-corner{background:#0000}.container{margin:0 auto;max-width:1800px;padding:0 20px;width:90%}a{color:#fff;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--body-font);text-decoration:none;transition:all .4s cubic-bezier(.33,1,.68,1)}a:hover{color:#ff3c00;color:var(--accent);transform:translateX(3px)}h1,h2,h3,h4,h5{font-family:Della Respira,serif;font-family:var(--heading-font);font-weight:700;letter-spacing:-.5px;line-height:1.2}.light-mode .subtitle{color:#000000b3}.light-mode .about-text p{color:#000c}.light-mode .about-text p:hover{color:#000}.light-mode .about-img{box-shadow:0 15px 50px #00000026}.light-mode .about-img:hover{box-shadow:0 20px 60px #ff3c0026}.light-mode .img-placeholder{box-shadow:0 20px 60px #00000026}.light-mode .project-item:hover .img-placeholder{box-shadow:0 25px 70px #ff3c0026}.light-mode .project-divider{background:linear-gradient(90deg,#0000,#0000001a 50%,#0000)}.light-mode .contact-content p{color:#000c}.light-mode .social-links a{border-color:#fff;border-color:var(--text)}.light-mode footer{border-top-color:#0000001a}.light-mode footer:hover{border-top-color:#ff3c004d}.light-mode footer:hover p{color:#000}.light-mode .main-nav.scrolled{background-color:#f5f5f0f2;box-shadow:0 5px 20px #00000014}.light-mode .scroll-line{background:linear-gradient(180deg,#ff3c00,#0000);background:linear-gradient(to bottom,var(--accent),#0000)}button,input,p,span,textarea{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--body-font)}section{padding:150px 0;position:relative}.section-header{align-items:baseline;animation:fadeInUp .8s cubic-bezier(.33,1,.68,1) forwards;display:flex;margin-bottom:80px;opacity:0;position:relative;transform:translateY(50px)}.section-number{color:#ff3c00;color:var(--accent);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--body-font);font-size:1.3rem;font-weight:600;margin-right:25px;opacity:.9;transition:all .3s ease}.section-header:hover .section-number{opacity:1;transform:translateX(5px)}.section-header h2{font-family:Della Respira,serif;font-family:var(--heading-font);font-size:4.2rem;position:relative;transition:all .3s ease}.section-header h2:after{background:linear-gradient(90deg,#ff3c00,#0000);background:linear-gradient(90deg,var(--accent),#0000);bottom:-10px;content:"";height:3px;left:0;position:absolute;transition:width .6s cubic-bezier(.33,1,.68,1);width:0}.section-header:hover h2:after{width:120px}::selection{background:#ff3c00;background:var(--accent);color:#0f0f0f;color:var(--background)}::-moz-selection{background:#ff3c00;background:var(--accent);color:#0f0f0f;color:var(--background)}@media screen and (max-width:768px){.section-header h2{font-size:2.8rem}.section-number{font-size:1.1rem;margin-right:15px}section{padding:80px 0}}.preloader{align-items:center;background-color:var(--background);display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;transition:opacity .8s cubic-bezier(.77,0,.175,1),transform 1s cubic-bezier(.77,0,.175,1);width:100%;z-index:9999}.preloader.fade-out{opacity:0;transform:translateY(-100%)}.greeting-container{overflow:hidden;text-align:center}.greeting{color:var(--text);font-family:var(--heading-font);font-size:5vw;font-weight:700;margin:0;transition:opacity .3s ease,transform .3s ease}.greeting-fade-in{animation:slideUp .5s cubic-bezier(.33,1,.68,1);opacity:1;transform:translateY(0)}.greeting-fade-out{opacity:0;transform:translateY(-20px)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media screen and (max-width:768px){.greeting{font-size:8vw}}.main-nav{left:0;mix-blend-mode:difference;padding:30px 0;position:fixed;top:0;transition:all .4s cubic-bezier(.33,1,.68,1);width:100%;z-index:100}.main-nav.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#0f0f0ff2;box-shadow:0 5px 20px #0000004d;padding:20px 0}.nav-container{justify-content:space-between;padding:0 40px}.logo,.nav-container{align-items:center;display:flex}.logo{cursor:pointer;font-family:var(--heading-font);font-size:2.2rem;font-weight:700;height:40px;justify-content:center;letter-spacing:1px;position:relative;transition:transform .4s cubic-bezier(.33,1,.68,1),color .3s ease;width:40px}.logo .theme-icon,.logo-ds{position:absolute;transition:opacity .6s ease,transform .6s cubic-bezier(.33,1,.68,1)}.logo-ds{font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit}.logo .theme-icon.visible,.logo-ds.visible{opacity:1;transform:scale(1) rotate(0deg)}.logo .theme-icon.hidden,.logo-ds.hidden{opacity:0;transform:scale(.5) rotate(-20deg)}.logo:hover .theme-icon.visible{transform:scale(1) rotate(30deg)}.logo:hover{color:var(--accent);transform:scale(1.08)}.menu-button{background:none;border:none;color:var(--text);cursor:pointer;font-family:var(--heading-font);font-size:2.2rem;font-weight:500;position:relative;transition:color .3s ease,transform .4s cubic-bezier(.33,1,.68,1)}.menu-button:after{background-color:var(--accent);bottom:-3px;content:"";height:2px;left:0;position:absolute;transition:width .4s cubic-bezier(.33,1,.68,1);width:0}.menu-button:hover{color:var(--accent);transform:scale(1.08)}.menu-button:hover:after{width:100%}.menu-overlay{align-items:center;background-color:var(--background);display:flex;height:100vh;justify-content:center;left:0;opacity:0;pointer-events:none;position:fixed;top:0;transition:opacity .6s cubic-bezier(.77,0,.175,1);width:100%;z-index:99}.menu-overlay.active{opacity:1;pointer-events:all}.menu-links{list-style:none;text-align:center}.menu-links li{margin:30px 0;opacity:0;transform:translateY(30px);transition:opacity .6s cubic-bezier(.33,1,.68,1),transform .6s cubic-bezier(.33,1,.68,1);transition-delay:calc(.1s*var(--i))}.menu-overlay.active .menu-links li{opacity:1;transform:translateY(0)}.menu-link{display:inline-block;font-family:var(--heading-font);font-size:clamp(2.5rem,4vw,5.5rem);font-weight:700;position:relative;transition:color .3s ease,transform .4s cubic-bezier(.33,1,.68,1)}.menu-link:hover{transform:translateX(15px)}.menu-link:after{background:linear-gradient(90deg,var(--accent),var(--blue));bottom:0;content:"";height:3px;left:0;position:absolute;transition:width .5s cubic-bezier(.33,1,.68,1);width:0}.menu-link:hover:after{width:100%}@media screen and (max-width:768px){.nav-container{padding:0 20px}.logo{height:32px;width:32px}.logo,.menu-button{font-size:1.6rem}.menu-link{font-size:2.5rem}}footer{border-top:1px solid #ffffff1a;opacity:.7;padding:60px 0;position:relative;text-align:center;transition:opacity .5s cubic-bezier(.33,1,.68,1),border-color .5s ease}footer:hover{border-top-color:#ff3c004d;opacity:1}footer:before{background:linear-gradient(90deg,#0000,var(--accent),#0000);content:"";height:1px;left:50%;position:absolute;top:-1px;transform:translateX(-50%);transition:width .6s cubic-bezier(.33,1,.68,1);width:0}footer:hover:before{width:100%}footer p{font-family:var(--body-font);font-size:1rem;transition:transform .4s cubic-bezier(.33,1,.68,1),color .3s ease}footer:hover p{color:#fff;transform:translateY(-3px)}.back-to-top{align-items:center;background:var(--background);border:1.5px solid var(--text);border-radius:50%;bottom:32px;box-shadow:0 6px 20px #00000040;display:flex;height:52px;justify-content:center;opacity:0;position:fixed;right:32px;transform:translateY(20px) scale(.85);transition:opacity .5s cubic-bezier(.33,1,.68,1),visibility .5s cubic-bezier(.33,1,.68,1),transform .5s cubic-bezier(.33,1,.68,1),background .4s ease,border-color .4s ease,color .4s ease,box-shadow .4s ease;visibility:hidden;width:52px;z-index:90}.back-to-top.visible{opacity:1;transform:translateY(0) scale(1);visibility:visible}.back-to-top:hover{background:var(--accent);border-color:var(--accent);box-shadow:0 12px 30px #ff3c0073;color:var(--background);transform:translateY(-4px) scale(1.05)}.back-to-top:active{transform:translateY(-2px) scale(1)}.back-to-top svg{transition:transform .4s cubic-bezier(.33,1,.68,1)}.back-to-top:hover svg{transform:translateY(-2px)}@media screen and (max-width:768px){.back-to-top{bottom:20px;height:44px;right:20px;width:44px}.back-to-top svg{height:16px;width:16px}}.hero-section{display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:100px 0 50px;position:relative}.main-title{display:block;font-family:var(--heading-font);font-size:clamp(3.2rem,6vw,9rem);letter-spacing:-1px;margin-bottom:20px;opacity:0;overflow:visible;text-align:center;transform:translateY(100px);transition:all 1.2s cubic-bezier(.33,1,.68,1);white-space:nowrap}.main-title.animate-in{opacity:1;transform:translateY(0)}.subtitle{color:#ffffffe6;display:block;font-family:var(--heading-font);font-size:clamp(1.5rem,2vw,2.8rem);margin-bottom:60px;opacity:0;text-align:center;transform:translateY(50px);transition:all 1s cubic-bezier(.33,1,.68,1) .3s}.subtitle.animate-in{opacity:1;transform:translateY(0)}.scroll-indicator{align-items:center;animation:float 3s ease-in-out infinite;bottom:40px;display:flex;flex-direction:column;font-family:var(--body-font);font-size:.95rem;gap:10px;left:50%;opacity:.8;position:absolute;transform:translateX(-50%);transition:opacity .4s ease}.scroll-indicator:hover{opacity:1}.scroll-line{animation:scrollLine 3s ease-in-out infinite;background:linear-gradient(to bottom,var(--accent),#0000);height:35px;width:1px}@media screen and (max-width:768px){.main-title{font-size:3.2rem;letter-spacing:-.5px}.subtitle{font-size:1.5rem}}@media screen and (max-width:480px){.main-title{font-size:2.2rem;letter-spacing:0}.subtitle{font-size:1.2rem}}.design-about-section{background:var(--background);padding:150px 0;position:relative}.design-about-content{grid-gap:100px;align-items:center;display:grid;gap:100px;grid-template-columns:1.3fr 1fr}.design-about-text{opacity:0;transform:translateY(40px);transition:opacity 1s cubic-bezier(.33,1,.68,1),transform 1s cubic-bezier(.33,1,.68,1)}.design-about-text.visible{opacity:1;transform:translateY(0)}.design-about-text p{color:var(--text-soft);font-size:clamp(1.25rem,1.2vw,1.8rem);font-weight:300;letter-spacing:.2px;line-height:1.8;margin-bottom:25px;text-align:justify;transition:all .3s ease}.design-about-text p:hover{color:var(--text-strong)}.design-about-text p strong{color:var(--accent);font-weight:600}.design-about-pillars{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr);margin-top:50px}.design-about-pillar{border-left:2px solid var(--accent);opacity:0;padding:6px 0 6px 20px;transform:translateX(-20px);transition:opacity .8s cubic-bezier(.33,1,.68,1),transform .8s cubic-bezier(.33,1,.68,1)}.design-about-text.visible .design-about-pillar{opacity:1;transform:translateX(0)}.design-about-text.visible .design-about-pillar:nth-child(2){transition-delay:.1s}.design-about-text.visible .design-about-pillar:nth-child(3){transition-delay:.2s}.design-about-text.visible .design-about-pillar:nth-child(4){transition-delay:.3s}.design-about-pillar-label{color:var(--accent);display:block;font-size:.75rem;letter-spacing:2px;margin-bottom:6px;text-transform:uppercase}.design-about-pillar-value{color:var(--text);font-family:var(--heading-font);font-size:1.3rem}.design-about-image{opacity:0;transform:translateY(60px);transition:opacity 1.2s cubic-bezier(.33,1,.68,1) .2s,transform 1.2s cubic-bezier(.33,1,.68,1) .2s}.design-about-image.visible{opacity:1;transform:translateY(0)}.design-about-img-wrapper{aspect-ratio:4/5;background:linear-gradient(135deg,#1a1a1a,#2a2a2a);border:1px solid #ff3c002e;border-radius:4px;overflow:hidden;position:relative;transition:border-color .6s cubic-bezier(.33,1,.68,1),box-shadow .6s cubic-bezier(.33,1,.68,1),transform .6s cubic-bezier(.33,1,.68,1)}.design-about-img-wrapper:hover{border-color:var(--accent);box-shadow:0 30px 80px #ff3c001f;transform:translateY(-4px)}.design-about-img{display:block;filter:grayscale(15%) contrast(1.02);height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.33,1,.68,1),filter .6s ease;width:100%}.design-about-img-wrapper:hover .design-about-img{filter:grayscale(0) contrast(1.05);transform:scale(1.04)}.design-about-img-caption{color:var(--text-faint);font-size:.85rem;letter-spacing:1px;margin-top:16px;text-transform:uppercase}@media screen and (max-width:968px){.design-about-section{padding:80px 0}.design-about-content{gap:60px}.design-about-content,.design-about-pillars{grid-template-columns:1fr}}.case-study-overlay{background:var(--background);inset:0;opacity:0;position:fixed;transition:opacity .5s cubic-bezier(.33,1,.68,1),visibility .5s cubic-bezier(.33,1,.68,1);visibility:hidden;z-index:10000}.case-study-overlay.active{opacity:1;visibility:visible}.cs-detail-close{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f0f0fb3;border:1px solid var(--text);border-radius:30px;color:var(--text);cursor:pointer;display:inline-flex;font-family:var(--body-font);font-size:.85rem;font-weight:500;gap:10px;letter-spacing:1.5px;padding:12px 24px;position:fixed;right:40px;text-transform:uppercase;top:30px;transition:all .4s cubic-bezier(.33,1,.68,1);z-index:10010}.cs-detail-close:hover{background:var(--accent);border-color:var(--accent);color:var(--background);transform:scale(1.05)}.cs-detail-close-icon{font-size:1.05rem;line-height:1}.cs-detail-scroll{height:100vh;overflow-y:auto;scroll-behavior:smooth}.cs-detail-hero{display:flex;flex-direction:column;justify-content:center;margin:0 auto;max-width:1400px;min-height:90vh;padding:100px 60px 60px;width:100%}.cs-detail-label{animation:cs-fade-up .8s cubic-bezier(.33,1,.68,1) .2s forwards;color:var(--accent);font-family:var(--body-font);font-size:.85rem;font-weight:600;letter-spacing:4px;margin-bottom:30px;opacity:0;text-transform:uppercase;transform:translateY(20px)}.cs-detail-title{animation:cs-fade-up 1.2s cubic-bezier(.33,1,.68,1) .3s forwards;font-family:var(--heading-font);font-size:clamp(3.5rem,8vw,8rem);letter-spacing:-2px;line-height:1;margin-bottom:30px;opacity:0;transform:translateY(40px)}.cs-detail-title-line{animation:cs-line-grow .8s cubic-bezier(.33,1,.68,1) .6s forwards;background:var(--accent);height:3px;margin-bottom:36px;opacity:0;transform:scaleX(0);transform-origin:left;width:80px}.cs-detail-tagline{animation:cs-fade-up 1s cubic-bezier(.33,1,.68,1) .7s forwards;color:var(--text-soft);font-family:var(--body-font);font-size:clamp(1.3rem,1.8vw,2.1rem);font-style:italic;line-height:1.4;margin-bottom:40px;max-width:900px;opacity:0;transform:translateY(20px)}.cs-detail-hero-meta{animation:cs-fade-up .8s cubic-bezier(.33,1,.68,1) .9s forwards;display:flex;flex-wrap:wrap;gap:14px;opacity:0;transform:translateY(20px)}.cs-meta-pill{border:1px solid var(--border-soft);border-radius:30px;color:var(--text);font-family:var(--body-font);font-size:.78rem;font-weight:500;letter-spacing:2px;padding:8px 18px;text-transform:uppercase}.cs-detail-image-section{animation:cs-fade-up 1.2s cubic-bezier(.33,1,.68,1) 1s forwards;margin:0 auto;max-width:1400px;opacity:0;padding:0 60px 40px;transform:translateY(40px);width:100%}.cs-detail-image-wrapper{aspect-ratio:16/10;background:#181818;border:1px solid var(--border-faint);border-radius:6px;overflow:hidden;position:relative}.cs-detail-image{display:block;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.33,1,.68,1);width:100%}.cs-detail-image-wrapper:hover .cs-detail-image{transform:scale(1.02)}.cs-detail-image-caption{align-items:center;display:flex;gap:16px;margin-top:20px;padding-left:4px}.cs-caption-line{background:var(--accent);height:1px;width:30px}.cs-caption-text{color:var(--text-muted);font-family:var(--body-font);font-size:.78rem;font-weight:500;letter-spacing:2px;text-transform:uppercase}.cs-detail-body{margin:0 auto;max-width:1200px;padding:80px 60px 120px;width:100%}.cs-detail-meta-grid{grid-gap:50px;border-bottom:1px solid var(--border-faint);display:grid;gap:50px;grid-template-columns:repeat(3,1fr);margin-bottom:80px;padding-bottom:80px}.cs-detail-meta-item{animation:cs-fade-up .8s cubic-bezier(.33,1,.68,1) 1.1s forwards;display:flex;flex-direction:column;gap:10px;opacity:0;transform:translateY(20px)}.cs-detail-meta-item:nth-child(2){animation-delay:1.2s}.cs-detail-meta-item:nth-child(3){animation-delay:1.3s}.cs-meta-number{color:var(--text-dim);font-family:var(--body-font);font-size:2.5rem;font-weight:300;letter-spacing:-1px;line-height:1;margin-bottom:6px}.cs-meta-label{color:var(--accent);font-family:var(--body-font);font-size:.72rem;font-weight:600;letter-spacing:3px;text-transform:uppercase}.cs-meta-value{color:var(--text-soft);font-family:var(--body-font);font-size:1rem;font-weight:400;line-height:1.5}.cs-detail-section{animation:cs-fade-up 1s cubic-bezier(.33,1,.68,1) 1.4s forwards;margin-bottom:80px;opacity:0;transform:translateY(30px)}.cs-section-header{align-items:center;display:flex;gap:18px;margin-bottom:28px}.cs-section-line{background:var(--accent);height:2px;width:40px}.cs-section-title{color:var(--text);font-family:var(--heading-font);font-size:clamp(1.6rem,2vw,2.2rem);letter-spacing:-.5px}.cs-summary-para{color:var(--text-soft);font-family:var(--body-font);font-size:clamp(1.05rem,1.1vw,1.4rem);font-weight:300;letter-spacing:.2px;line-height:1.8;max-width:900px;text-align:justify}.cs-detail-tools{display:flex;flex-wrap:wrap;gap:12px}.cs-detail-tool{animation:cs-fade-up .6s cubic-bezier(.33,1,.68,1) forwards;border:1px solid var(--border-soft);border-radius:30px;color:var(--text-muted);font-family:var(--body-font);font-size:.85rem;letter-spacing:1px;opacity:0;padding:10px 20px;transform:translateY(10px);transition:all .3s ease}.cs-detail-tool:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.cs-detail-cta-block{animation:cs-fade-up 1s cubic-bezier(.33,1,.68,1) 1.6s forwards;background:#ff3c000a;border:1px solid #ff3c002e;border-radius:8px;margin-bottom:80px;opacity:0;padding:50px;transform:translateY(30px)}.cs-cta-copy{color:var(--text-soft);font-size:1.1rem;font-weight:300;letter-spacing:.2px;line-height:1.7;margin-bottom:30px;max-width:720px}.cs-cta-copy,.cs-detail-cta{font-family:var(--body-font)}.cs-detail-cta{align-items:center;background:#0000;border:2px solid var(--accent);border-radius:50px;color:var(--text);cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:14px;letter-spacing:1.5px;overflow:hidden;padding:18px 36px;position:relative;text-decoration:none;text-transform:uppercase;transition:all .5s cubic-bezier(.33,1,.68,1)}.cs-detail-cta:before{background:var(--accent);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .5s cubic-bezier(.33,1,.68,1);z-index:-1}.cs-detail-cta:hover{box-shadow:0 15px 40px #ff3c0066;color:var(--background);transform:translateY(-3px) scale(1.02)}.cs-detail-cta:hover:before{transform:translateX(0)}.cs-cta-arrow{font-size:1.1rem;transition:transform .4s ease}.cs-detail-cta:hover .cs-cta-arrow{transform:translate(4px,-4px)}.cs-detail-footer{animation:cs-fade-up .8s cubic-bezier(.33,1,.68,1) 1.8s forwards;border-top:1px solid var(--border-faint);display:flex;justify-content:center;opacity:0;padding-top:40px}.cs-back-to-top{background:#0000;border:1px solid var(--border-soft);border-radius:30px;color:var(--text-muted);cursor:pointer;font-family:var(--body-font);font-size:.85rem;letter-spacing:2px;padding:14px 28px;text-transform:uppercase;transition:all .4s cubic-bezier(.33,1,.68,1)}.cs-back-to-top:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}@keyframes cs-fade-up{to{opacity:1;transform:translateY(0)}}@keyframes cs-line-grow{to{opacity:1;transform:scaleX(1)}}@media screen and (max-width:768px){.cs-detail-close{font-size:.75rem;padding:10px 18px;right:16px;top:16px}.cs-detail-close-text{display:none}.cs-detail-hero{padding:80px 24px 40px}.cs-detail-image-section{padding:0 24px 30px}.cs-detail-body{padding:60px 24px 80px}.cs-detail-meta-grid{gap:32px;grid-template-columns:1fr;margin-bottom:50px;padding-bottom:50px}.cs-detail-cta-block{padding:30px 24px}.cs-detail-cta{font-size:.85rem;letter-spacing:1px;padding:16px 24px}}.case-studies-section{background:var(--background)}.case-study-item{grid-gap:80px;align-items:center;border-bottom:1px solid var(--border-faint);display:grid;gap:80px;grid-template-columns:1fr 1.2fr;opacity:0;padding:80px 0;transform:translateY(60px);transition:opacity 1s cubic-bezier(.33,1,.68,1),transform 1s cubic-bezier(.33,1,.68,1)}.case-study-item.visible{opacity:1;transform:translateY(0)}.case-study-item:nth-child(2n){grid-template-columns:1.2fr 1fr}.case-study-item:nth-child(2n) .case-study-visual{order:2}.case-study-item:nth-child(2n) .case-study-info{order:1}.case-study-visual{aspect-ratio:4/3;background:linear-gradient(135deg,#181818,#262626);border:1px solid var(--border-faint);border-radius:4px;cursor:pointer;overflow:hidden;position:relative;transition:all .6s cubic-bezier(.33,1,.68,1)}.case-study-visual:hover{border-color:#ff3c0080;box-shadow:0 30px 80px #ff3c001a;transform:translateY(-4px)}.case-study-placeholder{align-items:center;color:var(--text-dim);display:flex;flex-direction:column;font-family:var(--heading-font);gap:12px;inset:0;justify-content:center;position:absolute;transition:color .4s ease}.case-study-visual:hover .case-study-placeholder{color:var(--accent)}.case-study-img{display:block;filter:brightness(.85) saturate(.9);height:100%;inset:0;object-fit:cover;position:absolute;transition:transform .8s cubic-bezier(.33,1,.68,1),filter .6s ease;width:100%}.case-study-visual:hover .case-study-img{filter:brightness(1) saturate(1.05);transform:scale(1.04)}.case-study-hover-overlay{align-items:flex-end;background:linear-gradient(0deg,#0f0f0fd9 0,#0f0f0f33 50%,#0000);display:flex;inset:0;justify-content:flex-start;opacity:0;padding:24px;pointer-events:none;position:absolute;transition:opacity .4s cubic-bezier(.33,1,.68,1)}.case-study-hover-overlay span{color:var(--text);font-family:var(--body-font);font-size:.85rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;transform:translateY(8px);transition:transform .4s cubic-bezier(.33,1,.68,1)}.case-study-visual:hover .case-study-hover-overlay{opacity:1}.case-study-visual:hover .case-study-hover-overlay span{transform:translateY(0)}.case-study-placeholder-num{font-size:3rem;line-height:1}.case-study-placeholder-label{font-size:.8rem;letter-spacing:3px}.case-study-placeholder-label,.case-study-tag{font-family:var(--body-font);text-transform:uppercase}.case-study-tag{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f0f0fd9;border:1px solid #ff3c004d;border-radius:20px;color:var(--accent);font-size:.7rem;left:24px;letter-spacing:2px;padding:8px 14px;position:absolute;top:24px}.case-study-info{padding:20px 0}.case-study-number{color:var(--accent);display:block;font-family:var(--body-font);font-size:.85rem;letter-spacing:3px;margin-bottom:18px;text-transform:uppercase}.case-study-title{font-family:var(--heading-font);font-size:clamp(2rem,3.5vw,3.2rem);letter-spacing:-1px;line-height:1.1;margin-bottom:16px}.case-study-tagline{color:var(--text-muted);font-family:var(--body-font);font-size:1.1rem;font-style:italic;line-height:1.5;margin-bottom:28px}.case-study-summary{color:var(--text-soft);font-size:clamp(1rem,1vw,1.25rem);font-weight:300;letter-spacing:.2px;line-height:1.8;margin-bottom:32px;text-align:justify}.case-study-meta{display:flex;flex-wrap:wrap;gap:40px;margin-bottom:28px}.case-study-meta-item{display:flex;flex-direction:column;gap:4px}.case-study-meta-label{color:var(--text-dim);font-size:.7rem;letter-spacing:2px;text-transform:uppercase}.case-study-meta-value{color:var(--text);font-size:.95rem;font-weight:500}.case-study-tools{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}.case-study-tool{border:1px solid var(--border-soft);border-radius:30px;color:var(--text-muted);font-family:var(--body-font);font-size:.78rem;letter-spacing:1px;padding:6px 14px;transition:all .3s ease}.case-study-tool:hover{border-color:var(--accent);color:var(--accent)}.case-study-link{align-items:center;background:#0000;border:1px solid var(--text);border-radius:30px;color:var(--text);cursor:pointer;display:inline-flex;font-family:var(--body-font);font-size:.95rem;font-weight:500;gap:10px;letter-spacing:1px;padding:12px 26px;transition:all .4s cubic-bezier(.33,1,.68,1)}.case-study-link:hover{background:var(--accent);border-color:var(--accent);color:var(--background);transform:translateX(4px)}.case-study-link-arrow{transition:transform .4s ease}.case-study-link:hover .case-study-link-arrow{transform:translateX(4px)}.light-mode .case-study-tag{background:#f5f5f0e6}@media screen and (max-width:968px){.case-study-item,.case-study-item:nth-child(2n){gap:40px;grid-template-columns:1fr}.case-study-item:nth-child(2n) .case-study-info,.case-study-item:nth-child(2n) .case-study-visual{order:0}}.process-section{background:var(--background)}.process-intro{color:var(--text-soft);font-size:clamp(1.25rem,1.2vw,1.8rem);font-weight:300;letter-spacing:.2px;line-height:1.8;margin-bottom:80px;max-width:1000px;opacity:0;text-align:justify;transform:translateY(30px);transition:opacity 1s ease,transform 1s ease}.process-intro.visible{opacity:1;transform:translateY(0)}.process-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(5,1fr)}.process-step{background:var(--surface-soft);border:1px solid var(--border-faint);border-radius:4px;opacity:0;padding:32px 24px;position:relative;transform:translateY(40px);transition:opacity .8s cubic-bezier(.33,1,.68,1),transform .8s cubic-bezier(.33,1,.68,1),border-color .4s ease,background .4s ease}.process-step.visible{opacity:1;transform:translateY(0)}.process-grid.visible .process-step:first-child{transition-delay:0s}.process-grid.visible .process-step:nth-child(2){transition-delay:.1s}.process-grid.visible .process-step:nth-child(3){transition-delay:.2s}.process-grid.visible .process-step:nth-child(4){transition-delay:.3s}.process-grid.visible .process-step:nth-child(5){transition-delay:.4s}.process-step:hover{background:#ff3c000a;border-color:var(--accent);transform:translateY(-4px)}.process-step-number{color:var(--accent);display:block;font-family:var(--body-font);font-size:.75rem;letter-spacing:3px;margin-bottom:18px}.process-step-title{font-family:var(--heading-font);font-size:1.5rem;letter-spacing:-.5px;margin-bottom:14px}.process-step-desc{color:var(--text-muted);font-size:.92rem;line-height:1.65}@media screen and (max-width:968px){.process-grid{grid-template-columns:repeat(2,1fr)}}@media screen and (max-width:568px){.process-grid{grid-template-columns:1fr}}.skills-section{background-color:var(--background);opacity:0;padding:100px 0 60px;transform:translateY(50px);transition:all 1s cubic-bezier(.33,1,.68,1)}.skills-section.visible{opacity:1;transform:translateY(0)}.skills-categories{display:flex;flex-direction:column;gap:50px;margin-top:40px}.skills-category-row{opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.33,1,.68,1);transition-delay:0s;transition-delay:var(--row-delay,0s)}.skills-category-row.visible{opacity:1;transform:translateY(0)}.skills-category-label{color:var(--accent);display:inline-block;font-family:var(--body-font);font-size:clamp(.85rem,1vw,1.1rem);font-weight:600;letter-spacing:3px;margin-bottom:18px;opacity:.9;padding-left:20px;position:relative;text-transform:uppercase}.skills-category-label:before{background:var(--accent);border-radius:50%;content:"";height:8px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:8px}.skills-category-label:after{background:linear-gradient(90deg,var(--accent),#0000);bottom:-6px;content:"";height:2px;left:20px;position:absolute;width:40px}.skills-marquee{align-items:center;display:flex;mask-image:linear-gradient(90deg,#0000 0,#000 5%,#000 95%,#0000);-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 5%,#000 95%,#0000);overflow:hidden;position:relative;width:100%}.skills-track{display:flex;gap:50px;white-space:nowrap;will-change:transform}.skills-track.scroll-left{animation:scroll-left 60s linear infinite;animation:scroll-left var(--scroll-speed,60s) linear infinite}.skills-track.scroll-right{animation:scroll-right 60s linear infinite;animation:scroll-right var(--scroll-speed,60s) linear infinite}.skill-chip{color:var(--text);font-family:var(--body-font);font-size:clamp(1.4rem,1.8vw,2.4rem);font-weight:500;gap:10px;letter-spacing:.5px;opacity:.7;padding:6px 0;position:relative;transition:all .4s cubic-bezier(.33,1,.68,1);white-space:nowrap}.skill-chip,.skill-icon{align-items:center;display:inline-flex}.skill-icon{flex-shrink:0;font-size:clamp(1.2rem,1.6vw,2rem);justify-content:center;line-height:1}.skill-icon svg{height:1em;width:1em}.skill-name{font-size:inherit}.skill-chip:after{background:var(--accent);bottom:0;content:"";height:2px;left:0;position:absolute;transition:width .4s cubic-bezier(.33,1,.68,1);width:0}.skill-chip:hover{color:var(--accent);opacity:1;transform:translateY(-3px)}.skill-chip:hover:after{width:100%}@keyframes scroll-left{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes scroll-right{0%{transform:translateX(-50%)}to{transform:translateX(0)}}.skills-track:hover{animation-play-state:paused}@media screen and (max-width:768px){.skills-categories{gap:35px}.skill-chip{font-size:1.3rem}.skills-track{gap:30px}.skills-section{padding:60px 0 40px}}.engineering-handoff{background-color:var(--background);overflow:hidden;padding:140px 0 160px;position:relative}.engineering-handoff:before{background:linear-gradient(90deg,#0000,var(--border-soft),#0000);content:"";height:1px;left:50%;position:absolute;top:0;transform:translateX(-50%);width:60%}.handoff-inner{margin:0 auto;max-width:900px;opacity:0;text-align:center;transform:translateY(40px);transition:opacity 1s cubic-bezier(.33,1,.68,1),transform 1s cubic-bezier(.33,1,.68,1)}.engineering-handoff.visible .handoff-inner{opacity:1;transform:translateY(0)}.handoff-eyebrow{color:var(--accent);display:block;font-family:var(--body-font);font-size:.85rem;font-weight:600;letter-spacing:4px;margin-bottom:24px;text-transform:uppercase}.handoff-title{color:var(--text);font-family:var(--heading-font);font-size:clamp(2.4rem,4vw,4.5rem);letter-spacing:-1px;line-height:1.1;margin-bottom:28px}.handoff-copy{color:var(--text-soft);font-size:clamp(1.1rem,1.2vw,1.5rem);font-weight:300;letter-spacing:.2px;line-height:1.7;margin:0 auto 50px;max-width:720px}.handoff-copy,.handoff-cta{font-family:var(--body-font)}.handoff-cta{align-items:center;background:#0000;border:2px solid var(--accent);border-radius:50px;color:var(--text);cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:16px;letter-spacing:1.5px;overflow:hidden;padding:20px 42px;position:relative;text-decoration:none;text-transform:uppercase;transition:all .5s cubic-bezier(.33,1,.68,1)}.handoff-cta:before{background:var(--accent);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .5s cubic-bezier(.33,1,.68,1);z-index:-1}.handoff-cta:hover{box-shadow:0 20px 50px #ff3c0073;color:var(--background);transform:translateY(-3px) scale(1.03)}.handoff-cta:hover:before{transform:translateX(0)}.handoff-cta-arrow{font-size:1.2rem;transition:transform .4s ease}.handoff-cta:hover .handoff-cta-arrow{transform:translateX(8px)}@media screen and (max-width:768px){.engineering-handoff{padding:80px 0 100px}.handoff-cta{font-size:.85rem;letter-spacing:1px;padding:16px 28px}}.contact-section{background-color:var(--background);opacity:0;padding:150px 0;transform:translateY(50px);transition:all 1s cubic-bezier(.33,1,.68,1)}.contact-section.visible{opacity:1;transform:translateY(0)}.contact-content{max-width:900px}.contact-content p{animation:fadeInUp 1s cubic-bezier(.33,1,.68,1) .2s forwards;color:#ffffffe6;font-size:clamp(1.3rem,1.6vw,2.4rem);line-height:1.6}.contact-content p,.primary-link{font-family:var(--body-font);margin-bottom:50px;opacity:0;transform:translateY(30px)}.primary-link{-webkit-text-fill-color:#0000;animation:fadeInUp 1s cubic-bezier(.33,1,.68,1) .4s forwards;background:linear-gradient(135deg,var(--text) 0,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;display:inline-block;font-size:clamp(2rem,3vw,4.5rem);font-weight:700;letter-spacing:-.5px;position:relative}.primary-link:after{background:linear-gradient(90deg,var(--accent),var(--blue));bottom:-8px;content:"";height:4px;left:0;position:absolute;transition:width .6s cubic-bezier(.33,1,.68,1);width:0}.primary-link:hover{transform:translateX(10px)}.primary-link:hover:after{width:100%}.social-links{animation:fadeInUp 1s cubic-bezier(.33,1,.68,1) .6s forwards;display:flex;gap:30px;opacity:0;transform:translateY(30px)}.social-links a{border:2px solid var(--text);border-radius:50px;font-family:var(--body-font);font-size:1.3rem;letter-spacing:.5px;overflow:hidden;padding:15px 35px;position:relative;transition:all .4s cubic-bezier(.33,1,.68,1)}.social-links a:before{background-color:var(--accent);border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s cubic-bezier(.33,1,.68,1),height .6s cubic-bezier(.33,1,.68,1);width:0;z-index:-1}.social-links a:hover:before{height:320px;width:320px}.social-links a:hover{border-color:var(--accent);box-shadow:0 15px 40px #ff3c0080;color:var(--text);transform:translateY(-8px) scale(1.05)}.magnetic-button{cursor:pointer;display:inline-block;transition:transform .3s ease}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}@media screen and (max-width:768px){.contact-content p{font-size:1.3rem}.primary-link{font-size:2rem}.social-links{flex-direction:column;gap:15px}.social-links a{text-align:center}}.about-section{background-color:var(--background);padding:120px 0;position:relative}.about-content{align-items:center;display:flex;gap:70px;justify-content:space-between;opacity:0;transform:translateY(50px);transition:all 1s cubic-bezier(.33,1,.68,1)}.about-content.visible{opacity:1;transform:translateY(0)}.about-text{color:var(--text);flex:1 1;opacity:0;transform:translateX(-50px);transition:all 1s cubic-bezier(.33,1,.68,1) .2s}.about-text.visible{opacity:1;transform:translateX(0)}.about-text p{color:#ffffffe6;font-size:clamp(1.25rem,1.2vw,1.8rem);font-weight:300;letter-spacing:.2px;line-height:1.8;margin-bottom:25px;text-align:justify;transition:all .3s ease}.about-text p:hover{color:#fff;transform:translateX(5px)}.about-image{flex:1 1;opacity:0;position:relative;transform:translateX(50px);transition:all 1s cubic-bezier(.33,1,.68,1) .4s}.about-image.visible{opacity:1;transform:translateX(0)}.about-image:before{border:2px solid var(--accent);border-radius:12px;bottom:15px;content:"";left:-15px;opacity:0;position:absolute;right:15px;top:-15px;transition:all .5s cubic-bezier(.33,1,.68,1);z-index:-1}.about-image:hover:before{bottom:10px;left:-10px;opacity:.4;right:10px;top:-10px}.about-img{border-radius:12px;box-shadow:0 15px 50px #0009;filter:brightness(.95) contrast(1.05);height:auto;transition:all .6s cubic-bezier(.33,1,.68,1);width:100%}.about-img:hover{box-shadow:0 20px 60px #ff3c004d;filter:brightness(1) contrast(1.1);transform:scale(1.02) translateY(-5px)}@media screen and (max-width:968px){.about-section{padding:80px 0}.about-content{flex-direction:column;gap:50px}.about-text p{font-size:1.25rem}.about-image:before{display:none}}.education-section{background-color:var(--background);padding:150px 0}.education-timeline{display:flex;flex-direction:column;margin-top:20px}.education-item{opacity:0;padding:60px 0;transform:translateY(50px);transition:all 1s cubic-bezier(.33,1,.68,1)}.education-item.visible{opacity:1;transform:translateY(0)}.education-content{align-items:center;display:flex;flex-wrap:wrap;gap:30px;justify-content:space-between;margin-bottom:40px;transition:all .4s cubic-bezier(.33,1,.68,1)}.education-item:hover .education-content{transform:translateX(10px)}.education-details{flex:1 1;min-width:280px}.education-institution{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--text) 0,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;font-family:var(--heading-font);font-size:clamp(2.5rem,4vw,5.5rem);letter-spacing:-1px;line-height:1.1;margin-bottom:12px;transition:all .5s cubic-bezier(.33,1,.68,1)}.education-item:hover .education-institution{letter-spacing:-1.5px}.education-degree{font-family:var(--body-font);font-size:clamp(1.1rem,1.3vw,1.6rem);letter-spacing:.5px;opacity:.7;transition:all .4s ease}.education-item:hover .education-degree{color:var(--accent);opacity:1}.education-meta{align-items:flex-end;display:flex;flex-direction:column;gap:8px;min-width:180px}.education-period{font-family:var(--heading-font);font-size:clamp(1.4rem,1.8vw,2.2rem);font-weight:700;opacity:.9;transition:all .4s ease}.education-item:hover .education-period{color:var(--accent)}.education-location{font-family:var(--body-font);font-size:clamp(.95rem,1vw,1.2rem);letter-spacing:1px;opacity:.5;text-transform:uppercase;transition:all .4s ease}.education-item:hover .education-location{opacity:.8}.education-divider{background:linear-gradient(90deg,#0000,#ffffff1a 50%,#0000);height:1px;width:100%}@media screen and (max-width:768px){.education-section{padding:80px 0}.education-item{padding:40px 0}.education-content{flex-direction:column;gap:15px}.education-content,.education-meta{align-items:flex-start}}.project-detail-overlay{background-color:var(--background);height:100vh;left:0;opacity:0;overflow:hidden;position:fixed;top:0;transform:translateY(100%);transition:opacity .5s cubic-bezier(.33,1,.68,1),transform .6s cubic-bezier(.33,1,.68,1);width:100%;z-index:200}.project-detail-overlay.active{opacity:1;transform:translateY(0)}.detail-close-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:none;background-color:#0f0f0f80;border:1.5px solid #ffffff4d;border-radius:50px;color:var(--text);cursor:pointer;display:flex;font-family:var(--body-font);font-size:.85rem;gap:8px;letter-spacing:1px;padding:12px 24px;position:fixed;right:40px;text-transform:uppercase;top:30px;transition:all .4s cubic-bezier(.33,1,.68,1);z-index:210}.close-icon{font-size:.9rem;transition:transform .4s cubic-bezier(.33,1,.68,1)}.close-text{font-weight:500}.detail-close-btn:hover{background-color:var(--accent);border-color:var(--accent);color:#fff}.detail-close-btn:hover .close-icon{transform:rotate(90deg)}.detail-scroll-container{-ms-overflow-style:none;height:100%;overflow-y:auto;scrollbar-width:none;width:100%}.detail-scroll-container::-webkit-scrollbar{display:none}.detail-hero{align-items:center;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:80px 40px;position:relative}.detail-hero-bg-number{color:var(--text);font-family:var(--heading-font);font-size:35vw;font-weight:700;left:50%;line-height:1;opacity:.03;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);-webkit-user-select:none;user-select:none}.detail-hero-content{max-width:900px;position:relative;text-align:center;z-index:1}.detail-label{animation:detailFadeUp .8s cubic-bezier(.33,1,.68,1) .1s both;color:var(--accent);display:inline-block;font-family:var(--body-font);font-size:.85rem;font-weight:600;letter-spacing:4px;margin-bottom:30px;text-transform:uppercase}.detail-title{-webkit-text-fill-color:#0000;animation:detailFadeUp .8s cubic-bezier(.33,1,.68,1) .2s both;background:linear-gradient(135deg,var(--text) 0,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;font-family:var(--heading-font);font-size:7rem;font-weight:700;letter-spacing:-2px;margin-bottom:20px}.detail-title-line{animation:lineExpand .8s cubic-bezier(.33,1,.68,1) .4s both;background:linear-gradient(90deg,var(--accent),var(--blue));border-radius:2px;height:3px;margin:0 auto 30px;width:80px}.detail-tagline{animation:detailFadeUp .8s cubic-bezier(.33,1,.68,1) .5s both;color:var(--text);font-family:var(--heading-font);font-size:1.5rem;font-style:italic;line-height:1.7;margin:0 auto 40px;max-width:650px;opacity:.75}.detail-hero-meta{animation:detailFadeUp .8s cubic-bezier(.33,1,.68,1) .6s both;display:flex;flex-wrap:wrap;gap:15px;justify-content:center}.hero-meta-pill{border:1px solid #ffffff26;border-radius:50px;letter-spacing:.5px;opacity:.7;padding:8px 20px}.detail-scroll-hint,.hero-meta-pill{color:var(--text);font-family:var(--body-font);font-size:.85rem}.detail-scroll-hint{align-items:center;animation:float 3s ease-in-out infinite;bottom:40px;display:flex;flex-direction:column;gap:10px;left:50%;letter-spacing:1px;opacity:.6;position:absolute;text-transform:uppercase;transform:translateX(-50%)}.detail-scroll-line{animation:scrollLine 3s ease-in-out infinite;background:linear-gradient(to bottom,var(--accent),#0000);height:40px;width:1px}.detail-body{margin:0 auto;max-width:1200px;padding:0 40px 120px}.detail-image-section{animation:detailFadeUp 1s cubic-bezier(.33,1,.68,1) .2s both;margin-bottom:100px}.detail-img-wrapper{background:linear-gradient(135deg,var(--secondary) 0,#5352ed1a 100%);border-radius:20px;box-shadow:0 30px 80px #00000080;max-height:600px;overflow:hidden;position:relative;width:100%}.detail-img{display:block;filter:brightness(.95);height:100%;object-fit:cover;transition:all .8s cubic-bezier(.33,1,.68,1);width:100%}.detail-img-wrapper:hover .detail-img{filter:brightness(1);transform:scale(1.04)}.img-overlay-gradient{background:linear-gradient(0deg,#0f0f0f99,#0000);bottom:0;height:40%;left:0;pointer-events:none;position:absolute;right:0}.detail-image-caption{align-items:center;display:flex;gap:15px;margin-top:20px;opacity:.5}.caption-line{background-color:var(--accent);height:1px;width:40px}.caption-text{color:var(--text);font-family:var(--body-font);font-size:.9rem;letter-spacing:.5px}.detail-info-section{animation:detailFadeUp 1s cubic-bezier(.33,1,.68,1) .4s both}.detail-meta{grid-gap:40px;border-bottom:1px solid #ffffff14;display:grid;gap:40px;grid-template-columns:repeat(3,1fr);margin-bottom:80px;padding-bottom:60px}.detail-meta-item{display:flex;flex-direction:column;gap:10px;padding-top:15px;position:relative}.meta-number{font-size:.75rem;left:0;letter-spacing:2px;opacity:.5;position:absolute;top:0}.meta-label,.meta-number{color:var(--accent);font-family:var(--body-font)}.meta-label{font-size:.8rem;font-weight:600;letter-spacing:3px;margin-top:5px;text-transform:uppercase}.meta-value{color:var(--text);font-family:var(--heading-font);font-size:1.4rem;line-height:1.5}.section-header-row{align-items:center;display:flex;gap:15px;margin-bottom:30px}.section-accent-line{background:linear-gradient(90deg,var(--accent),var(--blue));border-radius:2px;flex-shrink:0;height:2px;width:40px}.detail-section-title{color:var(--text);display:inline-block;font-family:var(--heading-font);font-size:2rem;margin:0;position:relative}.detail-summary{margin-bottom:70px}.summary-para{animation:detailFadeUp .8s cubic-bezier(.33,1,.68,1) both;color:#fffc;font-family:var(--body-font);font-size:1.15rem;font-weight:300;letter-spacing:.3px;line-height:2;margin-bottom:20px}.detail-tech{margin-bottom:80px}.detail-tech-tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:5px}.tech-tag{animation:detailFadeUp .6s cubic-bezier(.33,1,.68,1) both;background:#ffffff08;border:1.5px solid #ffffff1f;border-radius:50px;color:var(--text);font-family:var(--body-font);font-size:.95rem;letter-spacing:.3px;padding:10px 24px;transition:all .4s cubic-bezier(.33,1,.68,1)}.tech-tag:hover{background:#ff3c000d;border-color:var(--accent);box-shadow:0 8px 20px #ff3c0026;color:var(--accent);transform:translateY(-3px)}.detail-footer{border-top:1px solid #ffffff0f;padding:40px 0;text-align:center}.back-to-top{background:none;border:none;color:var(--text);cursor:pointer;font-family:var(--body-font);font-size:.85rem;letter-spacing:2px;opacity:.5;padding:10px 20px;text-transform:uppercase;transition:all .4s cubic-bezier(.33,1,.68,1)}.back-to-top:hover{color:var(--accent);opacity:1;transform:translateY(-3px)}@keyframes detailFadeUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes lineExpand{0%{opacity:0;width:0}to{opacity:1;width:80px}}@keyframes float{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-10px)}}@keyframes scrollLine{0%,to{opacity:0;transform:scaleY(0)}50%{opacity:1;transform:scaleY(1)}}.light-mode .project-detail-overlay{background-color:var(--background)}.light-mode .detail-close-btn{background-color:#f5f5f0b3;border-color:#00000026;color:var(--text)}.light-mode .detail-meta{border-bottom-color:#00000014}.light-mode .summary-para{color:#000000b3}.light-mode .detail-img-wrapper{box-shadow:0 30px 80px #0000001a}.light-mode .img-overlay-gradient{background:linear-gradient(0deg,#f5f5f066,#0000)}.light-mode .tech-tag{background:#00000005;border-color:#0000001a}.light-mode .tech-tag:hover{background:#ff3c0008;box-shadow:0 8px 20px #ff3c0014}.light-mode .hero-meta-pill{border-color:#0000001a}.light-mode .detail-footer{border-top-color:#0000000f}@media screen and (max-width:768px){.detail-title{font-size:3.5rem;letter-spacing:-1px}.detail-hero-bg-number{font-size:50vw}.detail-tagline{font-size:1.15rem}.detail-meta{gap:30px;grid-template-columns:1fr}.detail-hero{padding:60px 20px}.detail-body{padding:0 20px 80px}.detail-close-btn{font-size:.8rem;padding:10px 18px;right:20px;top:20px}.summary-para{font-size:1.05rem;line-height:1.8}.detail-img-wrapper{border-radius:12px}}@media screen and (max-width:480px){.detail-title{font-size:2.5rem}.detail-tagline{font-size:1rem}.meta-value{font-size:1.1rem}.hero-meta-pill{font-size:.75rem;padding:6px 14px}.close-text{display:none}}.work-section{background-color:var(--background);padding:150px 0}.project-showcase{display:flex;flex-direction:column}.project-item{margin-bottom:120px;opacity:0;transform:translateY(50px);transition:all 1s cubic-bezier(.33,1,.68,1)}.project-item.visible{opacity:1;transform:translateY(0)}.project-content{align-items:center;display:flex;flex-wrap:wrap;gap:50px;justify-content:space-between;margin-bottom:50px;position:relative}.project-image{flex:1 1;min-width:300px;position:relative}.img-placeholder{background:linear-gradient(135deg,var(--secondary) 0,#5352ed1a 100%);border-radius:15px;box-shadow:0 20px 60px #0009;height:clamp(300px,30vw,500px);overflow:hidden;position:relative;transition:all .6s cubic-bezier(.33,1,.68,1);width:100%}.img-placeholder:before{background:linear-gradient(135deg,#0000,#ff3c001a);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .6s ease}.project-item:hover .img-placeholder{box-shadow:0 25px 70px #ff3c004d;transform:translateY(-10px)}.project-item:hover .img-placeholder:before{opacity:1}.project-img{filter:brightness(.95);height:100%;object-fit:cover;transition:all .6s cubic-bezier(.33,1,.68,1);width:100%}.project-item:hover .project-img{filter:brightness(1);transform:scale(1.08)}.project-details{align-items:flex-end;display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:300px;text-align:right}.project-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--text) 0,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;font-family:var(--heading-font);font-size:clamp(3.2rem,5vw,8rem);letter-spacing:-1px;margin-bottom:15px;transition:all .5s cubic-bezier(.33,1,.68,1)}.project-item:hover .project-title{letter-spacing:-1.5px;transform:translateX(-10px)}.project-category{font-family:var(--body-font);font-size:1.3rem;letter-spacing:.5px;opacity:.7;transition:all .4s ease}.project-item:hover .project-category{opacity:1;transform:translateX(-5px)}.view-button{align-items:center;background-color:var(--blue);border:none;border-radius:50%;box-shadow:0 5px 15px #5352ed66;color:#fff;cursor:pointer;display:flex;font-family:var(--body-font);font-weight:500;height:70px;justify-content:center;left:20px;position:absolute;text-transform:uppercase;top:20px;transition:transform .5s cubic-bezier(.33,1,.68,1),background-color .3s ease;width:70px;z-index:3}.view-button:hover{background-color:var(--accent);box-shadow:0 8px 25px #ff3c0099;color:#fff;transform:scale(1.15) rotate(10deg)}.project-divider{background:linear-gradient(90deg,#0000,#ffffff1a 50%,#0000);height:1px;width:100%}@media screen and (max-width:768px){.project-title{font-size:3.2rem}.project-details{align-items:flex-start;text-align:left}.view-button{font-size:.9rem;height:60px;width:60px}.img-placeholder{height:300px}}.design-handoff{background-color:var(--background);overflow:hidden;padding:140px 0 160px;position:relative}.design-handoff:before{background:linear-gradient(90deg,#0000,#ffffff26,#0000);content:"";height:1px;left:50%;position:absolute;top:0;transform:translateX(-50%);width:60%}.light-mode .design-handoff:before{background:linear-gradient(90deg,#0000,#00000026,#0000)}.design-handoff .handoff-inner{margin:0 auto;max-width:900px;opacity:0;text-align:center;transform:translateY(40px);transition:opacity 1s cubic-bezier(.33,1,.68,1),transform 1s cubic-bezier(.33,1,.68,1)}.design-handoff.visible .handoff-inner{opacity:1;transform:translateY(0)}.design-handoff .handoff-eyebrow{color:var(--accent);display:block;font-family:var(--body-font);font-size:.85rem;font-weight:600;letter-spacing:4px;margin-bottom:24px;text-transform:uppercase}.design-handoff .handoff-title{color:var(--text);font-family:var(--heading-font);font-size:clamp(2.4rem,4vw,4.5rem);letter-spacing:-1px;line-height:1.1;margin-bottom:28px}.design-handoff .handoff-copy{color:#ffffffd9;font-family:var(--body-font);font-size:clamp(1.1rem,1.2vw,1.5rem);font-weight:300;letter-spacing:.2px;line-height:1.7;margin:0 auto 50px;max-width:720px}.light-mode .design-handoff .handoff-copy{color:#000c}.design-handoff .handoff-cta{align-items:center;background:#0000;border:2px solid var(--accent);border-radius:50px;color:var(--text);cursor:pointer;display:inline-flex;font-family:var(--body-font);font-size:1rem;font-weight:600;gap:16px;letter-spacing:1.5px;overflow:hidden;padding:20px 42px;position:relative;text-decoration:none;text-transform:uppercase;transition:all .5s cubic-bezier(.33,1,.68,1)}.design-handoff .handoff-cta:before{background:var(--accent);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .5s cubic-bezier(.33,1,.68,1);z-index:-1}.design-handoff .handoff-cta:hover{box-shadow:0 20px 50px #ff3c0073;color:var(--background);transform:translateY(-3px) scale(1.03)}.design-handoff .handoff-cta:hover:before{transform:translateX(0)}.design-handoff .handoff-cta-arrow{font-size:1.2rem;transition:transform .4s ease}.design-handoff .handoff-cta:hover .handoff-cta-arrow{transform:translateX(8px)}@media screen and (max-width:768px){.design-handoff{padding:80px 0 100px}.design-handoff .handoff-cta{font-size:.85rem;letter-spacing:1px;padding:16px 28px}}.App{background-color:var(--background);min-height:100vh;transition:background-color .5s ease,color .5s ease}.main-content{opacity:0;transform:translateY(30px);transition:opacity 1s cubic-bezier(.33,1,.68,1),transform 1s cubic-bezier(.33,1,.68,1)}.main-content.fade-in{opacity:1;transform:translateY(0)}main{position:relative;z-index:1}
/*# sourceMappingURL=main.ae5c07c8.css.map*/