*,:before,:after{box-sizing:border-box}:root{--color-primary:#c41e3a;--color-primary-dark:#9a1830;--color-dark:#1a1a1a;--color-gray-900:#2d2d2d;--color-gray-700:#555;--color-gray-500:#888;--color-gray-200:#e8e8e8;--color-gray-100:#f5f5f5;--color-white:#fff;--font-heading:"Montserrat", system-ui, sans-serif;--font-body:"Open Sans", system-ui, sans-serif;--container:1200px;--header-height:80px}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--color-gray-700);background:var(--color-white);margin:0;font-size:16px;line-height:1.6}#root{min-height:100vh}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}ul{margin:0;padding:0;list-style:none}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-dark);margin:0;line-height:1.2}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 24px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.top-banner{background:var(--color-primary);color:var(--color-white);white-space:nowrap;font-size:.875rem;overflow:hidden}.top-banner__track{animation:40s linear infinite marquee;display:flex}.top-banner__item{flex-shrink:0;align-items:center;gap:1rem;padding:.6rem 3rem;display:inline-flex}.top-banner__cta{text-underline-offset:3px;font-weight:600;text-decoration:underline}.top-banner__cta:hover{opacity:.9}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.header{z-index:100;background:var(--color-white);box-shadow:0 1px 0 var(--color-gray-200);position:sticky;top:0}.header__inner{min-height:var(--header-height);justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.header__logo{flex-shrink:0;align-items:center;display:flex}.header__logo-img{object-fit:contain;width:auto;max-width:min(200px,40vw);height:48px;display:block}.header__toggle{background:0 0;border:none;flex-direction:column;gap:5px;padding:8px;display:none}.header__toggle-bar{background:var(--color-dark);width:24px;height:2px;display:block}.header__nav{align-items:center;gap:2rem;display:flex}.header__links{align-items:center;gap:1.5rem;display:flex}.header__links a{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.04em;color:var(--color-gray-900);font-size:.8rem;font-weight:600;transition:color .2s}.header__links a:hover{color:var(--color-primary)}.header__item{position:relative}.header__sub{background:var(--color-white);min-width:200px;padding:.5rem 0;display:none;position:absolute;top:100%;left:0;box-shadow:0 8px 24px #0000001f}.header__item:hover .header__sub{display:block}.header__sub a{text-transform:none;padding:.5rem 1rem;font-weight:500;display:block}@media (width<=1024px){.header__toggle{display:flex}.header__nav{inset:var(--header-height) 0 0 0;background:var(--color-white);flex-direction:column;align-items:stretch;padding:2rem 24px;transition:transform .3s;position:fixed;overflow-y:auto;transform:translate(100%)}.header__nav--open{transform:translate(0)}.header__links{flex-direction:column;align-items:flex-start;gap:0}.header__links a{padding:.75rem 0;font-size:1rem;display:block}.header__sub{box-shadow:none;padding-left:1rem;display:block;position:static}}.hero{align-items:flex-end;min-height:70vh;display:flex;position:relative}.hero__media{position:absolute;inset:0}.hero__image{background:linear-gradient(135deg,#1a1a1a66 0%,#c41e3a40 100%),url(https://images.unsplash.com/photo-1556910103-1c02745aae4d?w=1920&q=80) 50%/cover no-repeat;width:100%;height:100%}.hero__overlay{background:linear-gradient(#0000 0%,#0003 50%,#000000bf 100%);position:absolute;inset:0}.hero__content{z-index:1;width:100%;padding:4rem 24px 5rem;position:relative}.hero__title{max-width:900px;color:var(--color-white);text-shadow:0 2px 20px #0006;font-size:clamp(1.75rem,4vw,3rem);font-weight:700}.about{background:var(--color-gray-100);padding:5rem 0}.about__grid{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;display:grid}.about__title{margin-bottom:1.5rem;font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700}.about__title-accent{color:var(--color-primary)}.about__lead{color:var(--color-gray-700);margin-bottom:1rem;font-size:1.05rem}.about__visual{position:relative}.about__image{aspect-ratio:4/3;background:url(/images/paella.jpg) 50%/cover no-repeat;border-radius:4px;box-shadow:0 20px 50px #00000026}.about__badge{background:var(--color-primary);color:var(--color-white);text-align:center;padding:1.5rem 2rem;position:absolute;bottom:-1.5rem;left:-1.5rem}.about__badge-number{font-family:var(--font-heading);font-size:2.5rem;font-weight:700;line-height:1;display:block}.about__badge-label{text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}@media (width<=768px){.about__grid{grid-template-columns:1fr;gap:2.5rem}.about__badge{bottom:-1rem;left:1rem}}.solutions{flex-direction:column;display:flex}.solution{align-items:center;min-height:420px;display:flex;position:relative}.solution__bg{background-position:50%;background-size:cover;position:absolute;inset:0}.solution__overlay{background:linear-gradient(90deg,#000000d9 0%,#00000080 60%,#0000004d 100%);position:absolute;inset:0}.solution--reverse .solution__overlay{background:linear-gradient(270deg,#000000d9 0%,#00000080 60%,#0000004d 100%)}.solution__content{z-index:1;max-width:560px;padding:4rem 24px;position:relative}.solution--reverse .solution__content{text-align:right;margin-left:auto}.solution__title{color:var(--color-white);margin-bottom:1rem;font-size:clamp(1.35rem,2.5vw,1.85rem);font-weight:700}.solution__text{color:#ffffffe6;margin-bottom:1.5rem;line-height:1.7}.solution__link{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.08em;color:var(--color-white);border-bottom:2px solid var(--color-primary);padding-bottom:4px;font-size:.8rem;font-weight:600;transition:color .2s,border-color .2s;display:inline-block}.solution__link:hover{color:var(--color-primary);border-color:var(--color-white)}@media (width<=768px){.solution--reverse .solution__content{text-align:left;margin-left:0}}.testimonials{background:var(--color-gray-100);padding:5rem 0}.testimonials__header{text-align:center;margin-bottom:3rem}.testimonials__title{margin-bottom:.75rem;font-size:1.75rem}.testimonials__rating{flex-direction:column;align-items:center;gap:.25rem;display:flex}.testimonials__score{font-family:var(--font-heading);color:var(--color-primary);font-size:1.1rem;font-weight:700}.testimonials__count{color:var(--color-gray-500);font-size:.875rem}.testimonials__grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.review-card{background:var(--color-white);border-radius:4px;margin:0;padding:1.5rem;box-shadow:0 2px 12px #0000000f}.review-card__stars{color:#f4b400;letter-spacing:2px;margin-bottom:.75rem;font-size:1rem}.review-card__text{margin-bottom:1rem;font-size:.95rem;font-style:normal;line-height:1.6}.review-card__footer{justify-content:space-between;align-items:baseline;margin-bottom:.5rem;display:flex}.review-card__author{color:var(--color-dark);font-size:.9rem;font-style:normal;font-weight:600}.review-card__date{color:var(--color-gray-500);font-size:.8rem}.review-card__source{color:var(--color-gray-500);font-size:.75rem}.footer{background:var(--color-dark);color:#ffffffd9}.footer__grid{grid-template-columns:repeat(3,1fr);gap:2.5rem;padding:4rem 24px 3rem;display:grid}.footer__heading{text-transform:uppercase;letter-spacing:.06em;color:var(--color-white);margin-bottom:1.25rem;font-size:.85rem;font-weight:600}.footer__list{font-size:.9rem;line-height:1.8}.footer__list a:hover{color:var(--color-white);text-decoration:underline}.footer__list--links a{display:block}.footer__bottom{border-top:1px solid #ffffff1a;padding:2rem 0}.footer__bottom-inner{text-align:center;font-size:.85rem;line-height:1.6}.footer__bottom-inner p:first-child{max-width:800px;margin:0 auto 1rem}.footer__legal{color:#ffffff80;font-size:.75rem}@media (width<=992px){.footer__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=576px){.footer__grid{grid-template-columns:1fr}}.cookie-banner{z-index:200;background:var(--color-white);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;font-size:.875rem;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 24px #0000001f}.cookie-banner p{flex:1;min-width:200px;margin:0}.cookie-banner__actions{flex-wrap:wrap;gap:.5rem;display:flex}.cookie-banner button{background:var(--color-primary);color:var(--color-white);border:none;padding:.5rem 1rem;font-size:.8rem;font-weight:600}.cookie-banner__secondary{color:var(--color-gray-700)!important;border:1px solid var(--color-gray-200)!important;background:0 0!important}
