*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}:root,.theme-teal{--accent:#64ffda}.theme-orange{--accent:#ff8c42}:root{--bg:#0b0d10;--bg-raised:#0f1215;--bg-surface:#141720;--bg-overlay:#1a1e27;--primary:#e8eaed;--secondary:#a0a7b4;--muted:#5a6275;--accent-dim:color-mix(in srgb, var(--accent) 12%, transparent);--accent-glow:color-mix(in srgb, var(--accent) 6%, transparent);--border:#ffffff0f;--border-hover:#ffffff1f;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-serif:"Fraunces", Georgia, serif;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--shadow-sm:0 1px 3px #0006, 0 1px 2px #0000004d;--shadow-md:0 4px 16px #00000080, 0 2px 6px #0000004d;--shadow-lg:0 16px 48px #0009, 0 6px 16px #0006;--shadow-glow:0 0 40px color-mix(in srgb, var(--accent) 8%, transparent), 0 0 80px color-mix(in srgb, var(--accent) 4%, transparent);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.45, 0, .55, 1);--container:1160px;--nav-h:100px}body{background-color:var(--bg);color:var(--primary);font-family:var(--font-sans);cursor:none;font-size:16px;line-height:1.6;overflow-x:hidden}@media (pointer:coarse){body{cursor:auto}}::selection{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--primary)}#root{text-align:left;border:none;width:100%;max-width:none;min-height:100svh;margin:0;display:block}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(20px,5vw,80px)}.cursor-glow{background:radial-gradient(circle, color-mix(in srgb, var(--accent) 7%, transparent) 0%, transparent 70%);pointer-events:none;z-index:0;will-change:transform;border-radius:50%;width:400px;height:400px;transition:opacity .3s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.nav{z-index:100;height:var(--nav-h);transition:background .4s var(--ease-out), border-color .4s;position:fixed;top:0;left:0;right:0}.nav.scrolled{-webkit-backdrop-filter:blur(20px)saturate(180%);border-bottom:1px solid var(--border);background:#0b0d10d9}.nav__inner{height:100%;max-width:var(--container);justify-content:space-between;align-items:center;margin-inline:auto;padding-inline:clamp(20px,5vw,80px);display:flex}.nav__logo{color:var(--primary);letter-spacing:-.01em;align-items:center;gap:8px;font-weight:500;text-decoration:none;display:flex}.nav__logo img{width:auto;height:60px;display:block}.nav__links{align-items:center;gap:2px;list-style:none;display:flex}.nav__link{color:var(--secondary);border-radius:var(--radius-sm);padding:6px 14px;font-size:14px;font-weight:450;text-decoration:none;transition:color .2s,background .2s;display:inline-block;position:relative}.nav__link:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .3s var(--ease-out);position:absolute;bottom:4px;left:14px;right:14px;transform:scaleX(0)}.nav__link:hover{color:var(--primary);background:#ffffff0a}.nav__link:hover:after{transform:scaleX(1)}.nav__link--cta{background:var(--accent-dim);color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 20%, transparent);margin-left:8px}.nav__link--cta:after{display:none}.nav__link--cta:hover{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent);border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.nav__toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.nav__toggle span{background:var(--primary);width:22px;height:2px;transition:transform .3s var(--ease-out), opacity .3s;border-radius:2px;display:block}.hero{min-height:100svh;padding-top:var(--nav-h);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero__canvas{z-index:0;width:100%;height:100%;position:absolute;inset:0}.hero__glow{background:radial-gradient(ellipse at center, color-mix(in srgb, var(--accent) 9%, transparent) 0%, color-mix(in srgb, var(--accent) 3%, transparent) 40%, transparent 70%);pointer-events:none;z-index:0;width:min(900px,120vw);height:600px;position:absolute;top:20%;left:50%;transform:translate(-50%)}.hero__content{z-index:2;text-align:center;max-width:820px;padding:0 clamp(20px,5vw,40px);position:relative}.hero__badge{background:color-mix(in srgb, var(--accent) 6%, transparent);border:1px solid color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent);letter-spacing:.01em;border-radius:100px;align-items:center;gap:8px;margin-bottom:48px;padding:6px 14px 6px 10px;font-size:13px;display:inline-flex}.hero__badge-dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 8px var(--accent);border-radius:50%;animation:2.4s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.hero__headline{font-family:var(--font-serif);letter-spacing:-.03em;flex-direction:column;align-items:center;gap:0;margin-bottom:28px;font-size:clamp(56px,8.5vw,118px);font-weight:300;line-height:.94;display:flex}.hero__headline-line{display:block;overflow:hidden}.hero__headline-line--accent{color:var(--accent);font-style:italic}.hero__sub{color:var(--secondary);margin-inline:auto;max-width:480px;margin-bottom:44px;font-size:clamp(16px,2vw,19px);font-weight:400;line-height:1.65}.hero__sub strong{color:var(--primary);font-weight:500}.hero__actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-bottom:80px;display:flex}.hero__scroll{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;flex-direction:column;align-items:center;gap:8px;font-size:11px;display:flex}.hero__scroll-line{background:linear-gradient(to bottom, transparent, var(--muted));width:1px;height:48px;animation:2s ease-in-out infinite scroll-line}@keyframes scroll-line{0%,to{opacity:.4;transform-origin:top;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}.btn{border-radius:var(--radius-md);font-size:14px;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:all .25s var(--ease-out);letter-spacing:.01em;border:1px solid #0000;align-items:center;gap:8px;padding:12px 22px;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";opacity:0;background:#ffffff0f;transition:opacity .25s;position:absolute;inset:0}.btn:hover:before{opacity:1}.btn--primary{background:var(--accent);color:#0b0d10;border-color:var(--accent);font-weight:600}.btn--primary:hover{background:color-mix(in srgb, var(--accent) 85%, white);border-color:color-mix(in srgb, var(--accent) 85%, white);box-shadow:0 0 24px color-mix(in srgb, var(--accent) 35%, transparent);transform:translateY(-1px)}.btn--primary svg{transition:transform .25s var(--ease-out)}.btn--primary:hover svg{transform:translate(3px)}.btn--ghost{color:var(--secondary);border-color:var(--border-hover);background:0 0}.btn--ghost:hover{color:var(--primary);background:#ffffff0a;border-color:#fff3}.btn--outline{color:var(--secondary);border-color:var(--border-hover);background:0 0}.btn--outline:hover{color:var(--primary);background:#ffffff0a;border-color:#fff3;transform:translateY(-1px)}.btn--outline svg{transition:transform .25s var(--ease-out)}.btn--outline:hover svg{transform:translate(3px)}.section-label{margin-bottom:24px}.section-label span{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.section-label span:before{content:"";background:var(--accent);width:20px;height:1px;display:block}.section-heading{font-family:var(--font-serif);letter-spacing:-.025em;color:var(--primary);margin-bottom:16px;font-size:clamp(32px,4.5vw,52px);font-weight:300;line-height:1.1}.section-sub{color:var(--secondary);max-width:480px;margin-bottom:64px;font-size:17px;line-height:1.65}.about{padding:clamp(80px,12vw,160px) 0;position:relative}.about:before{content:"";background:linear-gradient(to right, transparent, var(--border), transparent);height:1px;position:absolute;top:0;left:0;right:0}.about__grid{grid-template-columns:1fr 1fr;align-items:start;gap:80px;margin-bottom:56px;display:grid}.about__heading{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--primary);margin-bottom:24px;font-size:clamp(26px,3.2vw,38px);font-weight:300;line-height:1.2}.about__para{color:var(--secondary);margin-bottom:16px;font-size:16px;line-height:1.75}.about__stats{grid-template-columns:1fr 1fr;gap:16px;display:grid}.stat-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .3s, transform .3s var(--ease-out), box-shadow .3s;flex-direction:column;gap:4px;padding:28px 24px;display:flex;position:relative;overflow:hidden}.stat-card:before{content:"";background:radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--accent) 4%, transparent), transparent 70%);opacity:0;transition:opacity .3s;position:absolute;inset:0}.stat-card:hover{border-color:color-mix(in srgb, var(--accent) 25%, transparent);box-shadow:var(--shadow-md), 0 0 24px color-mix(in srgb, var(--accent) 6%, transparent);transform:translateY(-3px)}.stat-card:hover:before{opacity:1}.stat-card__number{font-family:var(--font-serif);letter-spacing:-.03em;color:var(--primary);font-size:42px;font-weight:300;line-height:1}.stat-card__suffix{color:var(--accent);vertical-align:super;margin-left:2px;font-size:20px;font-weight:400}.stat-card__label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-top:6px;font-size:12px;font-weight:500}.about__tags{flex-wrap:wrap;gap:10px;display:flex}.tag{background:var(--bg-surface);border:1px solid var(--border);color:var(--secondary);cursor:default;border-radius:100px;padding:7px 14px;font-size:13px;transition:color .2s,border-color .2s,background .2s}.tag:hover{color:var(--primary);border-color:var(--border-hover);background:var(--bg-overlay)}.projects{padding:clamp(80px,12vw,160px) 0;position:relative}.projects:before{content:"";background:linear-gradient(to right, transparent, var(--border), transparent);height:1px;position:absolute;top:0;left:0;right:0}.projects__grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:48px;display:grid}.project-card{border-radius:var(--radius-xl);background:var(--bg-surface);border:1px solid var(--border);transition:border-color .35s var(--ease-out), transform .35s var(--ease-out), box-shadow .35s var(--ease-out);position:relative;overflow:hidden}.project-card:hover{border-color:color-mix(in srgb, var(--accent) 22%, transparent);box-shadow:var(--shadow-lg), 0 0 40px color-mix(in srgb, var(--accent) 6%, transparent);transform:translateY(-5px)}.project-card__inner{z-index:1;flex-direction:column;height:100%;padding:28px;display:flex;position:relative}.project-card__glow{background:radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--accent) 5%, transparent), transparent 65%);opacity:0;pointer-events:none;transition:opacity .4s;position:absolute;inset:0}.project-card:hover .project-card__glow{opacity:1}.project-card__header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.project-card__icon{background:color-mix(in srgb, var(--accent) 8%, transparent);border:1px solid color-mix(in srgb, var(--accent) 15%, transparent);border-radius:var(--radius-md);width:44px;height:44px;color:var(--accent);transition:background .3s, border-color .3s, transform .3s var(--ease-out);place-items:center;display:grid}.project-card:hover .project-card__icon{background:color-mix(in srgb, var(--accent) 14%, transparent);border-color:color-mix(in srgb, var(--accent) 30%, transparent);transform:scale(1.05)}.project-card__tag{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--bg-overlay);border:1px solid var(--border);border-radius:100px;padding:4px 10px;font-size:11px;font-weight:600}.project-card__title{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--primary);margin-bottom:10px;font-size:24px;font-weight:300;line-height:1.2}.project-card__desc{color:var(--secondary);flex:1;margin-bottom:24px;font-size:14px;line-height:1.7}.project-card__footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.project-card__stack{flex-wrap:wrap;gap:6px;display:flex}.project-card__stack span{color:var(--muted);background:var(--bg-overlay);border:1px solid var(--border);border-radius:100px;padding:3px 9px;font-size:11px;transition:color .2s,border-color .2s}.project-card:hover .project-card__stack span{color:var(--secondary);border-color:var(--border-hover)}.project-card__link{background:var(--bg-overlay);border:1px solid var(--border);border-radius:var(--radius-md);width:34px;height:34px;color:var(--muted);transition:all .25s var(--ease-out);flex-shrink:0;place-items:center;text-decoration:none;display:grid}.project-card__link:hover{background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:color-mix(in srgb, var(--accent) 30%, transparent);color:var(--accent);transform:translate(2px,-2px)}.projects__cta{text-align:center}.philosophy{padding:clamp(80px,14vw,180px) 0;position:relative;overflow:hidden}.philosophy:before{content:"";background:linear-gradient(to right, transparent, var(--border), transparent);height:1px;position:absolute;top:0;left:0;right:0}.philosophy:after{content:"";background:linear-gradient(to right, transparent, var(--border), transparent);height:1px;position:absolute;bottom:0;left:0;right:0}.philosophy__inner{text-align:center;max-width:760px;margin-inline:auto;position:relative}.philosophy__mark{font-family:var(--font-serif);color:color-mix(in srgb, var(--accent) 10%, transparent);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:120px;line-height:.7;position:absolute;top:-20px;left:50%;transform:translate(-50%)}.philosophy__quote{font-family:var(--font-serif);color:var(--primary);letter-spacing:-.02em;quotes:none;z-index:1;margin-bottom:28px;font-size:clamp(24px,3.5vw,40px);font-style:italic;font-weight:300;line-height:1.45;position:relative}.philosophy__cite{color:var(--muted);letter-spacing:.04em;font-size:14px;font-style:normal}.timeline{padding:clamp(80px,12vw,160px) 0;position:relative}.timeline:before{content:"";background:linear-gradient(to right, transparent, var(--border), transparent);height:1px;position:absolute;top:0;left:0;right:0}.timeline__track{grid-template-columns:repeat(4,1fr);gap:0;margin-top:56px;display:grid;position:relative}.timeline__step{flex-direction:column;display:flex;position:relative}.timeline__step-content{padding:32px 28px 32px 0;padding-right:28px}.timeline__step-icon{background:var(--bg-surface);border:1px solid var(--border);width:40px;height:40px;color:var(--accent);transition:all .35s var(--ease-out);border-radius:50%;place-items:center;margin-bottom:16px;display:grid}.timeline__step.is-visible .timeline__step-icon{background:color-mix(in srgb, var(--accent) 8%, transparent);border-color:color-mix(in srgb, var(--accent) 30%, transparent);box-shadow:0 0 16px color-mix(in srgb, var(--accent) 12%, transparent)}.timeline__step-number{letter-spacing:.1em;color:var(--accent);opacity:.5;margin-bottom:8px;font-size:11px;font-weight:700}.timeline__step.is-visible .timeline__step-number{opacity:1}.timeline__step-title{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--primary);margin-bottom:12px;font-size:26px;font-weight:300}.timeline__step-desc{color:var(--secondary);max-width:230px;font-size:14px;line-height:1.7}.timeline__connector{background:var(--border);width:100%;height:1px;position:absolute;top:52px;right:0;overflow:hidden}.timeline__connector:after{content:"";background:linear-gradient(to right, var(--accent), color-mix(in srgb, var(--accent) 30%, transparent));transform-origin:0;transition:transform .8s var(--ease-out);position:absolute;inset:0;transform:scaleX(0)}.timeline__step.is-visible .timeline__connector:after{transform:scaleX(1)}.timeline__connector--last{display:none}.footer{padding:clamp(60px,8vw,80px) 0 40px;position:relative}.footer:before{content:"";background:linear-gradient(to right, transparent, var(--border), transparent);height:1px;position:absolute;top:0;left:0;right:0}.footer__inner{justify-content:space-between;align-items:flex-start;gap:40px;margin-bottom:48px;display:flex}.footer__logo{color:var(--primary);align-items:center;gap:8px;margin-bottom:12px;text-decoration:none;display:flex}.footer__tagline{color:var(--muted);font-size:14px}.footer__links{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.footer__link{color:var(--secondary);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:8px 14px;font-size:14px;text-decoration:none;transition:color .2s,background .2s;display:inline-flex}.footer__link:hover{color:var(--primary);background:#ffffff0a}.footer__bottom{color:var(--muted);align-items:center;gap:12px;font-size:13px;display:flex}.footer__dot{opacity:.4}.reveal-fade{opacity:0;transition:opacity .7s var(--ease-out), transform .7s var(--ease-out);transform:translateY(16px)}.reveal-slide{opacity:0;transition:opacity .8s var(--ease-out), transform .8s var(--ease-out);transform:translateY(24px)}.reveal-scale{opacity:0;transition:opacity .7s var(--ease-out), transform .7s var(--ease-out);transform:scale(.96)translateY(12px)}.is-visible.reveal-fade,.is-visible.reveal-slide,.is-visible.reveal-scale{opacity:1;transform:none}@media (width<=768px){.nav__toggle{display:flex}.nav__links{top:var(--nav-h);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-bottom:1px solid var(--border);opacity:0;pointer-events:none;transition:transform .4s var(--ease-out), opacity .4s;background:#0b0d10f5;flex-direction:column;align-items:flex-start;gap:4px;padding:20px clamp(20px,5vw,40px) 28px;position:fixed;left:0;right:0;transform:translateY(-100%)}.nav__links.open{opacity:1;pointer-events:all;transform:translateY(0)}.nav__link{padding:10px 0;font-size:16px}.nav__link--cta{margin-top:8px;margin-left:0;padding:10px 18px}.nav__toggle.open span:first-child{transform:translateY(7px)rotate(45deg)}.nav__toggle.open span:nth-child(2){opacity:0}.nav__toggle.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}}@media (width<=1024px){.about__grid{grid-template-columns:1fr;gap:48px}.projects__grid{grid-template-columns:repeat(2,1fr)}.timeline__track{grid-template-columns:repeat(2,1fr);gap:2px}.timeline__connector--last,.timeline__step:nth-child(2) .timeline__connector,.timeline__step:nth-child(4) .timeline__connector{display:none}}@media (width<=640px){.projects__grid{grid-template-columns:1fr}.about__stats{grid-template-columns:1fr 1fr}.timeline__track{grid-template-columns:1fr}.timeline__connector{display:none}.hero__actions{flex-direction:column;align-items:center}.footer__inner{flex-direction:column}.footer__links{gap:2px}}@media (width>=1600px){:root{--container:1320px}}@media (width>=2000px){:root{--container:1540px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal-fade,.reveal-slide,.reveal-scale{opacity:1;transform:none}}
