/*
Theme Name: DIGITAL ECO AGENCY
Theme URI: 
Author: Studio70
Author URI: https://www.studio70.it/
Description: 
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: 
Text Domain: https://digitaleco.agency/
*/


/* ===========================================
   DIGITAL ECO AGENCY - OPTIMIZED STYLESHEET
   SEO + Performance + WCAG 2.2 Accessibility
   =========================================== */

/* Reset & Base Styles */
*,
*::before,                      
*::after                                                                { margin: 0; padding: 0; box-sizing: border-box; }
html                                                                    { scroll-behavior: smooth; }
body                                                                    { font-family: 'Arial', sans-serif, system-ui; line-height: 1.6; color: #333; background: #fff; }
ul                                                                      { margin: 0 0 0 15px; color: #8d8d8d; font-size: 18px;}
p                                                                       { color: #8d8d8d; font-size: 18px;}
h2                                                                      { color: #8d8d8d; }

/* Accessibility - Screen Reader Only Content */      
.sr-only                                                                { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.sr-only.focus\:not-sr-only:focus                                       { position: static !important; width: auto !important; height: auto !important; padding: 0.5rem 1rem !important; margin: 0 !important; overflow: visible !important; clip: auto !important; white-space: normal !important; background: #000 !important; color: #fff !important; text-decoration: none !important; z-index: 9999 !important; }
      
/* Focus Management - WCAG 2.2 Compliance */      
:focus                                                                  { outline: 3px solid #005fcc; outline-offset: 2px; }
:focus:not(:focus-visible)                                              { outline: none; }
:focus-visible                                                          { outline: 3px solid #005fcc; outline-offset: 2px; }
                  
/* Skip Link */                 
a[href="#main"]                                                         { position: absolute; top: -40px; left: 6px; z-index: 9999; padding: 8px 16px; background: #000; color: #fff; text-decoration: none; border-radius: 4px; }
a[href="#main"]:focus                                                   { top: 6px; }
            
/* CSS Custom Properties for Consistency */
:root {
  --primary: #2f5a8d;
  --primary-dark: #e64100;
  --secondary: #a4c5cc;
  --text-primary: #333;
  --text-secondary: #666;
  --text-light: #aaa;
  --bg-light: #f8f9fa;
  --bg-section: #fafafa;
  --white: #ffffff;
  --border-light: #eee;
  --shadow-light: 0 2px 10px rgba(0,0,0,0.1);
  --shadow-medium: 0 10px 30px rgba(0,0,0,0.1);
  --shadow-heavy: 0 20px 50px rgba(0,0,0,0.2);
  --border-radius: 20px;
  --transition: all 0.3s ease;
  --container-width: 1200px;
  --font-size-small: 14px;
  --font-size-base: 16px;
  --font-size-large: 18px;
  --font-size-xl: 24px;
  --font-size-xxl: 42px;
  --spacing-xs: 8px;
  --spacing-sm: 15px;
  --spacing-md: 20px;
  --spacing-lg: 30px;
  --spacing-xl: 60px;
  --spacing-xxl: 100px;
}

/* Respect User Motion Preferences - WCAG 2.2 */
@media (prefers-reduced-motion: reduce) {
  *,      
  *::before,      
  *::after                                                              { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
                            
  .floating-element,                          
  .floating-cross::before,                          
  .hero::before                                                         { animation: none !important; }
}                         
                          
/* High Contrast Mode Support */                          
@media (prefers-contrast: high) {                 
  :root                                                                 { --primary: #0066cc; --text-primary: #000; --text-secondary: #000; }
  .hero-badge,                              
  .section-badge                                                        { background: #000; color: #fff; border: 2px solid #fff; }
}                             
                              
/* Container */                             
.container                                                              { max-width: var(--container-width); margin: 0 auto; padding: 0 var(--spacing-md); }
                              
/* Top Bar */                                 
.top-bar                                                                { background: transparent; padding: 10px 0; font-size: var(--font-size-small); color: var(--text-secondary); z-index:9; position:relative; }
.top-bar .container                                                     { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: var(--spacing-sm); }
.contact-info                                                           { display: flex; gap: var(--spacing-lg); flex-wrap: wrap; }
.contact-info span                                                      { display: flex; align-items: center; gap: var(--spacing-xs); }
.contact-info a                                                         { color: inherit; text-decoration: none; }
.contact-info a:hover,                              
.contact-info a:focus                                                   { color: var(--primary); text-decoration: underline; }
.social-links                                                           { display: flex; gap: var(--spacing-sm); }
.social-links a                                                         { color: var(--primary); font-size: var(--font-size-base); transition: var(--transition); min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 4px; text-decoration: none;}
.social-links a:hover,                              
.social-links a:focus                                                   { color: var(--primary); background: rgb(165 195 206 / 20%); }
                        
/* Header */                            
.header                                                                 { background: transparent; /* box-shadow: var(--shadow-light); */ position: sticky; top: 0; z-index: 999999; /* max-width: var(--container-width); margin: 0 auto; border-radius: 15px; */ box-shadow: none;}
.header .container                                                      { display: flex; justify-content: space-between; align-items: center; height: 80px; max-width: var(--container-width); margin: 0 auto; border-radius: 15px; box-shadow: var(--shadow-light); background: #fff;}
                              
/* Logo */                                  
.logo                                                                   { display: flex; align-items: center; gap: 10px; }
.logo figure                                                            { width: 230px; margin: 10px 0 0 0; }
.logo figure img                                                        { width: 100%; height: auto; max-width: 235px; }
                              
                                
/* Navigation */                                  
.nav                                                                    { display: flex; list-style: none; gap: 40px; }
.nav li                                                                 { position: relative; }
.nav a                                                                  { text-decoration: none; color: var(--text-primary); font-weight: 500; position: relative; transition: var(--transition); padding: var(--spacing-xs) 0; min-height: 44px; display: flex; align-items: center; }
.nav a:hover,                             
.nav a:focus                                                            { color: var(--primary); }
                  
/* Sottolineatura per link normali (senza figli) */
.nav li:not(.menu-item-has-children) a::after                           { content: ''; position: absolute; width: 0; height: 2px; bottom: 0; left: 0; background: var(--primary); transition: width 0.3s; }
.nav li:not(.menu-item-has-children) a:hover::after,
.nav li:not(.menu-item-has-children) a:focus::after                     { width: 100%; }
.nav li:not(.menu-item-has-children) a[aria-current="page"]::after      { width: 100%; }

/* Sottolineatura per link con figli - usa ::before */
.nav .menu-item-has-children > a::before                                { content: ''; position: absolute; width: 0; height: 2px; bottom: 0; left: 0; background: var(--primary); transition: width 0.3s; }
.nav .menu-item-has-children > a:hover::before,
.nav .menu-item-has-children > a:focus::before                          { width: 100%; }
.nav .menu-item-has-children > a[aria-current="page"]::before           { width: 100%; }

/* Colore link attivi */
.nav a[aria-current="page"]                                             { color: var(--primary); font-weight: 600; }


/* ===========================================
   SUBMENU STYLES - Hover fallback + Click primary
   =========================================== */

/* Sottomenu - Hidden by default */
.nav .sub-menu                                                          { position: absolute; top: 100%; left: 0; background: var(--white); box-shadow: var(--shadow-medium); border-radius: var(--spacing-xs); padding: var(--spacing-sm) 0; min-width: 300px; opacity: 0; visibility: hidden; transform: translateY(-10px); transition: all 0.3s ease; z-index: 1000; list-style: none; margin: 0; }

/* Voce di menu con figli - Indicatore */
.nav .menu-item-has-children > a                                        { position: relative; padding-right: 20px; }
.nav .menu-item-has-children > a::after                                 { content: '▼'; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-size: 10px; color: var(--text-secondary); transition: transform 0.3s ease; width: auto; height: auto; background: none; }
                  
/* Rotazione freccia quando attivo */                 
.nav .menu-item-has-children.menu-open > a::after                       { transform: translateY(-50%) rotate(180deg); }
                  
/* Sottomenu visibile quando parent è attivo */                 
.nav .menu-item-has-children.menu-open .sub-menu                        { opacity: 1; visibility: visible; transform: translateY(0); }

/* Stili per le voci del sottomenu */
.nav .sub-menu li                                                       { position: relative; }
.nav .sub-menu a                                                        { display: block; padding: 12px var(--spacing-md); color: var(--text-primary); text-decoration: none; transition: var(--transition); border-bottom: 1px solid var(--border-light); font-size: var(--font-size-small); }
.nav .sub-menu a:hover,                 
.nav .sub-menu a:focus                                                  { background: var(--bg-light); color: var(--primary); padding-left: calc(var(--spacing-md) + 5px); }
.nav .sub-menu li:last-child a                                          { border-bottom: none; }

/* Sottomenu di terzo livello */
.nav .sub-menu .menu-item-has-children .sub-menu                        { top: 0; left: 100%; margin-left: 5px; }

/* HOVER FALLBACK - Solo quando JavaScript è DISATTIVATO */
@media (hover: hover) and (pointer: fine) {

.nav:not(.js-enabled) .menu-item-has-children:hover .sub-menu,
.nav:not(.js-enabled) .menu-item-has-children:focus-within .sub-menu    { opacity: 1; visibility: visible; transform: translateY(0); }

}

/* Focus management per accessibilità */
.nav .sub-menu:focus-within                                             { opacity: 1; visibility: visible; transform: translateY(0); }

/* Responsive - Mobile */
@media (max-width: 1024px) {

.nav .sub-menu                                                          { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none;  max-height: 0; overflow: hidden; transition: max-height 0.3s ease, padding 0.3s ease; padding: 0; }
.nav .menu-item-has-children.menu-open .sub-menu                        { max-height: fit-content; padding: var(--spacing-sm) 0; }
.nav .sub-menu a                                                        { padding: 0; margin: 0 var(--spacing-sm); border-radius: var(--spacing-xs); border-bottom: none; display: block;  color: var(--text-primary); font-size: var(--font-size-base); font-weight: 500; text-decoration: none;}
.nav .sub-menu a:hover, .nav .sub-menu a:focus                          { background: rgba(47, 90, 141, 0.1); color: var(--primary); }
.nav .menu-item-has-children > a::after                                 { right: 10px; }
.nav .sub-menu li                                                       { margin: 0; padding: 0;}

}


/* CTA Container */         
.cta-container                                                          { display: flex; align-items: center; gap: var(--spacing-md); }
.search-btn                                                             { background: none; border: none; font-size: var(--font-size-large); color: var(--text-primary); cursor: pointer; transition: var(--transition); min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 4px; }
.search-btn:hover,                                        
.search-btn:focus                                                       { color: var(--primary); background: rgb(165 195 206 / 20%); }
                                        
/* Hamburger Menu */                                        
.hamburger-btn                                                          { background: none; border: none; flex-direction: column; gap: 4px; cursor: pointer; padding: var(--spacing-xs); display: none; min-width: 44px; min-height: 44px; justify-content: center; align-items: center; border-radius: 4px; }
.hamburger-btn:hover,                                       
.hamburger-btn:focus                                                    { background: rgba(255, 87, 34, 0.1); }
.hamburger-btn span                                                     { width: 25px; height: 3px; background: var(--text-primary); border-radius: 3px; transition: var(--transition); }
.hamburger-btn.active span:nth-child(1)                                 { transform: rotate(45deg) translate(6px, 6px); }
.hamburger-btn.active span:nth-child(2)                                 { opacity: 0; }
.hamburger-btn.active span:nth-child(3)                                 { transform: rotate(-45deg) translate(6px, -6px); }
.nav.mobile-open                                                        { display: flex !important; animation: slideDown 0.3s ease-out; }
                                
/* Mobile Menu Animation */                               
@keyframes slideDown                                                    { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }
                                
/* Buttons */                               
.cta-btn, .hero-btn, .about-btn                                         { background: linear-gradient(135deg, var(--primary), var(--secondary)); color: var(--white); padding: 12px 25px; border-radius: 25px; text-decoration: none; font-weight: 500; display: inline-flex; align-items: center; justify-content: center; gap: var(--spacing-xs); transition: var(--transition); border: none; cursor: pointer; font-size: var(--font-size-base); min-height: 44px; min-width: 120px; }
.cta-btn:hover, .cta-btn:focus, .hero-btn:hover, .hero-btn:focus,                          
.about-btn:hover,                         
.about-btn:focus                                                        { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(255, 87, 34, 0.4); background: linear-gradient(135deg, var(--primary-dark), var(--primary)); }
.hero-btn                                                               { padding: 15px var(--spacing-lg); font-size: var(--font-size-base); }
.hero-btn:hover, .hero-btn:focus                                        { transform: translateY(-3px); }
                                
/* Hero Section */                                    
.hero                                                                   { background: linear-gradient(135deg, var(--bg-section) 0%, #a4c5cc45 100%); min-height: fit-content; display: flex; align-items: center; position: relative; overflow: hidden; width: 95%; margin: -143px auto 25px; border-radius: 25px; box-shadow: var(--shadow-light);}
.hero .container                                                        { display: grid; grid-template-columns: 1fr 1fr; gap: var(--spacing-xl); align-items: center;  margin: 160px auto 30px;}
.heropage                                                               { display: flex; align-items: center; position: relative; overflow: hidden; width: 100%; margin: -143px auto -4px; height: 500px;}
.overlay                                                                { background: linear-gradient(to bottom, white 0%, rgba(255, 255, 255, 0.8) 15%, rgba(255, 255, 255, 0.4) 30%, rgba(255, 255, 255, 0.1) 50%, transparent 100%); width: 100%; height: 500px; position: absolute; top: 0;}

.heropage .title_content                                                { position: absolute; color: var(--white); letter-spacing: 1.1px; width: 70%; left: 15%; top: 250px; background: #2f5a8da8; padding-bottom: 15px; z-index: 9;}
.heropage h1                                                            { text-align: center;  font-size: 36px; }
.heropage p#breadcrumbs                                                 { text-align: center;  font-size: 14px; color: var(--white); }
.heropage p#breadcrumbs a                                               { color: var(--white); text-decoration: none; cursor: pointer;}

.heropage figure                                                        { width:100%; }
.heropage figure img                                                    { width:100%; height:500px; object-fit:cover; object-position:bottom; }

/* Hero Content */                                    
.hero-content                                                           { z-index: 2; }
.hero-badge                                                             { background: rgb(47 90 141 / 10%); color: var(--primary); padding: var(--spacing-xs) var(--font-size-base); border-radius: var(--spacing-md); font-size: var(--font-size-small); font-weight: 700; display: inline-block; margin-bottom: var(--spacing-md); }
.hero-title                                                             { font-size: clamp(36px, 4vw, 48px); font-weight: bold; color: var(--text-primary); line-height: 1.2; margin-bottom: var(--spacing-md); }
.hero-title p {
    font-size: clamp(36px, 4vw, 48px);
    font-weight: bold;
    color: var(--text-primary);
    line-height: 1.2;
    margin-bottom: var(--spacing-md);
}
.hero-title .highlight                                                  { color: var(--primary); }
.hero-subtitle                                                          { font-size: var(--font-size-large); color: var(--text-secondary); line-height: 1.6; margin-bottom: var(--spacing-lg); max-width: 90%; }
                                
/* Hero Illustration */                                   
.hero-illustration                                                      { position: relative; height: 500px; display: flex; align-items: center; justify-content: center; will-change: transform; }
.illustration-bg                                                        { width: 420px; height: 420px; border-radius: 50%; position: absolute; z-index: 1; border: 10px solid var(--primary); top: 30px;}
.illustration-content                                                   { position: relative; z-index: 2; text-align: center; }
.person-illustration                                                    { width: 400px; height: 400px; background-size: cover; background-repeat: no-repeat; background-position: center; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto var(--spacing-md); position: relative; overflow: hidden; border: 10px solid var(--bg-section);}

                                
/* Decorative Elements */                                   
@keyframes float                                                        { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-15px); } }
.hero::before                                                           { content: '×'; position: absolute; top: 15%; right: 15%; font-size: 60px; color: var(--primary); z-index: 1; animation: rotate 10s linear infinite; opacity: 0.6; }
@keyframes rotate                                                       { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
                                
/* About Section */                               
.about-section                                                          { padding: var(--spacing-xxl) 0; position: relative; overflow: hidden; }
.about-section .container                                               { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
                                
/* About Image */                               
.about-image                                                            { position: relative; height: 500px; display: flex; align-items: center; justify-content: center; }
.about-bg-shape                                                         { width: 350px; height: 350px; background: linear-gradient(135deg, rgba(255, 87, 34, 0.08), rgba(255, 112, 67, 0.12)); border-radius: 50%; position: absolute; z-index: 1; }
.about-img-container                                                    { position: relative; z-index: 2; width: 450px; height: 450px; border-radius: 50%; overflow: hidden;}
.about-main-img                                                         { width: 100%; height: 100%; object-fit: cover; border-radius: var(--border-radius); box-shadow: var(--shadow-heavy); }
                                
/* Experience Badge */                                
.experience-badge                                                       { position: absolute; bottom: var(--spacing-md); right: 0; background: var(--white); padding: var(--spacing-md); border-radius: var(--spacing-sm); box-shadow: 0 15px 40px rgba(0,0,0,0.1); display: flex; align-items: center; gap: var(--spacing-sm); z-index: 3; }
.experience-icon                                                        { width: 50px; height: 50px; background: linear-gradient(135deg, var(--primary), var(--secondary)); border-radius: 10px; display: flex; align-items: center; justify-content: center; color: var(--white); font-size: var(--spacing-md); }
.experience-text                                                        { text-align: left; }
.experience-number                                                      { font-size: 28px; font-weight: bold; color: var(--text-primary); display: block; line-height: 1; text-align: center;}
.experience-label                                                       { font-size: var(--font-size-small); color: var(--text-secondary); font-weight: 500; }
                          
/* Floating Elements */                         
.floating-cross                                                         { position: absolute; top: 10%; left: -20px; width: 40px; height: 40px; z-index: 1; }
.floating-cross::before                                                 { content: '×'; font-size: 40px; color: var(--primary); opacity: 0.6; animation: rotate 8s linear infinite; }
                          
/* About Content */                         
.about-content                                                          { z-index: 2; }
.section-badge                                                          { background: rgb(47 90 141 / 10%); color: var(--primary); padding: var(--spacing-xs) var(--font-size-base); border-radius: var(--spacing-md); font-size: var(--font-size-small); font-weight: 700; display: inline-block; margin-bottom: var(--spacing-md); }
.section-title                                                          { font-size: clamp(32px, 3.5vw, 42px); font-weight: bold; color: var(--text-primary); line-height: 1.2; margin-bottom: var(--spacing-md); }
.section-description                                                    { font-size: var(--font-size-base); color: var(--text-secondary); line-height: 1.7; margin-bottom: 40px; }
                          
/* Features Grid */                         
.features-grid                                                          { display: grid; gap: var(--spacing-lg); margin-bottom: 40px; }
.feature-item                                                           { display: flex; align-items: flex-start; gap: var(--spacing-sm); }
.feature-icon                                                           { width: 50px; height: 50px; background: rgb(47 90 141 / 10%); border-radius: 10px; display: flex; align-items: center; justify-content: center; color: var(--primary); font-size: var(--font-size-large); flex-shrink: 0; }
.feature-content                                                        { flex: 1; }
.feature-title                                                          { font-size: var(--font-size-large); font-weight: 600; color: var(--text-primary); margin-bottom: var(--spacing-xs); }
.feature-text                                                           { font-size: var(--font-size-small); color: var(--text-secondary); line-height: 1.6; }
                          
/* Services Section */                          
.services-section                                                       { padding: var(--spacing-xxl) 0; background: var(--bg-light); position: relative; overflow: hidden; }
.services-section .container                                            { max-width: var(--container-width); margin: 0 auto; padding: 0 var(--spacing-md); z-index: 99; position: relative;}
                          
/* Services Header */                         
.services-header                                                        { text-align: center; margin-bottom: var(--spacing-xl); }
.services-title                                                         { font-size: clamp(32px, 3.5vw, 42px); font-weight: bold; color: var(--text-primary); line-height: 1.2; margin-top: var(--spacing-sm); }
                          
/* Services Grid */                         
.services-grid                                                          { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 40px; }
                          
/* Service Card */                          

.service-card                                                           { background: var(--white); padding: 40px var(--spacing-lg); border-radius: var(--border-radius); box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08); transition: var(--transition); position: relative; overflow: hidden; width: 45%;  float: left;  min-height: 300px;  margin: 0 0 50px 0;}
.servizi-container .service-card:nth-child(even)                        { float:right; }
.service-card:hover                                                     { transform: translateY(-10px); box-shadow: 0 20px 60px rgba(0,0,0,0.15); }
.service-card::before                                                   { content: ''; position: absolute; top: 0; right: 0; width: 100px; height: 100px; background: var(--bg-light); border-radius: 0 0 0 100px; }
                          
/* Service Icon */                          
.service-icon                                                           { width: 70px; height: 70px; border-radius: var(--spacing-sm); display: flex; align-items: center; justify-content: center; color: var(--white); font-size: var(--font-size-xl); margin-bottom: 25px; position: relative; z-index: 2; float: left;}
                          
/* Service Content */                         
.service-title                                                          { font-size: 22px; font-weight: 600; color: var(--text-primary); margin-bottom: var(--spacing-sm); line-height: 25px; float: left; margin: 18px 0 0 25px; width: calc(100% - 70px - 25px); position: relative;}
.service-title a                                                        { text-decoration: none; color: var(--primary);}
.service-description                                                    { font-size: var(--font-size-large); color: var(--text-secondary); line-height: 1.6; clear: both;}
.service-description a                                                  { text-decoration: none; color:var(--text-secondary); }                          

/* Background Decorative Shapes */                          
.services-bg-shape                                                      { position: absolute; border-radius: 50%; opacity: 0.6; z-index: 1; }
.services-bg-shape-1                                                    { width: 200px; height: 200px; background: var(--secondary); top: 10%; left: -50px; }
.services-bg-shape-2                                                    { width: 150px; height: 150px; background: var(--secondary); bottom: 15%; right: -30px; }
                                        
/* Why Choose Us Section */                                       
.why-choose-section                                                     { padding: var(--spacing-xxl) 0; background: var(--white); position: relative; overflow: hidden; }
.why-choose-section .container                                          { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
                                        
/* Why Choose Content */                                        
.why-choose-content                                                     { z-index: 2; }
                                        
/* Stats Grid */                                        
.stats-grid                                                             { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--spacing-lg); margin-top: 40px; }
.stat-item                                                              { display: flex; align-items: center; gap: var(--spacing-md); padding: 25px; background: var(--white); border-radius: var(--spacing-sm); box-shadow: var(--shadow-medium); transition: var(--transition); }
.stat-item:hover                                                        { transform: translateY(-5px); }
                                        
/* Stat Icon */                                       
.stat-icon                                                              { width: 60px; height: 60px; background: linear-gradient(135deg, var(--primary), var(--secondary)); border-radius: 12px; display: flex; align-items: center; justify-content: center; color: var(--white); font-size: 22px; flex-shrink: 0; }
                                        
/* Stat Content */                                        
.stat-content                                                           { text-align: left; }
.stat-content img                                                       { width:60px; height:auto; float: left;}
.stat-number                                                            { font-size: 32px; font-weight: bold; color: var(--text-primary); display: block; line-height: 1; }
.stat-label                                                             { font-size: var(--font-size-base); color: var(--text-secondary); font-weight: 500; line-height: 1.3; margin: 0 0 0 15px; float: left; width: calc(100% - 60px - 20px);}
                                        
/* Why Choose Image */                                        
.why-choose-image                                                       { position: relative; height: 500px; display: flex; align-items: center; justify-content: center; }
.why-choose-bg-shape                                                    { width: 400px; height: 400px; background: linear-gradient(135deg, rgba(255, 87, 34, 0.06), rgba(255, 112, 67, 0.1)); border-radius: 50%; position: absolute; z-index: 1; }
.team-img-container                                                     { position: relative; z-index: 2; width: 400px; height: 400px; border-radius: 25px; overflow: hidden; }
.team-img                                                               { width: 400px; height: 400px; object-fit: cover; border-radius: 50%;}
                                        
/* Play Button */                                       
.play-btn                                                               { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 70px; height: 70px; background: linear-gradient(135deg, var(--primary), var(--secondary)); border: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--white); font-size: var(--spacing-md); cursor: pointer; transition: var(--transition); z-index: 3; }
.play-btn:hover,                                        
.play-btn:focus                                                         { transform: translate(-50%, -50%) scale(1.1); box-shadow: 0 10px 30px rgba(255, 87, 34, 0.4); }
.play-btn i                                                             { margin-left: 3px; }
                                        
/* Floating Elements */                                       
.floating-elements-why                                                  { position: absolute; width: 100%; height: 100%; z-index: 9999; }
.floating-element-why                                                   { position: absolute; width: 80px; height: 80px; background: rgba(255, 255, 255, 0.9); border-radius: 50%; box-shadow: 0 15px 40px rgba(0,0,0,0.1); animation: float 4s ease-in-out infinite; }
.floating-element-1                                                     { top: 15%; right: 15%; animation-delay: 0s; }
.floating-element-2                                                     { bottom: 20%; left: 10%; animation-delay: 2s; }
                              
/* Background Decorative Shapes         */                      
.why-bg-shape                                                           { position: absolute; border-radius: 50%; opacity: 0.4; z-index: 1; }
.why-bg-shape-1                                                         { width: 180px; height: 180px; background: var(--secondary); top: 20%; right: -60px; }
.why-bg-shape-2                                                         { width: 220px; height: 220px; background: var(--secondary); bottom: 10%; left: -80px; }
                                  
/* Portfolio Section */                                 
.portfolio-section                                                      { padding: var(--spacing-xxl) 0; background: var(--bg-section); position: relative; }
.portfolio-section .container                                           { max-width: var(--container-width); margin: 0 auto; padding: 0 var(--spacing-md); }
                                  
/* Portfolio Header */                                  
.portfolio-header                                                       { text-align: center; margin-bottom: var(--spacing-xl); }
.portfolio-title                                                        { font-size: clamp(32px, 3.5vw, 42px); font-weight: bold; color: var(--text-primary); line-height: 1.2; margin-top: var(--spacing-sm); }
                                  
/* Portfolio Grid */                                  
.portfolio-grid                                                         { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr; gap: var(--spacing-md); height: 600px; }
                                  
/* Portfolio Items */           
.portfolio-item                                                         { position: relative; overflow: hidden; border-radius: var(--border-radius); cursor: pointer; }
.portfolio-large                                                        { grid-row: 1 / 3; grid-column: 1 / 2; }
.portfolio-medium:nth-child(2)                                          { grid-row: 1 / 2; grid-column: 2 / 3; }
.portfolio-medium:nth-child(3)                                          { grid-row: 1 / 2; grid-column: 3 / 4; }
.portfolio-medium:nth-child(4)                                          { grid-row: 2 / 3; grid-column: 2 / 3; }
.portfolio-medium:nth-child(5)                                          { grid-row: 2 / 3; grid-column: 3 / 4; }
            
/* Portfolio Image */           
.portfolio-image                                                        { position: relative; width: 100%; height: 100%; overflow: hidden; }
.portfolio-img                                                          { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; will-change: transform; }
.portfolio-item:hover .portfolio-img                                    { transform: scale(1.1); }
            
/* Portfolio Overlay */           
.portfolio-overlay                                                      { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 87, 34, 0.85), rgba(255, 112, 67, 0.9)); opacity: 0; display: flex; flex-direction: column; justify-content: space-between; padding: var(--spacing-lg); transition: opacity 0.4s ease; }
.portfolio-item:hover .portfolio-overlay                                { opacity: 1; }
            
/* Portfolio Content */           
.portfolio-content                                                      { color: var(--white); }
.portfolio-project-title                                                { font-size: 22px; font-weight: 600; margin-bottom: var(--spacing-xs); }
.portfolio-project-category                                             { font-size: var(--font-size-small); opacity: 0.9; }
                  
/* Portfolio Button */                  
.portfolio-btn                                                          { background: rgba(255, 255, 255, 0.2); border: 2px solid var(--white); width: 50px; height: 50px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--white); font-size: var(--font-size-base); cursor: pointer; transition: var(--transition); align-self: flex-end; min-width: 44px; min-height: 44px; }
.portfolio-btn:hover,                 
.portfolio-btn:focus                                                    { background: var(--white); color: var(--primary); transform: scale(1.1); }
                  
/* Hover Effects */                 
.portfolio-item                                                         { transition: var(--transition); }
.portfolio-item:hover                                                   { transform: translateY(-5px); box-shadow: var(--shadow-heavy); }
                  
/* Testimonials Section */                  
.testimonials-section                                                   { background: var(--bg-light); }
                  
/* Clients Section */                 
.clients-section                                                        { padding: var(--spacing-xl) 0; border-bottom: 1px solid var(--border-light); }
.clients-section .container                                             { max-width: var(--container-width); margin: 0 auto; padding: 0 var(--spacing-md); }
.clients-grid                                                           { display: grid; grid-template-columns: repeat(6, 1fr); gap: 40px; align-items: center; justify-items: center; }
.client-logo                                                            { font-size: var(--font-size-large); font-weight: bold; color: var(--text-secondary); text-align: center; opacity: 0.7; transition: var(--transition); }
.client-logo:hover                                                      { opacity: 1; }
.client-subtitle                                                        { display: block; font-size: 12px; font-weight: normal; margin-top: 2px; }
          
/* Testimonials Carousel Section */   
.testimonials-carousel-section                                          { padding: 80px 0; }
.testimonials-carousel-section .container                               { max-width: var(--container-width); margin: 0 auto; padding: 0 var(--spacing-md); }
.testimonials-wrapper                                                   { position: relative; display: flex; align-items: center; gap: var(--spacing-md); }
                  
/* Carousel Container */                  
.testimonials-carousel                                                  { overflow: hidden; flex: 1; }
.testimonial-track                                                      { display: flex; gap: var(--spacing-lg); transition: transform 0.5s ease; will-change: transform; }

/* Testimonial Card - 4 visibili contemporaneamente */
.testimonial-card                                                       { width: calc((100% - 90px) / 3); background: var(--white); padding: var(--spacing-lg) 25px; border-radius: var(--border-radius); flex-shrink: 0; }
.testimonial-text                                                       { font-size: var(--font-size-small); color: var(--text-secondary); line-height: 1.6; margin-bottom: 25px; font-style: italic; }
                                        
/* Testimonial Author */                                        
.testimonial-author                                                     { display: flex; align-items: center; gap: var(--spacing-sm); }
.author-img                                                             { width: 50px; height: 50px; border-radius: 50%; object-fit: cover; }
.author-info                                                            { text-align: left; }
.author-name                                                            { font-size: var(--font-size-base); font-weight: 600; color: var(--text-primary); margin-bottom: 4px; }
.author-role                                                            { font-size: var(--font-size-small); color: var(--text-secondary); }
                                        
/* Carousel Controls */                                       
.carousel-btn                                                           { width: 50px; height: 50px; border: none; background: linear-gradient(135deg, var(--primary), var(--secondary)); color: var(--white); border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: var(--transition); font-size: var(--font-size-base); flex-shrink: 0; min-width: 44px; min-height: 44px; }
.carousel-btn:hover,                                        
.carousel-btn:focus                                                     { transform: scale(1.1); box-shadow: 0 5px 20px rgba(255, 87, 34, 0.4); }
.carousel-btn:active                                                    { transform: scale(0.95); }
.carousel-prev                                                          { order: 1; }
.carousel-next                                                          { order: 3; }
.testimonials-carousel                                                  { order: 2; }
                                        
/* Hover Effects */                                       
.testimonial-card                                                       { transition: var(--transition); }
.testimonial-card:hover                                                 { transform: translateY(-5px); box-shadow: 0 20px 60px rgba(0,0,0,0.15); }
                                        
/* CTA Section */                                       
.cta-section                                                            { background: linear-gradient(135deg, var(--primary), var(--secondary)); padding: 80px 0; position: relative; overflow: hidden; }
.cta-section .container                                                 { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: var(--spacing-lg); }
.cta-content                                                            { flex: 1; min-width: 300px; }
.cta-title                                                              { font-size: clamp(28px, 3vw, 36px); font-weight: bold; color: var(--white); line-height: 1.3; margin: 0; }
                          
/* CTA Contact */                         
.cta-contact                                                            { display: flex; align-items: center; gap: var(--spacing-lg); flex-wrap: wrap; }
.contact-info-cta                                                       { display: flex; align-items: center; gap: var(--spacing-sm); color: var(--white); }
.contact-info-cta i                                                     { font-size: var(--font-size-xl); padding: var(--spacing-sm); background: rgba(255,255,255,0.2); border-radius: 50%; min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center; }
.contact-text                                                           { display: flex; flex-direction: column; }
.contact-label                                                          { font-size: var(--font-size-small); opacity: 0.9; }
.contact-number                                                         { font-size: var(--font-size-large); font-weight: 600; color: var(--white); text-decoration: none; }
.contact-number:hover,                          
.contact-number:focus                                                   { text-decoration: underline; }
                      
/* CTA Button */                      
.cta-get-started                                                        { background: var(--primary); color: var(--white); padding: var(--spacing-sm) var(--spacing-lg); border-radius: 30px; font-weight: 700; transition: var(--transition); border: none; cursor: pointer; font-size: var(--font-size-base); text-decoration: none; z-index: 99}
.cta-get-started:hover,                         
.cta-get-started:focus                                                  { background: var(--secondary); transform: translateY(-2px); color:var(--primary); }
                          
/* CTA Background Waves */                          
.cta-bg-waves                                                           { position: absolute; bottom: 0; left: 0; width: 100%; height: 120px; }
.cta-bg-waves svg                                                       { width: 100%; height: 100%; }

/* Contatti */
.contact-section .container                                             { display: grid; grid-template-columns: 1fr 1fr; gap: 80px;}
.about-form                                                             { position: relative; display: flex; align-items: center; justify-content: center;}
.wpcf7                                                                  {}
.wpcf7 form                                                             { margin: 0px 0 50px;}
.wpcf7 form label                                                       { font-size:16px; }
.wpcf7 form input, .wpcf7 form select, .wpcf7 form textarea             { border: 1px solid var(--secondary); padding: 10px; box-sizing: border-box; margin: 0 0 25px 0; width: 100%;}
.wpcf7 form a                                                           { text-decoration: none; color: var(--primary);}
input[type="checkbox"]                                                  { width: 25px !important; float: left; margin: 7px 0 0 -25px !important;}
input[type="submit"]                                                    { margin:25px 0 0 0 !important; }
.wpcf7-not-valid-tip                                                    { position: absolute; top: 0; font-size: 14px !important; right: 15px;}


/* Nascondi il select originale */
.wpcf7 form select.wpcf7-select                                         { opacity: 0; position: absolute; pointer-events: none;}

/* Container del custom select */
.custom-select-container                                                { position: relative; margin: 0 0 25px 0;}

/* Select box personalizzato */
.custom-select                                                          { border: 1px solid var(--secondary); padding: 10px; width: 100%; background: white; cursor: pointer; position: relative; box-sizing: border-box; display: flex; justify-content: space-between; align-items: center; min-height: 44px;}
.custom-select:hover                                                    { border-color: var(--primary, #007cba);}
.custom-select.active                                                   { border-color: var(--primary, #007cba); box-shadow: 0 0 5px rgba(0, 124, 186, 0.3);}

/* Testo selezionato */
.custom-select-text                                                     { color: #333;}
.custom-select-text.placeholder                                         { color: #999;}

/* Freccia */
.custom-select-arrow                                                    { width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 5px solid #666; transition: transform 0.3s ease;}
.custom-select.active .custom-select-arrow                              { transform: rotate(180deg);}

/* Dropdown delle opzioni */
.custom-select-options                                                  { position: absolute; top: 100%; left: 0; right: 0; background: white; border: 1px solid var(--secondary); border-top: none; max-height: 200px; overflow-y: auto; z-index: 1000; display: none; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);}
.custom-select.active .custom-select-options                            { display: block;}

/* Singola opzione */
.custom-select-option                                                   { padding: 12px 10px; cursor: pointer; transition: background-color 0.2s ease; border-bottom: 1px solid #f0f0f0;}
.custom-select-option:hover                                             { background-color: #f8f9fa;}
.custom-select-option.selected                                          { background-color: var(--primary, #007cba); color: white;}
.custom-select-option:last-child                                        { border-bottom: none;}

/* Responsive */
@media (max-width: 768px) {
    .custom-select-options                                              { max-height: 150px; }
}

/* LightBox Contatti */    
#privacy-lightbox                                                       { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 99999999;}
.lightbox-overlay                                                       { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.8); display: flex; justify-content: center; align-items: center;}
.lightbox-content                                                       { background: white; max-width: 80%; max-height: 80%; overflow-y: auto; position: relative; border-radius: 8px; padding: 20px;}
.lightbox-close                                                         { position: absolute; top: 10px; right: 15px; font-size: 28px; cursor: pointer; color: #666;}
.lightbox-close:hover                                                   { color: #000;}
.loading                                                                { text-align: center; padding: 20px;}

@media (max-width: 768px) {
    .lightbox-content                                                   { max-width: 95%; max-height: 90%; margin: 10px; }
}

/* Footer */    
.footer                                                                 { background: #333; color: #ccc; padding: 80px 0 0; }
.footer .container                                                      { max-width: var(--container-width); margin: 0 auto; padding: 0 var(--spacing-md); }
.footer-content                                                         { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: var(--spacing-xl); margin-bottom: 50px; }
    
/* Footer Company */    
.footer-company                                                         { }
.footer-logo                                                            { display: flex; align-items: center; gap: 10px; margin-bottom: var(--spacing-md); }
.footer-logo-icon                                                       { width: 200px; height: auto; display: flex; align-items: center; justify-content: center;}
.footer-logo-text                                                       { font-size: var(--spacing-md); font-weight: bold; color: var(--white); }
.footer-description                                                     { font-size: var(--font-size-small); line-height: 1.6; margin-bottom: var(--spacing-lg); color: var(--text-light); }
    
/* Footer Social */   
.footer-social                                                          { }
.social-title                                                           { font-size: var(--font-size-base); font-weight: 600; color: var(--white); margin-bottom: var(--spacing-sm); }
.social-links-footer                                                    { display: flex; gap: 10px; }
.social-link                                                            { width: 35px; height: 35px; background: #444; border-radius: 5px; display: flex; align-items: center; justify-content: center; color: #ccc; transition: var(--transition); min-width: 44px; min-height: 44px; }
.social-link:hover,   
.social-link:focus                                                      { background: linear-gradient(135deg, var(--primary), var(--secondary)); color: var(--white); transform: translateY(-2px); }
    
/* Footer Columns */    
.footer-column                                                          { }
.footer-column-title                                                    { font-size: var(--font-size-base); font-weight: 600; color: var(--white); margin-bottom: var(--spacing-md); }
.footer-links                                                           { list-style: none; padding: 0; margin: 0; }
.footer-links li                                                        { margin-bottom: 12px; }
.footer-links a                                                         { color: var(--text-light); text-decoration: none; transition: var(--transition); font-size: var(--font-size-small); }
.footer-links a:hover,    
.footer-links a:focus                                                   { color: var(--white); text-decoration: underline; }
    
/* Footer News */   
.footer-news                                                            { }
.news-item                                                              { margin-bottom: var(--spacing-md); }
.news-author                                                            { display: flex; align-items: center; gap: var(--spacing-xs); color: var(--white); font-size: 12px; font-weight: 500; margin-bottom: var(--spacing-xs); }
.news-author::before                                                    { content: '👤'; font-size: var(--font-size-small); }
.news-title                                                             { color: var(--text-light); text-decoration: none; font-size: var(--font-size-small); line-height: 1.4; transition: var(--transition); display: block; }
.news-title:hover,                  
.news-title:focus                                                       { color: var(--white); text-decoration: underline; }
                  
/* Footer Bottom */                 
.footer-bottom                                                          { border-top: 1px solid #444; padding: 25px 0; }
.footer-bottom-content                                                  { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: var(--spacing-sm); }
.copyright                                                              { font-size: var(--font-size-small); color: var(--text-light); margin: 0; }
.theme-link                                                             { color: var(--primary); text-decoration: none; }
.theme-link:hover,                  
.theme-link:focus                                                       { text-decoration: underline; }
.footer-legal                                                           { display: flex; gap: var(--spacing-md); }
.footer-legal a                                                         { color: var(--text-light); text-decoration: none; font-size: var(--font-size-small); transition: var(--transition); }
.footer-legal a:hover,                  
.footer-legal a:focus                                                   { color: var(--white); text-decoration: underline; }
              
/* Performance Optimizations */
img                                                                     { max-width: 100%; height: auto; }
img[loading="lazy"]                                                     { content-visibility: auto; }

/* Print Styles */
@media print {

.top-bar, .header, .cta-section, .footer                                { display: none; }
body                                                                    { background: white; color: black; font-size: 12pt; }
.hero-title, .section-title                                             { color: black; }
.hero-badge, .section-badge                                             { background: #f0f0f0; color: black; }
a                                                                       { color: black; text-decoration: underline; }
img                                                                     { max-width: 100%; page-break-inside: avoid; }
.container                                                              { max-width: none; padding: 0; }

}

/* Mobile Responsiveness */
@media (max-width: 1024px) {
  .nav                                                                  { flex-direction: column; position: absolute; top: 100%; left: 0; width: 100%; background: var(--white); box-shadow: var(--shadow-light); display: none; padding: var(--spacing-md) 0; gap: 0; }
  .nav li                                                               { padding: 10px var(--spacing-md); }
  .nav a                                                                { display: block; padding: 5px 0; }
  .hamburger-btn                                                        { display: flex; }
  .cta-btn                                                              { display: none; }
  .testimonial-card                                                     { min-width: calc((100% - 60px) / 3); }
}

@media (max-width: 768px) {
  .top-bar                                                              { display:none; }
  .top-bar .container                                                   { flex-direction: column; gap: 10px; text-align: center; }
  .contact-info                                                         { flex-direction: column; gap: 10px; }
  .hero .container                                                      { grid-template-columns: 1fr; text-align: center; gap: 40px; }
  .hero-title                                                           { font-size: clamp(32px, 6vw, 36px); }
  .heropage h1                                                          { font-size: 18px;}
  .illustration-bg                                                      { width: 420px; height: 420px; }
  .about-section .container                                             { grid-template-columns: 1fr; gap: 40px; text-align: center; }
  .about-image                                                          { height: 400px; order: 2; }
  .about-bg-shape                                                       { width: 280px; height: 280px; }
  .about-img-container                                                  { width: 300px; height: 300px; }
  .news-author                                                          { display: block; text-align: center;}
  .experience-badge                                                     { right: 50%; transform: translateX(50%); bottom: -20px; }
  .section-title                                                        { font-size: clamp(28px, 5vw, 32px); }
  .features-grid                                                        { gap: 25px; }
  .feature-item                                                         { text-align: left; }
  .services-section                                                     { padding: 60px 0; }
  .services-header                                                      { margin-bottom: 40px; }
  .services-title                                                       { font-size: clamp(28px, 5vw, 32px); }
  .services-grid                                                        { grid-template-columns: 1fr; gap: var(--spacing-lg); }
  .service-card                                                         { padding: var(--spacing-lg) 25px; width: 100%; min-height: auto;}
  .service-icon                                                         { width: 60px; height: 60px; font-size: var(--spacing-md); }
  .service-title                                                        { font-size: var(--spacing-md); }
  .service-description                                                  { font-size: var(--font-size-small); }
  .services-bg-shape-1                                                  { width: 120px; height: 120px; }
  .services-bg-shape-2                                                  { width: 100px; height: 100px; }
  .why-choose-section                                                   { padding: 60px 0; }
  .why-choose-section .container                                        { grid-template-columns: 1fr; gap: 40px; }
  .why-choose-image                                                     { height: 400px; order: 1; }
  .why-choose-content                                                   { order: 2; }
  .why-choose-bg-shape                                                  { width: 300px; height: 300px; }
  .team-img-container                                                   { width: 280px; height: 280px; }
  .team-img                                                             { width: 280px; height: 280px;}
  .stats-grid                                                           { grid-template-columns: 1fr; gap: var(--spacing-md); margin-top: var(--spacing-lg); }
  .stat-item                                                            { padding: var(--spacing-md); }
  .stat-icon                                                            { width: 50px; height: 50px; font-size: var(--font-size-large); }
  .stat-number                                                          { font-size: 28px; }
  .play-btn                                                             { width: 60px; height: 60px; font-size: var(--font-size-large); }
  .floating-element-why                                                 { width: 60px; height: 60px; }
  .portfolio-section                                                    { padding: 60px 0; }
  .portfolio-header                                                     { margin-bottom: 40px; }
  .portfolio-title                                                      { font-size: clamp(28px, 5vw, 32px); }
  .portfolio-grid                                                       { grid-template-columns: 1fr; grid-template-rows: repeat(5, 250px); height: auto; gap: var(--spacing-sm); }
  .portfolio-large                                                      { grid-row: 1 / 2; grid-column: 1 / 2; }
  .portfolio-medium:nth-child(2)                                        { grid-row: 2 / 3; grid-column: 1 / 2; }
  .portfolio-medium:nth-child(3)                                        { grid-row: 3 / 4; grid-column: 1 / 2; }
  .portfolio-medium:nth-child(4)                                        { grid-row: 4 / 5; grid-column: 1 / 2; }
  .portfolio-medium:nth-child(5)                                        { grid-row: 5 / 6; grid-column: 1 / 2; }
  .portfolio-overlay                                                    { padding: var(--spacing-md); }
  .portfolio-project-title                                              { font-size: var(--font-size-large); }
  .portfolio-btn                                                        { width: 40px; height: 40px; font-size: var(--font-size-small); }
  .clients-section                                                      { padding: 40px 0; }
  .clients-grid                                                         { grid-template-columns: repeat(3, 1fr); gap: var(--spacing-md); row-gap: var(--spacing-lg); }
  .client-logo                                                          { font-size: var(--font-size-base); }
  .testimonials-carousel-section                                        { padding: 50px 0; }
  .testimonials-wrapper                                                 { flex-direction: column; gap: var(--spacing-md); }
  .testimonials-carousel                                                { order: 1; width: 100%; }
  .carousel-controls                                                    { display: flex; gap: var(--spacing-sm); order: 2; }
  .carousel-prev                                                        { order: 1; }
  .carousel-next                                                        { order: 2; }
  .testimonial-card                                                     { min-width: calc((100% - 30px) / 2); padding: 25px var(--spacing-md); }
  .testimonial-text                                                     { font-size: var(--font-size-small); margin-bottom: var(--spacing-md); }
  .author-img                                                           { width: 45px; height: 45px; }
  .author-name                                                          { font-size: var(--font-size-small); }
  .author-role                                                          { font-size: 13px; }
  .carousel-btn                                                         { width: 45px; height: 45px; font-size: var(--font-size-small); }
  .cta-section                                                          { padding: 60px 0; }
  .cta-section .container                                               { flex-direction: column; text-align: center; gap: var(--spacing-lg); }
  .cta-title                                                            { font-size: clamp(24px, 4vw, 28px); }
  .cta-contact                                                          { flex-direction: column; gap: var(--spacing-md); }
  .contact-info-cta                                                     { justify-content: center; }
  .footer                                                               { padding: 50px 0 0; }
  .footer-content                                                       { grid-template-columns: 1fr; gap: 40px; text-align: center; }
  .footer-logo                                                          { justify-content: center; }
  .social-links-footer                                                  { justify-content: center; }
  .footer-bottom-content                                                { flex-direction: column; gap: var(--spacing-sm); text-align: center; }
  .footer-legal                                                         { gap: var(--spacing-sm); }
}

@media (max-width: 480px) {
  .top-bar                                                              { display:none; }
  .clients-grid                                                         { grid-template-columns: repeat(2, 1fr); }
  .testimonial-card                                                     { min-width: calc(100% - 30px); padding: 25px var(--spacing-md); }
  .testimonial-text                                                     { font-size: var(--font-size-small); }
  .cta-title                                                            { font-size: clamp(20px, 5vw, 24px); }
  .contact-number                                                       { font-size: var(--font-size-base); }
  .cta-get-started                                                      { padding: 12px 25px; font-size: var(--font-size-small); }
  .footer-content                                                       { gap: var(--spacing-lg); }
  .hero                                                                 { width: 100%; border-radius: 0; box-shadow: none; }
  .header .container                                                    { border-radius: 0;}
  .person-illustration                                                  { width: 300px; height: 300px;}
  .illustration-bg                                                      { width: 320px; height: 320px; top: 80px;    }
}

/* Touch Device Optimizations */
@media (hover: none) and (pointer: coarse) {
  .service-card:hover,
  .stat-item:hover,
  .portfolio-item:hover,
  .testimonial-card:hover                                               { transform: none; }
  
  .carousel-btn:hover,
  .play-btn:hover,
  .portfolio-btn:hover                                                  { transform: none; }
}   

