
.hero{min-height:100vh;display:flex;align-items:center;padding-top:var(--nav-height);position:relative;overflow:hidden;}
.hero-inner{display:grid;grid-template-columns:minmax(0, 1.05fr) minmax(0, 0.95fr);gap:var(--space-2xl);align-items:center;}
.hero-content{position:relative;z-index:2;}
.hero-title{font-family:var(--font-display);font-size:var(--text-hero);line-height:1.05;color:var(--color-charcoal);margin-block-end:var(--space-lg);letter-spacing:-0.03em;}
.hero-title .accent{color:var(--color-rosa);}
.hero-subtitle{font-size:var(--text-body-lg);color:var(--color-charcoal-light);max-width:520px;margin-block-end:var(--space-2xl);line-height:1.8;}
.hero-ctas{display:flex;flex-wrap:wrap;gap:var(--space-md);}
.hero-visual{position:relative;display:flex;align-items:center;justify-content:flex-end;}
.hero-image{width:100%;height:auto;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);}
.hero-agave{width:100%;max-width:500px;opacity:0.15;}
.hero-scroll{position:absolute;bottom:var(--space-2xl);left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);color:var(--color-charcoal-light);font-family:var(--font-accent);font-size:var(--text-caption);text-decoration:none;letter-spacing:0.1em;text-transform:uppercase;}
.scroll-line{width:1px;height:40px;background:var(--color-charcoal-light);position:relative;overflow:hidden;}
.scroll-line::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--color-rosa);animation:scrollDown 2s ease-in-out infinite;}
@keyframes scrollDown{0%{top:-100%;}
50%{top:100%;}
100%{top:100%;}
}
@media (max-width:768px){.hero{min-height:auto;padding-block:calc(var(--nav-height) + var(--space-2xl)) var(--space-3xl);}
.hero-inner{grid-template-columns:1fr;}
.hero-visual{display:none;}
.hero-scroll{display:none;}
}
.page-hero{padding-top:calc(var(--nav-height) + var(--space-4xl));padding-bottom:var(--space-3xl);position:relative;}
.page-hero-title{font-family:var(--font-display);font-size:var(--text-h1);color:var(--color-charcoal);margin-block-end:var(--space-md);}
.page-hero-subtitle{font-size:var(--text-body-lg);color:var(--color-charcoal-light);max-width:650px;}
.services-section{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl);align-items:start;}
.services-section:nth-child(even){direction:rtl;}
.services-section:nth-child(even) > *{direction:ltr;}
.service-content{padding-block:var(--space-xl);}
.service-features{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);margin-block:var(--space-xl);}
.service-feature{display:flex;align-items:flex-start;gap:var(--space-sm);font-family:var(--font-accent);font-size:var(--text-small);color:var(--color-charcoal-light);}
.service-feature-icon{color:var(--color-agave);flex-shrink:0;margin-top:2px;}
.service-visual{aspect-ratio:4/3;border-radius:var(--radius-lg);overflow:hidden;}
@media (max-width:768px){.services-section,
.services-section:nth-child(even){grid-template-columns:1fr;direction:ltr;}
.service-features{grid-template-columns:1fr;}
}
.process-wrapper{position:relative;}
.process-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:var(--space-xl);position:relative;}
.process-line{position:absolute;top:8px;left:12.5%;width:75%;height:2px;background:linear-gradient(90deg,
var(--color-rosa) 0%,
var(--color-agave) 50%,
var(--color-terracotta) 100%
);opacity:0.3;pointer-events:none;}
.process-step{text-align:center;position:relative;}
.process-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-white);border:2px solid var(--color-rosa);color:var(--color-rosa);font-size:1.25rem;margin:0 auto var(--space-lg);position:relative;z-index:2;transition:all var(--duration-normal) var(--ease-smooth);}
.process-step:hover .process-icon{background:var(--color-rosa);color:var(--color-white);transform:scale(1.1);box-shadow:var(--shadow-rosa);}
.process-step:nth-child(2) .process-icon{border-color:var(--color-agave);color:var(--color-agave);}
.process-step:nth-child(2):hover .process-icon{background:var(--color-agave);color:var(--color-white);box-shadow:0 4px 20px rgba(45, 90, 61, 0.3);}
.process-step:nth-child(3) .process-icon{border-color:var(--color-terracotta);color:var(--color-terracotta);}
.process-step:nth-child(3):hover .process-icon{background:var(--color-terracotta);color:var(--color-white);box-shadow:0 4px 20px rgba(193, 105, 79, 0.3);}
.process-step:nth-child(4) .process-icon{border-color:var(--color-rosa);color:var(--color-rosa);}
.process-step:nth-child(4):hover .process-icon{background:var(--color-rosa);color:var(--color-white);box-shadow:var(--shadow-rosa);}
.process-step .card-title{margin-block-end:var(--space-xs);}
@media (max-width:768px){.process-grid{grid-template-columns:1fr 1fr;}
.process-line{display:none;}
}
@media (max-width:480px){.process-grid{grid-template-columns:1fr;}
}
.contact-grid{display:grid;grid-template-columns:1.2fr 0.8fr;gap:var(--space-3xl);align-items:start;}
.contact-info-item{display:flex;align-items:flex-start;gap:var(--space-md);margin-block-end:var(--space-xl);}
.contact-info-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-sand);border-radius:var(--radius-md);color:var(--color-agave);flex-shrink:0;font-size:1rem;}
.contact-info-label{font-family:var(--font-accent);font-size:var(--text-small);font-weight:var(--weight-semibold);color:var(--color-charcoal);margin-block-end:var(--space-2xs);}
.contact-info-text{font-size:var(--text-small);color:var(--color-charcoal-light);}
.map-placeholder{width:100%;aspect-ratio:16/10;border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--color-sand), var(--color-cream));display:flex;align-items:center;justify-content:center;color:var(--color-charcoal-light);font-family:var(--font-accent);font-size:var(--text-small);margin-block-end:var(--space-xl);}
.map-container{position:relative;margin-block-end:var(--space-xl);box-shadow:var(--shadow-md);transition:box-shadow var(--duration-normal) var(--ease-smooth);}
.map-container:hover{box-shadow:var(--shadow-lg);}
.map-pin{position:absolute;top:50%;left:50%;transform:translate(-50%, -100%);z-index:2;pointer-events:none;color:var(--color-rosa);font-size:2rem;filter:drop-shadow(0 2px 6px rgba(0,0,0,0.3));animation:pinBounce 2s ease-in-out infinite;}
@keyframes pinBounce{0%, 100%{transform:translate(-50%, -100%);}
50%{transform:translate(-50%, -110%);}
}
.map-pin-pulse{position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);width:12px;height:12px;border-radius:50%;background:var(--color-rosa);opacity:0.4;animation:mapPulse 2s ease-out infinite;}
@keyframes mapPulse{0%{transform:translateX(-50%) scale(1);opacity:0.4;}
100%{transform:translateX(-50%) scale(3);opacity:0;}
}
.map-label{position:absolute;bottom:var(--space-md);left:var(--space-md);background:rgba(var(--color-charcoal-rgb), 0.85);backdrop-filter:blur(8px);color:var(--color-cream);font-family:var(--font-accent);font-size:var(--text-small);font-weight:var(--weight-medium);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);z-index:2;pointer-events:none;letter-spacing:0.03em;}
.bilingual-badge{display:inline-flex;align-items:center;gap:var(--space-xs);background:linear-gradient(135deg, var(--color-agave), var(--color-agave-light));color:var(--color-white);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-full);font-family:var(--font-accent);font-size:var(--text-small);font-weight:var(--weight-medium);}
@media (max-width:768px){.contact-grid{grid-template-columns:1fr;}
}
.about-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3xl);align-items:center;}
@media (max-width:768px){.about-story-grid{grid-template-columns:1fr;}
}
.about-visual{aspect-ratio:1;border-radius:var(--radius-xl);background:linear-gradient(135deg, var(--color-agave), var(--color-terracotta), var(--color-rosa));position:relative;overflow:hidden;}
.values-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:var(--space-xl);}
.value-card{padding:var(--space-xl);}
.value-icon{font-size:2rem;margin-block-end:var(--space-md);}
.value-title{font-family:var(--font-accent);font-size:var(--text-h4);font-weight:var(--weight-semibold);color:var(--color-charcoal);margin-block-end:var(--space-sm);}
.team-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:var(--space-xl);}
.team-card{text-align:center;}
.team-photo{width:160px;height:160px;border-radius:50%;margin:0 auto var(--space-lg);background:linear-gradient(135deg, var(--color-agave), var(--color-rosa));position:relative;overflow:hidden;}
.team-name{font-family:var(--font-accent);font-weight:var(--weight-semibold);color:var(--color-charcoal);margin-block-end:var(--space-2xs);}
.team-role{font-size:var(--text-small);color:var(--color-rosa);}
.ai-hero{background:linear-gradient(135deg, var(--color-charcoal), #1a1a2e);color:var(--color-cream);padding-top:calc(var(--nav-height) + var(--space-4xl));padding-bottom:var(--space-4xl);}
.ai-hero .page-hero-title,
.ai-hero .hero-title{color:var(--color-white);}
.ai-hero .page-hero-subtitle,
.ai-hero .hero-subtitle{color:rgba(255, 255, 255, 0.92);max-width:700px;}
.ai-hero .badge{margin-block-end:var(--space-md);}
.ai-offerings{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:var(--space-xl);}
.ai-card{background:var(--color-white);border:1px solid rgba(var(--color-charcoal-rgb), 0.06);border-radius:var(--radius-lg);padding:var(--space-2xl);transition:all var(--duration-normal) var(--ease-smooth);position:relative;overflow:hidden;}
.ai-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg, var(--color-rosa), var(--color-agave));transform:scaleX(0);transform-origin:left;transition:transform var(--duration-normal) var(--ease-out-expo);}
.ai-card:hover::before{transform:scaleX(1);}
.ai-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.ai-card-icon{font-size:2.5rem;margin-block-end:var(--space-lg);}
.ai-mini-process-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:var(--space-xl);text-align:center;position:relative;}
.ai-mini-process-grid::before{content:'';position:absolute;top:20px;left:calc(12.5% + 20px);width:calc(75% - 40px);height:2px;background:linear-gradient(90deg,
var(--color-rosa) 0%,
var(--color-agave) 50%,
var(--color-terracotta) 100%
);opacity:0.25;}
.ai-mini-step{position:relative;}
.ai-mini-number{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-rosa);color:var(--color-white);font-family:var(--font-accent);font-weight:var(--weight-bold);font-size:var(--text-small);margin:0 auto var(--space-md);position:relative;z-index:2;box-shadow:0 2px 8px rgba(var(--color-rosa-rgb), 0.3);}
.ai-mini-step:nth-child(2) .ai-mini-number{background:var(--color-agave);box-shadow:0 2px 8px rgba(45, 90, 61, 0.3);}
.ai-mini-step:nth-child(3) .ai-mini-number{background:var(--color-terracotta);box-shadow:0 2px 8px rgba(193, 105, 79, 0.3);}
.ai-mini-step:nth-child(4) .ai-mini-number{background:var(--color-rosa);}
.ai-mini-step .card-title{font-size:var(--text-body);margin-block-end:var(--space-xs);}
.ai-mini-step .card-text{font-size:var(--text-small);}
@media (max-width:768px){.ai-mini-process-grid{grid-template-columns:1fr 1fr;gap:var(--space-xl);}
.ai-mini-process-grid::before{display:none;}
}
@media (max-width:480px){.ai-mini-process-grid{grid-template-columns:1fr;}
}
