:root{--navy: #2a3554;--navy-dark: #1a2238;--navy-darker: #0f1626;--navy-light: #3d4a73;--orange: #e8721e;--orange-bright: #ff8a3d;--orange-soft: rgba(232,114,30,0.12);--orange-glow: rgba(232,114,30,0.35);--white: #ffffff;--off-white: #fafbfc;--gray-50: #f7f9fc;--gray-100: #edf0f5;--gray-200: #dde2eb;--gray-300: #c5ccd9;--gray-500: #5e6a7e;--gray-700: #4a5568;--gray-900: #1a202c;--gray-light: var(--gray-50);--gray-mid: var(--gray-200);--gray-text: var(--gray-500);--text: var(--gray-900);--orange-hover: #c45f17;--font-display: 'Inter Tight','Inter',system-ui,sans-serif;--font-body: 'Inter',system-ui,sans-serif;--shadow-sm: 0 1px 2px rgba(15,22,38,0.04);--shadow: 0 4px 16px rgba(15,22,38,0.06);--shadow-md: 0 8px 24px rgba(15,22,38,0.08);--shadow-lg: 0 16px 40px rgba(15,22,38,0.10);--shadow-xl: 0 24px 60px rgba(15,22,38,0.14);--shadow-glow: 0 0 40px rgba(232,114,30,0.25);--r-sm: 6px;--r: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 28px;--r-full: 999px;--mesh-hero: radial-gradient(at 20% 30%,rgba(232,114,30,0.18) 0px,transparent 50%),radial-gradient(at 80% 10%,rgba(61,74,115,0.50) 0px,transparent 50%),radial-gradient(at 70% 80%,rgba(232,114,30,0.10) 0px,transparent 50%),linear-gradient(135deg,var(--navy-darker) 0%,var(--navy-dark) 50%,var(--navy) 100%);--grid-pattern: linear-gradient(rgba(255,255,255,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.04) 1px,transparent 1px);--t-fast: 0.15s ease;--t: 0.25s cubic-bezier(0.4,0,0.2,1);--t-slow: 0.5s cubic-bezier(0.4,0,0.2,1);--container: 1200px;--radius: var(--r);--transition: var(--t)}*,*::before,*::after{box-sizing: border-box;margin: 0;padding: 0}html{scroll-behavior: smooth;font-size: 16px;-webkit-text-size-adjust: 100%}body{font-family: var(--font-body);color: var(--text);background: var(--white);line-height: 1.65;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale}a{text-decoration: none;color: inherit}img{max-width: 100%;display: block}ul{list-style: none}button{font: inherit;cursor: pointer}::selection{background: var(--orange);color: var(--white)}header,nav,.logo,.menu-toggle,.btn-primary,.btn-outline,.btn-white,.btn-submit,.nav-cta,.whatsapp-float,.hero-badge,.section-label,.hero-stats,.about-stats,svg{-webkit-user-select: none;-moz-user-select: none;user-select: none}h1,h2,h3,h4,h5,h6{font-family: var(--font-display);font-weight: 800;line-height: 1.15;letter-spacing: -0.02em;color: var(--gray-900)}@keyframes fadeUp{from{opacity: 0;transform: translateY(24px)}to{opacity: 1;transform: translateY(0)}}@keyframes fadeIn{from{opacity: 0}to{opacity: 1}}@keyframes scaleIn{from{opacity: 0;transform: scale(0.96)}to{opacity: 1;transform: scale(1)}}@keyframes float{0%,100%{transform: translateY(0px)}50%{transform: translateY(-12px)}}@keyframes glowPulse{0%,100%{opacity: 0.5;transform: scale(1)}50%{opacity: 0.8;transform: scale(1.08)}}@keyframes orbDrift{0%{transform: translate(0,0) scale(1)}33%{transform: translate(40px,-30px) scale(1.1)}66%{transform: translate(-30px,20px) scale(0.95)}100%{transform: translate(0,0) scale(1)}}@keyframes shimmer{0%{background-position: -200% 0}100%{background-position: 200% 0}}.reveal{opacity: 0;transform: translateY(24px);transition: opacity 0.7s ease,transform 0.7s cubic-bezier(0.4,0,0.2,1)}.reveal.visible{opacity: 1;transform: translateY(0)}.reveal[data-delay="1"]{transition-delay: 0.1s}.reveal[data-delay="2"]{transition-delay: 0.2s}.reveal[data-delay="3"]{transition-delay: 0.3s}.reveal[data-delay="4"]{transition-delay: 0.4s}.reveal[data-delay="5"]{transition-delay: 0.5s}header{position: fixed;top: 0;left: 0;right: 0;z-index: 100;background: rgba(255,255,255,0.85);backdrop-filter: blur(18px) saturate(180%);-webkit-backdrop-filter: blur(18px) saturate(180%);border-bottom: 1px solid rgba(221,226,235,0.6);transition: box-shadow var(--t),background var(--t)}header.scrolled{background: rgba(255,255,255,0.95);box-shadow: 0 8px 32px rgba(15,22,38,0.08)}.header-inner{max-width: var(--container);margin: 0 auto;padding: 0 1.5rem;height: 96px;display: flex;align-items: center;justify-content: space-between}.logo img{height: 72px;width: auto}nav ul{display: flex;gap: 2.25rem;align-items: center}nav a{font-weight: 500;font-size: 0.94rem;color: var(--navy);position: relative;transition: color var(--t-fast)}nav a:not(.nav-cta)::after{content: '';position: absolute;left: 0;bottom: -6px;width: 0;height: 2px;background: var(--orange);transition: width var(--t)}nav a:not(.nav-cta):hover::after,nav a.active:not(.nav-cta)::after{width: 100%}nav a:hover,nav a.active{color: var(--orange)}.nav-cta{background: var(--orange);color: var(--white) !important;padding: 0.6rem 1.4rem;border-radius: var(--r-full);font-weight: 600;font-size: 0.9rem;box-shadow: 0 4px 14px var(--orange-glow);transition: transform var(--t),box-shadow var(--t),background var(--t) !important}.nav-cta:hover{background: var(--orange-hover) !important;transform: translateY(-1px);box-shadow: 0 8px 20px var(--orange-glow)}.menu-toggle{display: none;background: none;border: none;padding: 0.25rem}.menu-toggle span{display: block;width: 26px;height: 2px;background: var(--navy);margin: 6px 0;transition: var(--t)}.hero{min-height: 100vh;position: relative;overflow: hidden;display: flex;align-items: center;padding: 120px 1.5rem 5rem;background: var(--mesh-hero);color: var(--white);isolation: isolate}.hero::before{content: '';position: absolute;inset: 0;background-image: var(--grid-pattern);background-size: 56px 56px;mask-image: radial-gradient(ellipse at center,black 30%,transparent 75%);-webkit-mask-image: radial-gradient(ellipse at center,black 30%,transparent 75%);pointer-events: none;z-index: 0}.hero-orb{position: absolute;border-radius: 50%;filter: blur(60px);pointer-events: none;z-index: 0}.hero-orb.orb-1{width: 480px;height: 480px;top: -120px;right: -80px;background: radial-gradient(circle,var(--orange-glow) 0%,transparent 70%);animation: orbDrift 18s ease-in-out infinite}.hero-orb.orb-2{width: 380px;height: 380px;bottom: -100px;left: -60px;background: radial-gradient(circle,rgba(61,74,115,0.6) 0%,transparent 70%);animation: orbDrift 22s ease-in-out infinite reverse}.hero-orb.orb-3{width: 240px;height: 240px;top: 40%;left: 50%;background: radial-gradient(circle,rgba(232,114,30,0.18) 0%,transparent 70%);animation: glowPulse 6s ease-in-out infinite}.hero-inner{max-width: var(--container);margin: 0 auto;display: grid;grid-template-columns: 1.05fr 0.95fr;gap: 4rem;align-items: center;width: 100%;position: relative;z-index: 2}.hero-badge{display: inline-flex;align-items: center;gap: 0.5rem;background: rgba(232,114,30,0.15);color: #ffac72;border: 1px solid rgba(232,114,30,0.35);padding: 0.4rem 0.95rem;border-radius: var(--r-full);font-size: 0.78rem;font-weight: 600;letter-spacing: 0.04em;text-transform: uppercase;margin-bottom: 1.5rem;backdrop-filter: blur(8px)}.hero-badge .dot{width: 6px;height: 6px;border-radius: 50%;background: #4ade80;box-shadow: 0 0 8px #4ade80;animation: glowPulse 2s ease-in-out infinite}.hero h1{font-family: var(--font-display);font-size: clamp(2.2rem,4.8vw,3.75rem);font-weight: 800;line-height: 1.05;letter-spacing: -0.035em;color: var(--white);margin-bottom: 1.5rem}.hero h1 .accent{background: linear-gradient(120deg,var(--orange-bright) 0%,var(--orange) 50%,#ffb47a 100%);-webkit-background-clip: text;background-clip: text;color: transparent;position: relative}.hero p.hero-lead{font-size: 1.15rem;color: rgba(255,255,255,0.78);margin-bottom: 2.25rem;max-width: 520px;line-height: 1.65}.hero-actions{display: flex;gap: 1rem;flex-wrap: wrap;align-items: center}.btn-primary{display: inline-flex;align-items: center;gap: 0.55rem;background: var(--orange);color: var(--white);padding: 0.95rem 1.85rem;border-radius: var(--r-full);font-weight: 600;font-size: 0.98rem;box-shadow: 0 8px 24px var(--orange-glow),inset 0 1px 0 rgba(255,255,255,0.15);transition: transform var(--t),box-shadow var(--t),background var(--t)}.btn-primary:hover{background: var(--orange-bright);transform: translateY(-2px);box-shadow: 0 14px 32px var(--orange-glow),inset 0 1px 0 rgba(255,255,255,0.2)}.btn-outline{display: inline-flex;align-items: center;gap: 0.55rem;background: rgba(255,255,255,0.06);color: var(--white);padding: 0.92rem 1.75rem;border-radius: var(--r-full);font-weight: 600;font-size: 0.98rem;border: 1px solid rgba(255,255,255,0.18);backdrop-filter: blur(8px);transition: var(--t)}.btn-outline:hover{border-color: rgba(255,255,255,0.45);background: rgba(255,255,255,0.10);transform: translateY(-1px)}.hero-trust{margin-top: 2.5rem;padding-top: 2rem;border-top: 1px solid rgba(255,255,255,0.12);display: flex;align-items: center;gap: 1.25rem;flex-wrap: wrap}.hero-trust-label{font-size: 0.78rem;color: rgba(255,255,255,0.55);letter-spacing: 0.08em;text-transform: uppercase}.hero-trust-badges{display: flex;gap: 1.5rem;align-items: center;flex-wrap: wrap}.trust-badge{font-size: 0.85rem;font-weight: 600;color: rgba(255,255,255,0.75);display: inline-flex;align-items: center;gap: 0.4rem}.hero-stats{display: grid;grid-template-columns: repeat(3,1fr);gap: 1.5rem;margin-top: 2.5rem;padding-top: 2rem;border-top: 1px solid rgba(255,255,255,0.12)}.hero-stats .stat-num{font-family: var(--font-display);font-size: 2.4rem;font-weight: 800;color: var(--white);letter-spacing: -0.04em;line-height: 1}.hero-stats .stat-num .plus{color: var(--orange-bright)}.hero-stats .stat-label{font-size: 0.82rem;color: rgba(255,255,255,0.6);margin-top: 0.35rem}.hero-visual{position: relative;perspective: 1200px}.hero-console{background: linear-gradient(180deg,rgba(255,255,255,0.06) 0%,rgba(255,255,255,0.02) 100%);border: 1px solid rgba(255,255,255,0.10);border-radius: var(--r-lg);backdrop-filter: blur(20px);box-shadow: 0 30px 80px rgba(0,0,0,0.40),inset 0 1px 0 rgba(255,255,255,0.10);overflow: hidden;transform: rotateY(-6deg) rotateX(4deg);transition: transform 0.4s ease}.hero-console:hover{transform: rotateY(-3deg) rotateX(2deg)}.console-bar{display: flex;align-items: center;gap: 0.45rem;padding: 0.85rem 1rem;border-bottom: 1px solid rgba(255,255,255,0.08);background: rgba(0,0,0,0.20)}.console-bar .dot{width: 11px;height: 11px;border-radius: 50%;background: #5a6480}.console-bar .dot.r{background: #ff5f57}.console-bar .dot.y{background: #febc2e}.console-bar .dot.g{background: #28c840}.console-bar .title{margin-left: 0.75rem;font-size: 0.78rem;color: rgba(255,255,255,0.45);font-family: ui-monospace,'SF Mono',Menlo,monospace}.console-body{padding: 1.5rem 1.25rem}.metric-row{display: grid;grid-template-columns: 1fr 1fr;gap: 0.75rem;margin-bottom: 0.85rem}.metric-card{background: rgba(255,255,255,0.04);border: 1px solid rgba(255,255,255,0.08);border-radius: var(--r);padding: 0.85rem 1rem}.metric-card .metric-label{font-size: 0.7rem;color: rgba(255,255,255,0.5);text-transform: uppercase;letter-spacing: 0.06em;display: flex;align-items: center;gap: 0.35rem}.metric-card .metric-label .status-ok{width: 6px;height: 6px;border-radius: 50%;background: #4ade80;box-shadow: 0 0 6px #4ade80;display: inline-block}.metric-card .metric-value{font-family: var(--font-display);font-size: 1.5rem;font-weight: 700;color: var(--white);margin-top: 0.25rem;letter-spacing: -0.02em}.metric-card .metric-value.accent{color: var(--orange-bright)}.metric-bar{margin-top: 0.5rem;height: 4px;background: rgba(255,255,255,0.08);border-radius: 2px;overflow: hidden}.metric-bar-fill{height: 100%;background: linear-gradient(90deg,var(--orange) 0%,var(--orange-bright) 100%);border-radius: 2px;animation: shimmer 3s linear infinite;background-size: 200% 100%}.activity-list{margin-top: 0.5rem;display: flex;flex-direction: column;gap: 0.55rem}.activity-item{display: flex;align-items: center;gap: 0.65rem;padding: 0.55rem 0.75rem;background: rgba(255,255,255,0.03);border-radius: var(--r-sm);font-size: 0.78rem;color: rgba(255,255,255,0.72)}.activity-item .activity-icon{width: 22px;height: 22px;border-radius: 50%;background: var(--orange-soft);display: flex;align-items: center;justify-content: center;flex-shrink: 0}.activity-item .activity-icon svg{width: 12px;height: 12px;color: var(--orange-bright)}.activity-item .activity-time{margin-left: auto;font-size: 0.7rem;color: rgba(255,255,255,0.4);font-family: ui-monospace,monospace}section{padding: 6rem 1.5rem}.section-inner{max-width: var(--container);margin: 0 auto}.section-header{text-align: center;margin-bottom: 4rem;max-width: 680px;margin-left: auto;margin-right: auto}.section-label{display: inline-block;color: #a8460a;font-weight: 700;font-size: 0.78rem;letter-spacing: 0.12em;text-transform: uppercase;margin-bottom: 1rem;padding: 0.3rem 0.85rem;background: var(--orange-soft);border-radius: var(--r-full)}.section-header h2{font-size: clamp(1.85rem,3.5vw,2.75rem);font-weight: 800;color: var(--navy-dark);margin-bottom: 1rem;letter-spacing: -0.025em}.section-header p{font-size: 1.08rem;color: var(--gray-500);line-height: 1.65}.services{background: var(--gray-50);position: relative}.services-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(300px,1fr));gap: 1.5rem}.service-card{background: var(--white);border-radius: var(--r-md);padding: 2rem 1.85rem;border: 1px solid var(--gray-200);position: relative;transition: transform var(--t),box-shadow var(--t),border-color var(--t);overflow: hidden}.service-card::before{content: '';position: absolute;top: 0;left: 0;right: 0;height: 3px;background: linear-gradient(90deg,var(--orange) 0%,var(--orange-bright) 100%);transform: scaleX(0);transform-origin: left;transition: transform var(--t)}.service-card:hover{transform: translateY(-6px);box-shadow: var(--shadow-lg);border-color: transparent}.service-card:hover::before{transform: scaleX(1)}.service-icon{width: 56px;height: 56px;background: var(--orange-soft);border-radius: var(--r-md);display: flex;align-items: center;justify-content: center;margin-bottom: 1.5rem;transition: transform var(--t),background var(--t)}.service-card:hover .service-icon{background: var(--orange);transform: scale(1.05)}.service-icon svg{width: 28px;height: 28px;color: var(--orange);transition: color var(--t)}.service-card:hover .service-icon svg{color: var(--white)}.service-card h3{font-size: 1.15rem;font-weight: 700;color: var(--navy-dark);margin-bottom: 0.6rem}.service-card p{font-size: 0.92rem;color: var(--gray-500);line-height: 1.65}.about{background: var(--white)}.about-inner{display: grid;grid-template-columns: 1fr 1fr;gap: 5rem;align-items: center}.about-content .section-label{text-align: left}.about-content h2{font-size: clamp(1.85rem,3vw,2.4rem);font-weight: 800;color: var(--navy-dark);margin-bottom: 1.5rem;letter-spacing: -0.025em}.about-content p{color: var(--gray-500);margin-bottom: 1rem;font-size: 1rem;line-height: 1.75}.about-pillars{display: grid;grid-template-columns: 1fr 1fr;gap: 1rem;margin-top: 2rem}.pillar{background: var(--gray-50);border-radius: var(--r);padding: 1.25rem;border-left: 3px solid var(--orange);transition: transform var(--t),box-shadow var(--t)}.pillar:hover{transform: translateY(-2px);box-shadow: var(--shadow-md)}.pillar h3{font-weight: 700;color: var(--navy-dark);font-size: 0.98rem;margin-bottom: 0.3rem}.pillar p{font-size: 0.85rem;color: var(--gray-500);margin: 0}.about-visual{background: linear-gradient(135deg,rgba(15,22,38,0.92) 0%,rgba(42,53,84,0.82) 50%,rgba(232,114,30,0.30) 100%),url('../img/fotos/sobre-tecnico.jpg') center/cover no-repeat;border-radius: var(--r-lg);padding: 3rem 2.5rem;color: var(--white);position: relative;overflow: hidden;min-height: 380px}.about-visual::before{content: '';position: absolute;inset: 0;background-image: var(--grid-pattern);background-size: 40px 40px;mask-image: radial-gradient(ellipse at center,black 40%,transparent 80%);pointer-events: none}.about-visual h3{font-size: 1.4rem;font-weight: 700;margin-bottom: 1.75rem;color: var(--white);position: relative}.about-stats{display: grid;grid-template-columns: 1fr 1fr;gap: 1.75rem;position: relative}.about-stat .num{font-family: var(--font-display);font-size: 2.6rem;font-weight: 800;color: var(--orange-bright);line-height: 1;letter-spacing: -0.03em}.about-stat .label{font-size: 0.88rem;color: rgba(255,255,255,0.72);margin-top: 0.4rem}.clients{background: var(--gray-50)}.clients-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(180px,1fr));gap: 1rem}.client-card{background: var(--white);border-radius: var(--r);padding: 1.5rem 1.5rem;text-align: center;border: 1px solid var(--gray-200);transition: var(--t);display: flex;align-items: center;justify-content: center;min-height: 96px}.client-card:hover{border-color: var(--orange);transform: translateY(-3px);box-shadow: 0 8px 24px rgba(232,114,30,0.15)}.client-card span{font-weight: 600;color: var(--navy);font-size: 0.92rem;transition: color var(--t)}.client-card:hover span{color: var(--orange)}.client-card img{max-width: 90%;max-height: 68px;width: auto;object-fit: contain}.obras{background: var(--gray-50)}.obras-grid{display: grid;grid-template-columns: repeat(4,1fr);grid-auto-rows: 215px;gap: 1.25rem}.obra-card:nth-child(1){grid-column: span 2;grid-row: span 2}.obra-card{position: relative;border-radius: var(--r-md);overflow: hidden;box-shadow: var(--shadow);cursor: pointer;background: var(--navy-dark)}.obra-card img{width: 100%;height: 100%;object-fit: cover;transition: transform 0.7s cubic-bezier(0.4,0,0.2,1);display: block}.obra-card:hover img{transform: scale(1.06)}.obra-overlay{position: absolute;inset: 0;display: flex;align-items: flex-end;padding: 1.5rem;background: linear-gradient(180deg,transparent 0%,transparent 40%,rgba(15,22,38,0.45) 70%,rgba(15,22,38,0.92) 100%);pointer-events: none;transition: background var(--t)}.obra-card:hover .obra-overlay{background: linear-gradient(180deg,rgba(15,22,38,0.20) 0%,rgba(15,22,38,0.40) 50%,rgba(15,22,38,0.95) 100%)}.obra-label{color: var(--white);font-family: var(--font-display);font-weight: 700;font-size: 1.1rem;letter-spacing: -0.01em;text-shadow: 0 2px 12px rgba(0,0,0,0.4)}.obra-category{position: absolute;top: 1rem;left: 1rem;z-index: 2;background: rgba(255,255,255,0.18);color: var(--white);padding: 0.35rem 0.85rem;border-radius: var(--r-full);font-size: 0.7rem;font-weight: 700;letter-spacing: 0.08em;text-transform: uppercase;backdrop-filter: blur(10px);-webkit-backdrop-filter: blur(10px);border: 1px solid rgba(255,255,255,0.25)}.cta-strip{background: linear-gradient(135deg,var(--orange) 0%,var(--orange-hover) 100%);padding: 5rem 1.5rem;text-align: center;position: relative;overflow: hidden}.cta-strip::before{content: '';position: absolute;inset: 0;background-image: var(--grid-pattern);background-size: 48px 48px;opacity: 0.4}.cta-strip > *{position: relative}.cta-strip h2{font-size: clamp(1.7rem,3vw,2.4rem);font-weight: 800;color: var(--white);margin-bottom: 0.85rem;letter-spacing: -0.025em}.cta-strip p{color: rgba(255,255,255,0.92);font-size: 1.1rem;margin-bottom: 2rem}.btn-white{display: inline-flex;align-items: center;gap: 0.55rem;background: var(--white);color: var(--orange);padding: 1rem 2.25rem;border-radius: var(--r-full);font-weight: 700;font-size: 1rem;transition: var(--t);box-shadow: 0 8px 24px rgba(0,0,0,0.2)}.btn-white:hover{transform: translateY(-2px);box-shadow: 0 14px 32px rgba(0,0,0,0.25)}footer{background: var(--navy-darker);color: rgba(255,255,255,0.7);padding: 4rem 1.5rem 1.75rem}.footer-inner{max-width: var(--container);margin: 0 auto}.footer-top{display: grid;grid-template-columns: 1.5fr 1fr 1fr;gap: 3rem;margin-bottom: 3rem}.footer-brand img{height: 56px;margin-bottom: 1rem;filter: brightness(0) invert(1);opacity: 0.92}.footer-brand p{font-size: 0.88rem;line-height: 1.75;color: rgba(255,255,255,0.6)}.footer-social{display: flex;gap: 0.7rem;margin-top: 1.5rem}.footer-social a{width: 38px;height: 38px;background: rgba(255,255,255,0.08);border-radius: var(--r-sm);display: flex;align-items: center;justify-content: center;transition: var(--t)}.footer-social a:hover{background: var(--orange);transform: translateY(-2px)}.footer-social svg{width: 18px;height: 18px;fill: white}.footer-col h3{color: var(--white);font-weight: 700;font-size: 0.88rem;margin-bottom: 1.25rem;text-transform: uppercase;letter-spacing: 0.08em}.footer-col ul li{margin-bottom: 0.65rem}.footer-col ul li a{font-size: 0.88rem;color: rgba(255,255,255,0.6);transition: color var(--t-fast)}.footer-col ul li a:hover{color: var(--orange-bright)}.footer-contact-item{display: flex;align-items: flex-start;gap: 0.6rem;margin-bottom: 0.75rem;font-size: 0.88rem;color: rgba(255,255,255,0.6)}.footer-contact-item svg{width: 16px;height: 16px;flex-shrink: 0;margin-top: 3px;fill: var(--orange-bright)}.footer-bottom a{color: rgba(255,255,255,0.7);text-decoration: underline;transition: color var(--t-fast)}.footer-bottom a:hover{color: var(--orange-bright)}.footer-bottom{border-top: 1px solid rgba(255,255,255,0.08);padding-top: 1.5rem;display: flex;justify-content: space-between;align-items: center;font-size: 0.82rem;color: rgba(255,255,255,0.55);flex-wrap: wrap;gap: 0.5rem}.whatsapp-float{position: fixed;bottom: 1.75rem;right: 1.75rem;z-index: 200;background: #25d366;width: 60px;height: 60px;border-radius: 50%;display: flex;align-items: center;justify-content: center;box-shadow: 0 6px 24px rgba(37,211,102,0.50);transition: var(--t)}.whatsapp-float::before{content: '';position: absolute;inset: 0;border-radius: 50%;background: #25d366;z-index: -1;animation: glowPulse 2.5s ease-in-out infinite;opacity: 0.6}.whatsapp-float:hover{transform: scale(1.08)}.whatsapp-float svg{width: 30px;height: 30px;fill: white}.page-hero{background: var(--mesh-hero);padding: 140px 1.5rem 70px;text-align: center;color: var(--white);position: relative;overflow: hidden}.page-hero::before{content: '';position: absolute;inset: 0;background-image: var(--grid-pattern);background-size: 48px 48px;mask-image: radial-gradient(ellipse at center,black 30%,transparent 75%);pointer-events: none}.page-hero > *{position: relative}.page-hero h1{font-size: clamp(2rem,3.5vw,3rem);font-weight: 800;margin-bottom: 0.85rem;color: var(--white);letter-spacing: -0.03em}.page-hero p{font-size: 1.08rem;color: rgba(255,255,255,0.75);max-width: 600px;margin: 0 auto}.contact-grid{display: grid;grid-template-columns: 1fr 1fr;gap: 4rem;align-items: start}.contact-info h2{font-size: 1.55rem;font-weight: 700;color: var(--navy-dark);margin-bottom: 1rem}.contact-info p{color: var(--gray-500);margin-bottom: 2rem;font-size: 1rem}.contact-item{display: flex;align-items: flex-start;gap: 1rem;margin-bottom: 1.5rem}.contact-item-icon{width: 46px;height: 46px;background: var(--orange-soft);border-radius: var(--r);display: flex;align-items: center;justify-content: center;flex-shrink: 0}.contact-item-icon svg{width: 22px;height: 22px;color: var(--orange)}.contact-item h3{font-weight: 700;color: var(--navy-dark);font-size: 0.94rem;margin-bottom: 0.25rem}.contact-item p,.contact-item a{font-size: 0.92rem;color: var(--gray-500)}.contact-social{display: flex;gap: 0.75rem;margin-top: 2rem}.contact-social a{width: 44px;height: 44px;background: var(--navy);border-radius: var(--r);display: flex;align-items: center;justify-content: center;transition: var(--t)}.contact-social a:hover{background: var(--orange);transform: translateY(-2px)}.contact-social svg{width: 20px;height: 20px;fill: white}.contact-form{background: var(--white);border-radius: var(--r-lg);padding: 2.5rem;box-shadow: var(--shadow-lg);border: 1px solid var(--gray-200)}.contact-form h2{font-size: 1.4rem;font-weight: 700;color: var(--navy-dark);margin-bottom: 1.75rem}.form-group{margin-bottom: 1.25rem}.form-group label{display: block;font-weight: 600;font-size: 0.86rem;color: var(--navy-dark);margin-bottom: 0.45rem}.form-group input,.form-group select,.form-group textarea{width: 100%;padding: 0.85rem 1rem;border: 1.5px solid var(--gray-200);border-radius: var(--r);font-family: var(--font-body);font-size: 0.95rem;color: var(--text);background: var(--white);transition: var(--t);outline: none}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color: var(--orange);box-shadow: 0 0 0 3px var(--orange-soft)}.form-group textarea{resize: vertical;min-height: 130px}.btn-submit{width: 100%;background: var(--orange);color: var(--white);border: none;padding: 1rem;border-radius: var(--r-full);font-family: var(--font-body);font-weight: 700;font-size: 1rem;cursor: pointer;transition: var(--t);box-shadow: 0 6px 16px var(--orange-glow)}.btn-submit:hover{background: var(--orange-bright);transform: translateY(-2px);box-shadow: 0 10px 24px var(--orange-glow)}.btn-submit:disabled{opacity: 0.6;cursor: not-allowed;transform: none;box-shadow: none}.form-status{margin-top: 1rem;padding: 0.85rem 1rem;border-radius: var(--r-md,10px);font-size: 0.9rem;font-weight: 600;line-height: 1.5;display: none}.form-status.loading{display: block;background: var(--gray-light);color: var(--gray-text)}.form-status.success{display: block;background: #e7f6ec;color: #1f7a3d}.form-status.error{display: block;background: #fdecea;color: #b3261e}.services-detail{background: var(--white)}.service-category{margin-bottom: 5rem}.service-category:last-child{margin-bottom: 0}.category-header{display: flex;align-items: center;gap: 1.75rem;margin-bottom: 2.5rem;padding-bottom: 1.75rem;border-bottom: 1px solid var(--gray-200)}.category-icon{width: 84px;height: 84px;border-radius: var(--r-lg);display: flex;align-items: center;justify-content: center;flex-shrink: 0;box-shadow: var(--shadow-md)}.category-icon svg{width: 40px;height: 40px;color: var(--white)}.category-icon.color-ti{background: linear-gradient(135deg,var(--navy) 0%,var(--navy-darker) 100%)}.category-icon.color-eletrica{background: linear-gradient(135deg,var(--orange) 0%,var(--orange-bright) 100%);box-shadow: 0 8px 24px var(--orange-glow)}.category-icon.color-solar{background: linear-gradient(135deg,var(--orange-bright) 0%,#ffb47a 100%);box-shadow: 0 8px 24px var(--orange-glow)}.category-icon.color-bi{background: linear-gradient(135deg,#0e7490 0%,#06b6d4 100%);box-shadow: 0 8px 24px rgba(6,182,212,0.32)}.category-text{flex: 1;min-width: 0}.category-tag{display: inline-block;font-size: 0.72rem;font-weight: 700;letter-spacing: 0.12em;text-transform: uppercase;color: var(--gray-500);margin-bottom: 0.45rem;padding: 0.25rem 0.7rem;background: var(--gray-100);border-radius: var(--r-full)}.category-text h2{font-size: clamp(1.6rem,2.6vw,2.1rem);font-weight: 800;color: var(--navy-dark);margin-bottom: 0.5rem;letter-spacing: -0.025em}.category-text p{color: var(--gray-500);font-size: 0.98rem;line-height: 1.65;max-width: 680px}.service-detail-card{display: grid;grid-template-columns: auto 1fr;gap: 1.75rem;align-items: start;background: var(--white);border: 1px solid var(--gray-200);border-radius: var(--r-md);padding: 2rem;margin-bottom: 1.5rem;transition: var(--t);position: relative;overflow: hidden}.service-detail-card::before{content: '';position: absolute;left: 0;top: 0;bottom: 0;width: 3px;background: linear-gradient(180deg,var(--orange) 0%,var(--orange-bright) 100%);transform: scaleY(0);transform-origin: top;transition: transform var(--t)}.service-detail-card:hover{border-color: transparent;box-shadow: var(--shadow-lg);transform: translateX(4px)}.service-detail-card:hover::before{transform: scaleY(1)}.service-detail-icon{width: 64px;height: 64px;background: var(--orange-soft);border-radius: var(--r-md);display: flex;align-items: center;justify-content: center;flex-shrink: 0}.service-detail-icon svg{width: 30px;height: 30px;color: var(--orange)}.service-detail-content h3{font-size: 1.25rem;font-weight: 700;color: var(--navy-dark);margin-bottom: 0.5rem}.service-detail-content p{color: var(--gray-500);font-size: 0.95rem;margin-bottom: 1.15rem;line-height: 1.7}.service-tags{display: flex;flex-wrap: wrap;gap: 0.45rem}.tag{background: var(--gray-50);color: var(--navy-dark);padding: 0.32rem 0.8rem;border-radius: var(--r-full);font-size: 0.78rem;font-weight: 600;border: 1px solid var(--gray-200);transition: var(--t-fast)}.tag:hover{background: var(--orange-soft);color: var(--orange);border-color: var(--orange)}.stack-complete{background: var(--white);position: relative;overflow: hidden}.stack-complete::before{content: '';position: absolute;top: 0;left: 50%;width: 800px;height: 800px;transform: translateX(-50%);background: radial-gradient(circle,var(--orange-soft) 0%,transparent 70%);pointer-events: none;opacity: 0.5}.stack-inner{display: grid;grid-template-columns: 1.05fr 0.95fr;gap: 5rem;align-items: center;position: relative}.stack-content .section-label{text-align: left}.stack-content h2{font-size: clamp(1.85rem,3.2vw,2.5rem);font-weight: 800;color: var(--navy-dark);margin-bottom: 1.5rem;letter-spacing: -0.025em;line-height: 1.15}.stack-content p{color: var(--gray-500);font-size: 1rem;line-height: 1.75;margin-bottom: 1rem}.stack-content p strong{color: var(--navy-dark);font-weight: 700}.stack-features{margin-top: 2rem;display: grid;grid-template-columns: 1fr 1fr;gap: 0.85rem}.stack-feature{display: flex;align-items: center;gap: 0.7rem;font-size: 0.92rem;color: var(--gray-700);font-weight: 500}.stack-icon{width: 22px;height: 22px;border-radius: 50%;background: var(--orange);display: flex;align-items: center;justify-content: center;flex-shrink: 0;box-shadow: 0 4px 10px var(--orange-glow)}.stack-icon svg{width: 12px;height: 12px;color: var(--white)}.stack-visual{position: relative}.stack-layers{display: flex;flex-direction: column;gap: 0.85rem;position: relative}.stack-layers::before{content: '';position: absolute;left: 36px;top: 30px;bottom: 30px;width: 2px;background: linear-gradient(180deg,var(--orange-bright) 0%,var(--orange) 40%,var(--navy-light) 70%,var(--navy-dark) 100%);opacity: 0.25}.stack-layer{display: flex;align-items: center;gap: 1rem;background: var(--white);border: 1px solid var(--gray-200);border-radius: var(--r-md);padding: 1.15rem 1.4rem;box-shadow: var(--shadow);position: relative;transition: transform var(--t),box-shadow var(--t),border-color var(--t);z-index: 1}.stack-layer:hover{transform: translateX(8px);box-shadow: var(--shadow-lg);border-color: transparent}.layer-icon{width: 44px;height: 44px;border-radius: var(--r);display: flex;align-items: center;justify-content: center;flex-shrink: 0}.layer-icon svg{width: 22px;height: 22px;color: var(--white)}.stack-layer.layer-1 .layer-icon{background: linear-gradient(135deg,var(--orange-bright),var(--orange))}.stack-layer.layer-2 .layer-icon{background: linear-gradient(135deg,var(--orange),#c45f17)}.stack-layer.layer-3 .layer-icon{background: linear-gradient(135deg,var(--navy-light),var(--navy))}.stack-layer.layer-4 .layer-icon{background: linear-gradient(135deg,var(--navy),var(--navy-darker))}.layer-text{display: flex;flex-direction: column;gap: 0.15rem}.layer-text strong{font-size: 0.98rem;font-weight: 700;color: var(--navy-dark)}.layer-text span{font-size: 0.82rem;color: var(--gray-500)}@media (max-width: 960px){.hero-inner{grid-template-columns: 1fr;gap: 3rem}.hero-visual{display: none}.about-inner{grid-template-columns: 1fr;gap: 3rem}.stack-inner{grid-template-columns: 1fr;gap: 3rem}.contact-grid{grid-template-columns: 1fr}.footer-top{grid-template-columns: 1fr 1fr}.hero{min-height: auto;padding-bottom: 4rem}.obras-grid{grid-template-columns: repeat(2,1fr);grid-auto-rows: 200px}.obra-card:nth-child(1){grid-column: span 2;grid-row: span 2}}@media (max-width: 600px){.obras-grid{grid-template-columns: 1fr;grid-auto-rows: 220px}.obra-card:nth-child(1){grid-column: span 1;grid-row: span 1}}@media (max-width: 768px){section{padding: 4.5rem 1.25rem}.category-header{flex-direction: column;align-items: flex-start;gap: 1rem}.category-icon{width: 64px;height: 64px}.category-icon svg{width: 30px;height: 30px}.service-category{margin-bottom: 3.5rem}nav{display: none}.menu-toggle{display: block}.logo img{height: 60px}nav.open{display: flex;flex-direction: column;position: absolute;top: 96px;left: 0;right: 0;background: var(--white);border-top: 1px solid var(--gray-200);padding: 1rem 1.5rem 1.5rem;box-shadow: 0 8px 24px rgba(0,0,0,0.08)}nav.open ul{flex-direction: column;gap: 0.25rem;align-items: flex-start}nav.open ul a{display: block;padding: 0.7rem 0;border-bottom: 1px solid var(--gray-200);width: 100%}.hero h1{font-size: 2.1rem}.hero-stats{gap: 1rem}.hero-stats .stat-num{font-size: 1.85rem}.about-pillars{grid-template-columns: 1fr}.footer-top{grid-template-columns: 1fr;gap: 2rem}.footer-bottom{flex-direction: column;text-align: center}}@media (max-width: 480px){.hero-actions{flex-direction: column;align-items: stretch}.btn-primary,.btn-outline{text-align: center;justify-content: center}.service-detail-card{grid-template-columns: 1fr}.service-detail-icon{width: 52px;height: 52px}.clients-grid{grid-template-columns: 1fr 1fr}}.cc-banner{position: fixed;left: 1.25rem;right: 1.25rem;bottom: 1.25rem;z-index: 300;max-width: 900px;margin: 0 auto;background: var(--navy-dark);color: var(--white);border: 1px solid rgba(255,255,255,0.10);border-radius: var(--r-lg);box-shadow: var(--shadow-xl);padding: 1.4rem 1.5rem;display: flex;align-items: center;justify-content: space-between;gap: 1.5rem;flex-wrap: wrap;transform: translateY(140%);opacity: 0;transition: transform var(--t-slow),opacity var(--t-slow)}.cc-banner.is-visible{transform: translateY(0);opacity: 1}.cc-banner__body{display: flex;align-items: flex-start;gap: 1rem;flex: 1 1 360px}.cc-banner__icon{flex-shrink: 0;width: 44px;height: 44px;display: grid;place-items: center;background: var(--orange-soft);border-radius: var(--r)}.cc-banner__icon svg{width: 26px;height: 26px;fill: var(--orange-bright)}.cc-banner__text strong{display: block;font-size: 1rem;margin-bottom: 0.25rem}.cc-banner__text p{font-size: 0.86rem;line-height: 1.6;color: rgba(255,255,255,0.72);margin: 0}.cc-banner__text a{color: var(--orange-bright);text-decoration: underline}.cc-actions{display: flex;align-items: center;gap: 0.6rem;flex-wrap: wrap}.cc-btn{font-family: var(--font-body);font-weight: 600;font-size: 0.88rem;padding: 0.7rem 1.25rem;border-radius: var(--r-full);border: 1px solid transparent;cursor: pointer;transition: var(--t);white-space: nowrap}.cc-btn--accept{background: var(--orange);color: var(--white);box-shadow: 0 6px 18px var(--orange-glow)}.cc-btn--accept:hover{background: var(--orange-bright);transform: translateY(-1px)}.cc-btn--outline{background: rgba(255,255,255,0.06);color: var(--white);border-color: rgba(255,255,255,0.22)}.cc-btn--outline:hover{border-color: rgba(255,255,255,0.5);background: rgba(255,255,255,0.10)}.cc-btn--outline.cc-btn--dark{background: var(--gray-100);color: var(--navy);border-color: var(--gray-200)}.cc-btn--outline.cc-btn--dark:hover{background: var(--gray-200)}.cc-btn--ghost{background: transparent;color: rgba(255,255,255,0.75);text-decoration: underline;padding-left: 0.5rem;padding-right: 0.5rem}.cc-btn--ghost:hover{color: var(--white)}.cc-fab{position: fixed;left: 1.5rem;bottom: 1.5rem;z-index: 200;width: 46px;height: 46px;border-radius: 50%;border: 1px solid var(--gray-200);background: var(--white);box-shadow: var(--shadow-md);cursor: pointer;display: grid;place-items: center;transition: var(--t)}.cc-fab:hover{transform: scale(1.08);border-color: var(--orange)}.cc-fab svg{width: 24px;height: 24px;fill: var(--navy);transition: fill var(--t)}.cc-fab:hover svg{fill: var(--orange)}.cc-modal{position: fixed;inset: 0;z-index: 400;display: grid;place-items: center;padding: 1.25rem}.cc-modal[hidden]{display: none}.cc-modal__overlay{position: absolute;inset: 0;background: rgba(15,22,38,0.55);backdrop-filter: blur(3px);opacity: 0;transition: opacity var(--t)}.cc-modal.is-open .cc-modal__overlay{opacity: 1}.cc-modal__dialog{position: relative;width: 100%;max-width: 540px;max-height: 90vh;overflow-y: auto;background: var(--white);border-radius: var(--r-lg);box-shadow: var(--shadow-xl);transform: translateY(16px) scale(0.98);opacity: 0;transition: transform var(--t),opacity var(--t)}.cc-modal.is-open .cc-modal__dialog{transform: translateY(0) scale(1);opacity: 1}.cc-modal__head{display: flex;align-items: center;justify-content: space-between;padding: 1.5rem 1.75rem 1rem;border-bottom: 1px solid var(--gray-100)}.cc-modal__head h2{font-size: 1.25rem;font-weight: 800;color: var(--navy)}.cc-modal__close{background: none;border: none;font-size: 1.8rem;line-height: 1;color: var(--gray-500);cursor: pointer;padding: 0 0.25rem}.cc-modal__close:hover{color: var(--navy)}.cc-modal__body{padding: 1.25rem 1.75rem}.cc-modal__intro{font-size: 0.9rem;color: var(--gray-text);line-height: 1.6;margin-bottom: 1.25rem}.cc-modal__intro a,.cc-cat a{color: var(--orange-hover);text-decoration: underline}.cc-cat{border: 1px solid var(--gray-200);border-radius: var(--r);padding: 1.1rem 1.25rem;margin-bottom: 0.9rem}.cc-cat__head{display: flex;align-items: center;justify-content: space-between;margin-bottom: 0.4rem;gap: 1rem}.cc-cat__head h3{font-size: 1rem;font-weight: 700;color: var(--navy)}.cc-cat__always{font-size: 0.78rem;font-weight: 600;color: var(--orange-hover);background: var(--orange-soft);padding: 0.25rem 0.7rem;border-radius: var(--r-full)}.cc-cat p{font-size: 0.84rem;color: var(--gray-text);line-height: 1.55;margin: 0}.cc-switch{position: relative;display: inline-block;width: 46px;height: 26px;flex-shrink: 0}.cc-switch input{opacity: 0;width: 0;height: 0}.cc-switch__slider{position: absolute;inset: 0;background: var(--gray-300);border-radius: var(--r-full);transition: var(--t);cursor: pointer}.cc-switch__slider::before{content: '';position: absolute;height: 20px;width: 20px;left: 3px;top: 3px;background: var(--white);border-radius: 50%;transition: var(--t);box-shadow: var(--shadow-sm)}.cc-switch input:checked + .cc-switch__slider{background: var(--orange)}.cc-switch input:checked + .cc-switch__slider::before{transform: translateX(20px)}.cc-switch input:focus-visible + .cc-switch__slider{outline: 2px solid var(--orange-bright);outline-offset: 2px}.cc-modal__foot{display: flex;justify-content: flex-end;gap: 0.7rem;padding: 1rem 1.75rem 1.5rem;border-top: 1px solid var(--gray-100);flex-wrap: wrap}@media (max-width: 600px){.cc-banner{padding: 1.2rem;gap: 1rem}.cc-actions{width: 100%}.cc-actions .cc-btn--accept,.cc-actions .cc-btn--outline{flex: 1;text-align: center}.cc-fab{left: 1rem;bottom: 1rem;width: 42px;height: 42px}.cc-modal__foot{justify-content: stretch}.cc-modal__foot .cc-btn{flex: 1}}.legal{padding: 4rem 1.5rem 5rem;background: var(--off-white)}.legal__inner{max-width: 820px;margin: 0 auto;background: var(--white);border: 1px solid var(--gray-200);border-radius: var(--r-lg);box-shadow: var(--shadow);padding: clamp(1.75rem,4vw,3.5rem)}.legal__updated{font-size: 0.85rem;color: var(--gray-text);margin-bottom: 2rem;padding-bottom: 1.25rem;border-bottom: 1px solid var(--gray-100)}.legal h2{font-size: 1.4rem;font-weight: 800;color: var(--navy);margin: 2.5rem 0 0.9rem;scroll-margin-top: 110px}.legal h2:first-of-type{margin-top: 0}.legal h3{font-size: 1.05rem;font-weight: 700;color: var(--navy);margin: 1.5rem 0 0.6rem}.legal p,.legal li{font-size: 0.95rem;line-height: 1.75;color: var(--gray-700)}.legal p{margin-bottom: 1rem}.legal ul{margin: 0 0 1.25rem 1.25rem;display: grid;gap: 0.4rem}.legal li{padding-left: 0.25rem}.legal a{color: var(--orange-hover);text-decoration: underline}.legal strong{color: var(--navy)}.legal table{width: 100%;border-collapse: collapse;margin: 0.5rem 0 1.5rem;font-size: 0.88rem}.legal th,.legal td{text-align: left;padding: 0.7rem 0.9rem;border: 1px solid var(--gray-200);vertical-align: top}.legal th{background: var(--gray-50);color: var(--navy);font-weight: 700}.legal__toc{background: var(--gray-50);border: 1px solid var(--gray-200);border-radius: var(--r);padding: 1.25rem 1.5rem;margin-bottom: 2.5rem}.legal__toc strong{display: block;margin-bottom: 0.6rem;color: var(--navy)}.legal__toc ol{margin: 0 0 0 1.1rem;display: grid;gap: 0.35rem}.legal__toc a{color: var(--gray-700);text-decoration: none}.legal__toc a:hover{color: var(--orange-hover);text-decoration: underline}