
.site-nav{position:fixed;top:0;left:0;right:0;height:var(--nav-height);background:rgba(var(--color-cream-rgb), 0.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(var(--color-charcoal-rgb), 0.06);z-index:1000;transition:background var(--duration-normal) var(--ease-smooth),
box-shadow var(--duration-normal) var(--ease-smooth);}
.site-nav.scrolled{background:rgba(var(--color-cream-rgb), 0.95);box-shadow:var(--shadow-sm);}
.site-nav.nav-open{background:var(--color-charcoal);border-bottom-color:rgba(245,240,232,0.08);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--gutter);}
.nav-wordmark{font-family:var(--font-display);font-size:1.25rem;letter-spacing:0.12em;color:var(--color-charcoal);text-decoration:none;text-transform:uppercase;transition:letter-spacing var(--duration-slow) var(--ease-out-expo);}
.nav-wordmark:hover{letter-spacing:0.18em;}
.nav-wordmark span{color:var(--color-rosa);}
.icon{display:block;width:1em;height:1em;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;}
.icon--inline{display:inline-block;vertical-align:-0.15em;}
.icon--heart{color:var(--color-rosa);}
.nav-links{display:flex;align-items:center;gap:var(--space-xl);}
.nav-link{font-family:var(--font-accent);font-size:var(--text-small);font-weight:var(--weight-medium);color:var(--color-charcoal-light);text-decoration:none;letter-spacing:0.02em;position:relative;padding-block:var(--space-xs);transition:color var(--duration-fast) var(--ease-smooth);}
.nav-link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--color-rosa);transition:width var(--duration-normal) var(--ease-out-expo);}
.nav-link:hover,
.nav-link[aria-current="page"]{color:var(--color-charcoal);}
.nav-link:hover::after,
.nav-link[aria-current="page"]::after{width:100%;}
.lang-toggle{display:flex;align-items:center;gap:var(--space-2xs);font-family:var(--font-accent);font-size:var(--text-caption);font-weight:var(--weight-medium);letter-spacing:0.05em;}
.lang-toggle a{text-decoration:none;color:var(--color-charcoal-light);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-sm);transition:all var(--duration-fast) var(--ease-smooth);}
.lang-toggle a:hover{color:var(--color-rosa);}
.lang-toggle a.active{color:var(--color-white);background:var(--color-agave);}
.lang-toggle .separator{color:var(--color-charcoal-light);opacity:0.3;}
.nav-cta{margin-left:var(--space-md);}
.nav-hamburger{display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:44px;height:44px;padding:0;border:1px solid rgba(var(--color-charcoal-rgb), 0.12);border-radius:var(--radius-full);background:rgba(var(--color-cream-rgb), 0.96);box-shadow:var(--shadow-sm);cursor:pointer;z-index:1003;transition:background var(--duration-fast) var(--ease-smooth),border-color var(--duration-fast) var(--ease-smooth),box-shadow var(--duration-fast) var(--ease-smooth);}
.nav-hamburger span{display:block;width:20px;height:2px;background:var(--color-charcoal);border-radius:2px;transition:all var(--duration-normal) var(--ease-smooth);transform-origin:center;}
.nav-hamburger[aria-expanded="true"]{background:var(--color-charcoal);border-color:rgba(var(--color-cream-rgb), 0.14);box-shadow:0 10px 24px rgba(42, 42, 42, 0.18);}
.nav-hamburger[aria-expanded="true"] span:nth-child(1){transform:rotate(45deg) translate(4px, 4px);}
.nav-hamburger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-hamburger[aria-expanded="true"] span:nth-child(3){transform:rotate(-45deg) translate(4px, -4px);}
.nav-mobile{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--color-charcoal);z-index:1002;padding-top:calc(var(--nav-height) + var(--space-3xl));padding-inline:var(--gutter);flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--space-lg);}
.nav-mobile.open{display:flex;}
.nav-mobile .nav-link{font-size:var(--text-h3);font-family:var(--font-display);color:var(--color-cream);opacity:0;transform:translateY(20px);animation:fadeInUp var(--duration-normal) var(--ease-out-expo) forwards;}
.nav-mobile .nav-link:hover,.nav-mobile .nav-link[aria-current="page"]{color:var(--color-rosa);}
.nav-mobile .nav-link::after{background:var(--color-rosa);}
.nav-mobile .lang-toggle a{color:rgba(245,240,232,0.6);}
.nav-mobile .lang-toggle a.active{color:var(--color-white);background:var(--color-rosa);}
.nav-mobile .lang-toggle .separator{color:rgba(245,240,232,0.3);}
.nav-mobile .nav-link:nth-child(1){animation-delay:50ms;}
.nav-mobile .nav-link:nth-child(2){animation-delay:100ms;}
.nav-mobile .nav-link:nth-child(3){animation-delay:150ms;}
.nav-mobile .nav-link:nth-child(4){animation-delay:200ms;}
.nav-mobile .nav-link:nth-child(5){animation-delay:250ms;}
.nav-mobile .nav-link:nth-child(6){animation-delay:300ms;}
@keyframes fadeInUp{to{opacity:1;transform:translateY(0);}
}
@media (max-width:1024px){.site-nav{height:64px;}
.nav-links,
.nav-cta,
.lang-toggle-desktop{display:none;}
.nav-hamburger{display:flex;}
:root{--nav-height:64px;}
.nav-hamburger[aria-expanded="true"] span{background:var(--color-cream);}
}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);font-family:var(--font-accent);font-size:var(--text-small);font-weight:var(--weight-semibold);letter-spacing:0.03em;padding:0.875rem 2rem;border-radius:var(--radius-full);text-decoration:none;border:2px solid transparent;transition:all var(--duration-normal) var(--ease-smooth);cursor:pointer;white-space:nowrap;}
.btn-primary{background:var(--color-agave);color:var(--color-cream);border-color:var(--color-agave);}
.btn-primary:hover{background:var(--color-agave-light);border-color:var(--color-agave-light);box-shadow:var(--shadow-md);transform:translateY(-2px);}
.btn-secondary{background:transparent;color:var(--color-agave);border-color:var(--color-agave);}
.btn-secondary:hover{background:var(--color-agave);color:var(--color-cream);transform:translateY(-2px);}
.btn-accent{background:var(--color-rosa);color:var(--color-white);border-color:var(--color-rosa);}
.btn-accent:hover{background:var(--color-rosa-light);border-color:var(--color-rosa-light);box-shadow:var(--shadow-rosa);transform:translateY(-2px);}
.btn-ghost{background:transparent;color:var(--color-cream);border-color:var(--color-cream);}
.btn-ghost:hover{background:var(--color-cream);color:var(--color-charcoal);}
.btn--sm{padding:0.625rem 1.25rem;font-size:var(--text-caption);}
.btn--lg{padding:1rem 2.5rem;font-size:var(--text-body);}
.btn .arrow{transition:transform var(--duration-fast) var(--ease-smooth);}
.btn:hover .arrow{transform:translateX(4px);}
.card{background:var(--color-white);border:1px solid rgba(var(--color-charcoal-rgb), 0.06);border-radius:var(--radius-lg);padding:var(--space-xl);transition:all var(--duration-normal) var(--ease-smooth);position:relative;overflow:hidden;}
.card::after{content:'';position:absolute;inset:0;pointer-events:none;opacity:0.02;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E");background-size:200px 200px;border-radius:inherit;}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-left:3px solid var(--color-rosa);}
.card-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-sand);border-radius:var(--radius-md);margin-block-end:var(--space-lg);color:var(--color-agave);font-size:1.25rem;position:relative;z-index:1;}
.card-icon--rosa{background:rgba(var(--color-rosa-rgb), 0.1);color:var(--color-rosa);}
.card-icon .icon,
.process-icon .icon{width:1.25em;height:1.25em;}
.card-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);}
.card-text{color:var(--color-charcoal-light);line-height:1.7;margin-block-end:var(--space-lg);}
.card-link{display:inline-flex;align-items:center;gap:var(--space-xs);font-family:var(--font-accent);font-size:var(--text-small);font-weight:var(--weight-medium);color:var(--color-agave);text-decoration:none;transition:all var(--duration-fast) var(--ease-smooth);}
.card-link:hover{color:var(--color-rosa);gap:var(--space-sm);}
.cards-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:var(--space-xl);}
.cards-staggered{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--space-xl);}
.cards-staggered .card:nth-child(2){transform:translateY(var(--space-xl));}
.cards-staggered .card:nth-child(3){transform:translateY(calc(var(--space-xl) * 2));}
@media (max-width:768px){.cards-staggered{grid-template-columns:1fr;}
.cards-staggered .card:nth-child(2),
.cards-staggered .card:nth-child(3){transform:none;}
}
.card-process{background:transparent;border:none;text-align:center;position:relative;}
.card-process:hover{border-left:none;box-shadow:none;transform:none;}
.process-number{font-family:var(--font-display);font-size:var(--text-h1);color:rgba(var(--color-rosa-rgb), 0.15);line-height:1;margin-block-end:var(--space-md);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl);}
@media (max-width:600px){.form-row{grid-template-columns:1fr;}}
.form-group{position:relative;margin-block-end:var(--space-xl);}
.form-label{display:block;font-family:var(--font-accent);font-size:var(--text-small);font-weight:var(--weight-medium);color:var(--color-charcoal);margin-block-end:var(--space-xs);letter-spacing:0.02em;}
.form-input,
.form-textarea,
.form-select{width:100%;padding:var(--space-sm) 0;font-size:var(--text-body);color:var(--color-charcoal);background:transparent;border:none;border-bottom:2px solid rgba(var(--color-charcoal-rgb), 0.15);border-radius:0;transition:border-color var(--duration-fast) var(--ease-smooth);appearance:none;}
.form-input:focus,
.form-textarea:focus,
.form-select:focus{outline:none;border-bottom-color:var(--color-rosa);}
.form-input::placeholder,
.form-textarea::placeholder{color:rgba(var(--color-charcoal-rgb), 0.35);}
.form-textarea{resize:vertical;min-height:120px;}
.form-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234A4A4A' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0 center;padding-right:var(--space-xl);}
.form-error{font-family:var(--font-accent);font-size:var(--text-caption);color:var(--color-error);margin-top:var(--space-xs);display:none;}
.form-group.error .form-input,
.form-group.error .form-textarea,
.form-group.error .form-select{border-bottom-color:var(--color-error);}
.form-group.error .form-error{display:block;}
.form-success{text-align:center;padding:var(--space-2xl);}
.form-success-icon{font-size:3rem;margin-block-end:var(--space-md);}
.form-success h3{color:var(--color-agave);margin-block-end:var(--space-sm);}
.testimonial{position:relative;padding:var(--space-2xl);background:var(--color-white);border-radius:var(--radius-lg);border:1px solid rgba(var(--color-charcoal-rgb), 0.06);}
.testimonial-quote{position:absolute;top:var(--space-md);left:var(--space-lg);font-family:var(--font-display);font-size:4rem;line-height:1;color:var(--color-rosa);opacity:0.3;}
.testimonial-text{font-family:var(--font-display);font-size:var(--text-body-lg);font-style:italic;color:var(--color-charcoal);line-height:1.8;margin-block-end:var(--space-lg);padding-top:var(--space-lg);}
.testimonial-author{display:flex;align-items:center;gap:var(--space-md);}
.testimonial-avatar{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg, var(--color-agave), var(--color-terracotta));color:var(--color-white);font-family:var(--font-accent);font-weight:var(--weight-semibold);font-size:var(--text-body);line-height:1;text-transform:uppercase;flex-shrink:0;}
.testimonial-name{font-family:var(--font-accent);font-weight:var(--weight-semibold);font-size:var(--text-small);color:var(--color-charcoal);}
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));gap:var(--space-xl);}
.site-footer{background:var(--color-charcoal);color:var(--color-cream);padding-block:var(--space-3xl) var(--space-xl);}
.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-2xl);margin-block-end:var(--space-3xl);}
.footer-brand .nav-wordmark{color:var(--color-cream);font-size:1.1rem;margin-block-end:var(--space-md);display:inline-block;}
.footer-tagline{font-size:var(--text-small);color:rgba(var(--color-cream-rgb), 0.6);line-height:1.7;max-width:300px;}
.footer-heading{font-family:var(--font-accent);font-size:var(--text-small);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:0.1em;color:var(--color-cream);margin-block-end:var(--space-lg);}
.footer-links{display:flex;flex-direction:column;gap:var(--space-sm);}
.footer-link{font-size:var(--text-small);color:rgba(var(--color-cream-rgb), 0.6);text-decoration:none;transition:color var(--duration-fast) var(--ease-smooth);}
.footer-link:hover{color:var(--color-rosa);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-xl);border-top:1px solid rgba(var(--color-cream-rgb), 0.1);font-size:var(--text-caption);color:rgba(var(--color-cream-rgb), 0.65);}
.footer-hecho{font-style:italic;}
@media (max-width:768px){.footer-inner{grid-template-columns:1fr 1fr;gap:var(--space-xl);}
.footer-brand{grid-column:1 / -1;}
.footer-bottom{flex-direction:column;gap:var(--space-sm);text-align:center;}
}
@media (max-width:480px){.footer-inner{grid-template-columns:1fr;}
}
.smoke-divider{width:100%;height:auto;display:block;color:var(--color-sand);margin-block:-1px;}
.smoke-divider--cream{color:var(--color-cream);}
.smoke-divider--agave{color:var(--color-agave-dark);}
.smoke-divider--rosa{color:var(--color-rosa-dark);}
.section-fade{height:80px;background:linear-gradient(to bottom,var(--color-cream),var(--color-sand));margin-block:-1px;}
.section-fade--reverse{background:linear-gradient(to bottom,var(--color-sand),var(--color-cream));}
.section-fade--to-agave{background:linear-gradient(to bottom,var(--color-cream),var(--color-agave-dark));}
.section-fade--to-rosa{background:linear-gradient(to bottom,var(--color-cream),var(--color-rosa-dark));}
.folk-border{width:100%;height:20px;background-repeat:repeat-x;background-size:60px 20px;opacity:0.3;}
.cta-banner{background:linear-gradient(135deg, var(--color-rosa-dark), var(--color-rosa), var(--color-rosa-light));color:var(--color-white);padding-block:var(--space-4xl);text-align:center;position:relative;overflow:hidden;}
.cta-banner h2{color:var(--color-white);}
.cta-banner p{color:rgba(255, 255, 255, 0.85);max-width:600px;margin-inline:auto;margin-block-end:var(--space-xl);}
.badge{display:inline-flex;align-items:center;gap:var(--space-2xs);font-family:var(--font-accent);font-size:var(--text-caption);font-weight:var(--weight-semibold);letter-spacing:0.05em;text-transform:uppercase;padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-full);}
.badge--rosa{background:rgba(var(--color-rosa-rgb), 0.1);color:var(--color-rosa);}
.badge--agave{background:rgba(45, 90, 61, 0.1);color:var(--color-agave);}
.faq-item{border-bottom:1px solid rgba(var(--color-charcoal-rgb), 0.1);}
.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg) 0;font-family:var(--font-accent);font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--color-charcoal);text-align:left;cursor:pointer;transition:color var(--duration-fast) var(--ease-smooth);}
.faq-question:hover{color:var(--color-rosa);}
.faq-icon{width:24px;height:24px;flex-shrink:0;transition:transform var(--duration-normal) var(--ease-smooth);}
.faq-item.open .faq-icon{transform:rotate(45deg);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height var(--duration-normal) var(--ease-smooth),
padding var(--duration-normal) var(--ease-smooth);}
.faq-item.open .faq-answer{max-height:300px;padding-block-end:var(--space-lg);}
.faq-answer p{color:var(--color-charcoal-light);}
.tech-badges{display:flex;flex-wrap:wrap;gap:var(--space-xs);}
.tech-badge{font-family:var(--font-accent);font-size:var(--text-caption);font-weight:var(--weight-medium);padding:var(--space-2xs) var(--space-sm);background:var(--color-sand);color:var(--color-charcoal-light);border-radius:var(--radius-full);letter-spacing:0.02em;}
.spinner{width:20px;height:20px;border:2px solid rgba(255, 255, 255, 0.3);border-top-color:currentColor;border-radius:50%;animation:spin 0.6s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}
}
.btn.loading{pointer-events:none;opacity:0.8;}
@media (max-width:768px){
.hero-ctas{flex-direction:column;gap:var(--space-sm);}
.hero-ctas .btn{width:100%;justify-content:center;text-align:center;}
.btn--lg{padding:0.875rem 1.5rem;font-size:var(--text-small);}
.testimonials-grid{grid-template-columns:1fr;}
}
@media (max-width:480px){
.card{padding:var(--space-lg);}
.testimonial{padding:var(--space-lg);}
.section{padding-block:var(--space-2xl);}
.cta-banner{padding-block:var(--space-2xl);}
}
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--color-charcoal);color:var(--color-cream);z-index:2000;padding:var(--space-lg) var(--gutter);box-shadow:0 -4px 20px rgba(42,42,42,0.2);animation:slideUp 0.4s var(--ease-out-expo);}
.cookie-banner-inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);flex-wrap:wrap;}
.cookie-banner-inner p{font-size:var(--text-small);line-height:1.5;flex:1;min-width:200px;margin:0;}
.cookie-banner-actions{display:flex;gap:var(--space-sm);flex-shrink:0;}
@keyframes slideUp{from{transform:translateY(100%);}to{transform:translateY(0);}}
