:root{--font-sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Ubuntu,Cantarell,"Noto Sans",sans-serif;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--shadow-sm:0 1px 2px rgba(0,0,0,.06);--shadow-md:0 12px 40px rgba(0,0,0,.12);--header-h:72px;--maxw:1120px}[data-theme=light]{--bg:#f8fafc;--bg-elevated:#fff;--text:#0f172a;--muted:#475569;--border:#e2e8f0;--accent:#4f46e5;--accent-soft:rgba(79,70,229,.12);--ring:rgba(79,70,229,.35);--hero-glow:radial-gradient(1200px 600px at 10% -10%,rgba(79,70,229,.18),transparent 55%)}[data-theme=dark]{--bg:#07080c;--bg-elevated:#0f1117;--text:#f1f5f9;--muted:#94a3b8;--border:#1e293b;--accent:#818cf8;--accent-soft:rgba(129,140,248,.14);--ring:rgba(129,140,248,.45);--hero-glow:radial-gradient(1200px 600px at 10% -10%,rgba(129,140,248,.22),transparent 55%)}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;font-family:var(--font-sans);line-height:1.6;margin:0}img{display:block;height:auto;max-width:100%}a{color:inherit}a,a:hover{text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip-link{background:var(--accent);border-radius:10px;border-radius:var(--radius-sm);color:#fff;left:-999px;padding:.75rem 1rem;position:absolute;top:0;z-index:1000}.skip-link:focus{left:1rem;top:1rem}.container{margin-inline:auto;width:min(100% - 2rem,1120px);width:min(100% - 2rem,var(--maxw))}.site-main{min-height:100vh;padding-top:72px;padding-top:var(--header-h)}.muted{color:var(--muted)}.stack{display:flex;flex-direction:column;gap:.75rem}.h1{font-size:clamp(2.25rem,4vw,3.25rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;margin:0 0 .75rem}.h2{font-size:clamp(1.5rem,2.4vw,2rem);letter-spacing:-.02em;margin:0 0 .5rem}.lead{color:var(--muted);font-size:1.125rem;max-width:52ch}.pill{background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:.875rem;gap:.35rem;padding:.35rem .75rem}.btn,.pill{align-items:center;display:inline-flex}.btn{border:1px solid transparent;border-radius:10px;border-radius:var(--radius-sm);cursor:pointer;font-size:.95rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1.1rem;transition:background .15s ease,border-color .15s ease,-webkit-transform .15s ease;transition:transform .15s ease,background .15s ease,border-color .15s ease;transition:transform .15s ease,background .15s ease,border-color .15s ease,-webkit-transform .15s ease}.btn:active{-webkit-transform:translateY(1px);transform:translateY(1px)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{-webkit-filter:brightness(1.05);filter:brightness(1.05)}.btn-ghost{background:transparent;border-color:var(--border);color:var(--text)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.surface{background:var(--bg-elevated);border:1px solid var(--border);border-radius:14px;border-radius:var(--radius-md);box-shadow:0 1px 2px rgba(0,0,0,.06);box-shadow:var(--shadow-sm)}.grid-2{grid-gap:1.25rem;display:grid;gap:1.25rem}@media(min-width:900px){.grid-2{align-items:start;grid-template-columns:1fr 1fr}}.section{padding:clamp(3rem,6vw,5rem) 0}.section-tight{padding:clamp(2rem,4vw,3rem) 0}.kicker{color:var(--accent);font-size:.75rem;font-weight:600;letter-spacing:.12em;margin:0 0 .75rem;text-transform:uppercase}.divider{background:var(--border);height:1px;margin:1.5rem 0}.site-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--bg) 86%,transparent);border-bottom:1px solid var(--border);height:72px;height:var(--header-h);inset:0 0 auto 0;position:fixed;transition:height .35s cubic-bezier(.22,1,.36,1),background .35s ease,border-color .25s ease;z-index:50}.site-header--compact{--header-h:60px;background:color-mix(in srgb,var(--bg) 92%,transparent)}.site-header__inner{align-items:center;display:flex;gap:1rem;height:100%;justify-content:space-between}.brand{display:flex;flex-direction:column;gap:.1rem;min-width:0}.brand__site{color:var(--accent);font-size:.68rem;font-weight:700;letter-spacing:.14em;line-height:1.2;text-transform:uppercase}.brand__name{font-weight:700;letter-spacing:-.02em;white-space:nowrap}.brand__title{color:var(--muted);display:none;font-size:.75rem}@media(min-width:640px){.brand__title{display:block}}.nav-desktop{align-items:center;display:none;gap:.25rem}@media(min-width:960px){.nav-desktop{display:flex}}.nav-link{border-radius:8px;color:var(--muted);font-size:.9rem;font-weight:500;padding:.45rem .65rem}.nav-link--active,.nav-link:hover{background:var(--accent-soft);color:var(--text)}.header-actions{align-items:center;display:flex;gap:.35rem}.icon-btn{align-items:center;background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;color:var(--text);display:inline-flex;height:42px;justify-content:center;width:42px}.icon-btn:hover{border-color:var(--accent)}.menu-toggle{display:inline-flex}@media(min-width:960px){.menu-toggle{display:none}}.mobile-backdrop{background:rgba(0,0,0,.45);border:0;cursor:pointer;display:block;height:100%;inset:0;margin:0;padding:0;position:fixed;width:100%;z-index:60}.mobile-panel{background:var(--bg-elevated);border-left:1px solid var(--border);display:flex;flex-direction:column;gap:.5rem;height:100%;padding:1rem;position:fixed;right:0;top:0;width:min(88vw,320px);will-change:transform;z-index:70}.mobile-panel a{border-radius:10px;color:var(--text);font-weight:600;padding:.75rem .65rem}.mobile-panel a:focus-visible,.mobile-panel a:hover{background:var(--accent-soft)}.site-footer{border-top:1px solid var(--border);color:var(--muted);font-size:.9rem;padding:2rem 0 2.5rem}.site-footer__row{display:flex;flex-direction:column;gap:1rem}@media(min-width:720px){.site-footer__row{align-items:center;flex-direction:row;justify-content:space-between}}.footer-links{display:flex;flex-wrap:wrap;gap:1rem}.footer-links .link-animated{color:var(--muted)}.footer-links .link-animated:hover{color:var(--text)}.hero{overflow:hidden;position:relative}.hero:before{background:var(--hero-glow);content:"";inset:0;pointer-events:none;position:absolute}.hero__inner{padding:clamp(3rem,8vw,6rem) 0 clamp(2.5rem,5vw,4rem);position:relative}.hero__actions{margin-top:1.5rem}.hero__actions,.hero__meta{display:flex;flex-wrap:wrap;gap:.75rem}.hero__meta{margin-top:1.25rem}.timeline{display:flex;flex-direction:column;gap:1rem}.job-card{padding:1.25rem 1.35rem}.job-card__role{font-size:1.15rem;font-weight:700;margin:0 0 .15rem}.job-card__meta{color:var(--muted);font-size:.95rem;margin:0 0 .75rem}.job-card ul{color:var(--muted);margin:0;padding-left:1.1rem}.job-card li{margin:.35rem 0}.skill-grid{grid-gap:1rem;display:grid;gap:1rem}@media(min-width:720px){.skill-grid{grid-template-columns:repeat(2,1fr)}}.skill-block{padding:1.25rem}.skill-block__title{font-size:1rem;font-weight:700;margin:0 0 .75rem}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chip{background:var(--bg);border:1px solid var(--border);border-radius:999px;color:var(--text);font-size:.85rem;padding:.35rem .65rem}.project-card{display:flex;flex-direction:column;gap:.65rem;height:100%;padding:1.35rem}.project-card__title{font-size:1.15rem;font-weight:700;margin:0}.project-card p{color:var(--muted);flex:1 1;margin:0}.project-grid{grid-gap:1rem;display:grid;gap:1rem}@media(min-width:900px){.project-grid{grid-template-columns:repeat(2,1fr)}}.link-inline{align-items:center;color:var(--accent);display:inline-flex;font-weight:600;gap:.35rem}.link-inline:hover{text-underline-offset:3px}.contact-grid{grid-gap:1rem;display:grid;gap:1rem}@media(min-width:900px){.contact-grid{grid-template-columns:1.1fr .9fr}}.contact-card{padding:1.35rem}.contact-list{display:flex;flex-direction:column;gap:1rem;list-style:none;margin:0;padding:0}.contact-list li{align-items:flex-start;display:flex;gap:.75rem}.contact-icon{align-items:center;border:1px solid var(--border);border-radius:10px;color:var(--accent);display:inline-flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.not-found{display:grid;min-height:70vh;padding:2rem;place-items:center;text-align:center}.nav-desktop{position:relative}.nav-active-pill{background:var(--accent);border-radius:2px;bottom:10px;height:2px;left:0;opacity:0;pointer-events:none;position:absolute;width:0;will-change:transform,opacity,width;z-index:0}.nav-desktop .nav-link{overflow:hidden;position:relative;z-index:1}.nav-link:after{background:currentColor;bottom:.2rem;content:"";height:1px;left:.5rem;opacity:.35;pointer-events:none;position:absolute;right:.5rem;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:left center;transform-origin:left center;transition:-webkit-transform .28s cubic-bezier(.22,1,.36,1);transition:transform .28s cubic-bezier(.22,1,.36,1);transition:transform .28s cubic-bezier(.22,1,.36,1),-webkit-transform .28s cubic-bezier(.22,1,.36,1)}.nav-link:focus-visible:after,.nav-link:hover:after{-webkit-transform:scaleX(1);transform:scaleX(1)}.mobile-panel__head{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.mobile-panel__title{font-weight:700}.magnetic-link__inner{align-items:center;display:inline-flex;gap:inherit;will-change:transform}.hero__intro{position:relative;z-index:1}.elevate-card{transition:box-shadow .4s cubic-bezier(.22,1,.36,1),border-color .25s ease,-webkit-transform .4s cubic-bezier(.22,1,.36,1);transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s cubic-bezier(.22,1,.36,1),border-color .25s ease;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s cubic-bezier(.22,1,.36,1),border-color .25s ease,-webkit-transform .4s cubic-bezier(.22,1,.36,1);will-change:transform}@media(hover:hover)and (pointer:fine){.elevate-card:hover{border-color:color-mix(in srgb,var(--accent) 28%,var(--border));box-shadow:0 10px 28px rgba(0,0,0,.08);-webkit-transform:translateY(-3px) scale(1.02);transform:translateY(-3px) scale(1.02)}}[data-theme=dark] .elevate-card:hover{box-shadow:0 12px 32px rgba(0,0,0,.35)}.btn{transition:background .22s ease,border-color .22s ease,color .22s ease,-webkit-transform .22s cubic-bezier(.22,1,.36,1),-webkit-filter .22s ease;transition:transform .22s cubic-bezier(.22,1,.36,1),filter .22s ease,background .22s ease,border-color .22s ease,color .22s ease;transition:transform .22s cubic-bezier(.22,1,.36,1),filter .22s ease,background .22s ease,border-color .22s ease,color .22s ease,-webkit-transform .22s cubic-bezier(.22,1,.36,1),-webkit-filter .22s ease;will-change:transform}.btn:hover{-webkit-transform:translateY(-1px) scale(1.02);transform:translateY(-1px) scale(1.02)}.btn:active{-webkit-transform:translateY(1px) scale(.98);transform:translateY(1px) scale(.98)}.icon-btn{transition:border-color .2s ease,color .2s ease,-webkit-transform .25s cubic-bezier(.22,1,.36,1);transition:transform .25s cubic-bezier(.22,1,.36,1),border-color .2s ease,color .2s ease;transition:transform .25s cubic-bezier(.22,1,.36,1),border-color .2s ease,color .2s ease,-webkit-transform .25s cubic-bezier(.22,1,.36,1)}.icon-btn:hover{-webkit-transform:rotate(-6deg) scale(1.04);transform:rotate(-6deg) scale(1.04)}.icon-btn:active{-webkit-transform:scale(.94);transform:scale(.94)}.chip{transition:border-color .22s ease,color .22s ease,-webkit-transform .22s ease;transition:transform .22s ease,border-color .22s ease,color .22s ease;transition:transform .22s ease,border-color .22s ease,color .22s ease,-webkit-transform .22s ease}.chips--home .chip:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));-webkit-transform:translateY(-2px);transform:translateY(-2px)}.link-animated,.link-inline--animated{align-items:center;display:inline-flex;gap:.35rem;position:relative}.link-animated:after,.link-inline--animated:after{background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 40%,transparent));bottom:-2px;content:"";height:1px;left:0;position:absolute;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:left;transform-origin:left;transition:-webkit-transform .3s cubic-bezier(.22,1,.36,1);transition:transform .3s cubic-bezier(.22,1,.36,1);transition:transform .3s cubic-bezier(.22,1,.36,1),-webkit-transform .3s cubic-bezier(.22,1,.36,1);width:100%}.link-animated:focus-visible:after,.link-animated:hover:after,.link-inline--animated:focus-visible:after,.link-inline--animated:hover:after{-webkit-transform:scaleX(1);transform:scaleX(1)}.contact-icon{transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.contact-list li:hover .contact-icon{-webkit-transform:translateY(-2px) rotate(-4deg);transform:translateY(-2px) rotate(-4deg)}.custom-cursor{inset:0;pointer-events:none;position:fixed;z-index:9999}.custom-cursor__dot,.custom-cursor__ring{border-radius:999px;left:0;pointer-events:none;position:fixed;top:0;will-change:transform}.custom-cursor__dot{background:var(--accent);height:6px;width:6px}.custom-cursor__ring{border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);height:32px;width:32px}body.has-custom-cursor,body.has-custom-cursor [role=button],body.has-custom-cursor a,body.has-custom-cursor button{cursor:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.chip,.contact-icon,.elevate-card,.icon-btn{transition:none!important}.elevate-card:hover{box-shadow:0 1px 2px rgba(0,0,0,.06)!important;box-shadow:var(--shadow-sm)!important}.btn:active,.btn:hover,.elevate-card:hover,.icon-btn:active,.icon-btn:hover{-webkit-transform:none!important;transform:none!important}.link-animated:after,.link-inline--animated:after,.nav-link:after{-webkit-transform:scaleX(1)!important;transform:scaleX(1)!important;transition:none!important}.chips--home .chip:hover,.contact-list li:hover .contact-icon{-webkit-transform:none!important;transform:none!important}}@media(pointer:coarse){.elevate-card:hover{box-shadow:0 1px 2px rgba(0,0,0,.06);box-shadow:var(--shadow-sm)}.btn:hover,.chips--home .chip:hover,.elevate-card:hover,.icon-btn:hover{-webkit-transform:none;transform:none}}.site-main{position:relative}.page-shell{min-height:1px;will-change:opacity,transform}.route-progress{height:2px;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:55}.route-progress__bar{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 70%,transparent),var(--accent));height:100%;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:0 50%;transform-origin:0 50%;width:100%;will-change:transform}.initial-loader{background:var(--bg);display:grid;inset:0;place-items:center;position:fixed;will-change:opacity;z-index:400}.initial-loader__inner{max-width:22rem;padding:1.5rem;text-align:center}.initial-loader__brand{color:var(--text);font-size:clamp(1.25rem,3vw,1.75rem);font-weight:700;letter-spacing:-.02em;margin:0 0 .75rem}.initial-loader__hint{color:var(--muted);font-size:.9rem;margin:0 0 1.25rem}.initial-loader__track{background:var(--border);border-radius:999px;height:2px;overflow:hidden;width:100%}.initial-loader__line{background:var(--accent);height:100%;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:0 50%;transform-origin:0 50%;width:100%;will-change:transform}body.is-booting{overflow:hidden}.projects-hero{padding-bottom:.5rem}.projects-hero__title{letter-spacing:-.03em}.projects-hero__lead{max-width:42rem}.projects-page{padding-bottom:clamp(3rem,8vw,5rem)}.projects-filters{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in srgb,var(--bg-elevated) 88%,transparent);border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 1px 2px rgba(0,0,0,.06);box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;gap:clamp(1.25rem,3vw,2rem);margin-bottom:clamp(1.75rem,4vw,2.75rem);padding:1rem 1.15rem}.projects-filters__group{display:flex;flex:1 1 240px;flex-direction:column;gap:.5rem;min-width:min(100%,280px)}.projects-filters__label{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.projects-filters__chips{display:flex;flex-wrap:wrap;gap:.4rem}.projects-filter-chip{-webkit-appearance:none;appearance:none;background:var(--bg);border:1px solid var(--border);border-radius:999px;color:var(--muted);cursor:pointer;font:inherit;font-size:.8125rem;font-weight:500;padding:.35rem .75rem;transition:color .2s ease,border-color .2s ease,background .2s ease,-webkit-transform .2s ease;transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease;transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease,-webkit-transform .2s ease}.projects-filter-chip:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));color:var(--text)}.projects-filter-chip.is-active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 55%,var(--border));color:var(--text)}.projects-filter-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.projects-showcase-grid{grid-gap:clamp(1.25rem,2.4vw,2rem);display:grid;gap:clamp(1.25rem,2.4vw,2rem);grid-template-columns:1fr}@media(min-width:640px){.projects-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.project-card-xl{background:var(--bg-elevated);border:1px solid var(--border);border-radius:24px;border-radius:calc(var(--radius-lg) + 4px);box-shadow:0 12px 40px rgba(0,0,0,.12);box-shadow:var(--shadow-md);overflow:hidden;position:relative;transition:box-shadow .35s ease,border-color .35s ease,-webkit-transform .45s cubic-bezier(.22,1,.36,1);transition:box-shadow .35s ease,border-color .35s ease,transform .45s cubic-bezier(.22,1,.36,1);transition:box-shadow .35s ease,border-color .35s ease,transform .45s cubic-bezier(.22,1,.36,1),-webkit-transform .45s cubic-bezier(.22,1,.36,1)}.project-card-xl:hover{border-color:color-mix(in srgb,var(--accent) 28%,var(--border));box-shadow:0 20px 50px rgba(0,0,0,.14),0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent);-webkit-transform:translateY(-3px);transform:translateY(-3px)}.project-card-xl__link{color:inherit;display:block}.project-card-xl__media{aspect-ratio:16/10;isolation:isolate;overflow:hidden;position:relative}.project-card-xl__media img{height:100%;object-fit:cover;-webkit-transform:scale(1);transform:scale(1);transition:-webkit-transform .7s cubic-bezier(.22,1,.36,1);transition:transform .7s cubic-bezier(.22,1,.36,1);transition:transform .7s cubic-bezier(.22,1,.36,1),-webkit-transform .7s cubic-bezier(.22,1,.36,1);width:100%;will-change:transform}.project-card-xl:hover .project-card-xl__media img{-webkit-transform:scale(1.05);transform:scale(1.05)}.project-card-xl__overlay{background:linear-gradient(180deg,transparent,rgba(0,0,0,.05) 35%,rgba(0,0,0,.72));inset:0;opacity:.82;position:absolute;transition:opacity .45s ease}.project-card-xl:hover .project-card-xl__overlay{opacity:1}.project-card-xl__body{color:#f8fafc;display:flex;flex-direction:column;inset:0;justify-content:flex-end;padding:clamp(1rem,3vw,1.65rem);position:absolute;-webkit-transform:translateY(6px);transform:translateY(6px);transition:-webkit-transform .5s cubic-bezier(.22,1,.36,1);transition:transform .5s cubic-bezier(.22,1,.36,1);transition:transform .5s cubic-bezier(.22,1,.36,1),-webkit-transform .5s cubic-bezier(.22,1,.36,1)}.project-card-xl:hover .project-card-xl__body{-webkit-transform:translateY(0);transform:translateY(0)}.project-card-xl__eyebrow{color:rgba(248,250,252,.72);font-size:.75rem;margin-bottom:.35rem}.project-card-xl__title{font-size:clamp(1.15rem,2.2vw,1.45rem);font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:0 0 .4rem}.project-card-xl__desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:rgba(248,250,252,.88);display:-webkit-box;font-size:.875rem;line-height:1.45;margin:0 0 .65rem;overflow:hidden}.project-card-xl__tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.project-card-xl__tag{background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.14);border-radius:6px;color:rgba(248,250,252,.92);font-size:.68rem;font-weight:600;letter-spacing:.04em;padding:.2rem .45rem;text-transform:uppercase}.project-card-xl__cta{align-items:center;display:inline-flex;font-size:.8125rem;font-weight:600;gap:.35rem;opacity:0;-webkit-transform:translateY(8px);transform:translateY(8px);transition:opacity .35s ease .05s,-webkit-transform .4s cubic-bezier(.22,1,.36,1) .05s;transition:opacity .35s ease .05s,transform .4s cubic-bezier(.22,1,.36,1) .05s;transition:opacity .35s ease .05s,transform .4s cubic-bezier(.22,1,.36,1) .05s,-webkit-transform .4s cubic-bezier(.22,1,.36,1) .05s}.project-card-xl:hover .project-card-xl__cta{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.project-cursor-hint{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--bg-elevated) 82%,transparent);border:1px solid var(--border);border-radius:999px;box-shadow:0 12px 40px rgba(0,0,0,.12);box-shadow:var(--shadow-md);color:var(--text);font-size:.75rem;font-weight:600;left:0;letter-spacing:.02em;padding:.4rem .75rem;pointer-events:none;position:fixed;top:0;z-index:80}.featured-swiper-wrap{margin:clamp(1.5rem,4vw,2.5rem) auto;position:relative;width:min(100% - 2rem,1120px);width:min(100% - 2rem,var(--maxw))}.featured-swiper{border:1px solid var(--border);border-radius:26px;border-radius:calc(var(--radius-lg) + 6px);box-shadow:0 12px 40px rgba(0,0,0,.12);box-shadow:var(--shadow-md);overflow:hidden;width:100%}.featured-swiper,.featured-swiper .swiper-slide{min-height:clamp(480px,100svh - 72px - 2rem,900px);min-height:clamp(480px,100svh - var(--header-h) - 2rem,900px)}.featured-swiper .swiper-slide{height:auto}.featured-swiper__slide{align-items:stretch;display:flex;position:relative}.featured-swiper__media{inset:0;overflow:hidden;position:absolute}.featured-swiper__bg{height:100%;object-fit:cover;-webkit-transform:scale(1.08);transform:scale(1.08);transition:-webkit-transform 1.1s cubic-bezier(.22,1,.36,1);transition:transform 1.1s cubic-bezier(.22,1,.36,1);transition:transform 1.1s cubic-bezier(.22,1,.36,1),-webkit-transform 1.1s cubic-bezier(.22,1,.36,1);width:100%;will-change:transform}.featured-swiper__slide.swiper-slide-active .featured-swiper__bg{-webkit-transform:scale(1);transform:scale(1)}.featured-swiper__scrim{background:linear-gradient(105deg,rgba(0,0,0,.72),rgba(0,0,0,.35) 48%,rgba(0,0,0,.2));inset:0;position:absolute}.featured-swiper__content{align-items:flex-start;display:flex;flex-direction:column;justify-content:center;max-width:36rem;min-height:inherit;padding:clamp(2rem,6vw,4rem) 0;position:relative;z-index:1}.featured-swiper__kicker{color:rgba(248,250,252,.65);font-size:.75rem;font-weight:600;letter-spacing:.14em;margin:0 0 .5rem;opacity:0;text-transform:uppercase;-webkit-transform:translateY(18px);transform:translateY(18px);transition:opacity .55s ease .08s,-webkit-transform .65s cubic-bezier(.22,1,.36,1) .08s;transition:opacity .55s ease .08s,transform .65s cubic-bezier(.22,1,.36,1) .08s;transition:opacity .55s ease .08s,transform .65s cubic-bezier(.22,1,.36,1) .08s,-webkit-transform .65s cubic-bezier(.22,1,.36,1) .08s}.featured-swiper__title{color:#f8fafc;font-size:clamp(1.75rem,4.5vw,2.75rem);font-weight:800;letter-spacing:-.035em;line-height:1.08;margin:0 0 .65rem;opacity:0;-webkit-transform:translateY(26px);transform:translateY(26px);transition:opacity .55s ease .12s,-webkit-transform .7s cubic-bezier(.22,1,.36,1) .12s;transition:opacity .55s ease .12s,transform .7s cubic-bezier(.22,1,.36,1) .12s;transition:opacity .55s ease .12s,transform .7s cubic-bezier(.22,1,.36,1) .12s,-webkit-transform .7s cubic-bezier(.22,1,.36,1) .12s}.featured-swiper__tagline{color:rgba(248,250,252,.88);font-size:clamp(1rem,2vw,1.15rem);line-height:1.5;margin:0 0 1rem;opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px);transition:opacity .55s ease .22s,-webkit-transform .65s cubic-bezier(.22,1,.36,1) .22s;transition:opacity .55s ease .22s,transform .65s cubic-bezier(.22,1,.36,1) .22s;transition:opacity .55s ease .22s,transform .65s cubic-bezier(.22,1,.36,1) .22s,-webkit-transform .65s cubic-bezier(.22,1,.36,1) .22s}.featured-swiper__meta{color:rgba(248,250,252,.72);display:flex;flex-wrap:wrap;font-size:.875rem;gap:.35rem .5rem;margin-bottom:1.35rem;opacity:0;-webkit-transform:translateY(14px);transform:translateY(14px);transition:opacity .45s ease .28s,-webkit-transform .55s ease .28s;transition:opacity .45s ease .28s,transform .55s ease .28s;transition:opacity .45s ease .28s,transform .55s ease .28s,-webkit-transform .55s ease .28s}.featured-swiper__cta{display:flex;flex-wrap:wrap;gap:.65rem;opacity:0;-webkit-transform:translateY(16px);transform:translateY(16px);transition:opacity .5s ease .32s,-webkit-transform .6s cubic-bezier(.22,1,.36,1) .32s;transition:opacity .5s ease .32s,transform .6s cubic-bezier(.22,1,.36,1) .32s;transition:opacity .5s ease .32s,transform .6s cubic-bezier(.22,1,.36,1) .32s,-webkit-transform .6s cubic-bezier(.22,1,.36,1) .32s}.featured-swiper__slide.swiper-slide-active .featured-swiper__cta,.featured-swiper__slide.swiper-slide-active .featured-swiper__kicker,.featured-swiper__slide.swiper-slide-active .featured-swiper__meta,.featured-swiper__slide.swiper-slide-active .featured-swiper__tagline,.featured-swiper__slide.swiper-slide-active .featured-swiper__title{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.featured-swiper .swiper-pagination-fraction{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(0,0,0,.35);border:1px solid hsla(0,0%,100%,.12);border-radius:999px;bottom:clamp(1rem,3vw,1.75rem);color:rgba(248,250,252,.85);font-size:.8125rem;font-weight:600;left:auto;letter-spacing:.12em;padding:.35rem .75rem;right:clamp(1rem,3vw,2rem);width:auto}.featured-swiper__hint{font-size:.78rem;margin:.65rem 0 0;text-align:center}.project-hero{align-items:flex-end;border-bottom:1px solid var(--border);border-radius:0 0 28px 28px;border-radius:0 0 calc(var(--radius-lg) + 8px) calc(var(--radius-lg) + 8px);display:flex;margin-bottom:clamp(2rem,5vw,3.5rem);min-height:clamp(420px,100svh - 72px,880px);min-height:clamp(420px,100svh - var(--header-h),880px);overflow:hidden;position:relative}.project-hero__media{inset:0;position:absolute}.project-hero__media img{height:100%;object-fit:cover;width:100%}.project-hero__scrim{background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.75));inset:0;position:absolute}.project-hero__content{max-width:48rem;padding:clamp(2rem,5vw,4rem) 0;position:relative;z-index:1}.project-hero__back{color:rgba(248,250,252,.85);display:inline-block;margin-bottom:1rem}.project-hero__title{color:#f8fafc;font-size:clamp(2rem,5vw,3rem);font-weight:800;letter-spacing:-.035em;line-height:1.05;margin:0 0 .5rem}.project-hero__tagline{color:rgba(248,250,252,.9);font-size:clamp(1.05rem,2vw,1.25rem);margin:0 0 1rem}.project-hero__chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.project-hero__chips .chip{background:hsla(0,0%,100%,.12);border-color:hsla(0,0%,100%,.2);color:#f8fafc}.project-hero__meta{color:rgba(248,250,252,.75);margin:0 0 1.25rem}.project-body{padding-bottom:clamp(3rem,8vw,5rem)}.project-section{margin-bottom:clamp(2rem,4vw,3rem)}.project-section__title{font-size:clamp(1.1rem,2vw,1.35rem);font-weight:700;letter-spacing:-.02em;margin:0 0 1rem}.project-lead{color:var(--text);font-size:1.08rem;line-height:1.65;margin:0}.project-grid-2{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1fr;margin-bottom:clamp(2rem,4vw,3rem)}@media(min-width:768px){.project-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.project-surface{border-radius:20px;border-radius:var(--radius-lg);padding:clamp(1.15rem,2.5vw,1.5rem)}.project-list{margin:0;padding-left:1.15rem}.project-list li{margin-bottom:.45rem}.project-arch__tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}.project-features{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:720px){.project-features{grid-template-columns:repeat(3,minmax(0,1fr))}}.project-feature{border-radius:14px;border-radius:var(--radius-md);padding:1.1rem 1.15rem}.project-feature h3{font-size:1rem;font-weight:650;margin:0 0 .5rem}.project-feature p{font-size:.9rem;line-height:1.55;margin:0}.project-gallery{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:768px){.project-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}.project-gallery__item{aspect-ratio:4/3;background:var(--bg-elevated);border:none;border-radius:14px;border-radius:var(--radius-md);cursor:zoom-in;display:block;overflow:hidden;padding:0;position:relative;transition:box-shadow .35s ease,-webkit-transform .35s ease;transition:transform .35s ease,box-shadow .35s ease;transition:transform .35s ease,box-shadow .35s ease,-webkit-transform .35s ease}.project-gallery__item:hover{box-shadow:0 12px 40px rgba(0,0,0,.12);box-shadow:var(--shadow-md);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.project-gallery__item img{height:100%;object-fit:cover;width:100%}.project-gallery__zoom{background:rgba(0,0,0,.55);border-radius:6px;bottom:.5rem;color:#f8fafc;font-size:.7rem;font-weight:600;padding:.2rem .45rem;position:absolute;right:.5rem}.project-metrics{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:600px){.project-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}.project-metric{border-radius:14px;border-radius:var(--radius-md);padding:1.15rem 1.2rem;text-align:left}.project-metric__value{font-size:clamp(1.35rem,2.5vw,1.75rem);font-weight:800;letter-spacing:-.03em;margin-bottom:.25rem}.project-metric__label{font-size:.9rem;font-weight:600}.project-metric__hint{font-size:.8rem;margin-top:.35rem}.project-nav{grid-gap:.75rem;border-top:1px solid var(--border);display:grid;gap:.75rem;grid-template-columns:1fr;margin-top:clamp(2.5rem,5vw,4rem);padding-top:2rem}@media(min-width:768px){.project-nav{grid-template-columns:repeat(3,minmax(0,1fr))}}.project-nav__card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:14px;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.1rem;transition:border-color .25s ease,box-shadow .25s ease,-webkit-transform .25s ease;transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease;transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease,-webkit-transform .25s ease}.project-nav__card:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));box-shadow:0 1px 2px rgba(0,0,0,.06);box-shadow:var(--shadow-sm);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.project-nav__card--center{text-align:center}.project-nav__card--end{text-align:right}.project-nav__name{align-items:center;display:inline-flex;font-weight:650;gap:.35rem}.project-lightbox{display:grid;inset:0;padding:1rem;place-items:center;position:fixed;z-index:300}.project-lightbox__backdrop{background:rgba(0,0,0,.82);border:none;cursor:pointer;inset:0;position:absolute}.project-lightbox__panel{align-items:center;display:flex;flex-direction:column;gap:.75rem;max-height:min(92vh,900px);max-width:min(96vw,1100px);position:relative;z-index:1}.project-lightbox__img{border-radius:14px;border-radius:var(--radius-md);box-shadow:0 24px 80px rgba(0,0,0,.45);height:auto;max-height:min(78vh,820px);max-width:100%;object-fit:contain;width:auto}.project-lightbox__close{position:absolute;right:0;top:-2.75rem}.project-lightbox__toolbar{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in srgb,var(--bg-elevated) 75%,transparent);border:1px solid var(--border);border-radius:999px;display:flex;gap:1rem;padding:.35rem .75rem}@media(max-width:640px){.project-lightbox__close{top:-2.25rem}}@media(prefers-reduced-motion:reduce){.featured-swiper__bg,.featured-swiper__cta,.featured-swiper__kicker,.featured-swiper__meta,.featured-swiper__tagline,.featured-swiper__title,.project-card-xl,.project-card-xl__body,.project-card-xl__cta,.project-card-xl__media img,.project-card-xl__overlay{transition:none!important}.project-card-xl:hover,.project-card-xl:hover .project-card-xl__media img{-webkit-transform:none;transform:none}.featured-swiper__slide .featured-swiper__bg{-webkit-transform:scale(1)!important;transform:scale(1)!important}.featured-swiper__slide .featured-swiper__cta,.featured-swiper__slide .featured-swiper__kicker,.featured-swiper__slide .featured-swiper__meta,.featured-swiper__slide .featured-swiper__tagline,.featured-swiper__slide .featured-swiper__title{opacity:1!important;-webkit-transform:none!important;transform:none!important}.site-header{transition:none}.initial-loader,.initial-loader__line,.page-shell,.route-progress,.route-progress__bar{will-change:auto}}
/*# sourceMappingURL=main.f4465332.css.map*/