/* ============================================================
   CONSERTEC — Design 3D / Animado
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg:#04091a; --bg2:#060d20; --bg3:#091428;
  --blue:#2563eb; --blue2:#3b82f6; --blue3:#60a5fa;
  --cyan:#06b6d4; --amber:#f59e0b; --amber2:#fbbf24; --violet:#7c3aed;
  --white:#f1f5f9; --muted:#94a3b8; --dimmer:#475569;
  --glass:rgba(255,255,255,.04); --glass2:rgba(255,255,255,.07);
  --border:rgba(255,255,255,.07); --border2:rgba(59,130,246,.2);
  --glow-blue:rgba(37,99,235,.4); --glow-amber:rgba(245,158,11,.35); --glow-cyan:rgba(6,182,212,.3);
  --r:14px; --r-sm:8px; --ease:cubic-bezier(.22,1,.36,1); --t:.3s;
}

html { scroll-behavior: smooth; overflow-x: hidden; }
body { font-family:'Inter',system-ui,sans-serif; background:var(--bg); color:var(--white); line-height:1.6; overflow-x:hidden; -webkit-font-smoothing:antialiased; }
::-webkit-scrollbar { width:5px; }
::-webkit-scrollbar-track { background:var(--bg); }
::-webkit-scrollbar-thumb { background:var(--blue); border-radius:10px; }
::selection { background:rgba(37,99,235,.4); color:#fff; }

.container { max-width:1180px; margin:0 auto; padding:0 5%; }
section { padding:8rem 5%; position:relative; }
.label { display:inline-flex; align-items:center; gap:.5rem; font-size:.68rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:var(--cyan); }
.label::before { content:''; width:20px; height:1px; background:var(--cyan); }
.section-title { font-size:clamp(2rem,3.8vw,3.2rem); font-weight:900; letter-spacing:-.04em; line-height:1.1; }
.text-gradient { background:linear-gradient(135deg,var(--blue3) 0%,var(--cyan) 50%,var(--amber) 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; background-size:200% auto; animation:grad-shift 4s ease infinite; }
@keyframes grad-shift { 0%,100%{background-position:0% center;} 50%{background-position:100% center;} }

.btn { display:inline-flex; align-items:center; gap:.55rem; font-size:.875rem; font-weight:700; letter-spacing:.04em; text-decoration:none; border-radius:var(--r-sm); padding:.85rem 2rem; transition:all var(--t) var(--ease); white-space:nowrap; cursor:pointer; border:none; position:relative; overflow:hidden; }
.btn::after { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(255,255,255,.15) 0%,transparent 60%); opacity:0; transition:opacity var(--t); }
.btn:hover::after { opacity:1; }
.btn-primary { background:linear-gradient(135deg,var(--blue) 0%,var(--violet) 100%); color:#fff; box-shadow:0 0 30px var(--glow-blue),0 4px 20px rgba(0,0,0,.3); }
.btn-primary:hover { transform:translateY(-2px) scale(1.02); box-shadow:0 0 60px var(--glow-blue),0 8px 30px rgba(0,0,0,.4); }
.btn-outline { background:var(--glass); color:var(--white); border:1px solid var(--border2); backdrop-filter:blur(8px); }
.btn-outline:hover { background:rgba(37,99,235,.12); border-color:var(--blue3); transform:translateY(-2px); }

/* ORBS */
.bg-orbs { position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.orb { position:absolute; border-radius:50%; filter:blur(120px); opacity:.18; animation:orb-drift 20s ease-in-out infinite; }
.orb-1 { width:600px; height:600px; background:var(--blue); top:-150px; left:-100px; }
.orb-2 { width:500px; height:500px; background:var(--violet); top:40%; right:-150px; animation-delay:-7s; animation-duration:25s; }
.orb-3 { width:400px; height:400px; background:var(--cyan); bottom:10%; left:30%; animation-delay:-14s; animation-duration:18s; }
.orb-4 { width:300px; height:300px; background:var(--amber); bottom:-100px; right:20%; animation-delay:-3s; animation-duration:22s; opacity:.12; }
@keyframes orb-drift { 0%,100%{transform:translate(0,0) scale(1);} 33%{transform:translate(60px,-40px) scale(1.08);} 66%{transform:translate(-40px,60px) scale(.95);} }
body::before { content:''; position:fixed; inset:0; z-index:1; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E"); opacity:.35; }

/* NAVBAR */
#navbar { position:fixed; top:0; left:0; right:0; z-index:1000; height:74px; display:flex; align-items:center; justify-content:space-between; padding:0 5%; background:rgba(4,9,26,.6); backdrop-filter:blur(20px) saturate(160%); border-bottom:1px solid var(--border); transition:all var(--t) var(--ease); }
#navbar.scrolled { height:62px; background:rgba(4,9,26,.92); box-shadow:0 4px 40px rgba(0,0,0,.6),0 0 0 1px rgba(37,99,235,.1); }
.nav-logo img { height:52px; width:auto; display:block; filter:drop-shadow(0 0 8px rgba(59,130,246,.4)); }
.nav-links { display:flex; align-items:center; gap:2.2rem; list-style:none; }
.nav-links a { color:var(--muted); text-decoration:none; font-size:.8rem; font-weight:500; letter-spacing:.06em; text-transform:uppercase; transition:color var(--t); position:relative; }
.nav-links a::after { content:''; position:absolute; bottom:-4px; left:0; right:0; height:1px; background:var(--cyan); transform:scaleX(0); transition:transform var(--t) var(--ease); }
.nav-links a:hover { color:var(--white); }
.nav-links a:hover::after { transform:scaleX(1); }
.nav-cta { background:linear-gradient(135deg,var(--blue),var(--violet)) !important; color:#fff !important; padding:.5rem 1.3rem !important; border-radius:999px !important; font-size:.78rem !important; font-weight:700 !important; box-shadow:0 0 20px var(--glow-blue) !important; transition:all var(--t) !important; }
.nav-cta::after { display:none !important; }
.nav-cta:hover { transform:scale(1.05) !important; box-shadow:0 0 40px var(--glow-blue) !important; }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:8px; background:none; border:none; -webkit-tap-highlight-color:transparent; }
.hamburger span { display:block; width:22px; height:2px; background:var(--white); border-radius:2px; transition:var(--t); }
#mobile-menu { display:none; flex-direction:column; position:fixed; top:74px; left:0; right:0; bottom:0; background:rgba(4,9,26,.98); backdrop-filter:blur(20px); padding:2.5rem 5%; z-index:999; border-top:1px solid var(--border); overflow-y:auto; -webkit-overflow-scrolling:touch; }
#mobile-menu.open { display:flex; }
#mobile-menu a { color:var(--muted); text-decoration:none; font-size:1.1rem; font-weight:500; padding:1.1rem 0; border-bottom:1px solid var(--border); transition:color var(--t); }
#mobile-menu a:active { color:var(--white); }

/* HERO */
#inicio { min-height:100vh; padding-top:74px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; max-width:100vw; }
.hero-grid { position:absolute; inset:0; z-index:0; background-image:linear-gradient(rgba(37,99,235,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.06) 1px,transparent 1px); background-size:50px 50px; perspective:500px; transform:rotateX(10deg) scale(1.1); transform-origin:center center; mask-image:linear-gradient(to bottom,transparent 0%,black 30%,black 70%,transparent 100%); }
.hero-scan { position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,transparent,var(--cyan),transparent); animation:scan 6s ease-in-out infinite; z-index:2; opacity:.6; }
@keyframes scan { 0%{top:0%;opacity:0;} 10%{opacity:.6;} 90%{opacity:.6;} 100%{top:100%;opacity:0;} }
.hero-float { position:absolute; border-radius:50%; z-index:0; border:1px solid rgba(255,255,255,.06); animation:float3d ease-in-out infinite; }
.hero-float:nth-child(1){width:120px;height:120px;top:15%;left:8%;background:rgba(37,99,235,.08);animation-duration:8s;}
.hero-float:nth-child(2){width:70px;height:70px;top:25%;right:12%;background:rgba(6,182,212,.1);animation-duration:11s;animation-delay:-3s;}
.hero-float:nth-child(3){width:200px;height:200px;bottom:20%;left:5%;background:rgba(124,58,237,.06);animation-duration:14s;animation-delay:-6s;}
.hero-float:nth-child(4){width:50px;height:50px;bottom:30%;right:8%;background:rgba(245,158,11,.1);animation-duration:9s;animation-delay:-1s;}
.hero-float:nth-child(5){width:90px;height:90px;top:60%;left:20%;background:rgba(6,182,212,.06);animation-duration:12s;animation-delay:-5s;}
@keyframes float3d { 0%,100%{transform:translate(0,0) rotate(0deg);} 25%{transform:translate(15px,-20px) rotate(5deg);} 50%{transform:translate(-10px,-35px) rotate(-3deg);} 75%{transform:translate(20px,-15px) rotate(7deg);} }
.hero-inner { position:relative; z-index:5; max-width:860px; margin:0 auto; text-align:center; padding:5rem 1rem; }
.hero-badge { display:inline-flex; align-items:center; gap:.6rem; padding:.45rem 1.2rem; margin-bottom:2.2rem; border:1px solid rgba(6,182,212,.3); border-radius:999px; background:rgba(6,182,212,.06); backdrop-filter:blur(8px); font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--cyan); }
.hero-badge .dot { width:7px; height:7px; border-radius:50%; background:var(--cyan); box-shadow:0 0 8px var(--cyan); animation:pulse-dot 2s ease-in-out infinite; }
@keyframes pulse-dot { 0%,100%{opacity:1;transform:scale(1);} 50%{opacity:.4;transform:scale(.65);} }
.hero-title { font-size:clamp(2.4rem,6vw,5rem); font-weight:900; letter-spacing:-.05em; line-height:1.05; margin-bottom:1.5rem; }
.hero-title .line { display:block; }
.hero-title .line-1 { color:var(--white); }
.hero-title .line-2 { background:linear-gradient(90deg,var(--blue2),var(--cyan),var(--amber)); background-size:200% auto; -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; animation:grad-shift 3s ease infinite; display:inline-block; clip-path:inset(0 100% 0 0); transition:clip-path .9s cubic-bezier(.22,1,.36,1); }
.hero-title .line-2.line-revealed { clip-path:inset(0 0% 0 0); }
.hero-title .line-3 { color:rgba(241,245,249,.6); font-weight:300; font-size:75%; letter-spacing:-.02em; }
.hero-sub { font-size:clamp(.9rem,1.5vw,1.05rem); color:var(--muted); max-width:520px; margin:0 auto 2.8rem; line-height:1.9; }
.hero-actions { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }
.hero-stats { display:flex; gap:3rem; justify-content:center; flex-wrap:wrap; margin-top:4rem; padding-top:3rem; border-top:1px solid rgba(255,255,255,.06); }
.hs-item { text-align:center; }
.hs-val { font-size:2rem; font-weight:900; letter-spacing:-.04em; line-height:1; background:linear-gradient(135deg,var(--white) 0%,var(--blue3) 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.hs-label { font-size:.7rem; color:var(--dimmer); text-transform:uppercase; letter-spacing:.1em; margin-top:.3rem; }
.scroll-cue { position:absolute; bottom:2.5rem; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:.5rem; z-index:5; animation:cue-bob 2s ease-in-out infinite; }
.scroll-cue span { font-size:.65rem; color:var(--dimmer); letter-spacing:.12em; text-transform:uppercase; }
.scroll-cue i { color:var(--cyan); font-size:.9rem; }
@keyframes cue-bob { 0%,100%{transform:translateX(-50%) translateY(0);} 50%{transform:translateX(-50%) translateY(8px);} }

/* STATS STRIP */
.stats-strip { position:relative; z-index:2; background:linear-gradient(90deg,rgba(9,20,40,1),rgba(13,24,54,.95)); border-top:1px solid var(--border); border-bottom:1px solid var(--border); overflow:hidden; max-width:100%; }
.stats-strip::before { content:''; position:absolute; top:0; left:-100%; right:0; bottom:0; background:linear-gradient(90deg,transparent,rgba(37,99,235,.07),transparent); animation:shimmer 4s ease infinite; }
@keyframes shimmer { 0%{left:-100%;} 100%{left:200%;} }
.stats-grid { max-width:1180px; margin:0 auto; padding:0 5%; display:grid; grid-template-columns:repeat(4,1fr); }
.stat-item { padding:2.5rem 1rem; text-align:center; border-right:1px solid var(--border); position:relative; overflow:hidden; }
.stat-item:last-child { border-right:none; }
.stat-item::before { content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:40%; height:2px; background:linear-gradient(90deg,transparent,var(--blue),transparent); opacity:0; transition:opacity .4s; }
.stat-item:hover::before { opacity:1; }
.stat-value { font-size:clamp(2rem,3.5vw,2.8rem); font-weight:900; line-height:1; letter-spacing:-.04em; background:linear-gradient(135deg,var(--amber) 0%,var(--amber2) 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.stat-label { font-size:.7rem; color:var(--dimmer); text-transform:uppercase; letter-spacing:.1em; margin-top:.4rem; }

/* SERVICOS FLIP */
#servicos { background:linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%); position:relative; z-index:2; }
#servicos::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--border2),transparent); }
.section-head { margin-bottom:4.5rem; }
.section-head .label { margin-bottom:.8rem; }
.flip-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.flip-card { height:280px; perspective:1200px; cursor:pointer; }
.flip-inner { position:relative; width:100%; height:100%; transform-style:preserve-3d; transition:transform .7s cubic-bezier(.68,-.55,.265,1.55); }
@media (hover:hover) and (pointer:fine) { .flip-card:hover .flip-inner { transform:rotateY(180deg); } }
.flip-card.flipped .flip-inner { transform:rotateY(180deg); }
.flip-front,.flip-back { position:absolute; inset:0; backface-visibility:hidden; -webkit-backface-visibility:hidden; border-radius:var(--r); padding:2rem; }
.flip-front { background:var(--glass); border:1px solid var(--border); backdrop-filter:blur(12px); display:flex; flex-direction:column; transition:border-color .3s; overflow:hidden; }
.flip-front::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--border2),transparent); }
.svc-bg-num { position:absolute; right:-10px; bottom:-20px; font-size:7rem; font-weight:900; line-height:1; color:rgba(59,130,246,.05); letter-spacing:-.05em; pointer-events:none; user-select:none; }
.svc-icon-3d { width:52px; height:52px; border-radius:var(--r-sm); display:flex; align-items:center; justify-content:center; font-size:1.3rem; margin-bottom:1.25rem; position:relative; z-index:1; transform-style:preserve-3d; transition:transform .4s ease; }
.svc-num-label { font-size:.65rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:var(--dimmer); margin-bottom:.5rem; z-index:1; position:relative; }
.flip-front h3 { font-size:1.05rem; font-weight:800; color:var(--white); z-index:1; position:relative; }
.flip-front p { font-size:.78rem; color:var(--muted); line-height:1.7; margin-top:.5rem; z-index:1; position:relative; }
.flip-back { background:linear-gradient(135deg,rgba(37,99,235,.15) 0%,rgba(124,58,237,.15) 100%); border:1px solid rgba(37,99,235,.3); backdrop-filter:blur(16px); transform:rotateY(180deg); display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; gap:1rem; }
.flip-back i { font-size:2.5rem; color:var(--cyan); filter:drop-shadow(0 0 12px var(--cyan)); }
.flip-back h3 { font-size:1.1rem; font-weight:800; color:var(--white); }
.flip-back p { font-size:.82rem; color:rgba(148,163,184,.8); line-height:1.7; }
.flip-back .flip-cta { display:inline-flex; align-items:center; gap:.4rem; font-size:.75rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--cyan); text-decoration:none; margin-top:.5rem; border-bottom:1px solid rgba(6,182,212,.4); padding-bottom:.15rem; transition:color var(--t); }
.flip-card:nth-child(1) .svc-icon-3d{background:rgba(6,182,212,.1);border:1px solid rgba(6,182,212,.25);color:var(--cyan);}
.flip-card:nth-child(2) .svc-icon-3d{background:rgba(37,99,235,.12);border:1px solid rgba(37,99,235,.3);color:var(--blue3);}
.flip-card:nth-child(3) .svc-icon-3d{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.25);color:var(--amber);}
.flip-card:nth-child(4) .svc-icon-3d{background:rgba(124,58,237,.12);border:1px solid rgba(124,58,237,.3);color:#a78bfa;}
.flip-card:nth-child(5) .svc-icon-3d{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.25);color:#f87171;}
.flip-card:nth-child(6) .svc-icon-3d{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.25);color:var(--amber2);}

