:root{--header-height: 3.5rem;--accent: #171717;--accent-dark: #080808;--accent-rgb: 23, 23, 23;--on-accent: #FAFAFA;--title-color: #171717;--text-color: #737373;--body-color: #FAFAFA;--container-color: #FFFFFF;--elevated-color: #F3F3F3;--card-border: #E5E5E5;--guide: rgba(0,0,0,.14);--dot: rgba(0,0,0,.09);--nav-bg: rgba(250,250,250,.92);--glass-bg: rgba(255,255,255,.65);--glass-bg-strong: rgba(255,255,255,.85);--glass-border: rgba(0,0,0,.08);--glass-blur: 16px;--btn-bg: #171717;--btn-fg: #FAFAFA;--btn-hover-bg: #080808;--btn-hover-fg: #FFFFFF;--btn-accent-bg: #171717;--btn-accent-fg: #FAFAFA;--btn-accent-hover-bg: #080808;--btn-accent-hover-fg: #FFFFFF;--btn-ghost-border: #E5E5E5;--btn-ghost-fg: #171717;--btn-ghost-hover-bg: #171717;--btn-ghost-hover-fg: #FAFAFA;--heading-font: "Space Grotesk", sans-serif;--body-font: "Inter", sans-serif;--mono-font: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--big-font-size: 4.5rem;--h1-font-size: 2.5rem;--h2-font-size: 1.75rem;--h3-font-size: 1.25rem;--normal-font-size: 1rem;--small-font-size: .875rem;--smaller-font-size: .8rem;--tiny-font-size: .68rem;--font-normal: 400;--font-medium: 500;--font-semi-bold: 600;--font-bold: 700;--font-extra-bold: 800;--mb-1: 1rem;--mb-1-5: 1.5rem;--mb-2: 2rem;--mb-2-5: 2.5rem;--mb-3: 3rem;--shadow-sm: none;--shadow-md: none;--shadow-lg: 0 20px 60px rgba(0,0,0,.1);--shadow-accent: none;--radius-sm: 0;--radius-md: 0;--radius-lg: 0;--radius-xl: 0;--radius-full: 0;--t-fast: .2s cubic-bezier(.4, 0, .2, 1);--t-med: .4s cubic-bezier(.4, 0, .2, 1);--t-slow: .7s cubic-bezier(.4, 0, .2, 1);--t-spring: .6s cubic-bezier(.34, 1.56, .64, 1);--z-backdrop: 50;--z-tooltip: 60;--z-fixed: 100;--z-navmenu: 110;--z-modal: 9000}body.dark-theme{--accent: #F5F5F5;--accent-dark: #FFFFFF;--accent-rgb: 245, 245, 245;--on-accent: #080808;--title-color: #F5F5F5;--text-color: #A3A3A3;--body-color: #080808;--container-color: #111111;--elevated-color: #1A1A1A;--card-border: #292929;--guide: rgba(255,255,255,.14);--dot: rgba(255,255,255,.075);--nav-bg: rgba(8,8,8,.94);--glass-bg: rgba(255,255,255,.06);--glass-bg-strong: rgba(255,255,255,.1);--glass-border: rgba(255,255,255,.14);--glass-blur: 20px;--btn-bg: #F5F5F5;--btn-fg: #080808;--btn-hover-bg: #FFFFFF;--btn-hover-fg: #080808;--btn-accent-bg: #F5F5F5;--btn-accent-fg: #080808;--btn-accent-hover-bg: #FFFFFF;--btn-accent-hover-fg: #080808;--btn-ghost-border: rgba(255,255,255,.14);--btn-ghost-fg: #F5F5F5;--btn-ghost-hover-bg: #F5F5F5;--btn-ghost-hover-fg: #080808;--shadow-sm: none;--shadow-md: none;--shadow-lg: 0 20px 60px rgba(0,0,0,.65);--shadow-accent: none}.bg-grid{position:fixed;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(circle,var(--dot) 1px,transparent 1.2px);background-size:24px 24px;background-position:12px 12px}.bg-grid__line{position:absolute;top:0;bottom:0;width:1px;background:repeating-linear-gradient(to bottom,var(--guide) 0 5px,transparent 5px 11px)}.bg-grid__line--l{left:max(1rem,calc(50% - 600px))}.bg-grid__line--r{right:max(1rem,calc(50% - 600px))}@media screen and (max-width:992px){:root{--big-font-size: 3rem;--h1-font-size: 1.875rem;--h2-font-size: 1.375rem;--h3-font-size: 1.1rem;--normal-font-size: .938rem;--small-font-size: .813rem;--smaller-font-size: .75rem}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden;scroll-padding-top:5.5rem}body{font-family:var(--body-font);font-size:var(--normal-font-size);background-color:var(--body-color);color:var(--text-color);overflow-x:clip;transition:background-color .5s ease,color .5s ease}.header,.main,footer{position:relative;z-index:1}h1,h2,h3{font-family:var(--heading-font);color:var(--title-color);font-weight:var(--font-bold);line-height:1.15}ul{list-style:none}a{text-decoration:none}button{cursor:pointer;border:none;outline:none}img{max-width:100%;height:auto}.section{padding:4rem 0}.section+.section{border-top:1px dashed var(--guide)}.section:not(.about):not(.work):not(.project){content-visibility:auto;contain-intrinsic-size:auto 900px}.container{max-width:1200px;margin-inline:auto;padding-inline:2rem}.grid{display:grid;gap:1.5rem}.page{padding-top:calc(var(--header-height) + 3rem);min-height:100vh}@media screen and (max-width:768px){.page{padding-top:calc(var(--header-height) + 0rem)}}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border)}.section__subtitle{display:block;font-family:var(--mono-font);font-size:var(--smaller-font-size);font-weight:var(--font-medium);letter-spacing:.18em;text-transform:uppercase;color:var(--text-color);text-align:center;margin-bottom:.75rem}.section__title{font-size:var(--h1-font-size);font-family:var(--heading-font);font-weight:var(--font-bold);color:var(--title-color);letter-spacing:-.02em;text-align:center;margin-bottom:3.5rem}.button{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 2rem;border-radius:0;font-family:var(--body-font);font-weight:var(--font-semi-bold);font-size:var(--small-font-size);letter-spacing:.02em;border:1px solid transparent;background-color:var(--btn-bg);color:var(--btn-fg);transition:background-color var(--t-med),color var(--t-med),border-color var(--t-med),transform var(--t-med),box-shadow var(--t-med)}.button:hover{background-color:var(--btn-hover-bg);color:var(--btn-hover-fg);border-color:var(--btn-hover-bg)}.button--flex{display:inline-flex;align-items:center}.button--accent{background-color:var(--btn-accent-bg);color:var(--btn-accent-fg);border-color:var(--btn-accent-bg)}.button--accent:hover{background-color:var(--btn-accent-hover-bg);color:var(--btn-accent-hover-fg);border-color:var(--btn-accent-hover-bg)}.button--ghost{background-color:transparent;color:var(--btn-ghost-fg);border-color:var(--btn-ghost-border)}.button--ghost:hover{background-color:var(--btn-ghost-hover-bg);color:var(--btn-ghost-hover-fg);border-color:var(--btn-ghost-hover-bg)}.button--sm{padding:.5rem 1.1rem;font-size:var(--smaller-font-size)}.reveal{opacity:0;transform:translateY(32px);transition:opacity .75s ease,transform .75s ease}.reveal.revealed{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transform:translate(-40px);transition:opacity .75s ease,transform .75s ease}.reveal-left.revealed{opacity:1;transform:translate(0)}.reveal-right{opacity:0;transform:translate(40px);transition:opacity .75s ease,transform .75s ease}.reveal-right.revealed{opacity:1;transform:translate(0)}.reveal-scale{opacity:0;transform:scale(.88);transition:opacity .75s ease,transform .75s ease}.reveal-scale.revealed{opacity:1;transform:scale(1)}.d1{transition-delay:.1s!important}.d2{transition-delay:.2s!important}.d3{transition-delay:.3s!important}.d4{transition-delay:.4s!important}.d5{transition-delay:.5s!important}.d6{transition-delay:.6s!important}body:after{content:"";position:fixed;top:var(--wave-y,0);left:var(--wave-x,0);width:0;height:0;background:var(--body-color);border-radius:0;transform:translate(-50%,-50%);transition:width .7s ease,height .7s ease;z-index:499;pointer-events:none}body.animating:after{width:3500px;height:3500px}body.dark-theme .active-link{color:var(--accent)!important}::selection{background:var(--accent);color:var(--on-accent)}input,textarea{caret-color:var(--title-color)}input::selection,textarea::selection{background:var(--accent);color:var(--on-accent)}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--body-color)}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:0}@media screen and (max-width:992px){.container{padding-inline:1.5rem}.button{padding:.75rem 1.5rem}.section{padding:3rem 0}.section__title{margin-bottom:2.75rem}}@media screen and (max-width:900px){html{scroll-padding-top:1rem}}@media screen and (max-width:768px){.section{padding:3rem 0}.section__title{margin-bottom:2.25rem;padding-inline:1.5rem}}@media screen and (max-width:350px){:root{--big-font-size:2.5rem}.container{padding-inline:1rem}}.header{position:fixed;top:0;left:0;right:0;margin-inline:auto;width:100%;max-width:100%;z-index:var(--z-fixed);border-radius:0;transition:top .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1),max-width .35s cubic-bezier(.4,0,.2,1),border-radius .35s ease}.header:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:0;background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--shadow-md);opacity:0;transition:opacity .3s ease}.scroll-header{top:.75rem;width:calc(100% - 2rem);max-width:1100px;border-radius:0}.scroll-header:before{opacity:1;-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);backdrop-filter:blur(var(--glass-blur)) saturate(180%)}.header--on-hero{--title-color: #F5F5F5;--text-color: #D4D4D4;--accent: #F5F5F5;--accent-rgb: 245, 245, 245;--on-accent: #080808;--glass-bg: rgba(255, 255, 255, .06);--glass-border: rgba(255, 255, 255, .18)}.header--on-hero .nav__menu{--glass-bg-strong: rgba(18, 18, 18, .88)}.nav{height:3.75rem;max-width:1200px;padding-inline:2rem;display:flex;justify-content:space-between;align-items:center;transition:padding .35s ease}.scroll-header .nav{padding-inline:1.5rem .75rem}.nav__logo{display:flex;align-items:center;gap:.5rem;font-family:var(--heading-font);font-weight:var(--font-bold);font-size:1.05rem;color:var(--title-color);letter-spacing:.04em;text-transform:uppercase}.nav__list{display:flex;column-gap:.15rem;list-style:none}.nav__link{position:relative;display:flex;flex-direction:column;align-items:center;padding:.5rem .85rem;font-size:var(--small-font-size);font-weight:var(--font-medium);color:var(--text-color);border-radius:0;transition:color var(--t-fast),background var(--t-fast);white-space:nowrap}.nav__link:after{content:"";position:absolute;bottom:3px;left:50%;transform:translate(-50%) scaleX(0);width:14px;height:2px;background:var(--accent);border-radius:0;transition:transform var(--t-spring)}.nav__link:hover,.nav__link.active-link{color:var(--title-color)}.nav__link:hover{background:rgba(var(--accent-rgb),.08)}.nav__link:hover:after,.nav__link.active-link:after{transform:translate(-50%) scaleX(1)}.nav__link.active-link{font-weight:var(--font-semi-bold)}.nav__menu{margin-left:auto}.nav__actions{display:flex;align-items:center;gap:.5rem;margin-left:.5rem}.nav__theme,.nav__theme .theme-toggle__track{width:38px;height:38px}.nav__theme .theme-toggle__track{background:var(--glass-bg);border:1px solid var(--glass-border)}.nav__theme:hover .theme-toggle__track{background:var(--accent);border-color:var(--accent)}.nav__icon,.nav__toggle,.nav__overlay{display:none}@media screen and (max-width:1100px){.nav__link{padding:.5rem .6rem}}@media screen and (max-width:900px){.nav{height:var(--header-height);padding-inline:1.25rem}.scroll-header{top:.5rem;width:calc(100% - 1rem)}.scroll-header .nav{padding-inline:1.25rem .4rem}.nav__actions{margin-left:auto;gap:.4rem}.nav__theme,.nav__theme .theme-toggle__track{width:42px;height:42px}.nav__overlay{display:block;position:fixed;inset:0;background:#00000073;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:10}.nav__menu{position:fixed;left:1rem;right:1rem;top:calc(var(--header-height) + 1.25rem);margin-inline:auto;max-width:560px;background:var(--glass-bg-strong);border:1px solid var(--glass-border);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-radius:0;padding:1rem;box-shadow:var(--shadow-lg);z-index:var(--z-navmenu);transform:translateY(-1rem);opacity:0;pointer-events:none;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .25s ease}.nav__menu.show-menu{transform:translateY(0);opacity:1;pointer-events:auto}.nav__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(5.25rem,1fr));gap:.5rem}.nav__item{display:flex}.nav__link{flex:1;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;padding:.7rem .25rem;border-radius:0;font-size:.68rem;text-align:center;color:var(--text-color);line-height:1.2}.nav__link:after{display:none}.nav__link:hover{background:rgba(var(--accent-rgb),.1);color:var(--accent)}.nav__link.active-link{background:rgba(var(--accent-rgb),.14);color:var(--accent)}.nav__icon{display:block;font-size:1.3rem}.nav__toggle{display:flex;align-items:center;justify-content:center;width:42px;height:42px;font-size:1.25rem;color:var(--title-color);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:0;cursor:pointer;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast);position:relative;z-index:calc(var(--z-fixed) + 1)}.nav__toggle-icon{display:block;animation:toggleSpin .3s ease}@keyframes toggleSpin{0%{transform:rotate(-90deg) scale(.6);opacity:0}to{transform:none;opacity:1}}.nav__toggle[aria-expanded=true],.nav__toggle:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}}@media screen and (max-width:480px){.nav__list{gap:.35rem}.nav__menu{left:.75rem;right:.75rem;padding:.875rem}.nav__link{font-size:.6rem;padding:.6rem .2rem}.nav__icon{font-size:1.15rem}}@media screen and (max-width:350px){.nav__list{gap:.2rem}}.theme-toggle{display:flex;align-items:center;justify-content:center;background:transparent;padding:0;width:40px;height:40px}.theme-toggle__track{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--container-color);border:1px solid var(--card-border);transition:background var(--t-fast),border-color var(--t-fast)}.theme-toggle:hover .theme-toggle__track{background:var(--accent);border-color:var(--accent)}.theme-toggle__thumb{font-size:1.15rem;color:var(--title-color);display:flex;align-items:center;justify-content:center;transition:color var(--t-fast)}.theme-toggle:hover .theme-toggle__thumb{color:var(--on-accent)}.footer{--fs: clamp(2.5rem, 19.5vw, 24rem);--glass-top: rgba(0, 0, 0, .16);--glass-bottom: rgba(0, 0, 0, .02);--glass-edge: rgba(0, 0, 0, .14);position:relative;z-index:1;overflow:hidden;padding:4rem 0 calc(var(--fs) * .5);border-top:1px dashed var(--guide)}body.dark-theme .footer{--glass-top: rgba(255, 255, 255, .2);--glass-bottom: rgba(255, 255, 255, .02);--glass-edge: rgba(255, 255, 255, .18)}.footer__container{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.footer__social{display:flex;gap:.5rem;flex-wrap:wrap}.footer__social-link{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));color:var(--title-color);font-size:1.1rem;border:1px solid var(--glass-border);transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.footer__social-link:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.footer__social-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.footer__copy{font-family:var(--mono-font);font-size:var(--smaller-font-size);color:var(--text-color)}.footer__copy span{color:var(--title-color);font-weight:var(--font-medium)}.footer__name{position:absolute;left:50%;bottom:calc(var(--fs) * -.17);transform:translate(-50%);z-index:1;font-family:var(--heading-font);font-size:var(--fs);font-weight:var(--font-bold);line-height:.8;letter-spacing:-.045em;white-space:nowrap;user-select:none;pointer-events:none;color:transparent;background:linear-gradient(to bottom,var(--glass-top),var(--glass-bottom));-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:1px var(--glass-edge)}@media screen and (max-width:700px){.footer{padding-top:3rem}.footer__container{flex-direction:column;align-items:flex-start}}.scrollup{position:fixed;right:2rem;bottom:-6rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--container-color);color:var(--title-color);border:1px solid var(--card-border);font-size:1.3rem;z-index:var(--z-tooltip);transition:bottom var(--t-med),background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.scrollup:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.show-scroll{bottom:2rem}@media screen and (max-width:900px){.scrollup{right:1rem}.show-scroll{bottom:1.25rem}}.home{--hero-h: max(100svh, 40vw);--img-h: var(--hero-h);--img-top: 0px;--hero-ink: #F5F5F5;--hero-muted: #BDBDBD;--person-mask: url(/assets/landing-mask-Cb_xfeFg.png);--btn-bg: #F5F5F5;--btn-fg: #080808;--btn-hover-bg: #FFFFFF;--btn-hover-fg: #080808;--btn-ghost-border: rgba(255, 255, 255, .28);--btn-ghost-fg: #F5F5F5;--btn-ghost-hover-bg: #F5F5F5;--btn-ghost-hover-fg: #080808;position:relative;min-height:var(--hero-h);padding:0;overflow:hidden;background:#080808;color:var(--hero-ink)}.home__stage{position:absolute;top:var(--img-top);left:0;right:0;height:var(--img-h);overflow:hidden}.home__stage:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#0808088c,#08080800 22%),linear-gradient(to top,#080808,#080808e0 20%,#08080800 52%),linear-gradient(to right,#080808,#08080800 14% 86%,#080808),linear-gradient(#08080838,#08080838)}.home__photo{position:absolute;top:0;left:50%;height:100%;width:auto;max-width:none;transform:translate(-50%);user-select:none}.home__layer{position:absolute;top:var(--img-top);left:0;right:0;height:var(--layer-h, var(--img-h));pointer-events:none;user-select:none}.home__layer--solid,.home__layer--outline{-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:50% 0;mask-position:50% 0;-webkit-mask-size:auto var(--img-h);mask-size:auto var(--img-h)}.home__layer--solid{-webkit-mask-image:var(--person-mask),linear-gradient(#000 0 0);mask-image:var(--person-mask),linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-size:auto var(--img-h),100% 100%;mask-size:auto var(--img-h),100% 100%}.home__layer--outline{-webkit-mask-image:var(--person-mask);mask-image:var(--person-mask)}.home__layer--outline .home__last{color:transparent;-webkit-text-stroke:2px var(--hero-ink)}.home__title{position:absolute;top:58%;left:50%;width:max-content;transform:translate(-50%,-50%);font-family:var(--heading-font);font-weight:var(--font-bold);line-height:.8;color:var(--hero-ink);animation:homeRiseTitle .6s .1s ease both}.home__first{display:block;margin:0 0 .9rem .4rem;font-size:clamp(.8rem,1.5vw,1.35rem);font-weight:var(--font-medium);letter-spacing:.32em;text-transform:uppercase}.home__tail{display:block;margin:.9rem .4rem 0 0;text-align:right;font-size:clamp(.8rem,1.5vw,1.35rem);font-weight:var(--font-medium);letter-spacing:.32em;text-transform:uppercase}.home__last{display:block;font-size:clamp(3rem,15.2vw,15.5rem);letter-spacing:-.045em;text-transform:uppercase}.home__inner{position:relative;z-index:3;min-height:var(--hero-h);display:flex;flex-direction:column;justify-content:space-between;gap:2rem;padding-top:7rem;padding-bottom:2.5rem}.home__top,.home__bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem}.home__top{align-items:flex-start}.home__intro{animation:homeRise .5s .15s ease both}.home__greeting{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--small-font-size);font-weight:var(--font-medium);letter-spacing:.04em;color:var(--hero-muted)}.home__subtitle{margin-top:.35rem;font-family:var(--heading-font);font-size:var(--h3-font-size);font-weight:var(--font-medium);color:var(--hero-ink)}.home__about{max-width:26rem;animation:homeRise .5s .3s ease both}.home__description{font-size:var(--small-font-size);line-height:1.7;color:var(--hero-muted)}.home__actions{display:flex;flex-direction:column;align-items:flex-end;gap:1.25rem;animation:homeFade .5s .4s ease both}.home__cta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.home ::selection{background:#f5f5f5;color:#080808}.home a:focus-visible,.home .button:focus-visible{outline:2px solid #F5F5F5;outline-offset:3px}.home__social{display:flex;gap:.5rem}.home__social-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1.05rem;color:var(--hero-ink);border:1px solid rgba(255,255,255,.14);border-radius:0;background:#ffffff0f;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:background .25s ease,color .25s ease,transform .25s ease}.home__social-icon:hover{color:#080808;background:#f5f5f5}.home__scroll{display:inline-flex;align-items:center;gap:.75rem;font-size:var(--small-font-size);font-weight:var(--font-medium);color:var(--hero-ink);animation:homeRise .5s .2s ease both}.home__scroll-circle{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.28);border-radius:0;transition:background .25s ease,color .25s ease}.home__scroll:hover .home__scroll-circle{background:#f5f5f5;color:#080808}.home__scroll-arrow{font-size:1.1rem;animation:bounceArrow 1.6s ease infinite}@keyframes bounceArrow{0%,to{transform:translateY(-2px)}50%{transform:translateY(3px)}}@keyframes homeFade{0%{opacity:0}to{opacity:1}}@keyframes homeRise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes homeRiseTitle{0%{opacity:0;transform:translate(-50%,calc(-50% + 16px))}to{opacity:1;transform:translate(-50%,-50%)}}@media screen and (max-width:900px){.home{--hero-h: auto;--img-h: min(135vw, 46rem);--img-top: 0px;min-height:0}.home__inner{min-height:0;padding-top:5.75rem;padding-bottom:2.5rem;gap:0}.home__stage:after{background:linear-gradient(to bottom,#08080899,#08080800 20%),linear-gradient(to top,#080808,#080808d9 7%,#08080800 24%),linear-gradient(to right,#080808,#08080800 6% 94%,#080808),linear-gradient(#08080833,#08080833)}.home{--title-half: calc(7.9vw + 1.4rem) ;--title-y: max(calc(var(--img-h) * .82), calc(22.5rem + var(--title-half)));--layer-h: max(var(--img-h), calc(var(--title-y) + var(--title-half) + 2.5rem))}.home__title{top:var(--title-y)}.home__last{font-size:min(15vw,9rem)}.home__first{font-size:clamp(.7rem,2.6vw,1rem);margin-bottom:.6rem}.home__subtitle{font-size:1rem;text-wrap:balance}.home__bottom{margin-top:calc(var(--title-y) + var(--title-half) + 1.25rem - 9.25rem);flex-direction:column;align-items:stretch;gap:1.25rem}.home__about{max-width:36rem;margin-inline:auto;width:100%}.home__actions{align-items:stretch;max-width:36rem;margin-inline:auto;width:100%}.home__cta{flex-wrap:nowrap;justify-content:stretch}.home__cta .button{flex:1;justify-content:center;padding:.75rem 1rem;font-size:var(--smaller-font-size);white-space:nowrap}.home__social{position:absolute;top:10.25rem;left:1.5rem;flex-direction:column;gap:.3rem;z-index:4}.home__social-icon{width:34px;height:34px}.home__scroll-circle{width:40px;height:40px}.home__cta .button{min-height:48px}}@media screen and (max-width:360px){.home__subtitle{font-size:.9rem}}@media screen and (max-width:480px){.home__last{font-size:17.5vw}.home__first,.home__tail{font-size:.7rem}.home__scroll-name{display:none}}@media screen and (max-width:380px){.home__cta{flex-wrap:wrap}.home__cta .button{flex:1 1 100%}}@media(prefers-reduced-motion:reduce){.home *,.home__title{animation:none!important}}.about__container{grid-template-columns:1fr 1fr;align-items:center;column-gap:4rem}.about__sphere-wrap{position:relative;justify-self:center;width:100%;display:flex;align-items:center;justify-content:center}.about__info{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:var(--mb-2)}.about__box{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:1rem;min-height:11rem;padding:1.25rem 1rem;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);text-align:left;cursor:default}.about__title{position:relative;z-index:1;font-family:var(--mono-font);font-size:var(--tiny-font-size);font-weight:var(--font-medium);letter-spacing:.12em;text-transform:uppercase;color:var(--text-color)}.about__value{position:relative;z-index:1;display:flex;align-items:baseline;gap:.4rem;font-family:var(--heading-font);font-size:clamp(1.9rem,3.2vw,2.6rem);font-weight:var(--font-medium);letter-spacing:-.03em;line-height:1;color:var(--title-color);font-variant-numeric:tabular-nums}.about__unit{margin-left:.3rem;font-family:var(--mono-font);font-size:var(--small-font-size);letter-spacing:0;color:var(--text-color)}.about__box--live .about__value{font-size:clamp(1.3rem,2.2vw,1.75rem);letter-spacing:-.02em}.about__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.about__glyph{position:absolute;right:-.9rem;top:-.4rem;font-size:6.5rem;line-height:1;color:var(--title-color);opacity:.16;pointer-events:none;-webkit-mask-image:linear-gradient(225deg,#000 35%,transparent 95%);mask-image:linear-gradient(225deg,#000 35%,transparent 95%)}.about__ring{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.about__ring rect{width:calc(100% - 2px);height:calc(100% - 2px);fill:none;stroke:var(--title-color);stroke-width:2;stroke-dasharray:100;stroke-dashoffset:100}.about__box--count[data-started] .about__ring rect{stroke-dashoffset:0;transition:stroke-dashoffset 3.2s cubic-bezier(.33,1,.68,1)}.about__box--live:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(var(--accent-rgb),.28) 50%,transparent 65%);transform:translate(-120%);animation:aboutShine 3.2s ease-in-out infinite;pointer-events:none}.about__box--live:after{content:"";position:absolute;left:38%;top:30%;width:4px;height:4px;background:var(--title-color);box-shadow:46px 18px 0 0 var(--title-color),14px 52px 0 0 var(--title-color),72px 60px 0 -1px var(--title-color);opacity:0;animation:aboutTwinkle 2.4s ease-in-out infinite;pointer-events:none}.about__box--live{border-color:var(--text-color)}@keyframes aboutShine{0%,55%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes aboutTwinkle{0%,to{opacity:0}35%,65%{opacity:.9}}@media(prefers-reduced-motion:reduce){.about__box--live:before,.about__box--live:after{animation:none}.about__box--count .about__ring rect{stroke-dashoffset:0;transition:none}}.about__description{margin-bottom:var(--mb-1-5);line-height:1.85;color:var(--text-color)}.about__description strong{color:var(--title-color);font-weight:var(--font-semi-bold)}.about__availability{display:flex;align-items:flex-start;gap:.75rem;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));color:var(--title-color);border:1px solid var(--glass-border);padding:.75rem 1rem;font-family:var(--mono-font);font-size:var(--smaller-font-size);line-height:1.6;margin-bottom:var(--mb-2)}.about__availability i{color:var(--text-color);font-size:1rem;margin-top:.1rem}@media screen and (max-width:992px){.about__container{grid-template-columns:1fr;row-gap:2.5rem}.about__description{padding:0}}@media screen and (max-width:576px){.about__info{grid-template-columns:repeat(2,1fr);gap:.75rem}.about__box{min-height:9rem;padding:1rem .85rem}.about__box:nth-child(3){grid-column:1 / -1;min-height:7.5rem}.about__glyph{font-size:5rem}}.skills__container{grid-template-columns:repeat(12,1fr);gap:1rem}.skills__content{grid-column:span 4;display:flex;flex-direction:column;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);transition:border-color var(--t-fast),background var(--t-fast)}.skills__content:hover{border-color:var(--text-color);background:var(--glass-bg-strong)}.skills__title{display:flex;align-items:center;gap:.6rem;padding:.85rem 1.25rem;border-bottom:1px solid var(--glass-border);font-family:var(--mono-font);font-size:var(--smaller-font-size);font-weight:var(--font-medium);letter-spacing:.1em;text-transform:uppercase;color:var(--title-color)}.skills__count{margin-left:auto;color:var(--text-color);font-weight:var(--font-normal)}.skills__title-icon{font-size:1.05rem;color:var(--text-color)}.skills__tags{flex:1;display:flex;flex-wrap:wrap;align-content:flex-start;gap:.5rem;padding:1.25rem}.skills__tag{font-family:var(--mono-font);font-size:.72rem;color:var(--title-color);background:transparent;border:1px solid var(--glass-border);padding:.35rem .65rem;transition:border-color var(--t-fast)}.skills__tag:hover{border-color:var(--text-color)}@media screen and (max-width:992px){.skills__container{gap:1.25rem}.skills__content{grid-column:span 6}.skills__title{padding:1rem 1.5rem}.skills__tags{padding:1.5rem;gap:.6rem}.skills__tag{font-size:.78rem;padding:.4rem .75rem}}@media screen and (max-width:576px){.skills__content{grid-column:1 / -1}}.skills__ide{grid-column:span 8;grid-row:span 2;display:flex}.skills__ide .ide-win{flex:1}.skills__ide .ide-win--flow .ide-term__log{max-height:none}@media screen and (max-width:992px){.skills__ide{display:none}}.ide-win{--w-bg: rgba(10, 10, 10, .92);--w-bar: rgba(255, 255, 255, .06);--w-border: rgba(255, 255, 255, .14);--w-ink: #D4D4D4;--w-muted: #7C7C7C;display:flex;flex-direction:column;min-width:0;background:var(--w-bg);border:1px solid var(--w-border);color:var(--w-ink);font-family:var(--mono-font);font-size:.8rem;text-align:left}.ide-win__bar{display:flex;align-items:stretch;gap:.75rem;min-height:2.5rem;padding-left:.9rem;background:var(--w-bar);border-bottom:1px solid var(--w-border)}.ide-win__dots{display:flex;align-items:center;gap:.35rem}.ide-win__dots i{width:8px;height:8px;border:1px solid #555}.ide-win__dots i:nth-child(1){background:#f85149;border-color:#f85149}.ide-win__dots i:nth-child(2){background:#e3b341;border-color:#e3b341}.ide-win__dots i:nth-child(3){background:#3fb950;border-color:#3fb950}.ide-win__title{align-self:center;color:var(--w-muted);font-size:.72rem;letter-spacing:.04em}.ide-tabs{display:flex;overflow-x:auto;scrollbar-width:none}.ide-tabs::-webkit-scrollbar{display:none}.ide-tab{padding:0 1rem;font-family:inherit;font-size:.75rem;color:var(--w-muted);background:transparent;border-left:1px solid var(--w-border);white-space:nowrap;transition:color .15s ease,background .15s ease}.ide-tab:hover{color:var(--w-ink)}.ide-tab.is-active{color:#fff;background:#ffffff0a;box-shadow:inset 0 -1px #569cd6}.ide-tab:focus-visible,.tk-link:focus-visible{outline:1px solid #569CD6;outline-offset:-2px}.ide-code{flex:1;overflow:auto;padding:.75rem 0}.ide-line{display:flex;min-height:1.65em;line-height:1.65;cursor:text;border-left:2px solid transparent}.ide-line:hover{background:#ffffff06}.ide-line.is-current{background:#ffffff0d}.ide-line.is-error{border-left-color:#f85149;background:#f851491a}.ide-line__no{flex:0 0 2.6rem;padding-right:.9rem;text-align:right;color:#4d4d4d;user-select:none}.ide-line.is-current .ide-line__no,.ide-line.is-error .ide-line__no{color:#c6c6c6}.ide-line__txt{font-family:inherit;white-space:pre;padding-right:1rem}.ide-caret{display:inline-block;width:1px;height:1.1em;margin-left:1px;vertical-align:text-bottom;background:#aeafad;animation:ideBlink 1.1s steps(1) infinite}@keyframes ideBlink{50%{opacity:0}}.tk-com{color:#6a9955;font-style:italic}.tk-str{color:#ce9178}.tk-ctl{color:#c586c0}.tk-kw{color:#569cd6}.tk-fn{color:#dcdcaa}.tk-num{color:#b5cea8}.tk-type{color:#4ec9b0}.tk-prop,.tk-var{color:#9cdcfe}.tk-pun{color:#d4d4d4}.tk-head{color:#569cd6;font-weight:600}.tk-path{color:#79c0ff}.tk-dir{color:#79c0ff;font-weight:500}.tk-dim{color:#7c7c7c}.tk-plain{color:#e6edf3}.tk-ok{color:#3fb950}.tk-err{color:#f85149}.tk-warn{color:#e3b341}.tk-link{font-family:inherit;font-size:inherit;background:none;padding:0;text-decoration:underline dotted;text-underline-offset:3px;cursor:pointer}.tk-link:hover{color:#e9b696;text-decoration-style:solid}.ide-code--auto{overflow:hidden;pointer-events:none;user-select:none}.ide-code--auto .ide-line{cursor:default;height:1.2rem;min-height:0;line-height:1.2rem}.ide-win ::selection{background:#264f78;color:#fff}.ide-win input::selection{background:#264f78;color:#fff}.ide-win__status{display:flex;gap:1.25rem;padding:.45rem .9rem;border-top:1px solid var(--w-border);background:#0e639c;font-size:.68rem;color:#fff}.ide-status__err{color:#fff;font-weight:500}.ide-status__lang{margin-left:auto}.ide-term{cursor:text}.ide-term__log{flex:1;overflow-y:auto;padding:.9rem;line-height:1.7}.ide-term__line{display:flex;flex-wrap:wrap;gap:.6rem;word-break:break-word;animation:ideFade .2s ease both}.ide-term__line--out{color:#8b949e}.ide-term__line--plain{color:#e6edf3}.ide-term__line--ok{color:#3fb950}.ide-term__line--err{color:#f85149}.ide-ps{flex:none;white-space:nowrap}.ps-user{color:#3fb950}.ps-sep{color:#8b949e}.ps-path{color:#79c0ff}.ps-dollar{color:#e6edf3;margin:0 .2rem 0 .35rem}.ide-term__form{display:flex;gap:.6rem;align-items:center}.ide-term__form label{margin:0}.ide-term__input{flex:1;min-width:0;padding:0;font:inherit;color:#e6edf3;background:transparent;border:none;outline:none;caret-color:#aeafad}.ide-term__quick{display:flex;flex-wrap:wrap;gap:.4rem;padding:.6rem .9rem;border-top:1px solid var(--w-border);background:var(--w-bar)}.ide-chip{padding:.25rem .6rem;font-family:inherit;font-size:.7rem;color:#dcdcaa;background:transparent;border:1px solid var(--w-border);transition:background .15s ease,color .15s ease,border-color .15s ease}.ide-chip:hover{background:#dcdcaa;color:#0a0a0a;border-color:#dcdcaa}.ide-chip:focus-visible{outline:1px solid #569CD6;outline-offset:-2px}@keyframes ideFade{0%{opacity:0}to{opacity:1}}.ide-win--flow .ide-code,.ide-win--flow .ide-term__log{max-height:22rem}@media(prefers-reduced-motion:reduce){.ide-win *,.ide-caret{animation:none!important}}.github,.gh-repo{--gh-0: var(--elevated-color);--gh-1: #bfdbfe;--gh-2: #60a5fa;--gh-3: #2563eb;--gh-4: #1e40af}body.dark-theme .github,body.dark-theme .gh-repo{--gh-0: rgba(255,255,255,.07);--gh-1: #1e3a8a;--gh-2: #2563eb;--gh-3: #3b82f6;--gh-4: #93c5fd}.gh-panel{padding:1.5rem;max-width:1100px;margin-inline:auto}.gh-panel__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.gh-panel__title{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--mono-font);font-size:var(--smaller-font-size);letter-spacing:.1em;text-transform:uppercase;color:var(--title-color)}.gh-panel__link{font-family:var(--mono-font);font-size:var(--smaller-font-size);color:var(--text-color)}.gh-panel__link:hover{color:var(--title-color);text-decoration:underline;text-underline-offset:4px}.gh-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1.25rem}.gh-stat{display:flex;flex-direction:column;gap:.15rem;padding:.85rem 1rem;border:1px solid var(--glass-border);min-width:0}.gh-stat>i{font-size:1.1rem;color:var(--gh-3)}.gh-stat__value{font-family:var(--heading-font);font-size:var(--h2-font-size);font-weight:var(--font-bold);color:var(--title-color);font-variant-numeric:tabular-nums;line-height:1.1}.gh-stat__label{font-family:var(--mono-font);font-size:var(--tiny-font-size);color:var(--text-color);letter-spacing:.04em}.gh-scroll{overflow-x:auto;padding-bottom:.25rem}.gh-canvas{position:relative;width:100%}.gh-svg{display:block;width:100%;height:auto;overflow:visible}.gh-axis{font-family:var(--mono-font);font-size:13px;fill:var(--text-color)}.gh-axis--c{text-anchor:middle}.gh-cell{transform-box:fill-box;transform-origin:center;animation:gh-pop .42s cubic-bezier(.2,.8,.2,1) both;transition:filter .15s}.gh-cell:hover{filter:brightness(1.15);stroke:var(--title-color);stroke-width:1}.gh-l0{fill:var(--gh-0);background:var(--gh-0)}.gh-l1{fill:var(--gh-1);background:var(--gh-1)}.gh-l2{fill:var(--gh-2);background:var(--gh-2)}.gh-l3{fill:var(--gh-3);background:var(--gh-3)}.gh-l4{fill:var(--gh-4);background:var(--gh-4)}@keyframes gh-pop{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}.gh-legend{display:flex;align-items:center;justify-content:flex-end;gap:.3rem;margin-top:.75rem;font-family:var(--mono-font);font-size:var(--tiny-font-size);color:var(--text-color)}.gh-legend__cell{display:inline-block;width:11px;height:11px;border-radius:2px;animation:none}.gh-tip{position:fixed;z-index:1000;transform:translate(-50%,calc(-100% - 8px));display:flex;flex-direction:column;gap:.1rem;padding:.4rem .6rem;pointer-events:none;white-space:nowrap;background:var(--container-color);border:1px solid var(--glass-border);box-shadow:0 6px 20px #0000002e;font-family:var(--mono-font);font-size:var(--tiny-font-size);color:var(--text-color)}.gh-tip strong{color:var(--title-color);font-weight:var(--font-semi-bold)}.gh-svg--chart,.gh-chart{min-width:0}.gh-baseline{stroke:var(--glass-border);stroke-width:1}.gh-hit{fill:transparent}.gh-bar{fill:var(--gh-3);opacity:.55;transform-box:fill-box;transform-origin:bottom;animation:gh-grow .6s cubic-bezier(.2,.8,.2,1) both;transition:opacity .15s,fill .15s}.gh-bar.is-active{opacity:1;fill:var(--gh-4)}.gh-line{fill:none;stroke:var(--gh-3);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;animation:gh-draw 1.4s ease-out .2s both}.gh-area{animation:gh-fade 1s ease .5s both}@keyframes gh-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes gh-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes gh-fade{0%{opacity:0}to{opacity:1}}.gh-foot,.gh-note{margin-top:.75rem;font-family:var(--mono-font);font-size:var(--tiny-font-size);color:var(--text-color)}.gh-note a{color:var(--title-color);text-decoration:underline;text-underline-offset:3px}.gh-skeleton{height:180px;border:1px solid var(--glass-border);background:linear-gradient(90deg,var(--gh-0) 25%,transparent 50%,var(--gh-0) 75%) 0 0 / 200% 100%;animation:gh-shimmer 1.4s linear infinite}.gh-skeleton--repo{height:240px}@keyframes gh-shimmer{to{background-position:-200% 0}}@media(max-width:640px){.gh-stats{grid-template-columns:repeat(2,1fr)}.gh-stats>:first-child:nth-child(odd):last-child,.gh-stats>:last-child:nth-child(odd){grid-column:1 / -1}.gh-panel{padding:1rem}}@media(prefers-reduced-motion:reduce){.gh-cell,.gh-bar,.gh-line,.gh-area,.gh-skeleton{animation:none}.gh-line{stroke-dashoffset:0}}.services__container{grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(15rem,auto);gap:1rem}.services__card{position:relative;overflow:hidden;display:flex;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast)}.services__card:hover{border-color:var(--text-color);background:var(--glass-bg-strong)}.services__card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.services__card:nth-child(1){grid-column:1 / 6;grid-row:1 / 3}.services__card:nth-child(2){grid-column:6 / 13;grid-row:1}.services__card:nth-child(3){grid-column:6 / 13;grid-row:2}.services__card:nth-child(1) .services__card-body{justify-content:flex-end}.services__card-body{position:relative;z-index:1;display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:21rem;padding:2rem 1.75rem}.services__card-title{font-size:clamp(1.5rem,2.4vw,2.1rem);font-weight:var(--font-medium);letter-spacing:-.02em;line-height:1.1;color:var(--title-color)}.services__card-desc{font-size:var(--small-font-size);line-height:1.7;color:var(--text-color)}.services__card-btn{display:inline-flex;align-items:center;gap:.35rem;margin-top:.5rem;font-family:var(--mono-font);font-size:var(--smaller-font-size);letter-spacing:.08em;text-transform:uppercase;color:var(--title-color)}.services__card-btn i{font-size:1rem}.services__art{position:absolute;inset:0;pointer-events:none;color:var(--title-color)}.services__art i{position:absolute;line-height:1}.services__art-main{font-size:clamp(9rem,17vw,15rem);right:-1.5rem;bottom:-1.5rem;opacity:.2;-webkit-mask-image:linear-gradient(135deg,transparent 5%,#000 70%);mask-image:linear-gradient(135deg,transparent 5%,#000 70%)}.services__art-b{font-size:clamp(3.5rem,6vw,5.5rem);right:38%;top:1.25rem;opacity:.1}.services__art-c{font-size:clamp(3rem,5vw,4.5rem);right:1.25rem;top:1.25rem;opacity:.12}.services__card:nth-child(1) .services__art-main{right:-2.5rem;bottom:auto;top:-1rem;font-size:clamp(11rem,20vw,17rem)}.services__card:nth-child(1) .services__art-b{right:auto;left:1.5rem;top:1.5rem}.services__card:nth-child(1) .services__art-c{right:1.5rem;top:auto;bottom:1.5rem}.svc-modal-overlay{position:fixed;inset:0;z-index:9000;display:flex;justify-content:center;align-items:center;padding:1.5rem;background:#000000b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:svcFade .2s ease}@keyframes svcFade{0%{opacity:0}to{opacity:1}}.svc-modal{position:relative;width:100%;max-width:570px;max-height:90vh;overflow-y:auto;background:var(--container-color);border:1px solid var(--card-border);scrollbar-width:none}.svc-modal::-webkit-scrollbar{display:none}.svc-modal__header{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1.25rem;border-bottom:1px solid var(--card-border)}.svc-modal__icon{font-size:1.5rem;color:var(--title-color)}.svc-modal__close{width:34px;height:34px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--title-color);background:transparent;border:1px solid var(--card-border);cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.svc-modal__close:hover{background:var(--accent);color:var(--on-accent)}.svc-modal__body{padding:1.75rem}.svc-modal__title{font-size:var(--h2-font-size);font-weight:var(--font-medium);margin-bottom:.75rem}.svc-modal__desc{line-height:1.75;color:var(--text-color);margin-bottom:1.25rem}.svc-modal__list{display:flex;flex-direction:column;gap:.75rem}.svc-modal__item{display:flex;gap:.9rem;align-items:flex-start}.svc-modal__item-icon{flex:none;width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:var(--title-color);border:1px solid var(--card-border)}.svc-modal__item-text{font-size:var(--small-font-size);line-height:1.65;color:var(--text-color);padding-top:.35rem}@media screen and (max-width:992px){.services__container{grid-template-columns:repeat(2,1fr);grid-auto-rows:auto}.services__card:nth-child(1),.services__card:nth-child(2){grid-column:auto;grid-row:auto}.services__card:nth-child(3){grid-column:1 / -1;grid-row:auto}.services__card{min-height:17rem}.services__card:nth-child(1) .services__card-body{justify-content:flex-end}.services__card:nth-child(1) .services__art-main{top:-1rem;bottom:auto;font-size:clamp(8rem,24vw,12rem)}.services__card-body{max-width:100%}.services__card:nth-child(-n+2) .services__art-b,.services__card:nth-child(-n+2) .services__art-c{display:none}.services__card:nth-child(1) .services__art-main{opacity:.12}.services__card:nth-child(2) .services__card-body{justify-content:flex-end}.services__card:nth-child(3) .services__card-body{max-width:60%}}@media screen and (max-width:576px){.services__container{grid-template-columns:1fr}.services__card:nth-child(3){grid-column:auto}.services__card{min-height:14rem}.services__card:nth-child(1) .services__card-body{justify-content:flex-start}.services__card:nth-child(1) .services__art-main{top:auto;bottom:-1.5rem;font-size:clamp(8rem,30vw,11rem)}.services__card-body,.services__card:nth-child(3) .services__card-body{max-width:70%}}@media(prefers-reduced-motion:reduce){.svc-modal-overlay{animation:none}}@media screen and (max-width:768px){.svc-modal-overlay{align-items:flex-end;padding:0}.svc-modal{max-width:none;width:100%;height:auto;max-height:90svh;border-left:0;border-right:0;border-bottom:0;animation:svcSheet .28s ease}@keyframes svcSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}}@media screen and (max-width:768px)and (prefers-reduced-motion:reduce){.svc-modal{animation:none}}.qualification__container{max-width:820px;margin-inline:auto}.qualification__tabs{display:flex;width:fit-content;margin:0 auto var(--mb-2-5);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border)}.qualification__button{display:flex;align-items:center;gap:.5rem;padding:.7rem 1.5rem;font-family:var(--mono-font);font-size:var(--smaller-font-size);letter-spacing:.08em;text-transform:uppercase;color:var(--text-color);background:none;border:none;cursor:pointer;transition:color var(--t-fast),background var(--t-fast)}.qualification__button+.qualification__button{border-left:1px solid var(--card-border)}.qualification__button:hover{color:var(--title-color)}.qualification__active{background:var(--accent)!important;color:var(--on-accent)!important}.qualification__icon{font-size:1.1rem}.qualification__sections{display:grid;grid-template-columns:.8fr;justify-content:center;margin-top:1rem}.qualification__content{display:none}.qualification__content-active{display:block}.qualification__data{display:grid;grid-template-columns:1fr 28px 1fr;column-gap:1.5rem;position:relative;padding:.25rem 0}.qualification__text-left{text-align:right}.qualification__text-right{text-align:left}.qualification__title{font-family:var(--heading-font);font-size:var(--normal-font-size);font-weight:var(--font-semi-bold);color:var(--title-color);margin-bottom:.2rem}.qualification__subtitle{display:inline-block;font-size:var(--small-font-size);color:var(--text-color);margin-bottom:.4rem}.qualification__calendar{display:flex;align-items:center;gap:.3rem;font-family:var(--mono-font);font-size:var(--smaller-font-size);color:var(--title-color);margin-bottom:1.5rem}.qualification__text-right .qualification__calendar{justify-content:flex-start}.qualification__text-left .qualification__calendar{justify-content:flex-end}.qualification__rounder{display:block;width:11px;height:11px;background:var(--body-color);border:1px solid var(--title-color);margin:6px auto 0;flex-shrink:0;position:relative;z-index:1}.qualification__line{display:block;width:1px;height:100%;background:repeating-linear-gradient(to bottom,var(--guide) 0 4px,transparent 4px 8px);margin:0 auto}.qualification__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.qualification__text-left .qualification__actions{justify-content:flex-end}.qualification__text-right .qualification__actions{justify-content:flex-start}.qualification__actions .button{min-height:36px}@media screen and (max-width:768px){.qualification__sections{grid-template-columns:1fr}.qualification__label{display:none}.qualification__button{padding:.75rem 1.4rem}}@media screen and (max-width:576px){.qualification__data{column-gap:.75rem}}.qualification__ide{margin-top:1.5rem}.contact{--input-bg: var(--glass-bg);--input-border: var(--card-border);--input-border-hover: var(--text-color);--input-placeholder: var(--text-color);--danger: #DC2626;--success: #059669;--success-solid: #10B981;--danger-solid: #EF4444}body.dark-theme .contact{--input-border: rgba(255, 255, 255, .14);--danger: #F87171;--success: #34D399}.contact__container{grid-template-columns:repeat(2,1fr);column-gap:4rem;align-items:stretch}.contact__col{display:flex;flex-direction:column;min-width:0}.contact__info{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:minmax(9.5rem,auto);gap:1rem;flex:1}.contact__card{position:relative;overflow:hidden;min-width:0;display:flex;flex-direction:column;justify-content:flex-start;gap:.4rem;padding:1.5rem 1.25rem;text-align:left;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:0;transition:border-color var(--t-fast),background var(--t-fast)}.contact__card:hover{border-color:var(--text-color);background:var(--glass-bg-strong)}.contact__card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.contact__card:nth-child(1){grid-column:1;grid-row:1 / 3;justify-content:flex-end}.contact__card:nth-child(2){grid-column:2;grid-row:1}.contact__card:nth-child(3){grid-column:2;grid-row:2}.contact__card:nth-child(4){grid-column:1 / 3;grid-row:3}.contact__glyph{position:absolute;right:-1rem;top:-.6rem;line-height:1;font-size:clamp(6rem,10vw,8.5rem);color:var(--title-color);opacity:.16;pointer-events:none;-webkit-mask-image:linear-gradient(225deg,#000 35%,transparent 95%);mask-image:linear-gradient(225deg,#000 35%,transparent 95%)}.contact__card:nth-child(1) .contact__glyph{font-size:clamp(9rem,15vw,13rem);right:-1.5rem;top:-1rem}.contact__card-title{position:relative;font-family:var(--heading-font);font-size:var(--h3-font-size);font-weight:var(--font-medium);letter-spacing:-.01em;color:var(--title-color)}.contact__card-data{position:relative;display:block;max-width:100%;font-size:var(--small-font-size);color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.contact__button{position:relative;display:inline-flex;align-items:center;gap:.3rem;margin-top:.6rem;font-family:var(--mono-font);font-size:var(--smaller-font-size);letter-spacing:.08em;text-transform:uppercase;color:var(--title-color)}.contact__form{display:flex;flex-direction:column;flex:1;width:100%}.contact__field{display:flex;flex-direction:column}.contact__field-grow{display:flex;flex-direction:column;flex:1}.contact__field-grow .contact__field{flex:1}.contact__label{margin-bottom:.45rem;font-size:var(--small-font-size);font-weight:var(--font-semi-bold);color:var(--title-color);line-height:1.2}.contact__input{width:100%;padding:.85rem 1rem;border:1.5px solid var(--input-border);border-radius:0;background:var(--input-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));color:var(--title-color);font-family:var(--body-font);font-size:var(--normal-font-size);line-height:1.5;outline:none;transition:border-color var(--t-fast),box-shadow var(--t-fast),background-color var(--t-fast)}.contact__input::placeholder{color:var(--input-placeholder);opacity:1}.contact__input:hover{border-color:var(--input-border-hover)}.contact__input:focus{border-color:var(--title-color);outline:none}.contact__input:-webkit-autofill,.contact__input:-webkit-autofill:hover,.contact__input:-webkit-autofill:focus{-webkit-text-fill-color:var(--title-color);-webkit-box-shadow:0 0 0 1000px var(--container-color) inset;caret-color:var(--title-color)}.contact__textarea{flex:1;min-height:9rem;resize:none}.contact__field--invalid .contact__input{border-color:var(--danger)}.contact__error{min-height:1.85rem;padding-top:.35rem;padding-bottom:.5rem;font-size:var(--smaller-font-size);line-height:1.2;color:var(--danger)}.contact__actions{display:flex;flex-direction:column;align-items:flex-start;margin-top:.35rem}.contact__submit{min-width:15.5rem;justify-content:center;overflow:hidden;transition:background-color .35s ease,border-color .35s ease,color .35s ease,box-shadow .35s ease}.contact__submit:disabled{cursor:default}.contact__submit-content{display:inline-flex;align-items:center;gap:.55rem;animation:submitIn .35s cubic-bezier(.2,.8,.2,1) both}.contact__submit-icon{font-size:1.1rem;line-height:1}.contact__submit[data-state=sending],.contact__submit[data-state=sending]:hover{background-color:var(--accent);border-color:var(--accent);color:var(--on-accent)}.contact__submit[data-state=sending] .contact__submit-icon{animation:submitSpin .9s linear infinite}.contact__submit[data-state=success],.contact__submit[data-state=success]:hover{background-color:var(--success-solid);border-color:var(--success-solid);color:var(--on-accent)}.contact__submit[data-state=success] .contact__submit-icon{animation:submitPop .5s cubic-bezier(.34,1.56,.64,1) both}.contact__submit[data-state=error],.contact__submit[data-state=error]:hover{background-color:var(--danger-solid);border-color:var(--danger-solid);color:var(--on-accent);animation:submitShake .45s cubic-bezier(.36,.07,.19,.97) both}.contact__note{min-height:1.4rem;margin-top:.65rem;font-size:var(--smaller-font-size);line-height:1.4;opacity:0;transition:opacity .3s ease}.contact__note[data-state=success]{opacity:1;color:var(--success)}.contact__note[data-state=error]{opacity:1;color:var(--danger)}@keyframes submitIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes submitSpin{to{transform:rotate(360deg)}}@keyframes submitPop{0%{transform:scale(.3)}to{transform:scale(1)}}@keyframes submitShake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}@media(prefers-reduced-motion:reduce){.contact__submit-content,.contact__submit[data-state] .contact__submit-icon,.contact__submit[data-state=error]{animation:none}}@media screen and (max-width:992px){.contact__container{column-gap:2.5rem}}@media screen and (max-width:768px){.contact__container{grid-template-columns:1fr;row-gap:2.5rem}.contact__textarea{min-height:10rem}}@media screen and (max-width:576px){.contact__info{gap:.75rem;grid-auto-rows:minmax(8.5rem,auto)}.contact__card{padding:1.1rem .9rem}.contact__card-data{font-size:var(--smaller-font-size)}.contact__actions{align-items:stretch}.contact__submit{width:100%;min-width:0}}@media screen and (max-width:420px){.contact__info{grid-template-columns:1fr}.contact__card:nth-child(n){grid-column:1;grid-row:auto;justify-content:flex-start}}
