 :root{--bg:#0b0d12;--panel:#11141c;--panel2:#151923;--text:#f4f5f7;--muted:#a2a7b4;--line:#252a36;--accent:#a7f36a;--purple:#a88bff;--mono:"DM Mono",monospace;--sans:"Manrope",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.65;overflow-x:hidden}a{color:inherit;text-decoration:none}.top-glow{position:absolute;z-index:-1;top:-230px;left:50%;transform:translateX(-50%);width:850px;height:600px;background:radial-gradient(ellipse,rgba(122,93,255,.16),transparent 68%);pointer-events:none}.site-header{height:84px;max-width:1180px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.06);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800;letter-spacing:-1px}.brand-logo{width:37px;height:37px;object-fit:contain}.accent,.brand-dot{color:var(--accent)}.nav-links{display:flex;align-items:center;gap:23px;font-size:11px;color:#c4c7d0}.nav-links>a:not(.nav-cta):hover,.text-link:hover,.email-link:hover{color:var(--accent)}.nav-cta{padding:10px 15px;border:1px solid #353b49;border-radius:7px;color:#fff}.nav-cta span{color:var(--accent);margin-left:9px}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:25px}.section-wrap{max-width:1124px;margin:0 auto;padding-left:28px;padding-right:28px}.hero{min-height:650px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;position:relative;padding-top:35px;padding-bottom:70px}.hero-copy{position:relative;z-index:2}.eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:1.7px;color:#b6bdca}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px #a7f36a;margin-right:10px}.hero h1,.page-hero h1{font-size:clamp(42px,5.3vw,67px);line-height:1.12;letter-spacing:-3.4px;margin:27px 0 22px;font-weight:800}.gradient-text{background:linear-gradient(100deg,#a7f36a 5%,#9fe7bf 43%,#b19bff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-lead{max-width:520px;color:#b7bdc9;font-size:15px;line-height:1.9}.hero-lead strong{color:#fff}.hero-actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;gap:18px;padding:13px 17px;border-radius:7px;font-size:12px;font-weight:800;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--accent);color:#11160c}.button-primary span{font-size:16px}.button-quiet{border:1px solid #303541;color:#d9dce4}.button-quiet span{color:var(--accent)}.hero-meta{display:flex;gap:13px;align-items:center;flex-wrap:wrap;margin-top:31px;color:#858c9b;font-size:10px}.meta-separator{color:#424856}.hero-art{height:470px;position:relative;display:flex;align-items:center;justify-content:center}.hero-logo-frame{width:310px;height:340px;display:grid;place-items:center;position:relative;z-index:1;filter:drop-shadow(0 20px 55px rgba(116,91,255,.14))}.hero-logo-frame img{width:100%;height:100%;object-fit:contain}.orbit{position:absolute;border:1px solid rgba(180,190,210,.13);border-radius:50%;transform:rotate(-20deg)}.orbit-one{width:420px;height:230px}.orbit-two{width:340px;height:390px;transform:rotate(35deg);border-color:rgba(167,243,106,.12)}.floating-chip{position:absolute;z-index:2;display:flex;align-items:center;gap:10px;padding:10px 13px;background:rgba(18,21,30,.9);border:1px solid #303541;border-radius:9px;box-shadow:0 12px 40px #0007;backdrop-filter:blur(10px)}.floating-chip b{display:block;font-size:10px}.floating-chip small{display:block;color:#8991a1;font-size:9px;margin-top:2px}.chip-java{top:70px;left:-6px}.chip-figma{bottom:94px;right:-1px}.chip-icon{font-size:18px}.figma-mark{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;background:linear-gradient(135deg,#f36c5b,#a88bff);font-size:13px;font-weight:800}.code-card{position:absolute;bottom:4px;left:3px;background:#10131a;border:1px solid #272c38;border-radius:9px;padding:10px 15px;z-index:3;box-shadow:0 10px 35px #0006}.code-dots{display:block;color:#6f7788;font-size:8px;letter-spacing:2px;margin-bottom:8px}.code-card code{font-family:var(--mono);font-size:9px;line-height:1.8;color:#d9dfeb}.code-card i{color:#b29aff;font-style:normal}.code-card em{color:#b7ed87;font-style:normal}.code-card b{color:#8ddcf0;font-weight:400}.code-comment{color:#697385}.hero-bottom-line{position:absolute;bottom:22px;left:28px;right:28px;border-top:1px solid #222631;padding-top:14px;display:flex;justify-content:space-between;font:9px var(--mono);letter-spacing:1.5px;color:#687080}.intro-strip{display:flex;justify-content:center;gap:clamp(30px,8vw,110px);padding:23px 28px;border-top:1px solid #222631;border-bottom:1px solid #222631;background:#0e1016}.intro-strip>div{display:flex;align-items:center;gap:12px;font-size:11px;color:#d2d5dc}.strip-number{font:10px var(--mono);color:var(--accent)}.section{padding-top:92px;padding-bottom:92px}.section-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:42px}.section-index{font:10px var(--mono);color:#6f7787;letter-spacing:1px}.section-title-row{display:grid;grid-template-columns:1fr .65fr;gap:50px;align-items:end;margin-bottom:40px}.section-title-row h2,.about-content h2{font-size:clamp(28px,3.3vw,41px);line-height:1.25;letter-spacing:-1.5px;margin:0 0 24px}.section-title-row p,.about-content p{color:#a5abba;font-size:13px;line-height:1.95}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.service-card{min-height:250px;padding:23px 22px;background:linear-gradient(145deg,#151923,#11141b);border:1px solid #282e3a;border-radius:10px;transition:transform .2s,border-color .2s}.service-card:hover{transform:translateY(-4px);border-color:#586b4a}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.service-symbol{font:25px var(--mono);color:var(--accent)}.card-number{font:10px var(--mono);color:#606879}.service-card h3{font-size:15px;letter-spacing:-.3px;margin:0 0 9px}.service-card p{font-size:11px;line-height:1.85;color:#969eae;margin:0 0 18px}.tag-row{display:flex;gap:6px;flex-wrap:wrap}.tag-row span{font:9px var(--mono);color:#b5bdca;border:1px solid #343b49;border-radius:4px;padding:4px 7px}.text-link{font-size:11px;font-weight:700}.text-link span{color:var(--accent);margin-left:8px}.tech-section{background:#0f1117;border-top:1px solid #1c202a;border-bottom:1px solid #1c202a}.tech-tags{display:flex;gap:8px;flex-wrap:wrap}.tech-tags span{font-size:11px;padding:7px 10px;border-radius:5px;background:#171b24;border:1px solid #2a303d;color:#c1c7d2}.home-tags{padding-bottom:5px}.center-action{display:flex;justify-content:center;margin-top:30px}.mini-cta{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:50px;padding-bottom:50px}.mini-cta h2{font-size:clamp(24px,3vw,34px);letter-spacing:-1px;margin:9px 0 0}.muted{color:#858c9a}.page-hero{padding-top:82px;padding-bottom:22px}.page-hero h1{margin:17px 0 16px}.page-hero p{max-width:690px;color:#a5abba;font-size:14px;line-height:1.9}.about-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:75px;align-items:center}.about-photo-wrap{position:relative;width:280px;max-width:100%;margin:0 auto}.round-photo{width:280px;aspect-ratio:1;border-radius:50%;padding:7px;border:1px solid #454c5a;background:linear-gradient(135deg,#a7f36a55,#a88bff44)}.about-photo{display:block;width:100%;height:100%;aspect-ratio:1;object-fit:cover;object-position:center 28%;border-radius:50%;filter:saturate(.8);position:relative}.photo-caption{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#0b0d12e8;border:1px solid #353b49;padding:6px 9px;border-radius:4px;font:8px var(--mono);letter-spacing:1px}.about-content h2{margin-bottom:24px}.about-content p{margin:0 0 14px}.about-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.about-facts b,.about-facts span{display:block}.about-facts b{font-size:12px}.about-facts span{font-size:10px;color:#818999;margin-top:4px}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.values-grid article{border:1px solid #282e3a;background:#12151d;padding:24px;border-radius:9px}.values-grid article>span{font:10px var(--mono);color:var(--accent)}.values-grid h3{font-size:14px}.values-grid p{font-size:11px;color:#9da5b5;line-height:1.9}.services-page{padding-top:35px}.timeline{position:relative;max-width:900px}.timeline:before{content:"";position:absolute;left:190px;top:6px;bottom:8px;width:1px;background:#2c3240}.timeline-item{display:grid;grid-template-columns:165px 1fr;gap:50px;position:relative;padding-bottom:45px}.timeline-date{font:9px var(--mono);letter-spacing:.7px;color:#858d9e;text-align:right;padding-top:7px}.timeline-marker{position:absolute;left:185px;top:4px;width:11px;height:11px;border:2px solid var(--accent);background:var(--bg);border-radius:50%;z-index:1;box-shadow:0 0 12px #a7f36a33}.timeline-content{grid-column:2}.timeline-title{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.timeline-title h3{font-size:17px;margin:0}.role-pill{font:9px var(--mono);color:var(--accent);border:1px solid #394832;padding:5px 8px;border-radius:4px}.timeline-content p,.timeline-content li{font-size:12px;line-height:1.9;color:#a1a8b7}.timeline-content ul{padding-left:18px;margin:10px 0 16px}.timeline-content li::marker{color:var(--accent)}.small-note{font-size:10px!important;color:#737b8b!important}.projects-page{padding-top:35px}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.project-card{border:1px solid #292f3a;background:#11141b;border-radius:11px;overflow:hidden}.project-visual{height:245px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.visual-mobile{background:radial-gradient(circle at 70% 20%,#a88bff66,transparent 36%),linear-gradient(135deg,#163c48,#11141c 70%)}.phone-mock{width:115px;height:195px;background:#f5f7fb;border:5px solid #202431;border-radius:18px;box-shadow:0 20px 45px #0007;padding:13px 10px;position:relative}.phone-top{width:38px;height:5px;border-radius:10px;background:#242936;margin:-5px auto 14px}.app-label{color:#202532;font-size:15px;font-weight:800}.app-label span{color:#52a7b0}.mock-search{height:15px;background:#e4e9f1;border-radius:5px;margin:12px 0}.mock-row{height:32px;background:#eaf0f5;border-radius:6px;margin:8px 0;display:flex;align-items:center;padding:6px;gap:7px}.mock-row i{width:17px;height:17px;border-radius:5px;background:#8bd9c5}.mock-row b{height:5px;width:42px;background:#b7c3d2;border-radius:5px}.mock-nav{position:absolute;bottom:10px;left:12px;right:12px;height:8px;border-radius:5px;background:#c8d7e2}.visual-admin{background:radial-gradient(circle at 25% 25%,#a7f36a33,transparent 40%),#171b27}.dash-mock{width:76%;height:155px;background:#f4f6fa;border-radius:8px;display:flex;overflow:hidden;box-shadow:0 20px 40px #0007}.dash-side{width:22%;background:#202a3b;border-right:1px solid #303b50}.dash-main{flex:1;padding:13px}.dash-head{height:13px;width:60%;background:#c9d2df;border-radius:4px}.dash-stats{display:flex;gap:8px;margin:13px 0}.dash-stats i{height:30px;flex:1;border-radius:5px;background:#dcefe8;border-top:3px solid #67bca4}.dash-stats i:nth-child(2){background:#e9e4fa;border-color:#9b88e9}.dash-stats i:nth-child(3){background:#f9e9d7;border-color:#e6a15c}.dash-chart{height:45px;border-radius:5px;background:linear-gradient(160deg,transparent 45%,#83cdb5 46%,#83cdb5 49%,transparent 50%),#e6ebf1}.dash-lines{height:20px;margin-top:7px;background:repeating-linear-gradient(to bottom,#d2d9e3 0 3px,transparent 3px 8px)}.visual-api{background:radial-gradient(circle at 70% 30%,#a88bff3b,transparent 40%),#10131b}.api-window{width:75%;max-width:350px;background:#171c27;border:1px solid #414858;border-radius:8px;overflow:hidden;box-shadow:0 20px 40px #0008}.api-top{height:30px;background:#222938;display:flex;align-items:center;gap:5px;padding:0 10px}.api-top i{width:6px;height:6px;background:#fb7777;border-radius:50%}.api-top i:nth-child(2){background:#eac86d}.api-top i:nth-child(3){background:#8be0a0}.api-top span{font:8px var(--mono);color:#9ca7b8;margin-left:9px}.api-code{padding:16px;font:10px/2 var(--mono);color:#d8deeb}.api-code b{color:#a7f36a}.api-code em{color:#a88bff;font-style:normal}.api-code strong{color:#8bdcf0}.visual-figma{background:radial-gradient(circle at 40% 30%,#e06bcb33,transparent 42%),#181321}.figma-board{width:75%;height:150px;background:#f7f5fa;border-radius:8px;display:flex;overflow:hidden;box-shadow:0 20px 40px #0008}.figma-sidebar{width:23%;background:#ece8f3;border-right:1px solid #d6d0e0}.figma-canvas{flex:1;position:relative;background:#fff}.figma-card{position:absolute;border-radius:7px}.f-one{left:12%;top:15%;width:34%;height:65%;background:linear-gradient(145deg,#a7f36a,#74bdb6)}.f-two{right:12%;top:15%;width:32%;height:27%;background:#a88bff}.f-three{right:12%;bottom:15%;width:32%;height:27%;background:#f7c17b}.visual-label{position:absolute;bottom:13px;left:15px;font:8px var(--mono);letter-spacing:1.3px;color:#d7dce6}.project-info{padding:22px}.project-kicker{font:9px var(--mono);color:var(--accent);letter-spacing:1px}.project-info h3{font-size:17px;margin:8px 0}.project-info p{font-size:11px;line-height:1.9;color:#9ca4b4;min-height:62px}.gallery-note{display:flex;gap:10px;align-items:flex-start;margin-top:25px;padding:14px 16px;border:1px solid #313744;background:#12151d;border-radius:7px;color:#9fa7b5;font-size:10px;line-height:1.8}.gallery-note span{color:var(--accent)}.contact-section{padding-top:35px;padding-bottom:95px}.contact-panel{display:grid;grid-template-columns:1.2fr .8fr;border:1px solid #303644;border-radius:14px;overflow:hidden;background:linear-gradient(120deg,#141821,#101219)}.contact-copy{padding:50px}.contact-copy h2{font-size:clamp(32px,4.2vw,49px);line-height:1.2;letter-spacing:-2px;margin:18px 0}.contact-copy>p{max-width:510px;color:#a7aebc;font-size:12px;line-height:1.9;margin-bottom:24px}.contact-note{margin:22px 0 2px!important;font-size:10px!important}.email-link{font-size:12px;color:#e4e7ed;border-bottom:1px solid #515868;padding-bottom:4px}.contact-side{min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;background:radial-gradient(ellipse at center,rgba(167,243,106,.12),transparent 58%),#11141b}.contact-side:before,.contact-side:after{content:"";position:absolute;width:280px;height:280px;border:1px solid #353b48;border-radius:50%}.contact-side:after{width:370px;height:370px;border-color:#292f3a}.contact-orb{width:145px;height:145px;border-radius:50%;display:grid;place-items:center;font-size:68px;font-weight:800;color:#11160c;background:linear-gradient(135deg,var(--accent),#9fd7d4);box-shadow:0 0 80px #a7f36a20;z-index:1}.contact-orb span{color:#fff}.contact-side-bottom{position:absolute;bottom:20px;left:22px;right:22px;display:flex;justify-content:space-between;font:8px var(--mono);letter-spacing:1px;color:#70798a;z-index:1}.site-footer{max-width:1180px;margin:auto;padding:25px 28px 35px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #242833;color:#747c8b;font-size:9px}.footer-brand{font-size:15px;font-weight:800;color:#e6e8ee;letter-spacing:-.7px}.whatsapp-float{position:fixed;z-index:10;right:22px;bottom:22px;display:flex;align-items:center;gap:8px;background:#a7f36a;color:#10150b;border-radius:30px;padding:12px 16px;box-shadow:0 7px 30px #0008;font-size:11px}
@media(max-width:900px){.nav-links{gap:13px;font-size:10px}.hero{grid-template-columns:1fr 0.9fr}.hero h1{font-size:clamp(40px,5vw,58px)}.about-grid{gap:45px}.timeline:before{left:160px}.timeline-item{grid-template-columns:135px 1fr;gap:45px}.timeline-marker{left:155px}}
@media(max-width:760px){.site-header{height:72px}.menu-toggle{display:block;cursor:pointer}.nav-links{display:none;position:absolute;z-index:30;top:71px;left:0;right:0;background:#11141c;padding:22px 28px;border-bottom:1px solid #2a303d;flex-direction:column;align-items:stretch;gap:18px;font-size:12px}.nav-links.open{display:flex}.nav-cta{text-align:center}.hero{grid-template-columns:1fr;padding-top:65px;min-height:auto}.hero-art{height:400px;margin-top:10px}.hero-logo-frame{width:270px;height:300px}.chip-java{left:0;top:40px}.chip-figma{right:0;bottom:72px}.code-card{left:0;bottom:0}.hero-bottom-line{left:28px;right:28px}.intro-strip{gap:15px;justify-content:space-around}.intro-strip>div{font-size:9px;gap:6px}.section{padding-top:70px;padding-bottom:70px}.section-title-row{grid-template-columns:1fr;gap:12px}.about-grid{grid-template-columns:1fr;gap:42px}.round-photo{width:245px}.about-content h2,.section-title-row h2{font-size:30px}.service-grid{grid-template-columns:repeat(2,1fr)}.timeline:before{left:5px}.timeline-item{grid-template-columns:1fr;gap:10px;padding-left:28px}.timeline-date{text-align:left;padding:0}.timeline-marker{left:0;top:2px}.timeline-content{grid-column:1}.contact-panel{grid-template-columns:1fr}.contact-copy{padding:35px 28px}.contact-side{min-height:250px}.page-hero{padding-top:60px}.page-hero h1{font-size:clamp(40px,8vw,58px)}.project-grid{grid-template-columns:1fr}.project-info p{min-height:0}.values-grid{grid-template-columns:1fr}.site-footer{flex-wrap:wrap}.site-footer>span:nth-child(2){order:3;width:100%}}
@media(max-width:520px){.section-wrap{padding-left:20px;padding-right:20px}.site-header{padding:0 20px}.hero{padding-left:20px;padding-right:20px;padding-top:55px}.hero h1{font-size:clamp(40px,9vw,55px);letter-spacing:-2px}.hero-lead{font-size:13px}.hero-art{height:350px}.hero-logo-frame{width:235px;height:270px}.orbit-one{width:310px;height:180px}.orbit-two{width:270px;height:320px}.floating-chip{padding:8px}.chip-java{top:24px}.chip-figma{bottom:60px}.code-card{transform:scale(.9);transform-origin:left bottom}.hero-bottom-line{left:20px;right:20px}.intro-strip{display:grid;grid-template-columns:1fr 1fr;padding:20px}.intro-strip>div:last-child{grid-column:1/-1}.section-heading{margin-bottom:30px}.section-index{font-size:8px}.service-grid{grid-template-columns:1fr}.service-card{min-height:0;padding:22px}.service-top{margin-bottom:18px}.about-facts{gap:7px}.about-facts b{font-size:10px}.about-facts span{font-size:9px}.tech-layout{grid-template-columns:1fr}.contact-copy{padding:30px 22px}.contact-copy h2{font-size:35px}.contact-side{min-height:220px}.site-footer{padding:22px 20px 80px}.whatsapp-float{right:14px;bottom:14px}.hero-meta{font-size:9px}.page-hero{padding-top:50px}.page-hero h1{letter-spacing:-2px}.project-visual{height:220px}.mini-cta{align-items:flex-start;flex-direction:column}}

/* V3 additions: portfolio imagery, detailed profile timeline, footer socials */
.project-image{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;display:block;transition:transform .35s ease;filter:saturate(.94)}
.project-card:hover .project-image{transform:scale(1.035)}
.project-visual{isolation:isolate}
.project-visual:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(5,7,12,.76));pointer-events:none;z-index:0}
.project-visual .visual-label{z-index:1}
.linkedin-footer{font-size:10px;color:#bfc6d2;border:1px solid #303644;padding:7px 10px;border-radius:6px;white-space:nowrap}
.linkedin-footer span{color:var(--accent);margin-left:5px}
.linkedin-footer:hover{color:var(--accent);border-color:#566b4a}
.site-footer{flex-wrap:wrap}
.site-footer>span{max-width:100%}
.profile-summary{padding:25px 28px;margin-bottom:50px;border:1px solid #2b313d;border-radius:10px;background:linear-gradient(135deg,#141923,#10131a)}
.profile-summary h2{font-size:19px;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}
.profile-summary p{font-size:12px;line-height:1.95;color:#b0b7c5;margin:0}
.timeline-content h4{font-size:12px;color:#e9edf4;margin:19px 0 8px}
.timeline-content strong{color:#e7eaf0}
.about-experience-list{display:grid;gap:18px}
.about-experience-list article{padding:22px 24px;border:1px solid #2a303c;border-radius:9px;background:#12151d}
.about-exp-date{font:9px var(--mono);letter-spacing:.8px;color:var(--accent)}
.about-experience-list h3{font-size:15px;margin:8px 0}
.about-experience-list h3 em{font-size:11px;font-weight:500;color:#a7afbe;font-style:normal}
.about-experience-list p{font-size:11px;line-height:1.9;color:#a5abba}
.about-exp-note{font-size:10px;line-height:1.8;color:#778091;margin-top:16px}
@media(max-width:900px){.nav-links{gap:10px;font-size:9px}.site-footer{justify-content:flex-start}.site-footer>span{width:100%}}
@media(max-width:760px){.site-footer{padding-bottom:85px;gap:12px}.site-footer>span{width:100%}.linkedin-footer{order:2}.profile-summary{padding:20px}.about-experience-list article{padding:19px}}

.stack-intro{max-width:760px;color:#a5abba;font-size:12px;line-height:1.9;margin:-15px 0 24px}

/* V4: frontend/full-stack emphasis, LinkedIn icon, CV download and project previews */
.linkedin-icon{width:15px;height:15px;display:inline-block;vertical-align:-3px;color:#8eb8ff;flex:0 0 auto}
.nav-links a[href*="linkedin.com"]{display:inline-flex;align-items:center;gap:6px}
.nav-links a[href*="linkedin.com"] .linkedin-arrow{color:var(--accent);margin-left:1px}
.linkedin-footer{display:inline-flex;align-items:center;gap:7px}
.cv-download{border-color:#526444;color:#e7f4dd}
.cv-download span{color:var(--accent)}
.chip-angular{left:10px;bottom:55px}
.angular-mark{display:grid;place-items:center;width:23px;height:23px;background:#c52c3f;color:#fff;font-weight:800;font-size:13px;clip-path:polygon(50% 0,95% 18%,86% 82%,50% 100%,14% 82%,5% 18%)}
.home-projects{padding-top:80px;padding-bottom:90px}
.home-project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.home-project{display:flex;flex-direction:column;min-width:0;background:#12151d;border:1px solid #2a303c;border-radius:9px;overflow:hidden;transition:transform .2s,border-color .2s}
.home-project:hover{transform:translateY(-4px);border-color:#657b52}
.home-project img{width:100%;height:130px;object-fit:cover;display:block}
.home-project>span{font:8px var(--mono);letter-spacing:.7px;color:var(--accent);padding:13px 13px 4px}
.home-project>b{font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:5px;padding:4px 13px 15px}
.home-project>b i{font-style:normal;color:var(--accent)}
.home-project-odoo{background:linear-gradient(145deg,#181c26,#11141b)}
.odoo-mini{height:130px;padding:18px;background:#f6f7f9;color:#333b49;display:flex;flex-direction:column;gap:9px}
.odoo-mini strong{font-size:20px;letter-spacing:-1px;color:#714b67}
.odoo-mini span{font-size:9px;color:#667080}
.odoo-mini div{display:flex;gap:6px;margin-top:auto}
.odoo-mini i{height:25px;flex:1;background:#dfe8f5;border-radius:4px;border-top:3px solid #8da6cc}
.odoo-mini i:nth-child(2){background:#f5e5d9;border-color:#db9c78}
.odoo-mini i:nth-child(3){background:#dff0e8;border-color:#72b99c}
.visual-odoo{background:radial-gradient(circle at 70% 25%,#a88bff2b,transparent 42%),#11151e}
.odoo-window{width:78%;height:155px;background:#f5f6f8;border-radius:7px;overflow:hidden;box-shadow:0 20px 40px #0008;position:relative}
.odoo-bar{height:26px;background:#714b67;display:flex;align-items:center;gap:6px;padding:0 9px;color:#fff}
.odoo-bar span{font-weight:800;font-size:11px;margin-right:auto}
.odoo-bar i{width:6px;height:6px;background:#fff8;border-radius:50%}
.odoo-body{display:flex;height:calc(100% - 26px)}
.odoo-menu{width:29%;background:#fff;border-right:1px solid #e0e3e8;display:flex;flex-direction:column;gap:7px;padding:10px 7px;font-size:6px;color:#6b7280}
.odoo-menu b{font-size:7px;color:#303744;margin-bottom:3px}
.odoo-content{flex:1;padding:10px}
.odoo-title{font-size:9px;font-weight:700;color:#303744}
.odoo-kpis{display:flex;gap:5px;margin:8px 0}
.odoo-kpis i{height:25px;flex:1;border-radius:4px;background:#e5edf8;border-top:3px solid #7f9dcb}
.odoo-kpis i:nth-child(2){background:#e0f1e8;border-color:#78b89b}
.odoo-kpis i:nth-child(3){background:#f8e8dc;border-color:#d7a07a}
.odoo-table{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}
.odoo-table b{height:9px;background:#e1e5eb;border-radius:2px}
.odoo-table b:nth-child(3n){background:#d7e8df}
@media(max-width:900px){.home-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chip-angular{left:0;bottom:22px}.hero-art{overflow:visible}}
@media(max-width:760px){.home-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-actions .button{font-size:10px;padding:11px 12px}.chip-angular{bottom:25px;left:0}}
@media(max-width:520px){.home-project-grid{grid-template-columns:1fr 1fr;gap:9px}.home-project img,.odoo-mini{height:100px}.home-project>b{font-size:10px;padding:4px 9px 12px}.home-project>span{padding:10px 9px 4px;font-size:7px}.hero-actions{gap:8px}.hero-actions .button{gap:8px}.chip-angular{bottom:20px}}

/* V5: technology badges orbiting the RafaDevCode mascot */
.tech-orbit-chip{position:absolute;z-index:4;display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #303744;border-radius:9px;background:rgba(16,19,27,.94);box-shadow:0 10px 28px #0006;backdrop-filter:blur(10px);font-size:9px;font-weight:700;color:#dfe5ef;white-space:nowrap;animation:tech-float 5s ease-in-out infinite}
.tech-logo{width:21px;height:21px;display:grid;place-items:center;flex:0 0 21px}
.angular-logo{background:#c52c3f;color:white;font-weight:900;font-size:12px;clip-path:polygon(50% 0,95% 18%,86% 82%,50% 100%,14% 82%,5% 18%)}
.android-logo{color:#8bd45c}
.kotlin-logo{background:linear-gradient(135deg,#7b42d6,#e44885,#f49b42);color:#fff;font-size:13px;font-weight:900;clip-path:polygon(0 0,100% 0,55% 50%,100% 100%,0 100%)}
.spring-logo{color:#79bd61}
.odoo-logo{font-size:8px;font-weight:900;color:#a58bcb;letter-spacing:-.8px}
.mongo-logo{color:#58b86a}
.orbit-angular{top:28px;right:26px;animation-delay:-1s}
.orbit-android{top:48%;left:-18px;animation-delay:-2.1s}
.orbit-kotlin{top:42%;right:-10px;animation-delay:-.6s}
.orbit-spring{bottom:26px;left:125px;animation-delay:-3.2s}
.orbit-odoo{top:42px;left:78px;animation-delay:-1.6s}
.orbit-mongo{bottom:66px;right:35px;animation-delay:-2.8s}
@keyframes tech-float{0%,100%{translate:0 0}50%{translate:0 -5px}}
.intro-strip{display:grid;grid-template-columns:repeat(4,max-content);align-items:center}
.service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1050px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tech-orbit-chip{padding:6px 8px;font-size:8px}.orbit-android{left:0}.orbit-kotlin{right:0}.orbit-spring{left:70px}}
@media(max-width:760px){.intro-strip{grid-template-columns:repeat(2,max-content);gap:17px 35px}.service-grid{grid-template-columns:1fr 1fr}.tech-orbit-chip{gap:5px;padding:5px 6px}.tech-logo{width:18px;height:18px;flex-basis:18px}.orbit-angular{top:4px;right:5px}.orbit-android{top:38%;left:-5px}.orbit-kotlin{top:55%;right:-5px}.orbit-spring{bottom:18px;left:42px}.orbit-odoo{top:38px;left:0}.orbit-mongo{bottom:60px;right:5px}.chip-java{left:0;top:80px}.chip-figma{right:0;bottom:92px}}
@media(max-width:520px){.service-grid{grid-template-columns:1fr}.hero-art{transform:scale(.92);transform-origin:center center;margin:-15px -10px}.tech-orbit-chip{font-size:7px}.orbit-android{left:0}.orbit-kotlin{right:0}.orbit-spring{left:24px}.orbit-mongo{right:0}}

/* V6: WhatsApp mini-chat widget inspired by the supplied reference */
.whatsapp-widget{position:fixed;right:24px;bottom:22px;z-index:80;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.whatsapp-float{width:54px;height:54px;display:grid;place-items:center;border:0;border-radius:50%;padding:0;background:linear-gradient(145deg,#24d366,#139b62);color:#fff;box-shadow:0 8px 28px #10a85b44;cursor:pointer;transition:transform .18s,box-shadow .18s}
.whatsapp-float:hover{transform:translateY(-2px);box-shadow:0 12px 35px #10a85b66}
.whatsapp-float svg{width:27px;height:27px}
.whatsapp-panel{width:min(330px,calc(100vw - 32px));overflow:hidden;border:1px solid #d7e0dc;border-radius:16px;background:#f6f7f8;box-shadow:0 18px 60px #0008;transform-origin:bottom right;animation:whatsapp-in .18s ease-out}
.whatsapp-panel[aria-hidden="true"]{display:none}
.whatsapp-panel-header{display:flex;align-items:center;gap:10px;padding:13px 14px;background:linear-gradient(125deg,#168b53,#22bd65);color:#fff}
.whatsapp-avatar{width:42px;height:42px;object-fit:contain;padding:2px;background:#fff;border-radius:50%;border:1px solid #ffffff99}
.whatsapp-header-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}
.whatsapp-header-copy strong{font-size:12px;font-weight:800}
.whatsapp-header-copy span{font-size:10px;line-height:1.3;color:#e6ffed}
.whatsapp-close{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:50%;background:#ffffff1c;color:#fff;font-size:23px;line-height:1;cursor:pointer}
.whatsapp-panel-body{display:flex;flex-direction:column;gap:10px;padding:16px 13px 14px;background:#f4f5f6}
.whatsapp-bubble{max-width:94%;align-self:flex-start;padding:10px 12px;border:1px solid #e0e5e8;border-radius:5px 13px 13px 13px;background:#fff;color:#374151;box-shadow:0 2px 3px #17212a08;font-size:11px;line-height:1.65}
.whatsapp-bubble-greeting{padding:8px 12px}
.whatsapp-contact{display:flex;align-items:center;justify-content:center;gap:9px;margin:0 13px 13px;padding:12px;border-radius:30px;background:#20c764;color:#fff;font-size:12px;font-weight:800;box-shadow:0 4px 12px #1bb95c30;transition:background .18s,transform .18s}
.whatsapp-contact:hover{background:#17ad55;transform:translateY(-1px)}
.whatsapp-contact svg{width:18px;height:18px}
@keyframes whatsapp-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.figma-logo-chip{width:23px;height:25px;object-fit:contain;display:block}
.spring-logo-img{width:23px;height:23px;object-fit:contain;border-radius:4px}
.gallery-note-copy{color:inherit}
.project-image{filter:saturate(1.03) contrast(1.02)}
@media(max-width:760px){.whatsapp-widget{right:16px;bottom:16px}.whatsapp-panel{width:min(320px,calc(100vw - 32px))}.whatsapp-float{width:52px;height:52px}}
@media(prefers-reduced-motion:reduce){.whatsapp-panel{animation:none}.whatsapp-float{transition:none}.tech-orbit-chip{animation:none}}

/* V7: official user-provided technology logos + clear space around code card */
.floating-tech-logo{width:24px;height:24px;flex:0 0 24px;object-fit:contain;display:block}
.java-chip-logo{width:26px;height:26px;flex-basis:26px}
.tech-orbit-chip .tech-logo{width:23px;height:23px;flex:0 0 23px;object-fit:contain;display:block}
.tech-orbit-chip .logo-angular{background:none}
.orbit-angular{top:20px;right:20px}
.orbit-android{top:35px;left:2px}
.orbit-kotlin{top:43%;right:-4px}
.orbit-spring{top:116px;left:-10px;bottom:auto}
.orbit-odoo{top:50%;left:-14px}
.orbit-mongo{bottom:76px;right:10px}
.orbit-oracle{bottom:16px;right:125px;animation-delay:-1.9s}
.code-card{z-index:8;left:3px;bottom:4px;width:270px;max-width:calc(100% - 12px);box-sizing:border-box}
.hero-logo-frame{z-index:2}
.tech-orbit-chip{z-index:4}
.floating-chip{z-index:5}
@media(max-width:1050px){
  .orbit-angular{top:14px;right:8px}
  .orbit-android{top:34px;left:0}
  .orbit-spring{top:108px;left:0}
  .orbit-odoo{top:50%;left:0}
  .orbit-kotlin{top:43%;right:0}
  .orbit-mongo{bottom:76px;right:0}
  .orbit-oracle{bottom:12px;right:90px}
  .code-card{width:245px}
}
@media(max-width:760px){
  .orbit-angular{top:8px;right:0}
  .orbit-android{top:28px;left:0}
  .orbit-spring{top:100px;left:0}
  .orbit-odoo{top:49%;left:0}
  .orbit-kotlin{top:44%;right:0}
  .orbit-mongo{bottom:75px;right:0}
  .orbit-oracle{bottom:10px;right:76px}
  .code-card{width:220px;left:0;bottom:0;padding:9px 10px}
  .code-card code{font-size:9px}
  .tech-orbit-chip{gap:5px;padding:5px 7px;font-size:8px}
  .tech-orbit-chip .tech-logo{width:19px;height:19px;flex-basis:19px}
}
@media(max-width:520px){
  .code-card{width:190px}
  .orbit-oracle{right:56px}
  .orbit-spring{top:92px}
}

/* V8: hero technology orbit spacing and legible Java/Spring badges */
.hero-art{overflow:visible}
.hero-art .hero-logo-frame{width:285px;height:320px}
.hero-art .orbit-one{width:445px;height:310px}
.hero-art .orbit-two{width:360px;height:410px}
.floating-chip{min-height:56px;box-sizing:border-box}
.chip-java{top:58px;left:-4px;z-index:7;min-width:205px}
.chip-java .floating-tech-logo{width:28px;height:28px;flex-basis:28px;object-fit:contain}
.chip-angular{top:20px;right:6px;z-index:7}
.chip-figma{bottom:92px;right:-2px;z-index:7}
.orbit-android{top:14px;left:-16px;z-index:4}
.orbit-angular{top:4px;right:8px;z-index:4}
.orbit-kotlin{top:37%;right:-20px;z-index:4}
.orbit-spring{top:120px;left:-28px;bottom:auto;z-index:3}
.orbit-odoo{top:49%;left:-30px;z-index:4}
.orbit-mongo{bottom:82px;right:0;z-index:4}
.orbit-oracle{bottom:8px;right:125px;z-index:4}
.code-card{left:0;bottom:0;width:250px;max-width:48%;z-index:8}
.code-card code{font-size:10px;line-height:1.8}
.tech-orbit-chip{min-height:42px;white-space:nowrap}
.tech-orbit-chip .tech-logo{width:22px;height:22px;flex:0 0 22px;object-fit:contain}
@media(max-width:1050px){
 .hero-art .hero-logo-frame{width:245px;height:285px}
 .chip-java{top:64px;left:0;min-width:190px}
 .chip-angular{top:15px;right:0}
 .chip-figma{bottom:86px;right:0}
 .orbit-android{top:10px;left:0}
 .orbit-angular{top:4px;right:0}
 .orbit-kotlin{top:38%;right:0}
 .orbit-spring{top:122px;left:0}
 .orbit-odoo{top:48%;left:0}
 .orbit-mongo{bottom:78px;right:0}
 .orbit-oracle{bottom:8px;right:75px}
 .code-card{width:225px;max-width:52%}
}
@media(max-width:760px){
 .hero-art{min-height:440px}
 .hero-art .hero-logo-frame{width:220px;height:255px}
 .chip-java{top:62px;left:0;min-width:170px}
 .chip-java .floating-tech-logo{width:22px;height:22px;flex-basis:22px}
 .chip-java b{font-size:10px}
 .chip-java small{font-size:9px}
 .chip-angular{top:8px;right:0}
 .chip-figma{bottom:94px;right:0}
 .orbit-android{top:4px;left:0}
 .orbit-angular{top:2px;right:0}
 .orbit-kotlin{top:37%;right:0}
 .orbit-spring{top:115px;left:0}
 .orbit-odoo{top:49%;left:0}
 .orbit-mongo{bottom:72px;right:0}
 .orbit-oracle{bottom:8px;right:48px}
 .code-card{width:195px;max-width:58%;padding:8px 10px}
 .code-card code{font-size:8px;line-height:1.7}
 .tech-orbit-chip{min-height:36px;padding:5px 7px;font-size:8px}
 .tech-orbit-chip .tech-logo{width:18px;height:18px;flex-basis:18px}
}
@media(max-width:520px){
 .hero-art{min-height:410px}
 .hero-art .hero-logo-frame{width:190px;height:225px}
 .chip-java{top:62px;left:0;min-width:154px;padding:8px}
 .chip-java b{font-size:9px}
 .chip-java small{font-size:8px}
 .chip-angular{top:4px}
 .chip-figma{bottom:82px}
 .orbit-android{top:0;left:0}
 .orbit-angular{top:0;right:0}
 .orbit-kotlin{top:35%;right:0}
 .orbit-spring{top:106px;left:0}
 .orbit-odoo{top:48%;left:0}
 .orbit-mongo{bottom:65px;right:0}
 .orbit-oracle{bottom:5px;right:25px}
 .code-card{width:175px;max-width:60%}
}

/* V8.1: remove duplicate badges and keep the code sample unobstructed */
.dual-tech-logos{display:flex;align-items:center;gap:5px;flex:0 0 auto}
.dual-tech-logos .floating-tech-logo{width:25px;height:25px;flex-basis:25px;object-fit:contain}
.dual-tech-logos .java-chip-logo{padding:2px;box-sizing:border-box}
.dual-tech-logos .spring-chip-logo{border-radius:5px}
.chip-java{top:74px;left:-6px;right:auto;min-width:218px;z-index:9;gap:10px}
.chip-angular{top:18px;right:4px;z-index:9}
.chip-figma{bottom:100px;right:-2px;z-index:9}
.orbit-kotlin{top:38%;right:-18px;z-index:5}
.orbit-odoo{top:45%;left:-25px;z-index:5}
.orbit-mongo{bottom:78px;right:0;z-index:5}
.orbit-oracle{bottom:8px;right:118px;z-index:5}
.code-card{left:0;bottom:0;width:245px;max-width:47%;z-index:10}
@media(max-width:1050px){
 .chip-java{top:72px;left:0;min-width:202px}
 .chip-angular{top:12px;right:0}
 .chip-figma{bottom:90px;right:0}
 .orbit-kotlin{top:38%;right:0}
 .orbit-odoo{top:45%;left:0}
 .orbit-mongo{bottom:76px;right:0}
 .orbit-oracle{bottom:8px;right:70px}
 .code-card{width:220px;max-width:52%}
}
@media(max-width:760px){
 .chip-java{top:65px;left:0;min-width:172px;padding:9px}
 .dual-tech-logos .floating-tech-logo{width:20px;height:20px;flex-basis:20px}
 .chip-angular{top:8px;right:0}
 .chip-figma{bottom:91px;right:0}
 .orbit-kotlin{top:37%;right:0}
 .orbit-odoo{top:47%;left:0}
 .orbit-mongo{bottom:70px;right:0}
 .orbit-oracle{bottom:7px;right:43px}
 .code-card{width:190px;max-width:58%;z-index:10}
}
@media(max-width:520px){
 .chip-java{top:62px;left:0;min-width:154px;padding:8px}
 .chip-java b{font-size:9px}
 .chip-java small{font-size:8px}
 .chip-angular{top:4px}
 .chip-figma{bottom:82px}
 .orbit-kotlin{top:35%;right:0}
 .orbit-odoo{top:46%;left:0}
 .orbit-mongo{bottom:65px;right:0}
 .orbit-oracle{bottom:5px;right:25px}
 .code-card{width:175px;max-width:60%}
}

/* V9: emergency hero layout repair — transparent mascot frame, no glass panel */
.hero-art{position:relative;isolation:isolate;overflow:visible;min-width:0}
.hero-logo-frame{
  width:300px!important;height:330px!important;position:absolute!important;
  left:50%!important;top:50%!important;transform:translate(-50%,-53%)!important;
  display:grid!important;place-items:center!important;z-index:1!important;
  background:transparent!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;backdrop-filter:none!important;filter:none!important;
}
.hero-logo-frame img{
  display:block!important;width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;object-fit:contain!important;
  opacity:1!important;visibility:visible!important;background:transparent!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  filter:drop-shadow(0 14px 26px rgba(116,91,255,.13))!important;
}
.hero-art .orbit{pointer-events:none;z-index:0}
.hero-art .floating-chip,.hero-art .tech-orbit-chip{position:absolute!important;z-index:5!important}
.chip-java{top:34px!important;left:0!important;right:auto!important;min-width:205px;max-width:220px}
.chip-angular{top:6px!important;right:0!important;left:auto!important}
.chip-figma{right:0!important;bottom:98px!important;left:auto!important}
.orbit-kotlin{top:38%!important;right:-8px!important;left:auto!important;bottom:auto!important}
.orbit-odoo{top:43%!important;left:-8px!important;right:auto!important;bottom:auto!important}
.orbit-mongo{right:0!important;bottom:72px!important;left:auto!important;top:auto!important}
.orbit-oracle{right:100px!important;bottom:8px!important;left:auto!important;top:auto!important}
.code-card{left:0!important;bottom:0!important;width:245px!important;max-width:48%!important;z-index:8!important;box-sizing:border-box}
.code-card code{font-size:9px!important;line-height:1.75!important;white-space:normal}
.dual-tech-logos{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.dual-tech-logos img{display:block;object-fit:contain;width:24px;height:24px;flex:0 0 24px}
.dual-tech-logos .java-chip-logo{padding:1px}
.dual-tech-logos .spring-chip-logo{border-radius:5px}
.tech-orbit-chip{min-height:38px;white-space:nowrap}
.tech-orbit-chip .tech-logo{display:block;width:21px;height:21px;flex:0 0 21px;object-fit:contain}
@media(max-width:1050px){
 .hero-art{min-height:460px}
 .hero-logo-frame{width:260px!important;height:290px!important}
 .chip-java{top:42px!important;left:0!important;min-width:190px}
 .chip-angular{top:10px!important;right:0!important}
 .chip-figma{bottom:95px!important;right:0!important}
 .orbit-kotlin{top:38%!important;right:0!important}
 .orbit-odoo{top:45%!important;left:0!important}
 .orbit-mongo{bottom:70px!important;right:0!important}
 .orbit-oracle{bottom:5px!important;right:72px!important}
 .code-card{width:220px!important;max-width:52%!important}
}
@media(max-width:760px){
 .hero-art{min-height:430px}
 .hero-logo-frame{width:220px!important;height:250px!important;top:48%!important}
 .chip-java{top:55px!important;left:0!important;min-width:165px;max-width:180px;padding:8px 10px}
 .dual-tech-logos img{width:20px;height:20px;flex-basis:20px}
 .chip-java b{font-size:9px}
 .chip-java small{font-size:8px}
 .chip-angular{top:3px!important;right:0!important}
 .chip-figma{bottom:90px!important;right:0!important}
 .orbit-kotlin{top:36%!important;right:0!important}
 .orbit-odoo{top:47%!important;left:0!important}
 .orbit-mongo{bottom:65px!important;right:0!important}
 .orbit-oracle{bottom:5px!important;right:42px!important}
 .code-card{width:190px!important;max-width:58%!important;padding:8px 10px}
 .code-card code{font-size:8px!important}
 .tech-orbit-chip{min-height:34px;padding:5px 7px;font-size:8px}
 .tech-orbit-chip .tech-logo{width:18px;height:18px;flex-basis:18px}
}
@media(max-width:520px){
 .hero-art{min-height:400px}
 .hero-logo-frame{width:190px!important;height:220px!important}
 .chip-java{top:53px!important;min-width:150px;max-width:158px;padding:7px}
 .chip-java b{font-size:8px}
 .chip-java small{font-size:7px}
 .chip-angular{top:0!important}
 .chip-figma{bottom:82px!important}
 .orbit-kotlin{top:35%!important}
 .orbit-odoo{top:46%!important}
 .orbit-mongo{bottom:60px!important}
 .orbit-oracle{bottom:3px!important;right:20px!important}
 .code-card{width:170px!important;max-width:60%!important}
}

/* V10: final hero badge sizing — compact labels, independent Java/Spring chips */
.hero-art .floating-chip{
  width:max-content!important;height:auto!important;min-height:0!important;
  max-height:none!important;box-sizing:border-box!important;flex:0 0 auto!important;
  white-space:normal!important;align-items:center!important;
}
.hero-art .chip-java{
  top:36px!important;left:0!important;right:auto!important;bottom:auto!important;
  width:165px!important;min-width:165px!important;max-width:165px!important;
  padding:9px 11px!important;gap:9px!important;z-index:7!important;
}
.hero-art .chip-spring{
  top:105px!important;left:0!important;right:auto!important;bottom:auto!important;
  width:180px!important;min-width:180px!important;max-width:180px!important;
  padding:9px 11px!important;gap:9px!important;z-index:7!important;
}
.hero-art .chip-angular{
  top:12px!important;right:0!important;left:auto!important;bottom:auto!important;
  width:142px!important;min-width:142px!important;max-width:142px!important;
  height:54px!important;min-height:54px!important;max-height:54px!important;
  padding:9px 11px!important;gap:9px!important;z-index:7!important;
}
.hero-art .chip-figma{
  right:0!important;bottom:100px!important;left:auto!important;top:auto!important;
  width:120px!important;min-width:120px!important;max-width:120px!important;
  height:54px!important;min-height:54px!important;max-height:54px!important;
  padding:9px 10px!important;z-index:7!important;
}
.hero-art .chip-java img,.hero-art .chip-spring img,.hero-art .chip-angular img,.hero-art .chip-figma img{
  display:block!important;width:23px!important;height:23px!important;min-width:23px!important;
  min-height:23px!important;max-width:23px!important;max-height:23px!important;
  object-fit:contain!important;flex:0 0 23px!important;background:transparent!important;
}
.hero-art .chip-java b,.hero-art .chip-spring b,.hero-art .chip-angular b,.hero-art .chip-figma b{
  font-size:10px!important;line-height:1.3!important;white-space:nowrap!important;
}
.hero-art .chip-java small,.hero-art .chip-spring small,.hero-art .chip-angular small,.hero-art .chip-figma small{
  font-size:8px!important;line-height:1.35!important;white-space:nowrap!important;
}
.hero-art .chip-java>span:last-child,.hero-art .chip-spring>span:last-child,
.hero-art .chip-angular>span,.hero-art .chip-figma>span{
  display:block!important;min-width:0!important;flex:1 1 auto!important;
}
.hero-art .code-card{width:235px!important;max-width:47%!important;z-index:8!important}
@media(max-width:1050px){
 .hero-art .chip-java{top:34px!important;left:0!important}
 .hero-art .chip-spring{top:101px!important;left:0!important}
 .hero-art .chip-angular{top:8px!important;right:0!important}
 .hero-art .chip-figma{bottom:94px!important;right:0!important}
}
@media(max-width:760px){
 .hero-art .chip-java{top:50px!important;width:145px!important;min-width:145px!important;max-width:145px!important;padding:7px 8px!important}
 .hero-art .chip-spring{top:108px!important;width:155px!important;min-width:155px!important;max-width:155px!important;padding:7px 8px!important}
 .hero-art .chip-angular{top:2px!important;width:125px!important;min-width:125px!important;max-width:125px!important;height:45px!important;min-height:45px!important;max-height:45px!important;padding:7px 8px!important}
 .hero-art .chip-figma{bottom:88px!important;width:108px!important;min-width:108px!important;max-width:108px!important;height:45px!important;min-height:45px!important;max-height:45px!important;padding:7px 8px!important}
 .hero-art .chip-java img,.hero-art .chip-spring img,.hero-art .chip-angular img,.hero-art .chip-figma img{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;max-width:20px!important;max-height:20px!important;flex-basis:20px!important}
 .hero-art .chip-java b,.hero-art .chip-spring b,.hero-art .chip-angular b,.hero-art .chip-figma b{font-size:9px!important}
 .hero-art .chip-java small,.hero-art .chip-spring small,.hero-art .chip-angular small,.hero-art .chip-figma small{font-size:7px!important}
 .hero-art .code-card{width:180px!important;max-width:57%!important}
}
@media(max-width:520px){
 .hero-art .chip-java{top:46px!important;width:130px!important;min-width:130px!important;max-width:130px!important}
 .hero-art .chip-spring{top:98px!important;width:140px!important;min-width:140px!important;max-width:140px!important}
 .hero-art .chip-angular{width:112px!important;min-width:112px!important;max-width:112px!important}
 .hero-art .chip-figma{width:98px!important;min-width:98px!important;max-width:98px!important}
 .hero-art .code-card{width:165px!important;max-width:60%!important}
}

/* V11: reference-based orbit layout, supplied Spring Boot/Android marks, restored float motion */
.hero-art{overflow:visible!important;isolation:isolate}
.hero-art .hero-logo-frame{left:50%!important;top:50%!important;transform:translate(-50%,-53%)!important}
.hero-art .floating-chip,
.hero-art .tech-orbit-chip{
  animation:tech-float 5s ease-in-out infinite!important;
  will-change:transform;
}
.hero-art .chip-java{top:36px!important;left:0!important;right:auto!important;bottom:auto!important;animation-delay:-.4s!important}
.hero-art .chip-spring{top:112px!important;left:-65px!important;right:auto!important;bottom:auto!important;animation-delay:-1.3s!important}
.hero-art .chip-android{
  top:5px!important;left:50%!important;right:auto!important;bottom:auto!important;
  transform:translateX(-50%);width:145px!important;min-width:145px!important;max-width:145px!important;
  min-height:52px!important;padding:8px 10px!important;gap:9px!important;animation-delay:-2.1s!important;
}
.hero-art .chip-angular{top:8px!important;right:0!important;left:auto!important;bottom:auto!important;animation-delay:-.9s!important}
.hero-art .chip-figma{right:0!important;bottom:100px!important;left:auto!important;top:auto!important;animation-delay:-1.8s!important}
.hero-art .chip-java,.hero-art .chip-spring{width:180px!important;min-width:180px!important;max-width:180px!important;padding:9px 11px!important;gap:9px!important}
.hero-art .chip-java img,.hero-art .chip-spring img,.hero-art .chip-android img,
.hero-art .chip-angular img,.hero-art .chip-figma img{
  display:block!important;width:23px!important;height:23px!important;min-width:23px!important;min-height:23px!important;
  max-width:23px!important;max-height:23px!important;object-fit:contain!important;flex:0 0 23px!important;background:transparent!important;
}
.hero-art .chip-spring .spring-chip-logo{object-fit:contain!important}
.hero-art .chip-java b,.hero-art .chip-spring b,.hero-art .chip-android b,
.hero-art .chip-angular b,.hero-art .chip-figma b{font-size:10px!important;line-height:1.3!important;white-space:nowrap!important}
.hero-art .chip-java small,.hero-art .chip-spring small,.hero-art .chip-android small,
.hero-art .chip-angular small,.hero-art .chip-figma small{font-size:8px!important;line-height:1.35!important;white-space:nowrap!important}
.hero-art .chip-java>span:last-child,.hero-art .chip-spring>span:last-child,
.hero-art .chip-android>span:last-child,.hero-art .chip-angular>span:last-child,
.hero-art .chip-figma>span:last-child{display:block!important;min-width:0!important;flex:1 1 auto!important}
.hero-art .orbit-kotlin{top:38%!important;right:-5px!important;left:auto!important;bottom:auto!important;animation-delay:-.6s!important}
.hero-art .orbit-odoo{top:43%!important;left:-10px!important;right:auto!important;bottom:auto!important;animation-delay:-2.4s!important}
.hero-art .orbit-mongo{right:0!important;bottom:72px!important;left:auto!important;top:auto!important;animation-delay:-1.1s!important}
.hero-art .orbit-oracle{right:100px!important;bottom:8px!important;left:auto!important;top:auto!important;animation-delay:-3s!important}
.hero-art .code-card{left:0!important;bottom:0!important;width:235px!important;max-width:47%!important;z-index:8!important}
@media(max-width:1050px){
 .hero-art .chip-java{top:34px!important;left:0!important}
 .hero-art .chip-spring{top:108px!important;left:0!important}
 .hero-art .chip-android{top:3px!important;left:50%!important}
 .hero-art .chip-angular{top:8px!important;right:0!important}
 .hero-art .chip-figma{bottom:94px!important;right:0!important}
 .hero-art .orbit-kotlin{top:38%!important;right:0!important}
 .hero-art .orbit-odoo{top:45%!important;left:0!important}
 .hero-art .orbit-mongo{bottom:70px!important;right:0!important}
 .hero-art .orbit-oracle{bottom:5px!important;right:72px!important}
}
@media(max-width:760px){
 .hero-art{min-height:450px}
 .hero-art .chip-java{top:50px!important;left:0!important;width:145px!important;min-width:145px!important;max-width:145px!important;padding:7px 8px!important}
 .hero-art .chip-spring{top:108px!important;left:0!important;width:155px!important;min-width:155px!important;max-width:155px!important;padding:7px 8px!important}
 .hero-art .chip-android{top:3px!important;left:50%!important;width:125px!important;min-width:125px!important;max-width:125px!important;min-height:45px!important;padding:7px 8px!important}
 .hero-art .chip-angular{top:2px!important;right:0!important;width:125px!important;min-width:125px!important;max-width:125px!important;height:45px!important;min-height:45px!important;max-height:45px!important;padding:7px 8px!important}
 .hero-art .chip-figma{bottom:88px!important;right:0!important;width:108px!important;min-width:108px!important;max-width:108px!important;height:45px!important;min-height:45px!important;max-height:45px!important;padding:7px 8px!important}
 .hero-art .chip-java img,.hero-art .chip-spring img,.hero-art .chip-android img,.hero-art .chip-angular img,.hero-art .chip-figma img{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;max-width:20px!important;max-height:20px!important;flex-basis:20px!important}
 .hero-art .chip-java b,.hero-art .chip-spring b,.hero-art .chip-android b,.hero-art .chip-angular b,.hero-art .chip-figma b{font-size:9px!important}
 .hero-art .chip-java small,.hero-art .chip-spring small,.hero-art .chip-android small,.hero-art .chip-angular small,.hero-art .chip-figma small{font-size:7px!important}
 .hero-art .orbit-kotlin{top:36%!important;right:0!important}
 .hero-art .orbit-odoo{top:47%!important;left:0!important}
 .hero-art .orbit-mongo{bottom:65px!important;right:0!important}
 .hero-art .orbit-oracle{bottom:5px!important;right:42px!important}
 .hero-art .code-card{width:180px!important;max-width:57%!important}
}
@media(max-width:520px){
 .hero-art{min-height:420px}
 .hero-art .chip-java{top:46px!important;width:130px!important;min-width:130px!important;max-width:130px!important}
 .hero-art .chip-spring{top:98px!important;width:140px!important;min-width:140px!important;max-width:140px!important}
 .hero-art .chip-android{top:0!important;width:112px!important;min-width:112px!important;max-width:112px!important}
 .hero-art .chip-angular{width:112px!important;min-width:112px!important;max-width:112px!important}
 .hero-art .chip-figma{width:98px!important;min-width:98px!important;max-width:98px!important}
 .hero-art .code-card{width:165px!important;max-width:60%!important}
}
@media(prefers-reduced-motion:reduce){
 .hero-art .floating-chip,.hero-art .tech-orbit-chip{animation:none!important;will-change:auto}
}

/* Contact page: reuse the same mascot illustration shown on the homepage */
.contact-mascot{
  position:relative;
  z-index:1;
  display:block;
  width:min(290px, 78%);
  height:auto;
  max-height:340px;
  object-fit:contain;
  filter:drop-shadow(0 12px 30px rgba(167,243,106,.10));
  animation:contact-mascot-float 5.5s ease-in-out infinite;
}
@keyframes contact-mascot-float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-7px)}
}
.contact-side:before{width:280px;height:280px}
.contact-side:after{width:370px;height:370px}
@media(max-width:760px){
  .contact-side{min-height:310px}
  .contact-mascot{width:min(235px,72%);max-height:270px}
  .contact-side:before{width:220px;height:220px}
  .contact-side:after{width:290px;height:290px}
}
@media(prefers-reduced-motion:reduce){
  .contact-mascot{animation:none}
}


/* V13 mobile hotfix: constrain every technology logo and keep the hero art inside its column */
@media (max-width: 760px) {
  .hero {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 22px !important;
  }
  .hero-copy, .hero-art { min-width: 0 !important; width: 100% !important; }
  .hero-art {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 440px !important;
    min-height: 440px !important;
    max-height: 440px !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    isolation: isolate !important;
  }
  .hero-art .hero-logo-frame {
    position: absolute !important;
    display: grid !important;
    place-items: center !important;
    width: 190px !important;
    height: 230px !important;
    max-width: 58% !important;
    max-height: 58% !important;
    left: 50% !important;
    top: 46% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    z-index: 2 !important;
  }
  .hero-art .hero-logo-frame > img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
  }
  .hero-art .floating-chip,
  .hero-art .tech-orbit-chip {
    position: absolute !important;
    display: flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: 58px !important;
    padding: 7px 9px !important;
    gap: 7px !important;
    white-space: nowrap !important;
    z-index: 5 !important;
    transform: none;
    animation: tech-float 5s ease-in-out infinite !important;
  }
  .hero-art .floating-chip > img,
  .hero-art .tech-orbit-chip > img,
  .hero-art .floating-tech-logo,
  .hero-art .figma-logo-chip,
  .hero-art .tech-logo {
    display: block !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
    max-width: 22px !important;
    max-height: 22px !important;
    flex: 0 0 22px !important;
    object-fit: contain !important;
    padding: 0 !important;
    margin: 0 !important;
    background-color: transparent !important;
  }
  .hero-art .floating-chip > span,
  .hero-art .tech-orbit-chip > span { min-width: 0 !important; }
  .hero-art .floating-chip b,
  .hero-art .tech-orbit-chip span { font-size: 9px !important; line-height: 1.2 !important; }
  .hero-art .floating-chip small { font-size: 7px !important; line-height: 1.2 !important; }
  .hero-art .chip-java { top: 34px !important; left: 4px !important; right: auto !important; width: 132px !important; }
  .hero-art .chip-spring { top: 96px !important; left: 4px !important; right: auto !important; width: 145px !important; }
  .hero-art .chip-android { top: 4px !important; left: 50% !important; right: auto !important; width: 112px !important; transform: translateX(-50%) !important; }
  .hero-art .chip-angular { top: 4px !important; right: 4px !important; left: auto !important; width: 112px !important; }
  .hero-art .chip-figma { bottom: 88px !important; right: 4px !important; left: auto !important; width: 100px !important; }
  .hero-art .orbit-odoo { top: 46% !important; left: 4px !important; right: auto !important; }
  .hero-art .orbit-kotlin { top: 42% !important; right: 4px !important; left: auto !important; }
  .hero-art .orbit-mongo { bottom: 60px !important; right: 4px !important; left: auto !important; }
  .hero-art .orbit-oracle { bottom: 5px !important; right: 42px !important; left: auto !important; }
  .hero-art .code-card {
    position: absolute !important;
    left: 4px !important;
    bottom: 4px !important;
    width: 165px !important;
    max-width: 58% !important;
    padding: 12px !important;
    transform: none !important;
    z-index: 7 !important;
  }
  .hero-art .orbit-one { width: 290px !important; height: 190px !important; max-width: 90% !important; }
  .hero-art .orbit-two { width: 250px !important; height: 300px !important; max-width: 88% !important; }
  .hero-bottom-line { left: 12px !important; right: 12px !important; }
  .intro-strip { grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
  .intro-strip > div:last-child { grid-column: auto !important; }
  .service-grid { grid-template-columns: minmax(0, 1fr) !important; }
}
@media (max-width: 390px) {
  .hero-art { height: 405px !important; min-height: 405px !important; max-height: 405px !important; }
  .hero-art .hero-logo-frame { width: 165px !important; height: 200px !important; }
  .hero-art .chip-java { width: 120px !important; }
  .hero-art .chip-spring { width: 130px !important; }
  .hero-art .chip-android, .hero-art .chip-angular { width: 102px !important; }
  .hero-art .chip-figma { width: 92px !important; }
  .hero-art .floating-tech-logo, .hero-art .figma-logo-chip, .hero-art .tech-logo {
    width: 19px !important; height: 19px !important; min-width: 19px !important;
    min-height: 19px !important; max-width: 19px !important; max-height: 19px !important;
    flex-basis: 19px !important;
  }
}
