body{margin:0;background:#fff}
a.plain{color:inherit}
img{max-width:100%}
html{scroll-behavior:smooth;scroll-padding-top:88px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.container{max-width:1200px;margin:0 auto;padding:0 24px}
.container-narrow{max-width:760px;margin:0 auto;padding:0 24px;box-sizing:border-box}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color 120ms cubic-bezier(.22,.61,.36,1)}
.site-header.is-scrolled{border-bottom-color:var(--border-subtle)}
.site-header__bar{max-width:1200px;margin:0 auto;padding:0 24px;height:72px;display:flex;align-items:center;gap:36px}
.site-header__logo{display:flex;align-items:center;flex-shrink:0}
.site-header__logo img{height:62px;display:block;width:143px}
.site-nav{display:flex;align-items:center;gap:26px;margin-left:auto}
.site-nav a{font-size:15px;font-weight:500;color:var(--n-600)}
.site-nav a:hover{color:var(--brand-navy)}
.site-nav a[aria-current="page"]{font-weight:600;color:var(--brand-navy);box-shadow:0 3px 0 var(--brand-celeste)}
.menu-btn{display:none;margin-left:auto;width:44px;height:44px;align-items:center;justify-content:center;background:none;border:1px solid var(--border-default);border-radius:10px;color:var(--brand-navy);cursor:pointer;padding:0}
.mobile-menu{border-top:1px solid var(--border-subtle);background:#fff;padding:14px 24px 22px;display:flex;flex-direction:column;gap:2px}
.mobile-menu[hidden]{display:none}
.mobile-menu a{padding:12px 0;font-size:17px;font-weight:500;color:var(--brand-navy);border-bottom:1px solid var(--border-subtle)}
.mobile-menu a:last-of-type{border-bottom:none}
.mobile-menu a[aria-current="page"]{color:var(--brand-celeste);font-weight:600}
.mobile-menu__cta{margin-top:12px}
.mobile-menu__cta .btn{box-sizing:border-box;width:100%}

/* ---------- Buttons ---------- */
.btn{font-family:var(--font-sans);font-weight:var(--fw-semibold);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:background-color 120ms cubic-bezier(.22,.61,.36,1),color 120ms cubic-bezier(.22,.61,.36,1),border-color 120ms cubic-bezier(.22,.61,.36,1),transform 120ms cubic-bezier(.22,.61,.36,1);white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn-sm{font-size:14px;padding:8px 14px;border-radius:var(--radius-sm)}
.btn-md{font-size:16px;padding:11px 20px}
.btn-lg{font-size:17px;padding:15px 28px}
.btn-full{width:100%}
.btn-primary{background:var(--action-primary);color:#fff}
.btn-primary:hover{background:var(--action-primary-hover);color:#fff}
.btn-sell{background:var(--action-sell);color:#fff}
.btn-sell:hover{background:var(--action-sell-hover);color:#fff}
.btn-secondary{background:transparent;color:var(--brand-navy);border-color:var(--border-default)}
.btn-secondary:hover{background:var(--n-050);border-color:var(--border-strong);color:var(--brand-navy)}
.btn:disabled{background:var(--n-100)!important;color:var(--n-400)!important;border-color:transparent!important;cursor:not-allowed}

.btn-coral{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:10px;background:var(--accent-coral);color:#fff;font-weight:600;text-decoration:none;transition:background 120ms cubic-bezier(.22,.61,.36,1);box-sizing:border-box}
.btn-coral:hover{background:var(--accent-coral-600);color:#fff}
.btn-wa{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:10px;background:#25D366;color:#0b3d20;font-weight:600;text-decoration:none;transition:background 120ms cubic-bezier(.22,.61,.36,1);box-sizing:border-box}
.btn-wa:hover{background:#1eb958;color:#0b3d20}
.btn-outline-inverse{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:10px;border:1px solid var(--border-inverse);color:#fff;font-weight:600;text-decoration:none;transition:background 120ms cubic-bezier(.22,.61,.36,1);box-sizing:border-box}
.btn-outline-inverse:hover{background:rgba(255,255,255,.08);color:#fff}

/* ---------- Text elements ---------- */
.eyebrow{font-family:var(--font-sans);font-size:var(--fs-eyebrow);font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--brand-celeste)}
.eyebrow-inverse{color:rgba(255,255,255,.72)}

.stat-value{font-size:44px;font-weight:var(--fw-semibold);letter-spacing:var(--ls-display);line-height:1.05;color:var(--brand-navy)}
.stat-value--inverse{color:#fff}
.stat-label{margin-top:8px;font-size:14px;line-height:1.5;color:var(--text-muted);max-width:22ch}
.stat-label--inverse{color:rgba(255,255,255,.72)}

.icon{flex-shrink:0;display:block}

/* ---------- Sections ---------- */
.section-tint{background:var(--paper-tint);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}
.section-navy{position:relative;overflow:hidden;background:var(--brand-navy)}
.section-navy .watermark{position:absolute;pointer-events:none}

/* ---------- Reveal on scroll ---------- */
@keyframes bruRise{from{opacity:0;transform:translate3d(0,16px,0)}to{opacity:1;transform:none}}
html.bru-anim [data-reveal]{opacity:0}
html.bru-anim [data-reveal].bru-in{animation:bruRise 520ms cubic-bezier(.22,.61,.36,1) both}
@media (max-width:640px){@keyframes bruRise{from{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:none}}html.bru-anim [data-reveal].bru-in{animation-duration:340ms}}
@media (prefers-reduced-motion:reduce){html.bru-anim [data-reveal]{opacity:1}html.bru-anim [data-reveal].bru-in{animation:none}}

/* ---------- Cards ---------- */
.card-link{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border-subtle);border-radius:12px;padding:26px 26px 22px;color:inherit;text-decoration:none;transition:box-shadow 200ms cubic-bezier(.22,.61,.36,1),transform 200ms cubic-bezier(.22,.61,.36,1)}
.card-link:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);color:inherit}
.card-link h3{margin:20px 0 0;font-size:20px;font-weight:600;line-height:1.25;color:var(--brand-navy)}
.card-link p{margin:8px 0 0;font-size:15px;line-height:1.55;color:var(--text-body);flex:1}
.card-tag{margin-top:20px;align-self:flex-start;display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;font-size:13px;font-weight:600;background:var(--n-100);color:var(--n-600)}
.card-tag--sell{background:rgba(229,98,61,.1);color:var(--accent-coral)}

.big-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border-subtle);border-radius:16px;padding:32px;color:inherit;text-decoration:none;transition:box-shadow 200ms cubic-bezier(.22,.61,.36,1),transform 200ms cubic-bezier(.22,.61,.36,1)}
.big-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);color:inherit}
.big-card h3{margin:22px 0 0;font-size:21px;font-weight:600;line-height:1.2;color:var(--brand-navy)}
.big-card p{margin:10px 0 0;font-size:15px;line-height:1.6;color:var(--text-body);flex:1}
.big-card__link{margin-top:24px;display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--brand-celeste)}

.soft-card{display:flex;flex-direction:column;padding:28px;border:1px solid var(--border-subtle);border-radius:14px;background:#fff;transition:box-shadow 200ms cubic-bezier(.22,.61,.36,1),transform 200ms cubic-bezier(.22,.61,.36,1)}
.soft-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.soft-card h3{margin:20px 0 0;font-size:19px;font-weight:600;line-height:1.3;color:var(--brand-navy)}
.soft-card p{margin:10px 0 0;font-size:16px;line-height:1.6;color:var(--text-body)}

.logo-tile{display:flex;align-items:center;justify-content:center;min-height:150px;padding:24px;border:1px solid var(--border-subtle);border-radius:14px;transition:box-shadow 200ms cubic-bezier(.22,.61,.36,1),transform 200ms cubic-bezier(.22,.61,.36,1)}
.logo-tile:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.logo-tile img{width:auto;object-fit:contain;display:block}

/* ---------- Marquee ---------- */
[data-marquee]{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
[data-marquee-track]{display:flex;width:max-content;will-change:transform;animation:bruMarquee 42s linear infinite}
[data-marquee]:hover [data-marquee-track]{animation-play-state:paused}
[data-marquee] img{transition:transform 200ms cubic-bezier(.22,.61,.36,1)}
[data-marquee] img:hover{transform:scale(1.06)}
@keyframes bruMarquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media (prefers-reduced-motion:reduce){[data-marquee-track]{animation:none}[data-marquee]{overflow-x:auto}}
.marquee-group{display:flex;align-items:center;gap:72px;flex-shrink:0;padding-right:72px}
.marquee-logo{flex-shrink:0;height:104px;display:flex;align-items:center;justify-content:center}
.marquee-logo img{width:auto;height:auto;object-fit:contain;display:block}

/* ---------- Footer ---------- */
.site-footer{position:relative;overflow:hidden;background:var(--brand-navy);color:rgba(255,255,255,.72)}
.site-footer .watermark{position:absolute;left:-60px;bottom:-160px;height:440px;opacity:.05;pointer-events:none}
.site-footer__grid{position:relative;max-width:1200px;margin:0 auto;padding:clamp(56px,7vw,84px) 24px clamp(32px,4vw,44px);display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:clamp(32px,4vw,56px)}
.site-footer__brand p{margin:22px 0 0;font-size:16px;line-height:1.6;color:rgba(255,255,255,.72);max-width:30ch}
.site-footer__label{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.site-footer__list{margin-top:18px;display:flex;flex-direction:column;gap:14px}
.site-footer__list a,.site-footer__list span{display:flex;gap:12px;align-items:center;font-size:16px;color:rgba(255,255,255,.82)}
.site-footer__list a:hover{color:#fff}
.site-footer__sections{margin-top:18px;display:flex;flex-direction:column;gap:12px}
.site-footer__sections a{font-size:16px;color:rgba(255,255,255,.82)}
.site-footer__sections a:hover{color:#fff}
.site-footer__legal-wrap{position:relative;border-top:1px solid var(--border-inverse)}
[data-legal]{max-width:1200px;margin:0 auto;padding:28px 24px 100px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,56px);font-size:14px;line-height:1.6;color:rgba(255,255,255,.78)}
[data-legal] a{color:rgba(255,255,255,.78);text-decoration:underline;text-underline-offset:2px}
[data-legal] a:hover{color:#fff}
@media (max-width:900px){[data-legal]{grid-template-columns:1fr!important;gap:22px!important}}

/* ---------- WhatsApp FAB ---------- */
[data-fab]{position:fixed;right:20px;bottom:20px;z-index:80;display:inline-flex;align-items:center;gap:10px;height:56px;padding:0 22px;border-radius:999px;background:var(--brand-navy);color:#fff;font-size:16px;font-weight:600;text-decoration:none;box-shadow:0 10px 28px rgba(0,40,86,.28);transition:background 120ms cubic-bezier(.22,.61,.36,1),transform 200ms cubic-bezier(.22,.61,.36,1)}
[data-fab]:hover{background:var(--brand-navy-800);transform:translateY(-2px);color:#fff}

/* ---------- Forms ---------- */
.contact-form{margin-top:32px;background:#fff;border-radius:16px;padding:clamp(26px,3vw,34px);display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-field{display:flex;flex-direction:column;gap:8px}
.form-field span{font-size:14px;font-weight:500;color:var(--brand-navy)}
.form-field input,.form-field select,.form-field textarea{font-family:var(--font-sans);font-size:16px;color:var(--text-body);background:#fff;border:1px solid var(--n-200);border-radius:6px;padding:12px 14px;outline:none;resize:vertical;box-sizing:border-box;width:100%}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--brand-celeste);box-shadow:var(--shadow-focus)}
.form-col-2{grid-column:1/-1}
.form-consent{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;color:var(--text-body);cursor:pointer}
.form-consent input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--brand-celeste);flex-shrink:0;cursor:pointer}
[data-submit]{grid-column:1/-1;height:52px;border:0;border-radius:10px;background:var(--accent-coral);color:#fff;font-family:var(--font-sans);font-size:16px;font-weight:600;cursor:pointer;transition:background-color 120ms cubic-bezier(.22,.61,.36,1)}
[data-submit]:hover{background:var(--accent-coral-600)}
[data-submit]:disabled{background:var(--n-100)!important;color:var(--n-400);cursor:not-allowed}
.form-status{grid-column:1/-1}
.form-status p{margin:0;font-size:15px;line-height:1.55;font-weight:500}
.form-status .ok{color:var(--brand-navy)}
.form-status .err{color:var(--accent-coral)}
.form-status .err a{color:var(--accent-coral);text-decoration:underline;text-underline-offset:2px}
.form-note{grid-column:1/-1;margin:0;font-size:13px;line-height:1.5;color:var(--text-muted)}
@media (max-width:560px){.contact-form{grid-template-columns:1fr!important}}

/* ---------- Cotizador chips (home) ---------- */
[data-chip]{border-radius:999px;padding:11px 20px;font-family:var(--font-sans);font-size:15px;line-height:1.2;cursor:pointer;border-width:1px;border-style:solid;background:transparent;border-color:var(--border-inverse);color:rgba(255,255,255,.9);font-weight:500;transition:background-color 120ms cubic-bezier(.22,.61,.36,1),border-color 120ms cubic-bezier(.22,.61,.36,1),color 120ms cubic-bezier(.22,.61,.36,1)}
[data-chip][aria-pressed="true"]{background:var(--accent-coral);border-color:var(--accent-coral);color:#fff;font-weight:600}
[data-chip]:focus-visible{outline:2px solid var(--brand-celeste);outline-offset:2px}
[data-chip][aria-pressed="false"]:hover{background-color:rgba(255,255,255,.1);border-color:rgba(255,255,255,.4)}
[data-chip][aria-pressed="true"]:hover{background-color:var(--accent-coral-600);border-color:var(--accent-coral-600)}
@media (max-width:640px){[data-quote-row]{flex-direction:column;align-items:stretch}[data-quote-row]>a{width:100%}}

/* ---------- View transitions (progressive enhancement) ---------- */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:220ms;animation-timing-function:cubic-bezier(.22,.61,.36,1)}
::view-transition-group(bru-header),::view-transition-group(bru-footer),::view-transition-group(bru-fab){animation-duration:0s}
.site-header{view-transition-name:bru-header}
.site-footer{view-transition-name:bru-footer}
[data-fab]{view-transition-name:bru-fab}
@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(root),::view-transition-new(root){animation-duration:1ms!important}}

/* ---------- Shared responsive rules ---------- */
@media (max-width:640px){[data-otros] a.btn-wa{width:100%}}
@media (max-width:520px){[data-cov]{grid-template-columns:1fr!important}}
@media (max-width:420px){[data-ramos]{grid-template-columns:1fr!important}}
@media (max-width:1000px){[data-logos]{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media (max-width:760px){[data-logos]{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:860px){[data-cierre]{grid-template-columns:1fr!important}}
@media (max-width:960px){
.site-nav,[data-nav-desk]{display:none!important}
.menu-btn,[data-nav-mob]{display:inline-flex!important}
[data-hero]{text-align:center}
[data-hero-copy]{align-items:center!important}
[data-hero-lead],[data-hero-title]{margin-left:auto!important;margin-right:auto!important}
[data-diff]{grid-template-columns:1fr!important}
[data-ubi]{grid-template-columns:1fr!important}
}
@media (max-width:640px){
[data-cta-row]{flex-direction:column!important;align-items:stretch!important}
[data-cta-row]>a{text-align:center}
}
