.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}:root{--bg-color: #07090d;--bg-elevated: #0e1219;--text-primary: #f5f7fb;--text-secondary: #9ba6b8;--text-muted: #748198;--accent: #8bc7ff;--accent-bright: #c6e6ff;--accent-soft: rgba(139, 199, 255, .12);--green: #a9e8c1;--glass-bg: rgba(18, 23, 32, .72);--glass-border: rgba(194, 215, 239, .14);--glass-highlight: rgba(255, 255, 255, .05);--glass-shadow: 0 24px 70px rgba(0, 0, 0, .28);--blob-1: #2b5f9a;--blob-2: #49508c;--blob-3: #1b7889;--font-heading: "Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--container-width: 1160px;--section-gap: 125px;--border-radius: 24px;--btn-radius: 999px}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth;background:var(--bg-color);overflow-x:hidden}body{min-width:320px;background:var(--bg-color);color:var(--text-primary);font-family:var(--font-body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}body::selection{color:#071019;background:var(--accent)}a{color:inherit;text-decoration:none;transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease}button{cursor:pointer;font:inherit}:where(a,button,[tabindex]):focus-visible{outline:2px solid var(--accent-bright);outline-offset:4px}main,footer{position:relative;z-index:1}section{scroll-margin-top:110px}.container{width:min(100% - 48px,var(--container-width));margin:0 auto}.ambient-bg{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}.ambient-bg:after{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,9,13,.12),rgba(7,9,13,.82) 80%,var(--bg-color));content:""}.blob{position:absolute;border-radius:50%;filter:blur(100px);opacity:.36;animation:float 26s ease-in-out infinite alternate}.blob-1{top:-180px;left:-130px;width:570px;height:570px;background:radial-gradient(circle,var(--blob-1),transparent 68%)}.blob-2{right:-190px;bottom:-180px;width:650px;height:650px;background:radial-gradient(circle,var(--blob-2),transparent 68%);animation-delay:-8s}.blob-3{top:34%;left:45%;width:340px;height:340px;background:radial-gradient(circle,var(--blob-3),transparent 68%);opacity:.18;animation-delay:-14s}@keyframes float{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(45px,32px,0) scale(1.08)}}.section-heading{max-width:740px;margin:0 auto 54px;text-align:center}.section-heading-left{margin-left:0;text-align:left}.eyebrow{color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.16em;line-height:1.3;text-transform:uppercase}.section-title{margin-top:12px;color:var(--text-primary);font-family:var(--font-heading);font-size:clamp(2.3rem,5vw,4rem);font-weight:650;letter-spacing:-.055em;line-height:1.05}.section-intro{max-width:640px;margin:20px auto 0;color:var(--text-secondary);font-size:1.05rem}.section-heading-left .section-intro{margin-left:0}.site-header{position:fixed;top:22px;left:50%;z-index:1000;width:min(calc(100% - 40px),1160px);transform:translate(-50%);border:1px solid var(--glass-border);border-radius:var(--btn-radius);background:#0a0d12b8;box-shadow:0 16px 45px #0003;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.container-fluid{width:100%;padding:0 14px}nav{display:flex;align-items:center;justify-content:space-between;width:100%;height:62px}.logo{flex-shrink:0;color:var(--text-primary);font-family:var(--font-heading);font-size:1.32rem;font-weight:700;letter-spacing:-.04em}.brand-j{color:var(--accent)}.nav-links-desktop{position:absolute;left:50%;display:flex;align-items:center;gap:27px;transform:translate(-50%)}.nav-links-desktop a{color:var(--text-secondary);font-size:.82rem;font-weight:550}.nav-links-desktop a:hover{color:var(--text-primary)}.nav-controls{display:flex;align-items:center;gap:12px;flex-shrink:0}.header-cv{border:1px solid rgba(139,199,255,.3);border-radius:var(--btn-radius);background:var(--accent-soft);padding:7px 12px;color:var(--accent-bright);font-size:.68rem;font-weight:750;letter-spacing:.06em}.header-cv:hover{border-color:#8bc7ff94;background:#8bc7ff33;color:#fff}.lang-switch{display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.08);border-radius:var(--btn-radius);background:#ffffff0a;padding:6px 12px}.lang-btn{color:var(--text-muted);font-size:.7rem;font-weight:700;letter-spacing:.08em}.lang-btn.active,.lang-btn:hover{color:var(--text-primary)}.separator{width:1px;height:12px;background:#ffffff29}.bottom-tab-bar{display:none}.hero{display:flex;min-height:min(820px,92vh);align-items:center;padding:115px 0 45px}.hero .container{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);align-items:end;gap:80px}.hero-copy{max-width:790px}.hero h1{max-width:760px;margin:18px 0 24px;color:var(--text-primary);font-family:var(--font-heading);font-size:clamp(3.2rem,7vw,6.4rem);font-weight:600;letter-spacing:-.075em;line-height:.98}.hero p.subtitle{max-width:650px;color:var(--accent-bright);font-size:clamp(1.1rem,2vw,1.45rem);line-height:1.35}.hero-value{max-width:630px;margin-top:23px;color:var(--text-secondary);font-size:1rem}.availability{display:flex;align-items:center;gap:9px;margin-top:24px;color:var(--text-secondary);font-size:.82rem;font-weight:600}.availability-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px #a9e8c11a,0 0 16px #a9e8c1a6}.cta-group{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:1px solid transparent;border-radius:var(--btn-radius);padding:12px 22px;font-size:.88rem;font-weight:700}.btn-primary{color:#071019;background:var(--accent-bright);box-shadow:0 10px 30px #8bc7ff26}.btn-primary:hover{background:#fff;transform:translateY(-2px)}.btn-secondary{border-color:var(--glass-border);color:var(--text-primary);background:#ffffff0d}.btn-secondary:hover{border-color:#8bc7ff80;background:var(--accent-soft);transform:translateY(-2px)}.hero-metrics{display:grid;gap:17px;border-left:1px solid rgba(139,199,255,.26);padding-left:28px}.metric{display:grid;gap:1px}.metric strong{color:var(--text-primary);font-family:var(--font-heading);font-size:clamp(1.9rem,3vw,2.7rem);font-weight:550;letter-spacing:-.06em;line-height:1}.metric span{color:var(--text-muted);font-size:.77rem;font-weight:600}.glass-card,.service-card,.project-card,.gallery-card,.principle,.contact-card{position:relative;overflow:hidden;border:1px solid var(--glass-border);border-radius:var(--border-radius);background:var(--glass-bg);box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-highlight);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.glass-card:before,.service-card:before,.project-card:before,.gallery-card:before,.principle:before,.contact-card:before{position:absolute;inset:0;z-index:0;background:linear-gradient(135deg,rgba(255,255,255,.055),transparent 36%);content:"";pointer-events:none}.service-card>*,.project-card>*,.gallery-card>*,.principle>*,.contact-card>*{position:relative;z-index:1}@media (hover: hover) and (pointer: fine){.service-card:hover,.project-card:hover,.gallery-card:hover,.principle:hover,.contact-card:hover{border-color:#8bc7ff5c;transform:translateY(-5px)}}.tags{display:flex;flex-wrap:wrap;gap:7px}.tag{display:inline-flex;align-items:center;min-height:25px;border:1px solid rgba(194,215,239,.13);border-radius:999px;background:#ffffff0b;padding:4px 10px;color:var(--text-secondary);font-size:.68rem;font-weight:600;line-height:1}.text-link,.secondary-link{display:inline-flex;align-items:center;gap:8px;color:var(--accent-bright);font-size:.8rem;font-weight:700}.text-link:hover,.secondary-link:hover{color:#fff}.text-link span,.secondary-link span{font-size:1rem;transition:transform .18s ease}.text-link:hover span,.secondary-link:hover span{transform:translate(2px,-2px)}.services{padding:var(--section-gap) 0}.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.service-card{display:flex;min-height:270px;flex-direction:column;padding:28px;transition:transform .22s ease,border-color .22s ease}.service-number{display:block;margin-bottom:38px;color:var(--accent);font-family:var(--font-heading);font-size:.9rem;font-weight:600}.service-card h3{margin-bottom:12px;color:var(--text-primary);font-family:var(--font-heading);font-size:1.35rem;font-weight:600;letter-spacing:-.035em;line-height:1.1}.service-card p{flex-grow:1;color:var(--text-secondary);font-size:.87rem;line-height:1.6}.service-card .tags{margin-top:25px}.projects{padding:var(--section-gap) 0}.projects-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.project-card{min-height:0;transition:transform .22s ease,border-color .22s ease}.project-card-1{background:linear-gradient(145deg,#15263ae6,#0e131bd1)}.project-card-2{background:linear-gradient(145deg,#26253de0,#10131cd1)}.project-content{display:flex;height:100%;flex-direction:column;padding:34px}.project-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:36px}.project-label,.project-period,.category-badge{color:var(--accent);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.project-period{color:var(--text-muted);font-size:.67rem;letter-spacing:.04em;text-align:right;text-transform:none}.project-card h3{max-width:620px;margin-bottom:15px;color:var(--text-primary);font-family:var(--font-heading);font-size:clamp(1.7rem,3vw,2.4rem);font-weight:560;letter-spacing:-.055em;line-height:1.05}.project-desc{max-width:560px;color:var(--text-secondary);font-size:.95rem}.project-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:28px;border-top:1px solid rgba(194,215,239,.12);border-bottom:1px solid rgba(194,215,239,.12);padding:18px 0}.project-metric{display:grid;gap:3px}.project-metric strong{color:var(--text-primary);font-family:var(--font-heading);font-size:clamp(1.35rem,2.4vw,2rem);font-weight:550;letter-spacing:-.055em;line-height:1}.project-metric span,.project-status{color:var(--text-muted);font-size:.68rem;font-weight:650;line-height:1.35}.project-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:22px}.project-highlights p{display:grid;grid-template-columns:18px 1fr;gap:5px;color:#c0cad8;font-size:.8rem;line-height:1.45}.project-highlights span{color:var(--accent)}.project-details{display:grid;gap:8px;margin-top:18px}.project-details p{display:grid;grid-template-columns:18px 1fr;gap:5px;color:#c0cad8;font-size:.76rem;line-height:1.45}.project-details span{color:var(--accent)}.project-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:auto;padding-top:32px}.project-footer .tags{max-width:430px}.gallery{padding:var(--section-gap) 0}.gallery-grid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,1fr));gap:16px}.gallery-card{min-height:335px;transition:transform .22s ease,border-color .22s ease}.gallery-card-featured{min-height:390px;background:linear-gradient(145deg,#193541e6,#0e131bd1)}.personal-project{display:flex;flex-direction:column}.project-mark{display:flex;align-items:center;gap:12px;padding:27px 28px 0;color:var(--accent);font-family:var(--font-heading);font-size:.75rem;font-weight:600}.project-mark-line{width:45px;height:1px;background:currentColor;opacity:.55}.personal-project .card-content{display:flex;height:100%;flex-direction:column;padding:28px}.personal-project .category-badge{margin-bottom:17px;color:var(--text-muted);letter-spacing:.06em}.personal-project h3{margin-bottom:12px;color:var(--text-primary);font-family:var(--font-heading);font-size:1.75rem;font-weight:560;letter-spacing:-.05em}.card-desc{flex-grow:1;color:var(--text-secondary);font-size:.86rem;line-height:1.6}.personal-project .tags{margin-top:26px}.project-links{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:26px}.project-status{display:inline-block}.secondary-link{color:var(--text-secondary);font-size:.76rem}.project-accent-2{background:linear-gradient(145deg,#1a2f34d1,#0e131bd1)}.project-accent-3{background:linear-gradient(145deg,#2d2739d1,#0e131bd1)}.about{padding:var(--section-gap) 0}.about-content{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:85px}.about-text p{margin-bottom:20px;color:var(--text-secondary);font-size:.96rem}.about-text .about-lead{color:var(--text-primary);font-family:var(--font-heading);font-size:1.48rem;font-weight:500;letter-spacing:-.035em;line-height:1.27}.about-ai{margin-top:30px;border-left:2px solid var(--accent);padding-left:17px}.about-ai p{margin:8px 0 0;font-size:.82rem}.about-ai-label{color:var(--accent-bright);font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.about-skills{margin-top:28px}.principles{display:grid;gap:12px}.principle{display:grid;grid-template-columns:58px 1fr;align-items:start;gap:17px;padding:22px 24px;transition:transform .22s ease,border-color .22s ease}.step-number{color:#8bc7ff7a;font-family:var(--font-heading);font-size:1.65rem;font-weight:550;letter-spacing:-.06em;line-height:1}.step-content h3{margin-bottom:5px;color:var(--text-primary);font-family:var(--font-heading);font-size:1.12rem;font-weight:600;letter-spacing:-.03em}.step-content p{color:var(--text-secondary);font-size:.79rem;line-height:1.52}.background-block{display:grid;grid-template-columns:.4fr 1fr;gap:70px;margin-top:110px;border-top:1px solid var(--glass-border);padding-top:35px}.background-heading h3{margin-top:14px;color:var(--text-primary);font-family:var(--font-heading);font-size:1.5rem;font-weight:550;letter-spacing:-.04em}.background-list{display:grid;gap:0}.background-item{display:grid;grid-template-columns:145px 1fr;gap:18px;border-bottom:1px solid rgba(194,215,239,.1);padding:0 0 19px;margin-bottom:19px}.background-period{color:var(--accent);font-size:.72rem;font-weight:650}.background-item h4{margin-bottom:3px;color:var(--text-primary);font-family:var(--font-heading);font-size:.98rem;font-weight:600;letter-spacing:-.02em}.background-item p{color:var(--text-secondary);font-size:.78rem}.contact{padding:var(--section-gap) 0 120px}.contact-heading{max-width:850px;margin:0 auto 32px;text-align:left}.contact-heading .section-title{margin-top:0}.contact-direct-container{max-width:850px;margin:0 auto;border:1px solid var(--glass-border);border-radius:30px;background:linear-gradient(135deg,#15273aad,#0d1118d1);padding:54px;text-align:center;box-shadow:var(--glass-shadow)}.contact-subtitle{max-width:600px;margin:16px auto 34px;color:var(--text-secondary);font-size:1.05rem}.contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cv-downloads{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:center;gap:24px;margin-top:25px;border-top:1px solid rgba(194,215,239,.12);padding-top:24px;text-align:left}.cv-label{color:var(--text-primary);font-family:var(--font-heading);font-size:1.05rem;font-weight:600;letter-spacing:-.03em}.cv-downloads p{margin-top:3px;color:var(--text-muted);font-size:.72rem}.cv-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.cv-link{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(194,215,239,.13);border-radius:12px;background:#ffffff09;padding:12px 13px;color:var(--text-secondary);font-size:.76rem;font-weight:650}.cv-link:hover{border-color:#8bc7ff57;color:var(--text-primary)}.cv-link small{color:var(--accent);font-size:.64rem;font-weight:750}.contact-card{display:flex;align-items:center;gap:15px;padding:20px;text-align:left;transition:transform .22s ease,border-color .22s ease}.icon-circle{display:flex;width:43px;height:43px;flex-shrink:0;align-items:center;justify-content:center;border:1px solid rgba(139,199,255,.25);border-radius:50%;color:var(--accent-bright);background:var(--accent-soft)}.icon-circle svg{width:19px;height:19px}.card-content{display:flex;min-width:0;flex-direction:column;gap:2px}.action-label{color:var(--text-primary);font-size:.82rem;font-weight:700}.action-value{overflow:hidden;color:var(--text-secondary);font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}footer{border-top:1px solid rgba(194,215,239,.1);padding:35px 0 50px;color:var(--text-muted);font-size:.72rem;text-align:center}.fade-in-up{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.fade-in-up.visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.fade-in-up{opacity:1;transform:none}}@media (max-width: 980px){:root{--section-gap: 110px}.nav-links-desktop{gap:16px}.hero .container{grid-template-columns:1fr;gap:50px}.hero-metrics{grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(139,199,255,.26);border-left:0;padding-top:23px;padding-left:0}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid{grid-template-columns:repeat(3,minmax(250px,1fr));overflow-x:auto;padding-bottom:15px}.gallery-card{min-width:250px}.about-content{gap:50px}}@media (max-width: 700px){:root{--section-gap: 88px}body{padding-bottom:94px}.container{width:min(100% - 36px,var(--container-width))}.site-header{top:10px;width:calc(100% - 20px)}.nav-links-desktop{display:none}.bottom-tab-bar{position:fixed;bottom:calc(12px + env(safe-area-inset-bottom));left:50%;z-index:1000;display:flex;width:calc(100% - 24px);max-width:440px;align-items:center;justify-content:space-around;transform:translate(-50%);border:1px solid var(--glass-border);border-radius:24px;background:#0a0d12db;padding:9px 5px;box-shadow:0 14px 40px #00000080;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.tab-item{display:flex;min-width:53px;flex:1;flex-direction:column;align-items:center;gap:2px;color:var(--text-muted);font-size:.59rem;font-weight:650;line-height:1.2;text-align:center}.tab-item svg{width:19px;height:19px;opacity:.7}.tab-item.active{color:var(--text-primary)}.tab-item.active svg{color:var(--accent);opacity:1;filter:drop-shadow(0 0 7px rgba(139,199,255,.4))}.hero{min-height:auto;padding:155px 0 75px}.hero h1{font-size:clamp(3rem,15vw,4.4rem)}.hero p.subtitle{font-size:1.05rem}.hero-value{font-size:.9rem}.hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.metric strong{font-size:1.8rem}.metric span{font-size:.68rem;line-height:1.25}.section-heading{margin-bottom:35px;text-align:left}.section-title{font-size:2.65rem}.section-intro,.section-heading-left .section-intro{margin-left:0;font-size:.9rem}.services-grid,.projects-grid,.gallery-grid{grid-template-columns:1fr;overflow:visible}.service-card,.project-card,.gallery-card{min-width:0}.service-card{min-height:260px}.service-number{margin-bottom:36px}.project-card{min-height:0}.project-content,.personal-project .card-content{padding:27px}.project-topline{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:34px}.project-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 12px}.project-highlights{grid-template-columns:1fr}.glass-card,.service-card,.project-card,.gallery-card,.principle,.contact-card{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.blob{filter:blur(70px);opacity:.28}.blob-3{display:none}.project-period{text-align:left}.project-footer{align-items:flex-start;flex-direction:column;gap:16px}.about-content{grid-template-columns:1fr;gap:45px}.about-text .about-lead{font-size:1.3rem}.background-block{grid-template-columns:1fr;gap:30px;margin-top:75px}.background-item{grid-template-columns:1fr;gap:4px}.contact{padding-bottom:90px}.contact-direct-container{padding:30px 18px}.contact-subtitle{font-size:.9rem}.contact-actions{grid-template-columns:1fr}.cv-downloads{grid-template-columns:1fr;gap:15px;text-align:center}.cv-links{grid-template-columns:1fr;text-align:left}}@media (max-width: 390px){.project-metrics{grid-template-columns:1fr}}@media (max-width: 350px){.hero{padding-top:110px}.hero-metrics{grid-template-columns:1fr;border-top:0;gap:15px;padding-top:0}.metric{grid-template-columns:90px 1fr;align-items:baseline;border-bottom:1px solid rgba(194,215,239,.1);padding-bottom:10px}.metric strong{font-size:1.7rem}}.btn:active,.contact-card:active,.tab-item:active{transform:scale(.98)}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