/* SOBRE */
#sobre { background:var(--bg2); position:relative; z-index:2; overflow:hidden; }
#sobre::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,rgba(37,99,235,.3),transparent); }
#sobre::after { content:''; position:absolute; width:500px; height:500px; background:radial-gradient(circle,rgba(124,58,237,.12) 0%,transparent 70%); top:50%; left:-100px; transform:translateY(-50%); border-radius:50%; pointer-events:none; }
.about-layout { max-width:1180px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:center; }
.about-gallery { position:relative; }
.gallery-3d { position:relative; height:460px; perspective:1000px; }
.g-img { position:absolute; object-fit:cover; border-radius:var(--r); border:1px solid var(--border); display:block; transition:transform .5s var(--ease),box-shadow .5s; }
.g-img:nth-child(1){width:70%;height:300px;top:0;left:0;z-index:2;box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 0 1px rgba(37,99,235,.15);animation:img-tilt-1 6s ease-in-out infinite;}
.g-img:nth-child(2){width:55%;height:220px;bottom:0;right:0;z-index:3;box-shadow:0 20px 60px rgba(0,0,0,.6),0 0 30px rgba(245,158,11,.15);border-color:rgba(245,158,11,.3);animation:img-tilt-2 8s ease-in-out infinite;}
.g-img:nth-child(3){width:40%;height:160px;top:50%;left:55%;transform:translateY(-50%);z-index:1;box-shadow:0 10px 40px rgba(0,0,0,.4);animation:img-tilt-3 10s ease-in-out infinite;}
@keyframes img-tilt-1{0%,100%{transform:rotate(-1deg) translateY(0);}50%{transform:rotate(1deg) translateY(-8px);}}
@keyframes img-tilt-2{0%,100%{transform:rotate(2deg) translateY(0);}50%{transform:rotate(-1deg) translateY(-10px);}}
@keyframes img-tilt-3{0%,100%{transform:translateY(-50%) rotate(0);}50%{transform:translateY(calc(-50% - 6px)) rotate(2deg);}}
.about-badge { position:absolute; top:1rem; right:-1.5rem; z-index:10; background:linear-gradient(135deg,var(--amber),#fb923c); color:#04091a; padding:1rem 1.25rem; border-radius:var(--r-sm); text-align:center; font-weight:900; font-size:1.6rem; line-height:1; box-shadow:0 8px 30px rgba(245,158,11,.4),0 0 0 4px rgba(245,158,11,.1); }
.about-badge small { font-size:.6rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; display:block; margin-top:.25rem; }
.about-content .label { margin-bottom:.8rem; }
.about-content .section-title { margin-bottom:1.5rem; }
.about-content p { color:var(--muted); font-size:.94rem; line-height:1.9; margin-bottom:1.1rem; }
.about-content strong { color:var(--white); }
.cert-chips { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:2rem; }
.chip { display:inline-flex; align-items:center; gap:.4rem; font-size:.7rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--blue3); padding:.4rem .9rem; border-radius:999px; background:rgba(59,130,246,.08); border:1px solid rgba(59,130,246,.2); backdrop-filter:blur(8px); transition:all var(--t); }
.chip:hover { background:rgba(59,130,246,.16); transform:translateY(-1px); }
.chip i { color:var(--amber); }

/* PORTFOLIO */
#projetos { background:var(--bg3); position:relative; z-index:2; }
#projetos::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,rgba(6,182,212,.25),transparent); }
.portfolio-header { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:1.5rem; margin-bottom:3rem; }
.bento-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.b-card:nth-child(1){grid-column:span 2;grid-row:span 2;}
.b-card:nth-child(7){grid-column:span 2;}
.b-card { position:relative; overflow:hidden; border-radius:var(--r-sm); aspect-ratio:1; border:1px solid var(--border); cursor:pointer; transform-style:preserve-3d; transition:transform .4s var(--ease),box-shadow .4s,border-color .4s; }
.b-card:nth-child(1){aspect-ratio:auto;min-height:380px;}
.b-card:nth-child(7){aspect-ratio:16/9;}
.b-card:hover { transform:translateY(-4px) scale(1.01); box-shadow:0 20px 60px rgba(0,0,0,.6),0 0 30px rgba(37,99,235,.15); border-color:rgba(37,99,235,.3); z-index:2; }
.b-card img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease,filter .4s; }
.b-card:hover img { transform:scale(1.08); filter:brightness(1.05) saturate(1.1); }
.b-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(4,9,26,.95) 0%,rgba(4,9,26,.3) 50%,transparent 100%); opacity:0; transition:opacity .4s; display:flex; align-items:flex-end; padding:1.25rem; }
.b-card:hover .b-overlay { opacity:1; }
@media (hover:none) { .b-overlay { opacity:1; } }
.b-label { color:var(--white); font-size:.73rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; display:flex; align-items:center; gap:.4rem; }
.b-label i { color:var(--amber); }

