*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-smooth iframe{pointer-events:none}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:#1e1e1e;color:#fff;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-container{position:relative;width:100%}.progress-bar{position:fixed;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#4a9eff,#00d4ff);transform-origin:left;z-index:1000;will-change:transform}.section-nav{position:fixed;right:24px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:12px;z-index:100}.nav-dot{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.5);background:transparent;cursor:pointer;transition:all .3s ease;padding:0}.nav-dot:hover{border-color:#fff;transform:scale(1.2)}.nav-dot.active{background:#fff;border-color:#fff}.model-section{position:relative;width:100%;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.canvas-wrapper{position:absolute;inset:0;z-index:1}.model-canvas-container{width:100%;height:100%}.model-canvas-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#1e1e1e}.loading-indicator{color:#ffffff4d;font-size:1.5rem;font-weight:300;letter-spacing:.1em}.model-info{position:absolute;left:48px;bottom:48px;z-index:10;pointer-events:none}.model-number{display:block;font-size:.75rem;font-weight:500;letter-spacing:.2em;color:#fff6;margin-bottom:8px}.model-name{font-size:2rem;font-weight:600;letter-spacing:-.02em;margin-bottom:8px}.model-description{font-size:.875rem;font-weight:400;color:#fff9;max-width:300px}.section-indicator{position:absolute;right:60px;bottom:48px;font-size:.75rem;font-weight:500;letter-spacing:.1em;color:#fff6;z-index:10}.section-indicator .current{color:#fff;font-size:1rem}.section-indicator .separator{margin:0 4px}.scroll-indicator{position:absolute;bottom:48px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;z-index:10;animation:fadeInUp 1s ease 1s both}.scroll-indicator span{font-size:.75rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:#fff6}.scroll-arrow{width:24px;height:24px;border-right:2px solid rgba(255,255,255,.4);border-bottom:2px solid rgba(255,255,255,.4);transform:rotate(45deg);animation:scrollBounce 2s ease infinite}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes scrollBounce{0%,to{transform:rotate(45deg) translateY(0)}50%{transform:rotate(45deg) translateY(8px)}}.model-section.active .model-info{animation:slideIn .6s ease both}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@media(max-width:768px){.model-info{left:24px;bottom:100px}.model-name{font-size:1.5rem}.section-nav{right:12px}.nav-dot{width:10px;height:10px}.section-indicator{right:40px;bottom:24px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
