.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;border-radius:100px;border:1px solid transparent;transition:all .35s var(--ease-out);white-space:nowrap;cursor:none;text-decoration:none;font-family:var(--font-sans);position:relative;overflow:hidden}.btn__icon{display:flex;align-items:center;flex-shrink:0}.btn--sm{font-size:13px;padding:9px 20px}.btn--md{font-size:14px;padding:12px 26px}.btn--lg{font-size:15px;padding:15px 34px}.btn--primary{background:var(--accent);color:var(--accent-ink)}.btn--primary:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 32px var(--primary-glow)}.btn--primary:active{transform:translateY(0) scale(1)}.btn--secondary{background:transparent;color:var(--text-1);border-color:var(--border)}.btn--secondary:hover{border-color:var(--text-1);background:var(--surface);transform:translateY(-2px)}.btn--outline{background:transparent;color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.btn--outline:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.btn--ghost{background:transparent;color:var(--text-2);border-color:transparent}.btn--ghost:hover{background:var(--surface);color:var(--text-1)}.btn:disabled{opacity:.5;pointer-events:none}.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;padding-top:80px}.hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.hero__grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:100px 100px;-webkit-mask-image:radial-gradient(ellipse 70% 50% at 50% 40%,black 20%,transparent 100%);mask-image:radial-gradient(ellipse 70% 50% at 50% 40%,black 20%,transparent 100%);opacity:.5}.hero__content{position:relative;z-index:1;padding-block:80px}.hero__eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--text-2);margin-bottom:28px}.hero__eyebrow-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px color-mix(in srgb,var(--accent) 60%,transparent)}.hero__title{font-size:clamp(52px,9vw,128px);font-weight:800;line-height:.96;letter-spacing:-.03em;margin-bottom:28px}.hero__title-word{display:block;line-height:1;padding-bottom:.26em;margin-bottom:-.26em}.hero__title-word--gradient{color:var(--accent)}.hero__title-word--gradient.is-shimmering{background:linear-gradient(100deg,var(--accent) 30%,#fff 50%,var(--accent) 70%);background-repeat:repeat;background-size:200% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:hero-title-shimmer 5s linear infinite}.hero__title-word-mask{display:inline-flex;overflow:hidden;padding-bottom:.26em;margin-bottom:-.26em;vertical-align:top}.hero__title-space{display:inline-block;width:.26em}.hero__title-char{display:inline-block;transform-origin:50% 100%;will-change:transform}.hero__sub{display:flex;justify-content:space-between;align-items:flex-end;gap:2.5rem;flex-wrap:wrap;margin-bottom:clamp(48px,7vw,80px)}.hero__description{font-size:clamp(16px,1.6vw,20px);line-height:1.6;color:var(--text-2);max-width:38ch;font-weight:500}.hero__cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;flex-shrink:0}.hero__stats{display:flex;align-items:center;gap:clamp(32px,5vw,56px);flex-wrap:wrap;border-top:1px solid var(--border);padding-block:clamp(28px,4vw,40px) clamp(48px,7vw,72px)}.hero__stats-item{display:flex;flex-direction:column;gap:4px;position:relative}.hero__stats-item:not(:last-child):after{content:"";position:absolute;right:calc(-1*clamp(16px,2.5vw,28px));top:50%;transform:translateY(-50%);height:32px;width:1px;background:var(--border)}.hero__stats-value{font-size:clamp(28px,3.5vw,44px);font-weight:600;letter-spacing:-.03em;color:var(--text-1);line-height:1}.hero__stats-label{font-size:12px;font-weight:400;color:var(--text-3);letter-spacing:.04em;text-transform:uppercase}.hero__scroll-hint{position:absolute;bottom:40px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;font-size:10px;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-4);border:none;background:none;cursor:pointer;transition:color .3s;animation:float 3s ease-in-out infinite}.hero__scroll-hint:hover{color:var(--text-2)}.hero__marquee{position:relative;z-index:1;border-top:1px solid var(--border);padding:22px 0;overflow:hidden;white-space:nowrap}.hero__marquee-track{display:inline-flex;animation:hero-marquee 24s linear infinite}.hero__marquee-group{display:inline-flex}.hero__marquee-item{display:inline-flex;align-items:center;gap:1.4rem;font-size:clamp(18px,2.6vw,28px);font-weight:800;letter-spacing:-.01em;color:var(--text-3);padding:0 1.4rem}.hero__marquee-item i{font-style:normal;color:var(--accent)}@keyframes hero-marquee{to{transform:translate(-50%)}}@keyframes hero-title-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes float{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(8px)}}.section-header{margin-bottom:clamp(56px,6vw,80px)}.section-header--center{text-align:center;max-width:720px;margin-inline:auto;margin-bottom:clamp(56px,6vw,80px)}.section-header__label{display:inline-block;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin-bottom:24px}.section-header__title{font-size:clamp(38px,6vw,72px);font-weight:800;line-height:1.05;letter-spacing:-.03em;color:var(--text-1);margin-bottom:20px}.section-header__title .gradient{color:var(--accent)}.section-header__description{font-size:18px;line-height:1.7;color:var(--text-2);max-width:560px;font-weight:400}.section-header--center .section-header__description{margin-inline:auto}.about__layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,6vw,72px);align-items:center}@media (max-width: 900px){.about__layout{grid-template-columns:1fr;gap:40px}}.about__photo{position:relative;aspect-ratio:4/5;border-radius:var(--radius-xl);overflow:hidden;background:var(--accent)}.about__photo img{width:100%;height:100%;object-fit:cover;object-position:top;filter:grayscale(1) contrast(1.08);mix-blend-mode:luminosity;opacity:.94}.about__text{display:flex;flex-direction:column;gap:20px;margin-bottom:28px}.about__text p{font-size:clamp(17px,1.8vw,21px);line-height:1.55;font-weight:500;letter-spacing:-.01em;color:var(--text-1)}.about__pill-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.about__pill{font-size:13px;font-weight:600;color:var(--text-1);background:var(--surface);border:1px solid var(--border);border-radius:100px;padding:9px 18px}.about__pill--ghost{color:var(--text-3);background:transparent}.about__cta{display:flex;gap:16px;flex-wrap:wrap;margin-top:20px}.badge{display:inline-flex;align-items:center;font-family:var(--font-mono);font-weight:500;letter-spacing:.03em;border-radius:100px}.badge--sm{font-size:10px;padding:3px 10px}.badge--md{font-size:11px;padding:4px 12px}.badge--default{background:var(--surface);color:var(--text-3)}.badge--primary{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.badge--success{background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success)}.badge--warning{background:color-mix(in srgb,var(--warning) 12%,transparent);color:var(--warning)}.proj__list{display:flex;flex-direction:column}.proj__row{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,4vw,56px);align-items:center;padding:clamp(32px,5vw,52px) 0;border-top:1px solid var(--border)}.proj__row:last-child{border-bottom:1px solid var(--border)}@media (max-width: 860px){.proj__row{grid-template-columns:1fr}}.proj__visual{position:relative;aspect-ratio:16/11;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;overflow:hidden;transition:transform .5s var(--ease-out)}.proj__row:hover .proj__visual{transform:scale(1.015)}.proj__glyph{font-size:clamp(48px,7vw,80px);font-weight:800;letter-spacing:-.02em;color:#0003}.proj__meta-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.proj__year{font-size:13px;font-weight:700;color:var(--text-3)}.proj__status{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);border:1px solid var(--border);border-radius:100px;padding:4px 11px}.proj__name{font-size:clamp(26px,3.2vw,38px);font-weight:800;letter-spacing:-.02em;color:var(--text-1)}.proj__tagline{font-size:17px;color:var(--text-2);margin-top:4px}.proj__description{font-size:15px;line-height:1.7;color:var(--text-2);margin-top:14px;max-width:62ch}.proj__tech{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.proj__tech span{font-size:12px;font-weight:600;color:var(--text-3);border:1px solid var(--border);border-radius:100px;padding:5px 13px}.proj__link{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-size:14px;font-weight:700;color:var(--text-1);border-bottom:1px solid var(--text-1);padding-bottom:2px;cursor:none;transition:color .3s,border-color .3s}.proj__link:hover{color:var(--accent);border-color:var(--accent)}.proj-modal{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-xl);width:min(800px,95vw);max-height:90vh;overflow-y:auto;animation:slideUp .35s var(--ease-out);scroll-behavior:smooth;box-shadow:0 24px 80px #0000001f;scrollbar-width:thin;scrollbar-color:var(--border-hover) transparent}.proj-modal::-webkit-scrollbar{width:4px}.proj-modal::-webkit-scrollbar-track{background:transparent}.proj-modal::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:4px}.proj-modal::-webkit-scrollbar-thumb:hover{background:var(--text-4)}.proj-modal__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000040;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .2s forwards;overflow:hidden}.proj-modal__overlay--closing{animation:fadeOut .25s forwards}.proj-modal__overlay--closing .proj-modal{animation:slideDown .25s var(--ease-out) forwards}.proj-modal__header{padding:36px;border-bottom:1px solid;position:sticky;top:0;background:var(--bg);z-index:1;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.proj-modal__title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px}.proj-modal__name{font-size:32px;font-weight:600;letter-spacing:-.03em;color:var(--text-1);margin-top:12px;margin-bottom:4px}.proj-modal__fullname{font-size:14px;color:var(--text-4);margin-bottom:4px}.proj-modal__tagline{font-size:16px;font-weight:400;font-family:var(--font-serif);font-style:italic}.proj-modal__close{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--surface);color:var(--text-2);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .2s;border:none}.proj-modal__close:hover{background:var(--surface-hover);color:var(--text-1)}.proj-modal__body{padding:36px;display:flex;flex-direction:column;gap:36px}.proj-modal__section h3{font-size:12px;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin-bottom:16px}.proj-modal__section p{font-size:15px;line-height:1.75;color:var(--text-2)}.proj-modal__two-col{display:grid;grid-template-columns:1fr 1fr;gap:28px}@media (max-width: 600px){.proj-modal__two-col{grid-template-columns:1fr}}.proj-modal__highlights{display:flex;flex-direction:column;gap:10px}.proj-modal__highlight{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.65;color:var(--text-2)}.proj-modal__highlight svg{color:var(--success);flex-shrink:0;margin-top:3px}.proj-modal__arch{display:flex;flex-direction:column;gap:10px}.proj-modal__arch-item{display:flex;align-items:flex-start;gap:14px;font-size:14px;line-height:1.65;color:var(--text-2);padding:14px 18px;background:var(--surface);border-radius:var(--radius)}.proj-modal__arch-num{font-family:var(--font-mono);font-size:11px;color:var(--text-4);flex-shrink:0;margin-top:2px}.proj-modal__tech-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}.proj-modal__tech-cat{background:var(--surface);border-radius:var(--radius);padding:16px}.proj-modal__tech-cat-label{font-size:10px;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-4);margin-bottom:12px}.proj-modal__tech-tags{display:flex;flex-wrap:wrap;gap:6px}.proj-modal__tech-tag{font-size:12px;font-family:var(--font-mono);color:var(--text-2);background:var(--bg-2);border-radius:6px;padding:3px 10px}.proj-modal__impact{background:var(--surface);border-radius:var(--radius-lg);padding:28px}.proj-modal__impact-list{display:flex;flex-direction:column;gap:14px}.proj-modal__impact-item{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.65;color:var(--text-2)}.proj-modal__impact-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-top:7px}@keyframes slideUp{0%{opacity:0;transform:translateY(40px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideDown{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(40px) scale(.96)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.exp__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}@media (max-width: 760px){.exp__grid{grid-template-columns:1fr}}.exp__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:all .35s var(--ease-out)}.exp__card:hover{transform:translateY(-4px);border-color:var(--accent)}.exp__card--open{border-color:var(--accent)}.exp__header{position:relative;display:block;width:100%;text-align:left;padding:28px;cursor:pointer;background:none;border:none;font-family:var(--font-sans)}.exp__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.exp__logo{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:var(--accent-ink);letter-spacing:.02em}.exp__period{font-size:12px;font-weight:600;color:var(--text-4)}.exp__role{font-size:19px;font-weight:700;color:var(--text-1);letter-spacing:-.01em}.exp__company{font-size:13px;color:var(--text-3);margin-top:2px}.exp__description{font-size:14px;line-height:1.65;color:var(--text-2);margin-top:14px}.exp__toggle{position:absolute;top:28px;right:28px;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-3);transition:transform .4s var(--ease-out),border-color .3s,color .3s}.exp__toggle--open{transform:rotate(45deg);border-color:var(--accent);color:var(--accent)}.exp__body{max-height:0;overflow:hidden}.exp__achievements{display:flex;flex-direction:column;gap:2px;padding:0 28px;border-top:1px solid var(--border)}.exp__achievement{display:flex;align-items:flex-start;gap:10px;padding:12px 0;font-size:14px;line-height:1.6;color:var(--text-2)}.exp__check{color:var(--accent);flex-shrink:0;margin-top:3px}.exp__tech{display:flex;flex-wrap:wrap;gap:8px;padding:4px 28px 28px}.exp__tech-tag{font-size:12px;font-weight:600;color:var(--text-3);background:var(--bg);border:1px solid var(--border);border-radius:100px;padding:5px 12px;transition:all .2s}.exp__tech-tag:hover{color:var(--accent);border-color:var(--accent)}.contact__panel{background:var(--accent);color:var(--accent-ink);border-radius:var(--radius-xl);padding:clamp(40px,8vw,88px);position:relative;overflow:hidden}.contact__label{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.6;margin-bottom:20px}.contact__title{font-size:clamp(34px,7vw,76px);font-weight:800;letter-spacing:-.03em;line-height:1.04;max-width:15ch}.contact__row{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap;margin-top:clamp(28px,5vw,48px)}.contact__email{font-size:clamp(20px,3.4vw,32px);font-weight:800;letter-spacing:-.01em;border-bottom:3px solid var(--accent-ink);padding-bottom:3px}.contact__socials{display:flex;gap:12px}.contact__socials a{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;border:1.5px solid var(--accent-ink);border-radius:100px;padding:10px 18px;transition:background .3s,color .3s}.contact__socials a:hover{background:var(--accent-ink);color:var(--accent)}.contact__avail{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600;margin-top:clamp(28px,5vw,44px)}.contact__avail:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent-ink);flex-shrink:0}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;padding:20px 0;transition:padding .4s var(--ease-out)}.navbar--scrolled{padding:12px 0}.navbar__inner{display:flex;align-items:center;gap:36px;background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(16px) saturate(1.6);-webkit-backdrop-filter:blur(16px) saturate(1.6);border:1px solid var(--border);border-radius:100px;padding:8px 10px 8px 24px;transition:border-color .4s var(--ease-out),background .4s var(--ease-out)}.navbar--scrolled .navbar__inner{border-color:var(--border-hover)}.navbar__logo{display:flex;align-items:center;gap:6px;flex-shrink:0;cursor:pointer;text-decoration:none}.navbar__logo-text{font-size:17px;font-weight:800;letter-spacing:-.02em;color:var(--text-1);font-family:var(--font-sans)}.navbar__nav{display:flex;align-items:center;gap:2px;flex:1}@media (max-width: 768px){.navbar__nav{display:none}}.navbar__link{padding:7px 14px;font-size:13px;font-weight:600;color:var(--text-3);border-radius:100px;transition:color .3s;border:none;background:none;cursor:pointer;font-family:var(--font-sans);position:relative}.navbar__link:after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:1px;background:var(--text-1);transform:scaleX(0);transform-origin:right;transition:transform .4s cubic-bezier(.16,1,.3,1)}.navbar__link:hover{color:var(--text-1)}.navbar__link:hover:after{transform:scaleX(1);transform-origin:left}.navbar__link.active{color:var(--text-1)}.navbar__actions{display:flex;align-items:center;gap:8px;margin-left:auto}.navbar__cta{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:14px;padding:11px 22px;border-radius:100px;cursor:none;transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out)}.navbar__cta:hover{box-shadow:0 8px 28px var(--primary-glow)}@media (max-width: 768px){.navbar__cta{display:none}}.navbar__icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:var(--text-3);background:transparent;border:none;text-decoration:none;transition:all .3s;cursor:pointer}.navbar__icon-btn:hover{color:var(--text-1);background:var(--surface)}@media (max-width: 640px){.navbar__icon-btn{display:none}}.navbar__mobile-toggle{display:none;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:var(--text-2);background:var(--surface);border:none;cursor:pointer}@media (max-width: 768px){.navbar__mobile-toggle{display:flex}}.navbar__mobile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:99;animation:fadeIn .2s}.navbar__mobile-menu{position:fixed;top:0;right:0;bottom:0;width:min(340px,90vw);background:var(--bg-1);border-left:1px solid var(--border);padding:28px;display:flex;flex-direction:column;gap:4px;z-index:100;animation:slideInRight .35s var(--ease-out)}.navbar__mobile-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.navbar__mobile-header button{color:var(--text-2);background:var(--surface);border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer}.navbar__mobile-link{padding:14px 18px;font-size:16px;font-weight:500;color:var(--text-2);text-align:left;border-radius:var(--radius);border:none;background:none;cursor:pointer;font-family:var(--font-sans);transition:all .2s}.navbar__mobile-link:hover{color:var(--text-1);background:var(--surface)}.navbar__mobile-footer{margin-top:auto;display:flex;gap:8px;padding-top:28px;border-top:1px solid var(--border)}.navbar__mobile-footer .navbar__icon-btn{display:flex}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.footer{border-top:1px solid var(--border);padding-block:72px 48px;background:var(--bg-1)}.footer__top{display:grid;grid-template-columns:1.5fr 1fr 1.5fr;gap:56px;margin-bottom:56px}@media (max-width: 900px){.footer__top{grid-template-columns:1fr 1fr}}@media (max-width: 600px){.footer__top{grid-template-columns:1fr;gap:36px}}.footer__logo{display:flex;align-items:center;gap:6px;margin-bottom:20px}.footer__logo-text{font-size:18px;font-weight:700;letter-spacing:-.03em;color:var(--text-1)}.footer__logo-dot{width:6px;height:6px;border-radius:50%;background:var(--primary)}.footer__tagline{font-size:14px;line-height:1.7;color:var(--text-3);margin-bottom:24px}.footer__social{display:flex;gap:8px}.footer__social-link{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;color:var(--text-3);background:var(--surface);text-decoration:none;transition:all .3s}.footer__social-link:hover{color:var(--text-1);background:var(--surface-hover)}.footer__nav-label{font-size:11px;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-4);margin-bottom:20px}.footer__nav-links{display:flex;flex-direction:column;gap:4px}.footer__nav-link{font-size:14px;color:var(--text-3);background:none;border:none;cursor:pointer;text-align:left;padding:4px 0;font-family:var(--font-sans);transition:color .3s;position:relative;display:inline-block;width:fit-content}.footer__nav-link:after{content:"";position:absolute;left:0;bottom:2px;width:100%;height:1px;background:var(--text-1);transform:scaleX(0);transform-origin:right;transition:transform .4s cubic-bezier(.16,1,.3,1)}.footer__nav-link:hover{color:var(--text-1)}.footer__nav-link:hover:after{transform:scaleX(1);transform-origin:left}.footer__email{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--primary-light);text-decoration:none;margin-bottom:14px;transition:color .3s}.footer__email:hover{color:var(--text-1)}.footer__contact-note{font-size:14px;line-height:1.7;color:var(--text-4)}.footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:32px;border-top:1px solid var(--border);flex-wrap:wrap}.footer__copy,.footer__built{font-size:12px;color:var(--text-4);font-family:var(--font-mono)}.cmd__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0003;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:300;display:flex;align-items:flex-start;justify-content:center;padding-top:clamp(80px,15vh,160px);padding-inline:16px;animation:fadeIn .15s}.cmd__palette{width:min(580px,100%);background:var(--bg);border:1px solid var(--border-hover);border-radius:var(--radius-xl);box-shadow:0 24px 80px #0000001f;overflow:hidden;animation:scaleIn .2s var(--ease-out)}.cmd__search{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border)}.cmd__search-icon{color:var(--text-4);flex-shrink:0}.cmd__input{flex:1;background:none;border:none;outline:none;font-size:15px;color:var(--text-1);font-family:var(--font-sans)}.cmd__input::placeholder{color:var(--text-4)}.cmd__esc{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:5px;background:var(--surface);border:1px solid var(--border);color:var(--text-4);cursor:pointer;flex-shrink:0;transition:all .15s}.cmd__esc:hover{color:var(--text-1)}.cmd__results{max-height:360px;overflow-y:auto;padding:8px}.cmd__group{margin-bottom:4px}.cmd__group-label{font-size:10px;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-4);padding:8px 12px 4px}.cmd__item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border-radius:var(--radius);border:none;background:none;cursor:pointer;text-align:left;font-family:var(--font-sans);transition:background .1s}.cmd__item--active,.cmd__item:hover{background:var(--surface-hover)}.cmd__item--active .cmd__item-key,.cmd__item:hover .cmd__item-key{opacity:1}.cmd__item-icon{display:flex;align-items:center;color:var(--text-3);width:20px;flex-shrink:0}.cmd__item-label{font-size:14px;color:var(--text-1);flex:1}.cmd__item-key{font-size:10px;font-family:var(--font-mono);color:var(--text-4);background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:1px 5px;opacity:0;transition:opacity .15s}.cmd__empty{padding:32px 20px;text-align:center;font-size:14px;color:var(--text-4)}.cmd__footer{display:flex;gap:16px;padding:10px 20px;border-top:1px solid var(--border);background:var(--bg)}.cmd__footer span{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-4)}.cmd__footer kbd{font-family:var(--font-mono);font-size:10px;padding:1px 5px;background:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--text-3)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}:root:has(.cursor-dot) *{cursor:none!important}.cursor-dot{position:fixed;top:0;left:0;width:7px;height:7px;background:var(--accent);border-radius:50%;pointer-events:none;z-index:9999;will-change:transform;opacity:0}.cursor-ring{position:fixed;top:0;left:0;width:38px;height:38px;border:1.5px solid var(--border-hover);border-radius:50%;pointer-events:none;z-index:9998;will-change:transform;opacity:0;transition:border-color .3s ease,background-color .3s ease}.cursor-ring--hover{border-color:var(--accent);background-color:color-mix(in srgb,var(--accent) 14%,transparent)}.cursor-ring--magnetic{border-color:color-mix(in srgb,var(--accent) 60%,transparent);background-color:color-mix(in srgb,var(--accent) 10%,transparent)}@media (hover: none){.cursor-dot,.cursor-ring{display:none}}:root{--bg: #0D0D0D;--bg-1: #141414;--bg-2: #1A1A1A;--bg-3: #212121;--surface: #161616;--surface-hover: #1E1E1E;--border: rgba(245,245,242,.12);--border-hover: rgba(245,245,242,.24);--accent: #D7FF3D;--accent-ink: #0D0D0D;--primary: var(--accent);--primary-light: var(--accent);--primary-glow: color-mix(in srgb, var(--accent) 18%, transparent);--secondary: var(--accent);--gradient: var(--accent);--gradient-text: var(--accent);--text-1: #F5F5F2;--text-2: #A8A8A2;--text-3: #76766F;--text-4: #4F4F49;--success: #3DDC84;--warning: #FBBF24;--error: #FF6B5B;--radius-sm: 14px;--radius: 20px;--radius-lg: 28px;--radius-xl: 36px;--shadow-sm: 0 1px 3px rgba(0,0,0,.3);--shadow: 0 16px 48px rgba(0,0,0,.35);--shadow-lg: 0 24px 64px rgba(0,0,0,.4);--shadow-glow: 0 0 60px color-mix(in srgb, var(--accent) 12%, transparent);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-serif: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.45, 0, .55, 1);--section-gap: clamp(100px, 12vw, 180px);--container: min(1280px, 100% - 4rem)}[data-theme=light]{--bg: #F5F5F2;--bg-1: #ECECE5;--bg-2: #E4E4DC;--bg-3: #DCDCD2;--surface: #FFFFFF;--surface-hover: #F1F1EA;--border: rgba(13,13,13,.1);--border-hover: rgba(13,13,13,.2);--accent: #7C3AED;--accent-ink: #F5F5F2;--primary-glow: color-mix(in srgb, var(--accent) 14%, transparent);--text-1: #0D0D0D;--text-2: #55554D;--text-3: #83837A;--text-4: #ABABA3;--success: #15A864;--warning: #B45309;--error: #DC2626;--shadow-sm: 0 1px 3px rgba(0,0,0,.06);--shadow: 0 16px 48px rgba(0,0,0,.08);--shadow-lg: 0 24px 64px rgba(0,0,0,.1);--shadow-glow: 0 0 60px color-mix(in srgb, var(--accent) 10%, transparent)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background-color:var(--bg);color:var(--text-1);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .4s ease,color .4s ease}::selection{background:var(--accent);color:var(--accent-ink)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-3);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--text-4)}a{color:inherit;text-decoration:none}.anim-link{position:relative;display:inline-block}.anim-link:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s cubic-bezier(.16,1,.3,1)}.anim-link:hover:after{transform:scaleX(1);transform-origin:left}img{max-width:100%;display:block}button{cursor:pointer;border:none;background:none;font-family:var(--font-sans)}input,textarea,select{font-family:var(--font-sans)}.container{width:var(--container);margin-inline:auto}.section{padding-block:var(--section-gap)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.gradient{color:var(--accent)}.section-desc{font-size:17px;line-height:1.7;color:var(--text-2);max-width:560px;margin-bottom:clamp(40px,5vw,56px)}.section-desc--center{text-align:center;margin-inline:auto}
