:root{--font-family-primary:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;--font-family-mono:"SF Mono",Monaco,"Cascadia Code","Roboto Mono",Consolas,"Courier New",monospace;--font-size-base:18px;--font-weight-normal:400;--font-weight-bold:600;--line-height-base:1.6;--color-text-primary:#f0f9ff;--color-text-secondary:#bae6fd;--color-text-muted:#7dd3fc;--color-background-primary:#0f172a;--color-background-secondary:#1e293b;--color-border:#334155;--color-link:#fbbf24;--color-link-hover:#fcd34d;--color-accent:#fbbf24;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--shadow-color:rgba(0,0,0,0.7);--shadow-sm:0 2px 4px var(--shadow-color);--shadow-md:0 4px 8px var(--shadow-color);--shadow-lg:0 8px 16px var(--shadow-color);--shadow-xl:0 12px 24px var(--shadow-color);--whatsapp-primary:#22c55e;--whatsapp-hover:#16a34a;--whatsapp-shadow:rgba(34,197,94,0.4);--footer-bg-gradient-start:#1e293b;--footer-bg-gradient-end:#0f172a;--footer-border-color:#334155;--footer-badge-bg:rgba(30,41,59,0.8);--footer-badge-border:#334155;--footer-badge-text:#bae6fd;--footer-badge-link:#fbbf24;--footer-text-muted:#7dd3fc;--space-1:0.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-6:3rem;--space-8:4rem;--border-width:1.5px;--border-radius:0.75rem;--border-style:solid;--input-background:var(--color-background-secondary);--input-border:var(--color-border);--input-text-color:var(--color-text-primary);--input-padding:0.75rem;--input-focus-border:var(--color-accent);--input-focus-shadow:0 0 0 3px rgba(251,191,36,0.2);--textarea-min-height:6rem;--button-background:var(--color-accent);--button-text-color:#0f172a;--button-padding:0.75rem 1.5rem;--button-border-radius:var(--border-radius);--button-hover-background:var(--color-link-hover);--button-shadow:0 4px 12px rgba(251,191,36,0.3);--button-hover-shadow:0 6px 16px rgba(251,191,36,0.4);--nav-hover-background:rgba(251,191,36,0.1);--nav-hover-color:var(--color-accent);--nav-active-background:rgba(251,191,36,0.2);--container-max-width:75rem;--header-height:4rem;--transition-fast:0.2s ease;--transition-normal:0.3s ease;--transition-slow:0.5s ease}[data-theme=light]{--color-text-primary:#1e293b;--color-text-secondary:#475569;--color-text-muted:#64748b;--color-background-primary:#f0f9ff;--color-background-secondary:#e0f2fe;--color-border:#bae6fd;--color-link:#f59e0b;--color-link-hover:#d97706;--color-accent:#f59e0b;--color-success:#10b981;--color-warning:#eab308;--color-error:#ef4444;--shadow-color:rgba(0,0,0,0.15);--shadow-sm:0 1px 3px var(--shadow-color);--shadow-md:0 4px 6px var(--shadow-color);--shadow-lg:0 10px 15px var(--shadow-color);--shadow-xl:0 20px 25px var(--shadow-color);--whatsapp-primary:#25d366;--whatsapp-hover:#20ba5a;--whatsapp-shadow:rgba(37,211,102,0.3);--footer-bg-gradient-start:#e0f2fe;--footer-bg-gradient-end:#f0f9ff;--footer-border-color:#bae6fd;--footer-badge-bg:rgba(224,242,254,0.9);--footer-badge-border:#bae6fd;--footer-badge-text:#475569;--footer-badge-link:#f59e0b;--footer-text-muted:#64748b;--input-background:#ffffff;--input-focus-shadow:0 0 0 3px rgba(245,158,11,0.1);--button-text-color:#1e293b;--button-shadow:0 4px 12px rgba(245,158,11,0.2);--button-hover-shadow:0 6px 16px rgba(245,158,11,0.3);--nav-hover-background:rgba(245,158,11,0.05);--nav-hover-color:var(--color-accent);--nav-active-background:rgba(245,158,11,0.1)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-family-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-base);background-color:var(--color-background-primary);transition:background-color var(--transition-normal),color var(--transition-normal);min-height:100vh}body,h1,h2,h3,h4,h5,h6{color:var(--color-text-primary)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:1.2;margin-bottom:var(--space-1)}h1{font-size:2rem;text-align:center}h2{font-size:1.75rem}h3{font-size:1.5rem}h4{font-size:1.25rem}p{margin-bottom:var(--space-1);color:var(--color-text-secondary)}a{color:var(--color-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-link-hover)}header{background-color:rgba(var(--color-background-primary-rgb),.95);border-bottom:var(--border-width) var(--border-style) var(--color-border);position:-webkit-sticky;position:sticky;top:0;z-index:1000;transition:background-color var(--transition-normal),border-color var(--transition-normal);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}nav{max-width:var(--container-max-width);margin:0 auto;padding:var(--space-1);display:flex;justify-content:space-between;align-items:center}nav img{height:3.5rem;width:auto;transition:opacity var(--transition-fast)}nav img:hover{opacity:.8}nav ul{list-style:none;gap:var(--space-2)}.desktop-nav,nav ul{display:flex}nav a{padding:var(--space-1) var(--space-3);color:var(--color-text-primary);font-weight:var(--font-weight-normal);background-color:var(--color-background-secondary);border-radius:var(--border-radius);border:var(--border-width) var(--border-style) var(--color-border);box-shadow:var(--shadow-sm);transition:all var(--transition-fast);display:inline-block}nav a:hover{background-color:var(--nav-hover-background);color:var(--nav-hover-color);transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-accent)}main{flex:1 1;width:100%;max-width:var(--container-max-width);margin:0 auto}main,section{padding:var(--space-1)}section{background-color:var(--color-background-primary);margin-bottom:var(--space-4);border-radius:var(--border-radius);border:var(--border-width) var(--border-style) var(--color-border);transition:background-color var(--transition-normal),border-color var(--transition-normal)}section h1,section h2{border-bottom:3px solid var(--color-link);padding-bottom:var(--space-1);margin-bottom:var(--space-3)}footer,section h1,section h2{color:var(--color-text-primary)}footer{background:linear-gradient(135deg,var(--footer-bg-gradient-start) 0,var(--footer-bg-gradient-end) 100%);padding:var(--space-3) var(--space-2);border-top:var(--border-width) var(--border-style) var(--footer-border-color);display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:var(--space-2)}footer small{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--footer-badge-bg);border:1px solid var(--footer-badge-border);border-radius:2rem;box-shadow:var(--shadow-sm);font-size:.875rem;font-weight:500;color:var(--footer-badge-text);transition:all var(--transition-normal)}footer small svg{flex-shrink:0;opacity:.8}footer small a{color:var(--footer-badge-link);font-weight:600;text-decoration:none;transition:all var(--transition-fast)}footer small a:hover{color:var(--color-link-hover);text-shadow:0 0 8px var(--color-link-hover)}footer small:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-accent)}footer p{font-size:.75rem;color:var(--footer-text-muted);margin:0;text-align:center}ul{list-style:none}button{padding:var(--button-padding);background-color:var(--button-background);color:var(--button-text-color);border:none;border-radius:var(--button-border-radius);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--button-shadow)}button:hover{background-color:var(--button-hover-background);transform:translateY(-2px);box-shadow:var(--button-hover-shadow)}button:active{transform:translateY(0)}.whatsapp-float{position:fixed;bottom:5rem;right:2rem;width:60px;height:60px;background-color:var(--whatsapp-primary);color:white;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px var(--whatsapp-shadow);z-index:999;transition:all var(--transition-normal);animation:pulse 2s infinite}.whatsapp-float:hover{background-color:var(--whatsapp-hover);transform:scale(1.1);box-shadow:0 6px 16px var(--whatsapp-shadow)}.whatsapp-float:active{transform:scale(1.05)}@keyframes pulse{0%,to{box-shadow:0 4px 12px var(--whatsapp-shadow)}50%{box-shadow:0 4px 12px var(--whatsapp-shadow),0 0 0 8px rgba(34,197,94,.2)}}.instagram-feed{margin:var(--space-4) 0}.instagram-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:var(--space-2);gap:var(--space-2);margin:0;padding:0}.instagram-post{position:relative;overflow:hidden;border-radius:var(--border-radius);background-color:var(--color-background-secondary);border:var(--border-width) var(--border-style) var(--color-border);transition:transform var(--transition-normal),box-shadow var(--transition-normal);aspect-ratio:1/1}.instagram-post:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.instagram-post a{display:block;width:100%;height:100%;position:relative}.instagram-post img,.instagram-post video{width:100%;height:100%;object-fit:cover;display:block}.theme-toggle{background:none;border:var(--border-width) var(--border-style) var(--color-border);border-radius:var(--border-radius);padding:var(--space-1);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);color:var(--color-text-primary)}.theme-toggle:hover{background-color:var(--nav-hover-background);border-color:var(--color-link);transform:scale(1.05)}.theme-toggle:focus{outline:2px solid var(--color-link);outline-offset:2px}.theme-toggle:active{animation:spin .3s ease-in-out}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem;z-index:1001}.hamburger,.hamburger span{transition:all var(--transition-fast)}.hamburger span{display:block;width:28px;height:3px;background-color:var(--color-text-primary);border-radius:2px}.hamburger:hover span{background-color:var(--color-accent)}.hamburger.open span:first-child{transform:translateY(8px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0;transform:translateX(-10px)}.hamburger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.mobile-menu{display:none;position:fixed;top:0;right:-100%;width:280px;height:100vh;background:var(--color-background-primary);box-shadow:-4px 0 20px rgba(0,0,0,.5);z-index:1000;transition:right var(--transition-normal);overflow-y:auto;border-left:2px solid var(--color-border)}.mobile-menu.open{right:0}.mobile-menu ul{display:flex;flex-direction:column;gap:0;padding:5rem 0 2rem;margin:0}.mobile-menu li{list-style:none;border-bottom:1px solid var(--color-border)}.mobile-menu a{display:block;padding:1.25rem 1.5rem;color:var(--color-text-primary);text-decoration:none;font-size:1.1rem;font-weight:var(--font-weight-bold);transition:all var(--transition-fast);border:none;border-radius:0;box-shadow:none;background:transparent}.mobile-menu a:hover{background-color:var(--nav-hover-background);color:var(--color-accent);transform:none;padding-left:2rem}.mobile-menu .theme-toggle{margin:1.5rem;width:calc(100% - 3rem);justify-content:center}.contactanos,.que-hacemos{margin:var(--space-6) 0}.section-intro{font-size:1.1rem;color:var(--color-text-secondary);margin-bottom:var(--space-4);text-align:center}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:var(--space-3);gap:var(--space-3);margin-top:var(--space-4)}.service-item{background-color:var(--color-background-secondary);border:var(--border-width) var(--border-style) var(--color-border);border-radius:var(--border-radius);padding:var(--space-3);transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.service-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-accent)}.service-item h3{font-size:1.25rem;color:var(--color-text-primary);margin-bottom:var(--space-2);border-bottom:2px solid var(--color-border);padding-bottom:var(--space-1)}.service-item p{color:var(--color-text-secondary);margin:0}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:var(--space-3);gap:var(--space-3);margin-top:var(--space-4)}.contact-item{background-color:var(--color-background-secondary);border:var(--border-width) var(--border-style) var(--color-border);border-radius:var(--border-radius);padding:var(--space-4);text-align:center;transition:all var(--transition-normal);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-decoration:none;color:inherit;cursor:pointer}.contact-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-accent)}.contact-item:hover .contact-icon{filter:grayscale(0);transform:scale(1.2) rotate(10deg);animation:wiggle .5s ease-in-out}.contact-item:hover strong{color:var(--color-link-hover)}.contact-icon{font-size:2.5rem;margin-bottom:var(--space-1);filter:grayscale(20%);transition:all var(--transition-normal);display:block}@keyframes wiggle{0%,to{transform:scale(1.2) rotate(0deg)}25%{transform:scale(1.2) rotate(-10deg)}75%{transform:scale(1.2) rotate(10deg)}}.contact-item h3{font-size:1.1rem;color:var(--color-text-primary);margin:0;border-bottom:none}.contact-item p{color:var(--color-text-secondary);margin:0;font-size:.9rem}.contact-item strong{color:var(--color-link);font-weight:var(--font-weight-bold);transition:all var(--transition-fast);font-size:1rem}@media (min-width:48rem){h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}nav{padding:var(--space-3) var(--space-4)}main{padding:var(--space-4)}section{padding:var(--space-6) var(--space-4)}}@media (max-width:48rem){nav{padding:var(--space-1)}nav img{height:2.5rem}.desktop-nav{display:none!important}.hamburger{display:flex}.mobile-menu{display:block}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}main{padding:var(--space-1)}section{padding:var(--space-2);margin-bottom:var(--space-2)}.instagram-grid{grid-template-columns:1fr;gap:var(--space-1)}.contact-grid,.services-grid{grid-template-columns:1fr;gap:var(--space-2)}.whatsapp-float{bottom:4rem;right:1rem;width:56px;height:56px}footer{flex-direction:column;text-align:center;padding:var(--space-2);gap:var(--space-1)}footer small{font-size:.75rem;padding:.4rem .8rem}}@media (min-width:48rem) and (max-width:64rem){.contact-grid,.instagram-grid,.services-grid{grid-template-columns:repeat(2,1fr)}}