
:root {
  --bg:#ece7df;
  --bg-2:#f4efe6;
  --bg-3:#e2ddd5;
  --paper:#f7f3eb;
  --text:#111111;
  --muted:#4e5358;
  --heading:#111111;
  --gold:#f0c000;
  --gold-deep:#d5a600;
  --gold-soft:rgba(240,192,0,.18);
  --line:rgba(17,17,17,.10);
  --line-soft:rgba(17,17,17,.06);
  --shadow:0 20px 50px rgba(0,0,0,.10);
  --radius-xl:28px;
  --radius-lg:22px;
  --radius-md:16px;
  --container:min(1220px, calc(100vw - 40px));
  --font:'Montserrat',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font);
  color:var(--text);
  background:
    radial-gradient(circle at 8% 10%, rgba(240,192,0,.10), transparent 18%),
    radial-gradient(circle at 92% 6%, rgba(0,0,0,.05), transparent 20%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 35%, var(--bg-3) 100%);
  line-height:1.72;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:var(--container);margin-inline:auto}
.section{padding:92px 0}
.section-dark{background:linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,.20))}
.section-contrast{background:linear-gradient(180deg, rgba(240,192,0,.06), rgba(255,255,255,.38))}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:16px;top:16px;z-index:999;background:var(--gold);color:#111;padding:12px 16px;border-radius:12px;font-weight:700}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;
  background:var(--gold-soft);border:1px solid rgba(240,192,0,.34);color:#5a4b00;
  font-size:.80rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
}
.eyebrow::before{content:'';width:8px;height:8px;border-radius:50%;background:linear-gradient(140deg,var(--gold),var(--gold-deep))}
.button{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 22px;border-radius:999px;font-weight:700;transition:.25s ease}
.button:hover{transform:translateY(-2px)}
.button-primary{color:#111;background:linear-gradient(135deg,var(--gold),#f6d54f);box-shadow:0 12px 28px rgba(240,192,0,.28)}
.button-secondary{background:rgba(255,255,255,.7);border:1px solid rgba(17,17,17,.12);color:#111}
.button-secondary:hover{border-color:rgba(240,192,0,.36)}
.site-header{position:sticky;top:0;z-index:100;backdrop-filter:blur(14px);background:rgba(244,239,230,.86);border-bottom:1px solid var(--line-soft)}
.header-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand-logo{height:100px;width:auto}
.main-nav{margin-left:auto}
.main-nav ul{list-style:none;padding:0;margin:0;display:flex;gap:22px;align-items:center}
.main-nav a{color:#1f1f1f;font-weight:600;font-size:.95rem;position:relative}
.main-nav a.active,.main-nav a:hover{color:#111}
.main-nav a.active::after,.main-nav a:hover::after{content:'';position:absolute;left:0;right:0;bottom:-10px;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold-deep))}
.nav-toggle{display:none;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.55);cursor:pointer}
.nav-toggle span{display:block;width:20px;height:2px;margin:2px 0;background:#111}
.header-actions{display:flex;gap:12px;align-items:center}
.page-hero{padding:42px 0 56px}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:34px;align-items:center}
.page-hero h1,.hero-title{margin:18px 0 16px;font-size:clamp(2.4rem,5vw,4.9rem);line-height:.96;letter-spacing:-.045em;max-width:860px;color:var(--heading)}
.hero-text,.content-block p,.section-heading p,.feature-card p,.value-card p,.product-copy p,.contact-card p,.benchmark-card p,.machine-card p,.mission-card p{color:var(--muted)}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.hero-points{ list-style:none;padding:0;margin-top:30px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.hero-points li{color:#111; font-size:.98rem;padding:18px;border-radius:18px;color:#111;font-weight:600;background:linear-gradient(180deg, rgba(255,255,255,.80), rgba(255,255,255,.65));border:1px solid var(--line);box-shadow:var(--shadow)}
.hero-stage,.media-stack{display:grid;gap:16px}
.hero-panel,.media-card,.media-photo{position:relative;overflow:hidden;border-radius:var(--radius-xl)}
.hero-panel-main{min-height:500px}
.hero-panel-grid,.media-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hero-panel img,.media-card img,.media-photo img{width:100%;height:100%;object-fit:cover}
.panel-note{position:absolute;inset:auto 18px 18px 18px;padding:16px 18px;border-radius:16px;background:rgba(247,243,235,.85);border:1px solid rgba(17,17,17,.08);backdrop-filter:blur(8px)}
.panel-note strong{display:block;margin-bottom:4px;color:#111}
.panel-note span{color:#4e5358;font-size:.92rem;line-height:1.55}
.panel-note.compact{padding:14px 16px}
.section-heading{max-width:860px;margin-bottom:36px}
.section-heading h2,.content-block h2{margin:16px 0 14px;font-size:clamp(2rem,4vw,3.2rem);line-height:.98;letter-spacing:-.03em;color:var(--heading)}
.breadcrumbs{margin-top:8px;color:#5c646b;font-size:.95rem}
.breadcrumbs a{color:#6b5b00}
.trust-band{padding:26px 0}
.trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.trust-card{padding:22px;border-radius:22px;background:linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.68));border:1px solid var(--line);box-shadow:var(--shadow)}
.trust-card strong{display:block;font-size:1.6rem;margin-bottom:8px;color:#111}
.split-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.dual-cards,.solution-grid,.benchmark-grid,.contact-grid,.client-grid,.machine-grid,.values-grid,.product-grid,.mission-values-grid,.brands-grid{display:grid;gap:18px}
.client-grid,.values-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.client-chip{text-align:center;padding:24px;background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.72));border:1px solid var(--line);box-shadow:var(--shadow);font-weight:700;color:#111;border-radius:var(--radius-xl)}
.benchmark-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.benchmark-card,.contact-card{border-radius:var(--radius-xl);padding:26px;background:linear-gradient(180deg, rgba(255,255,255,.75), rgba(255,255,255,.62));border:1px solid var(--line);box-shadow:var(--shadow)}
.benchmark-card{display:flex;flex-direction:column;gap:12px}
.benchmark-card h3,.contact-card strong{color:#111}
.benchmark-card a.inline-link{color:#6c5b00;font-weight:700}
.contact-grid{grid-template-columns:1.05fr .95fr;align-items:center}
.contact-card>div+div{margin-top:18px;padding-top:18px;border-top:1px dashed rgba(17,17,17,.10)}
.contact-card span.label{display:block;margin-bottom:6px;color:#6b5b00;font-weight:700;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}
.brands-ref{text-align:center}
.brands-ref .section-heading{max-width:100%;margin-bottom:22px}
.brands-ref .section-heading h2{text-align:center}
.brands-ref .section-heading .eyebrow{margin-inline:auto}
.brands-marquee{position:relative;overflow:hidden}
.brands-track{display:flex;width:max-content;gap:16px;align-items:center;animation:hanexMarquee 28s linear infinite;padding:8px 0 2px}
.brands-marquee:hover .brands-track{animation-play-state:paused}
.brand-card{min-width:180px;min-height:92px;padding:14px 18px;border-radius:var(--radius-xl);background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.75));border:1px solid rgba(17,17,17,.10);box-shadow:0 12px 26px rgba(0,0,0,.07);display:grid;place-items:center}
.brand-card img{max-width:116px;max-height:42px;object-fit:contain;filter:saturate(.96) contrast(1.02)}
@keyframes hanexMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.mvv-premium .section-heading{max-width:940px}
.mvv-premium-grid,.mission-values-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}
.mvv-card,.mission-card{border-radius:28px;padding:26px;background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.70));border:1px solid rgba(17,17,17,.10);box-shadow:0 20px 46px rgba(0,0,0,.09)}
.mvv-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg, rgba(240,192,0,.18), rgba(0,0,0,.03));border:1px solid rgba(17,17,17,.10);margin-bottom:16px}
.mvv-icon svg{width:28px;height:28px}.mvv-card h3,.mission-card h3{margin:0 0 12px;font-size:1.12rem;color:#111}.mvv-card p,.mvv-card li,.mission-card p,.mission-card li{color:#4e5358}.mvv-card ul,.mission-card ul{margin:0;padding-left:18px}.mvv-card ul li + li,.mission-card ul li + li{margin-top:8px}
.supply-section .split-layout{grid-template-columns:.98fr 1.02fr}
.supply-graphics{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.graphic-card{border-radius:28px;padding:18px;min-height:280px;background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.70));border:1px solid rgba(17,17,17,.10);box-shadow:0 18px 42px rgba(0,0,0,.08)}
.graphic-card svg{width:100%;height:100%;min-height:220px;display:block}
.supply-copy h2{margin-top:14px}.supply-bullets{display:grid;gap:16px;margin-top:22px}
.supply-item{border-radius:20px;padding:16px 18px;background:rgba(255,255,255,.64);border:1px solid rgba(17,17,17,.08)}
.supply-item strong{display:flex;align-items:flex-start;gap:10px;color:#111;margin-bottom:6px}
.supply-item .bullet-icon{width:22px;height:22px;flex:0 0 auto;margin-top:1px}
.supply-item p{margin:0;color:#4e5358}
.floating-contact{position:fixed;right:18px;bottom:18px;z-index:60;width:64px;height:64px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold),#f7d85d);box-shadow:0 18px 30px rgba(240,192,0,.32);color:#111;font-weight:800}
.floating-contact span{font-size:1.36rem;line-height:1}.floating-contact small{position:absolute;right:76px;white-space:nowrap;padding:10px 12px;border-radius:999px;background:rgba(255,255,255,.90);border:1px solid rgba(17,17,17,.10);color:#111;opacity:0;transform:translateY(8px);transition:.25s ease}.floating-contact:hover small{opacity:1;transform:translateY(0)}
.site-footer{padding:26px 0 42px;border-top:1px solid var(--line-soft)}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.footer-logo{height:80px;width:auto;margin-bottom:10px}.footer-inner p{color:var(--muted)}.footer-inner a{color:#6c5b00;font-weight:700}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}
@media (max-width:1120px){.hero-grid,.split-layout,.contact-grid{grid-template-columns:1fr}.benchmark-grid,.brands-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-grid,.mission-values-grid,.mvv-premium-grid,.supply-graphics,.supply-section .split-layout{grid-template-columns:1fr}}
@media (max-width:940px){.main-nav ul,.header-actions{display:none}.nav-toggle{display:inline-flex;flex-direction:column}.main-nav.nav-open ul{display:grid;position:absolute;top:78px;right:20px;min-width:260px;padding:18px;border-radius:18px;background:rgba(247,243,235,.98);border:1px solid var(--line);box-shadow:var(--shadow);gap:14px}.hero-points,.trust-grid,.client-grid,.benchmark-grid,.hero-panel-grid{grid-template-columns:1fr}}
@media (max-width:640px){.section{padding:76px 0}.container{width:min(100vw - 24px,1220px)}.page-hero{padding:28px 0 42px}.hero-panel-main{min-height:340px}.floating-contact{width:58px;height:58px}.floating-contact small{display:none}}


/* ===== Extensión multipágina ===== */
.page-intro { max-width: 860px; margin-bottom: 34px; }
.section-subtitle { color: var(--muted); max-width: 860px; }
.info-grid-2 { display:grid; grid-template-columns: 1fr 1fr; gap:18px; }
.info-card, .solution-card, .product-card, .machine-card, .case-card, .contact-card-premium {
  border-radius: var(--radius-xl);
  background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.70));
  border:1px solid var(--line); box-shadow:var(--shadow);
}
.info-card, .solution-card, .case-card, .contact-card-premium { padding:26px; }
.info-card h3, .solution-card h3, .case-card h3, .contact-card-premium h3 { margin:0 0 10px; color:#111; }
.info-card p, .solution-card p, .case-card p, .contact-card-premium p { color:var(--muted); }
.hero-banner-slim {
  border-radius: var(--radius-xl); overflow:hidden; min-height: 280px;
  background: linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.68));
  border:1px solid var(--line); box-shadow:var(--shadow);
}
.hero-banner-slim img { width:100%; height:100%; object-fit:cover; }
.solutions-grid-4 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.solution-card { padding:24px; position:relative; overflow:hidden; }
.solution-card::after { content:''; position:absolute; right:-40px; bottom:-45px; width:160px; height:160px; border-radius:50%; background: radial-gradient(circle, rgba(240,192,0,.16), transparent 68%); }
.solution-index { width:46px; height:46px; display:grid; place-items:center; border-radius:14px; font-weight:800; margin-bottom:14px; background:linear-gradient(135deg, rgba(240,192,0,.18), rgba(17,17,17,.06)); border:1px solid rgba(17,17,17,.10); }
.product-grid-2 { display:grid; grid-template-columns: 1fr 1fr; gap:18px; }
.product-card { overflow:hidden; }
.product-card .product-media { border-bottom:1px solid var(--line); }
.product-copy p { margin:0; }
.machine-grid-full { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.machine-card { overflow:hidden; border-radius:var(--radius-xl); background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.70)); border:1px solid var(--line); box-shadow:var(--shadow); }
.machine-photo { aspect-ratio: 16/10; overflow:hidden; border-bottom:1px solid var(--line); }
.machine-photo img { width:100%; height:100%; object-fit:cover; }
.machine-copy { padding:22px; }
.machine-copy strong { display:block; margin-bottom:8px; color:#111; }
.machine-copy p { color:var(--muted); margin:0 0 12px; }
.contact-layout { display:grid; grid-template-columns: 1.1fr .9fr; gap:22px; align-items:start; }
.contact-list { list-style:none; padding:0; margin:0; display:grid; gap:14px; }
.contact-list li { padding:14px 16px; border-radius:16px; background:rgba(255,255,255,.72); border:1px solid var(--line); }
.contact-list strong { display:block; margin-bottom:6px; color:#111; }
.modal { position:fixed; inset:0; background:rgba(17,17,17,.55); display:none; align-items:center; justify-content:center; z-index:200; padding:24px; }
.modal.open { display:flex; }
.modal-dialog { width:min(1100px, calc(100vw - 24px)); max-height:90vh; overflow:auto; border-radius:26px; background:var(--paper); border:1px solid var(--line); box-shadow:0 30px 80px rgba(0,0,0,.28); position:relative; }
.modal-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:0; }
.modal-media { background:linear-gradient(180deg,#fff,#f2ede5); min-height:100%; padding:24px; border-right:1px solid var(--line); }
.modal-media img { border-radius:18px; margin-bottom:16px; aspect-ratio:16/10; object-fit:cover; width:100%; }
.video-frame { aspect-ratio:16/9; border-radius:16px; overflow:hidden; border:1px solid var(--line); background:#000; }
.video-frame iframe { width:100%; height:100%; border:0; }
.modal-content { padding:28px; }
.modal-header { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; margin-bottom:18px; }
.modal-header h3 { margin:0; font-size:1.7rem; color:#111; }
.modal-close { width:42px; height:42px; border-radius:999px; border:1px solid var(--line); background:#fff; cursor:pointer; font-size:1.2rem; }
.spec-list { display:grid; gap:10px; list-style:none; padding:0; margin:16px 0 0; }
.spec-list li { padding:12px 14px; border-radius:14px; background:#fbfaf6; border:1px solid rgba(17,17,17,.08); color:#374047; }

@media (max-width:1120px){
  .solutions-grid-4, .machine-grid-full, .contact-layout, .product-grid-2, .info-grid-2, .modal-grid { grid-template-columns:1fr; }
  .modal-media { border-right:none; border-bottom:1px solid var(--line); }
}
@media (max-width:940px){
  .solutions-grid-4, .machine-grid-full, .product-grid-2, .info-grid-2 { grid-template-columns:1fr; }
}
@media (max-width:640px){
  .modal { padding:10px; }
  .modal-dialog { width:calc(100vw - 12px); }
}
