:root{--bg:#191919;--bg-soft:#1f1f1f;--panel:#3a3a3a;--panel-soft:#2c2c2c;--accent:#013362;--accent-light:#0f5aa0;--accent-bright:#3d9bef;--text:#fff;--text-dim:#c9c9c9;--text-mute:#8f8f8f;--border:#ffffff1a;--border-soft:#ffffff0f;--shadow:0 20px 60px #00000073;--sans:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;--display:"Space Grotesk", "Inter", system-ui, sans-serif;--mono:ui-monospace, "Cascadia Code", Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}*{box-sizing:border-box}html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden}body{background:var(--bg);color:var(--text);font-family:var(--sans);max-width:100%;margin:0;font-size:16px;line-height:1.6;overflow-x:hidden}#root{min-height:100svh;position:relative}h1,h2,h3,h4{font-family:var(--display);color:var(--text);letter-spacing:-.02em;margin:0;font-weight:600}p{color:var(--text-dim);margin:0}a{color:inherit;text-decoration:none}ul{margin:0;padding:0;list-style:none}button{cursor:pointer;font-family:inherit}img,svg{max-width:100%;display:block}::selection{background:var(--accent-light);color:#fff}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--panel);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--accent-light)}.container{width:min(1180px,100% - 48px);margin-inline:auto}@media (width<=640px){.container{width:min(1180px,100% - 32px)}}.eyebrow{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-bright);align-items:center;gap:8px;font-size:13px;display:inline-flex}.eyebrow:before{content:"";background:var(--accent-bright);width:24px;height:1px}.section{padding:120px 0;position:relative}@media (width<=860px){.section{padding:84px 0}}.section-head{max-width:640px;margin-bottom:56px}.section-head h2{margin-top:14px;font-size:clamp(28px,4vw,42px)}.section-head p{margin-top:16px;font-size:17px}.reveal{opacity:0;filter:blur(6px);will-change:opacity, transform, filter;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1),filter .7s cubic-bezier(.16,1,.3,1);transform:translateY(32px)scale(.96)}.reveal.is-visible{opacity:1;filter:blur();transform:translateY(0)scale(1)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;filter:none;transition:none;transform:none}}.loader{z-index:999;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.loader--leaving{pointer-events:none}.loader__panel{background:var(--bg);width:50.5%;transition:transform .65s cubic-bezier(.76,0,.24,1);position:absolute;top:0;bottom:0}.loader__panel--left{background:radial-gradient(circle at 100% 50%, #3d9bef29, transparent 60%), repeating-linear-gradient(-18deg, #ffffff06 0 1px, transparent 1px 64px), var(--bg);left:0}.loader__panel--right{background:radial-gradient(circle at 0% 50%, #3d9bef29, transparent 60%), repeating-linear-gradient(-18deg, #ffffff06 0 1px, transparent 1px 64px), var(--bg);right:0}.loader--leaving .loader__panel--left{transition-delay:.15s;transform:translate(-100%)}.loader--leaving .loader__panel--right{transition-delay:.15s;transform:translate(100%)}.loader__content{z-index:2;text-align:center;flex-direction:column;align-items:center;gap:18px;transition:opacity .4s,transform .4s,filter .4s;display:flex;position:relative}.loader--leaving .loader__content{opacity:0;filter:blur(10px);transform:scale(1.08)}.loader__eyebrow{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-mute);align-items:center;gap:10px;font-size:13px;animation:.7s cubic-bezier(.16,1,.3,1) 50ms both loaderIn;display:inline-flex}.loader__dot{background:var(--accent-bright);border-radius:50%;width:7px;height:7px;animation:2.2s infinite pulse;box-shadow:0 0 #3d9bef99}.loader__name{flex-direction:column;gap:.06em;font-size:clamp(48px,9vw,104px);line-height:1.08;display:flex}.loader__line{opacity:0;background:linear-gradient(#fff 40%,#c7ddf5 100%);color:#0000;-webkit-background-clip:text;background-clip:text;animation:.85s cubic-bezier(.16,1,.3,1) .12s both loaderIn,2.6s ease-in-out 1s infinite alternate loaderGlow;display:block}.loader__meter{font-family:var(--mono);color:var(--accent-bright);align-items:baseline;gap:2px;animation:.7s cubic-bezier(.16,1,.3,1) .35s both loaderIn;display:flex}.loader__count{font-variant-numeric:tabular-nums;text-align:right;min-width:2.4ch;font-size:34px;font-weight:600}.loader__percent{color:var(--text-mute);font-size:16px}.loader__bar{background:#ffffff14;border-radius:999px;width:180px;height:3px;animation:.7s cubic-bezier(.16,1,.3,1) .45s both loaderIn;overflow:hidden}.loader__bar-fill{background:linear-gradient(90deg, var(--accent), var(--accent-bright));border-radius:999px;height:100%;transition:width .15s ease-out;display:block}.loader__credit{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-mute);font-size:11.5px;animation:.7s cubic-bezier(.16,1,.3,1) .55s both loaderIn}@keyframes loaderIn{0%{opacity:0;filter:blur(6px);transform:translateY(18px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes loaderGlow{0%{text-shadow:0 0 24px #3d9bef00}to{text-shadow:0 0 32px #3d9bef8c}}@media (prefers-reduced-motion:reduce){.loader__panel,.loader__content,.loader__eyebrow,.loader__line,.loader__meter,.loader__bar,.loader__credit{transition:none!important;animation:none!important}}@media (width<=640px){.loader__bar{width:140px}}.lines-canvas{z-index:0;pointer-events:none;opacity:.7;position:fixed;inset:0}main{z-index:1;position:relative}.btn{white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:14px 28px;font-size:15px;font-weight:600;transition:transform .25s,box-shadow .25s,background .25s,border-color .25s;display:inline-flex}.btn--primary{background:linear-gradient(135deg, var(--accent-light), var(--accent));color:#fff;box-shadow:0 10px 30px -8px #0f5aa099}.btn--primary:is(:hover,.is-auto){transform:translateY(-2px);box-shadow:0 16px 36px -8px #3d9bef8c}.btn--ghost{color:var(--text);border-color:var(--border);background:#ffffff08}.btn--ghost:is(:hover,.is-auto){border-color:var(--accent-bright);background:#ffffff12;transform:translateY(-2px)}.btn--fill{isolation:isolate;position:relative;overflow:hidden}.btn--fill:before{content:"";z-index:-1;background:linear-gradient(180deg, var(--accent-bright), var(--accent));height:0%;transition:height .5s cubic-bezier(.65,0,.35,1);position:absolute;bottom:0;left:0;right:0}.btn--fill:is(:hover,.is-auto):before{height:100%}.btn--fill.btn--ghost:is(:hover,.is-auto){border-color:var(--accent-bright);background:0 0}.btn__label,.btn__icon{justify-content:center;align-items:center;transition:opacity .3s,transform .3s;display:inline-flex}.btn__icon{opacity:0;color:#fff;position:absolute;inset:0;transform:translateY(8px)scale(.6)}.btn--fill:is(:hover,.is-auto) .btn__label{opacity:0;transform:translateY(-10px)}.btn--fill:is(:hover,.is-auto) .btn__icon{opacity:1;transition-delay:.1s;transform:translateY(0)scale(1)}.btn--whatsapp:before{background:linear-gradient(#25d366,#0e7a63)}.btn--whatsapp:is(:hover,.is-auto){border-width:2px;border-color:#8dffc4;box-shadow:0 16px 36px -8px #25d3668c}.nav{z-index:50;border-bottom:1px solid #0000;padding:22px 0;transition:padding .3s,background .3s,border-color .3s;position:fixed;top:0;left:0;right:0}.nav.is-scrolled{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:var(--border-soft);background:#191919c7;padding:14px 0}.nav__inner{justify-content:space-between;align-items:center;gap:24px;display:flex}.nav__brand{font-family:var(--display);letter-spacing:.02em;white-space:nowrap;font-size:22px;font-weight:700}.nav__brand-dot,.nav__brand-accent{color:var(--accent-bright)}.nav__links{color:var(--text-dim);align-items:center;gap:30px;font-size:15px;display:flex}.nav__links a{transition:color .2s}.nav__links a:hover{color:var(--text)}.nav__cta{background:var(--accent);border-radius:999px;padding:10px 20px;font-weight:600;color:#fff!important}.nav__cta:hover{background:var(--accent-light)}.nav__toggle{background:0 0;border:none;flex-direction:column;gap:5px;padding:8px;display:none}.nav__toggle span{background:var(--text);border-radius:2px;width:22px;height:2px;transition:transform .25s,opacity .25s}@media (width<=1020px){.nav__toggle{display:flex}.nav__links{background:var(--panel-soft);border:1px solid var(--border);opacity:0;pointer-events:none;border-radius:16px;flex-direction:column;align-items:stretch;gap:4px;padding:12px;transition:opacity .25s,transform .25s;position:fixed;inset:70px 16px auto;transform:translateY(-12px)}.nav__links.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.nav__links a{border-radius:10px;padding:12px 14px}.nav__links a:hover{background:#ffffff0a}.nav__cta{text-align:center;margin-top:4px}.nav__toggle.is-open span:first-child{transform:translateY(7px)rotate(45deg)}.nav__toggle.is-open span:nth-child(2){opacity:0}.nav__toggle.is-open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}}.hero{align-items:center;min-height:100svh;padding:140px 0 80px;display:flex;position:relative}.hero:before{content:"";filter:blur(10px);pointer-events:none;z-index:-1;background:radial-gradient(circle,#0133628c,#0000 65%);width:900px;max-width:160vw;height:900px;position:absolute;top:12%;left:50%;transform:translate(-50%)}.hero__inner{flex-direction:column;align-items:flex-start;gap:22px;display:flex}.hero__badge{border:1px solid var(--border);color:var(--text-dim);background:#ffffff08;border-radius:999px;align-items:center;gap:10px;padding:8px 16px;font-size:13px;display:inline-flex}.hero__dot{background:var(--accent-bright);border-radius:50%;width:8px;height:8px;animation:2.2s infinite pulse;box-shadow:0 0 #3d9bef99}@keyframes pulse{0%{box-shadow:0 0 #3d9bef8c}70%{box-shadow:0 0 0 10px #3d9bef00}to{box-shadow:0 0 #3d9bef00}}.hero__name{background:linear-gradient(#fff 40%,#c7ddf5 100%);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(58px,11vw,128px);font-weight:700;line-height:.95}.hero__role{font-family:var(--display);flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.hero__role-label{color:var(--text-mute);font-size:16px;font-family:var(--sans)}.role-rotator{min-height:1.3em;display:inline-block;overflow:hidden}.role-rotator__text{color:var(--accent-bright);font-size:clamp(20px,3vw,32px);font-weight:600;transition:opacity .32s,transform .32s;display:inline-block}.role-rotator__text.is-fading{opacity:0;transform:translateY(8px)}.hero__tagline{max-width:560px;color:var(--text-dim);font-size:18px}.hero__actions{flex-wrap:wrap;gap:16px;margin-top:8px;display:flex}.hero__stats{border-top:1px solid var(--border-soft);flex-wrap:wrap;gap:40px;width:100%;margin-top:36px;padding-top:32px;display:flex}.hero__stat{flex-direction:column;gap:4px;display:flex}.hero__stat strong{font-family:var(--display);color:var(--text);font-size:28px}.hero__stat span{color:var(--text-mute);font-size:13px}.hero__scroll{border:1px solid var(--border);border-radius:20px;justify-content:center;width:26px;height:42px;padding-top:8px;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.hero__scroll span{background:var(--accent-bright);border-radius:4px;width:4px;height:8px;animation:1.8s infinite scrollDot}@keyframes scrollDot{0%{opacity:1;transform:translateY(0)}70%{opacity:0;transform:translateY(14px)}to{opacity:0;transform:translateY(0)}}@media (width<=640px){.hero__scroll{display:none}}.about__grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:60px;display:grid}.about__body{flex-direction:column;gap:20px;display:flex}.about__paragraph{font-size:17px;line-height:1.75}.about__facts{background:var(--panel-soft);border:1px solid var(--border);border-radius:16px;flex-wrap:wrap;gap:28px;margin-top:12px;padding:20px 24px;display:flex}.about__fact{flex-direction:column;gap:4px;font-size:15px;display:flex}.about__fact-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-mute);font-size:12px}@media (width<=900px){.about__grid{grid-template-columns:1fr;gap:32px}}.experience__list{flex-direction:column;display:flex}.experience__card{grid-template-columns:32px 1fr;gap:24px;display:grid}.experience__marker{flex-direction:column;align-items:center;display:flex}.experience__dot{background:var(--panel);border:2px solid var(--accent-bright);border-radius:50%;flex-shrink:0;width:14px;height:14px}.experience__dot.is-current{background:var(--accent-bright);box-shadow:0 0 0 4px #3d9bef33}.experience__line{background:var(--border);flex:1;width:2px;margin:6px 0}.experience__content{background:var(--panel-soft);border:1px solid var(--border);border-radius:18px;margin-bottom:32px;padding:32px;transition:border-color .25s,transform .25s}.experience__content:hover{border-color:var(--accent-light);transform:translateY(-3px)}.experience__top{align-items:center;gap:12px;margin-bottom:10px;display:flex}.experience__period{font-family:var(--mono);color:var(--accent-bright);letter-spacing:.04em;font-size:13px}.experience__badge{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-bright);background:#3d9bef26;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}.experience__content h3{margin-bottom:6px;font-size:22px}.experience__company{color:var(--text-dim);margin-bottom:14px;font-size:15px}.experience__cnpj{color:var(--text-mute);font-size:13px;font-family:var(--mono)}.experience__summary{margin-bottom:18px;font-size:15px}.experience__highlights{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;display:grid}.experience__highlights li{color:var(--text-dim);padding-left:20px;font-size:14.5px;position:relative}.experience__highlights li:before{content:"";background:var(--accent-bright);width:8px;height:2px;position:absolute;top:8px;left:0}@media (width<=640px){.experience__highlights{grid-template-columns:1fr}.experience__content{padding:22px}}.education__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:64px;display:grid}.education__card{background:var(--panel-soft);border:1px solid var(--border);border-radius:16px;padding:26px;transition:transform .25s,border-color .25s}.education__card:hover{border-color:var(--accent-light);transform:translateY(-3px)}.education__row{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.education__period{font-family:var(--mono);color:var(--text-mute);font-size:13px}.education__status{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);background:#ffffff0f;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}.education__status.is-progress{color:var(--accent-bright);background:#3d9bef26}.education__status.is-done{color:#22c55e;background:#22c55e26}.education__card h3{margin-bottom:4px;font-size:19px}.education__place{color:var(--accent-bright);margin-bottom:10px;font-size:14px;display:block}.education__card p{font-size:14.5px}.education__cert-link{font:inherit;color:var(--accent-bright);cursor:pointer;background:0 0;border:none;border-bottom:1px solid #0000;align-items:center;gap:6px;margin-top:12px;padding:0;font-size:13px;font-weight:600;transition:border-color .2s,opacity .2s;display:inline-flex}.education__cert-link:hover{border-color:var(--accent-bright)}.courses__title{margin-bottom:22px;font-size:20px}.courses__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.courses__item{background:var(--panel-soft);border:1px solid var(--border-soft);border-radius:12px;align-items:flex-start;gap:14px;padding:16px 18px;font-size:14px;display:flex}.courses__item strong{color:var(--text);margin-bottom:3px;font-size:14.5px;display:block}.courses__year{font-family:var(--mono);color:var(--accent-bright);border:1px solid var(--border);border-radius:8px;flex-shrink:0;padding:3px 8px;font-size:12px}.courses__place{color:var(--text-mute);font-size:12.5px}.courses__cert-link{width:fit-content;font:inherit;color:var(--accent-bright);cursor:pointer;background:0 0;border:none;border-bottom:1px solid #0000;margin-top:4px;padding:0;font-size:12px;font-weight:600;transition:border-color .2s;display:block}.courses__cert-link:hover{border-color:var(--accent-bright)}@media (width<=860px){.education__grid,.courses__grid{grid-template-columns:1fr}}.cert-modal{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#06080cd1;justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0}.cert-modal__panel{background:var(--panel);border:1px solid var(--border);border-radius:20px;flex-direction:column;width:min(860px,100%);height:min(920px,92vh);display:flex;overflow:hidden;box-shadow:0 60px 120px -40px #000000b3}.cert-modal__head{background:var(--bg-soft);border-bottom:1px solid var(--border);color:var(--text-mute);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;font-size:13px;display:flex}.cert-modal__close{border:1px solid var(--border);width:30px;height:30px;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:999px;flex-shrink:0;font-size:13px;transition:background .2s,color .2s}.cert-modal__close:hover{background:var(--accent-bright);color:#fff;border-color:var(--accent-bright)}.cert-modal__frame{background:#fff;border:none;flex:1;width:100%;min-height:0}@media (width<=720px){.cert-modal{padding:0}.cert-modal__panel{border-radius:0;height:100%}}.skills__stack{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:60px;display:grid}.tech-card{background:var(--panel-soft);border:1px solid var(--border);text-align:center;border-radius:16px;flex-direction:column;align-items:center;padding:30px 12px;transition:transform .25s,border-color .25s,background .25s;display:flex;overflow:hidden}.tech-card:hover{border-color:var(--accent-light);background:var(--panel);transform:translateY(-4px)}.tech-card__stage{width:100%;height:98px;position:relative}.tech-card__icon{justify-content:center;align-items:center;transition:transform .35s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)scale(1)}.tech-card__icon img,.tech-card__icon svg{object-fit:contain;filter:drop-shadow(0 10px 20px #3d9bef59);width:64px;height:64px}.tech-card:hover .tech-card__icon{transform:translate(calc(-50% - 34px))scale(.56)}.tech-card:hover .tech-card__icon img,.tech-card:hover .tech-card__icon svg{filter:drop-shadow(0 14px 28px #3d9bef8c)}.tech-card__name{white-space:nowrap;color:var(--text-dim);font-size:13.5px;font-weight:600;transition:opacity .2s;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.tech-card:hover .tech-card__name{opacity:0}.tech-card__exp{box-sizing:border-box;opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;height:64px;transition:opacity .3s 50ms,transform .35s cubic-bezier(.16,1,.3,1) 50ms;display:flex;position:absolute;top:0;left:calc(50% + 20px);right:8px;transform:translate(4px)}.tech-card:hover .tech-card__exp{opacity:1;transform:translate(0)}.tech-card__exp-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-mute);font-size:10.5px}.tech-card__exp-value{color:var(--accent-bright);font-size:14px;font-weight:700;line-height:1.25}@media (prefers-reduced-motion:reduce){.tech-card__icon,.tech-card__name,.tech-card__exp{transition:none}}@media (hover:none),(pointer:coarse){.tech-card,.tech-card:hover{transform:none}.tech-card__stage{flex-direction:column;align-items:center;gap:10px;height:auto;display:flex}.tech-card__icon,.tech-card:hover .tech-card__icon{position:static;transform:none}.tech-card__name,.tech-card:hover .tech-card__name{opacity:1;position:static;transform:none}.tech-card__exp,.tech-card:hover .tech-card__exp{opacity:1;pointer-events:auto;text-align:center;align-items:center;width:100%;height:auto;position:static;transform:none}}.skills__columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;display:grid}.skills__col h3{margin-bottom:18px;font-size:18px}.skills__list{flex-direction:column;gap:12px;display:flex}.skills__list li{color:var(--text-dim);padding-left:22px;font-size:14.5px;line-height:1.5;position:relative}.skills__list li:before{content:"";background:var(--accent);border:1px solid var(--accent-bright);border-radius:3px;width:9px;height:9px;position:absolute;top:7px;left:0}.skills-rotator__tabs{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.skills-rotator__tab{border:1px solid var(--border);color:var(--text-mute);background:#ffffff08;border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:600;transition:color .2s,border-color .2s,background .2s}.skills-rotator__tab:hover{color:var(--text);border-color:var(--accent-light)}.skills-rotator__tab.is-active{color:#fff;background:var(--accent);border-color:var(--accent-bright)}.skills-rotator__stage{min-height:190px}.skills-rotator__title{color:var(--accent-bright);margin-bottom:16px;font-size:17px;animation:.4s both skillTitleIn}.skills-rotator__chips{flex-wrap:wrap;gap:10px;display:flex}.skills-rotator__chip{background:var(--panel-soft);border:1px solid var(--border);color:var(--text-dim);border-radius:10px;padding:9px 16px;font-size:13.5px;animation:.45s both skillChipIn}@keyframes skillTitleIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes skillChipIn{0%{opacity:0;transform:translateY(10px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.skills-rotator__title,.skills-rotator__chip{animation:none}}@media (width<=900px){.skills__stack{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){.skills__stack{grid-template-columns:repeat(2,minmax(0,1fr))}.skills__columns{grid-template-columns:1fr;gap:32px}}.projects__grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:40px;margin-top:48px;display:grid}.project-card{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;border:1px solid var(--border);background:var(--panel-soft);border-radius:20px;padding:0;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s,border-color .35s;display:block;position:relative}.project-card:hover,.project-card:focus-visible{border-color:var(--accent-light);transform:translateY(-6px);box-shadow:0 30px 60px -24px #0000008c}@media (hover:hover) and (pointer:fine){.project-card{cursor:none}}.project-cursor{z-index:60;background:var(--accent-bright);color:#fff;white-space:nowrap;pointer-events:none;opacity:0;border-radius:999px;justify-content:center;align-items:center;padding:16px 26px;font-size:13.5px;font-weight:600;transition:transform .15s ease-out,opacity .2s;display:flex;position:fixed;top:0;left:0;transform:translate(-9999px,-9999px)scale(.4)}.project-cursor.is-visible{opacity:1}@media (hover:hover) and (pointer:fine){.project-cursor{display:flex}}@media not all and (hover:hover){.project-cursor{display:none}}.project-card__thumb{aspect-ratio:16/9;background:linear-gradient(135deg, var(--accent-light), var(--accent));border-radius:20px 20px 0 0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.project-card__tap-cta{background:var(--accent-bright);color:#fff;white-space:nowrap;border-radius:999px;padding:10px 20px;font-size:13px;font-weight:600;display:none;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 10px 24px -8px #0009}@media (hover:none),(pointer:coarse){.project-card__tap-cta{align-items:center;display:flex}}.project-card__thumb img{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform .5s}.project-card:hover .project-card__thumb img{transform:scale(1.04)}.project-card__initial{color:#ffffffd9;font-family:Space Grotesk,sans-serif;font-size:52px;font-weight:700}.project-card__base{justify-content:space-between;align-items:center;gap:12px;padding:20px 22px;display:flex}.project-card__base h3{font-size:18px}.project-card__tag{text-transform:uppercase;letter-spacing:.06em;color:var(--accent-bright);white-space:nowrap;background:#3d9bef1f;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600}.project-card__stack{flex-wrap:wrap;gap:14px;display:flex}.project-card__tech{color:var(--text-dim);align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:flex}.project-card__tech img,.project-card__tech svg{object-fit:contain;width:20px;height:20px}.project-card__private{color:var(--text-mute);border:1px dashed var(--border);text-align:center;white-space:nowrap;border-radius:999px;padding:8px 14px;font-size:12.5px;font-weight:600}.project-modal{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;pointer-events:none;background:#06080cd1;justify-content:center;align-items:center;padding:32px;transition:opacity .38s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;inset:0}.project-modal.is-visible{opacity:1;pointer-events:auto}.project-modal__panel{background:var(--panel);border:1px solid var(--border);opacity:0;border-radius:20px;flex-direction:column;width:min(1040px,100%);max-height:min(880px,92vh);transition:opacity .38s cubic-bezier(.16,1,.3,1),transform .38s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden;transform:translateY(26px)scale(.94);box-shadow:0 60px 120px -40px #000000b3}.project-modal.is-visible .project-modal__panel{opacity:1;transform:translateY(0)scale(1)}.project-modal__chrome{background:var(--bg-soft);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:16px;padding:14px 18px;display:flex}.project-modal__dots{gap:6px;display:flex}.project-modal__dots span{background:var(--border);border-radius:999px;width:10px;height:10px}.project-modal__url{color:var(--text-mute);background:var(--panel-soft);border:1px solid var(--border);text-align:center;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;flex:1;padding:6px 16px;font-size:12.5px;overflow:hidden}.project-modal__close{border:1px solid var(--border);width:30px;height:30px;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:999px;font-size:13px;transition:background .2s,color .2s}.project-modal__close:hover{background:var(--accent-bright);color:#fff;border-color:var(--accent-bright)}.project-modal__media{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden}.project-modal__media img,.project-modal__media video{object-fit:cover;width:100%;height:100%}.project-modal__media .project-card__initial{padding:60px 0;font-size:72px}.project-modal__footer{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:24px;padding:26px 28px;display:flex;overflow-y:auto}.project-modal__about{gap:16px;min-width:0;display:flex}.project-modal__icon{color:#fff;background:linear-gradient(135deg, var(--accent-light), var(--accent));border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-family:Space Grotesk,sans-serif;font-size:18px;font-weight:700;display:flex}.project-modal__text h3{margin-bottom:8px;font-size:19px}.project-modal__text p{color:var(--text-dim);margin-bottom:14px;font-size:14px;line-height:1.6}.project-modal__link{white-space:nowrap;flex-shrink:0;padding:12px 26px;font-size:13.5px}@media (width<=720px){.project-modal{padding:0}.project-modal__panel{border-radius:0;height:100%;max-height:100vh}.project-modal__footer{flex-direction:column}.project-modal__link{align-self:flex-start}}.contact__card{background:linear-gradient(160deg, var(--panel-soft), var(--bg-soft));border:1px solid var(--border);text-align:center;border-radius:28px;flex-direction:column;align-items:center;padding:64px 48px;display:flex;position:relative;overflow:hidden}.contact__glow{pointer-events:none;background:radial-gradient(circle,#01336280,#0000 70%);width:560px;height:560px;position:absolute;top:-140px;left:50%;transform:translate(-50%)}.contact__card .eyebrow{justify-content:center}.contact__card h2{max-width:620px;margin-top:16px;font-size:clamp(28px,4vw,40px)}.contact__card>p{max-width:540px;margin-top:16px;font-size:16px}.contact__actions{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:32px;display:flex}.contact__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%;margin-top:48px;display:grid}.contact__item{border:1px solid var(--border);text-align:left;background:#ffffff05;border-radius:14px;flex-direction:row;align-items:center;gap:14px;padding:18px 20px;font-size:14.5px;font-weight:600;transition:border-color .25s,transform .25s,box-shadow .25s;display:flex}.contact__icon{width:40px;height:40px;color:var(--accent-bright);background:#0185ff1f;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:background .25s,color .25s;display:flex}.contact__item:hover .contact__icon{background:var(--accent-bright);color:#fff}.contact__text{flex-direction:column;gap:6px;display:flex}.contact__item:hover{border-color:var(--accent-bright);transform:translateY(-6px);box-shadow:0 16px 32px -18px #0185ff73}.contact__card.is-visible .contact__item{animation:.7s cubic-bezier(.34,1.56,.64,1) both contactCardWave}.contact__card.is-visible .contact__item:first-child{animation-delay:.15s}.contact__card.is-visible .contact__item:nth-child(2){animation-delay:.32s}.contact__card.is-visible .contact__item:nth-child(3){animation-delay:.49s}@keyframes contactCardWave{0%{transform:translateY(0)}45%{transform:translateY(-14px)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.contact__card.is-visible .contact__item{animation:none}}.contact__label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-mute);font-size:12px;font-weight:500}@media (width<=720px){.contact__card{padding:44px 24px}.contact__grid{grid-template-columns:1fr}}.footer{z-index:1;border-top:1px solid var(--border-soft);padding:28px 0;position:relative}.footer__inner{color:var(--text-mute);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:13.5px;display:flex}.footer__meta{font-family:var(--mono)}
