:root{--bg: #08090b;--bg-2: #0d0f12;--graphite: #14171b;--line: rgba(255, 255, 255, .09);--line-strong: rgba(255, 255, 255, .18);--text: #eef1f4;--text-dim: #9aa2ab;--text-faint: #5b636c;--amber: #ffb066;--amber-warm: #ffd7a1;--tech-green: #7fd7a0;--ice: #7fd0ff;--accent: var(--amber);--font-sans: "Inter", "Helvetica Neue", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;--font-mono: "IBM Plex Mono", "SFMono-Regular", "Roboto Mono", ui-monospace, monospace;--ease: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--maxw: 1320px;--gutter: clamp(1.25rem, 4vw, 4rem)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{overflow-x:hidden}a{color:inherit;text-decoration:none}button{font-family:inherit;color:inherit;cursor:none}img{max-width:100%;display:block}body.custom-cursor,body.custom-cursor *{cursor:none}@media (pointer: coarse){body.custom-cursor,body.custom-cursor *{cursor:auto}}.scene-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:1;pointer-events:auto}@media (pointer: coarse){.scene-canvas{pointer-events:auto}}.scene-canvas>div{width:100%!important;height:100%!important}.scene-canvas canvas{display:block;width:100%!important;height:100%!important}.content{position:relative;z-index:2;pointer-events:none}.section{position:relative;min-height:100vh;width:100%;padding:clamp(4rem,10vh,9rem) var(--gutter);display:flex;flex-direction:column;justify-content:center;pointer-events:none}.btn,.nav,.nav a,.footer,.motion-toggle,.material-chip,.tech-item,.industry,.project-card,.material-panel,.material-panel *,.dropzone,.quote-form,.quote-form input,.quote-form select,.quote-form textarea,.quote-form button,a[href],input,select,textarea{pointer-events:auto}.section__inner{width:100%;max-width:var(--maxw);margin:0 auto}.eyebrow{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:.6em;margin:0 0 1.4rem}.eyebrow:before{content:"";width:2.4rem;height:1px;background:var(--accent);opacity:.7}.section__number{position:absolute;top:clamp(2rem,6vh,4rem);right:var(--gutter);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.2em;color:var(--text-faint)}.btn{position:relative;display:inline-flex;align-items:center;gap:.7em;padding:1rem 1.7rem;border:1px solid var(--line-strong);border-radius:999px;background:#ffffff05;color:var(--text);font-size:.9rem;letter-spacing:.02em;backdrop-filter:blur(6px);transition:border-color .4s var(--ease),background .4s var(--ease),color .4s var(--ease);overflow:hidden;will-change:transform}.btn:after{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px 2px var(--accent);transition:transform .4s var(--ease)}.btn:hover{border-color:var(--accent);background:#ffb06614}.btn--primary{background:var(--accent);color:#1a1206;border-color:var(--accent);font-weight:600}.btn--primary:after{background:#1a1206;box-shadow:none}.btn--primary:hover{background:var(--amber-warm);border-color:var(--amber-warm)}.btn-row{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.4rem}.cursor{position:fixed;top:0;left:0;z-index:100;pointer-events:none;mix-blend-mode:difference;transform:translate3d(-50%,-50%,0);will-change:transform}.cursor__dot{position:fixed;top:0;left:0;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#fff;z-index:101;pointer-events:none;will-change:transform}.cursor__ring{width:40px;height:40px;margin:-20px 0 0 -20px;border:1px solid rgba(255,255,255,.8);border-radius:50%;position:fixed;top:0;left:0;display:flex;align-items:center;justify-content:center;transition:width .3s var(--ease),height .3s var(--ease),margin .3s var(--ease),background .3s var(--ease),border-color .3s var(--ease);will-change:transform}.cursor__label{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:#fff;opacity:0;transform:scale(.8);transition:opacity .3s var(--ease),transform .3s var(--ease);white-space:nowrap}.cursor[data-state=discover] .cursor__ring,.cursor[data-state=open] .cursor__ring,.cursor[data-state=material] .cursor__ring,.cursor[data-state=quote] .cursor__ring{width:92px;height:92px;margin:-46px 0 0 -46px;background:#ffffff0f;border-color:#ffffffe6}.cursor[data-state=discover] .cursor__label,.cursor[data-state=open] .cursor__label,.cursor[data-state=material] .cursor__label,.cursor[data-state=quote] .cursor__label{opacity:1;transform:scale(1)}.cursor[data-state=drag] .cursor__ring{width:70px;height:70px;margin:-35px 0 0 -35px}.cursor.hidden{opacity:0}.preloader{position:fixed;inset:0;z-index:200;background:radial-gradient(120% 120% at 50% 40%,#0d0f12,#060708 70%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;transition:opacity .8s var(--ease),visibility .8s var(--ease)}.preloader.done{opacity:0;visibility:hidden}.preloader__brand{font-size:clamp(1.4rem,3vw,2.1rem);font-weight:700;letter-spacing:.02em}.preloader__brand span{color:var(--accent)}.preloader__status{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--text-dim)}.preloader__bar{position:relative;width:min(340px,70vw);height:2px;background:#ffffff14;overflow:hidden}.preloader__fill{position:absolute;inset:0 auto 0 0;width:0%;background:linear-gradient(90deg,var(--amber),var(--amber-warm));box-shadow:0 0 14px 1px var(--amber);transition:width .3s var(--ease)}.preloader__pct{font-family:var(--font-mono);font-size:3.4rem;font-weight:300;letter-spacing:-.02em}.preloader__pct small{font-size:1.2rem;color:var(--text-dim);margin-left:.2em}.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:1.4rem var(--gutter);mix-blend-mode:difference}.nav__brand{font-weight:700;letter-spacing:.04em;font-size:1.05rem}.nav__links{display:flex;gap:1.6rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}.nav__links a{color:var(--text-dim);transition:color .3s var(--ease)}.nav__links a:hover,.nav__links a[aria-current=true]{color:var(--text)}.nav__progress{position:fixed;top:0;left:0;height:2px;background:var(--accent);z-index:60;transform-origin:left}.motion-toggle{position:fixed;bottom:1.2rem;right:1.2rem;z-index:55;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);background:#0a0c0e99;border:1px solid var(--line);border-radius:999px;padding:.5rem .9rem;backdrop-filter:blur(6px)}.motion-toggle:hover{color:var(--text);border-color:var(--line-strong)}.skip-link{position:fixed;top:-60px;left:1rem;z-index:300;background:var(--accent);color:#1a1206;padding:.6rem 1rem;border-radius:6px;transition:top .3s var(--ease)}.skip-link:focus{top:1rem}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.webgl-fallback{position:fixed;inset:0;z-index:1;background:var(--bg-2);display:flex;align-items:center;justify-content:center;padding:2rem;text-align:center;color:var(--text-dim)}.display{font-size:clamp(2.6rem,8.5vw,7.5rem);line-height:.96;letter-spacing:-.03em;font-weight:700;margin:0}.display--editorial{font-size:clamp(2rem,6vw,5rem);line-height:1.02;font-weight:600;letter-spacing:-.02em;max-width:18ch}.h1{font-size:clamp(2rem,5vw,4rem);line-height:1.02;letter-spacing:-.02em;font-weight:700;margin:0}.h2{font-size:clamp(1.5rem,3.4vw,2.6rem);line-height:1.08;letter-spacing:-.015em;font-weight:600;margin:0}.h3{font-size:clamp(1.1rem,1.8vw,1.5rem);line-height:1.2;font-weight:600;margin:0}.lead{font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.55;color:var(--text-dim);max-width:46ch;margin:1.4rem 0 0}.body{font-size:1rem;line-height:1.6;color:var(--text-dim)}.mono{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint)}.accent-text{color:var(--accent)}.gradient-text{background:linear-gradient(120deg,#ffffff 0%,#cfd5db 40%,var(--amber) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero{min-height:100vh;justify-content:flex-end;padding-bottom:clamp(4rem,12vh,8rem)}.hero__title{max-width:16ch}.hero__scroll-hint{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.7rem;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--text-faint)}.hero__scroll-line{width:1px;height:42px;background:linear-gradient(var(--accent),transparent);animation:scrollpulse 2.2s var(--ease) infinite}@keyframes scrollpulse{0%{transform:scaleY(0);transform-origin:top}40%{transform:scaleY(1);transform-origin:top}60%{transform:scaleY(1);transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}.split--right{justify-items:end}.stack{display:flex;flex-direction:column;gap:1.4rem}.tech-list{display:flex;flex-direction:column;border-top:1px solid var(--line);max-width:520px}.tech-item{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.2rem;padding:1.3rem .4rem;border-bottom:1px solid var(--line);transition:padding .4s var(--ease),color .4s var(--ease);background:none;text-align:left;width:100%}.tech-item__code{font-family:var(--font-mono);font-size:.72rem;color:var(--text-faint)}.tech-item__name{font-size:clamp(1.2rem,2vw,1.7rem);font-weight:600;transition:transform .4s var(--ease)}.tech-item__summary{font-size:.82rem;color:var(--text-dim);opacity:0;max-height:0;overflow:hidden;transition:opacity .4s var(--ease),max-height .4s var(--ease);grid-column:2}.tech-item__arrow{color:var(--accent);opacity:0;transform:translate(-8px);transition:opacity .4s var(--ease),transform .4s var(--ease)}.tech-item.active{padding-left:1.4rem}.tech-item.active .tech-item__name{transform:translate(4px)}.tech-item.active .tech-item__summary{opacity:1;max-height:4rem;margin-top:.4rem}.tech-item.active .tech-item__arrow{opacity:1;transform:translate(0)}.tech-item.dim{opacity:.4}.tech-card{border:1px solid var(--line);border-radius:14px;padding:1.6rem;background:#0d0f128c;backdrop-filter:blur(10px);max-width:360px}.tech-card__specs{display:flex;flex-direction:column;gap:.7rem;margin-top:1.2rem}.tech-card__spec{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;color:var(--text-dim);border-bottom:1px dashed var(--line);padding-bottom:.5rem}.tech-card__spec b{color:var(--text);font-weight:500}.materials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.8rem;margin-top:2.4rem}.material-chip{position:relative;border:1px solid var(--line);border-radius:12px;padding:1.1rem;background:#0d0f1273;backdrop-filter:blur(8px);text-align:left;overflow:hidden;transition:border-color .4s var(--ease),transform .4s var(--ease),background .4s var(--ease)}.material-chip:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--chip-accent, var(--accent));transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.material-chip:hover,.material-chip.active{border-color:var(--line-strong);transform:translateY(-3px);background:#14171bb3}.material-chip:hover:before,.material-chip.active:before{transform:scaleX(1)}.material-chip__family{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--chip-accent, var(--accent))}.material-chip__name{font-size:1rem;font-weight:600;margin-top:.5rem}.material-chip__finish{font-size:.72rem;color:var(--text-dim);margin-top:.2rem}.sample-tip{transform:translateY(-8px);display:flex;flex-direction:column;gap:.15rem;padding:.5rem .7rem;border:1px solid var(--line-strong);border-radius:8px;background:#08090bd9;backdrop-filter:blur(6px);white-space:nowrap;pointer-events:none}.sample-tip__name{font-size:.8rem;font-weight:600;color:var(--text)}.sample-tip__meta{font-family:var(--font-mono);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.sample-tip__props{font-family:var(--font-mono);font-size:.58rem;color:var(--text-dim)}.material-panel{position:fixed;top:0;right:0;bottom:0;width:min(440px,92vw);z-index:70;background:#0a0c0ed1;backdrop-filter:blur(20px);border-left:1px solid var(--line-strong);padding:clamp(2rem,5vw,3rem);display:flex;flex-direction:column;gap:1.4rem;transform:translate(100%);transition:transform .6s var(--ease);overflow-y:auto}.material-panel.open{transform:translate(0)}.material-panel__close{align-self:flex-end;width:40px;height:40px;border-radius:50%;border:1px solid var(--line-strong);background:none;color:var(--text);font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:transform .4s var(--ease),border-color .4s var(--ease)}.material-panel__close:hover{transform:rotate(90deg);border-color:var(--accent)}.material-panel__swatch{width:100%;height:6px;border-radius:3px;background:var(--chip-accent, var(--accent));box-shadow:0 0 20px 1px var(--chip-accent, var(--accent))}.prop{margin-top:.9rem}.prop__head{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;color:var(--text-dim);margin-bottom:.4rem}.prop__bar{height:4px;background:#ffffff14;border-radius:2px;overflow:hidden}.prop__fill{height:100%;background:var(--chip-accent, var(--accent));border-radius:2px;transition:width .8s var(--ease)}.services-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:2.4rem}.service{background:var(--bg);padding:1.8rem;display:flex;flex-direction:column;gap:.7rem;transition:background .4s var(--ease)}.service:hover{background:var(--graphite)}.service__index{font-family:var(--font-mono);font-size:.72rem;color:var(--accent)}.service__desc{font-size:.86rem;color:var(--text-dim);line-height:1.5}.industries-track{display:flex;flex-direction:column;gap:1px;margin-top:2.4rem;max-width:620px}.industry{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:1.4rem .4rem;border-bottom:1px solid var(--line);transition:opacity .4s var(--ease),padding .4s var(--ease)}.industry:hover{padding-left:1rem}.industry__name{font-size:clamp(1.1rem,1.8vw,1.5rem);font-weight:600}.industry__cat{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.industry__stat{text-align:right}.industry__stat b{font-size:1.3rem;font-weight:600;color:var(--ind-accent, var(--accent))}.industry__stat span{display:block;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;color:var(--text-faint)}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.4rem}.project-card{position:relative;border:1px solid var(--line);border-radius:14px;padding:1.4rem;min-height:260px;display:flex;flex-direction:column;justify-content:flex-end;gap:.5rem;background:#0d0f1266;overflow:hidden;transition:transform .5s var(--ease),border-color .5s var(--ease);transform-style:preserve-3d;will-change:transform}.project-card:before{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 50% 0%,var(--proj-accent, var(--accent)) 0%,transparent 55%);opacity:.14;transition:opacity .5s var(--ease)}.project-card:hover{border-color:var(--line-strong)}.project-card:hover:before{opacity:.28}.project-card__cat{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--proj-accent, var(--accent))}.project-card__title{font-size:1.2rem;font-weight:600}.project-card__meta{font-size:.74rem;color:var(--text-dim)}.project-card__label{position:absolute;top:1.2rem;right:1.2rem;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.16em;color:var(--text);opacity:0;transform:translateY(-6px);transition:opacity .4s var(--ease),transform .4s var(--ease)}.project-card:hover .project-card__label{opacity:1;transform:translateY(0)}.quality-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:2.4rem}.quality-cell{background:var(--bg);padding:1.6rem;display:flex;flex-direction:column;gap:.6rem}.quality-cell__value{font-size:1.8rem;font-weight:600;font-family:var(--font-mono);color:var(--tech-green)}.quality-cell__label{font-size:.86rem;font-weight:500}.quality-cell__detail{font-size:.76rem;color:var(--text-dim);line-height:1.5}.quote-form{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;margin-top:2rem;max-width:640px;border:1px solid var(--line);border-radius:16px;padding:clamp(1.4rem,3vw,2.2rem);background:#0d0f128c;backdrop-filter:blur(12px)}.field{display:flex;flex-direction:column;gap:.45rem}.field--full{grid-column:1 / -1}.field label{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}.field input,.field select,.field textarea{background:#ffffff08;border:1px solid var(--line);border-radius:8px;padding:.8rem .9rem;color:var(--text);font-family:inherit;font-size:.9rem;transition:border-color .3s var(--ease),background .3s var(--ease)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);background:#ffb0660d}.field select option{background:var(--graphite);color:var(--text)}.dropzone{grid-column:1 / -1;border:1px dashed var(--line-strong);border-radius:10px;padding:1.4rem;text-align:center;color:var(--text-dim);font-size:.85rem;transition:border-color .3s var(--ease),background .3s var(--ease);cursor:none}.dropzone.drag{border-color:var(--accent);background:#ffb0660f}.dropzone b{color:var(--accent)}.dropzone__file{margin-top:.6rem;font-family:var(--font-mono);font-size:.72rem;color:var(--tech-green)}.quote-note{grid-column:1 / -1;font-size:.72rem;color:var(--text-faint);line-height:1.5}.quote-success{grid-column:1 / -1;border:1px solid var(--tech-green);border-radius:8px;padding:.9rem 1rem;color:var(--tech-green);font-size:.85rem}.final{min-height:100vh;justify-content:center;text-align:center;align-items:center}.final__inner{display:flex;flex-direction:column;align-items:center;gap:1.6rem}.contact-grid{display:grid;grid-template-columns:repeat(3,auto);gap:2.4rem;margin-top:2rem;justify-content:center}.contact-grid a,.contact-grid span{font-size:.9rem;color:var(--text-dim)}.contact-grid .mono{display:block;margin-bottom:.3rem}.footer{position:relative;z-index:2;border-top:1px solid var(--line);padding:2rem var(--gutter);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;background:var(--bg);pointer-events:auto}.footer__social{display:flex;gap:1.4rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.footer__social a{color:var(--text-dim);transition:color .3s var(--ease)}.footer__social a:hover{color:var(--accent)}@media (max-width: 1024px){.projects-grid,.quality-grid{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.split--right{justify-items:start}}@media (max-width: 720px){.nav__links{display:none}.services-list,.projects-grid,.quality-grid,.quote-form{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr;gap:1.4rem;text-align:center}.materials-grid{grid-template-columns:repeat(2,1fr)}.section{padding:clamp(3.5rem,8vh,6rem) var(--gutter)}.footer{flex-direction:column;text-align:center}}@media (pointer: coarse){.cursor,.cursor__dot{display:none}}@media (prefers-reduced-motion: reduce){.hero__scroll-line{animation:none}*{scroll-behavior:auto!important}}
