:root {--primary: #1B1D21;--primary-light: #2D3238;--accent: #E8920D;--accent-light: #F5B941;--accent-glow: rgba(232,146,13,0.15);--white: #F8F7F4;--white-pure: #FFFFFF;--text-muted: #9CA3AF;--success: #2ECC71;--danger: #E74C3C;--overlay: rgba(27,29,33,0.85);--font-heading: 'Space Grotesk', sans-serif;--font-body: 'Inter', sans-serif;--rounded-sm: 4px;--rounded-md: 8px;--rounded-lg: 16px;--rounded-xl: 24px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--spacing-section: 100px;--max-width: 1200px;--nav-height: 72px;--shadow-1: 0 1px 3px rgba(0,0,0,0.12);--shadow-2: 0 4px 12px rgba(0,0,0,0.15);--shadow-3: 0 12px 32px rgba(0,0,0,0.2);--shadow-4: 0 24px 60px rgba(0,0,0,0.25);}*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }html { scroll-behavior:smooth; font-size:16px; overflow-x:hidden; color-scheme:dark; }body { font-family:var(--font-body); color:var(--white); background:var(--primary); line-height:1.7; overflow-x:hidden; width:100%; -webkit-tap-highlight-color:transparent; }a { color:inherit; text-decoration:none; }ul { list-style:none; }img { max-width:100%; height:auto; display:block; }button { cursor:pointer; border:none; font-family:inherit; touch-action:manipulation; }section[id] { scroll-margin-top:calc(var(--nav-height) + 16px); }.skip-link { position:absolute; top:-100%; left:16px; background:var(--accent); color:var(--primary); padding:8px 16px; z-index:9999; font-weight:600; border-radius:0 0 var(--rounded-sm) var(--rounded-sm); }.skip-link:focus { top:0; }h1,h2,h3,h4 { font-family:var(--font-heading); line-height:1.15; }h1 { font-size:clamp(2rem,5vw,3.5rem); font-weight:700; letter-spacing:-0.02em; text-wrap:balance; }h2 { font-size:clamp(1.75rem,4vw,2.5rem); font-weight:600; text-wrap:balance; }h3 { font-size:clamp(1.15rem,2.5vw,1.5rem); font-weight:600; }.section-label { font-family:var(--font-heading); font-size:0.75rem; font-weight:600; letter-spacing:0.15em; text-transform:uppercase; color:var(--accent); margin-bottom:var(--spacing-md); display:inline-flex; align-items:center; gap:8px; }.section-label::before { content:''; width:24px; height:2px; background:var(--accent); }.section-desc { color:var(--text-muted); max-width:600px; font-size:1.05rem; }.container { width:100%; max-width:var(--max-width); margin:0 auto; padding:0 var(--spacing-lg); }section { padding:var(--spacing-section) 0; position:relative; overflow:hidden; }.section-dark { background:var(--primary); }.section-darker { background:var(--primary-light); }.section-light { background:var(--white); color:var(--primary); }.section-light .section-desc { color:#555; }.trust-bar { padding:var(--spacing-2xl) 0; background:var(--primary); border-top:1px solid rgba(255,255,255,0.04); border-bottom:1px solid rgba(255,255,255,0.04); overflow:hidden; position:relative; }.trust-label { text-align:center; font-family:var(--font-heading); font-size:0.7rem; font-weight:600; letter-spacing:0.15em; text-transform:uppercase; color:var(--text-muted); margin-bottom:var(--spacing-lg); opacity:0.6; }.marquee { position:relative; width:100%; overflow:hidden; -webkit-mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent); mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent); }.marquee-track { display:flex; align-items:center; gap:var(--spacing-3xl); width:max-content; animation:marquee-scroll 35s linear infinite; }.marquee:hover .marquee-track { animation-play-state:paused; }.marquee-logo { flex-shrink:0; opacity:0.4; transition:opacity 0.3s; filter:grayscale(100%) brightness(2); }.marquee-logo:hover { opacity:0.8; }.marquee-logo svg { height:36px; width:auto; }@keyframes marquee-scroll { 0% { transform:translateX(0); } 100% { transform:translateX(-50%); } }.btn { display:inline-flex; align-items:center; gap:8px; padding:14px 32px; border-radius:var(--rounded-md); font-family:var(--font-heading); font-size:0.8rem; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; transition:background 0.3s ease,color 0.3s ease,transform 0.3s ease,box-shadow 0.3s ease; position:relative; overflow:hidden; touch-action:manipulation; }.btn:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }.btn-primary { background:var(--accent); color:var(--primary); box-shadow:0 0 20px var(--accent-glow); }.btn-primary:hover { background:var(--accent-light); transform:translateY(-2px); box-shadow:0 8px 30px rgba(232,146,13,0.3); }.btn-outline { background:transparent; color:var(--accent); border:1.5px solid var(--accent); }.btn-outline:hover { background:var(--accent); color:var(--primary); }.btn-white { background:rgba(255,255,255,0.1); color:var(--white); border:1.5px solid rgba(255,255,255,0.2); backdrop-filter:blur(10px); }.btn-white:hover { background:rgba(255,255,255,0.2); }.navbar { position:fixed; top:0; left:0; width:100%; height:var(--nav-height); z-index:1000; transition:background 0.4s ease,backdrop-filter 0.4s ease,border-color 0.4s ease; display:flex; align-items:center; }.navbar.scrolled { background:var(--overlay); backdrop-filter:blur(20px); border-bottom:1px solid rgba(255,255,255,0.05); }.navbar .container { display:flex; align-items:center; justify-content:space-between; }.nav-logo { font-family:var(--font-heading); font-size:1.1rem; font-weight:700; display:flex; align-items:center; gap:10px; }.nav-logo .amber-dot { width:8px; height:8px; background:var(--accent); border-radius:50%; animation:pulse-amber 2s infinite; }.nav-logo span { color:var(--accent); }.nav-links { display:flex; align-items:center; gap:var(--spacing-xl); }.nav-links a { font-size:0.85rem; font-weight:500; transition:color 0.3s; position:relative; }.nav-links a:hover { color:var(--accent); }.nav-links a:focus-visible { outline:2px solid var(--accent); outline-offset:4px; border-radius:2px; }.nav-links a::after { content:''; position:absolute; bottom:-4px; left:0; width:0; height:2px; background:var(--accent); transition:width 0.3s; }.nav-links a:hover::after { width:100%; }.nav-cta { margin-left:var(--spacing-md); }.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:8px; z-index:1001; }.hamburger span { width:24px; height:2px; background:var(--white); transition:transform 0.3s,opacity 0.3s; display:block; }.hamburger.active span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }.hamburger.active span:nth-child(2) { opacity:0; }.hamburger.active span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }.hero { min-height:100vh; display:flex; align-items:center; position:relative; overflow:hidden; }.hero-bg { position:absolute; inset:0; z-index:0; }.hero-bg img { width:100%; height:100%; object-fit:cover; }.hero-bg::after { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(27,29,33,0.92) 0%,rgba(27,29,33,0.7) 50%,rgba(27,29,33,0.85) 100%); }.hero-content { position:relative; z-index:2; max-width:700px; }.hero-content h1 { margin-bottom:var(--spacing-lg); }.hero-content h1 .accent { color:var(--accent); }.hero-content p { font-size:1.15rem; color:var(--text-muted); margin-bottom:var(--spacing-2xl); max-width:550px; }.hero-buttons { display:flex; gap:var(--spacing-md); flex-wrap:wrap; }.hero-stats { display:flex; gap:var(--spacing-3xl); margin-top:var(--spacing-3xl); padding-top:var(--spacing-xl); border-top:1px solid rgba(255,255,255,0.1); }.hero-stat h3 { font-size:2rem; color:var(--accent); }.hero-stat p { font-size:0.8rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:0.1em; }.road-lines { position:absolute; right:10%; top:0; bottom:0; width:4px; z-index:1; overflow:hidden; opacity:0.15; }.road-lines::before { content:''; position:absolute; top:-100%; left:0; width:100%; height:200%; background:repeating-linear-gradient(to bottom,var(--accent) 0,var(--accent) 30px,transparent 30px,transparent 60px); animation:road-move 2s linear infinite; }.road-lines-2 { right:12%; opacity:0.08; }.hero-particles { position:absolute; inset:0; z-index:1; pointer-events:none; width:100%; height:100%; }.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--spacing-lg); margin-top:var(--spacing-2xl); }.service-card { background:var(--primary-light); border-radius:var(--rounded-lg); padding:0; overflow:hidden; transition:transform 0.4s ease,box-shadow 0.4s ease,border-color 0.4s ease; position:relative; border:1px solid rgba(255,255,255,0.05); border-top:3px solid transparent; box-shadow:var(--shadow-1); }.service-card:hover { transform:translateY(-8px); border-color:rgba(232,146,13,0.3); border-top-color:var(--accent); box-shadow:var(--shadow-3); }.service-card-img { height:200px; overflow:hidden; position:relative; }.service-card-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s ease; }.service-card:hover .service-card-img img { transform:scale(1.08); }.service-card-img::after { content:''; position:absolute; bottom:0; left:0; right:0; height:60%; background:linear-gradient(to top,var(--primary-light),transparent); }.service-card-body { padding:var(--spacing-lg); }.service-card-body h3 { margin-bottom:var(--spacing-sm); font-size:1.15rem; }.service-card-body p { color:var(--text-muted); font-size:0.9rem; line-height:1.6; }.service-card-icon { width:48px; height:48px; background:var(--accent-glow); border-radius:var(--rounded-md); display:flex; align-items:center; justify-content:center; margin-bottom:var(--spacing-md); color:var(--accent); font-size:1.3rem; }.service-card::before { content:''; position:absolute; top:-50%; left:-50%; width:200%; height:200%; background:linear-gradient(45deg,transparent 40%,rgba(255,255,255,0.03) 50%,transparent 60%); transition:transform 0.6s ease; z-index:2; pointer-events:none; }.service-card:hover::before { transform:translateX(50%) translateY(50%); }.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--spacing-3xl); align-items:center; margin-top:var(--spacing-2xl); }.about-image { position:relative; border-radius:var(--rounded-lg); overflow:visible; }.about-image img { border-radius:var(--rounded-lg); }.about-image::before { content:''; position:absolute; top:-20px; left:-20px; width:100px; height:100px; border-top:3px solid var(--accent); border-left:3px solid var(--accent); z-index:2; border-radius:var(--rounded-sm) 0 0 0; }.about-image::after { content:''; position:absolute; bottom:-20px; right:-20px; width:100px; height:100px; border-bottom:3px solid var(--accent); border-right:3px solid var(--accent); z-index:2; }.about-text h2 { margin-bottom:var(--spacing-lg); }.about-text p { color:var(--text-muted); margin-bottom:var(--spacing-md); }.about-features { display:grid; grid-template-columns:1fr 1fr; gap:var(--spacing-md); margin-top:var(--spacing-xl); }.about-feature { display:flex; align-items:flex-start; gap:12px; }.about-feature .check { color:var(--accent); font-size:1.2rem; flex-shrink:0; margin-top:2px; }.about-feature p { font-size:0.9rem; color:var(--white); }.stats-section { background:linear-gradient(135deg,var(--accent),#d4800b); padding:var(--spacing-3xl) 0; }.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--spacing-xl); text-align:center; }.stat-item h3 { font-size:clamp(2rem,4vw,3rem); color:var(--primary); font-weight:700; font-variant-numeric:tabular-nums; }.stat-item p { font-size:0.85rem; color:rgba(27,29,33,0.7); text-transform:uppercase; letter-spacing:0.08em; font-weight:500; margin-top:4px; }.projects-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:var(--spacing-lg); margin-top:var(--spacing-2xl); }.project-card { position:relative; border-radius:var(--rounded-lg); overflow:hidden; height:300px; cursor:pointer; }.project-card img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s ease; }.project-card:hover img { transform:scale(1.05); }.project-card-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(27,29,33,0.9) 0%,transparent 60%); display:flex; flex-direction:column; justify-content:flex-end; padding:var(--spacing-lg); transition:background 0.4s,padding 0.4s; }.project-card:hover .project-card-overlay { background:linear-gradient(to top,rgba(27,29,33,0.95) 0%,rgba(232,146,13,0.1) 100%); }.project-card-overlay h3 { font-size:1.1rem; margin-bottom:4px; }.project-card-overlay p { font-size:0.85rem; color:var(--text-muted); }.why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--spacing-lg); margin-top:var(--spacing-2xl); }.why-card { text-align:center; padding:var(--spacing-2xl) var(--spacing-lg); border:1px solid rgba(255,255,255,0.06); border-radius:var(--rounded-lg); transition:transform 0.3s,border-color 0.3s,box-shadow 0.3s; box-shadow:var(--shadow-1); }.why-card:hover { border-color:rgba(232,146,13,0.3); background:rgba(232,146,13,0.03); box-shadow:var(--shadow-2); transform:translateY(-4px); }.why-card-icon { width:64px; height:64px; margin:0 auto var(--spacing-lg); background:var(--accent-glow); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.5rem; color:var(--accent); }.why-card h3 { margin-bottom:var(--spacing-sm); font-size:1.1rem; }.why-card p { color:var(--text-muted); font-size:0.9rem; }.sectors-grid { display:flex; flex-wrap:wrap; gap:var(--spacing-md); margin-top:var(--spacing-2xl); justify-content:center; }.sector-tag { padding:12px 24px; border:1px solid rgba(255,255,255,0.1); border-radius:var(--rounded-xl); font-size:0.85rem; font-weight:500; transition:background 0.3s,border-color 0.3s,color 0.3s; }.sector-tag:hover { border-color:var(--accent); color:var(--accent); background:var(--accent-glow); }.cta-banner { background:linear-gradient(135deg,var(--primary-light),var(--primary)); text-align:center; padding:var(--spacing-section) 0; position:relative; overflow:hidden; }.cta-banner::before { content:''; position:absolute; top:50%; left:50%; width:600px; height:600px; background:radial-gradient(circle,var(--accent-glow),transparent 70%); transform:translate(-50%,-50%); pointer-events:none; }.cta-banner h2 { margin-bottom:var(--spacing-md); position:relative; }.cta-banner p { color:var(--text-muted); margin-bottom:var(--spacing-xl); position:relative; }.cta-banner .btn { position:relative; }.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--spacing-3xl); margin-top:var(--spacing-2xl); }.contact-info-cards { display:flex; flex-direction:column; gap:var(--spacing-md); }.contact-card { display:flex; align-items:flex-start; gap:var(--spacing-md); padding:var(--spacing-lg); background:var(--primary-light); border-radius:var(--rounded-md); border:1px solid rgba(255,255,255,0.05); }.contact-card-icon { width:44px; height:44px; background:var(--accent-glow); border-radius:var(--rounded-md); display:flex; align-items:center; justify-content:center; color:var(--accent); flex-shrink:0; }.contact-card h4 { font-size:0.95rem; margin-bottom:4px; }.contact-card p, .contact-card a { color:var(--text-muted); font-size:0.9rem; }.contact-card a:hover { color:var(--accent); }.contact-form { background:var(--primary-light); border-radius:var(--rounded-lg); padding:var(--spacing-2xl); border:1px solid rgba(255,255,255,0.05); }.form-group { margin-bottom:var(--spacing-md); }.form-group label { font-size:0.8rem; font-weight:500; display:block; margin-bottom:6px; color:var(--text-muted); }.form-group input, .form-group textarea, .form-group select { width:100%; padding:12px 16px; background:var(--primary); border:1px solid rgba(255,255,255,0.1); border-radius:var(--rounded-md); color:var(--white); font-family:var(--font-body); font-size:0.9rem; transition:border-color 0.3s; }.form-group input:focus, .form-group textarea:focus, .form-group select:focus { outline:none; border-color:var(--accent); }.form-group textarea { resize:vertical; min-height:120px; }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:var(--spacing-md); }.form-status { margin-top:var(--spacing-md); padding:12px 16px; border-radius:var(--rounded-md); font-size:0.9rem; font-weight:500; }.form-status-success { background:rgba(46,204,113,0.15); color:#2ecc71; border:1px solid rgba(46,204,113,0.3); }.form-status-error { background:rgba(231,76,60,0.15); color:#e74c3c; border:1px solid rgba(231,76,60,0.3); }.form-status-info { background:rgba(232,146,13,0.15); color:var(--accent); border:1px solid rgba(232,146,13,0.3); }.form-trust { text-align:center; font-size:0.75rem; color:var(--text-muted); margin-top:var(--spacing-md); opacity:0.7; }#cf-submit:disabled { opacity:0.6; cursor:wait; }.faq-grid { display:flex; flex-direction:column; gap:var(--spacing-md); margin-top:var(--spacing-2xl); max-width:800px; margin-left:auto; margin-right:auto; }.faq-item { background:var(--primary); border:1px solid rgba(255,255,255,0.06); border-radius:var(--rounded-md); overflow:hidden; transition:border-color 0.3s; }.faq-item[open] { border-color:rgba(232,146,13,0.3); }.faq-item summary { padding:var(--spacing-lg) var(--spacing-xl); font-family:var(--font-heading); font-size:1rem; font-weight:600; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:var(--spacing-md); transition:color 0.3s; }.faq-item summary::-webkit-details-marker { display:none; }.faq-item summary::after { content:'+'; font-size:1.4rem; color:var(--accent); flex-shrink:0; transition:transform 0.3s; }.faq-item[open] summary::after { content:'−'; }.faq-item[open] summary { color:var(--accent); }.faq-item p { padding:0 var(--spacing-xl) var(--spacing-lg); color:var(--text-muted); line-height:1.7; font-size:0.95rem; }.footer { background:var(--primary); padding:var(--spacing-3xl) 0 var(--spacing-lg); border-top:1px solid rgba(255,255,255,0.05); }.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:var(--spacing-2xl); margin-bottom:var(--spacing-2xl); }.footer-brand p { color:var(--text-muted); font-size:0.85rem; margin-top:var(--spacing-md); max-width:300px; }.footer-col h4 { font-size:0.85rem; text-transform:uppercase; letter-spacing:0.1em; margin-bottom:var(--spacing-md); color:var(--accent); }.footer-col a { display:block; color:var(--text-muted); font-size:0.85rem; padding:4px 0; transition:color 0.3s; }.footer-col a:hover { color:var(--accent); }.footer-bottom { display:flex; justify-content:space-between; align-items:center; padding-top:var(--spacing-lg); border-top:1px solid rgba(255,255,255,0.05); }.footer-bottom p { color:var(--text-muted); font-size:0.8rem; }.footer-socials { display:flex; gap:var(--spacing-md); }.footer-socials a { width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,0.1); display:flex; align-items:center; justify-content:center; transition:background 0.3s,border-color 0.3s,color 0.3s; color:var(--text-muted); font-size:0.85rem; }.footer-socials a:hover { border-color:var(--accent); color:var(--accent); background:var(--accent-glow); }html.lenis, html.lenis body { height:auto; }.lenis.lenis-smooth { scroll-behavior:auto; }.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior:contain; }.navbar { transition:background 0.4s cubic-bezier(0.16,1,0.3,1),backdrop-filter 0.4s cubic-bezier(0.16,1,0.3,1),border-color 0.4s cubic-bezier(0.16,1,0.3,1); }.navbar.nav-hidden { transform:translateY(-100%); }.nav-links a.active { color:var(--accent); }.nav-links a.active::after { width:100%; }.scroll-progress { position:fixed; top:0; left:0; height:2px; background:linear-gradient(90deg,var(--accent),var(--accent-light)); z-index:1001; width:0%; transition:none; animation:scroll-progress linear; animation-timeline:scroll(root); }@keyframes scroll-progress { from{width:0%} to{width:100%} }.reveal { opacity:0; transform:translateY(40px); filter:blur(4px); transition:opacity 1s cubic-bezier(0.16,1,0.3,1),transform 1s cubic-bezier(0.16,1,0.3,1),filter 1s cubic-bezier(0.16,1,0.3,1); will-change:opacity,transform,filter; }.reveal.visible { opacity:1; transform:translateY(0); filter:blur(0); }.reveal-delay-1 { transition-delay:0.1s; }.reveal-delay-2 { transition-delay:0.2s; }.reveal-delay-3 { transition-delay:0.3s; }.reveal-delay-4 { transition-delay:0.4s; }.reveal-delay-5 { transition-delay:0.5s; }.hero-content .section-label { opacity:0; transform:translateX(-20px); animation:hero-label 0.8s 0.3s cubic-bezier(0.16,1,0.3,1) forwards; }.hero-content h1 { opacity:0; transform:translateY(30px); animation:hero-fade-up 1s 0.5s cubic-bezier(0.16,1,0.3,1) forwards; }.hero-content > p { opacity:0; transform:translateY(20px); animation:hero-fade-up 0.8s 0.8s cubic-bezier(0.16,1,0.3,1) forwards; }.hero-buttons { opacity:0; transform:translateY(20px); animation:hero-fade-up 0.8s 1s cubic-bezier(0.16,1,0.3,1) forwards; }.hero-stats { opacity:0; animation:hero-fade-up 0.8s 1.2s cubic-bezier(0.16,1,0.3,1) forwards; }.card-shine { position:absolute; inset:0; pointer-events:none; z-index:3; border-radius:inherit; transition:background 0.3s ease; }.service-card { transform-style:preserve-3d; transition:transform 0.4s cubic-bezier(0.16,1,0.3,1),box-shadow 0.4s cubic-bezier(0.16,1,0.3,1),border-color 0.4s cubic-bezier(0.16,1,0.3,1); }.section-darker::before { content:''; position:absolute; top:50%; right:-200px; width:400px; height:400px; background:radial-gradient(circle,rgba(232,146,13,0.04),transparent 70%); border-radius:50%; pointer-events:none; }.btn-primary::before { content:''; position:absolute; inset:-4px; border-radius:inherit; background:var(--accent); opacity:0; z-index:-1; animation:btn-pulse 3s ease-in-out infinite; }.form-group input:focus, .form-group textarea:focus, .form-group select:focus { box-shadow:0 0 0 3px var(--accent-glow); }.about-image img, .project-card img { transition:transform 0.8s cubic-bezier(0.16,1,0.3,1), filter 0.8s ease; }.reveal:not(.visible) .about-image img { filter:grayscale(1) brightness(0.6); }.reveal.visible .about-image img { filter:grayscale(0) brightness(1); }@keyframes road-move { 0%{transform:translateY(0)} 100%{transform:translateY(60px)} }@keyframes pulse-amber { 0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(232,146,13,0.4)} 50%{opacity:0.8;box-shadow:0 0 0 8px rgba(232,146,13,0)} }@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }@keyframes hero-label { to{opacity:1;transform:translateX(0)} }@keyframes hero-fade-up { to{opacity:1;transform:translateY(0)} }@keyframes btn-pulse { 0%,100%{opacity:0;transform:scale(1)} 50%{opacity:0.15;transform:scale(1.05)} }@media(prefers-reduced-motion:reduce) {*, *::before, *::after { animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; }.reveal { opacity:1; transform:none; filter:none; }.hero-content .section-label, .hero-content h1, .hero-content > p, .hero-buttons, .hero-stats { opacity:1; transform:none; }.scroll-progress { display:none; }.hero-particles { display:none; }}.whatsapp-float { position:fixed; bottom:24px; right:24px; z-index:999; width:56px; height:56px; background:#25D366; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 20px rgba(37,211,102,0.4); transition:transform 0.3s,box-shadow 0.3s; }.whatsapp-float:focus-visible { outline:2px solid #25D366; outline-offset:4px; }.whatsapp-float:hover { transform:scale(1.1); box-shadow:0 6px 30px rgba(37,211,102,0.5); }.whatsapp-float svg { width:28px; height:28px; fill:white; }.mobile-menu { position:fixed; inset:0; background:var(--overlay); backdrop-filter:blur(20px); z-index:999; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--spacing-xl); opacity:0; visibility:hidden; transition:opacity 0.4s,visibility 0.4s; overscroll-behavior:contain; }.mobile-menu.active { opacity:1; visibility:visible; }.mobile-menu a { font-family:var(--font-heading); font-size:1.5rem; font-weight:600; transition:color 0.3s; }.mobile-menu a:hover { color:var(--accent); }@media(max-width:1024px) {.services-grid { grid-template-columns:repeat(2,1fr); }.why-grid { grid-template-columns:repeat(2,1fr); }.footer-grid { grid-template-columns:1fr 1fr; }.stats-grid { grid-template-columns:repeat(2,1fr); gap:var(--spacing-xl); }}@media(max-width:768px) {:root { --spacing-section:64px; }.nav-links { display:none; }.nav-cta { display:none; }.hamburger { display:flex; }.hero { min-height:100svh; padding-top:var(--nav-height); }.hero-stats { flex-direction:column; gap:var(--spacing-lg); }.hero-stats { flex-wrap:wrap; gap:var(--spacing-lg); }.hero-stat { min-width:120px; }.services-grid { grid-template-columns:1fr; }.about-grid { grid-template-columns:1fr; }.about-image { order:-1; }.projects-grid { grid-template-columns:1fr; }.why-grid { grid-template-columns:1fr; }.stats-grid { grid-template-columns:1fr 1fr; }.contact-grid { grid-template-columns:1fr; }.form-row { grid-template-columns:1fr; }.footer-grid { grid-template-columns:1fr; gap:var(--spacing-xl); }.footer-bottom { flex-direction:column; gap:var(--spacing-md); text-align:center; }.hero-buttons { flex-direction:column; }.hero-buttons .btn { text-align:center; justify-content:center; }.project-card { height:220px; }}@media(max-width:480px) {h1 { font-size:1.75rem; }.stats-grid { grid-template-columns:1fr 1fr; }}@media(hover:none) and (pointer:coarse) {.reveal { filter:none; transform:translateY(20px); transition-duration:0.6s; }.cursor-glow { display:none !important; }.hero-particles { display:none; }.section-darker::before { display:none; }.btn-primary::before { display:none; }.service-card::before { display:none; }.card-shine { display:none; }.about-image::before, .about-image::after { display:none; }}