:root{--bg:#050505;--bg-soft:#0c0c0c;--text:#f5f5f5;--muted:#7a7a7a;--dim:#2a2a2a;--line:#ffffff24;--font-display:"Syne", sans-serif;--font-mono:"JetBrains Mono", monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto;max-width:100%;overflow-x:clip}html,body{min-height:100%}body{font-family:var(--font-display);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;max-width:100%;overflow-x:clip}body.menu-open{touch-action:none;overflow:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}#app{max-width:100%;min-height:100vh;position:relative;overflow-x:clip}.atmosphere{pointer-events:none;z-index:0;background:radial-gradient(80% 50% at 70% 40%,#ffffff0a,#0000 55%),radial-gradient(60% 40% at 20% 80%,#b4b4b408,#0000 50%),linear-gradient(#050505 0%,#0a0a0a 50%,#050505 100%);position:fixed;inset:0}#wave{z-index:1;pointer-events:none;opacity:.55;width:100%;height:100%;position:fixed;inset:0}.noise{z-index:2;pointer-events:none;opacity:.035;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='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}#page-transition{z-index:100;pointer-events:none;opacity:0;background:linear-gradient(#0a0a0a,#050505);transition:opacity .35s,transform .45s cubic-bezier(.22,1,.36,1);position:fixed;inset:0;transform:translateY(8%)}#page-transition.active{opacity:.55;transform:translateY(0)}.site{z-index:3;flex-direction:column;max-width:100%;min-height:100vh;padding:5.5rem clamp(1.25rem,4vw,3.5rem) 2rem;display:flex;position:relative;overflow-x:clip}.nav{justify-content:space-between;align-items:center;gap:2rem;display:flex}.nav-fixed{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;background:linear-gradient(#050505eb,#0505058c 70%,#0000);padding:1.1rem clamp(1.25rem,4vw,3.5rem);animation:.9s .15s forwards fade-up;position:fixed;top:0;left:0;right:0}.brand{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;font-size:clamp(1.1rem,2vw,1.35rem);font-weight:800;position:relative}.brand:after{content:"";background:var(--text);width:0;height:1px;transition:width .35s;position:absolute;bottom:-4px;left:0}.brand:hover:after{width:100%}.nav-links-desktop{flex-wrap:wrap;justify-content:flex-end;gap:clamp(.75rem,2vw,1.75rem);list-style:none;display:flex}.nav-links-desktop a,.nav-links-mobile a{font-family:var(--font-mono);letter-spacing:.08em;color:#ffffff9e;font-size:.68rem;transition:color .25s;position:relative}.nav-links-desktop a:hover,.nav-links-desktop a.is-active,.nav-links-mobile a:hover,.nav-links-mobile a.is-active{color:#fff}.nav-links-desktop a:after,.nav-links-mobile a:after{content:"";transform-origin:0;background:#fff;width:100%;height:1px;transition:transform .3s;position:absolute;bottom:-3px;left:0;transform:scaleX(0)}.nav-links-desktop a:hover:after,.nav-links-desktop a.is-active:after,.nav-links-mobile a:hover:after,.nav-links-mobile a.is-active:after{transform:scaleX(1)}.nav-toggle{border:1px solid var(--line);color:var(--text);cursor:pointer;width:42px;height:42px;font-family:var(--font-mono);z-index:60;background:#000;font-size:.7rem;display:none}.nav-backdrop,.nav-drawer{display:none}.hero{flex:1;grid-template-rows:1fr auto;padding-top:clamp(2rem,8vh,5rem);padding-bottom:1rem;display:grid}.hero-main{flex-direction:column;justify-content:center;width:100%;min-width:0;max-width:min(920px,100%);display:flex}.headline{text-transform:uppercase;opacity:0;min-width:0;max-width:100%;line-height:.9;animation:1s .35s forwards fade-up}.headline-top{letter-spacing:-.03em;background:linear-gradient(105deg,#6a6a6a 0%,#fff 25%,#a8a8a8 40%,#fff 55%,#707070 75%,#fff 100%) 0 0/220% 100%;color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(3.8rem,14vw,9.5rem);font-weight:800;animation:5.5s ease-in-out infinite shimmer;display:block}.headline-bottom{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-top:.15em;display:flex}.headline-typed-wrap{align-items:center;min-width:0;max-width:100%;min-height:1em;display:inline-flex}.headline-stack{flex-flow:row;align-items:center;max-width:100%;display:flex}.headline-word-row{align-items:center;display:inline-flex}.headline-word{letter-spacing:-.03em;color:#2e2e2e;white-space:nowrap;font-size:clamp(3.8rem,14vw,9.5rem);font-weight:800;line-height:.9;transition:color .4s,text-shadow .4s}.headline-cursor{background:#fff;flex-shrink:0;align-self:center;width:3px;height:clamp(2.4rem,7vw,4.4rem);margin-left:.12em;animation:.9s step-end infinite blink;display:inline-block}.headline:hover .headline-word{color:#4a4a4a;text-shadow:0 0 40px #ffffff14}.headline-meta{font-family:var(--font-mono);letter-spacing:.04em;color:#ffffffd9;white-space:nowrap;opacity:0;font-size:clamp(.7rem,1.2vw,.85rem);animation:.8s 2.4s forwards fade-up}.hero-footer{opacity:0;grid-template-columns:1fr 1fr;align-items:end;gap:2rem;margin-top:clamp(2rem,8vh,5rem);animation:.9s 1.25s forwards fade-up;display:grid}.typed-line{font-family:var(--font-mono);letter-spacing:.06em;color:#fff;min-height:1.4em;font-size:clamp(.75rem,1.4vw,.95rem)}.typed-line .cursor{background:#fff;width:.55ch;margin-left:2px;animation:.9s step-end infinite blink;display:inline-block}.explore{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:#fffc;cursor:pointer;background:0 0;border:none;align-items:center;gap:.6rem;margin-top:2.5rem;padding:0;font-size:.72rem;transition:color .25s,gap .25s;display:inline-flex}.explore:hover{color:#fff;gap:.9rem}.explore-arrow{transition:transform .3s;display:inline-block}.explore:hover .explore-arrow{transform:translateY(4px)}.hero-copy{max-width:28rem;font-family:var(--font-mono);color:#ffffff8c;letter-spacing:.02em;justify-self:end;font-size:clamp(.72rem,1.1vw,.82rem);line-height:1.7}.cta-row{flex-wrap:wrap;gap:.85rem;margin-top:1.5rem;display:flex}.btn{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line);color:var(--text);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:.85rem 1.35rem;font-size:.7rem;transition:color .3s,border-color .3s;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";z-index:-1;background:#fff;transition:transform .35s;position:absolute;inset:0;transform:translateY(101%)}.btn:hover{color:#050505;border-color:#fff}.btn:hover:before{transform:translateY(0)}.btn-solid{color:#050505;background:#fff;border-color:#fff}.btn-solid:before{background:#050505}.btn-solid:hover{color:#fff}.section{z-index:3;border-top:1px solid #ffffff0f;padding:7rem clamp(1.25rem,4vw,3.5rem);position:relative}.section-inner{max-width:1120px;margin:0 auto}.section-label{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem;font-size:.72rem}.section h2{letter-spacing:-.03em;margin-bottom:1rem;font-size:clamp(2rem,5vw,3.4rem);font-weight:700}.projects-title{margin-bottom:3rem}.project-block{border-bottom:1px solid #ffffff14;margin-bottom:4.5rem;padding-bottom:4.5rem}.project-block:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.project-block h3{letter-spacing:-.03em;text-transform:none;margin:0;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700;line-height:1}.project-block h4{letter-spacing:.08em;text-transform:uppercase;margin-bottom:.85rem;font-size:.85rem;font-weight:700}.section-lead{font-family:var(--font-mono);color:#ffffff8c;max-width:40rem;margin-bottom:2.5rem;font-size:.84rem;line-height:1.75}.section h3{letter-spacing:.04em;text-transform:uppercase;margin-bottom:.85rem;font-size:.95rem;font-weight:700}.reviews-card h3{text-transform:uppercase;letter-spacing:.04em;font-size:.95rem}[data-reveal]{opacity:0;transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);transform:translateY(28px)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}.stack-block{margin-bottom:2rem}.tags{flex-wrap:wrap;gap:.55rem;display:flex}.tags span{font-family:var(--font-mono);letter-spacing:.04em;border:1px solid var(--line);color:#ffffffc7;padding:.55rem .8rem;font-size:.68rem;transition:border-color .25s,color .25s,background .25s}.tags span:hover{color:#fff;background:#ffffff0a;border-color:#ffffff73}.tags-compact span{padding:.45rem .65rem;font-size:.62rem}.reviews-card{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1.5rem;margin-top:2.5rem;padding:1.5rem 0;display:flex}.reviews-card h3{margin-bottom:.4rem}.reviews-card p{font-family:var(--font-mono);color:var(--muted);font-size:.78rem;line-height:1.6}.project-head{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.project-head h3{margin:0;line-height:1}.price-pill{font-family:var(--font-mono);letter-spacing:.12em;color:#fff;border:1px solid #ffffff59;align-self:center;align-items:center;padding:.55rem .85rem;font-size:.75rem;line-height:1;display:inline-flex}.project-layout{grid-template-columns:minmax(280px,380px) 1fr;align-items:start;gap:clamp(1.75rem,4vw,3.5rem);display:grid}.project-layout-wide{grid-template-columns:minmax(280px,1.1fr) 1fr}.project-visual{border:1px solid var(--line);background:#0a0a0a;overflow:hidden;box-shadow:0 24px 48px #00000059}.project-visual img{width:100%;height:auto;display:block}.project-note{font-family:var(--font-mono);color:#ffffff73;letter-spacing:.02em;border-left:2px solid #ffffff40;padding-left:.85rem;font-size:.72rem;line-height:1.6}.more-works{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:1.5rem 0;transition:color .25s;display:flex}.more-works-label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.68rem}.more-works-text{letter-spacing:-.01em;flex:1;font-size:1rem;font-weight:600}.more-works-link{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#ffffffb3;font-size:.72rem;transition:color .25s,letter-spacing .25s}.more-works:hover .more-works-link{color:#fff;letter-spacing:.16em}.gallery{flex-direction:column;align-items:center;display:flex;position:sticky;top:5.5rem}.phone{filter:drop-shadow(0 28px 50px #0000008c);width:min(100%,340px);position:relative}.phone-bezel{background:linear-gradient(160deg,#3a3a3a 0%,#151515 35%,#0a0a0a 70%,#222 100%);border-radius:44px;padding:12px;position:relative;box-shadow:inset 0 0 0 1px #ffffff1f,inset 0 1px #ffffff2e,0 0 0 1px #000c}.phone-screen{aspect-ratio:9/19.5;background:#000;border-radius:34px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0f}.phone-island{z-index:5;pointer-events:none;background:#050505;border-radius:20px;width:92px;height:26px;position:absolute;top:22px;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 1px #ffffff0f}.phone-island:after{content:"";background:radial-gradient(circle at 35% 35%,#1a2a3a,#0a0a12 70%);border-radius:50%;width:8px;height:8px;position:absolute;top:50%;right:14px;transform:translateY(-50%);box-shadow:0 0 0 1px #ffffff14}.phone-home{z-index:5;pointer-events:none;background:#ffffff59;border-radius:4px;width:110px;height:4px;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.phone-btn{background:linear-gradient(#2c2c2c,#111);border-radius:2px;position:absolute;box-shadow:inset 0 0 0 1px #ffffff14}.phone-btn-silent{width:3px;height:28px;top:92px;left:-2px}.phone-btn-vol-up{width:3px;height:48px;top:140px;left:-2px}.phone-btn-vol-down{width:3px;height:48px;top:198px;left:-2px}.phone-btn-power{width:3px;height:72px;top:168px;right:-2px}.gallery-track{will-change:transform;height:100%;transition:transform .65s cubic-bezier(.22,1,.36,1);display:flex}.gallery-slide{background:#000;min-width:100%;height:100%;margin:0}.gallery-slide img{object-fit:contain;object-position:center top;opacity:.92;width:100%;height:100%;transition:opacity .4s}.gallery-slide.is-active img{opacity:1}.gallery-controls{justify-content:space-between;align-items:center;gap:.75rem;width:min(100%,340px);margin-top:1.15rem;display:flex}.gallery-controls button{border:1px solid var(--line);color:#fff;cursor:pointer;width:40px;height:40px;font-family:var(--font-mono);background:0 0;transition:background .25s,border-color .25s}.gallery-controls button:hover{color:#050505;background:#fff;border-color:#fff}.gallery-dots{flex-wrap:wrap;justify-content:center;gap:.4rem;display:flex}.gallery-dot{cursor:pointer;background:#ffffff40;border:none;border-radius:0;width:7px;height:7px;padding:0;transition:background .25s,transform .25s}.gallery-dot.is-active{background:#fff;transform:scaleY(1.4)}.project-info{flex-direction:column;gap:1.75rem;display:flex}.info-block p,.feature-list{font-family:var(--font-mono);color:#ffffff94;font-size:.78rem;line-height:1.7}.feature-list{gap:.45rem;list-style:none;display:grid}.feature-list li{padding-left:1rem;position:relative}.feature-list li:before{content:"";background:#ffffff8c;width:5px;height:1px;position:absolute;top:.55em;left:0}.section-contact{justify-content:center;align-items:center;min-height:70vh;display:flex}.contact-inner{text-align:center;flex-direction:column;align-items:center;width:100%;display:flex}.contact-inner .section-lead{margin-left:auto;margin-right:auto}.contact-card{border:1px solid var(--line);text-align:left;justify-content:space-between;align-items:center;gap:1.5rem;width:min(100%,520px);margin-top:2rem;margin-left:auto;margin-right:auto;padding:1.6rem 1.75rem;transition:border-color .35s,transform .45s cubic-bezier(.22,1,.36,1);display:flex;position:relative;overflow:hidden}.contact-card:hover{border-color:#ffffff73;transform:translateY(-4px)}.contact-card-glow{opacity:.7;background:radial-gradient(circle,#ffffff1f,#0000 65%);width:220px;height:220px;transition:transform .6s,opacity .6s;position:absolute;inset:auto -20% -60% auto}.contact-card:hover .contact-card-glow{opacity:1;transform:translate(-30px,-20px)scale(1.15)}.contact-card-top{z-index:1;align-items:center;gap:1rem;display:flex;position:relative}.contact-avatar{object-fit:cover;object-position:center 20%;background:#111;border:1px solid #ffffff59;flex-shrink:0;width:52px;height:52px}.contact-card-top strong{margin-bottom:.2rem;font-size:1.05rem;display:block}.contact-card-top span{font-family:var(--font-mono);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem}.contact-cta{z-index:1;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;transition:letter-spacing .3s;position:relative}.contact-card:hover .contact-cta{letter-spacing:.18em}.footer{z-index:3;font-family:var(--font-mono);color:var(--muted);letter-spacing:.06em;border-top:1px solid #ffffff0f;justify-content:space-between;gap:1rem;padding:1.5rem clamp(1.25rem,4vw,3.5rem) 2rem;font-size:.68rem;display:flex;position:relative}.footer a:hover{color:#fff}@keyframes shimmer{0%,to{background-position:0%}50%{background-position:100%}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.site{padding:5rem max(1rem, env(safe-area-inset-left)) 2rem max(1rem, env(safe-area-inset-right))}.nav-fixed{padding:.9rem max(1rem, env(safe-area-inset-left)) .9rem max(1rem, env(safe-area-inset-right));padding-top:max(.9rem, env(safe-area-inset-top))}.section{padding:4.5rem max(1rem, env(safe-area-inset-left)) 4.5rem max(1rem, env(safe-area-inset-right))}.project-layout,.project-layout-wide{grid-template-columns:1fr;gap:1.75rem}.gallery{width:100%;position:relative;top:auto}.phone{width:min(100%,280px)}.phone-bezel{border-radius:36px;padding:10px}.phone-screen{border-radius:28px}.phone-island{width:78px;height:22px;top:18px}.projects-title{margin-bottom:2rem}.project-block{margin-bottom:3rem;padding-bottom:3rem}.section-lead{margin-bottom:1.75rem;font-size:.8rem}}@media (width<=860px){.nav-toggle{z-index:60;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid;position:relative}.nav-links-desktop{display:none}.nav-backdrop{z-index:50;-webkit-backdrop-filter:blur(18px)saturate(.8);opacity:0;visibility:hidden;pointer-events:none;background:#000000b8;transition:opacity .35s,visibility .35s;display:block;position:fixed;inset:0}.nav-backdrop.open{opacity:1;visibility:visible;pointer-events:auto}.nav-drawer{top:max(.85rem, env(safe-area-inset-top));right:max(.85rem, env(safe-area-inset-right));bottom:max(.85rem, env(safe-area-inset-bottom));z-index:55;background:#000;border:1px solid #ffffff73;width:min(78vw,300px);padding:1.75rem 1.35rem;transition:transform .4s cubic-bezier(.22,1,.36,1);display:block;position:fixed;overflow-y:auto;transform:translate(calc(100% + 2rem));box-shadow:0 24px 80px #000000e6}.nav-drawer.open{transform:translate(0)}.nav-links-mobile{flex-direction:column;gap:.2rem;margin:0;padding:2.5rem 0 0;list-style:none;display:flex}.nav-links-mobile a{letter-spacing:.14em;color:#fff;padding:1.1rem .5rem;font-size:1.1rem;display:block}.nav-links-mobile a:after{bottom:.55rem}.hero{max-width:100%;min-height:auto;padding-top:1.25rem;overflow:hidden}.headline-stack{flex-direction:column;align-items:flex-start;gap:0}.headline-top,.headline-word{letter-spacing:-.04em;font-size:clamp(2.8rem,16vw,4.5rem)}.headline-typed-wrap{width:100%;max-width:100%}.headline-word{white-space:nowrap;display:block}.headline-cursor{width:2px;height:.8em;margin-left:.06em}.headline-meta{white-space:normal;letter-spacing:.06em;width:100%;margin-top:.35rem;font-size:.85rem}.headline-bottom{align-items:flex-start;gap:.4rem;width:100%;max-width:100%}.hero-footer{grid-template-columns:1fr;gap:1.5rem;margin-top:2rem}.hero-copy{color:#ffffffb3;justify-self:start;width:100%;max-width:none;font-size:.95rem;line-height:1.7}.typed-line{letter-spacing:.02em;white-space:normal;overflow-wrap:anywhere;word-break:break-word;font-size:.88rem}.cta-row{gap:.65rem;width:100%;margin-top:1.25rem}.cta-row .btn{flex:calc(50% - .35rem);min-height:52px;padding:1rem;font-size:.75rem}.explore{align-items:center;min-height:44px;margin-top:1.35rem;font-size:.82rem}.section-label{font-size:.8rem}.section h2{font-size:clamp(1.85rem,8vw,2.5rem)}.section-lead{font-size:.95rem;line-height:1.75}.reviews-card{flex-direction:column;align-items:stretch;gap:1.15rem;margin-top:1.75rem}.reviews-card h3{font-size:1.05rem}.reviews-card p{font-size:.9rem}.reviews-card .btn{width:100%;min-height:52px;font-size:.75rem}.tags span,.tags-compact span{padding:.55rem .7rem;font-size:.72rem}.project-head{gap:.65rem .75rem}.project-block h3{font-size:clamp(1.55rem,7vw,2.2rem)}.project-block h4{font-size:.95rem}.price-pill{padding:.55rem .75rem;font-size:.75rem}.gallery-controls{width:min(100%,280px)}.gallery-controls button{width:44px;height:44px}.gallery-dot{width:9px;height:9px}.project-info{gap:1.35rem}.feature-list,.info-block p{font-size:.9rem;line-height:1.7}.more-works{flex-direction:column;align-items:flex-start;gap:.55rem;padding:1.35rem 0}.more-works-text{font-size:1.05rem}.more-works-link{font-size:.85rem}.section-contact{min-height:auto;padding-top:4rem;padding-bottom:max(4rem, env(safe-area-inset-bottom))}.contact-card{flex-direction:column;align-items:flex-start;gap:1.1rem;width:100%;padding:1.35rem 1.25rem}.contact-card-top strong{font-size:1.15rem}.contact-cta{text-align:left;border-top:1px solid var(--line);width:100%;padding-top:.5rem;font-size:.85rem}}@media (width<=480px){.headline-top,.headline-word{font-size:clamp(2.6rem,17vw,3.8rem)}.cta-row .btn{flex:100%}.phone,.gallery-controls{width:min(100%,240px)}}@media (hover:none){.btn:hover{color:inherit;border-color:var(--line)}.btn:hover:before{transform:translateY(101%)}.btn-solid:hover{color:#050505}.contact-card:hover{transform:none}.tags span:hover{border-color:var(--line);color:#ffffffc7;background:0 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.headline-top{color:#fff;background:0 0;-webkit-background-clip:unset;background-clip:unset}#page-transition{display:none}}
