:root{--color-bg:#000;--color-fg:#fff;--color-border:hsla(0,0%,100%,.12);--color-muted:hsla(0,0%,100%,.35);--font-display:"Bebas Neue",sans-serif;--font-body:"Space Grotesk",sans-serif;--font-mono:"JetBrains Mono",monospace;--text-xs:clamp(.65rem,1vw,.75rem);--text-sm:clamp(.75rem,1.2vw,.875rem);--text-base:clamp(.875rem,1.5vw,1rem);--text-lg:clamp(1rem,2vw,1.25rem);--text-xl:clamp(1.25rem,3vw,2rem);--text-2xl:clamp(2rem,5vw,4rem);--text-3xl:clamp(3rem,8vw,7rem);--text-4xl:clamp(5rem,14vw,14rem);--text-hero:clamp(5rem,18vw,22rem);--grid-gap:clamp(1rem,2vw,2rem);--section-pad:clamp(5rem,12vw,14rem);--ease-out-expo:cubic-bezier(.16,1,.3,1);--ease-in-out-expo:cubic-bezier(.87,0,.13,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{background-color:var(--color-bg);color:var(--color-fg);font-family:var(--font-body);font-size:var(--text-base);font-weight:400;line-height:1.6;overflow-x:hidden}[role=button],a,body,button{cursor:none}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.text-hero{font-size:var(--text-hero);line-height:.88}.text-4xl,.text-hero{letter-spacing:-.02em}.text-4xl{font-size:var(--text-4xl);line-height:.9}.text-3xl{font-size:var(--text-3xl);letter-spacing:-.01em;line-height:.92}.text-2xl{font-size:var(--text-2xl);line-height:1}.text-xl{font-size:var(--text-xl);line-height:1.2}.text-base{font-size:var(--text-base)}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase}.text-muted{color:var(--color-muted)}.text-upper{letter-spacing:.1em;text-transform:uppercase}.container{margin:0 auto;max-width:1600px;padding:0 clamp(1.5rem,5vw,5rem);width:100%}.section{padding-bottom:var(--section-pad);padding-top:var(--section-pad)}.grid-12{display:grid;gap:var(--grid-gap);grid-template-columns:repeat(12,1fr)}.rule{background:var(--color-border);height:1px;width:100%}.overflow-clip{overflow:hidden}.tag{border:1px solid var(--color-border);color:var(--color-muted);display:inline-block;padding:.3em .8em}.btn,.tag{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase}.btn{align-items:center;background:transparent;border:1px solid var(--color-fg);color:var(--color-fg);display:inline-flex;gap:.6em;overflow:hidden;padding:1em 2em;position:relative;text-decoration:none;transition:color 0s;white-space:nowrap}.btn:before{background:var(--color-fg);content:"";inset:0;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-out-expo)}.btn:hover:before{transform:scaleX(1)}.btn:hover{color:var(--color-bg)}.btn span{position:relative;z-index:1}.magnetic{display:inline-block}.cursor{background:#fff;border-radius:50%;height:12px;width:12px;z-index:10000}.cursor,.cursor-ring{left:0;mix-blend-mode:difference;pointer-events:none;position:fixed;top:0;transform:translate(-50%,-50%);will-change:transform}.cursor-ring{border:1px solid hsla(0,0%,100%,.5);border-radius:50%;height:40px;transition:width .3s var(--ease-out-expo),height .3s var(--ease-out-expo),border-color .3s;width:40px;z-index:9999}.cursor-ring.is-hovering{border-color:#ffffffe6;height:70px;width:70px}.cursor-ring.is-clicking{height:16px;width:16px}.crosshair-h,.crosshair-v{background:#ffffff26;mix-blend-mode:difference;pointer-events:none;position:fixed;z-index:9998}.crosshair-h{height:1px;left:0;top:0;width:100%}.crosshair-v{height:100%;left:0;top:0;width:1px}.crosshair-label{color:#ffffff80;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.15em;pointer-events:none;position:fixed;text-transform:uppercase;transition:color .15s,opacity .3s;z-index:9999}.crosshair-label.is-active{color:#fff}.side-nav{align-items:center;display:flex;flex-direction:column;gap:2.5rem;position:fixed;right:2rem;top:50%;transform:translateY(-50%);z-index:1000}.side-nav__item{color:#ffffff4d;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.2em;position:relative;text-decoration:none;text-orientation:mixed;text-transform:uppercase;transition:color .2s;writing-mode:vertical-rl}.side-nav__item:before{background:#fff;bottom:-8px;content:"";height:0;left:50%;position:absolute;transform:translate(-50%);transition:height .3s var(--ease-out-expo);width:1px}.side-nav__item:hover{color:#fff}.side-nav__item:hover:before{height:20px}.side-nav__item.is-active{color:#fff}.status-bar{align-items:center;display:flex;justify-content:space-between;left:0;padding:1.5rem clamp(1.5rem,5vw,5rem);pointer-events:none;position:fixed;right:0;top:0;z-index:1000}.status-bar__logo{color:#fff;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:700;letter-spacing:.15em;pointer-events:all;text-decoration:none;text-transform:uppercase}.status-bar__right{align-items:center;display:flex;gap:2rem}.status-bar__status,.status-bar__time{color:#ffffff59;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em}.preloader{align-items:flex-end;background:#fff;display:flex;inset:0;justify-content:flex-end;overflow:hidden;padding:3rem clamp(1.5rem,5vw,5rem);position:fixed;z-index:99999}.preloader__count{color:#000;font-family:var(--font-display);font-size:clamp(8rem,20vw,18rem);line-height:1;will-change:transform}.preloader__bar{background:#000;bottom:0;height:3px;left:0;position:absolute;transform-origin:left;width:0}.preloader__label{color:#0000004d;font-family:var(--font-mono);font-size:var(--text-xs);left:50%;letter-spacing:.3em;position:absolute;text-transform:uppercase;top:50%;transform:translate(-50%,-50%)}.hero{display:flex;flex-direction:column;justify-content:flex-end;min-height:100svh;overflow:hidden;position:relative}.hero__canvas{height:100%;inset:0;position:absolute;width:100%}.hero__content{padding:0 clamp(1.5rem,5vw,5rem) clamp(3rem,6vw,6rem);position:relative;z-index:2}.hero__eyebrow{align-items:center;color:#ffffff73;display:flex;font-family:var(--font-mono);font-size:var(--text-xs);gap:1rem;letter-spacing:.25em;margin-bottom:1rem;text-transform:uppercase}.hero__eyebrow:before{background:#ffffff59;content:"";display:block;height:1px;width:2rem}.hero__title{font-family:var(--font-display);font-size:var(--text-hero);letter-spacing:-.01em;line-height:.85;margin-bottom:2.5rem;overflow:hidden;text-transform:uppercase}.hero__title-line{display:block;overflow:hidden}.hero__title-word{display:inline-block;will-change:transform}.hero__footer{align-items:flex-end;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between}.hero__desc{color:#ffffff80;font-size:var(--text-sm);line-height:1.7;max-width:38ch}.hero__cta{pointer-events:all}.hero__scroll-hint{align-items:center;color:#ffffff40;display:flex;flex-direction:column;font-family:var(--font-mono);font-size:var(--text-xs);gap:.5rem;letter-spacing:.15em;text-transform:uppercase}.hero__scroll-line{animation:scrollPulse 2s ease-in-out infinite;background:#fff3;height:3rem;transform-origin:top;width:1px}@keyframes scrollPulse{0%,to{opacity:.3;transform:scaleY(1)}50%{opacity:1;transform:scaleY(.4)}}.work{position:relative}.work__header{align-items:flex-end;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;margin-bottom:clamp(3rem,6vw,6rem);padding-bottom:2rem}.section-number{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.15em}.work__grid{background:var(--color-border);display:grid;gap:1px;grid-template-columns:1fr}.project-card{background:var(--color-bg);display:grid;grid-template-columns:1fr 1fr;overflow:hidden;position:relative}.project-card:nth-child(2n){direction:rtl}.project-card:nth-child(2n)>*{direction:ltr}.project-card__image-wrap{aspect-ratio:16/10;overflow:hidden;position:relative}.project-card__image{filter:grayscale(100%) contrast(1.1);height:100%;-o-object-fit:cover;object-fit:cover;transform:scale(1.05);transition:transform .8s var(--ease-out-expo),filter .5s;width:100%}.project-card:hover .project-card__image{filter:grayscale(100%) contrast(1.4);transform:scale(1)}.project-card__clip{background:#ffffff08;clip-path:inset(0 100% 0 0);inset:0;position:absolute}.project-card__info{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(2rem,4vw,4rem)}.project-card__index{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.15em;margin-bottom:1rem}.project-card__title{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1;margin-bottom:1.5rem;overflow:hidden;text-transform:uppercase}.project-card__desc{color:#ffffff80;flex:1;font-size:var(--text-sm);line-height:1.7;margin-bottom:2rem}.project-card__tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.project-card__link{align-items:center;align-self:flex-start;color:#fff6;display:flex;font-family:var(--font-mono);font-size:var(--text-xs);gap:.5rem;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:color .2s}.project-card__link-arrow{display:inline-block;transition:transform .3s var(--ease-out-expo)}.project-card__link:hover{color:#fff}.project-card__link:hover .project-card__link-arrow{transform:translate(4px,-4px)}.about__grid{align-items:start;display:grid;gap:clamp(3rem,6vw,8rem);grid-template-columns:1fr 1fr}.about__statement{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1.1;text-transform:uppercase}.about__statement .word{display:inline-block;opacity:.1;will-change:opacity}.about__right{display:flex;flex-direction:column;gap:3rem;padding-top:.5rem}.about__body-text{color:#ffffff80;font-size:var(--text-sm);line-height:1.8;max-width:50ch}.skills{gap:1.5rem}.skill-item,.skills{display:flex;flex-direction:column}.skill-item{gap:.5rem}.skill-item__header{align-items:center;display:flex;justify-content:space-between}.skill-item__name{letter-spacing:.1em;text-transform:uppercase}.skill-item__level,.skill-item__name{font-family:var(--font-mono);font-size:var(--text-xs)}.skill-item__level{color:var(--color-muted)}.skill-item__bar-bg{background:var(--color-border);height:1px;position:relative;width:100%}.skill-item__bar-fill{background:#fff;inset:0;position:absolute;transform:scaleX(0);transform-origin:left;will-change:transform}.about__stats{background:var(--color-border);display:grid;gap:1px;grid-template-columns:repeat(3,1fr)}.stat-item{background:var(--color-bg);padding:1.5rem}.stat-item__number{font-family:var(--font-display);font-size:var(--text-3xl);line-height:1}.stat-item__label{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;margin-top:.5rem;text-transform:uppercase}.contact__giant-text{font-family:var(--font-display);font-size:clamp(4rem,16vw,18rem);line-height:.85;overflow:hidden;text-transform:uppercase;white-space:nowrap}.contact__grid{display:grid;gap:clamp(3rem,6vw,8rem);grid-template-columns:1fr 1fr;margin-top:clamp(4rem,8vw,8rem)}.contact__info-block{display:flex;flex-direction:column;gap:2rem}.contact__label{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.15em;margin-bottom:.5rem;text-transform:uppercase}.contact__email{color:#fff;display:inline-block;font-family:var(--font-display);font-size:var(--text-xl);position:relative;text-decoration:none;text-transform:uppercase}.contact__email:after{background:#fff;bottom:-2px;content:"";height:1px;left:0;position:absolute;right:0;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-out-expo)}.contact__email:hover:after{transform:scaleX(1)}.contact__form{gap:1.5rem}.contact__form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-label{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase}.form-input,.form-select,.form-textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;border-bottom:1px solid var(--color-border);color:#fff;font-family:var(--font-body);font-size:var(--text-base);outline:none;padding:.75rem 0;transition:border-color .3s;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-bottom-color:#fff}.form-textarea{min-height:120px;resize:none}.footer{align-items:center;border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:2rem clamp(1.5rem,5vw,5rem)}.footer__copyright{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em}.footer__links{display:flex;gap:2rem}.footer__link{color:#ffffff4d;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:color .2s}.footer__link:hover{color:#fff}.wipe-enter-active,.wipe-leave-active{transition:none}.wipe-enter-from{opacity:0}.wipe-enter-to,.wipe-leave-from{opacity:1}.wipe-leave-to{opacity:0}.project-detail{min-height:100svh}.project-detail__hero{align-items:flex-end;display:flex;min-height:70svh;overflow:hidden;padding:0 clamp(1.5rem,5vw,5rem) clamp(3rem,6vw,6rem);position:relative}.project-detail__bg{filter:grayscale(100%) brightness(.3);height:100%;inset:0;-o-object-fit:cover;object-fit:cover;position:absolute;width:100%}.project-detail__title{font-family:var(--font-display);font-size:var(--text-4xl);line-height:.9;text-transform:uppercase}.project-detail__meta,.project-detail__title{position:relative;z-index:2}.project-detail__content{align-items:start;display:grid;gap:clamp(3rem,6vw,8rem);grid-template-columns:1fr 1fr;padding:var(--section-pad) clamp(1.5rem,5vw,5rem)}::-moz-selection{background:#fff;color:#000}::selection{background:#fff;color:#000}@media(max-width:900px){body{cursor:auto}.crosshair-h,.crosshair-label,.crosshair-v,.cursor,.cursor-ring,.side-nav{display:none}.project-card{grid-template-columns:1fr}.project-card:nth-child(2n){direction:ltr}.about__grid{grid-template-columns:1fr}.about__stats{grid-template-columns:1fr 1fr}.contact__grid,.project-detail__content{grid-template-columns:1fr}}@media(max-width:600px){.about__stats{grid-template-columns:1fr}}.c-dot[data-v-e1992e8e]{background:#fff;border-radius:50%;height:5px;transition:transform 0s,opacity .3s;width:5px;z-index:10001}.c-dot[data-v-e1992e8e],.c-label[data-v-e1992e8e]{left:0;mix-blend-mode:difference;opacity:0;pointer-events:none;position:fixed;top:0;transform:translate(-100px,-100px);will-change:transform}.c-label[data-v-e1992e8e]{z-index:10000}.c-text[data-v-e1992e8e]{background:transparent;color:#fff;display:block;font-family:JetBrains Mono,monospace;font-size:.62rem;font-weight:400;letter-spacing:.12em;line-height:1.4;text-transform:uppercase;white-space:nowrap}
