@import "https://fonts.googleapis.com/css2?family=Caveat:wght@500;600&family=Inter:wght@400;500;600;700;800&family=Poppins:wght@500;600;700&display=swap";:root{--font-body:"Inter", system-ui, sans-serif;--font-display:"Poppins", "Inter", system-ui, sans-serif;--font-hand:"Caveat", "Segoe Script", cursive;--blue:#1554f0;--blue-dark:#0e41c9;--blue-soft:#eaf1ff;--blue-line:#c9d9fb;--ink:#0b1633;--text:#33405e;--muted:#67728c;--line:#e3e9f5;--surface:#fff;--band:linear-gradient(180deg, #f3f7ff 0%, #e9f1ff 100%);--band-soft:#f5f8fe;--purple:#6c3ce9;--orange:#f07a2c;--green:#22b25c;--shadow-sm:0 4px 14px #142d6e0f;--shadow-md:0 14px 34px #142d6e1a;--shadow-blue:0 10px 22px #1554f040;--nav-height:72px;--ease:cubic-bezier(.22, 1, .36, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-height) + 12px)}body{background:var(--surface);min-width:320px;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,h4,p,ul,ol{margin:0}ul,ol{padding:0;list-style:none}h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink)}.app{min-height:100vh;overflow-x:clip}.container{width:min(1380px,100% - 6vw);margin-inline:auto}.eyebrow{color:var(--muted);letter-spacing:3px;text-transform:uppercase;margin-bottom:10px;font-size:12px;font-weight:600}.eyebrow--blue,.text-blue{color:var(--blue)}.text-gradient{background:linear-gradient(90deg, var(--blue), var(--purple));color:#0000;-webkit-background-clip:text;background-clip:text}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--blue);color:#fff;border-radius:10px;padding:.75rem 1rem;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:1rem}:focus-visible{outline:2px solid var(--blue);outline-offset:3px}::selection{background:#1554f02e}.btn{white-space:nowrap;min-height:46px;transition:transform .2s var(--ease), box-shadow .2s, background .2s, color .2s;border:1.5px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:0 24px;font-size:14.5px;font-weight:600;display:inline-flex}.btn--primary{background:var(--blue);color:#fff;box-shadow:var(--shadow-blue)}.btn--primary:hover{background:var(--blue-dark);transform:translateY(-2px)}.btn--outline{border-color:var(--blue);color:var(--ink);background:#fff}.btn--outline:hover{background:var(--blue-soft);transform:translateY(-2px)}.btn--pill{border-radius:100px}.btn--small{min-height:40px;padding:0 18px;font-size:13.5px}.icon-button{border:1px solid var(--line);width:42px;height:42px;color:var(--ink);background:#fff;border-radius:10px;place-items:center;display:grid}.topbar{z-index:50;-webkit-backdrop-filter:blur(14px);background:#ffffffeb;border-bottom:1px solid #0000;transition:border-color .25s,box-shadow .25s;position:sticky;top:0}.topbar--scrolled{border-color:var(--line);box-shadow:0 6px 20px #142d6e0d}.topbar__inner{height:var(--nav-height);justify-content:space-between;align-items:center;gap:20px;display:flex}.brand{flex-shrink:0;align-items:center;gap:12px;display:inline-flex}.brand-wrap{flex-shrink:0;position:relative}.visit-count{z-index:60;white-space:nowrap;animation:visit-count-in .25s var(--ease);background:#fff;border:1px solid #e3e9f7;border-radius:14px;align-items:center;gap:12px;padding:10px 16px 10px 10px;display:flex;position:absolute;top:calc(100% + 12px);left:0;box-shadow:0 16px 36px #142d6e29}.visit-count:before{content:"";background:#fff;border-top:1px solid #e3e9f7;border-left:1px solid #e3e9f7;width:10px;height:10px;position:absolute;top:-6px;left:14px;transform:rotate(45deg)}.visit-count__icon{background:linear-gradient(135deg, #4f8bff, var(--blue));color:#fff;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.visit-count small{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;font-size:11.5px;font-weight:600;display:flex}.visit-count small i{background:#22b25c;border-radius:50%;width:7px;height:7px;animation:1.8s ease-in-out infinite roadmap-pulse-dot}.visit-count strong{color:var(--ink);font:700 20px/1.1 var(--font-display);font-variant-numeric:tabular-nums;margin-top:2px;display:block}@keyframes visit-count-in{0%{opacity:0;transform:translateY(-6px)}}.brand__mark{cursor:pointer;-webkit-user-select:none;user-select:none;font:700 32px/1 var(--font-display);letter-spacing:-4px;display:inline-flex}.brand__r{color:var(--ink)}.brand__g{color:var(--blue)}.brand__copy{gap:2px;padding-left:4px;display:grid}.brand__copy strong{font:700 16px/1.1 var(--font-display)}.brand__copy small{color:var(--muted);font-size:12.5px}.nav{align-items:center;gap:clamp(14px,2.4vw,38px);display:flex}.nav__link{color:var(--text);padding:8px 2px;font-size:14.5px;font-weight:500;transition:color .2s;position:relative}.nav__link:after{content:"";background:var(--blue);height:2px;transition:transform .25s var(--ease);border-radius:2px;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav__link:hover,.nav__link.is-active{color:var(--blue)}.nav__link.is-active:after{transform:scaleX(1)}.topbar__actions{align-items:center;gap:10px;display:flex}.topbar__resume{min-height:42px;padding:0 22px}.topbar__menu{display:none}.scroll-progress{z-index:60;background:var(--blue);transform-origin:0;pointer-events:none;height:3px;position:fixed;top:0;left:0;right:0}.back-to-top{z-index:40;background:var(--blue);color:#fff;width:46px;height:46px;box-shadow:var(--shadow-blue);opacity:0;visibility:hidden;transition:opacity .3s, transform .3s var(--ease), visibility .3s;border-radius:50%;place-items:center;display:grid;position:fixed;bottom:clamp(16px,3vw,32px);right:clamp(16px,3vw,32px);transform:translateY(16px)}.back-to-top.is-visible{opacity:1;visibility:visible;transform:none}.project-modal{background:#fff;border:0;border-radius:22px;width:min(760px,100% - 32px);max-height:calc(100vh - 48px);padding:0;box-shadow:0 30px 80px #0a194659}.project-modal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0b16338c}.project-modal[open]{animation:rise .35s var(--ease)}.project-modal__hero{background:radial-gradient(circle at 90% -20%, #ffffff59, transparent 45%), radial-gradient(#ffffff29 1.2px, transparent 1.2px) 0 0 / 14px 14px, linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;justify-items:start;gap:8px;padding:28px 30px 66px;display:grid;position:relative;overflow:hidden}.project-modal__icon{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fff3;border:1px solid #ffffff73;border-radius:14px;place-items:center;width:50px;height:50px;margin-bottom:4px;display:grid}.project-modal__brand{align-items:center;gap:14px;margin-bottom:4px;display:flex}.project-modal__logo{background:#fff;border-radius:18px;flex-shrink:0;width:64px;height:64px;padding:4px;overflow:hidden;box-shadow:0 10px 24px #0003}.project-modal__logo img{object-fit:contain;border-radius:14px;width:100%;height:100%;transform:scale(1.1)}.project-modal__product{font:700 18px/1.2 var(--font-display)}.project-modal__role{color:#ffffffd9;letter-spacing:.3px;font-size:13px;font-weight:600}.project-modal h3{color:#fff;padding-right:40px;font-size:24px;line-height:1.25}.project-modal__highlights{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.project-modal__highlights li{background:#ffffff29;border:1px solid #fff6;border-radius:100px;padding:6px 12px;font-size:12.5px;font-weight:600}.project-modal__links{margin-top:8px}.project-modal__links .project-links__item{color:#fff;box-shadow:none;background:#ffffff29;border-color:#fff6}.project-modal__links .project-links__item:hover{background:#ffffff47}.project-modal__links .project-links__item--playstore>svg:first-child,.project-modal__links .project-links__item--web>svg:first-child{color:#fff}.project-modal__close{color:#fff;background:#ffffff2e;border:1px solid #ffffff80;border-radius:50%;place-items:center;width:36px;height:36px;transition:background .2s,transform .2s;display:grid;position:absolute;top:18px;right:18px}.project-modal__close:hover{background:#ffffff52;transform:rotate(90deg)}.project-modal__content{gap:14px;padding:26px 30px 30px;display:grid;position:relative}.project-modal__facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:-46px 0 4px;display:grid}.project-modal__facts>div{border:1px solid color-mix(in srgb, var(--accent) 16%, var(--line));box-shadow:0 10px 24px color-mix(in srgb, var(--accent) 14%, transparent);background:#fff;border-radius:14px;padding:12px 14px}.project-modal__facts dt{color:var(--accent);text-transform:uppercase;letter-spacing:.6px;align-items:center;gap:6px;font-size:11.5px;font-weight:600;display:flex}.project-modal__facts dd{color:var(--ink);margin:4px 0 0;font-size:14px;font-weight:600}.project-modal h4{align-items:center;gap:8px;margin-top:8px;font-size:16px;display:flex}.project-modal h4>svg{color:var(--accent)}.project-modal__description{color:var(--text);font-size:14.5px;line-height:1.7}.project-modal__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.project-modal__list li{background:color-mix(in srgb, var(--accent) 6%, #fff);color:var(--text);border-radius:12px;gap:10px;padding:10px 12px;font-size:13.5px;line-height:1.5;display:flex}.project-modal__list svg{color:var(--accent);flex-shrink:0;margin-top:2px}.project-modal__chips{flex-wrap:wrap;gap:8px;display:flex}.project-modal__chips li{border:1px solid color-mix(in srgb, var(--accent) 20%, var(--line));color:var(--ink);background:#fff;border-radius:100px;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:500;display:inline-flex}.project-modal__extension{--accent:var(--green);border:1px solid color-mix(in srgb, var(--green) 30%, #fff);background:linear-gradient(135deg, color-mix(in srgb, var(--green) 12%, #fff), #fff 70%);border-radius:16px;gap:12px;margin-top:8px;padding:20px;display:grid}@media (width<=640px){.project-modal__list{grid-template-columns:1fr}.project-modal__facts{grid-template-columns:repeat(2,minmax(0,1fr))}.project-modal__hero,.project-modal__content{padding-inline:20px}}.project-modal__extension-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.project-modal__extension-head h4{margin:0}.project-modal__extension-icon{background:var(--green);color:#fff;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.project-modal__badge{color:#fff;background:linear-gradient(135deg,#7a3df0,#1554f0);border-radius:100px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.hero{background:radial-gradient(circle at 8% 15%,#7a3df01f,#0000 38%),radial-gradient(circle at 92% 20%,#36c6f024,#0000 36%),radial-gradient(circle at 70% 95%,#ffb3471a,#0000 40%),linear-gradient(135deg,#fdfcff 0%,#f6f1ff 50%,#eef8ff 100%);border-bottom:1px solid #e4dcfb;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background-image:linear-gradient(#7a3df00d 1px,#0000 1px),linear-gradient(90deg,#7a3df00d 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#0000 85%);mask-image:linear-gradient(#000 0%,#0000 85%)}.hero__inner{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;column-gap:clamp(32px,5vw,96px);min-height:clamp(460px,36.5vw,560px);display:grid;position:relative}.hero__copy{align-self:center;padding:clamp(40px,4.6vw,70px) 0 clamp(32px,2.8vw,42px)}.hero .eyebrow{letter-spacing:.28em;margin-bottom:clamp(12px,1.1vw,16px);font-size:clamp(11px,.9vw,13px);font-weight:600}.hero h1{font:800 clamp(40px, 4.72vw, 70px) / 1.02 var(--font-body);letter-spacing:-.03em}.hero h1 .text-blue{margin-top:.06em;display:inline-block}.hero__intro{color:#26324f;max-width:27.5em;margin-top:clamp(4px,.5vw,8px);font-size:clamp(15.5px,1.36vw,19.5px);line-height:1.38}.hero__actions{flex-wrap:wrap;gap:clamp(12px,1.4vw,20px);margin-top:clamp(18px,1.6vw,24px);display:flex}.hero__actions .btn{border-radius:11px;min-width:clamp(160px,13.2vw,196px);min-height:clamp(44px,3.3vw,48px);font-size:clamp(14px,1.05vw,15.5px)}.hero__actions .btn--outline{border-width:1.5px;border-color:#2f67f2}.hero__mail{background:linear-gradient(135deg, #4f8bff, var(--blue));color:#fff;border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.hero__social{color:#fff;width:clamp(44px,3.3vw,48px);height:clamp(44px,3.3vw,48px);transition:transform .2s var(--ease), box-shadow .2s;background:#0a66c2;border-radius:11px;place-items:center;display:grid;box-shadow:0 10px 22px #0a66c24d}.hero__social:hover{transform:translateY(-2px);box-shadow:0 14px 28px #0a66c266}.hero__stats{grid-template-columns:repeat(4,auto);justify-content:start;margin-top:clamp(26px,2.7vw,40px);display:grid}.hero__stats li{align-items:flex-start;gap:12px;padding:4px clamp(14px,1.5vw,22px);display:flex}.hero__stats li:first-child{padding-left:0}.hero__stats li+li{border-left:1px solid #dfe5f0}.hero__stats li.hero__stat--text{align-items:center}.hero__stat-icon{width:clamp(34px,2.8vw,40px);height:clamp(34px,2.8vw,40px);color:var(--blue);background:#e6eeff;border-radius:10px;flex:none;place-items:center;display:grid}.hero__stats strong{color:var(--ink);font:700 clamp(19px, 1.6vw, 23px) / 1.1 var(--font-body);display:block}.hero__stats small{color:#3d4864;white-space:nowrap;margin-top:6px;font-size:clamp(11.5px,.88vw,13px);line-height:1.45;display:block}.hero__stat--text small{white-space:pre;margin-top:0}.hero__visual{--pw:clamp(290px, 32vw, 478px);justify-content:flex-end;align-items:center;padding:clamp(28px,3vw,48px) 0;display:flex;position:relative}.hero__figure{width:var(--pw);aspect-ratio:1;flex:none;position:relative}.hero__dots{top:calc(var(--pw) * .02);left:calc(var(--pw) * -.2);width:calc(var(--pw) * .34);height:calc(var(--pw) * .34);background-image:radial-gradient(circle,#9db3e6 1.3px,#0000 1.7px);background-size:12px 12px;position:absolute;-webkit-mask-image:linear-gradient(120deg,#000 35%,#0000 95%);mask-image:linear-gradient(120deg,#000 35%,#0000 95%)}.hero__figure:after{content:"";right:calc(var(--pw) * -.03);bottom:calc(var(--pw) * .02);width:calc(var(--pw) * .24);height:calc(var(--pw) * .24);background-image:radial-gradient(circle,#b9c9ee 1.3px,#0000 1.7px);background-size:12px 12px;position:absolute;-webkit-mask-image:linear-gradient(300deg,#000 35%,#0000 95%);mask-image:linear-gradient(300deg,#000 35%,#0000 95%)}.hero__portrait{z-index:1;-webkit-mask-composite:source-in;background:radial-gradient(circle at 32% 28%,#ffffffb3 0%,#0000 42%),radial-gradient(circle at 50% 55%,#d3e2ff 0%,#c6d9ff 70%,#bcd2fd 100%);border-radius:50%;width:100%;height:100%;position:relative;overflow:hidden;-webkit-mask-image:radial-gradient(circle closest-side,#000 96%,#0000 100%),linear-gradient(#000 62%,#0000 98%);mask-image:radial-gradient(circle closest-side,#000 96%,#0000 100%),linear-gradient(#000 62%,#0000 98%);-webkit-mask-composite:source-in;mask-composite:intersect}.hero__photo{object-fit:cover;width:90%;height:auto;display:block;position:absolute;bottom:-4%;left:50%;transform:translate(-50%);-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 10% 90%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 10% 90%,#0000 100%)}@media (width<=1000px){.hero__visual{--pw:clamp(260px, 34vw, 340px)}.hero__stats{grid-template-columns:repeat(2,auto);row-gap:18px}.hero__stats li:nth-child(3){border-left:0;padding-left:0}}@media (width<=860px){.hero__inner{grid-template-columns:1fr;gap:0;min-height:0}.hero__copy{padding-bottom:8px}.hero__stats{grid-template-columns:repeat(4,auto)}.hero__stats li:nth-child(3){border-left:1px solid #dfe5f0;padding-left:clamp(14px,1.5vw,22px)}.hero__visual{--pw:min(360px, 76vw);order:-1;justify-content:center;padding:40px 0 8px}}@media (width<=640px){.hero__stats{grid-template-columns:repeat(2,auto)}.hero__stats li:nth-child(3){border-left:0;padding-left:0}}@media (width<=520px){.hero__actions .btn--primary{flex:100%}.hero__actions .btn--outline{flex:1 1 0;min-width:0}.hero__stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.skills{background:radial-gradient(at 50% 58%,#dce9ff 0%,#0000 53%),linear-gradient(#f5f8ff 0%,#eaf1ff 100%);padding:48px 0 40px;position:relative;overflow:hidden}.skills__heading{text-align:center}.skills__heading h2,.journey h2{font-size:clamp(26px,2.3vw,36px);font-weight:700;line-height:1.2}.skills__heading h2{letter-spacing:-1px;font-size:clamp(26px,2.5vw,38px)}.skills__heading p:last-child{max-width:760px;color:var(--text);margin:12px auto 0;font-size:clamp(15px,1.2vw,17px);line-height:1.55}.contact{color:#fff;background:radial-gradient(circle at 10% 0,#6c3ce959,#0000 40%),radial-gradient(circle at 95% 30%,#1554f066,#0000 42%),linear-gradient(160deg,#0b1633 0%,#0f1f4d 100%);padding:64px 0 0;position:relative;overflow:hidden}.contact:before{content:"";pointer-events:none;background:radial-gradient(#ffffff12 1.2px,#0000 1.2px) 0 0/18px 18px;position:absolute;inset:0}.contact .container{position:relative}.contact__panel{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#ffffff14,#ffffff05);border:1px solid #ffffff1f;border-radius:28px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:40px;padding:40px;display:grid;box-shadow:0 30px 60px #00000040}.contact__eyebrow{color:#b9f5cf;background:#22b25c26;border:1px solid #3fd18a66;border-radius:100px;align-items:center;gap:8px;padding:6px 14px;font-size:12.5px;font-weight:600;display:inline-flex}.contact__eyebrow i{background:#3fd18a;border-radius:50%;width:8px;height:8px;animation:1.8s ease-in-out infinite roadmap-pulse-dot}.contact__copy h2{color:#fff;letter-spacing:-1px;margin-top:16px;font-size:clamp(28px,3vw,44px);font-weight:800;line-height:1.15}.contact__copy h2 span{background:linear-gradient(90deg,#6fa0ff,#c39bff);color:#0000;-webkit-background-clip:text;background-clip:text}.contact__copy>p:not(.contact__eyebrow){color:#ffffffbf;max-width:520px;margin-top:12px;font-size:15px;line-height:1.65}.contact__actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.contact__cta{color:var(--ink);background:#fff;padding-left:10px;box-shadow:0 12px 28px #1554f059}.contact__cta:hover{transform:translateY(-2px)}.contact__cta-icon{background:linear-gradient(135deg, #4f8bff, var(--blue));color:#fff;border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.contact__ghost{color:#fff;border-color:#ffffff59}.contact__ghost:hover{background:#ffffff1a;transform:translateY(-2px)}.contact__channels{gap:12px;display:grid}.contact__channels a,.contact__channels li>span{transition:background .2s, border-color .2s, transform .2s var(--ease);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:16px;align-items:center;gap:14px;padding:14px 16px;display:flex}.contact__channels a:hover{background:#ffffff1f;border-color:#ffffff4d;transform:translate(4px)}.contact__icon{--tone:var(--blue);--tone-2:#4f8bff;background:linear-gradient(135deg, var(--tone-2), var(--tone));color:#fff;width:44px;height:44px;box-shadow:0 8px 18px color-mix(in srgb, var(--tone) 40%, transparent);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.contact__icon--green{--tone:#16a05a;--tone-2:#3fd18a}.contact__icon--orange{--tone:#f07a2c;--tone-2:#ffb347}.contact__icon--purple{--tone:#6c3ce9;--tone-2:#a06bff}.contact__channels small{color:#fff9;font-size:12px;display:block}.contact__channels strong{color:#fff;word-break:break-word;margin-top:2px;font-size:15px;font-weight:600;display:block}.contact__bottom{border-top:1px solid #ffffff1f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px 30px;margin-top:44px;padding:22px 0 26px;display:flex}.contact__brand{align-items:center;gap:12px;display:flex}.contact__brand-mark{width:42px;height:42px;font:700 16px/1 var(--font-display);background:linear-gradient(135deg,#4f8bff,#a06bff);border-radius:12px;place-items:center;display:grid}.contact__brand strong{font:700 15px/1.2 var(--font-display);display:block}.contact__brand small{color:#fff9;font-size:12px}.contact__links{flex-wrap:wrap;gap:6px 22px;display:flex}.contact__links a{color:#ffffffb3;font-size:14px;font-weight:500;transition:color .2s}.contact__links a:hover{color:#fff}.contact__legal{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.contact__legal small{color:#ffffff8c;font-size:12.5px}.contact__top{color:#fff;width:38px;height:38px;transition:background .2s, transform .2s var(--ease);border:1px solid #ffffff40;border-radius:50%;place-items:center;display:grid}.contact__top:hover{background:var(--blue);transform:translateY(-3px)}@keyframes roadmap-pulse-dot{0%,to{box-shadow:0 0 #3fd18a99}50%{box-shadow:0 0 0 6px #3fd18a00}}@media (width<=1000px){.contact__panel{grid-template-columns:1fr;gap:28px;padding:30px}.topbar__menu{display:grid}.nav{top:calc(var(--nav-height) - 4px);border:1px solid var(--line);box-shadow:var(--shadow-md);opacity:0;visibility:hidden;background:#fff;border-radius:14px;gap:2px;padding:10px;transition:opacity .2s,transform .2s,visibility .2s;display:grid;position:absolute;left:4vw;right:4vw;transform:translateY(-8px)}.nav--open{opacity:1;visibility:visible;transform:none}.nav__link{border-radius:8px;padding:11px 12px}.nav__link:after{display:none}.nav__link.is-active{background:var(--blue-soft)}}@media (width<=520px){.container{width:calc(100% - 32px)}.brand__copy small{display:none}.topbar__resume{width:42px;padding:0}.topbar__resume span{display:none}.contact__panel{border-radius:20px;padding:22px 18px}.contact__actions .btn{flex:100%}.contact__bottom{flex-direction:column;align-items:flex-start}}.tech-carousel{--size:clamp(118px, 10.5vw, 150px);margin-top:18px}.tech-carousel__viewport{height:calc(var(--size) * 1.5);position:relative}.tech-carousel__stage{touch-action:pan-y;position:absolute;inset:0}.tech-carousel__ghosts{pointer-events:none;position:absolute;inset:0}.tech-ghost{top:16%;left:calc(50% + var(--gx));width:48px;height:48px;opacity:var(--go);filter:blur(2px);background:#ffffffb3;border-radius:50%;place-items:center;transition:left 1s cubic-bezier(.45,0,.25,1),opacity 1s;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 8px 18px #20408c14}.tech-ghost svg{width:24px;height:24px}.tech-carousel__pedestal{top:calc(50% + var(--size) * .42 + 4px);z-index:1;width:calc(var(--size) * 1.25);height:calc(var(--size) * .22);pointer-events:none;background:radial-gradient(#fffffff2 0%,#fff9 38%,#0000 70%),radial-gradient(#1554f047 0%,#0000 72%);border-radius:50%;position:absolute;left:50%;transform:translate(-50%,-50%)}.tech-bubble{--dx:0%;--dy:0px;--s:1;--o:1;--blur:0px;--z:20;top:calc(50% + var(--dy));left:calc(50% + var(--dir) * var(--dx));z-index:var(--z);align-content:center;place-items:center;gap:calc(var(--size) * .04);width:var(--size);height:var(--size);color:var(--ink);opacity:var(--o);filter:blur(var(--blur));transform:translate(-50%, -50%) scale(var(--s));cursor:pointer;--g:calc((50% - var(--size) * 2.78) / 4);background:radial-gradient(circle at 35% 28%,#fff 0% 50%,#eef3fc 100%);border:1px solid #fff;border-radius:50%;padding:0;transition:left 1s cubic-bezier(.45,0,.25,1),top 1s cubic-bezier(.45,0,.25,1),transform 1s cubic-bezier(.45,0,.25,1),opacity 1s,filter 1s,box-shadow .3s;display:grid;position:absolute;box-shadow:0 18px 36px #20408c24,inset 0 -10px 20px #7896d21f}.tech-bubble[data-depth="1"]{--dx:calc(var(--size) * .79 + var(--g));--dy:14px;--s:.74;--z:12}.tech-bubble[data-depth="2"]{--dx:calc(var(--size) * 1.47 + var(--g) * 2);--dy:10px;--s:.62;--z:10}.tech-bubble[data-depth="3"]{--dx:calc(var(--size) * 2.05 + var(--g) * 3);--dy:0px;--s:.54;--o:.95;--z:8}.tech-bubble[data-depth="4"]{--dx:calc(var(--size) * 2.55 + var(--g) * 4);--dy:-12px;--s:.46;--o:.8;--blur:.4px;--z:6}.tech-bubble[data-depth="5"]{--dx:53%;--dy:-24px;--s:.36;--o:0;--blur:2px;--z:4;pointer-events:none}.tech-bubble.is-active{--s:.84;border:5px solid #fff;box-shadow:0 0 0 12px #1554f012,0 0 0 1px #1554f01f,0 28px 50px #20408c38,inset 0 -10px 20px #7896d224}.tech-bubble:not(.is-active):hover{box-shadow:0 0 0 8px #1554f01f,0 20px 40px #20408c33}.tech-bubble:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.tech-bubble__logo{place-items:center;display:grid}.tech-bubble__logo svg{width:calc(var(--size) * .36);height:calc(var(--size) * .36)}.tech-bubble__name{max-width:84%;font:600 calc(var(--size) * .105) / 1.15 var(--font-display);text-align:center}.skill-highlights{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:28px 0 0;padding:0;list-style:none;display:grid}.skill-highlight{--tone:#1554f0;--tone-2:#4f8bff;border:1px solid color-mix(in srgb, var(--tone) 22%, #fff);border-left:4px solid var(--tone);background:linear-gradient(135deg, color-mix(in srgb, var(--tone) 12%, #fff) 0%, #fff 75%);height:100%;box-shadow:0 8px 20px color-mix(in srgb, var(--tone) 14%, transparent);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex}.skill-highlight.reveal{transition:opacity .7s var(--ease), transform .7s var(--ease), translate .25s var(--ease), box-shadow .25s}.skill-highlight:hover{box-shadow:0 12px 26px color-mix(in srgb, var(--tone) 24%, transparent);translate:0 -3px}.skill-highlight--green{--tone:#16a05a;--tone-2:#3fd18a}.skill-highlight--purple{--tone:#7a3df0;--tone-2:#b07bff}.skill-highlight--cyan{--tone:#0b8fd0;--tone-2:#36c6f0}.skill-highlight strong{color:var(--ink);font:600 14.5px/1.25 var(--font-display);display:block}.skill-highlight small{color:var(--muted);margin-top:3px;font-size:12.5px;line-height:1.4;display:block}.skill-highlight__icon{background:linear-gradient(135deg, var(--tone-2), var(--tone));color:#fff;width:40px;height:40px;box-shadow:0 6px 14px color-mix(in srgb, var(--tone) 35%, transparent);border-radius:12px;flex:none;place-items:center;display:grid}@media (width<=1180px){.skill-highlights{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}@media (width<=1000px){.tech-carousel{--size:clamp(112px, 15vw, 140px)}.tech-bubble{--g:calc((50% - var(--size) * 1.78) / 2)}.tech-bubble[data-depth="3"],.tech-bubble[data-depth="4"]{--dx:50%;--s:.32;--o:0;pointer-events:none}}@media (width<=640px){.tech-carousel{--size:clamp(104px, 30vw, 124px);margin-top:18px}.tech-carousel__ghosts{display:none}.tech-bubble[data-depth="1"]{--dx:calc(var(--size) * .8);--dy:10px;--s:.58}.tech-bubble[data-depth="2"]{--dx:calc(var(--size) * 1.16);--dy:4px;--s:.4;--o:.55}.tech-bubble[data-depth="3"],.tech-bubble[data-depth="4"]{--dx:calc(var(--size) * 1.4)}.skill-highlights{grid-template-columns:1fr;margin-top:34px}}@media (prefers-reduced-motion:reduce){.tech-bubble,.tech-ghost{transition:none}}.projects{background:radial-gradient(circle at 8% 12%,#1554f014,#0000 34%),radial-gradient(circle at 92% 88%,#0b8fd014,#0000 34%),linear-gradient(#fff 0%,#f4f8ff 100%);padding:64px 0 72px;position:relative;overflow:hidden}.projects:before{content:"";pointer-events:none;background-image:radial-gradient(#1554f01f 1.2px,#0000 1.2px);background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 50% 20%,#000 10%,#0000 65%);mask-image:radial-gradient(at 50% 20%,#000 10%,#0000 65%)}.projects .container{position:relative}.section-head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:32px;display:flex}.section-head__eyebrow{border:1px solid var(--blue-line);background:var(--blue-soft);color:var(--blue);letter-spacing:2px;text-transform:uppercase;border-radius:100px;align-items:center;gap:7px;padding:6px 14px;font-size:12px;font-weight:600;display:inline-flex}.section-head h2{color:var(--ink);letter-spacing:-1px;margin-top:14px;font-size:clamp(30px,3vw,46px);font-weight:800;line-height:1.15}.section-head h2 span{background:linear-gradient(90deg, var(--blue), #4f8bff);color:#0000;-webkit-background-clip:text;background-clip:text}.section-head__lead{max-width:580px;color:var(--text);margin-top:10px;font-size:15px;line-height:1.65}.section-head__link{background:var(--blue);color:#fff}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;display:grid}.project-grid>.reveal{height:100%}.pcard,.project-modal{--accent:var(--blue);--accent-2:#4f8bff}.pcard--cyan,.project-modal--cyan{--accent:#0b8fd0;--accent-2:#36c6f0}.pcard{border:1px solid var(--line);height:100%;transition:transform .35s var(--ease), box-shadow .35s, border-color .35s;background:#fff;border-radius:24px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 16px 40px #142d6e14;container:pcard/inline-size}.pcard:hover{border-color:color-mix(in srgb, var(--accent) 30%, var(--line));box-shadow:0 26px 56px color-mix(in srgb, var(--accent) 18%, transparent);transform:translateY(-6px)}.pcard__cover{background:radial-gradient(ellipse at 0% 0%, color-mix(in srgb, var(--accent) 85%, transparent), transparent 55%), radial-gradient(ellipse at 100% 0%, color-mix(in srgb, var(--accent-2) 55%, transparent), transparent 50%), linear-gradient(180deg, color-mix(in srgb, var(--accent-2) 30%, #fff) 0%, color-mix(in srgb, var(--accent-2) 10%, #fff) 70%, #fff 100%);min-height:200px;padding:50px 22px 34px;position:relative}.pcard__wave{fill:#fff;width:100%;height:34px;position:absolute;bottom:-1px;left:0;right:0}.pcard__no{color:#0000;font:800 34px/1 var(--font-display);letter-spacing:-1px;-webkit-text-stroke:1.2px #ffffffbf;position:absolute;top:14px;left:22px}.pcard__status{z-index:1;color:#13854a;white-space:nowrap;background:#fff;border-radius:100px;align-items:center;gap:7px;padding:5px 11px;font-size:12px;font-weight:700;display:inline-flex;position:absolute;top:16px;left:74px;box-shadow:0 6px 16px #13854a38}@container pcard (width<=440px){.pcard .pcard__platforms li{gap:0;padding:6px;font-size:0}}.pcard__status i{background:#22b25c;border-radius:50%;width:8px;height:8px;animation:1.8s ease-in-out infinite roadmap-pulse-dot}.pcard__status--inline{vertical-align:middle;margin-left:10px;font-size:11.5px;position:static}.pcard__brand{z-index:1;align-items:center;gap:22px;display:flex;position:relative}.pcard__logo{aspect-ratio:1;width:clamp(110px,11vw,150px);transition:transform .4s var(--ease);flex-shrink:0;place-items:center;display:grid}.pcard:hover .pcard__logo{transform:scale(1.04)}.pcard__logo img{object-fit:contain;width:100%;height:100%}.pcard__logo--square{background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 12px 28px #142d6e2e}.pcard__logo--square img{transform:scale(1.1)}.pcard__logo--circle img{border-radius:50%;transform:scale(1.06);box-shadow:0 12px 28px #142d6e40}.pcard__divider{background:color-mix(in srgb, var(--accent) 35%, transparent);border-radius:2px;align-self:stretch;width:1.5px;margin:8px 0}.pcard__brand-copy{gap:4px;min-width:0;display:grid}.pcard__brand-name{color:color-mix(in srgb, var(--accent) 55%, #0b1633);font:800 clamp(22px, 2.1vw, 30px)/1.1 var(--font-display);letter-spacing:-.5px}.pcard--blue .pcard__brand-name{color:var(--blue)}.pcard__brand-name span{color:#3aa935}.pcard__brand-category{color:#14254f;font:700 clamp(16px, 1.45vw, 20px)/1.2 var(--font-display)}.pcard__brand-subtitle{color:#4a5675;font-size:clamp(13px,1.1vw,15px);line-height:1.35}.pcard__platforms{z-index:1;gap:6px;display:flex;position:absolute;top:16px;right:18px}.pcard__platforms li{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff2e;border:1px solid #ffffff73;border-radius:100px;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.pcard__body{flex-direction:column;flex:1;gap:10px;padding:14px 24px 24px;display:flex}.pcard__product{color:var(--accent);letter-spacing:.4px;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.pcard__product span{background:color-mix(in srgb, var(--accent) 10%, #fff);letter-spacing:0;border-radius:100px;padding:3px 9px;font-size:11.5px;font-weight:600}.pcard h3{color:var(--ink);font-size:19px;font-weight:700;line-height:1.3}.pcard__role{color:var(--muted);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.pcard__desc{color:var(--text);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.pcard__more{color:var(--accent);background:0 0;border:0;align-self:flex-start;margin-top:-6px;padding:0;font-size:13.5px;font-weight:600}.pcard__more:hover{text-decoration:underline}.pcard__highlights{flex-wrap:wrap;gap:7px;display:flex}.pcard__highlights li{border:1px solid color-mix(in srgb, var(--accent) 18%, #fff);background:color-mix(in srgb, var(--accent) 6%, #fff);color:var(--ink);border-radius:9px;align-items:center;gap:6px;padding:6px 11px;font-size:12.5px;font-weight:600;display:inline-flex}.pcard__highlights li:before{content:"";background:linear-gradient(135deg, var(--accent-2), var(--accent));border-radius:50%;width:7px;height:7px}.pcard__mobile{border:1px solid color-mix(in srgb, var(--green) 35%, #fff);background:color-mix(in srgb, var(--green) 8%, #fff);color:var(--ink);border-radius:12px;flex-wrap:wrap;align-self:flex-start;align-items:center;gap:7px;padding:8px 12px;font-size:13px;font-weight:600;transition:border-color .2s,background .2s;display:inline-flex}.pcard__mobile:hover{border-color:var(--green);background:color-mix(in srgb, var(--green) 14%, #fff)}.pcard__mobile>svg{color:var(--green)}.pcard__mobile span{background:linear-gradient(135deg, #4f8bff, var(--purple));color:#fff;border-radius:100px;align-items:center;gap:3px;padding:2px 8px;font-size:11px;display:inline-flex}.pcard__footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:16px;display:flex}.pcard__stack{flex-wrap:wrap;gap:8px;display:flex}.pcard__stack li{border:1px solid var(--line);background:#fff;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 6px 14px #142d6e14}.pcard__stack svg{width:20px;height:20px}.pcard__cta{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;box-shadow:0 12px 26px color-mix(in srgb, var(--accent) 28%, transparent);border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;margin-top:6px;padding:13px 18px;font-size:14.5px;font-weight:600;transition:filter .2s,box-shadow .2s;display:inline-flex}.pcard__cta svg{transition:transform .25s var(--ease)}.pcard__cta:hover{filter:brightness(1.06);box-shadow:0 16px 32px color-mix(in srgb, var(--accent) 38%, transparent)}.pcard__cta:hover svg{transform:translate(2px,-2px)}.project-links{flex-wrap:wrap;gap:8px;display:flex}.project-links__item{border:1px solid var(--line);color:var(--ink);transition:background .2s, border-color .2s, transform .2s var(--ease);background:#fff;border-radius:10px;align-items:center;gap:7px;padding:7px 12px;font-size:13px;font-weight:600;display:inline-flex}.project-links__item:hover{border-color:var(--blue-line);background:var(--blue-soft);transform:translateY(-2px)}.project-links__item--playstore>svg:first-child{color:#16a05a}.project-links__item--appstore>svg:first-child{color:#0d96f6}.project-links__item--web>svg:first-child{color:var(--blue)}.project-links__ext{opacity:.5}.project-card__tag-logo{place-items:center;display:grid}.project-card__tag-logo svg{width:14px;height:14px}@media (width<=860px){.project-grid{grid-template-columns:1fr}}@media (width<=640px){.section-head{flex-direction:column;align-items:flex-start}.pcard__body{padding:12px 18px 20px}.pcard__cover{padding:48px 16px 30px}.pcard__brand{gap:14px}.pcard__logo{width:92px}}.journey{background:radial-gradient(circle at 0 0,#6c3ce912,#0000 30%),radial-gradient(circle at 100% 100%,#1554f014,#0000 35%),linear-gradient(#f5f8fe 0%,#eef3ff 100%);padding:60px 0 64px;position:relative;overflow:hidden}.journey__head{text-align:center}.journey__head p:last-child{color:var(--text);margin-top:8px;font-size:15px}.roadmap{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin:40px 0 0;padding:0;list-style:none;display:grid;position:relative}.roadmap:before{content:"";opacity:.85;background:linear-gradient(90deg,#6c3ce9,#f07a2c,#1554f0);border-radius:4px;height:4px;position:absolute;top:26px;left:16.6667%;right:16.6667%}.roadmap__step{--tone:var(--blue);--tone-2:#4f8bff}.roadmap__step--purple{--tone:#6c3ce9;--tone-2:#a06bff}.roadmap__step--orange{--tone:#f07a2c;--tone-2:#ffb347}.roadmap__step>.reveal{justify-items:center;gap:20px;height:100%;display:grid}.roadmap__node{z-index:1;background:linear-gradient(135deg, var(--tone-2), var(--tone));color:#fff;width:56px;height:56px;box-shadow:0 0 0 6px #fff, 0 10px 24px color-mix(in srgb, var(--tone) 40%, transparent);border-radius:50%;place-items:center;display:grid;position:relative}.roadmap__pulse{border:2px solid var(--tone);border-radius:50%;animation:2s ease-out infinite roadmap-pulse;position:absolute;inset:-6px}.roadmap__card{border:1px solid color-mix(in srgb, var(--tone) 18%, var(--line));border-top:4px solid var(--tone);width:100%;height:100%;box-shadow:0 10px 28px color-mix(in srgb, var(--tone) 10%, transparent);transition:transform .3s var(--ease), box-shadow .3s;background:#fff;border-radius:18px;align-content:start;gap:4px;padding:20px 22px 22px;display:grid;position:relative}.roadmap__card:hover{box-shadow:0 18px 36px color-mix(in srgb, var(--tone) 20%, transparent);transform:translateY(-4px)}.roadmap__card.is-current{background:linear-gradient(160deg, color-mix(in srgb, var(--tone) 7%, #fff), #fff 55%);box-shadow:0 16px 36px color-mix(in srgb, var(--tone) 22%, transparent)}.roadmap__meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.roadmap__step-no{color:var(--tone);letter-spacing:1.5px;text-transform:uppercase;font-size:11.5px;font-weight:700}.roadmap__badge{background:linear-gradient(135deg, var(--tone-2), var(--tone));color:#fff;border-radius:100px;padding:3px 10px;font-size:11.5px;font-weight:600}.roadmap__period{color:var(--muted);font-size:12.5px;font-weight:600}.roadmap__card h3{font-size:17px;font-weight:700;line-height:1.3}.roadmap__subtitle{color:var(--ink);font-size:13px;font-weight:500}.roadmap__card ul{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.roadmap__card li{color:var(--text);padding-left:18px;font-size:13px;line-height:1.5;position:relative}.roadmap__card li:before{content:"";background:linear-gradient(135deg, var(--tone-2), var(--tone));border-radius:3px;width:9px;height:9px;position:absolute;top:.45em;left:0}.strengths{margin-top:64px}.strengths__groups{gap:34px;margin-top:34px;display:grid}.strengths__group--technical{--tone:var(--blue);--tone-2:#4f8bff}.strengths__group--interpersonal{--tone:#6c3ce9;--tone-2:#a06bff}.strengths__label{align-items:center;gap:12px;margin-bottom:16px;display:flex}.strengths__label:after{content:"";background:linear-gradient(90deg, color-mix(in srgb, var(--tone) 35%, transparent), transparent);flex:1;order:3;height:1px}.strengths__label-icon{background:linear-gradient(135deg, var(--tone-2), var(--tone));color:#fff;width:40px;height:40px;box-shadow:0 8px 18px color-mix(in srgb, var(--tone) 28%, transparent);border-radius:12px;flex:none;place-items:center;display:grid}.strengths__label h3{font-size:17px;font-weight:700;line-height:1.2}.strengths__label small{color:var(--muted);margin-top:2px;font-size:12.5px;display:block}.strengths__count{background:color-mix(in srgb, var(--tone) 12%, #fff);color:var(--tone);border-radius:100px;order:4;padding:3px 10px;font-size:12px;font-weight:700}.strengths__grid{gap:14px;margin:0;padding:0;list-style:none;display:grid}.strengths__group--technical .strengths__grid{grid-template-columns:repeat(5,minmax(0,1fr))}.strengths__group--interpersonal .strengths__grid{grid-template-columns:repeat(4,minmax(0,1fr))}.strengths__grid>li,.strengths__grid>li>.reveal{height:100%}.strength-card{border:1px solid color-mix(in srgb, var(--tone) 16%, var(--line));background:linear-gradient(160deg, color-mix(in srgb, var(--tone) 6%, #fff), #fff 60%);height:100%;box-shadow:var(--shadow-sm);transition:transform .25s var(--ease), box-shadow .25s, border-color .25s;border-radius:16px;align-content:start;gap:8px;padding:18px;display:grid}.strengths__group--technical .strength-card{border-top:3px solid var(--tone)}.strength-card:hover{border-color:color-mix(in srgb, var(--tone) 40%, var(--line));box-shadow:0 14px 30px color-mix(in srgb, var(--tone) 16%, transparent);transform:translateY(-4px)}.strength-card__top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.strength-card__icon{background:color-mix(in srgb, var(--tone) 12%, #fff);width:40px;height:40px;color:var(--tone);border-radius:12px;place-items:center;transition:background .25s,color .25s;display:grid}.strengths__group--interpersonal .strength-card__icon{border-radius:50%}.strength-card:hover .strength-card__icon{background:linear-gradient(135deg, var(--tone-2), var(--tone));color:#fff}.strength-card__logos{gap:4px;display:flex}.strength-card__logos>span{border:1px solid var(--line);background:#fff;border-radius:50%;width:28px;height:28px}.strength-card h4{font-size:15px;font-weight:600;line-height:1.3}.strength-card p{color:var(--text);font-size:13px;line-height:1.55}.about{border:1px solid var(--line);box-shadow:var(--shadow-md);background:#fff;border-radius:24px;grid-template-columns:320px minmax(0,1fr);margin-top:56px;display:grid;overflow:hidden}.about__profile{color:#fff;text-align:center;background:radial-gradient(#ffffff1a 1.2px,#0000 1.2px) 0 0/16px 16px,linear-gradient(160deg,#0b1633 0%,#1a3a9c 60%,#1554f0 100%);align-content:start;justify-items:center;gap:6px;padding:32px 24px;display:grid;position:relative}.about__avatar{width:84px;height:84px;font:700 28px/1 var(--font-display);letter-spacing:-1px;background:linear-gradient(135deg,#4f8bff,#a06bff);border:4px solid #ffffff40;border-radius:50%;place-items:center;margin-bottom:8px;display:grid}.about__profile strong{font:700 19px/1.2 var(--font-display)}.about__profile small{color:#ffffffbf;font-size:13px}.about__status{color:#b9f5cf;background:#22b25c2e;border:1px solid #3fd18a66;border-radius:100px;align-items:center;gap:7px;margin-top:6px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex}.about__status i{background:#3fd18a;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #3fd18a40}.about__facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;margin:16px 0 0;display:grid}.about__facts>div{text-align:left;background:#ffffff14;border:1px solid #ffffff24;border-radius:12px;padding:10px 12px}.about__facts dt{color:#ffffffb3;align-items:center;gap:6px;font-size:11.5px;display:flex}.about__facts dd{margin:3px 0 0;font-size:13px;font-weight:600;line-height:1.35}.about__linkedin{color:#fff;width:100%;transition:transform .2s var(--ease), filter .2s;background:#0a66c2;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-top:14px;padding:11px 14px;font-size:13.5px;font-weight:600;display:inline-flex;box-shadow:0 10px 22px #00000040}.about__linkedin:hover{filter:brightness(1.1);transform:translateY(-2px)}.about__body{align-content:start;gap:14px;padding:32px 34px;display:grid}.about__body h2{margin:0}.about__lead{color:var(--text);font-size:15px;line-height:1.7}.about__focus{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:4px 0 0;padding:0;list-style:none;display:grid}.about__focus-item{--tone:var(--blue);--tone-2:#4f8bff;border:1px solid color-mix(in srgb, var(--tone) 18%, #fff);background:linear-gradient(150deg, color-mix(in srgb, var(--tone) 10%, #fff), #fff 70%);border-radius:14px;align-content:start;gap:6px;padding:14px;display:grid}.about__focus-item--purple{--tone:#6c3ce9;--tone-2:#a06bff}.about__focus-item--green{--tone:#16a05a;--tone-2:#3fd18a}.about__focus-icon{background:linear-gradient(135deg, var(--tone-2), var(--tone));color:#fff;border-radius:10px;place-items:center;width:36px;height:36px;margin-bottom:2px;display:grid}.about__focus-item strong{color:var(--ink);font:600 14px/1.3 var(--font-display)}.about__focus-item small{color:var(--muted);font-size:12.5px;line-height:1.45}.about__more{border-left:3px solid var(--blue);animation:fade-in .4s var(--ease);gap:8px;padding-left:14px;display:grid}.about__more p{color:var(--text);font-size:14px;line-height:1.65}.about__footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:4px;display:flex}.about__stack{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.about__stack li{border:1px solid var(--line);color:var(--ink);background:#f7f9fd;border-radius:100px;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:500;display:inline-flex}@keyframes roadmap-pulse{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.45)}}@media (width<=1200px){.strengths__group--technical .strengths__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1000px){.about{grid-template-columns:1fr}.about__facts{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=860px){.roadmap{grid-template-columns:1fr;gap:18px}.roadmap:before{background:linear-gradient(#6c3ce9,#f07a2c,#1554f0);width:4px;height:auto;inset:0 auto 0 26px}.roadmap__step>.reveal{grid-template-columns:56px minmax(0,1fr);align-items:start;gap:16px}.strengths{margin-top:48px}.strengths__group--technical .strengths__grid,.strengths__group--interpersonal .strengths__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.strengths__group--technical .strengths__grid>li:last-child{grid-column:1/-1}}@media (width<=520px){.strengths__group--technical .strengths__grid,.strengths__group--interpersonal .strengths__grid{grid-template-columns:1fr}.strengths__label small{display:none}}@media (width<=640px){.about__facts{grid-template-columns:repeat(2,minmax(0,1fr))}.about__focus{grid-template-columns:1fr}.about__body{padding:24px 20px}}.reveal{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transform:translateY(22px)}.reveal.is-visible{opacity:1;transform:none}.hero__copy>*{animation:rise .8s var(--ease) both}.hero__copy>:nth-child(2){animation-delay:80ms}.hero__copy>:nth-child(3){animation-delay:.16s}.hero__copy>:nth-child(4){animation-delay:.24s}.hero__copy>:nth-child(5){animation-delay:.32s}.hero__visual{animation:fade-in 1s .15s var(--ease) both}@keyframes rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes float{0%,to{translate:0}50%{translate:0 -8px}}@keyframes morph{0%,to{border-radius:58% 42% 46% 54%/52% 48%}50%{border-radius:46% 54% 58% 42%/46% 56% 44% 54%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}
