@font-face{font-family:Clash Display;src:url(/fonts/ClashDisplay-Semibold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Clash Display;src:url(/fonts/ClashDisplay-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--font-display: "Clash Display", Georgia, serif;--font-body: "Satoshi", system-ui, sans-serif;--bg-base: #0a0a0a;--text-primary: #f0f0f0;--text-secondary: #888888;--text-dim: #444444;--plume-accent: #C9A84C;--plume-bg: #0A0E27;--moto-accent: #4ADE80;--moto-bg: #0D0D0D;--mingle-accent: #60A5FA;--mingle-bg: #0F1419;--teachee-accent: #F59E0B;--teachee-bg: #1A1A1A;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:auto}body{font-family:var(--font-body);font-weight:400;color:var(--text-primary);background:var(--bg-base);overflow-x:hidden;line-height:1.6}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.cursor-light{position:fixed;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.06) 0%,transparent 70%);pointer-events:none;z-index:9999;transform:translate(-50%,-50%);opacity:0;transition:opacity .3s ease;mix-blend-mode:soft-light}@media (hover: hover){body:hover .cursor-light{opacity:1}}@media (hover: none){.cursor-light{display:none}}.grain{position:fixed;top:-50%;left:-50%;width:200%;height:200%;z-index:9998;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px;animation:grain-shift .5s steps(1) infinite}@media (hover: none){.grain{display:none}}@keyframes grain-shift{0%,to{transform:translate(0)}10%{transform:translate(-2%,-4%)}20%{transform:translate(-6%,2%)}30%{transform:translate(3%,-6%)}40%{transform:translate(-2%,6%)}50%{transform:translate(-6%,4%)}60%{transform:translate(6%)}70%{transform:translateY(4%)}80%{transform:translate(1%,6%)}90%{transform:translate(-4%,4%)}}.bg-gradient{position:fixed;top:0;left:0;width:100%;height:100lvh;z-index:-1;background:radial-gradient(ellipse at 50% 50%,#111 0%,var(--bg-base) 100%);transition:background .8s ease}.hero{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;overflow:hidden}.hero__content{text-align:center;z-index:1}.hero__name{font-family:var(--font-display);font-weight:600;font-size:clamp(64px,14vw,200px);line-height:.9;letter-spacing:-.04em;color:var(--text-primary)}.hero__line{display:block;opacity:0;transform:translateY(60px);animation:hero-in 1s var(--ease-out-expo) forwards}.hero__line:nth-child(2){animation-delay:.15s}@keyframes hero-in{to{opacity:1;transform:translateY(0)}}.hero__tagline{font-family:var(--font-body);font-size:clamp(16px,2vw,22px);color:var(--text-secondary);margin-top:2rem;letter-spacing:.02em;opacity:0;animation:fade-in 1s var(--ease-out-expo) .5s forwards}@keyframes fade-in{to{opacity:1}}.scroll-indicator{position:absolute;bottom:3rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;opacity:0;animation:fade-in 1s var(--ease-out-expo) 1s forwards}.scroll-indicator span{font-family:var(--font-body);font-size:11px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--text-dim)}.scroll-indicator__line{width:1px;height:48px;background:linear-gradient(to bottom,var(--text-dim),transparent);animation:scroll-line 2s ease-in-out infinite}@keyframes scroll-line{0%,to{opacity:0;transform:scaleY(0);transform-origin:top}50%{opacity:1;transform:scaleY(1);transform-origin:top}}.philosophy{min-height:80vh;display:flex;align-items:center;justify-content:center;padding:6rem 2rem}.philosophy__text{font-family:var(--font-display);font-weight:500;font-size:clamp(28px,4.5vw,64px);line-height:1.2;letter-spacing:-.02em;text-align:center;max-width:900px;color:var(--text-primary)}.philosophy__text .word{display:inline-block;opacity:.1;transition:opacity .5s var(--ease-out-expo)}.philosophy__text .word.visible{opacity:1}.project{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:8rem 2rem;overflow:hidden}.project__glow{position:absolute;width:60%;height:60%;border-radius:50%;filter:blur(120px);opacity:.07;top:50%;left:50%;transform:translate(-50%,-50%);transition:opacity .5s ease;pointer-events:none}[data-accent=plume] .project__glow{background:var(--plume-accent)}[data-accent=moto] .project__glow{background:var(--moto-accent)}[data-accent=mingle] .project__glow{background:var(--mingle-accent)}[data-accent=teachee] .project__glow{background:var(--teachee-accent)}.project:hover .project__glow{opacity:.12}.project__inner{display:grid;grid-template-columns:1fr 1fr;gap:4rem;max-width:1200px;width:100%;align-items:center}.project__number{font-family:var(--font-body);font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:1.5rem;display:block}[data-accent=plume] .project__number{color:var(--plume-accent)}[data-accent=moto] .project__number{color:var(--moto-accent)}[data-accent=mingle] .project__number{color:var(--mingle-accent)}[data-accent=teachee] .project__number{color:var(--teachee-accent)}.project__heading{display:flex;align-items:center;gap:1.2rem}.project__icon{width:clamp(48px,5vw,72px);height:clamp(48px,5vw,72px);border-radius:22%;object-fit:cover;flex-shrink:0}.project__icon--teachee{background:#fff url(/images/icon-teachee.svg) center / 65% auto no-repeat}.project__title{font-family:var(--font-display);font-weight:600;font-size:clamp(48px,6vw,96px);line-height:1;letter-spacing:-.03em;white-space:nowrap}.project__desc{font-size:clamp(16px,1.2vw,19px);color:var(--text-secondary);line-height:1.7;margin-top:1.5rem;max-width:480px}.project__tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}.tag{font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:.4em 1em;border-radius:100px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:var(--text-secondary);transition:border-color .3s ease,color .3s ease}[data-accent=plume] .tag:hover{border-color:var(--plume-accent);color:var(--plume-accent)}[data-accent=moto] .tag:hover{border-color:var(--moto-accent);color:var(--moto-accent)}[data-accent=mingle] .tag:hover{border-color:var(--mingle-accent);color:var(--mingle-accent)}[data-accent=teachee] .tag:hover{border-color:var(--teachee-accent);color:var(--teachee-accent)}.project__platforms{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.2rem}.platform{display:inline-flex;align-items:center;gap:.4rem;font-size:12px;font-weight:500;letter-spacing:.04em;color:var(--text-secondary)}.platform svg{flex-shrink:0}[data-accent=plume] .platform svg{color:var(--plume-accent)}[data-accent=moto] .platform svg{color:var(--moto-accent)}[data-accent=mingle] .platform svg{color:var(--mingle-accent)}[data-accent=teachee] .platform svg{color:var(--teachee-accent)}.project__cta{display:inline-flex;align-items:center;gap:.6rem;margin-top:2.5rem;font-family:var(--font-body);font-size:15px;font-weight:500;letter-spacing:.02em;padding:.8em 1.6em;border:1px solid rgba(255,255,255,.15);border-radius:100px;transition:all .4s var(--ease-out-expo);position:relative;overflow:hidden}.project__cta:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;opacity:0;transition:opacity .4s ease}[data-accent=plume] .project__cta:before{background:var(--plume-accent)}[data-accent=moto] .project__cta:before{background:var(--moto-accent)}[data-accent=mingle] .project__cta:before{background:var(--mingle-accent)}[data-accent=teachee] .project__cta:before{background:var(--teachee-accent)}.project__cta:hover:before{opacity:.1}.project__cta:hover{border-color:#ffffff4d;transform:translateY(-2px)}.project__cta span,.project__cta svg{position:relative;z-index:1}.project__cta svg{transition:transform .3s var(--ease-out-expo)}.project__cta:hover svg{transform:translate(3px,-3px)}.mockup-phone{position:relative;width:280px;height:580px;border-radius:40px;background:#111;border:2px solid rgba(255,255,255,.08);padding:12px;margin:0 auto;box-shadow:0 0 0 1px #ffffff08,0 25px 50px -12px #00000080,0 0 80px #0000004d;transition:transform .6s var(--ease-out-expo)}.mockup-phone__screen{width:100%;height:100%;border-radius:30px;overflow:hidden;position:relative}.mockup-phone:before{content:"";position:absolute;top:12px;left:50%;transform:translate(-50%);width:100px;height:28px;background:#111;border-radius:0 0 18px 18px;z-index:2}.carousel{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:inherit;touch-action:pan-y;cursor:grab;-webkit-mask-image:-webkit-radial-gradient(white,black)}.carousel:active{cursor:grabbing}.carousel__track{display:flex;height:100%;gap:0;transition:transform .5s cubic-bezier(.16,1,.3,1);will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}.carousel__track.dragging{transition:none}.carousel__slide{flex:0 0 100%;width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;display:block}.carousel__dots{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:2}.carousel__dot{width:6px;height:6px;border-radius:50%;border:none;background:#ffffff4d;padding:0;cursor:pointer;transition:all .3s ease}.carousel__dot.active{background:#ffffffe6;transform:scale(1.3)}.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s var(--ease-out-expo),transform .8s var(--ease-out-expo)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal:nth-child(1){transition-delay:0ms}.reveal:nth-child(2){transition-delay:.1s}.reveal:nth-child(3){transition-delay:.2s}.reveal:nth-child(4){transition-delay:.3s}.reveal:nth-child(5){transition-delay:.4s}.footer{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:6rem 2rem;border-top:1px solid rgba(255,255,255,.05)}.footer__content{text-align:center}.footer__title{font-family:var(--font-display);font-weight:600;font-size:clamp(36px,5vw,72px);line-height:1.1;letter-spacing:-.03em}.footer__links{display:flex;gap:2.5rem;justify-content:center;margin-top:3rem}.footer__link{font-size:16px;font-weight:500;color:var(--text-secondary);position:relative;padding:.3em 0;transition:color .3s ease}.footer__link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--text-primary);transition:width .4s var(--ease-out-expo)}.footer__link:hover{color:var(--text-primary)}.footer__link:hover:after{width:100%}.footer__portrait{margin-top:2rem;display:flex;justify-content:center}.footer__portrait-img{width:80px;height:80px;border-radius:50%;object-fit:cover;opacity:.7;transition:opacity .4s ease}.footer__portrait-img:hover{opacity:1}.footer__copy{margin-top:1.5rem;font-size:13px;color:var(--text-dim)}@media (max-width: 768px){.project__inner{grid-template-columns:1fr;gap:3rem;text-align:center}.project__desc{max-width:100%}.project__heading,.project__tags,.project__cta,.project__platforms{justify-content:center}.mockup-phone{width:220px;height:460px;border-radius:32px}.mockup-phone__screen{border-radius:24px}.mockup-phone:before{width:80px;height:22px;border-radius:0 0 14px 14px}.footer__links{flex-direction:column;gap:1.5rem}.hero__name{font-size:clamp(48px,14vw,120px)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal,.hero__line{opacity:1;transform:none}.hero__tagline,.scroll-indicator{opacity:1}.cursor-light{display:none}.grain{animation:none}.philosophy__text .word{opacity:1}}
