:root{
  --bg:#06101c;--bg2:#0a1626;--panel:rgba(13,23,39,.72);--panel2:#101d31;--text:#f5f9ff;--muted:#aab9cd;--line:rgba(255,255,255,.10);--blue:#42a5ff;--cyan:#67e1ff;--gold:#f0c96e;--green:#3ee28e;--shadow:0 26px 70px rgba(0,0,0,.42);--shell:min(1220px,calc(100vw - 32px));--header-h:112px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:linear-gradient(180deg,#06101c,#091729 50%,#06101c);color:var(--text);font-family:'Manrope',system-ui,sans-serif;line-height:1.65;overflow-x:hidden}body.menu-open{overflow:hidden}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}button{font:inherit}.shell{width:var(--shell);margin-inline:auto}::selection{background:rgba(66,165,255,.3);color:#fff}
#particleCanvas{position:fixed;inset:0;z-index:-4;width:100%;height:100%;opacity:.65}.ambient-grid{position:fixed;inset:0;z-index:-5;background:radial-gradient(circle at 78% 8%,rgba(66,165,255,.18),transparent 28%),radial-gradient(circle at 18% 38%,rgba(103,225,255,.09),transparent 24%),radial-gradient(circle at 75% 72%,rgba(240,201,110,.08),transparent 26%),#06101c}.ambient-grid:after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(180deg,#000 0%,transparent 80%)}.cursor-glow{position:fixed;width:360px;height:360px;pointer-events:none;border-radius:50%;z-index:-2;background:radial-gradient(circle,rgba(66,165,255,.10),transparent 68%);transform:translate(-50%,-50%);filter:blur(8px)}
.site-header{position:sticky;top:0;z-index:100;background:rgba(5,14,24,.82);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.065)}.contact-bar{height:38px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.055);gap:20px}.contact-bar a{font-size:13px;color:#cbd8e9;display:flex;gap:8px;align-items:center;min-width:0}.top-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-whatsapp strong{color:#86f4b4}.wa-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(62,226,142,.10);animation:pulse 2s infinite}.nav{height:74px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:12px;min-width:max-content}.brand>img{width:52px;height:52px;border-radius:16px;object-fit:cover;box-shadow:0 10px 28px rgba(0,0,0,.3)}.brand>span{display:flex;flex-direction:column;line-height:1.15}.brand strong{font:700 17px 'Outfit'}.brand small{font-size:11px;color:#92a7c2;margin-top:4px}.nav-links{display:flex;gap:24px;margin-left:auto}.nav-links a{font-size:14px;color:#c8d5e7;position:relative}.nav-links a:after{content:'';position:absolute;left:0;bottom:-7px;width:100%;height:2px;background:linear-gradient(90deg,var(--cyan),var(--blue));transform:scaleX(0);transform-origin:right;transition:.3s}.nav-links a:hover:after{transform:scaleX(1);transform-origin:left}.nav-socials{display:flex;align-items:center;gap:9px}.social-icon{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);display:grid;place-items:center;font-weight:800;background:rgba(255,255,255,.035);transition:.25s}.social-icon:hover{transform:translateY(-3px);border-color:rgba(103,225,255,.3)}.social-icon.github{background:#f7fbff;color:#0c1220;border-color:#f7fbff}.social-icon.github svg{width:22px;height:22px;fill:currentColor}.social-icon.linkedin{background:#0b66c3;color:#fff}.nav-cta{padding:10px 14px;border:1px solid rgba(103,225,255,.3);border-radius:13px;background:linear-gradient(135deg,rgba(66,165,255,.17),rgba(103,225,255,.06));font-size:13px;font-weight:800}.menu-toggle{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.03);padding:10px}.menu-toggle span{display:block;height:2px;background:#fff;margin:5px 0;border-radius:2px}
.hero{min-height:calc(100svh - var(--header-h));display:grid;grid-template-columns:1.03fr .97fr;gap:40px;align-items:center;padding:28px 0 26px}.hero-copy{position:relative;z-index:2}.availability{display:inline-flex;align-items:center;gap:9px;padding:8px 12px;border-radius:999px;border:1px solid rgba(62,226,142,.18);background:rgba(62,226,142,.07);font-size:12px;font-weight:800;color:#d9ffea}.availability i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 15px rgba(62,226,142,.7)}.overline{font-size:12px;letter-spacing:.24em;color:#8ebfe5;margin:20px 0 12px;font-weight:800}.hero h1{font-family:'Outfit';font-size:clamp(46px,5vw,76px);line-height:.98;letter-spacing:-.045em;margin:0 0 22px;max-width:770px}.hero h1 span{background:linear-gradient(95deg,#fff 0%,#87e8ff 37%,#4a9eff 72%,#e9f7ff);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-lead{max-width:700px;font-size:16.5px;color:#b5c2d4;margin:0}.hero-lead strong{color:#f7fbff}.typing-line{margin-top:20px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:15px 17px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.025);max-width:680px}.typing-line span{font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:#8da4c0}.typing-line strong{font:700 18px 'Outfit';color:#fff;transition:opacity .2s}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.btn{min-height:51px;padding:0 19px;border-radius:15px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-weight:800;font-size:14px;transition:transform .25s,box-shadow .25s,border-color .25s}.btn.primary{background:linear-gradient(135deg,#7ce7ff,#3c9cff);color:#05111c;box-shadow:0 18px 40px rgba(66,165,255,.22)}.btn.ghost{border:1px solid var(--line);background:rgba(255,255,255,.025)}.btn:hover{transform:translateY(-3px)}.hero-contact-row{display:grid;grid-template-columns:1fr 1.25fr;gap:10px;margin-top:15px}.hero-contact-row a{padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.025);min-width:0}.hero-contact-row small{display:block;font-size:10px;letter-spacing:.14em;color:#81bce7}.hero-contact-row strong{display:block;font-size:13px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-proof{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:17px}.hero-proof div{padding:12px 10px;border-left:1px solid rgba(255,255,255,.1)}.hero-proof strong{display:block;font:800 23px 'Outfit'}.hero-proof span{display:block;color:#8294ab;font-size:10.5px;margin-top:3px}.hero-visual{position:relative;height:min(65vh,650px);min-height:510px;display:grid;place-items:center;align-self:center}.portrait-card{width:min(100%,590px);height:100%;position:relative;border-radius:32px;overflow:hidden;border:1px solid rgba(255,255,255,.13);background:#0d1929;box-shadow:0 34px 90px rgba(0,0,0,.48);transform-style:preserve-3d}.portrait-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 54%,rgba(4,12,21,.36) 72%,rgba(4,12,21,.88) 100%);pointer-events:none}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:50% 18%;filter:saturate(.95) contrast(1.02)}.portrait-logo{position:absolute;left:18px;top:18px;z-index:2;width:68px;height:68px;border-radius:18px;overflow:hidden;box-shadow:0 10px 25px rgba(0,0,0,.3)}.portrait-status{position:absolute;right:16px;bottom:64px;z-index:3;display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:rgba(6,16,28,.8);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(12px);font-size:11px}.portrait-status i{width:7px;height:7px;border-radius:50%;background:var(--green)}.portrait-quote{position:absolute;left:18px;right:18px;bottom:16px;z-index:3;font:700 14px 'Outfit';letter-spacing:.01em;color:#f7fbff}.portrait-orbit{position:absolute;border:1px solid rgba(103,225,255,.22);border-radius:50%;pointer-events:none;animation:orbitPulse 6s ease-in-out infinite}.orbit-a{width:82%;aspect-ratio:1;right:-10%;top:4%}.orbit-b{width:58%;aspect-ratio:1;left:-5%;bottom:4%;border-color:rgba(240,201,110,.18);animation-delay:-2s}.float-tech{position:absolute;z-index:4;padding:9px 12px;border-radius:13px;border:1px solid rgba(255,255,255,.11);background:rgba(7,17,30,.75);backdrop-filter:blur(12px);font:700 11px 'Outfit';box-shadow:0 10px 30px rgba(0,0,0,.25);animation:floatTag 4.8s ease-in-out infinite}.float-android{left:-2%;top:16%;color:#8cffb5}.float-flutter{right:-1%;top:30%;color:#80dfff;animation-delay:-1.6s}.float-firebase{left:6%;bottom:12%;color:#ffd473;animation-delay:-3.1s}@keyframes floatTag{50%{transform:translateY(-12px) rotate(1deg)}}@keyframes orbitPulse{50%{transform:scale(1.04);opacity:.55}}
.proof-band{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--line);margin-top:16px}.proof-band div{background:rgba(9,20,35,.95);padding:19px 16px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}.proof-band span{grid-row:1/3;font-size:20px;color:var(--gold)}.proof-band strong{font:700 15px 'Outfit'}.proof-band small{font-size:11px;color:#8496ad;margin-top:1px}.tech-marquee{margin-top:28px;border-block:1px solid var(--line);overflow:hidden;background:rgba(255,255,255,.012)}.marquee-track{width:max-content;display:flex;align-items:center;gap:20px;padding:15px 0;animation:marquee 32s linear infinite}.marquee-track span{font:800 11px 'Outfit';letter-spacing:.18em;color:#8392a8}.marquee-track i{color:var(--cyan);font-style:normal}@keyframes marquee{to{transform:translateX(-50%)}}
.section{padding:96px 0}.section-heading{max-width:900px;margin-bottom:34px}.section-kicker{font:800 11px 'Outfit';letter-spacing:.18em;color:#82cfff;margin:0 0 10px}.section-heading h2,.contact-copy h2{font-family:'Outfit';font-size:clamp(36px,4.3vw,58px);line-height:1.05;letter-spacing:-.035em;margin:0}.section-heading h2 span,.contact-copy h2 span{background:linear-gradient(90deg,#fff,#6edfff,#4c9fff);-webkit-background-clip:text;background-clip:text;color:transparent}.section-heading>p:last-child{color:#9eacc0;font-size:15px;max-width:760px;margin:15px 0 0}
.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.service-card{border:1px solid var(--line);border-radius:26px;overflow:hidden;background:linear-gradient(150deg,rgba(255,255,255,.04),rgba(255,255,255,.012));box-shadow:var(--shadow);transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .35s;transform-style:preserve-3d}.service-card:hover{transform:translateY(-8px) scale(1.01);border-color:rgba(103,225,255,.28);box-shadow:0 30px 80px rgba(0,0,0,.46),0 0 0 1px rgba(66,165,255,.10) inset}.service-card>a{display:block;height:100%}.service-image{overflow:hidden;aspect-ratio:16/9;background:#091423}.service-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s}.service-card:hover .service-image img{transform:scale(1.045);filter:saturate(1.06) brightness(1.03)}.service-body{padding:22px}.service-body>span{font:800 10px 'Outfit';letter-spacing:.15em;color:#82cfff}.service-body h3{font:700 25px 'Outfit';letter-spacing:-.02em;margin:8px 0 9px}.service-body p{margin:0;color:#95a4b9;font-size:14px}.service-body ul{display:flex;gap:7px;flex-wrap:wrap;list-style:none;padding:0;margin:16px 0}.service-body li{font-size:10.5px;color:#c6d3e5;border:1px solid var(--line);padding:6px 8px;border-radius:999px;background:rgba(255,255,255,.025)}.learn{display:inline-flex;gap:8px;align-items:center;color:#78dbff;font-size:12px}.logo-visual{aspect-ratio:16/9;position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(66,165,255,.22),transparent 32%),linear-gradient(145deg,#071322,#0b1830)}.logo-visual>img{width:180px;border-radius:34px;position:relative;z-index:2;box-shadow:0 28px 70px rgba(0,0,0,.5);transition:.5s}.logo-service:hover .logo-visual>img{transform:scale(1.07) rotate(-2deg)}.logo-halo{position:absolute;width:320px;height:320px;border-radius:50%;border:1px solid rgba(103,225,255,.18);box-shadow:0 0 50px rgba(66,165,255,.12);animation:spin 14s linear infinite}.logo-mini-cards{position:absolute;inset:0}.logo-mini-cards i{position:absolute;width:62px;height:62px;border-radius:18px;background:linear-gradient(145deg,rgba(103,225,255,.18),rgba(240,201,110,.08));border:1px solid rgba(255,255,255,.10);animation:floatTag 4s ease-in-out infinite}.logo-mini-cards i:nth-child(1){left:12%;top:18%}.logo-mini-cards i:nth-child(2){right:15%;top:24%;animation-delay:-1.2s}.logo-mini-cards i:nth-child(3){right:10%;bottom:14%;animation-delay:-2.2s}.logo-visual>span{position:absolute;left:20px;bottom:18px;font:800 10px 'Outfit';letter-spacing:.18em;color:#91a8c3}@keyframes spin{to{transform:rotate(360deg)}}
.portfolio-section{background:linear-gradient(180deg,transparent,rgba(10,22,38,.72) 16%,rgba(10,22,38,.72) 84%,transparent)}.filter-row{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:24px}.filter-btn{border:1px solid var(--line);background:rgba(255,255,255,.025);color:#c9d6e8;padding:10px 14px;border-radius:999px;font-weight:700;font-size:12px;cursor:pointer;transition:.25s}.filter-btn.active,.filter-btn:hover{background:linear-gradient(135deg,#77e4ff,#409cff);border-color:transparent;color:#06111d;transform:translateY(-2px)}.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.project-card{border:1px solid var(--line);border-radius:26px;overflow:hidden;background:rgba(255,255,255,.025);box-shadow:var(--shadow);transition:transform .35s,border-color .35s,opacity .25s}.project-card:hover{transform:translateY(-8px);border-color:rgba(103,225,255,.28)}.project-card img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .65s}.project-card:hover img{transform:scale(1.04)}.project-card>a>div{padding:20px}.project-card span{font:800 10px 'Outfit';letter-spacing:.15em;color:#82cfff}.project-card h3{font:700 23px 'Outfit';margin:7px 0 8px}.project-card p{margin:0;color:#8fa0b6;font-size:13.5px}.project-card.is-hidden{display:none}
.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.experience-card,.why-card,.review-card{border:1px solid var(--line);background:rgba(255,255,255,.028);border-radius:22px;padding:24px;transition:transform .3s,border-color .3s}.experience-card:hover,.why-card:hover,.review-card:hover{transform:translateY(-5px);border-color:rgba(103,225,255,.24)}.experience-card>span{font:800 10px 'Outfit';letter-spacing:.12em;color:#f4cf7b}.experience-card h3{font:700 20px 'Outfit';margin:13px 0 10px}.experience-card p{font-size:13.5px;color:#93a3b9;margin:0}.experience-card ul{padding-left:18px;color:#c2ccdb;font-size:12.5px;margin:15px 0 0}.experience-card li{margin:5px 0}
.review-section{background:radial-gradient(circle at 50% 30%,rgba(66,165,255,.08),transparent 34%)}.reviews-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.review-card{min-height:260px;display:flex;flex-direction:column}.stars{color:#ffd875;letter-spacing:.12em}.review-card blockquote{font:600 17px/1.55 'Outfit';margin:26px 0;flex:1}.review-card div:last-child strong,.review-card div:last-child span{display:block}.review-card div:last-child strong{font-size:12px}.review-card div:last-child span{font-size:10px;color:#7d8ca2;margin-top:4px}.rating-panel{margin-top:16px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(90deg,rgba(66,165,255,.04),rgba(240,201,110,.04));display:grid;grid-template-columns:repeat(4,1fr) auto;align-items:center;gap:16px;padding:20px 22px}.rating-panel strong,.rating-panel span{display:block}.rating-panel strong{font:800 24px 'Outfit'}.rating-panel span{font-size:10px;color:#8797ad;margin-top:2px}.rating-panel a{font-size:12px;font-weight:800;color:#79dcff}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.why-card b{font:800 10px 'Outfit';color:#7dcfff;letter-spacing:.1em}.why-card h3{font:700 19px 'Outfit';margin:30px 0 10px}.why-card p{margin:0;color:#8fa0b6;font-size:13px}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.faq-grid details{border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.025);padding:18px 19px}.faq-grid summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:15px;font-weight:700;font-size:14px}.faq-grid summary::-webkit-details-marker{display:none}.faq-grid summary span{color:#74d9ff}.faq-grid details p{color:#8fa0b5;font-size:13px;margin:14px 0 0}.contact-panel{border:1px solid rgba(255,255,255,.12);border-radius:30px;background:linear-gradient(145deg,rgba(16,30,51,.92),rgba(8,16,29,.92));padding:34px;box-shadow:var(--shadow);position:relative;overflow:hidden}.contact-panel:before{content:'';position:absolute;width:420px;height:420px;border-radius:50%;right:-100px;top:-180px;background:radial-gradient(circle,rgba(66,165,255,.16),transparent 68%)}.contact-copy{position:relative;z-index:1;max-width:880px}.contact-copy p:last-child{color:#9aaabd;max-width:700px}.contact-cards{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}.contact-card{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.028);padding:18px;position:relative;transition:.3s}.contact-card:hover{transform:translateY(-4px);border-color:rgba(103,225,255,.25)}.contact-card small,.contact-card strong,.contact-card span{display:block}.contact-card small{font:800 9px 'Outfit';letter-spacing:.15em;color:#82cfff}.contact-card strong{font:700 18px 'Outfit';margin-top:5px}.contact-card span{font-size:13px;color:#becadb;margin-top:3px;word-break:break-word}.contact-card b{position:absolute;right:16px;top:16px}.contact-card.wa small{color:#72efab}.contact-card.mail small{color:#ffd575}.floating-whatsapp{position:fixed;right:18px;bottom:18px;z-index:90;display:flex;align-items:center;gap:9px;padding:13px 16px;border-radius:999px;background:linear-gradient(135deg,#28d66e,#62eda0);color:#051b10;font-weight:900;box-shadow:0 18px 45px rgba(40,214,110,.28);transition:.25s}.floating-whatsapp:hover{transform:translateY(-3px)}.floating-whatsapp i{width:8px;height:8px;border-radius:50%;background:#fff}.footer{border-top:1px solid var(--line);padding:34px 0 22px;background:rgba(4,11,19,.5)}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr auto;gap:24px;align-items:center}.footer-brand{display:flex;gap:13px;align-items:center}.footer-brand img{width:58px;height:58px;border-radius:16px}.footer-brand strong,.footer-brand span,.footer-brand small{display:block}.footer-brand strong{font:700 17px 'Outfit'}.footer-brand span{font-size:12px;color:#d0dce9}.footer-brand small{font-size:10px;color:#77879d;margin-top:3px}.footer-contact{display:grid;gap:8px}.footer-contact a strong,.footer-contact a span{display:block}.footer-contact strong{font-size:10px;color:#82cfff}.footer-contact span{font-size:12px;color:#bcc9da;word-break:break-word}.footer-social{display:flex;gap:8px;flex-wrap:wrap}.footer-social a{font-size:11px;border:1px solid var(--line);padding:8px 10px;border-radius:10px}.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.06);padding-top:16px;display:flex;justify-content:space-between;color:#6f8097;font-size:10px}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.tilt-card{transform-style:preserve-3d;will-change:transform}.magnetic{will-change:transform}
@media(max-width:1080px){:root{--header-h:78px}.contact-bar{display:none}.nav-links{display:none}.menu-toggle{display:block}.nav-socials{margin-left:0}.nav-cta{display:none}.nav-links.open{display:flex;position:absolute;top:74px;left:16px;right:16px;padding:20px;border:1px solid var(--line);border-radius:20px;background:rgba(5,14,24,.97);backdrop-filter:blur(20px);flex-direction:column;gap:12px}.hero{grid-template-columns:1fr;padding-top:30px}.hero-visual{height:620px;min-height:0}.portrait-card{max-width:650px}.proof-band{grid-template-columns:repeat(3,1fr)}.services-grid,.portfolio-grid{grid-template-columns:1fr}.experience-grid{grid-template-columns:1fr 1fr}.reviews-grid,.why-grid{grid-template-columns:1fr 1fr}.rating-panel{grid-template-columns:repeat(2,1fr)}.rating-panel a{grid-column:1/-1}.footer-grid{grid-template-columns:1fr 1fr}.footer-social{grid-column:1/-1}}
@media(max-width:720px){:root{--shell:min(100% - 24px,1220px)}.nav{height:68px}.brand>img{width:46px;height:46px}.brand small{display:none}.nav-socials .linkedin{display:none}.hero{min-height:auto;padding:24px 0}.hero h1{font-size:clamp(42px,13vw,58px)}.hero-lead{font-size:15px}.hero-contact-row{grid-template-columns:1fr}.hero-proof{grid-template-columns:repeat(2,1fr)}.hero-visual{height:500px;margin-top:16px}.portrait-card{border-radius:24px}.hero-photo{object-position:50% 18%}.float-tech{display:none}.proof-band{grid-template-columns:1fr 1fr}.section{padding:74px 0}.experience-grid,.reviews-grid,.why-grid,.faq-grid,.contact-cards{grid-template-columns:1fr}.rating-panel{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.footer-contact,.footer-social{grid-column:1}.footer-bottom{flex-direction:column}.floating-whatsapp span{display:none}.floating-whatsapp{width:50px;height:50px;padding:0;justify-content:center}.service-body h3{font-size:22px}.portfolio-grid{gap:16px}.project-card h3{font-size:21px}}
@media(max-height:820px) and (min-width:1081px){.hero{padding-top:18px;padding-bottom:18px}.hero-visual{height:min(63vh,580px)}.hero h1{font-size:clamp(44px,4.6vw,68px)}.hero-lead{font-size:15px}.hero-proof{margin-top:13px}.hero-contact-row{margin-top:12px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.cursor-glow,#particleCanvas{display:none}}

/* Added in v6: skills section + separated service groups */
.skills-section{padding-top:78px}
.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.skill-card{border:1px solid var(--line);background:linear-gradient(155deg,rgba(255,255,255,.045),rgba(255,255,255,.02));border-radius:24px;padding:22px;box-shadow:var(--shadow);transition:transform .32s,border-color .32s,box-shadow .32s}
.skill-card:hover{transform:translateY(-7px);border-color:rgba(103,225,255,.28);box-shadow:0 26px 75px rgba(0,0,0,.4)}
.skill-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;font:800 18px 'Outfit';margin-bottom:18px;border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 40px rgba(0,0,0,.22)}
.skill-icon.android{background:linear-gradient(135deg,rgba(116,255,172,.18),rgba(67,203,102,.24));color:#9dffb3}
.skill-icon.kotlin{background:linear-gradient(135deg,rgba(117,147,255,.22),rgba(255,112,67,.22));color:#dfe7ff}
.skill-icon.java{background:linear-gradient(135deg,rgba(255,170,120,.22),rgba(255,238,170,.16));color:#ffe2bd}
.skill-icon.flutter{background:linear-gradient(135deg,rgba(103,225,255,.22),rgba(66,165,255,.22));color:#9fe9ff}
.skill-icon.compose{background:linear-gradient(135deg,rgba(151,129,255,.22),rgba(66,165,255,.16));color:#e8deff}
.skill-icon.firebase{background:linear-gradient(135deg,rgba(255,189,83,.26),rgba(255,140,0,.15));color:#ffd575}
.skill-icon.api{background:linear-gradient(135deg,rgba(66,165,255,.18),rgba(103,225,255,.12));color:#91e9ff}
.skill-icon.figma{background:linear-gradient(135deg,rgba(249,85,85,.22),rgba(125,114,255,.22));color:#fff0f4}
.skill-icon.growth{background:linear-gradient(135deg,rgba(240,201,110,.22),rgba(66,165,255,.12));color:#ffebbb}
.skill-card h3{font:700 21px 'Outfit';margin:0 0 8px}
.skill-card p{margin:0;color:#90a0b5;font-size:13.5px}
.service-group{margin-top:40px}
.service-group:first-of-type{margin-top:0}
.service-group-head{max-width:900px;margin-bottom:24px}
.service-group-head h3{font:700 clamp(28px,3.2vw,40px) 'Outfit';margin:0 0 10px;letter-spacing:-.03em}
.service-group-head p:last-child{margin:0;color:#92a3b8}
.services-grid-3{grid-template-columns:repeat(3,1fr)}
#services .service-card{height:100%}
#services .service-card .service-body{display:flex;flex-direction:column;height:calc(100% - 0px)}
#services .service-card .learn{margin-top:auto;padding-top:2px}

@media(max-width:1080px){.skills-grid,.services-grid-3{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.skills-grid,.services-grid-3{grid-template-columns:1fr}.service-group-head h3{font-size:28px}}

/* v7 complete skills layout */
.skills-section{padding-top:84px}
.skill-category{margin-top:32px;padding:24px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(155deg,rgba(255,255,255,.035),rgba(255,255,255,.015));box-shadow:var(--shadow)}
.skill-category:first-of-type{margin-top:0}
.skill-category-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}
.skill-category-head h3{font:700 26px 'Outfit';margin:0}
.skill-category-head p{margin:0;color:#8fa0b6;font-size:13px;max-width:560px}
.skill-logo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.skill-logo-card{min-height:120px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:rgba(255,255,255,.025);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px;transition:transform .3s,border-color .3s,box-shadow .3s}
.skill-logo-card:hover{transform:translateY(-6px) scale(1.02);border-color:rgba(103,225,255,.28);box-shadow:0 18px 45px rgba(0,0,0,.32)}
.skill-logo-card img{width:46px;height:46px;object-fit:contain}
.skill-logo-card span{font:700 13px 'Outfit';text-align:center;color:#edf6ff}
.skill-logo-card.text-logo b{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(66,165,255,.18),rgba(240,201,110,.11));border:1px solid rgba(255,255,255,.1);font:800 13px 'Outfit';color:#eaf7ff;letter-spacing:.03em}
.github-skill img{background:#fff;border-radius:50%;padding:4px}
.soft-skill-grid{display:flex;flex-wrap:wrap;gap:10px}
.soft-skill-grid span{padding:10px 13px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.025);font-size:12px;color:#d5e0ee;transition:.25s}
.soft-skill-grid span:hover{border-color:rgba(103,225,255,.28);transform:translateY(-2px)}
@media(max-width:1080px){.skill-logo-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:820px){.skill-category-head{display:block}.skill-category-head p{margin-top:8px}.skill-logo-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.skill-logo-grid{grid-template-columns:repeat(2,1fr)}.skill-logo-card{min-height:108px}.skill-category{padding:18px}.skill-category-head h3{font-size:23px}}

/* v8 compact interactive skills explorer */
.skills-section{padding-top:78px;padding-bottom:78px}
.compact-heading{margin-bottom:24px}
.skills-explorer{border:1px solid var(--line);border-radius:26px;background:linear-gradient(155deg,rgba(255,255,255,.035),rgba(255,255,255,.014));box-shadow:var(--shadow);padding:18px;overflow:hidden}
.skill-tabs{display:flex;gap:9px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.07)}
.skill-tab{border:1px solid var(--line);background:rgba(255,255,255,.025);color:#cbd8e9;padding:9px 13px;border-radius:999px;font-weight:800;font-size:11px;cursor:pointer;transition:.25s}
.skill-tab:hover,.skill-tab.active{transform:translateY(-2px);border-color:transparent;background:linear-gradient(135deg,#79e4ff,#439fff);color:#06111d;box-shadow:0 10px 28px rgba(66,165,255,.18)}
.skill-tab-all{margin-left:auto}
.skill-panel{display:none;padding-top:16px}
.skill-panel.active{display:block;animation:skillPanelIn .35s ease}
.skills-explorer.show-all .skill-panel{display:block;padding-top:18px;margin-top:6px;border-top:1px solid rgba(255,255,255,.055)}
.skills-explorer.show-all .skill-panel:first-of-type{border-top:0;margin-top:0}
@keyframes skillPanelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.skill-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.skill-panel-head h3{font:700 20px 'Outfit';margin:0}
.skill-panel-head span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#7f93ad}
.compact-skill-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.compact-skill{min-height:74px;border:1px solid rgba(255,255,255,.075);border-radius:16px;background:rgba(255,255,255,.022);display:flex;align-items:center;gap:10px;padding:10px 12px;transition:transform .25s,border-color .25s,background .25s;min-width:0}
.compact-skill:hover{transform:translateY(-4px);border-color:rgba(103,225,255,.25);background:rgba(66,165,255,.045)}
.compact-skill img{width:42px;height:42px;object-fit:contain;border-radius:10px;flex:0 0 42px}
.compact-skill span{font:700 12px/1.3 'Outfit';color:#dce7f5;min-width:0}
.github-compact img{background:#fff;padding:4px}
.soft-icons .compact-skill img{border-radius:12px}

/* hide old v7 category layout if any legacy nodes remain */
.skills-section>.skill-category{display:none!important}

@media(max-width:1080px){.compact-skill-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:820px){.compact-skill-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.skill-tab-all{margin-left:0}}
@media(max-width:580px){.skills-explorer{padding:14px}.compact-skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-skill{min-height:66px;padding:9px}.compact-skill img{width:36px;height:36px;flex-basis:36px}.compact-skill span{font-size:11px}.skill-tabs{gap:7px}.skill-tab{padding:8px 10px;font-size:10px}.skill-panel-head h3{font-size:18px}}
