:root{--bg: #F2F2F4;--surface: #FFFFFF;--accent: #1A1A2E;--accent2: #0077B5;--accent3: #457B9D;--text: #1C1C1C;--muted: #4A4A5A;--border: #DDDDE3;--tag-bg: #E8E8EE;--radius: 12px;--radius-lg: 20px;--shadow: 0 4px 24px rgba(0,0,0,0.07);--shadow-hover: 0 12px 40px rgba(0,0,0,0.13);--font-display: 'Inter', sans-serif;--font-body: 'DM Sans', sans-serif;--page-max: 1320px;--blob-glow: rgba(0,119,181,0.22);--nav-bg: rgba(242,242,244,0.92)}body.dark{--bg: #0E0E18;--surface: #16162A;--accent: #E8E6FF;--accent2: #4DA3D9;--accent3: #6BA8CC;--text: #E0DEFC;--muted: #8886AA;--border: #2A2A42;--tag-bg: #1E1E34;--shadow: 0 4px 24px rgba(0,0,0,0.3);--shadow-hover: 0 12px 40px rgba(0,0,0,0.5);--blob-glow: rgba(77,163,217,0.32);--nav-bg: rgba(14,14,24,0.92)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden;transition:background .3s,color .3s}main#conteudo-principal{position:relative}main#conteudo-principal::before,main#conteudo-principal::after{content:"";display:none;position:absolute;pointer-events:none;z-index:0}nav.site-nav{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--nav-bg);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0 5%;display:flex;align-items:center;justify-content:space-between;height:64px;transition:background .3s,border-color .3s}nav.site-nav .nav-logo{font-family:var(--font-display);font-weight:800;font-size:1.1rem;color:var(--accent);text-decoration:none;letter-spacing:-0.03em}nav.site-nav .nav-logo span{color:var(--accent2)}nav.site-nav .nav-links{display:flex;gap:2rem;list-style:none}nav.site-nav .nav-links a{font-size:.85rem;font-weight:500;color:var(--muted);text-decoration:none;transition:color .2s;letter-spacing:.03em;text-transform:uppercase}nav.site-nav .nav-links a:hover{color:var(--accent)}nav.site-nav .nav-right{display:flex;align-items:center;gap:1rem}.theme-toggle{width:38px;height:38px;border-radius:8px;border:1px solid var(--border);background:var(--tag-bg);color:var(--accent);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .25s;flex-shrink:0}.theme-toggle:hover{background:var(--accent2);color:#fff;border-color:var(--accent2)}.btn-cta-nav{background:var(--accent2);color:#fff;border:none;border-radius:8px;padding:.45rem 1.1rem;font-family:var(--font-body);font-size:.82rem;font-weight:600;cursor:pointer;text-decoration:none;transition:all .2s;white-space:nowrap}.btn-cta-nav:hover{background:#005f91;transform:translateY(-1px)}#hero-section{background:var(--bg);transition:background .3s}#hero{min-height:100vh;padding:100px 8% 80px;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;position:relative;overflow:hidden;max-width:1400px;margin:0 auto}#hero::before{content:"";position:absolute;top:-200px;right:-200px;width:700px;height:700px;background:radial-gradient(circle, var(--blob-glow) 0%, transparent 70%);pointer-events:none}#hero::after{content:"";position:absolute;bottom:-100px;left:-100px;width:500px;height:500px;background:radial-gradient(circle, rgba(69, 123, 157, 0.06) 0%, transparent 70%);pointer-events:none}.hero-text{position:relative;z-index:1;animation:fadeUp .7s ease .1s both}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--tag-bg);border:1px solid var(--border);border-radius:100px;padding:.35rem 1rem;font-size:.75rem;font-weight:600;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:1.5rem}.hero-badge::before{content:"";width:7px;height:7px;background:#2ecc71;border-radius:50%;box-shadow:0 0 0 3px rgba(46,204,113,.25);animation:pulse 2s infinite}@keyframes pulse{0%,100%{box-shadow:0 0 0 3px rgba(46,204,113,.25)}50%{box-shadow:0 0 0 6px rgba(46,204,113,.1)}}.hero-typed-wrap{display:flex;align-items:center;gap:0;margin-bottom:.6rem;min-height:1.6em}.hero-typed{font-family:var(--font-display);font-size:clamp(.78rem,1.5vw,.95rem);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent2)}.hero-cursor{display:inline-block;width:2px;height:1em;background:var(--accent2);margin-left:3px;animation:blink .85s step-end infinite;vertical-align:middle}@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}.hero-name{font-family:"Inter",sans-serif;font-size:clamp(3rem,5vw,5rem);font-weight:900;line-height:1;letter-spacing:-0.04em;color:var(--accent);margin-bottom:1rem}.hero-name em{font-style:normal;color:var(--accent2)}.hero-desc{font-size:1.05rem;color:var(--muted);max-width:480px;line-height:1.75;margin-bottom:2.5rem}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem}.hero-socials{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.5rem}.social-btn{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;border:2px solid var(--border);background:var(--surface);color:var(--muted);font-size:1.2rem;text-decoration:none;transition:all .22s;box-shadow:var(--shadow)}.social-btn:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}.social-btn.github:hover{background:#24292e;border-color:#24292e;color:#fff}.social-btn.linkedin:hover{background:#0077b5;border-color:#0077b5;color:#fff}.social-btn.wordpress:hover{background:#21759b;border-color:#21759b;color:#fff}.social-btn.whatsapp:hover{background:#25d366;border-color:#25d366;color:#fff}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 2rem;border-radius:10px;font-family:var(--font-body);font-size:.92rem;font-weight:600;text-decoration:none;transition:all .25s;background:var(--accent);color:#fff;border:2px solid var(--accent)}.btn-primary:hover{opacity:.85;transform:translateY(-2px);box-shadow:var(--shadow-hover)}body.dark .btn-primary{background:var(--accent2);border-color:var(--accent2);color:#fff}body.dark .btn-primary:hover{background:#2f8fc7;border-color:#2f8fc7}.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 2rem;border-radius:10px;font-family:var(--font-body);font-size:.92rem;font-weight:600;text-decoration:none;transition:all .25s;background:rgba(0,0,0,0);color:var(--accent);border:2px solid var(--border)}.btn-secondary:hover{border-color:var(--accent);background:var(--tag-bg);transform:translateY(-2px)}.btn-whatsapp{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 2rem;border-radius:10px;font-family:var(--font-body);font-size:.92rem;font-weight:600;text-decoration:none;transition:all .25s;background:#25d366;color:#fff;border:2px solid #25d366}.btn-whatsapp:hover{background:#1da851;transform:translateY(-2px);box-shadow:var(--shadow-hover)}.hero-image-wrap{position:relative;z-index:1;display:flex;justify-content:center;align-items:center;animation:fadeIn .9s ease .3s both}.hero-photo-frame{position:relative;width:min(380px,90%)}.hero-photo-frame::after{content:"";position:absolute;bottom:-18px;right:-18px;width:80px;height:80px;border-right:3px solid var(--accent2);border-bottom:3px solid var(--accent2);border-radius:0 0 20px 0;z-index:0;opacity:.6}.hero-photo{position:relative;z-index:1;width:100%;aspect-ratio:4/5;overflow:hidden;border-radius:28px;box-shadow:0 20px 60px rgba(0,0,0,.12)}.hero-img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}.glitch-layer{position:absolute;inset:0;background-size:cover;background-position:top center;opacity:0;mix-blend-mode:normal;filter:none !important}.glitch-r{animation:glitch-s1 9s infinite linear}.glitch-b{animation:glitch-s2 9s .2s infinite linear}@keyframes glitch-s1{0%,100%{opacity:0;clip-path:inset(0 0 100%);transform:translateX(0)}20%{opacity:0;clip-path:inset(0 0 100%)}20.15%{opacity:1;clip-path:inset(32% 0 53%);transform:translateX(16px)}23%{opacity:1;clip-path:inset(32% 0 53%);transform:translateX(16px)}23.2%{opacity:0;clip-path:inset(0 0 100%)}65%{opacity:0;clip-path:inset(0 0 100%)}65.15%{opacity:1;clip-path:inset(17% 0 68%);transform:translateX(-13px)}68%{opacity:1;clip-path:inset(17% 0 68%);transform:translateX(-13px)}68.2%{opacity:0;clip-path:inset(0 0 100%)}}@keyframes glitch-s2{0%,100%{opacity:0;clip-path:inset(0 0 100%);transform:translateX(0)}20.4%{opacity:0;clip-path:inset(0 0 100%)}20.55%{opacity:1;clip-path:inset(50% 0 37%);transform:translateX(-11px)}23.4%{opacity:1;clip-path:inset(50% 0 37%);transform:translateX(-11px)}23.6%{opacity:0;clip-path:inset(0 0 100%)}65.4%{opacity:0;clip-path:inset(0 0 100%)}65.55%{opacity:1;clip-path:inset(62% 0 26%);transform:translateX(14px)}68.4%{opacity:1;clip-path:inset(62% 0 26%);transform:translateX(14px)}68.6%{opacity:0;clip-path:inset(0 0 100%)}}.glitch-scanlines{position:absolute;inset:0;pointer-events:none;z-index:4;background:repeating-linear-gradient(0deg, transparent, transparent 3px, rgba(0, 0, 0, 0.022) 3px, rgba(0, 0, 0, 0.022) 4px);opacity:.6}.hero-photo.glitch-hover .glitch-r{animation:glitch-s1-h 2.5s infinite ease}.hero-photo.glitch-hover .glitch-b{animation:glitch-s2-h 2.5s .2s infinite ease}@keyframes glitch-s1-h{0%,100%{opacity:0;clip-path:inset(0 0 100%);transform:translateX(0)}8%{opacity:0}8.5%{opacity:1;clip-path:inset(30% 0 55%);transform:translateX(15px)}19%{opacity:1;clip-path:inset(30% 0 55%);transform:translateX(15px)}19.5%{opacity:0;clip-path:inset(0 0 100%)}45%{opacity:0}45.5%{opacity:1;clip-path:inset(15% 0 70%);transform:translateX(-17px)}56%{opacity:1;clip-path:inset(15% 0 70%);transform:translateX(-17px)}56.5%{opacity:0;clip-path:inset(0 0 100%)}75%{opacity:0}75.5%{opacity:1;clip-path:inset(44% 0 42%);transform:translateX(13px)}86%{opacity:1;clip-path:inset(44% 0 42%);transform:translateX(13px)}86.5%{opacity:0;clip-path:inset(0 0 100%)}}@keyframes glitch-s2-h{0%,100%{opacity:0;clip-path:inset(0 0 100%);transform:translateX(0)}10%{opacity:0}10.5%{opacity:1;clip-path:inset(52% 0 35%);transform:translateX(-12px)}21%{opacity:1;clip-path:inset(52% 0 35%);transform:translateX(-12px)}21.5%{opacity:0;clip-path:inset(0 0 100%)}48%{opacity:0}48.5%{opacity:1;clip-path:inset(63% 0 25%);transform:translateX(11px)}59%{opacity:1;clip-path:inset(63% 0 25%);transform:translateX(11px)}59.5%{opacity:0;clip-path:inset(0 0 100%)}78%{opacity:0}78.5%{opacity:1;clip-path:inset(25% 0 62%);transform:translateX(-14px)}89%{opacity:1;clip-path:inset(25% 0 62%);transform:translateX(-14px)}89.5%{opacity:0;clip-path:inset(0 0 100%)}}.glitch-svg{position:absolute;width:0;height:0}.hero-stats{position:absolute;bottom:-16px;left:-40px;background:var(--surface);border-radius:var(--radius);padding:1rem 1.4rem;box-shadow:var(--shadow-hover);border:1px solid var(--border);display:flex;gap:0;z-index:10}.stat{text-align:center;padding:0 1.2rem;position:relative}.stat+.stat::before{content:"";position:absolute;left:0;top:15%;bottom:15%;width:1px;background:var(--border)}.stat-num{font-family:var(--font-display);font-size:1.55rem;font-weight:800;color:var(--accent);line-height:1}.stat-num span{color:var(--accent2)}.stat-label{font-size:.62rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-top:.2rem;display:block}section{padding:100px 8%}.section-inner{max-width:var(--page-max);margin:0 auto}.content-inner,.blog-hero-inner,.article-hero-inner{max-width:var(--page-max);margin-left:auto;margin-right:auto}section:not(#hero)>.reveal{max-width:var(--page-max);margin-left:auto;margin-right:auto}.section-label{display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--accent2);margin-bottom:.8rem}.section-title{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:800;letter-spacing:-0.04em;color:var(--accent);line-height:1.1;margin-bottom:1rem}.section-sub{font-size:1rem;color:var(--muted);line-height:1.7;margin-bottom:3rem}#certifications .section-sub,#experience .section-sub,#skills .section-sub{max-width:100%}#certifications{background:var(--bg)}.cert-grid{display:grid;gap:0;max-width:var(--page-max)}.cert-item{display:grid;grid-template-columns:200px 1fr;gap:0 2.5rem;padding:2rem 0;border-bottom:1px solid var(--border)}.cert-item:last-child{border-bottom:none}.cert-meta{padding-top:.2rem}.cert-issuer{font-family:var(--font-display);font-size:.85rem;font-weight:700;color:var(--accent);margin-bottom:.2rem}.cert-year{font-size:.78rem;color:var(--muted);font-weight:500}.cert-content{display:flex;align-items:flex-start;gap:1rem}.cert-badge{font-size:1.5rem;flex-shrink:0;width:44px;height:44px;background:var(--tag-bg);border-radius:10px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border)}.cert-title{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--accent);margin-bottom:.4rem;letter-spacing:-0.02em}.cert-desc{font-size:.9rem;color:var(--muted);line-height:1.65}#experience{background:var(--surface)}.exp-grid{display:grid;gap:0;max-width:var(--page-max)}.exp-item{display:grid;grid-template-columns:200px 1fr;gap:0 2.5rem;padding:2.5rem 0;border-bottom:1px solid var(--border);position:relative}.exp-item:last-child{border-bottom:none}.exp-meta{padding-top:.2rem}.section-sub-full{display:grid;gap:.9rem}.exp-company{font-family:var(--font-display);font-size:.85rem;font-weight:700;color:var(--accent);margin-bottom:.2rem}.exp-period{font-size:.78rem;color:var(--muted);font-weight:500}.exp-period.current{color:#2ecc71;font-weight:700}.exp-location{font-size:.74rem;color:var(--muted);line-height:1.45;margin-top:.35rem}.exp-role{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--accent);margin-bottom:.6rem;letter-spacing:-0.02em}.exp-desc{font-size:.92rem;color:var(--muted);line-height:1.7;margin-bottom:1rem}.exp-desc:has(+ .tech-tags){margin-top:1.2rem}.exp-block-title{font-family:var(--font-display);font-size:.92rem;font-weight:800;color:var(--accent);margin:1.1rem 0 .65rem;letter-spacing:-0.01em}.exp-list{display:grid;gap:.35rem;padding-left:1.1rem;margin:0 0 1rem}.exp-list li{color:var(--muted);font-size:.9rem;line-height:1.65}.tech-tags{display:flex;flex-wrap:wrap;gap:.4rem}.tag{background:rgba(0,119,181,.08);color:var(--accent2);font-size:.72rem;font-weight:600;padding:.25rem .7rem;border-radius:100px;letter-spacing:.02em;border:1px solid rgba(0,119,181,.25)}#companies{background:var(--bg);overflow:hidden;padding:70px 0}#companies .section-header{width:min(84%,var(--page-max));margin:0 auto;padding:0 0 3rem}.carousel-track-wrap{position:relative;overflow:hidden;mask-image:linear-gradient(to right, transparent, black 10%, black 90%, transparent)}.carousel-track{display:flex;gap:2rem;animation:slide 22s linear infinite;width:max-content}@keyframes slide{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}.company-card{flex-shrink:0;width:180px;height:100px;overflow:hidden;border-radius:0;border:none;background:none;box-shadow:none;padding:0;display:block}.company-card img.company-logo{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) brightness(0.85);opacity:.75;transition:filter .35s,opacity .35s;border-radius:0;max-width:unset}.company-card:hover img.company-logo{filter:grayscale(0) brightness(1);opacity:1}.company-card:hover .company-logo-fallback{filter:grayscale(0);opacity:1}.company-logo-fallback{display:flex;width:100%;height:100%;background:var(--tag-bg);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1rem;font-weight:800;color:var(--accent3);letter-spacing:.05em;border-radius:0;filter:grayscale(1);opacity:.6;transition:filter .35s,opacity .35s}.company-name{display:none}#testimonials{background:var(--surface)}.testimonials-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:1.5rem;max-width:var(--page-max)}@media(max-width: 1100px){.testimonials-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(max-width: 600px){.testimonials-grid{grid-template-columns:1fr}}.testimonial-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;display:flex;flex-direction:column;gap:1.2rem;transition:all .3s}.testimonial-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-4px);border-color:var(--accent2)}.testimonial-quote{font-size:1.4rem;color:var(--accent2);opacity:.5}.testimonial-text{font-size:.93rem;color:var(--muted);line-height:1.75;flex:1}.testimonial-author{display:flex;align-items:center;gap:.9rem;padding-top:1rem;border-top:1px solid var(--border)}.testimonial-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg, var(--accent2), var(--accent3));color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:.75rem;font-weight:800;flex-shrink:0;letter-spacing:.02em;object-fit:cover;display:block;overflow:hidden}.testimonial-name{font-family:var(--font-display);font-size:.88rem;font-weight:700;color:var(--accent)}.testimonial-role{font-size:.75rem;color:var(--muted);margin-top:.15rem}#skills{background:#1a1a2e;color:#fff}body.dark #skills{background:#0d0d1a}#skills .section-label{color:hsla(0,0%,100%,.5)}#skills .section-title{color:#fff}#skills .section-sub{color:hsla(0,0%,100%,.6)}.skills-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:1.5rem;max-width:var(--page-max)}.skill-card{background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:var(--radius-lg);padding:2rem;transition:all .3s}.skill-card:hover{background:hsla(0,0%,100%,.09);border-color:hsla(0,0%,100%,.2);transform:translateY(-4px)}.skill-card h3{font-family:var(--font-display);font-size:1rem;font-weight:700;color:#fff;margin-bottom:.6rem;letter-spacing:-0.02em}.skill-card p{font-size:.87rem;color:hsla(0,0%,100%,.55);line-height:1.6;margin-bottom:1.2rem}.skill-icon{width:50px;height:50px;background:hsla(0,0%,100%,.1);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1.2rem}.skill-tags{display:flex;flex-wrap:wrap;gap:.4rem}.skill-tag{background:hsla(0,0%,100%,.1);color:hsla(0,0%,100%,.75);font-size:.7rem;font-weight:600;padding:.25rem .65rem;border-radius:100px;border:1px solid hsla(0,0%,100%,.15)}#services{background:var(--surface)}.services-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:1.5rem;max-width:var(--page-max)}.service-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;transition:all .3s;position:relative;overflow:hidden}.service-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, var(--accent2), var(--accent3));opacity:0;transition:opacity .3s}.service-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-4px);border-color:var(--accent2)}.service-card:hover::before{opacity:1}.service-card:hover .service-icon{background:var(--accent2);color:#fff}.service-card h3{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--accent);margin-bottom:.6rem;letter-spacing:-0.02em}.service-card p{font-size:.88rem;color:var(--muted);line-height:1.65}.service-icon{width:52px;height:52px;background:rgba(0,119,181,.1);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--accent2);margin-bottom:1.2rem;transition:background .3s}#faq{background:var(--bg)}.faq-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:0 3rem;max-width:var(--page-max);align-items:start}@media(max-width: 900px){.faq-grid{grid-template-columns:1fr;gap:0}}.faq-item{border-bottom:1px solid var(--border)}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.3rem 0;background:none;border:none;cursor:pointer;text-align:left;font-family:var(--font-display);font-size:.95rem;font-weight:700;color:var(--accent);transition:color .2s}.faq-question:hover{color:var(--accent2)}.faq-question[aria-expanded=true]{color:var(--accent2)}.faq-question[aria-expanded=true] .faq-icon{transform:rotate(45deg)}.faq-icon{flex-shrink:0;font-size:.8rem;color:var(--accent2);transition:transform .3s ease}.faq-answer{overflow:hidden;max-height:0;transition:max-height .35s ease,padding .35s ease}.faq-answer.open{max-height:200px;padding-bottom:1.2rem}.faq-answer p{font-size:.92rem;color:var(--muted);line-height:1.7}#contact{background:var(--bg)}.contact-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:2rem;max-width:var(--page-max)}.contact-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1.5rem}.contact-card h3{font-family:var(--font-display);font-size:1.3rem;font-weight:800;color:var(--accent);letter-spacing:-0.03em}.contact-card p{font-size:.92rem;color:var(--muted);line-height:1.65}.contact-card-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.6rem}.contact-card-icon.wpp{background:rgba(37,211,102,.12)}.contact-card-icon.cal{background:rgba(69,123,157,.12)}.contact-card-icon.lkd{background:rgba(0,119,181,.12);color:#0077b5}#blog{background:var(--surface)}.blog-hero-sub{max-width:none}.blog-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:1.5rem;max-width:var(--page-max)}.blog-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:all .3s;cursor:pointer;text-decoration:none;display:block}.blog-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-4px)}.blog-thumb{width:100%;height:180px;background:linear-gradient(135deg, var(--tag-bg), var(--border));display:flex;align-items:center;justify-content:center;font-size:3rem}.blog-content{padding:1.4rem}.blog-category{display:inline-block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--accent2);margin-bottom:.6rem}.blog-title{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--accent);line-height:1.4;letter-spacing:-0.02em;margin-bottom:.5rem}.blog-excerpt{font-size:.85rem;color:var(--muted);line-height:1.6;margin-bottom:1rem}.blog-meta{font-size:.75rem;color:var(--muted);font-weight:500}footer{background:#1a1a2e;color:hsla(0,0%,100%,.7);padding:50px 8%}body.dark footer{background:#0d0d1a}.footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;max-width:1400px;margin:0 auto}.footer-brand{font-family:var(--font-display);font-size:1.1rem;font-weight:800;color:#fff;letter-spacing:-0.03em}.footer-brand span{color:var(--accent2)}.footer-copy{font-size:.8rem;color:hsla(0,0%,100%,.4);margin-top:.3rem}.footer-links{display:flex;gap:1rem;align-items:center}.footer-link{display:flex;align-items:center;gap:.5rem;color:hsla(0,0%,100%,.65);text-decoration:none;font-size:.85rem;font-weight:500;transition:color .2s;padding:.5rem 1rem;border-radius:8px;border:1px solid hsla(0,0%,100%,.1)}.footer-link:hover{color:#fff;border-color:hsla(0,0%,100%,.3);background:hsla(0,0%,100%,.05)}.whatsapp-fixed{position:fixed;bottom:63px;right:28px;z-index:999;width:58px;height:58px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(37,211,102,.45);text-decoration:none;transition:transform .25s,box-shadow .25s;animation:wppPop .5s cubic-bezier(0.34, 1.56, 0.64, 1) 1s both}.whatsapp-fixed:hover{transform:scale(1.12);box-shadow:0 10px 32px rgba(37,211,102,.55)}.whatsapp-fixed svg{width:30px;height:30px;fill:#fff}.whatsapp-fixed::before{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(37,211,102,.4);animation:wppRing 2.5s ease-out infinite}@keyframes wppRing{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.5);opacity:0}}@keyframes wppPop{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.back-to-top{position:fixed;bottom:8px;right:28px;z-index:998;width:46px;height:46px;background:var(--surface);border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--accent2);font-size:1rem;cursor:pointer;text-decoration:none;box-shadow:var(--shadow);opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .3s,transform .3s,box-shadow .2s,background .2s}.back-to-top.visible{opacity:1;transform:translateY(0);pointer-events:auto}.back-to-top:hover{background:var(--accent2);color:#fff;border-color:var(--accent2);box-shadow:var(--shadow-hover)}@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.reveal{opacity:1;transform:none}@media(min-width: 1441px){#hero{max-width:1320px;min-height:min(100vh,960px);padding:96px clamp(64px,6vw,96px) 72px;gap:clamp(4rem,5vw,6rem);grid-template-columns:minmax(0, 1.05fr) minmax(360px, 0.95fr)}#hero::before,#hero::after{display:none}main#conteudo-principal::before{display:block;top:64px;right:0;width:700px;height:700px;background:radial-gradient(circle at top right, var(--blob-glow) 0%, transparent 70%)}main#conteudo-principal::after{display:block;top:560px;left:0;width:500px;height:500px;background:radial-gradient(circle at bottom left, rgba(69, 123, 157, 0.06) 0%, transparent 70%)}.hero-photo-frame{width:min(400px,100%)}}@media(min-width: 1921px){#hero{min-height:min(100vh,920px)}}@media(max-width: 1100px){.skills-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}.blog-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}.services-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}.contact-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(max-width: 900px){#hero{grid-template-columns:1fr;padding:90px 6% 60px;gap:3rem;text-align:center}.hero-typed-wrap{justify-content:center}.hero-badge{align-self:center}.hero-socials{justify-content:center}.hero-actions{justify-content:center}.hero-image-wrap{order:-1}.hero-photo-frame{width:min(280px,70vw)}.hero-stats{left:50%;transform:translateX(-50%);white-space:nowrap}.hero-desc{margin-left:auto;margin-right:auto}.cert-item{grid-template-columns:1fr;gap:.3rem}.cert-meta{display:flex;gap:1rem;align-items:center}.exp-item{grid-template-columns:1fr;gap:.3rem}.exp-meta{display:flex;gap:1rem;align-items:center}.skills-grid{grid-template-columns:1fr}.services-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.blog-grid{grid-template-columns:1fr}nav.site-nav .nav-links{display:none}}@media(max-width: 600px){section{padding:70px 5%}.hero-actions{flex-direction:column;align-items:center}.btn-primary,.btn-secondary,.btn-whatsapp{justify-content:center;width:100%;max-width:280px}}.blog-filters{display:flex;flex-wrap:wrap;gap:.7rem;margin:0 0 1.8rem}.filter-btn{background:var(--surface);border:1px solid var(--border);color:var(--muted);padding:.55rem .95rem;border-radius:999px;cursor:pointer;font-weight:600;font-family:var(--font-sans);font-size:.85rem;transition:all .2s ease}.filter-btn:hover{border-color:var(--accent);color:var(--text)}.filter-btn.active{background:var(--accent2);border-color:var(--accent2);color:#fff}.empty-state{display:none;padding:2rem;text-align:center;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--muted);width:100%;grid-column:1/-1}.article-hero{margin-top:64px;padding:92px 8% 72px;background:var(--surface);border-bottom:1px solid var(--border)}.article-hero-inner{max-width:980px}.article-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin-bottom:2rem;color:var(--muted);font-size:.82rem}.article-breadcrumb a{color:var(--accent2);text-decoration:none;font-weight:700}.article-breadcrumb a:hover{text-decoration:underline}.article-breadcrumb i{color:var(--muted);font-size:.7rem;opacity:.65}.article-category-tag{display:inline-flex;align-items:center;margin-bottom:1rem;border-radius:999px;padding:.35rem .8rem;background:var(--tag-bg);border:1px solid var(--border);color:var(--accent2);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.article-title{max-width:860px;font-family:var(--font-display);font-size:clamp(2.35rem,5vw,4.2rem);font-weight:900;line-height:1.02;letter-spacing:-.04em;color:var(--accent);margin-bottom:1rem}.article-lead{max-width:760px;color:var(--muted);font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.75;margin-bottom:2rem}.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.4rem;color:var(--muted);font-size:.86rem}.article-author{display:flex;align-items:center;gap:.8rem}.article-author-avatar{width:42px;height:42px;border-radius:50%;background:var(--accent2);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:.78rem;font-weight:900;flex-shrink:0}.article-author-info{display:grid;gap:.05rem}.article-author-name{color:var(--accent);font-weight:800}.article-author-role{color:var(--muted);font-size:.78rem}.article-meta-item{display:inline-flex;align-items:center;gap:.45rem}.article-meta-item i{color:var(--accent2)}.article-content{max-width:820px;margin:0 auto;color:var(--text)}.article-content>*+*{margin-top:1.15rem}.article-content p{color:var(--muted);font-size:1.02rem;line-height:1.85}.article-content h2{margin-top:2.8rem;font-family:var(--font-display);font-size:clamp(1.45rem,2.4vw,2rem);font-weight:850;line-height:1.18;letter-spacing:-0.03em;color:var(--accent)}.article-content strong{color:var(--accent)}.map-cta-bar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:2.6rem;padding:1.2rem;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg)}
.visually-hidden{ position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;} .article-hero{ padding:110px 8% 0;position:relative;overflow:hidden;} .article-hero::before{ content:'';position:absolute;top:-200px;right:-200px;width:700px;height:700px;background:radial-gradient(circle, var(--blob-glow) 0%, transparent 70%);pointer-events:none;} .article-hero-inner{ max-width:780px;margin:0 auto;position:relative;z-index:1;padding-bottom:3rem;animation:fadeUp 0.7s ease 0.1s both;} .article-breadcrumb{ display:flex;align-items:center;gap:0.5rem;font-size:0.78rem;color:var(--muted);margin-bottom:1.5rem;flex-wrap:wrap;} .article-breadcrumb a{ color:var(--muted);text-decoration:none;transition:color 0.2s;} .article-breadcrumb a:hover{ color:var(--accent2);} .article-breadcrumb i{ font-size:0.55rem;color:var(--border);} .article-category-tag{ display:inline-flex;align-items:center;gap:0.4rem;background:rgba(123,94,167,0.1);color:var(--accent2);font-size:0.68rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;padding:0.3rem 0.85rem;border-radius:100px;border:1px solid rgba(123,94,167,0.2);text-decoration:none;transition:background 0.2s, border-color 0.2s;margin-bottom:1.2rem;} .article-category-tag:hover{ background:rgba(123,94,167,0.18);border-color:rgba(123,94,167,0.4);} .article-title{ font-family:var(--font-display);font-size:clamp(1.8rem, 4vw, 2.8rem);font-weight:900;color:var(--accent);line-height:1.15;letter-spacing:-0.04em;margin-bottom:1.2rem;} .article-lead{ font-size:1.1rem;color:var(--muted);line-height:1.8;margin-bottom:1.8rem;} .article-meta{ display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;padding:1.2rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);} .article-author{ display:flex;align-items:center;gap:0.65rem;} .article-author-avatar{ width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg, var(--accent2), var(--accent3));color:#fff;font-family:var(--font-display);font-size:0.68rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;text-decoration:none;} .article-author-info{ display:flex;flex-direction:column;} .article-author-name{ font-size:0.85rem;font-weight:700;color:var(--accent);text-decoration:none;transition:color 0.2s;} .article-author-name:hover{ color:var(--accent2);} .article-author-role{ font-size:0.72rem;color:var(--muted);} .article-meta-sep{ width:1px;height:24px;background:var(--border);flex-shrink:0;} .article-meta-item{ display:flex;align-items:center;gap:0.4rem;font-size:0.78rem;color:var(--muted);} .article-meta-item i{ font-size:0.72rem;color:var(--accent2);} .article-share{ margin-left:auto;display:flex;align-items:center;gap:0.5rem;} .share-btn{ width:34px;height:34px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:0.85rem;display:flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;transition:all 0.2s;} .share-btn:hover{ background:var(--accent2);color:#fff;border-color:var(--accent2);} .article-cover{ max-width:1000px;margin:15px auto 0;padding:0 8% 0;} .article-cover-img{ width:100%;aspect-ratio:16/7;background:linear-gradient(135deg, #1A1A2E 0%, #2d1b5e 50%, #1a2e4a 100%);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:6rem;position:relative;overflow:hidden;margin-bottom:0;} .article-cover-img::after{ content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 50%, rgba(123,94,167,0.25) 0%, transparent 60%);} .article-cover-img i{ position:relative;z-index:1;opacity:0.65;} .article-body{ padding:3.5rem 8%;max-width:780px;margin:0 auto;} .article-content{ font-family:var(--font-body);font-size:1.02rem;color:var(--text);line-height:1.85;} .article-content h2{ font-family:var(--font-display);font-size:clamp(1.3rem, 2.5vw, 1.6rem);font-weight:800;color:var(--accent);letter-spacing:-0.03em;line-height:1.25;margin:2.5rem 0 1rem;} .article-content h3{ font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--accent);letter-spacing:-0.02em;margin:2rem 0 0.75rem;} .article-content p{ margin-bottom:1.4rem;} .article-content p:last-child{ margin-bottom:0;} .article-content a{ color:var(--accent2);text-decoration:underline;text-underline-offset:3px;transition:opacity 0.2s;} .article-content a:hover{ opacity:0.75;} .article-content strong{ font-weight:700;color:var(--accent);} .article-content em{ font-style:italic;} .article-content ul, .article-content ol{ margin:0 0 1.4rem 1.5rem;display:flex;flex-direction:column;gap:0.5rem;} .article-content li{ line-height:1.7;} .article-content blockquote{ border-left:3px solid var(--accent2);padding:1rem 1.5rem;margin:1.8rem 0;background:var(--tag-bg);border-radius:0 var(--radius) var(--radius) 0;font-style:italic;color:var(--muted);} .article-content blockquote p{ margin-bottom:0;} .article-content pre{ background:#1A1A2E;border-radius:var(--radius);padding:1.5rem;overflow-x:auto;margin:1.8rem 0;border:1px solid rgba(255,255,255,0.06);} body.dark .article-content pre{ background:#0D0D1A;border-color:rgba(255,255,255,0.08);} .article-content code{ font-family:'Courier New', Courier, monospace;font-size:0.88rem;color:#e2c4ff;line-height:1.7;} .article-content p code, .article-content li code{ background:var(--tag-bg);color:var(--accent2);padding:0.15em 0.45em;border-radius:4px;font-size:0.85em;border:1px solid var(--border);} .article-content hr{ border:none;border-top:1px solid var(--border);margin:2.5rem 0;} .article-tags{ display:flex;flex-wrap:wrap;gap:0.5rem;align-items:center;padding-top:2rem;margin-top:2rem;border-top:1px solid var(--border);} .article-tags-label{ font-size:0.78rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:0.08em;margin-right:0.3rem;} .author-bio{ max-width:780px;margin:0 auto;padding:0 8% 3.5rem;} .author-bio-card{ display:flex;gap:1.5rem;align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow);} .author-bio-avatar{ width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg, var(--accent2), var(--accent3));color:#fff;font-family:var(--font-display);font-size:1.2rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;} .author-bio-content{ flex:1;} .author-bio-label{ font-size:0.68rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--accent2);margin-bottom:0.3rem;} .author-bio-name{ font-family:var(--font-display);font-size:1.05rem;font-weight:800;color:var(--accent);letter-spacing:-0.02em;margin-bottom:0.5rem;} .author-bio-text{ font-size:0.88rem;color:var(--muted);line-height:1.7;margin-bottom:1rem;} .author-bio-links{ display:flex;gap:0.6rem;} .article-nav{ max-width:780px;margin:0 auto;padding:0 8% 3.5rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem;} .article-nav-item{ background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem;text-decoration:none;transition:all 0.25s;display:flex;flex-direction:column;gap:0.4rem;} .article-nav-item:hover{ border-color:var(--accent2);box-shadow:var(--shadow-hover);transform:translateY(-2px);} .article-nav-item.next{ text-align:right;} .article-nav-direction{ font-size:0.68rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--accent2);display:flex;align-items:center;gap:0.4rem;} .article-nav-item.next .article-nav-direction{ justify-content:flex-end;} .article-nav-title{ font-family:var(--font-display);font-size:0.92rem;font-weight:700;color:var(--accent);line-height:1.35;letter-spacing:-0.02em;} .article-nav-category{ font-size:0.72rem;color:var(--muted);font-weight:500;} .related-section{ background:var(--bg);padding:70px 8%;} .related-inner{ max-width:1100px;margin:0 auto;} .related-grid{ display:grid;grid-template-columns:repeat(3, 1fr);gap:1.5rem;margin-top:2rem;} @media (max-width:900px){ .article-hero{ padding-top:90px;} .article-share{ display:none;} .related-grid{ grid-template-columns:repeat(2, 1fr);} } @media (max-width:600px){ .article-nav{ grid-template-columns:1fr;} .article-meta-sep{ display:none;} .author-bio-card{ flex-direction:column;} .related-grid{ grid-template-columns:1fr;} }