:root{--bg:#050816;--bg-soft:#0a1030;--blue:#3b6cff;--cyan:#38d6ff;--coral:#ff7a85;--purple:#8b5cf6;--text:#eef2ff;--text-dim:#dee6ffad;--font-display:"Sora", "Segoe UI", system-ui, sans-serif;--font-body:"Inter", "Segoe UI", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6;overflow-x:hidden}img,svg{max-width:100%;display:block}a{color:inherit}:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}@font-face{font-family:FA7 Brands;src:url(/fonts/fa7-brands.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:FA7 Free;src:url(/fonts/fa7-free-regular.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:FA7 Free;src:url(/fonts/fa7-free-solid.otf)format("opentype");font-weight:900;font-style:normal;font-display:swap}.tech-icon--fa{justify-content:center;align-items:center;width:auto;height:auto;font-size:1.5rem;font-style:normal;line-height:1;display:inline-flex}.btn{border:1px solid #0000;border-radius:999px;align-items:center;gap:.6rem;padding:.85rem 1.45rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:transform .25s,border-color .25s,box-shadow .25s,background-color .25s;display:inline-flex}.btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.1em;height:1.1em;transition:transform .25s}.btn--primary{background:linear-gradient(135deg, var(--blue), #6a5cff);color:#fff;box-shadow:0 12px 32px -12px #3b6cffd9}.btn--primary:hover{transform:translateY(-2px);box-shadow:0 16px 36px -12px #3b6cfff2}.btn--primary:hover svg{transform:translate(3px)}.btn--ghost{color:var(--text);background:#ffffff0a;border-color:#a0b9ff47}.btn--ghost:hover{border-color:var(--cyan);background:#38d6ff12;transform:translateY(-2px)}.plist-toggle{justify-content:center;display:flex}.plist-toggle .btn{justify-content:center;min-width:11rem}.badge{border:1px solid color-mix(in srgb, var(--c) 36%, transparent);box-shadow:0 0 18px -8px color-mix(in srgb, var(--c) 60%, transparent);color:var(--text);background:#ffffff0a;border-radius:999px;align-items:center;gap:.45rem;padding:.32rem .8rem;font-size:.78rem;font-weight:500;transition:transform .3s,border-color .3s,box-shadow .3s;display:inline-flex}.badge__dot{background:var(--c);width:6px;height:6px;box-shadow:0 0 8px var(--c);border-radius:50%}.badge__icon{width:1.05rem;height:1.05rem;color:var(--c);justify-content:center;align-items:center;display:inline-flex}.badge__icon .tech-icon{width:100%;height:100%}.badge__icon .tech-icon--fa{width:auto;height:auto;font-size:.95rem}.badge__role{color:var(--text-dim);font-weight:400}.badge__role:before{content:"· "}.particles{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.particle{background:#a9c6ff;border-radius:50%;animation:ease-in-out infinite particle-drift;position:absolute}.particle--warm{background:#ffb3ba}@keyframes particle-drift{0%,to{transform:translateY(0)}50%{transform:translateY(-26px)}}.nav{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(#050816d9,#05081600);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem clamp(1.25rem,5vw,4rem);display:flex;position:fixed;inset:0 0 auto;-webkit-mask-image:linear-gradient(#000 70%,#0000);mask-image:linear-gradient(#000 70%,#0000)}.nav__brand{font-family:var(--font-display);color:var(--text);align-items:center;gap:.7rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.nav__mark{letter-spacing:.02em;background:linear-gradient(135deg,#3b6cff59,#8b5cf640);border:1px solid #a0b9ff47;border-radius:50%;place-items:center;width:2.2rem;height:2.2rem;font-size:.78rem;display:grid}.nav__links{background:#0a10308c;border:1px solid #a0b9ff2e;border-radius:999px;gap:.3rem;margin:0;padding:.25rem;list-style:none;display:flex}.nav__link{color:var(--text-dim);border-radius:999px;padding:.45rem 1rem;font-size:.88rem;font-weight:500;text-decoration:none;transition:color .25s,background-color .25s;display:block}.nav__link:hover{color:var(--text)}.nav__link.is-active{color:#fff;background:linear-gradient(135deg,#3b6cff66,#8b5cf64d)}.nav__tools{align-items:center;gap:.45rem;display:flex}.nav__lang{color:var(--text-dim);font-family:var(--font-body);letter-spacing:.06em;cursor:pointer;background:#0a10308c;border:1px solid #a0b9ff2e;border-radius:999px;padding:.42rem .85rem;font-size:.8rem;font-weight:600;transition:color .25s,border-color .25s,background-color .25s}.nav__lang:hover{border-color:var(--cyan);color:var(--text)}.nav__toggle{width:2.4rem;height:2.4rem;color:var(--text);cursor:pointer;background:#0a10308c;border:1px solid #a0b9ff47;border-radius:50%;place-items:center;padding:0;transition:border-color .25s,background-color .25s;display:none}.nav__toggle:hover{border-color:var(--cyan)}.nav__toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.15rem;height:1.15rem}.nav__menu{display:none}.reveal{opacity:0;transition:opacity .9s,transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--delay,0s);transform:translateY(26px)}.reveal.is-visible{opacity:1;transform:none}@media (width<=520px){.nav__brand span:last-child{display:none}.nav{gap:.5rem;padding-inline:1rem}.nav__links{gap:.1rem}.nav__link{padding:.4rem .6rem;font-size:.8rem}}@media (width<=760px){.nav>nav{display:none}.nav__toggle{display:grid}.nav__menu.is-open{z-index:55;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a1030f0;border:1px solid #a0b9ff2e;border-radius:1.1rem;padding:.45rem;display:block;position:fixed;top:4.4rem;left:1rem;right:1rem;box-shadow:0 24px 48px -24px #000000d9}.nav__menu-links{gap:.2rem;margin:0;padding:.15rem;list-style:none;display:grid}.nav__menu-links .nav__link{padding:.75rem .95rem;font-size:.95rem}}@media (prefers-reduced-motion:reduce){.particle{animation:none}.reveal{opacity:1;transition:none;transform:none}}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f7ff;--bg-soft:#e9eefc;--blue:#2f5cff;--cyan:#0a6f9e;--coral:#e0455c;--purple:#6d43e8;--text:#0a1024;--text-dim:#0e1634ad;--line:#263e9629;--line-strong:#263e9647;--surface:#ffffffc7;--surface-soft:#f4f7ffe6}html{--line:#a0b9ff29;--line-strong:#a0b9ff47;--surface:#ffffff0a;--surface-soft:#080c24b3}html[data-theme=light] .hero__title span:last-child,html[data-theme=light] .ph__title,html[data-theme=light] .skills__title,html[data-theme=light] .pg__title,html[data-theme=light] .nf404__code{background:linear-gradient(100deg,#0a1024 15%,#2f5cff 58%,#e0455c 100%);color:#0000;-webkit-background-clip:text;background-clip:text}html[data-theme=light] .btn--ghost{background:#ffffffb3;border-color:#263e9647}html[data-theme=light] .btn--ghost:hover{border-color:var(--cyan);background:#0a6f9e14}html[data-theme=light] .badge{border-color:color-mix(in srgb, var(--c) 55%, transparent);background:#ffffffb8}html[data-theme=light] .cv__menu{background:#fffffff5;border-color:#263e9638;box-shadow:0 26px 52px -26px #0a102473}html[data-theme=light] a.cv__item:hover,html[data-theme=light] a.cv__item:focus-visible{background:#0a6f9e1a}html[data-theme=light] .cv-modal{background:#141c3c80}html[data-theme=light] .cv-modal__box{background:#fffffffa;border-color:#263e9638;box-shadow:0 40px 90px -40px #0a102480}html[data-theme=light] .cv-modal__body{background:#f4f7ffe6}html[data-theme=light] .cv-modal__close{background:#ffffffb3;border-color:#263e9642}html[data-theme=light] .particle{background:#4d78e6}html[data-theme=light] .particle--warm{background:#e0455c}html[data-theme=light] .nav{background:linear-gradient(#f4f7ffe6,#f4f7ff00)}html[data-theme=light] .nav__mark{background:linear-gradient(135deg,#2f5cff3d,#6d43e82e);border-color:#263e9652}html[data-theme=light] .nav__links{background:#ffffffb8;border-color:#263e9633;box-shadow:0 10px 30px -22px #0a1024b3}html[data-theme=light] .nav__lang,html[data-theme=light] .nav__toggle{background:#ffffffb8;border-color:#263e963d}html[data-theme=light] .nav__menu.is-open{background:#fffffff2;border-color:#263e9633;box-shadow:0 24px 48px -26px #0a102499}html[data-theme=light] .ph__ring,html[data-theme=light] .ph__ring--outer,html[data-theme=light] .orbit-ring__line{border-color:#263e9638}html[data-theme=light] .orbit-ring--2 .orbit-ring__line{border-color:#263e962e}html[data-theme=light] .orbit-ring--3 .orbit-ring__line{border-color:#263e9624}html[data-theme=light] .tech-node__label{color:#0e1634b8}html[data-theme=light] .tech-node__tip{background:#fffffff7;border-color:#263e964d;box-shadow:0 14px 30px -14px #0a102466}html[data-theme=light] .tech-node__tip strong{color:var(--text)}html[data-theme=light] .tech-strip li{border-color:color-mix(in srgb, var(--c) 50%, transparent);background:#ffffffb3}html[data-theme=light] .feat__panel{background:radial-gradient(60% 80% at 85%,#2f5cff1a,#0000 70%),radial-gradient(40% 60% at 5% 100%,#e0455c14,#0000 70%),linear-gradient(160deg,#ffffffeb,#f0f4fff0);border-color:#263e962e;box-shadow:0 30px 70px -40px #0a102480}html[data-theme=light] .feat__panel:hover{border-color:#2f5cff66;box-shadow:0 36px 80px -40px #0a102480,0 0 60px -24px #2f5cff73}html[data-theme=light] .stack__item{border-color:color-mix(in srgb, var(--c,var(--cyan)) 48%, transparent);background:#ffffffb8}html[data-theme=light] .stack__icon{color:color-mix(in srgb, var(--c,var(--cyan)) 72%, #0a1024)}html[data-theme=light] .pcard{background:linear-gradient(160deg,#ffffffe6,#f0f4fff0);border-color:#263e9629}html[data-theme=light] .pcard.is-visible:hover{border-color:#2f5cff66;box-shadow:0 0 50px -26px #2f5cff99}html[data-theme=light] .pcard__visual{background:radial-gradient(60% 70%,#2f5cff24,#0000 75%)}html[data-theme=light] .pcard__shot{background:radial-gradient(70% 70% at 50% 0,#2f5cff1f,#0000 70%),linear-gradient(160deg,#ffffffe6,#f0f4fff0);border-color:#263e962e;box-shadow:0 24px 60px -34px #0a102480}html[data-theme=light] .pv__caption{color:#0e16348c}html[data-theme=light] .sgroup,html[data-theme=light] .sgroup:last-child{border-color:#263e9629}html[data-theme=light] .skill{background:radial-gradient(90% 140% at 0% 0%, color-mix(in srgb, var(--c) 12%, transparent), transparent 65%), linear-gradient(160deg, #ffffffeb, #f0f4fff5);border-color:#263e9629}html[data-theme=light] .skill:hover{box-shadow:0 14px 34px -18px color-mix(in srgb, var(--c) 65%, transparent)}html[data-theme=light] .skill__icon{background:color-mix(in srgb, var(--c) 16%, #ffffffe6);color:color-mix(in srgb, var(--c) 72%, #0a1024)}.theme-toggle{z-index:60;border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:3rem;height:3rem;color:var(--text);cursor:pointer;background:radial-gradient(circle at 30% 25%,#ffffff29,#0000 62%),#0a1030d9;border-radius:50%;place-items:center;padding:0;transition:transform .25s,border-color .25s,box-shadow .25s;display:grid;position:fixed;bottom:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem);box-shadow:0 16px 34px -18px #000000d9}html[data-theme=light] .theme-toggle{background:radial-gradient(circle at 30% 25%,#ffffffe6,#0000 62%),#ffffffeb;box-shadow:0 16px 34px -20px #0a102499}.theme-toggle:hover{border-color:var(--cyan);box-shadow:0 18px 36px -18px #000000d9, 0 0 34px -14px var(--blue);transform:translateY(-2px)}.theme-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.15rem;height:1.15rem}@media (width<=520px){.theme-toggle{width:2.7rem;height:2.7rem}}@media (prefers-reduced-motion:reduce){.theme-toggle{transition:none}}.cv{display:inline-flex;position:relative}.cv__menu{z-index:70;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#080c24f5;border:1px solid #a0b9ff3d;border-radius:.95rem;gap:.2rem;min-width:12rem;padding:.4rem;animation:.16s ease-out cv-menu-in;display:grid;position:fixed;box-shadow:0 26px 52px -26px #000000d9}@keyframes cv-menu-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.cv__item{font-family:var(--font-body);color:var(--text);cursor:pointer;border-radius:.7rem;justify-content:space-between;align-items:center;gap:.9rem;padding:.6rem .85rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:background-color .2s,color .2s;display:flex}a.cv__item:hover,a.cv__item:focus-visible{background:#38d6ff1f;outline:none}.cv__icon{fill:none;width:1rem;height:1rem;stroke:var(--cyan);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none}.cv__item.is-disabled{color:var(--text-dim);cursor:not-allowed;opacity:.65}.cv__note{color:var(--text-dim);font-size:.72rem}.cv-modal{z-index:90;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#040714b8;place-items:center;padding:clamp(.75rem,3vw,2rem);animation:.18s ease-out cv-modal-in;display:grid;position:fixed;inset:0}.cv-modal__box{background:#080c24fa;border:1px solid #a0b9ff38;border-radius:1.1rem;flex-direction:column;width:min(100%,960px);height:min(88vh,860px);animation:.2s ease-out cv-modal-in;display:flex;overflow:hidden;box-shadow:0 40px 90px -40px #000000e6}@keyframes cv-modal-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:none}}.cv-modal__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.1rem;display:flex}.cv-modal__titles{gap:.1rem;min-width:0;display:grid}.cv-modal__title{font-family:var(--font-display);color:var(--text);margin:0;font-size:1.05rem;font-weight:600}.cv-modal__sub{color:var(--text-dim);margin:0;font-size:.78rem}.cv-modal__actions{flex:none;align-items:center;gap:.5rem;display:flex}.cv-modal__btn{padding:.6rem 1.05rem;font-size:.88rem}.cv-modal__btn svg{width:1.05em;height:1.05em}.cv-modal__close{width:2.3rem;height:2.3rem;color:var(--text);cursor:pointer;background:#ffffff0a;border:1px solid #a0b9ff47;border-radius:50%;place-items:center;padding:0;transition:border-color .25s,background-color .25s;display:grid}.cv-modal__close:hover{border-color:var(--cyan);background:#38d6ff14}.cv-modal__close svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:1.05rem;height:1.05rem}.cv-modal__body{background:#04071473;flex:1;min-height:0;position:relative}.cv-modal__frame{background:#fff;border:0;width:100%;height:100%}.cv-modal__note{color:var(--text-dim);place-items:center;margin:0;font-size:.92rem;display:grid;position:absolute;inset:0}.cv-modal__error{text-align:center;align-content:center;justify-items:center;gap:.75rem;padding:2rem;display:grid;position:absolute;inset:0}.cv-modal__error-title{font-family:var(--font-display);color:var(--text);margin:0;font-size:1.1rem;font-weight:600}.cv-modal__error-text{max-width:46ch;color:var(--text-dim);margin:0;font-size:.92rem}.cv-modal__error-code{letter-spacing:.04em;color:var(--text-dim);opacity:.75;margin:0;font-size:.78rem}@media (width<=520px){.cv-modal__head{flex-wrap:wrap}.cv-modal__btn{padding:.55rem .9rem}.about__cta .cv{width:100%}}@media (prefers-reduced-motion:reduce){.cv__menu,.cv-modal,.cv-modal__box{animation:none}}.pg{isolation:isolate;background:var(--bg);min-height:100svh;padding:clamp(6rem,11vw,8rem) clamp(1.25rem,5vw,4rem) clamp(5rem,8vw,6rem);position:relative;overflow:hidden}.pg--center{text-align:center;place-items:center;display:grid}.pg__ambient{z-index:-1;pointer-events:none;background:radial-gradient(50% 40% at 18% 6%,#3b6cff24,#0000 70%),radial-gradient(44% 40% at 88% 34%,#8b5cf621,#0000 70%),radial-gradient(42% 38% at 10% 82%,#ff7a8512,#0000 70%);position:absolute;inset:0}.pg__inner{gap:clamp(2.5rem,6vw,5rem);width:100%;max-width:1320px;margin:0 auto;display:grid}.pg__eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);margin:0 0 .9rem;font-size:.74rem;font-weight:600}.pg__title{font-family:var(--font-display);letter-spacing:-.035em;background:linear-gradient(100deg,#fff 20%,#bcd2ff 62%,#ffb8be 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(3rem,8vw,6.5rem);font-weight:700;line-height:1}.pg__lead{max-width:46rem;font-family:var(--font-display);color:var(--text-dim);align-items:center;gap:.8rem;margin:1.2rem 0 0;font-size:clamp(1.05rem,1.7vw,1.35rem);font-weight:500;display:flex}.pg__lead:before{content:"";background:linear-gradient(90deg, var(--cyan), var(--blue));border-radius:2px;flex:none;width:2rem;height:2px}.pg__actions{flex-wrap:wrap;gap:.8rem;margin-top:1.8rem;display:flex}.pg__section{border-top:1px solid var(--line);gap:clamp(1.1rem,2.5vw,1.6rem);padding-top:clamp(1.75rem,3.5vw,2.75rem);display:grid}.pg__section-title{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(1.4rem,2.6vw,2rem);font-weight:600;line-height:1.15}.pg__text{max-width:68ch;color:var(--text-dim);margin:0 0 1rem}.pg__text:last-child{margin-bottom:0}.pg__text strong{color:var(--text);font-weight:600}.pg__split{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;gap:clamp(1.5rem,4vw,3.5rem);display:grid}.pg__cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1.25rem;display:grid}.pg-card{border:1px solid var(--line);background:linear-gradient(160deg,#0e163e99,#080c24b3);border-radius:24px;align-content:start;gap:.55rem;padding:1.4rem;transition:transform .4s cubic-bezier(.2,.7,.2,1),border-color .4s,box-shadow .4s;display:grid}.pg-card:hover{border-color:#78a0ff66;transform:translateY(-4px);box-shadow:0 0 50px -22px #3b6cff99}html[data-theme=light] .pg-card{background:linear-gradient(160deg,#ffffffe6,#f0f4fff0)}html[data-theme=light] .pg-card:hover{border-color:#2f5cff66}.pg-card__num{font-family:var(--font-display);letter-spacing:.16em;color:var(--cyan);font-size:.8rem;font-weight:600}.pg-card__title{font-family:var(--font-display);margin:0;font-size:1.12rem;font-weight:600}.pg-card__text{color:var(--text-dim);margin:0;font-size:.95rem}.pg__list{gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.pg__list li{color:var(--text-dim);padding-left:1.65rem;position:relative}.pg__list li:before{content:"";background:linear-gradient(135deg, var(--cyan), var(--blue));width:.55rem;height:.55rem;box-shadow:0 0 10px -2px var(--cyan);border-radius:50%;position:absolute;top:.62em;left:0}.pg__list strong{color:var(--text);font-weight:600}.pg__facts{border:1px solid var(--line);background:linear-gradient(160deg,#0e163e99,#080c24b3);border-radius:24px;gap:1rem;margin:0;padding:clamp(1.25rem,3vw,1.75rem);display:grid}html[data-theme=light] .pg__facts{background:linear-gradient(160deg,#ffffffe6,#f0f4fff0)}.pg__facts div{gap:.15rem;display:grid}.pg__facts dt{letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);font-size:.72rem;font-weight:600}.pg__facts dd{font-family:var(--font-display);color:var(--text);margin:0;font-size:1rem;font-weight:500}.pg__note{border:1px solid color-mix(in srgb, var(--cyan) 30%, transparent);background:color-mix(in srgb, var(--cyan) 7%, transparent);color:var(--text-dim);border-radius:16px;padding:.95rem 1.15rem;font-size:.9rem}.pg__note strong{color:var(--text);font-weight:600}@media (width<=960px){.pg__split{grid-template-columns:minmax(0,1fr)}.pg__lead{max-width:none}}@media (width<=520px){.pg__actions .btn{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.pg-card{transition:none}.pg-card:hover{transform:none}}.about__header{display:grid}.about__copy{max-width:68ch}.about__interests{border-top:1px solid var(--line);margin-top:1.6rem;padding-top:1.4rem}.about__stack{flex-wrap:wrap;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.about__chip{border:1px solid var(--line);font-family:var(--font-display);color:var(--text-dim);background:linear-gradient(160deg,#0e163e8c,#080c24a6);border-radius:999px;align-items:center;gap:.5rem;padding:.5rem .95rem;font-size:.88rem;font-weight:500;transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .35s,color .35s,box-shadow .35s;display:inline-flex}.about__chip:hover{border-color:color-mix(in srgb, var(--c,var(--cyan)) 55%, transparent);color:var(--text);box-shadow:0 0 34px -18px var(--c,var(--cyan));transform:translateY(-3px)}.about__chip-icon{width:1.05rem;height:1.05rem;color:var(--c,var(--cyan));place-items:center;display:grid}.about__chip .tech-icon{width:100%;height:100%}html[data-theme=light] .about__chip{background:linear-gradient(160deg,#ffffffe6,#f0f4fff0)}.about__cta{border-top:1px solid var(--line);flex-wrap:wrap;gap:.8rem;padding-top:clamp(1.75rem,3.5vw,2.75rem);display:flex}@media (width<=520px){.about__cta .btn{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.about__chip{transition:none}.about__chip:hover{transform:none}}.cert-section{padding:clamp(5rem,8vw,7rem) 0 0;position:relative}.cert-section__wrap{gap:clamp(2rem,5vw,3rem);display:grid}.cert-section__header{gap:.75rem;display:grid}.certs{position:relative}.certs__inner{gap:clamp(2.5rem,6vw,4rem);display:grid}.certs__header{gap:1rem;display:grid}.cert-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:1.5rem;display:grid}.cert-card{border:1px solid var(--line);background:linear-gradient(160deg,#0e163eb3,#080c24d1);border-radius:28px;transition:transform .4s cubic-bezier(.2,.7,.2,1),border-color .4s,box-shadow .4s;display:grid;overflow:hidden;box-shadow:0 26px 70px -40px #000000c7}.cert-card:hover{border-color:#78a0ff6b;transform:translateY(-4px);box-shadow:0 0 50px -22px #3b6cff99}html[data-theme=light] .cert-card{background:linear-gradient(160deg,#ffffffe6,#f0f4fff0)}.cert-card__media{aspect-ratio:16/10;border-bottom:1px solid var(--line);background:radial-gradient(50% 70%,#3b6cff2e,#0000 70%),linear-gradient(135deg,#38d6ff14,#8b5cf614);position:relative;overflow:hidden}.cert-card__media img{object-fit:cover;width:100%;height:100%}.cert-card__body{gap:1rem;padding:1.3rem 1.2rem 1.4rem;display:grid}.cert-card__eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin:0;font-size:.74rem;font-weight:600}.cert-card__title{font-family:var(--font-display);margin:0;font-size:clamp(1.2rem,2vw,1.55rem);font-weight:600;line-height:1.2}.cert-card__meta{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:.45rem .8rem;margin:0;font-size:.82rem;display:flex}.cert-card__meta span{text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}.cert-card__meta strong{color:var(--text);font-weight:600}.cert-card__text{color:var(--text-dim);margin:0}.cert-card__actions{flex-wrap:wrap;gap:.8rem;padding-top:.4rem;display:flex}.cert-empty{display:grid}.cert-empty__box{border:1px solid var(--line);background:linear-gradient(160deg,#0e163eb3,#080c24d1);border-radius:28px;gap:1rem;padding:clamp(1.5rem,4vw,2.5rem);display:grid}html[data-theme=light] .cert-empty__box{background:linear-gradient(160deg,#ffffffe6,#f0f4fff0)}.cert-empty__title{font-family:var(--font-display);margin:0;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.1}.cert-empty__text{max-width:44rem;color:var(--text-dim);margin:0}.cert-viewer{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#030612b8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.cert-viewer__panel{border:1px solid var(--line-strong);background:#080c24f5;border-radius:26px;gap:1rem;width:min(100%,920px);max-height:min(90vh,860px);padding:1.1rem;display:grid;box-shadow:0 28px 80px -26px #000000e6}html[data-theme=light] .cert-viewer__panel{background:#fffffff5}.cert-viewer__header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.cert-viewer__eyebrow{color:var(--cyan);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .35rem;font-size:.72rem;font-weight:600}.cert-viewer__title{font-family:var(--font-display);margin:0;font-size:clamp(1.3rem,2.5vw,2rem);line-height:1.2}.cert-viewer__close{border:1px solid var(--line-strong);width:2.5rem;height:2.5rem;color:var(--text);cursor:pointer;background:#ffffff0a;border-radius:50%;place-items:center;font-size:1.7rem;line-height:1;display:grid}.cert-viewer__image{border:1px solid var(--line);object-fit:contain;background:#ffffff05;border-radius:18px;width:100%;max-height:70vh}.cert-viewer__issuer{color:var(--text-dim);margin:0}@media (width<=720px){.certs__header{gap:.6rem}.cert-card__body{padding:1.05rem 1rem 1.1rem}.cert-card__actions{grid-template-columns:1fr;display:grid}.cert-viewer__header{align-items:center}}@media (prefers-reduced-motion:reduce){.cert-card,.cert-card__media img,.btn,.cert-viewer{transition:none}}.phone{aspect-ratio:1/2.05;perspective:700px;position:relative;container-type:inline-size}.phone--far{opacity:.55}.phone__body{width:100%;height:100%;transform-style:preserve-3d;animation:phone-float var(--float-duration,10s) ease-in-out var(--float-delay,0s) infinite;will-change:transform;background:linear-gradient(160deg,#18235a,#0a1030);border:1px solid #a0b9ff4d;border-radius:22%/11%;position:relative;box-shadow:0 18px 40px -12px #000000bf,0 0 30px -6px #3b6cff59,inset 0 0 0 2px #050816e6}.phone__notch{z-index:2;background:#02040e;border-radius:999px;width:30%;height:2.4%;position:absolute;top:3.4%;left:50%;translate:-50%}.phone__screen{background:linear-gradient(#101b4d,#0b1237);border-radius:16%/8%;position:absolute;inset:5.5% 6% 5%;overflow:hidden}.ui{align-content:start;gap:6cqw;padding:26cqw 7cqw 7cqw;display:grid}.ui__head{align-items:center;gap:5cqw;display:flex}.ui__avatar{background:linear-gradient(135deg, var(--coral), var(--purple));border-radius:50%;flex:none;width:15cqw;height:15cqw}.ui__bar{background:#ffffff29;border-radius:8cqw;flex:1;height:5.8cqw}.ui__bar--short{flex:none;width:55%}.ui__hero{background:linear-gradient(135deg, var(--blue), var(--purple));opacity:.9;border-radius:8cqw;height:36cqw}.ui__row{background:#ffffff1a;border-radius:8cqw;height:8cqw;display:block}.ui__row--short{width:62%}.ui__stat{background:linear-gradient(135deg, var(--cyan), var(--blue));opacity:.85;border-radius:8cqw;height:20cqw}.ui__tiles{grid-template-columns:1fr 1fr;gap:5cqw;display:grid}.ui__tiles i{background:linear-gradient(135deg, var(--blue), var(--purple));opacity:.85;border-radius:7cqw;height:22cqw}.ui__tiles i:last-child{background:linear-gradient(135deg, var(--cyan), var(--blue))}.ui__bars{align-items:flex-end;gap:5cqw;height:40cqw;display:flex}.ui__bars i{height:var(--h);background:linear-gradient(180deg, var(--coral), var(--purple));border-radius:3.3cqw;flex:1}.ui__map{background:linear-gradient(#ffffff12 1px,#0000 1px) 0 0/12.5cqw 12.5cqw,linear-gradient(90deg,#ffffff12 1px,#0000 1px) 0 0/12.5cqw 12.5cqw,linear-gradient(135deg,#14246b,#0c1540);border-radius:8cqw;height:63cqw;position:relative}.ui__pin{background:var(--coral);width:13cqw;height:13cqw;box-shadow:0 0 12cqw var(--coral);border-radius:50%;position:absolute;top:46%;left:50%;translate:-50% -50%}@keyframes phone-float{0%,to{transform:rotateX(var(--rx,6deg)) rotateY(var(--ry,-16deg)) rotateZ(var(--rz,0deg)) translateY(-3%)}50%{transform:rotateX(var(--rx,6deg)) rotateY(var(--ry,-16deg)) rotateZ(calc(var(--rz,0deg) + 2deg)) translateY(3%)}}@media (prefers-reduced-motion:reduce){.phone__body{transform:rotateX(var(--rx,6deg)) rotateY(var(--ry,-16deg)) rotateZ(var(--rz,0deg));animation:none}}.hero{isolation:isolate;background:var(--bg);align-items:center;min-height:100svh;padding:clamp(5.5rem,8vw,6.5rem) clamp(1.25rem,5vw,4rem) clamp(2rem,5vw,4rem);display:flex;position:relative;overflow:hidden}.hero__ambient{z-index:-1;pointer-events:none;background:radial-gradient(60% 60% at 76% 46%,#3b6cff33,#0000 70%),radial-gradient(40% 46% at 56% 64%,#ff7a8517,#0000 70%),radial-gradient(50% 55% at 90% 8%,#8b5cf62b,#0000 70%),radial-gradient(40% 40% at 6% 92%,#38d6ff12,#0000 70%);position:absolute;inset:0}.hero__inner{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:clamp(1rem,3vw,3rem);width:100%;max-width:1320px;margin:0 auto;display:grid}.hero__title{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(2.6rem,5.4vw,4.9rem);font-weight:700;line-height:1.03}.hero__title span{display:block}.hero__title span:last-child{background:linear-gradient(100deg,#fff 15%,#bcd2ff 60%,#ffb8be 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.hero__role{font-family:var(--font-display);color:var(--cyan);align-items:center;gap:.8rem;margin:1.1rem 0 0;font-size:clamp(1.05rem,1.7vw,1.4rem);font-weight:500;display:flex}.hero__role:before{content:"";background:linear-gradient(90deg, var(--cyan), var(--blue));border-radius:2px;flex:none;width:2rem;height:2px}.hero__summary{max-width:34rem;color:var(--text-dim);margin:1.25rem 0 2rem;font-size:clamp(1rem,1.2vw,1.1rem)}.hero__actions{flex-wrap:wrap;gap:.8rem;display:flex}.hero__visual{min-width:0}.stage{--chip:clamp(34px, 6.8cqw, 54px);--pw:24cqw;aspect-ratio:1;width:min(100%,780px,100svh - 6rem);margin-inline:auto;position:relative;container-type:inline-size}.stage__glow{z-index:0;pointer-events:none;background:radial-gradient(38% 38% at 68%,#3b6cff4d,#0000 70%),radial-gradient(34% 34% at 32% 56%,#ff7a852b,#0000 70%),radial-gradient(46% 46% at 50% 38%,#8b5cf633,#0000 72%);position:absolute;inset:6%}.layer{pointer-events:none;transform:translate3d(calc(var(--mx,0) * var(--depth,0) * 1px), calc(var(--my,0) * var(--depth,0) * 1px), 0);position:absolute;inset:0}.layer--profile{--depth:-9;z-index:3}.layer--phones{--depth:15;z-index:2}.layer--orbit{--depth:5;z-index:4}.hp{width:var(--pw);aspect-ratio:1/2.05;perspective:1100px;position:absolute;top:50%;left:50%;translate:-50% -50%;container-type:inline-size}.hp__glow{pointer-events:none;background:radial-gradient(34% 34% at 68%,#3b6cff57,#0000 72%),radial-gradient(30% 30% at 32% 56%,#ff7a8533,#0000 72%),radial-gradient(closest-side,#8b5cf633,#0000 78%);position:absolute;inset:-34% -78%}.hp__tilt{width:100%;height:100%;transform-style:preserve-3d;will-change:transform;animation:9s ease-in-out infinite hp-float;position:relative}.hp__body{background:linear-gradient(145deg,#3a4a95,#10194a 38%,#2a3a85 62%,#0b1233);border-radius:16cqw;width:100%;height:100%;padding:2.6cqw;position:relative;box-shadow:0 0 0 1px #aac3ff61,0 40px 70px -24px #000000d9,-22px 0 60px -18px #ff7a8552,24px 0 64px -14px #3b6cff80}.hp__btn{background:linear-gradient(#5a6bb0,#26336f);border-radius:1cqw;width:1.4cqw;position:absolute}.hp__btn--l1{height:5%;top:20%;left:-.9cqw}.hp__btn--l2{height:9%;top:27%;left:-.9cqw}.hp__btn--r{height:14%;top:25%;right:-.9cqw}.hp__screen{background:#070b24;border-radius:13.4cqw;width:100%;height:100%;position:relative;overflow:hidden}.hp__photo{height:64%;position:absolute;inset:0 0 auto}.hp__photo:before{content:"";z-index:1;background:linear-gradient(#05081680,#0000);height:22%;position:absolute;inset:0 0 auto}.hp__photo img{object-fit:cover;object-position:60% 16%;width:100%;height:100%}.hp__fade{background:linear-gradient(#0000,#070b24b8 60%,#070b24 96%);height:48%;position:absolute;inset:auto 0 0}.hp__fallback{width:100%;height:100%;font-family:var(--font-display);color:var(--cyan);place-items:center;font-size:30cqw;font-weight:700;display:grid}.hp__status{z-index:3;color:#fff;justify-content:space-between;align-items:center;height:7cqw;font-size:4cqw;font-weight:600;display:flex;position:absolute;top:3.4cqw;left:8cqw;right:8cqw}.hp__island{background:#02040e;border-radius:999px;width:28cqw;height:7.4cqw;position:absolute;top:50%;left:50%;translate:-50% -50%}.hp__signal{align-items:flex-end;gap:.6cqw;display:flex}.hp__signal i{background:#fff;border-radius:.4cqw;width:1.1cqw}.hp__signal i:first-child{height:1.6cqw}.hp__signal i:nth-child(2){height:2.5cqw}.hp__signal i:nth-child(3){height:3.4cqw}.hp__ui{z-index:2;flex-direction:column;padding:0 8cqw 5cqw;display:flex;position:absolute;inset:auto 0 0}.hp__name{font-family:var(--font-display);letter-spacing:-.02em;color:#fff;margin:0;font-size:8.2cqw;font-weight:700;line-height:1.12}.hp__role{color:var(--cyan);margin:1.6cqw 0 0;font-size:4.9cqw;font-weight:500}.hp__chips{flex-wrap:wrap;gap:2cqw;margin-top:4.4cqw;display:flex}.hp__chips span{color:var(--text);background:#ffffff0f;border:1px solid #a0b9ff47;border-radius:999px;padding:1.3cqw 3cqw;font-size:4.1cqw}.hp__home{background:#ffffff80;border-radius:999px;width:34cqw;height:1.3cqw;margin:7cqw auto 0}.hp__glass{z-index:4;pointer-events:none;mix-blend-mode:screen;background:linear-gradient(115deg,#ffffff29 0%,#ffffff0a 22%,#0000 38% 72%,#ffffff12 100%);position:absolute;inset:0}.tech-orbit{position:absolute;inset:0}.orbit-ring{width:calc(var(--ratio) * 100cqw);aspect-ratio:1;animation:orbit-spin var(--duration) linear infinite;animation-direction:var(--dir);will-change:transform;position:absolute;top:50%;left:50%;translate:-50% -50%}.orbit-ring--1{--ratio:.6;--dot:var(--cyan);--da:60deg;--db:180deg}.orbit-ring--2{--ratio:.8;--dot:var(--coral);--da:0deg;--db:180deg}.orbit-ring--3{--ratio:.95;--dot:var(--purple);--da:90deg;--db:210deg}.orbit-ring__line{border:1px solid #82a5ff33;border-radius:50%;position:absolute;inset:0}.orbit-ring--2 .orbit-ring__line{border-style:dashed;border-color:#82a5ff29}.orbit-ring--3 .orbit-ring__line{border-color:#82a5ff1f}.orbit-ring__dot,.orbit-ring:after{content:"";aspect-ratio:1;background:var(--dot);width:max(5px,.9cqw);box-shadow:0 0 12px 2px color-mix(in srgb, var(--dot) 65%, transparent);transform:translate(-50%, -50%) rotate(var(--da)) translateY(calc(var(--ratio) * -50cqw));border-radius:50%;position:absolute;top:50%;left:50%}.orbit-ring:after{--da:var(--db);opacity:.55}.tech-node{width:0;height:0;transform:rotate(var(--angle)) translateY(calc(var(--ratio) * -50cqw)) rotate(calc(var(--angle) * -1));position:absolute;top:50%;left:50%}.tech-node__inner{width:0;height:0;animation:orbit-spin var(--duration) linear infinite;animation-direction:var(--dir-inverse);will-change:transform;position:absolute;top:0;left:0}.tech-node__chip{left:calc(var(--chip) / -2);top:calc(var(--chip) / -2);width:var(--chip);height:var(--chip);border:1px solid color-mix(in srgb, var(--c) 40%, transparent);box-shadow:0 0 calc(var(--chip) * .5) color-mix(in srgb, var(--c) 20%, transparent), inset 0 1px 0 #ffffff1f;color:var(--c);cursor:default;pointer-events:auto;background:radial-gradient(circle at 30% 25%,#ffffff29,#0000 62%),#0a1030d1;border-radius:50%;place-items:center;padding:0;transition:transform .25s,border-color .25s;display:grid;position:absolute}.tech-node__chip:hover,.tech-node__chip:focus-visible{border-color:var(--c);transform:scale(1.12)}.tech-icon{width:54%;height:54%}.tech-node__label{left:0;top:calc(var(--chip) / 2 + 5px);letter-spacing:.02em;white-space:nowrap;color:#dee6ffb8;pointer-events:none;font-size:clamp(.58rem,1.5cqw,.78rem);font-weight:500;position:absolute;translate:-50%}.tech-node__tip{left:0;bottom:calc(var(--chip) / 2 + 12px);text-align:center;width:max-content;max-width:190px;color:var(--text-dim);opacity:0;pointer-events:none;background:#080c24f0;border:1px solid #82a5ff47;border-radius:12px;padding:.55rem .8rem;font-size:.74rem;line-height:1.35;transition:opacity .2s,translate .2s;position:absolute;translate:-50% 6px;box-shadow:0 14px 30px -10px #000000b3}.tech-node__tip strong{color:#fff;margin-bottom:.15rem;font-size:.84rem;display:block}.tech-node__inner:hover .tech-node__tip,.tech-node__inner:focus-within .tech-node__tip{opacity:1;translate:-50%}:is(.stage:has(.tech-node__inner:hover) .orbit-ring,.stage:has(.tech-node__inner:hover) .tech-node__inner,.stage:has(.tech-node__inner:focus-within) .orbit-ring,.stage:has(.tech-node__inner:focus-within) .tech-node__inner){animation-play-state:paused}.mockups{position:absolute;inset:0}.mockups .hero-phone{left:calc(50% + var(--x) * 1cqw);top:calc(50% + var(--y) * 1cqw);width:calc(var(--w) * 1cqw);position:absolute;translate:-50% -50%}.tech-strip{flex-wrap:wrap;justify-content:center;gap:.5rem;margin:1.25rem 0 0;padding:0;list-style:none;display:none}.tech-strip li{border:1px solid color-mix(in srgb, var(--c) 35%, transparent);color:var(--text-dim);background:#ffffff0a;border-radius:999px;padding:.3rem .75rem;font-size:.75rem}@keyframes orbit-spin{to{transform:rotate(360deg)}}@keyframes hp-float{0%,to{transform:rotateY(-9deg)rotateX(4deg)rotate(1.5deg)translateY(-1.6%)}50%{transform:rotateY(-5deg)rotateX(2deg)rotate(-.5deg)translateY(1.6%)}}@media (width<=960px){.hero{min-height:auto;padding-top:5.5rem;padding-bottom:3rem}.hero__inner{grid-template-columns:minmax(0,1fr);gap:1.5rem}.hero__copy{text-align:center}.hero__role,.hero__actions{justify-content:center}.hero__summary{margin-inline:auto}.stage{width:min(100%,600px)}}@media (width<=640px){.stage{--chip:clamp(32px, 9.5cqw, 44px);--pw:27cqw}.orbit-ring--3{display:none}.orbit-ring--1{--ratio:.66}.orbit-ring--2{--ratio:.9}.tech-node__label,.tech-node__tip{display:none}.mockups .hero-phone{width:calc(var(--w) * 1.25cqw)}.hp__chips{display:none}.tech-strip{display:flex}}@media (prefers-reduced-motion:reduce){.orbit-ring,.tech-node__inner,.hp__tilt{animation:none}.layer{transform:none}}.contact__header{display:grid}.contact__body{align-items:start}.ct-card{border:1px solid var(--line);background:linear-gradient(160deg,#0e163e99,#080c24b3);border-radius:26px;gap:1.2rem;padding:clamp(1.35rem,3vw,2rem);display:grid}html[data-theme=light] .ct-card{background:linear-gradient(160deg,#ffffffe6,#f0f4fff0)}.ct-form{gap:1rem;display:grid}.ct-field{gap:.45rem;display:grid}.ct-field__label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);font-size:.72rem;font-weight:600}.ct-input{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);font-family:var(--font-body);border-radius:14px;padding:.85rem 1rem;font-size:.98rem;transition:border-color .25s,box-shadow .25s,background .25s}html[data-theme=light] .ct-input{background:#ffffffd9}.ct-input::placeholder{color:color-mix(in srgb, var(--text-dim) 72%, transparent)}.ct-input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px color-mix(in srgb, var(--cyan) 24%, transparent);outline:none}.ct-input--area{resize:vertical;min-height:9rem}.ct__submit{flex-wrap:wrap;align-items:center;gap:.9rem;margin-top:.15rem;display:flex}.ct__status{max-width:36ch;color:var(--text-dim);margin:0;font-size:.9rem}.ct-form button[disabled]{opacity:.65;cursor:progress}.ct__aside{gap:1rem;display:grid}.ct__channels{gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.ct-channel{border:1px solid var(--line);background:linear-gradient(160deg,#0e163e80,#080c2499);border-radius:18px;align-items:center;gap:.9rem;padding:.95rem 1.1rem;text-decoration:none;transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .35s;display:flex}html[data-theme=light] .ct-channel{background:linear-gradient(160deg,#ffffffe6,#f0f4fff0)}.ct-channel:hover{border-color:#78a0ff66;transform:translateY(-3px);box-shadow:0 0 44px -24px #3b6cffb3}.ct-channel__icon{background:color-mix(in srgb, var(--cyan) 14%, transparent);width:2.4rem;height:2.4rem;color:var(--cyan);border-radius:12px;flex:none;place-items:center;display:grid}.ct-channel__icon svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:1.15rem;height:1.15rem}.ct-channel__text{gap:.12rem;min-width:0;display:grid}.ct-channel__label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);font-size:.7rem;font-weight:600}.ct-channel__value{font-family:var(--font-display);color:var(--text);overflow-wrap:anywhere;font-size:.98rem;font-weight:500}@media (width<=520px){.ct__submit .btn{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.ct-channel{transition:none}.ct-channel:hover{transform:none}}.projects{isolation:isolate;background:var(--bg);min-height:100svh;padding:clamp(6rem,11vw,8rem) clamp(1.25rem,5vw,4rem) clamp(3rem,8vw,6rem);position:relative;overflow:hidden}.projects--center{text-align:center;place-items:center;display:grid}.projects__ambient{z-index:-1;pointer-events:none;background:radial-gradient(50% 40% at 82% 6%,#3b6cff26,#0000 70%),radial-gradient(40% 36% at 6% 38%,#ff7a8512,#0000 70%),radial-gradient(46% 40% at 92% 70%,#8b5cf61f,#0000 70%);position:absolute;inset:0}.projects__inner{gap:clamp(2.5rem,6vw,5rem);width:100%;max-width:1320px;margin:0 auto;display:grid}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);margin:0 0 .9rem;font-size:.74rem;font-weight:600}.ph{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:2rem;display:grid}.ph__title{font-family:var(--font-display);letter-spacing:-.035em;background:linear-gradient(100deg,#fff 20%,#bcd2ff 62%,#ffb8be 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(3rem,8vw,6.5rem);font-weight:700;line-height:1}.ph__lead{font-family:var(--font-display);color:var(--text-dim);align-items:center;gap:.8rem;margin:1.2rem 0 0;font-size:clamp(1.05rem,1.7vw,1.35rem);font-weight:500;display:flex}.ph__lead:before{content:"";background:linear-gradient(90deg, var(--cyan), var(--blue));border-radius:2px;flex:none;width:2rem;height:2px}.ph__visual{aspect-ratio:1.5;width:min(100%,360px);margin-inline:auto;position:relative;container-type:inline-size}.ph__ring{aspect-ratio:1;border:1px solid #82a5ff33;border-radius:50%;width:62cqw;animation:80s linear infinite ph-spin;position:absolute;top:50%;left:50%;translate:-50% -50%}.ph__ring--outer{border-style:dashed;border-color:#82a5ff1f;width:92cqw;animation-duration:120s;animation-direction:reverse}.ph__ring i{aspect-ratio:1;background:var(--d);width:6px;box-shadow:0 0 12px 2px color-mix(in srgb, var(--d) 65%, transparent);transform:translate(-50%, -50%) rotate(var(--a)) translateY(-31cqw);border-radius:50%;position:absolute;top:50%;left:50%}.ph__phone{position:absolute;top:50%;translate:0 -50%}.ph__phone--a{width:20cqw;left:24%}.ph__phone--b{opacity:.8;width:20cqw;margin-top:4cqw;left:52%}@keyframes ph-spin{to{transform:rotate(360deg)}}.feat__panel{--lift:0;background:radial-gradient(60% 80% at 85%,#3b6cff24,#0000 70%),radial-gradient(40% 60% at 5% 100%,#ff7a8512,#0000 70%),linear-gradient(160deg,#0e163eb8,#080c24c7);border:1px solid #a0b9ff29;border-radius:28px;grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:clamp(1.5rem,4vw,4rem);padding:clamp(1.5rem,4vw,3.5rem);transition:transform .5s cubic-bezier(.2,.7,.2,1),border-color .4s,box-shadow .4s;display:grid;position:relative;box-shadow:0 30px 70px -30px #000c}.feat__panel:hover{--lift:1;border-color:#78a0ff66;transform:translateY(-4px);box-shadow:0 36px 80px -30px #000000d9,0 0 60px -20px #3b6cff80}.feat__edge{background:linear-gradient(90deg, transparent, var(--cyan), var(--purple), transparent);opacity:.55;z-index:1;height:1px;position:absolute;inset:0 12% auto}.feat__copy,.feat__panel>.pv{z-index:1;position:relative}.feat__title{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(2.6rem,6vw,4.8rem);font-weight:700;line-height:1}.feat__tagline{font-family:var(--font-display);color:var(--cyan);margin:.8rem 0 0;font-size:clamp(1.05rem,1.6vw,1.3rem);font-weight:500}.feat__desc{max-width:32rem;color:var(--text-dim);margin:1rem 0 1.6rem}.stack{flex-wrap:wrap;gap:.6rem;margin:0 0 2rem;padding:0;list-style:none;display:flex}.stack__item{border:1px solid color-mix(in srgb, var(--c,var(--cyan)) 32%, transparent);background:#ffffff0a;border-radius:999px;align-items:center;gap:.65rem;padding:.5rem .9rem .5rem .55rem;transition:transform .35s;display:flex}.feat__panel:hover .stack__item{transform:translateY(-2px)}.feat__panel:hover .stack__item:nth-child(2){transition-delay:50ms}.feat__panel:hover .stack__item:nth-child(3){transition-delay:.1s}.stack__icon{background:color-mix(in srgb, var(--c,var(--cyan)) 16%, transparent);width:1.9rem;height:1.9rem;color:var(--c,var(--cyan));border-radius:50%;place-items:center;display:grid}.stack__icon .tech-icon{width:56%;height:56%}.stack__text{line-height:1.2;display:grid}.stack__text strong{font-size:.86rem;font-weight:600}.stack__text small{color:var(--text-dim);font-size:.7rem}.feat__actions .btn{opacity:.85}.feat__panel:hover .feat__actions .btn,.feat__actions .btn:focus-visible{opacity:1;transform:translateY(-2px)}.pv{min-width:0;margin:0}.pv__stage{aspect-ratio:1.12;width:100%;translate:calc(var(--mx,0) * -10px) calc(var(--my,0) * -8px);position:relative;container-type:inline-size}.pv__glow{opacity:.8;background:radial-gradient(closest-side,#3b6cff57,#0000 75%),radial-gradient(40% 40% at 80% 70%,#ff7a8524,#0000 75%);border-radius:50%;transition:opacity .5s;position:absolute;inset:8%}.feat__panel:hover .pv__glow{opacity:1}.pv__shot{z-index:3;background:radial-gradient(70% 70% at 50% 0,#3b6cff29,#0000 70%),linear-gradient(160deg,#0e163e99,#080c24b8);border:1px solid #a0b9ff2e;border-radius:clamp(14px,5cqw,26px);place-items:center;padding:2.4cqw;transition:translate .6s cubic-bezier(.2,.7,.2,1),border-color .4s;display:grid;position:absolute;inset:6% 4%;overflow:hidden;box-shadow:0 30px 60px -30px #000000d9,0 0 60px -24px #3b6cff73,inset 0 1px #ffffff0f}.pv__shot img{object-fit:contain;object-position:center;border-radius:clamp(8px,3cqw,16px);width:100%;height:100%;transition:transform .6s;display:block}.feat__panel:hover .pv__shot{border-color:#78a0ff66;translate:0 -1.2cqw}.feat__panel:hover .pv__shot img{transform:scale(1.02)}.pv__badges{z-index:4;pointer-events:none;margin:0;padding:0;list-style:none;position:absolute;inset:0}.pv__badge{animation:9s ease-in-out infinite pv-bob;position:absolute}.pv__badge--1{top:8%;left:2%}.pv__badge--2{animation-delay:-3s;top:16%;right:0}.pv__badge--3{animation-delay:-6s;bottom:6%;left:8%}.feat__panel:hover .pv__badge{scale:1.06}.pv__badge{transition:scale .4s}.pv__caption{text-align:center;color:#dee6ff73;margin-top:.4rem;font-size:.7rem}@keyframes pv-bob{0%,to{transform:translateY(-3px)}50%{transform:translateY(5px)}}.pgrid__title{font-family:var(--font-display);margin:0 0 1.5rem;font-size:clamp(1.4rem,2.6vw,2rem);font-weight:600}.pgrid__list{grid-template-columns:repeat(12,minmax(0,1fr));gap:1.5rem;display:grid}.pcard{background:linear-gradient(160deg,#0e163e99,#080c24b3);border:1px solid #a0b9ff29;border-radius:24px;grid-column:span 6;gap:1.2rem;padding:1.4rem;transition:transform .4s cubic-bezier(.2,.7,.2,1),border-color .4s,box-shadow .4s;display:grid}.pcard:nth-child(3n+1){grid-column:span 7}.pcard:nth-child(3n+2){grid-column:span 5}.pcard.is-visible:hover{border-color:#78a0ff66;transform:translateY(-4px);box-shadow:0 0 50px -22px #3b6cff99}.pcard__visual{background:radial-gradient(60% 70%,#3b6cff2e,#0000 75%);border-radius:16px;place-items:center;height:15rem;display:grid;overflow:hidden}.pcard__visual img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.pcard:hover .pcard__visual img{transform:scale(1.03)}.pcard__shot{background:radial-gradient(70% 70% at 50% 0,#3b6cff29,#0000 70%),linear-gradient(160deg,#0e163e99,#080c24b8);border:1px solid #a0b9ff2e;border-radius:18px;place-items:center;width:100%;height:100%;margin:0;padding:clamp(.6rem,2cqw,1rem);transition:transform .5s cubic-bezier(.2,.7,.2,1),border-color .4s;display:grid;overflow:hidden;box-shadow:0 24px 60px -30px #000000d9,0 0 60px -28px #3b6cff73,inset 0 1px #ffffff0f}.pcard__shot img{object-fit:contain;object-position:center;border-radius:12px;width:100%;height:100%;transition:transform .6s;display:block}.pcard.is-visible:hover .pcard__shot{border-color:#78a0ff66;transform:translateY(-4px)}.pcard:hover .pcard__shot img{transform:scale(1.02)}.pcard__phone{width:6.2rem}.pcard__title{font-family:var(--font-display);margin:0;font-size:1.5rem;font-weight:600}.pcard__desc{color:var(--text-dim);margin:.5rem 0 0}.pcard__link{width:fit-content;color:var(--cyan);align-items:center;gap:.45rem;margin:.4rem auto 0;font-size:.86rem;font-weight:600;text-decoration:none;transition:color .3s;display:flex}.pcard__link:hover,.pcard__link:focus-visible{color:var(--blue)}.pcard__link svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1rem;height:1rem;transition:transform .3s}.pcard__link:hover svg{transform:translate(2px,-2px)}.feat__link{z-index:1;background:linear-gradient(135deg, #3b6cff24, #8b5cf61f) padding-box, linear-gradient(120deg, var(--cyan), var(--blue), var(--purple)) border-box;color:var(--text);border:1px solid #0000;border-radius:999px;grid-column:1/-1;justify-self:center;align-items:center;gap:.85rem;margin-top:clamp(1rem,2.5vw,1.9rem);padding:.7rem 1.15rem .7rem 1.4rem;text-decoration:none;transition:transform .3s,box-shadow .3s,background .3s;display:inline-flex;position:relative}[dir=rtl] .feat__link{padding:.7rem 1.4rem .7rem 1.15rem}.feat__link-text{gap:.15rem;line-height:1.15;display:grid}.feat__link-label{font-size:.92rem;font-weight:600}.feat__link-url{max-width:min(60vw,18rem);color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.feat__link svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.15rem;height:1.15rem;color:var(--cyan);flex:none;transition:transform .3s,color .3s}.feat__link:hover,.feat__link:focus-visible{background:linear-gradient(135deg, var(--blue), #6a5cff) padding-box, linear-gradient(120deg, var(--cyan), var(--blue), var(--purple)) border-box;color:#fff;outline:none;transform:translateY(-2px);box-shadow:0 18px 44px -16px #3b6cfff2}.feat__link:hover .feat__link-url,.feat__link:focus-visible .feat__link-url{color:#ffffffc7}.feat__link:hover svg,.feat__link:focus-visible svg{color:#fff;transform:translate(3px,-3px)}.pcard__tech{flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.2rem;padding:0;list-style:none;display:flex}@media (width>=961px){.pcard,.pcard:nth-child(3n+1),.pcard:nth-child(3n+2){grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:clamp(1.5rem,4vw,3.5rem);padding:clamp(1.4rem,2.6vw,2.4rem)}.pcard__visual{border:1px solid #a0b9ff24;height:auto;min-height:20rem;box-shadow:0 24px 60px -34px #000000d9}.pcard__body{flex-direction:column;justify-content:center;display:flex}}.soon__title{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(2.6rem,7vw,5rem);font-weight:700}.soon__text{color:var(--text-dim);margin:1rem 0 2rem}@media (width<=960px){.ph{text-align:center;grid-template-columns:minmax(0,1fr)}.ph__lead{justify-content:center}.ph__lead:before{display:none}.ph__visual{width:min(100%,300px)}.feat__panel{grid-template-columns:minmax(0,1fr)}.pv{order:-1}.feat__desc{max-width:none}.pcard,.pcard:nth-child(3n+1),.pcard:nth-child(3n+2){grid-column:1/-1}.pcard__visual{order:-1}}@media (width<=520px){.feat__panel{border-radius:22px}.feat__actions .btn{justify-content:center;width:100%}.pv__badge--2{right:-2%}}@media (hover:none){.feat__actions .btn{opacity:1}}@media (prefers-reduced-motion:reduce){.ph__ring,.pv__badge{animation:none}.pv__stage{translate:none}.feat__panel,.pcard,.pcard__shot,.pcard__shot img,.pv__shot,.pv__shot img{transition:none}}.skills{isolation:isolate;background:var(--bg);min-height:100svh;padding:clamp(6rem,11vw,8rem) clamp(1.25rem,5vw,4rem) clamp(3rem,8vw,6rem);position:relative;overflow:hidden}.skills__ambient{z-index:-1;pointer-events:none;background:radial-gradient(50% 40% at 15% 4%,#8b5cf624,#0000 70%),radial-gradient(46% 40% at 92% 40%,#3b6cff21,#0000 70%),radial-gradient(40% 36% at 8% 80%,#ff7a8512,#0000 70%);position:absolute;inset:0}.skills__inner{gap:clamp(2.5rem,6vw,5rem);width:100%;max-width:1320px;margin:0 auto;display:grid}.skills__title{font-family:var(--font-display);letter-spacing:-.035em;background:linear-gradient(100deg,#fff 20%,#bcd2ff 62%,#ffb8be 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(3rem,8vw,6.5rem);font-weight:700;line-height:1}.skills__lead{font-family:var(--font-display);color:var(--text-dim);align-items:center;gap:.8rem;margin:1.2rem 0 0;font-size:clamp(1.05rem,1.7vw,1.35rem);font-weight:500;display:flex}.skills__lead:before{content:"";background:linear-gradient(90deg, var(--cyan), var(--blue));border-radius:2px;flex:none;width:2rem;height:2px}.skills__groups{display:grid}.sgroup{border-top:1px solid #a0b9ff24;grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:start;gap:1.5rem clamp(1.5rem,4vw,4rem);padding:clamp(1.75rem,3.5vw,2.75rem) 0;display:grid}.sgroup:last-child{border-bottom:1px solid #a0b9ff24}.sgroup__head{gap:.4rem;display:grid}.sgroup__num{font-family:var(--font-display);letter-spacing:.16em;color:var(--cyan);font-size:.8rem;font-weight:600}.sgroup__title{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(1.5rem,3vw,2.3rem);font-weight:600;line-height:1.15}.sgroup__list{grid-template-columns:repeat(auto-fill,minmax(min(100%,11.5rem),1fr));gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.skill{background:radial-gradient(90% 140% at 0% 0%, color-mix(in srgb, var(--c) 10%, transparent), transparent 65%), linear-gradient(160deg, #0e163e9e, #080c24b8);border:1px solid #a0b9ff29;border-radius:18px;align-items:center;gap:.9rem;padding:.85rem 1.1rem .85rem .85rem;transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .35s;display:flex}.skill:hover{border-color:color-mix(in srgb, var(--c) 55%, transparent);box-shadow:0 14px 34px -16px color-mix(in srgb, var(--c) 55%, transparent);transform:translateY(-3px)}.skill__icon{border:1px solid color-mix(in srgb, var(--c) 38%, transparent);background:color-mix(in srgb, var(--c) 14%, #0a1030cc);width:2.8rem;height:2.8rem;color:var(--c);border-radius:14px;flex:none;place-items:center;transition:transform .35s;display:grid}.skill:hover .skill__icon{transform:scale(1.08)rotate(-3deg)}.skill__icon .tech-icon{width:56%;height:56%}.skill__name{font-family:var(--font-display);font-size:1rem;font-weight:600}.sgroup.reveal .skill{opacity:0;transition:opacity .6s ease calc(.15s + var(--i) * 70ms), translate .6s cubic-bezier(.2, .7, .2, 1) calc(.15s + var(--i) * 70ms), transform .35s cubic-bezier(.2, .7, .2, 1), border-color .35s ease, box-shadow .35s ease;translate:0 14px}.sgroup.reveal.is-visible .skill{opacity:1;translate:0}@media (width<=860px){.sgroup{grid-template-columns:minmax(0,1fr)}.sgroup__head{grid-auto-flow:column;justify-content:start;align-items:baseline;gap:.9rem}}@media (width<=520px){.sgroup__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.skill{gap:.65rem;padding:.7rem .8rem .7rem .7rem}.skill__icon{width:2.4rem;height:2.4rem}.skill__name{font-size:.92rem}}@media (prefers-reduced-motion:reduce){.sgroup.reveal .skill{opacity:1;transition:none;translate:none}.skill,.skill__icon{transition:none}.skill:hover,.skill:hover .skill__icon{transform:none}}.nf404__box{border:1px solid var(--line);text-align:center;background:linear-gradient(160deg,#0e163e99,#080c24b3);border-radius:28px;justify-items:center;gap:1rem;max-width:44rem;padding:clamp(2rem,5vw,3.25rem);display:grid}html[data-theme=light] .nf404__box{background:linear-gradient(160deg,#ffffffe6,#f0f4fff0)}.nf404__code{font-family:var(--font-display);letter-spacing:-.05em;background:linear-gradient(100deg,#fff 20%,#bcd2ff 62%,#ffb8be 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(5rem,18vw,11rem);font-weight:700;line-height:.88}.nf404__text{font-family:var(--font-display);color:var(--text-dim);margin:0;font-size:clamp(1.05rem,2vw,1.35rem);font-weight:500}.nf404__actions{justify-content:center;margin-top:.6rem}@media (width<=520px){.nf404__actions{width:100%}}.case__header{display:grid}.case__title{flex-wrap:wrap;align-items:baseline;gap:0 .4em;display:flex}.case__title-ar{letter-spacing:0;color:var(--cyan);font-size:.48em;font-weight:500}.case__summary{max-width:62ch;margin-top:1.4rem;font-size:1.05rem}.case__hero{align-items:start}.case__hero-side{align-content:start;gap:1.2rem;display:grid}.case__steps{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.case__step{border:1px solid var(--line);background:linear-gradient(160deg,#0e163e8c,#080c24a6);border-radius:20px;align-content:start;gap:.4rem;padding:1.2rem;display:grid}html[data-theme=light] .case__step{background:linear-gradient(160deg,#ffffffe6,#f0f4fff0)}.case__step-num{font-family:var(--font-display);letter-spacing:.16em;color:var(--cyan);font-size:.78rem;font-weight:600}.case__step-title{font-family:var(--font-display);font-size:1.02rem;font-weight:600}.case__step-text{color:var(--text-dim);font-size:.92rem}.case__cta{border-top:1px solid var(--line);flex-wrap:wrap;gap:.8rem;padding-top:clamp(1.75rem,3.5vw,2.75rem);display:flex}@media (width<=520px){.case__cta .btn{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.case__step{transition:none}}.pg__gallery{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1.5rem;margin:2rem 0;display:grid}.pg__gallery-item{border:1px solid var(--line);background:linear-gradient(160deg,#0e163e8c,#080c24a6);border-radius:16px;overflow:hidden}.pg__gallery-item img{width:100%;height:auto;display:block}.pg__gallery-item figcaption{color:var(--text-dim);padding:.75rem 1rem;font-size:.9rem}.pg__results{border:1px solid var(--line);background:linear-gradient(160deg,#0e163e8c,#080c24a6);border-radius:16px;margin-top:2rem;padding:1.5rem}.pg__section-subtitle{font-family:var(--font-display);color:var(--text);margin:1.5rem 0 1rem;font-size:1.1rem;font-weight:600}html[data-theme=light] .pg__gallery-item,html[data-theme=light] .pg__results{background:linear-gradient(160deg,#ffffffe6,#f0f4fff0)}
