 /* =====================================================
    ANCLAJE SOLAR ENERGY - CSS Reset & Base Styles
    Normalización y estilos base
    ===================================================== */
 
 /* Box Sizing Reset */
 *, *::before, *::after {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }
 
 /* HTML & Body */
 html {
     scroll-behavior: smooth;
     scroll-padding-top: 80px;
     -webkit-text-size-adjust: 100%;
     -webkit-font-smoothing: antialiased;
     -moz-osx-font-smoothing: grayscale;
 }
 
 body {
     font-family: var(--font-primary);
     font-size: var(--text-base);
     line-height: var(--leading-relaxed);
     color: var(--gray-700);
     background-color: var(--white);
     overflow-x: hidden;
     min-height: 100vh;
 }
 
 /* Typography Reset */
 h1, h2, h3, h4, h5, h6 {
     font-weight: 600;
     line-height: var(--leading-tight);
     color: var(--dark);
 }
 
 p {
     margin-bottom: 1em;
 }
 
 p:last-child {
     margin-bottom: 0;
 }
 
 /* Links */
 a {
     text-decoration: none;
     color: inherit;
     transition: var(--transition);
 }
 
 a:hover {
     color: var(--primary);
 }
 
 a:focus-visible {
     outline: 2px solid var(--primary);
     outline-offset: 2px;
 }
 
 /* Lists */
 ul, ol {
     list-style: none;
 }
 
 /* Images */
 img {
     max-width: 100%;
     height: auto;
     display: block;
     object-fit: cover;
 }
 
 /* Buttons */
 button {
     font-family: inherit;
     font-size: inherit;
     cursor: pointer;
     border: none;
     background: none;
     color: inherit;
 }
 
 button:focus-visible {
     outline: 2px solid var(--primary);
     outline-offset: 2px;
 }
 
 button:disabled {
     cursor: not-allowed;
     opacity: 0.6;
 }
 
 /* Form Elements */
 input, textarea, select {
     font-family: inherit;
     font-size: inherit;
     color: inherit;
     background: transparent;
     border: none;
 }
 
 input:focus, textarea:focus, select:focus {
     outline: none;
 }
 
 input::placeholder, textarea::placeholder {
     color: var(--gray-400);
 }
 
 /* Tables */
 table {
     border-collapse: collapse;
     width: 100%;
 }
 
 /* Misc */
 hr {
     border: none;
     border-top: 1px solid var(--gray-200);
     margin: var(--space-6) 0;
 }
 
 strong, b {
     font-weight: 600;
 }
 
 em, i {
     font-style: italic;
 }
 
 /* Selection */
 ::selection {
     background-color: var(--primary);
     color: var(--white);
 }
 
 /* Scrollbar (opcional) */
 ::-webkit-scrollbar {
     width: 8px;
 }
 
 ::-webkit-scrollbar-track {
     background: var(--gray-100);
 }
 
 ::-webkit-scrollbar-thumb {
     background: var(--gray-400);
     border-radius: var(--radius-full);
 }
 
 ::-webkit-scrollbar-thumb:hover {
     background: var(--gray-500);
 }
 
 /* Reduced Motion */
 @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;
     }
 }