/* DEPOIMENTOS */
#depoimentos { background:var(--bg); position:relative; z-index:2; }
#depoimentos::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,rgba(37,99,235,.2),transparent); }
#depoimentos::after { content:''; position:absolute; width:600px; height:600px; border-radius:50%; background:radial-gradient(circle,rgba(37,99,235,.07) 0%,transparent 70%); top:50%; right:-200px; transform:translateY(-50%); pointer-events:none; }
.section-head-center { text-align:center; max-width:560px; margin:0 auto 4rem; }
.section-head-center .label { justify-content:center; margin-bottom:.8rem; }
.testimonials-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.t-card { background:var(--glass); border:1px solid var(--border); border-radius:var(--r); padding:2rem 1.75rem; backdrop-filter:blur(12px); transition:transform .4s var(--ease),box-shadow .4s,border-color .4s; position:relative; overflow:hidden; }
.t-card::before { content:'"'; position:absolute; top:-10px; right:1.5rem; font-size:8rem; font-family:Georgia,serif; color:rgba(37,99,235,.08); line-height:1; pointer-events:none; }
.t-card:hover { transform:translateY(-6px); box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 30px rgba(37,99,235,.12); border-color:rgba(37,99,235,.25); }
.t-stars { margin-bottom:1rem; }
.t-stars i { color:var(--amber); font-size:.85rem; filter:drop-shadow(0 0 4px rgba(245,158,11,.5)); }
.t-body { font-size:.87rem; color:rgba(148,163,184,.8); line-height:1.85; font-style:italic; margin-bottom:1.75rem; }
.t-author { display:flex; align-items:center; gap:.8rem; }
.t-avatar { width:40px; height:40px; border-radius:50%; flex-shrink:0; background:linear-gradient(135deg,var(--blue) 0%,var(--violet) 100%); display:flex; align-items:center; justify-content:center; font-size:.75rem; font-weight:800; color:#fff; box-shadow:0 0 15px var(--glow-blue); }
.t-name { font-size:.85rem; font-weight:700; color:var(--white); }
.t-role { font-size:.72rem; color:var(--dimmer); }

/* CONTATO */
#contato { background:var(--bg2); text-align:center; position:relative; overflow:hidden; z-index:2; max-width:100%; }
#contato::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,rgba(245,158,11,.3),transparent); }
.cta-ring { position:absolute; width:700px; height:700px; border-radius:50%; border:1px solid rgba(37,99,235,.08); top:50%; left:50%; transform:translate(-50%,-50%); pointer-events:none; box-shadow:0 0 80px rgba(37,99,235,.06) inset,0 0 80px rgba(37,99,235,.06); animation:ring-pulse 4s ease-in-out infinite; }
.cta-ring-2 { position:absolute; width:450px; height:450px; border-radius:50%; border:1px solid rgba(245,158,11,.07); top:50%; left:50%; transform:translate(-50%,-50%); pointer-events:none; animation:ring-pulse 4s ease-in-out infinite; animation-delay:-2s; }
@keyframes ring-pulse { 0%,100%{opacity:.5;transform:translate(-50%,-50%) scale(1);}50%{opacity:1;transform:translate(-50%,-50%) scale(1.05);} }
.contact-inner { position:relative; z-index:5; max-width:680px; margin:0 auto; }
.contact-inner .label { justify-content:center; margin-bottom:1rem; }
.contact-inner h2 { font-size:clamp(2.2rem,4.5vw,3.5rem); font-weight:900; letter-spacing:-.05em; margin-bottom:1rem; line-height:1.05; }
.contact-inner h2 span { background:linear-gradient(90deg,var(--amber),#fb923c); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.contact-inner p { color:var(--muted); font-size:.95rem; line-height:1.85; margin-bottom:2.5rem; }
.cta-btn-wrap { position:relative; display:inline-block; }
.cta-btn-wrap::before { content:''; position:absolute; inset:-4px; border-radius:calc(var(--r-sm) + 4px); background:linear-gradient(135deg,var(--blue),var(--violet),var(--cyan),var(--blue)); background-size:300% 300%; animation:border-anim 3s ease infinite; z-index:0; }
@keyframes border-anim { 0%,100%{background-position:0% 50%;}50%{background-position:100% 50%;} }
.cta-btn-wrap .btn { position:relative; z-index:1; }
.contact-chips { display:flex; justify-content:center; gap:.75rem; flex-wrap:wrap; margin-top:2.5rem; }
.c-chip { display:flex; align-items:center; gap:.5rem; color:var(--muted); font-size:.83rem; border:1px solid var(--border); border-radius:999px; padding:.55rem 1.1rem; background:var(--glass); backdrop-filter:blur(8px); transition:all var(--t); }
.c-chip:hover { border-color:var(--border2); color:var(--white); }
.c-chip i { color:var(--amber); }

/* FOOTER */
footer { background:var(--bg); padding:2.5rem 5%; border-top:1px solid var(--border); position:relative; z-index:2; }
.footer-inner { max-width:1180px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1.25rem; }
.footer-logo img { height:46px; width:auto; filter:drop-shadow(0 0 6px rgba(59,130,246,.3)); }
.footer-copy { font-size:.73rem; color:rgba(71,85,105,.7); }
.footer-links { display:flex; gap:1.5rem; }
.footer-links a { font-size:.73rem; color:rgba(71,85,105,.7); text-decoration:none; transition:color var(--t); }
.footer-links a:hover { color:var(--blue3); }

/* LIGHTBOX */
#lightbox { display:none; position:fixed; inset:0; z-index:9999; background:rgba(0,0,0,.97); align-items:center; justify-content:center; backdrop-filter:blur(4px); }
#lightbox.open { display:flex; }
#lightbox-img { max-width:90vw; max-height:88vh; border-radius:var(--r); object-fit:contain; box-shadow:0 0 60px rgba(0,0,0,.8); animation:lb-in .3s var(--ease); }
@keyframes lb-in { from{opacity:0;transform:scale(.9);}to{opacity:1;transform:scale(1);} }
.lb-close,.lb-nav { position:absolute; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); color:var(--white); border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all var(--t); -webkit-tap-highlight-color:transparent; }
.lb-close:hover,.lb-nav:hover { background:rgba(37,99,235,.3); border-color:rgba(37,99,235,.5); }
.lb-close { top:1.5rem; right:1.5rem; width:42px; height:42px; font-size:1rem; }
.lb-nav { top:50%; transform:translateY(-50%); width:52px; height:52px; font-size:1.3rem; }
#lb-prev { left:1.5rem; }
#lb-next { right:1.5rem; }

/* REVEALS */
.reveal { opacity:0; transform:translateY(30px) scale(.98); transition:opacity .7s var(--ease),transform .7s var(--ease); }
.reveal.visible { opacity:1; transform:none; }
.reveal-left { opacity:0; transform:translateX(-40px); transition:opacity .7s var(--ease),transform .7s var(--ease); }
.reveal-left.visible { opacity:1; transform:none; }
.reveal-right { opacity:0; transform:translateX(40px); transition:opacity .7s var(--ease),transform .7s var(--ease); }
.reveal-right.visible { opacity:1; transform:none; }
.reveal-3d { opacity:0; transform:perspective(600px) rotateX(20deg) translateY(20px); transition:opacity .8s var(--ease),transform .8s var(--ease); }
.reveal-3d.visible { opacity:1; transform:perspective(600px) rotateX(0) translateY(0); }
.tilt-card { transform-style:preserve-3d; transition:transform .1s ease; }
.tilt-card .tilt-content { transform:translateZ(20px); }

/* ════ RESPONSIVO ════ */
@media (max-width:1024px) {
  .flip-grid { grid-template-columns:repeat(2,1fr); }
  .about-layout { grid-template-columns:1fr; gap:3.5rem; }
  .about-badge { right:0; }
  .bento-grid { grid-template-columns:repeat(2,1fr); }
  .b-card:nth-child(1){grid-column:span 2;}
  .b-card:nth-child(7){grid-column:span 2;}
  .testimonials-grid { grid-template-columns:repeat(2,1fr); }
  .gallery-3d { height:360px; }
  .g-img:nth-child(1){height:255px;}
  .g-img:nth-child(2){height:190px;}
  .g-img:nth-child(3){height:140px;}
}
@media (max-width:900px) {
  .stats-grid { grid-template-columns:repeat(2,1fr); }
  .stat-item:nth-child(2){border-right:none;}
  .stat-item:nth-child(4){border-right:none;}
}
@media (max-width:768px) {
  .nav-links { display:none; }
  .hamburger { display:flex; }
  section { padding:5.5rem 5%; }
  .flip-grid { grid-template-columns:1fr 1fr; gap:14px; }
  .flip-card { height:260px; }
  .testimonials-grid { grid-template-columns:1fr; }
  .about-badge { right:0; top:.5rem; font-size:1.4rem; }
  .gallery-3d { height:300px; }
  .g-img:nth-child(1){height:220px;}
  .g-img:nth-child(2){height:165px;}
  .g-img:nth-child(3){height:120px;}
  .portfolio-header { flex-direction:column; align-items:flex-start; }
  .footer-inner { flex-direction:column; align-items:flex-start; gap:1rem; }
  .hero-stats { gap:1.5rem 2.5rem; }
  .cta-ring { width:90vw; height:90vw; }
  .cta-ring-2 { width:60vw; height:60vw; }
  .orb { filter:blur(70px); }
}
@media (max-width:600px) {
  section { padding:5rem 4%; }
  .scroll-cue { display:none; }
  .flip-grid { grid-template-columns:1fr; }
  .flip-card { height:auto; min-height:240px; }
  .hero-inner { padding:3.5rem .75rem 5rem; }
  .hero-badge { font-size:.62rem; padding:.4rem 1rem; }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .hero-actions .btn { justify-content:center; }
  .hero-stats { display:grid; grid-template-columns:1fr 1fr; gap:1rem 1.5rem; margin-top:2.5rem; padding-top:2rem; }
  .hs-val { font-size:1.75rem; }
  .hs-label { font-size:.65rem; }
  .gallery-3d { height:260px; }
  .g-img:nth-child(1){width:72%;height:200px;}
  .g-img:nth-child(2){width:54%;height:158px;}
  .g-img:nth-child(3){display:none;}
  .about-badge { position:static; display:inline-flex; align-items:center; gap:.5rem; margin-top:1.25rem; font-size:1.2rem; padding:.75rem 1.1rem; }
  .about-badge small { display:inline; margin-top:0; margin-left:.25rem; }
  .section-head { margin-bottom:3rem; }
  .section-head-center { margin-bottom:3rem; }
  .contact-chips { flex-direction:column; align-items:center; }
  .c-chip { width:100%; max-width:280px; justify-content:center; }
  .orb { filter:blur(60px); opacity:.09; }
  .orb-1{width:280px;height:280px;}
  .orb-2{width:220px;height:220px;}
  .orb-3{width:180px;height:180px;}
  .orb-4{width:130px;height:130px;}
  .hero-float:nth-child(3),.hero-float:nth-child(4),.hero-float:nth-child(5){display:none;}
}
@media (max-width:480px) {
  .bento-grid { grid-template-columns:1fr 1fr; gap:8px; }
  .b-card:nth-child(1){min-height:200px;}
  .b-card:nth-child(7){grid-column:span 2;aspect-ratio:16/9;}
  .stats-grid { grid-template-columns:1fr 1fr; }
  .stat-item { padding:2rem .75rem; }
  .stat-item:nth-child(2){border-right:1px solid var(--border);}
  .hero-title { font-size:clamp(1.9rem,8vw,2.4rem); }
  .hero-sub { font-size:.88rem; }
  .footer-links { flex-direction:row; flex-wrap:wrap; gap:1rem; }
  .lb-nav { width:40px; height:40px; font-size:1rem; }
  #lb-prev{left:.75rem;}
  #lb-next{right:.75rem;}
  .lb-close{top:.75rem;right:.75rem;}
}
@media (max-width:360px) {
  section { padding:4.5rem 4%; }
  .bento-grid { grid-template-columns:1fr; }
  .b-card:nth-child(1){grid-column:span 1;min-height:220px;}
  .b-card:nth-child(7){grid-column:auto;aspect-ratio:1;}
  .hero-stats { gap:.75rem 1rem; }
  .hs-val { font-size:1.5rem; }
  .flip-card { min-height:220px; }
  .btn { padding:.75