:root{--background: 0 0% 97%;--foreground: 0 0% 4%;--card: 0 0% 100%;--card-foreground: 0 0% 4%;--primary: 0 0% 4%;--primary-foreground: 0 0% 98%;--secondary: 0 0% 92%;--secondary-foreground: 0 0% 4%;--muted: 0 0% 88%;--muted-foreground: 0 0% 34%;--accent: 0 0% 8%;--accent-foreground: 0 0% 100%;--border: 0 0% 82%;--ring: 0 0% 4%;--radius: .75rem;--gradient-accent: linear-gradient(135deg, #050505, #666666, #f5f5f5);--gradient-mesh: radial-gradient(circle at 18% 12%, hsl(0 0% 0% / .08), transparent 24rem), radial-gradient(circle at 90% 8%, hsl(0 0% 100% / .95), transparent 18rem), linear-gradient(135deg, hsl(0 0% 100%) 0%, hsl(0 0% 92%) 100%);--glass-bg: hsl(0 0% 100% / .82);--glass-border: hsl(0 0% 0% / .1)}.dark{--background: 0 0% 4%;--foreground: 0 0% 96%;--card: 0 0% 8%;--card-foreground: 0 0% 96%;--primary: 0 0% 96%;--primary-foreground: 0 0% 4%;--secondary: 0 0% 14%;--secondary-foreground: 0 0% 96%;--muted: 0 0% 18%;--muted-foreground: 0 0% 68%;--accent: 0 0% 96%;--accent-foreground: 0 0% 100%;--border: 0 0% 22%;--ring: 0 0% 96%;--gradient-mesh: radial-gradient(circle at 18% 12%, hsl(0 0% 100% / .08), transparent 24rem), radial-gradient(circle at 86% 20%, hsl(0 0% 100% / .04), transparent 22rem), linear-gradient(135deg, hsl(0 0% 3%) 0%, hsl(0 0% 10%) 100%);--glass-bg: hsl(0 0% 4% / .82);--glass-border: hsl(0 0% 100% / .12)}*,*:before,*:after{box-sizing:border-box;border-color:hsl(var(--border))}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;line-height:1.6;color:hsl(var(--foreground));background-color:hsl(var(--background));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv01","cv02"}h1,h2,h3,h4,h5,h6{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:800;line-height:1.15;letter-spacing:-.055em}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font-family:inherit;cursor:pointer}::-moz-selection{color:hsl(var(--primary-foreground));background:hsl(var(--primary))}::selection{color:hsl(var(--primary-foreground));background:hsl(var(--primary))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes pulse-glow{0%,to{opacity:.4}50%{opacity:.7}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes float-soft{0%,to{transform:translateZ(0) rotate(0)}50%{transform:translate3d(0,-14px,0) rotate(4deg)}}.animate-fade-in{animation:fade-in .4s ease-out both}.animate-slide-up{animation:slide-up .5s ease-out both}.animate-slide-down{animation:slide-down .5s ease-out both}.animate-scale-in{animation:scale-in .5s cubic-bezier(.165,.84,.44,1) both}.page{min-height:100vh;width:100%;position:relative;overflow-x:hidden;background:hsl(var(--background))}.page:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:var(--gradient-mesh);pointer-events:none;z-index:0}.page:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.32;background-image:linear-gradient(hsl(var(--foreground)/.045) 1px,transparent 1px),linear-gradient(90deg,hsl(var(--foreground)/.045) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:linear-gradient(to bottom,black,transparent 72%);mask-image:linear-gradient(to bottom,black,transparent 72%)}.page>*{position:relative;z-index:1}.container,.section{width:100%;max-width:82rem;margin-inline:auto;padding-inline:1.5rem}.section--hero{position:relative;min-height:100svh;display:flex;align-items:center;padding-top:6.5rem;padding-bottom:4rem}.section--about{padding-block:clamp(4rem,8vw,7rem)}@media (min-width: 768px){.section--about{padding-block:clamp(5rem,9vw,9rem)}}.section--projects{padding-top:clamp(1rem,3vw,3rem);padding-bottom:clamp(5rem,10vw,9rem)}.section--project-hero{padding-top:6.5rem;padding-bottom:2rem}.section--project-media{padding-block:2rem}.section--project-content{padding-block:4rem 2rem}.section--project-gallery{padding-top:2rem;padding-bottom:clamp(4rem,8vw,6rem)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:2.75rem;padding-inline:1.75rem;font-size:.8125rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;border-radius:0;border:1px solid hsl(var(--foreground));transition:transform .15s ease,box-shadow .25s ease,background .25s ease,color .25s ease}.btn:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.btn:hover{transform:translate(-2px,-2px)}.btn:active{transform:translateY(0)}.btn--primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:6px 6px hsl(var(--foreground)/.18)}.btn--primary:hover{box-shadow:10px 10px hsl(var(--foreground)/.18)}.btn--ghost{background:hsl(var(--background)/.65);color:hsl(var(--foreground))}.btn--ghost:hover{background:hsl(var(--foreground));color:hsl(var(--primary-foreground))}.btn--icon{width:2.25rem;height:2.25rem;padding:0;border-radius:9999px;background:hsl(var(--secondary));color:hsl(var(--foreground));border:1px solid hsl(var(--border))}.btn--icon:hover{background:hsl(var(--muted))}.btn-group{display:flex;flex-direction:column;gap:.75rem;width:100%}@media (min-width: 768px){.btn-group{flex-direction:row;width:auto}}.header{position:fixed;top:0;left:0;right:0;z-index:50;transition:padding .25s ease,background .25s ease,box-shadow .25s ease,border-color .25s ease}.header--scrolled{padding-block:.6rem;background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:0 1px #00000014;border-bottom:1px solid hsl(var(--border))}.header--top{padding-block:1rem;background:transparent}.header__inner{width:100%;max-width:82rem;margin-inline:auto;padding-inline:1.5rem;display:flex;align-items:center;justify-content:space-between}.header__brand{display:flex;align-items:center;gap:.85rem;transition:opacity .15s ease}.header__brand:hover{opacity:.85}.header__back{width:2.25rem;height:2.25rem;padding:0;border-radius:0;background:hsl(var(--secondary));color:hsl(var(--foreground));border:1px solid hsl(var(--border));display:inline-flex;align-items:center;justify-content:center;margin-right:.25rem;transition:background .15s ease}.header__back:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.header__back:hover{background:hsl(var(--muted))}.header__back svg{transition:transform .15s ease}.header__back:hover svg{transform:translate(-2px)}.header__name{display:flex;flex-direction:column;line-height:1.2}.header__title{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-weight:900;letter-spacing:-.05em;text-transform:uppercase}.header__subtitle{font-size:.6875rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.header__actions{display:flex;align-items:center;gap:.75rem}.header__lang{display:flex;gap:.125rem;padding:.25rem;border-radius:0;border:1px solid hsl(var(--border));background:hsl(var(--card)/.78)}.header__lang-btn{padding:.25rem .625rem;font-size:.75rem;font-weight:900;border:none;border-radius:0;background:transparent;color:hsl(var(--muted-foreground));transition:background .15s ease,color .15s ease}.header__lang-btn:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.header__lang-btn--active{background:hsl(var(--foreground));color:hsl(var(--primary-foreground))}.header__theme{position:relative;width:2.25rem;height:2.25rem;border-radius:0;border:1px solid hsl(var(--border));background:hsl(var(--card)/.78);color:hsl(var(--foreground));display:flex;align-items:center;justify-content:center;transition:background .15s ease}.header__theme:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.header__theme:hover{background:hsl(var(--muted))}.header__theme svg{width:1.125rem;height:1.125rem}.header__theme-icon{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;transition:opacity .25s ease}.hero__content{position:relative;z-index:2;max-width:62rem}.hero__eyebrow{display:inline-flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;font-size:clamp(.75rem,1vw,.875rem);font-weight:800;letter-spacing:.18em;text-transform:uppercase;animation:slide-down .5s ease-out both}.hero__eyebrow:before{content:"";width:clamp(2rem,8vw,6rem);height:1px;background:hsl(var(--foreground))}.hero__name{display:block;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(4rem,16vw,13rem);font-weight:900;line-height:.78;margin:0;max-width:11ch;text-transform:uppercase;animation:slide-down .5s ease-out both}.hero__tagline-row{--hero-tagline-size: clamp(1rem, 2.5vw, 1.6rem);--hero-tagline-height: calc(.8rem + var(--hero-tagline-size));display:flex;align-items:center;gap:.75rem;width:-moz-fit-content;width:fit-content;margin:clamp(1.25rem,3vw,2rem) 0 0;transform:rotate(-1deg);animation:slide-up .5s ease-out .05s both}.hero__mail{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--hero-tagline-height);height:var(--hero-tagline-height);background:hsl(var(--primary));color:hsl(var(--primary-foreground));transition:transform .2s ease,box-shadow .2s ease}.hero__mail svg{width:55%;height:55%}.hero__mail:hover{transform:translateY(-2px);box-shadow:0 16px 40px #00000014}.hero__tagline{display:flex;align-items:center;width:-moz-fit-content;width:fit-content;height:var(--hero-tagline-height);margin:0;padding:0 .8rem;font-size:var(--hero-tagline-size);font-weight:800;line-height:1;letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--primary-foreground));background:hsl(var(--primary))}.hero__description{font-size:clamp(1.0625rem,2vw,1.35rem);font-weight:500;line-height:1.5;color:hsl(var(--muted-foreground));margin-top:1.75rem;max-width:43rem;animation:slide-up .5s ease-out .1s both}.hero__actions{margin-top:2.5rem;animation:slide-up .5s ease-out .2s both}.hero__grid,.hero__orb{position:absolute;pointer-events:none}.hero__grid{inset:12% -8% auto auto;width:min(56vw,40rem);aspect-ratio:1;border:1px solid hsl(var(--foreground)/.18);background:linear-gradient(45deg,transparent 48%,hsl(var(--foreground)/.16) 49%,hsl(var(--foreground)/.16) 51%,transparent 52%),repeating-linear-gradient(90deg,hsl(var(--foreground)/.08) 0 1px,transparent 1px 3rem);clip-path:polygon(18% 0,100% 13%,82% 100%,0 82%);opacity:.55;transform:rotate(8deg)}.hero__orb{border-radius:50%;border:1px solid hsl(var(--foreground)/.16);background:radial-gradient(circle at 36% 32%,hsl(var(--foreground)/.16),transparent 32%),hsl(var(--card)/.52);box-shadow:0 16px 40px #00000014}.hero__orb--one{right:7%;bottom:16%;width:clamp(5rem,12vw,10rem);aspect-ratio:1;animation:float-soft 8s ease-in-out infinite}.hero__orb--two{right:29%;top:23%;width:clamp(2.5rem,6vw,4.75rem);aspect-ratio:1;animation:float-soft 10s ease-in-out infinite reverse}.hero__signature{display:none}@media (min-width: 768px){.hero__signature{display:block;position:absolute;right:1.5rem;bottom:3rem;writing-mode:vertical-rl;font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.hero__signature span+span{margin-top:.8rem}}@media (max-width: 767px){.hero__grid{inset:9% -35% auto auto;width:28rem;opacity:.28}.hero__orb--one{right:-2rem;bottom:11%}}.about__card{position:relative;overflow:visible;border:1px solid hsl(var(--border));background:hsl(var(--card)/.72);box-shadow:0 16px 40px #00000014}.about__card:before{content:"";position:absolute;top:1rem;right:1rem;bottom:1rem;left:1rem;border:1px solid hsl(var(--foreground)/.08);pointer-events:none}.about__body{position:relative;z-index:1;display:grid;gap:clamp(2rem,5vw,4rem);padding:clamp(1.25rem,4vw,4rem)}@media (min-width: 768px){.about__body{grid-template-columns:minmax(16rem,.78fr) 1.22fr;align-items:center}}.about__content{max-width:46rem}.about__label{display:block;font-size:.6875rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:hsl(var(--muted-foreground));margin-bottom:1rem}.about__headline{font-size:clamp(2rem,4.7vw,4rem);margin-bottom:1.5rem;line-height:.98}.about__text{font-size:clamp(1rem,1.5vw,1.125rem);line-height:1.75;color:hsl(var(--muted-foreground))}.about__text+.about__text{margin-top:1rem}@media (min-width: 768px){.about__text{font-size:1.0625rem}}.about__languages{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .65rem;margin:1.8rem 0 0;font-size:.9375rem;font-weight:500;color:hsl(var(--foreground))}.about__language-item{display:inline-flex;align-items:center;gap:.45rem}.about__language-level{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;min-height:2rem;padding:.25rem .4rem;font-size:.6875rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:#0a0a0a;background:#fff;border:1px solid hsl(var(--border));line-height:1}.about__language-name{color:hsl(var(--muted-foreground))}.about__language-separator{margin-left:.15rem;color:hsl(var(--muted-foreground))}.about__portrait-frame{position:relative;width:min(22rem,100%);justify-self:center;aspect-ratio:.82;overflow:hidden;background:hsl(var(--foreground));clip-path:polygon(50% 0,94% 17%,100% 70%,65% 100%,13% 91%,0 31%);box-shadow:inset 0 0 0 .55rem hsl(var(--foreground))}@media (min-width: 768px){.about__portrait-frame{width:100%;justify-self:stretch;transform:translateY(-1.5rem) rotate(-2deg)}}.about__portrait-frame:after{content:"";position:absolute;top:1rem;right:-1rem;bottom:-1rem;left:1rem;z-index:-1;border:1px solid hsl(var(--foreground)/.2);clip-path:inherit}.about__portrait-frame-image{position:absolute;left:50%;top:50%;width:100%;height:100%;transform:translate(-50%,-54%) scale(1.68);transform-origin:center center;-o-object-fit:cover;object-fit:cover;-o-object-position:50% 0%;object-position:50% 0%;filter:grayscale(1) contrast(1.08);-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.projects__header{display:grid;gap:1rem;margin-bottom:clamp(2rem,5vw,4rem)}@media (min-width: 768px){.projects__header{grid-template-columns:minmax(0,.9fr) minmax(18rem,.55fr);align-items:end}}.projects__label{display:block;font-size:.6875rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:hsl(var(--muted-foreground));margin-bottom:1rem}.projects__title{font-size:clamp(3rem,9vw,7rem);line-height:.85;margin:0;text-transform:uppercase}.projects__description{max-width:31rem;margin:0;font-size:1rem;font-weight:500;line-height:1.6;color:hsl(var(--muted-foreground))}.projects__grid{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 768px){.projects__grid{grid-template-columns:repeat(6,1fr);gap:1.5rem}}.project-card{height:100%}@media (min-width: 768px){.project-card{grid-column:span 3}.project-card:nth-child(4n+1),.project-card:nth-child(4n+4){grid-column:span 4}.project-card:nth-child(4n+2),.project-card:nth-child(4n+3){grid-column:span 2}.project-card:nth-child(2n){margin-top:2.25rem}}.project-card__link{display:flex;flex-direction:column;position:relative;height:100%;min-height:clamp(18rem,32vw,25rem);overflow:hidden;border:1px solid hsl(var(--border));background:hsl(var(--card));box-shadow:0 1px #00000014;transition:transform .4s cubic-bezier(.165,.84,.44,1),box-shadow .4s cubic-bezier(.165,.84,.44,1),border-color .25s ease}.project-card__link:hover{transform:translateY(-8px);border-color:hsl(var(--foreground)/.38);box-shadow:0 30px 80px #00000024}.project-card__link:hover .project-card__pattern{transform:scale(1.04) rotate(1deg);opacity:.9}.project-card__link:hover .project-card__title{transform:translate(.35rem)}.project-card__link:hover .project-card__cta{color:hsl(var(--primary-foreground));background:hsl(var(--primary))}.project-card__link:hover .project-card__cta span:last-child{transform:translate(.25rem)}.project-card__link:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.project-card__pattern{position:absolute;inset:auto -12% -22% auto;width:70%;aspect-ratio:1;opacity:.5;transition:transform .4s cubic-bezier(.165,.84,.44,1),opacity .25s ease;background:radial-gradient(circle,transparent 0 42%,hsl(var(--foreground)/.14) 43% 44%,transparent 45%),repeating-linear-gradient(45deg,hsl(var(--foreground)/.16) 0 1px,transparent 1px .8rem);clip-path:polygon(50% 0,100% 25%,88% 100%,13% 100%,0 26%)}.project-card__topline{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem}.project-card__content{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding:1.25rem}.project-card__index{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(2.25rem,6vw,4.5rem);font-weight:900;line-height:.8;letter-spacing:-.08em;color:hsl(var(--foreground)/.18)}.project-card__tech{display:flex;flex-wrap:wrap;gap:.375rem;justify-content:flex-end;max-width:58%}.project-card__tech-tag{font-size:.6875rem;font-weight:800;line-height:1;padding:.25rem .625rem;border-radius:9999px;background:hsl(var(--secondary));color:hsl(var(--foreground));border:1px solid hsl(var(--border))}.project-card__title{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(1.65rem,3.6vw,3rem);font-weight:900;color:hsl(var(--foreground));margin:0 0 .85rem;line-height:.94;letter-spacing:-.06em;transition:transform .25s ease}.project-card__desc{max-width:32rem;margin:0;font-size:.95rem;font-weight:500;line-height:1.55;color:hsl(var(--muted-foreground));display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-card__cta{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:space-between;gap:.75rem;width:calc(100% - 2.5rem);margin:1.25rem;padding:.85rem 1rem;border:1px solid hsl(var(--border));color:hsl(var(--foreground));background:hsl(var(--background)/.74);font-size:.8125rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;transition:color .25s ease,background .25s ease,border-color .25s ease}.project-card__cta span:last-child{transition:transform .25s ease}.project-card--v2 .project-card__pattern{inset:18% auto auto -18%;clip-path:circle(42% at 50% 50%);background:repeating-radial-gradient(circle,hsl(var(--foreground)/.2) 0 1px,transparent 1px .8rem)}.project-card--v3 .project-card__pattern{inset:auto -18% -10% auto;clip-path:polygon(0 0,100% 20%,65% 100%,12% 70%);background:linear-gradient(90deg,hsl(var(--foreground)/.12),transparent),repeating-linear-gradient(0deg,hsl(var(--foreground)/.18) 0 1px,transparent 1px .7rem)}.project-card--v4 .project-card__pattern{inset:10% -8% auto auto;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:radial-gradient(circle at 50% 50%,hsl(var(--foreground)/.18),transparent 34%),repeating-linear-gradient(90deg,hsl(var(--foreground)/.14) 0 1px,transparent 1px .65rem)}.tag{display:inline-flex;align-items:center;font-size:.8125rem;font-weight:500;padding:.25rem .75rem;border-radius:9999px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border:1px solid hsl(var(--border))}.tag-list{display:flex;flex-wrap:wrap;gap:.5rem}.footer{position:relative;padding-block:3rem;border-top:1px solid hsl(var(--border));background:hsl(var(--foreground));color:hsl(var(--primary-foreground))}.footer__scroll-top:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.footer__scroll-top{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;margin:0 auto 1.5rem;padding:0;border:1px solid hsl(var(--primary-foreground)/.2);border-radius:9999px;background:transparent;color:hsl(var(--primary-foreground)/.72);cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease,transform .15s ease}.footer__scroll-top:hover{color:hsl(var(--primary-foreground));border-color:hsl(var(--primary-foreground)/.45);background:hsl(var(--primary-foreground)/.06);transform:translateY(-2px)}.footer__scroll-top svg{width:1.125rem;height:1.125rem}@media (min-width: 768px){.footer__scroll-top{position:absolute;left:50%;top:50%;margin:0;transform:translate(-50%,-50%)}.footer__scroll-top:hover{transform:translate(-50%,calc(-50% - 2px))}}.footer__inner{width:100%;max-width:82rem;margin-inline:auto;padding-inline:1.5rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem;text-align:center}@media (min-width: 768px){.footer__inner{flex-direction:row;justify-content:space-between;text-align:left}}.footer__copyright{font-size:.8125rem;color:hsl(var(--primary-foreground)/.7)}.footer__links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem 1.25rem}.footer__link{font-size:.8125rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:hsl(var(--primary-foreground)/.72);transition:color .15s ease,transform .15s ease}.footer__link:hover{color:hsl(var(--primary-foreground));transform:translateY(-1px)}.project-detail__label{display:block;font-size:.6875rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:hsl(var(--muted-foreground));margin-bottom:1rem}.project-detail__title{font-size:clamp(2rem,4vw,3rem);margin-bottom:1.5rem}.project-detail__gallery-title{font-size:1.5rem;margin-bottom:1.5rem}.project-detail__carousel-panel{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1.75rem;box-shadow:0 16px 40px #00000014;padding:clamp(1rem,2.5vw,1.75rem);display:flex;flex-direction:column;gap:1rem}@media (min-width: 1024px){.project-detail__carousel-panel{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:center;gap:clamp(1.5rem,3vw,2.5rem);padding:clamp(1.25rem,2.5vw,2rem)}}.project-detail__carousel-panel .project-detail__carousel-visual{display:contents;min-width:0}@media (min-width: 1024px){.project-detail__carousel-panel .project-detail__carousel-visual{display:flex;flex-direction:column;justify-content:center;gap:.875rem;max-width:100%;align-self:center}}.project-detail__carousel-panel .project-detail__media{order:2;border-radius:1.25rem;overflow:hidden;aspect-ratio:16/9;border:1px solid hsl(var(--border));background:hsl(var(--muted));box-shadow:none}@media (min-width: 1024px){.project-detail__carousel-panel .project-detail__media{order:0;max-width:100%}}.project-detail__carousel-panel .project-detail__gallery{display:flex;flex-direction:row;gap:.75rem;order:0;overflow-x:auto;padding:.125rem .125rem .5rem;scrollbar-width:thin;scrollbar-color:hsl(var(--muted-foreground)/.45) transparent}@media (min-width: 1024px){.project-detail__carousel-panel .project-detail__gallery{order:1;padding-bottom:.125rem}}.project-detail__carousel-panel .project-detail__thumb{flex:0 0 clamp(5.5rem,22vw,8.5rem);aspect-ratio:16/9;border-radius:.75rem;overflow:hidden;cursor:pointer;border:2px solid transparent;opacity:.65;padding:0;background:hsl(var(--secondary));transition:opacity .15s ease,border-color .15s ease,transform .15s ease}.project-detail__carousel-panel .project-detail__thumb:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.project-detail__carousel-panel .project-detail__thumb:hover{opacity:1;transform:translateY(-2px)}.project-detail__carousel-panel .project-detail__thumb--active{opacity:1;border-color:hsl(var(--accent));transform:translateY(-2px)}.project-detail__carousel-panel .project-detail__thumb-image,.project-detail__carousel-panel .project-detail__media-image{width:100%;height:100%;background-size:cover;background-position:center}.project-detail__carousel-panel .project-detail__caption{order:1;font-size:1rem;line-height:1.7;color:hsl(var(--muted-foreground));white-space:pre-line}@media (min-width: 1024px){.project-detail__carousel-panel .project-detail__caption{order:0;display:flex;align-items:center;align-self:center;min-height:0;padding-left:clamp(1.5rem,3vw,2.5rem);border-left:1px solid hsl(var(--border))}}.project-detail__carousel-panel .project-detail__caption p{margin:0}.project-detail__media{border-radius:1.25rem;overflow:hidden;aspect-ratio:16/9;border:1px solid hsl(var(--border));box-shadow:0 16px 40px #00000014;background:hsl(var(--muted))}.project-detail__media-image{width:100%;height:100%;background-size:cover;background-position:center}.project-detail__layout{display:grid;gap:3rem}@media (min-width: 768px){.project-detail__layout{grid-template-columns:2fr 1fr;gap:4rem}}.project-detail__overview-title{font-size:1.5rem;margin-bottom:1.5rem}.project-detail__paragraph{font-size:1rem;line-height:1.75;color:hsl(var(--muted-foreground));margin-bottom:1rem}.project-detail__sidebar{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1.75rem;box-shadow:0 16px 40px #00000014;padding:1.75rem;height:-moz-fit-content;height:fit-content}@media (min-width: 768px){.project-detail__sidebar{position:sticky;top:6rem}}.project-detail__sidebar-title{font-size:1.125rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid hsl(var(--border))}.project-detail__detail+.project-detail__detail{margin-top:1.5rem}.project-detail__detail-label{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--muted-foreground));margin-bottom:.375rem}.project-detail__detail-link{font-weight:500;color:hsl(var(--accent));text-decoration:underline;text-underline-offset:3px}.project-detail__detail-link:hover{text-decoration:none}.project-detail__tech-list{list-style:none;padding:0;margin:0}.project-detail__tech-list li{font-size:.875rem;padding:.375rem 0;border-bottom:1px solid hsl(var(--border))}.project-detail__tech-list li:last-child{border-bottom:none}.not-found{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--gradient-mesh)}.not-found__content{text-align:center;max-width:24rem}.not-found__code{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(5rem,15vw,8rem);font-weight:900;line-height:1;color:hsl(var(--foreground));margin-bottom:.5rem}.not-found__message{font-size:1.25rem;color:hsl(var(--muted-foreground));margin-bottom:2rem}.not-found__link{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:2.75rem;padding-inline:1.75rem;font-size:.8125rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;border:1px solid hsl(var(--foreground));background:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:6px 6px hsl(var(--foreground)/.18);transition:transform .15s ease,box-shadow .25s ease}.not-found__link:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.not-found__link:hover{transform:translate(-2px,-2px);box-shadow:10px 10px hsl(var(--foreground)/.18)}
