:root{
    --azul-oscuro:#141414;
    --azul-medio:#3A3A3A;
    --azul-claro:#CAC4B6;
    --rojo:#141414;
    --bronce:#C9A84C;
    --gris:#808285;
    --marfil:#F7F5F1;
    --bg:#ffffff;
    --ink:#1B1B1B;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--ink);
    font-family:'Montserrat','Montserrat Fallback',Arial,sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{display:block; max-width:100%;}
  a{text-decoration:none; color:inherit;}
  .wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
  .eyebrow{
    display:inline-flex; align-items:center; gap:10px;
    font-size:13px; letter-spacing:3px; text-transform:uppercase;
    font-weight:700; color:var(--bronce);
  }
  .eyebrow::before{content:""; width:26px; height:1px; background:var(--bronce);}
  .eyebrow.center{justify-content:center;} .eyebrow.center::before{display:none;}
  h1,h2,h3,h4{font-weight:600; letter-spacing:-0.01em;}

  /* NAV */
  header.nav{
    position:fixed; top:0; left:0; right:0; z-index:500;
    padding:18px 0; transition:background .3s ease, padding .3s ease, box-shadow .3s ease;
    background:#0A0A0A; box-shadow:0 1px 0 rgba(255,255,255,.06);
  }
  header.nav .wrap{display:flex; align-items:center; justify-content:space-between; max-width:1320px;}
  .brand{display:flex; align-items:center; gap:12px; font-weight:700; font-size:19px; letter-spacing:.5px; color:#fff; cursor:pointer; flex:none;}
  .brand img{height:30px; width:auto;}
  nav.links{display:flex; align-items:center; gap:19px; flex-wrap:nowrap;}
  nav.links a{
    color:#fff; font-size:13.5px; letter-spacing:.5px; text-transform:uppercase; white-space:nowrap;
    font-weight:600; opacity:.78; transition:opacity .2s, color .2s; cursor:pointer; padding:6px 0; position:relative;
  }
  nav.links a:hover, nav.links a.active{opacity:1; color:var(--bronce);}
  nav.links a.pill{
    border:1px solid rgba(255,255,255,.4); padding:8px 14px; border-radius:2px; opacity:1; color:#fff;
  }
  nav.links a.pill:hover{border-color:var(--bronce); color:var(--bronce);}
  nav.links a.pill.gold{background:var(--bronce); border-color:var(--bronce); color:#fff;}
  nav.links a.pill.icon-pill{display:inline-flex; align-items:center; justify-content:center; padding:6px; line-height:0; border:none; opacity:.85;}
  nav.links a.pill.icon-pill:hover{opacity:1;}
  nav.links a.pill.icon-pill svg{width:18px; height:18px; display:block;}
  nav.links .lang-toggle{
    border:none; padding:6px 4px; border-radius:2px; white-space:nowrap;
    color:#fff; font-size:12px; letter-spacing:.5px; font-weight:600; opacity:.78; flex:none;
    cursor:pointer; transition:opacity .2s, color .2s, border-color .2s;
  }
  nav.links .lang-toggle:hover{opacity:1; color:var(--bronce); border-color:var(--bronce);}
  .nav-item{position:relative; display:flex; align-items:center;}
  .nav-item .caret{font-size:10px; margin-left:5px; opacity:.7; transition:transform .18s ease;}
  .nav-item:hover .caret{transform:rotate(180deg);}
  .nav-item .dropdown{
    position:absolute; top:100%; left:50%; transform:translateX(-50%); padding-top:14px;
    opacity:0; visibility:hidden; pointer-events:none; transition:opacity .18s ease;
  }
  .nav-item:hover .dropdown{opacity:1; visibility:visible; pointer-events:auto;}
  .nav-item .dropdown-inner{
    background:#141414; border:1px solid rgba(255,255,255,.1); border-radius:4px; padding:8px 0; min-width:170px;
    box-shadow:0 14px 28px rgba(0,0,0,.4);
  }
  .nav-item .dropdown a{display:block; padding:10px 20px; font-size:13.5px; letter-spacing:.5px; text-transform:none; opacity:.82; white-space:nowrap; font-weight:500;}
  .nav-item .dropdown a:hover, .nav-item .dropdown a.active{opacity:1; color:var(--bronce); background:rgba(255,255,255,.04);}

  .nav-burger{display:none; flex-direction:column; justify-content:center; gap:5px; width:30px; height:24px; background:none; border:none; cursor:pointer; padding:0; flex:none; z-index:502; position:relative;}
  .nav-burger span{display:block; width:100%; height:2px; background:#fff; border-radius:1px; transition:transform .25s ease, opacity .25s ease;}
  .nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
  .nav-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .mobile-nav{display:none; flex-direction:column; gap:2px; position:fixed; top:0; right:0; bottom:0; width:min(320px,84vw); background:#0A0A0A; z-index:499; padding:100px 30px 40px; overflow-y:auto; transform:translateX(100%); transition:transform .3s ease; box-shadow:-10px 0 30px rgba(0,0,0,.35);}
  .mobile-nav.is-open{transform:translateX(0);}
  .mobile-nav a{color:#fff; font-size:15.5px; letter-spacing:.3px; text-transform:uppercase; font-weight:600; opacity:.85; padding:15px 0; border-bottom:1px solid rgba(255,255,255,.08); cursor:pointer;}
  .mobile-nav a:hover, .mobile-nav a.active{opacity:1; color:var(--bronce);}
  .mobile-nav-group{display:flex; flex-direction:column; border-bottom:1px solid rgba(255,255,255,.08);}
  .mobile-nav-group a{border-bottom:none; padding:11px 0 11px 16px; font-size:14px; opacity:.72;}
  .mobile-nav-label{color:var(--bronce); font-size:12px; letter-spacing:1.2px; text-transform:uppercase; font-weight:700; padding:11px 0 4px;}
  .mobile-nav-cta{margin-top:22px; background:var(--bronce); color:#fff !important; text-align:center; border-radius:2px; padding:15px !important; border-bottom:none !important; opacity:1 !important; font-weight:700;}
  .nav-backdrop{display:none; position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:498;}
  .nav-backdrop.is-open{display:block;}

  /* Generic page structure */
  .page{display:none;}
  .page.active{display:block;}

  .hero{
    position:relative; min-height:88vh; display:flex; align-items:flex-start;
    color:#fff; overflow:hidden; padding-top:148px;
  }
  .hero img.bg, .hero video.bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
  .hero .overlay{position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.4) 0%, rgba(0,0,0,.22) 35%, rgba(0,0,0,.68) 100%);}
  .hero.dark{background:var(--azul-oscuro);}
  .hero.hero-std{height:auto; min-height:76vh;}
  .hero.hero-std.cf-hero{height:auto; min-height:74vh;}
  .hero.hero-std.dist-hero{height:auto; min-height:54vh;}
  @media(max-width:760px){ .hero.hero-std.dist-hero{min-height:44vh;} }
  @media(max-width:760px){ .hero.hero-std{height:auto; min-height:48vh;} }
  .hero.hero-std.hero-compact{min-height:34vh;}
  .hero.hero-std.hero-compact .content{padding-bottom:44px;}
  @media(max-width:760px){ .hero.hero-std.hero-compact{min-height:30vh;} }
  .hero .content{position:relative; z-index:2; padding-bottom:80px; width:100%;}
  .hero h1{font-size:clamp(30px,4.6vw,58px); line-height:1.08; max-width:820px; margin:18px 0 20px; font-weight:600;}
  .hero h1 em{font-style:normal; color:var(--bronce);}
  .hero p.lead{max-width:560px; font-size:18.5px; line-height:1.65; opacity:.92; font-weight:400;}
  .hero .cta-row{display:flex; gap:16px; margin-top:30px; flex-wrap:wrap;}
  .hero .cta-row.stack{flex-direction:column; align-items:flex-start; gap:16px;}
  .hero-text-link{font-size:14.5px; font-weight:700; letter-spacing:.3px; color:var(--bronce); cursor:pointer; border-bottom:1px solid rgba(201,168,76,.5); padding-bottom:2px; transition:border-color .2s, opacity .2s;}
  .hero-text-link:hover{border-color:var(--bronce); opacity:.85;}

  .btn{display:inline-block; padding:14px 28px; font-size:14px; letter-spacing:1.8px; text-transform:uppercase; font-weight:700; border-radius:2px; transition:opacity .2s, transform .2s; cursor:pointer; border:none;}
  .btn:hover{opacity:.88; transform:translateY(-1px);}
  .btn.solid-gold{background:var(--bronce); color:#fff;}
  .btn.solid-red{background:var(--rojo); color:#fff;}
  .btn.outline-light{border:1px solid rgba(255,255,255,.55); color:#fff; background:transparent;}
  .btn.outline-dark{border:1px solid var(--azul-oscuro); color:var(--azul-oscuro); background:transparent;}
  .link-arrow{font-size:14.5px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--rojo); cursor:pointer;}

  .section{padding:96px 0;}
  .section-sm{padding:56px 0;}
  .section.ivory{background:var(--marfil);}
  .section.navy{background:var(--azul-oscuro); color:#fff;}
  .section.navy .eyebrow{color:var(--bronce);}
  .section.navy p{color:var(--azul-claro);}
  .section-head{max-width:680px; margin:0 auto 52px; text-align:center;}
  .section-head.left{text-align:left; margin-left:0;}
  .section-head h2{font-size:clamp(26px,3.2vw,40px); margin-top:14px; line-height:1.25; color:var(--azul-oscuro);}
  .section.navy .section-head h2, .section.dark-bg .section-head h2{color:#fff;}
  .section-head p{font-size:17px; line-height:1.7; color:var(--gris); margin-top:14px;}
  .section.navy .section-head p{color:var(--azul-claro);}

  /* Cert strip */
  .cert-strip{display:flex; gap:0; justify-content:space-between; flex-wrap:wrap; padding:34px 0; border-top:1px solid #ECE7DD; border-bottom:1px solid #ECE7DD;}
  .cert-strip span{font-size:13.5px; letter-spacing:1px; text-transform:uppercase; font-weight:600; color:var(--gris); padding:6px 14px;}

  /* Cert gold marquee */
  .cert-gold-band{background:var(--bronce); padding:36px 32px 40px; overflow:hidden;}
  .cert-gold-band .eyebrow{color:#fff; font-weight:700;}
  .clients-dark-band{background:var(--bronce); padding:36px 0 40px;}
  .clients-dark-band .eyebrow{color:#fff; font-weight:700;}
  .clients-row{display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:56px; padding:0 24px;}
  @media(max-width:640px){ .clients-row{gap:36px;} }
  .cert-marquee{width:100%; overflow:hidden; -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0),#000 8%,#000 92%,rgba(0,0,0,0)); mask-image:linear-gradient(90deg,rgba(0,0,0,0),#000 8%,#000 92%,rgba(0,0,0,0));}
  .cert-track{display:flex; align-items:center; gap:60px; width:max-content; animation:certScroll 42s linear infinite;}
  .cert-marquee:hover .cert-track{animation-play-state:paused;}
  .cert-item{flex:0 0 auto; height:46px; display:flex; align-items:center; justify-content:center;}
  .cert-item img{height:100%; width:auto; max-width:150px; object-fit:contain;}
  @keyframes certScroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}
  @media (max-width:640px){.cert-track{animation-duration:26s;} .cert-item{height:36px;} .cert-item img{max-width:110px;}}
  .clients-track{animation-duration:70s;}
  @media (max-width:640px){.clients-track{animation-duration:40s;}}

  /* Fork cards (Home) */
  .fork-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:20px;}
  .fork-card{position:relative; border-radius:4px; overflow:hidden; height:400px; display:flex; align-items:flex-end; color:#fff; isolation:isolate; cursor:pointer;}
  .fork-card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform .6s ease;}
  .fork-card:hover img{transform:scale(1.05);}
  .fork-card::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(15,26,45,.1) 0%, rgba(11,20,36,.92) 88%);}
  .fork-card .fc-body{padding:32px; width:100%;}
  .fork-card .tag{display:inline-block; font-size:12.5px; letter-spacing:2.5px; text-transform:uppercase; font-weight:700; padding:5px 11px; border:1px solid rgba(255,255,255,.5); margin-bottom:14px;}
  .fork-card h3{font-size:25px; margin-bottom:10px;}
  .fork-card p{font-size:15.5px; line-height:1.6; opacity:.88; max-width:360px; font-weight:300;}

  /* Business cards grid (3 cols) */
  .card-grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:20px;}
  .biz-card{border:1px solid #2C2C2C; border-radius:6px; padding:32px 26px; background-color:#3D3D3D; background-image:url('images/img-59c73f0132a76797.png'); background-repeat:no-repeat; background-position:center center; background-size:850px; transition:box-shadow .25s, transform .25s;}
  .biz-card:hover{box-shadow:0 16px 36px rgba(0,0,0,.25); transform:translateY(-3px);}
  .biz-card .ico{width:40px; height:40px; border-radius:50%; background:rgba(201,168,76,.15); display:flex; align-items:center; justify-content:center; margin-bottom:18px; color:var(--bronce); font-size:20px; font-weight:700;}
  .biz-card h4{font-size:19px; color:#fff; margin-bottom:10px;}
  .biz-card p{font-size:15px; line-height:1.6; color:#C7C7C7; font-weight:700;}
  .biz-card .go{display:block; margin-top:16px; font-size:13.5px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--bronce);}
  .biz-card .go-alt{display:block; margin-top:9px; font-size:12.5px; font-weight:600; letter-spacing:.2px; text-transform:none; color:#C7C7C7; opacity:.85;}
  .biz-card .go-alt:hover{opacity:1; color:var(--bronce);}

  /* Pillars (Industrial) */
  .pillars{display:grid; grid-template-columns:repeat(5,1fr); gap:2px; background:rgba(255,255,255,.12); margin-top:10px;}
  .pillars-4{grid-template-columns:repeat(4,1fr); background:rgba(11,36,64,.08);}
  .pillar{background:var(--azul-oscuro); padding:30px 20px;}
  .pillar .pn{font-size:13px; color:var(--bronce); letter-spacing:2px; font-weight:700;}
  .pillar-icon{width:100%; color:var(--bronce); display:flex; align-items:center; justify-content:center; margin:0 auto 20px;}
  .pillar-icon svg{width:42px; height:42px;}
  .pillar h4{font-size:19px; margin:10px 0 8px; color:#fff; text-align:center;}
  .pillar p{font-size:15px; line-height:1.6; color:var(--azul-claro); text-align:center;}
  .pillar .big-n{text-align:center; font-size:34px; font-weight:700; color:var(--bronce); line-height:1; margin:2px 0 8px;}
  .pillar .big-n span{font-size:14px; font-weight:400; color:var(--azul-claro); margin-left:5px;}
  .cap-stats{margin-top:22px; border-top:1px solid #ECE7DD;}
  .cap-stats .cap-stat{display:flex; align-items:baseline; justify-content:space-between; gap:14px; padding:16px 0; border-bottom:1px solid #ECE7DD;}
  .cap-stats .cap-stat .n{font-size:36px; font-weight:700; color:var(--bronce); line-height:1; white-space:nowrap;}
  .cap-stats .cap-stat .n span{font-size:14px; font-weight:400; color:var(--gris); margin-left:6px;}
  .cap-stats .cap-stat .l{font-size:15.5px; color:var(--ink); font-weight:500; text-transform:uppercase; letter-spacing:.5px;}

  .cap-table{width:100%; border-collapse:collapse; margin-top:20px;}
  .cap-table th,.cap-table td{text-align:left; padding:14px 16px; border-bottom:1px solid rgba(255,255,255,.12); font-size:15.5px;}
  .cap-table th{font-size:13px; letter-spacing:1.5px; text-transform:uppercase; color:var(--bronce); font-weight:700;}
  .cap-table td{color:#fff; font-weight:300;}
  .cap-table td.n{font-weight:700; color:var(--bronce); font-size:24px;}

  .imgph{position:relative; border-radius:4px; overflow:hidden; background:linear-gradient(135deg,#232323,#0A0A0A); border:1px dashed rgba(255,255,255,.25); display:flex; align-items:center; justify-content:center; min-height:220px; padding:20px;}
  .imgph.light{background:linear-gradient(135deg,#f1eee7,#e7e2d8); border-color:rgba(27,54,92,.25);}
  .imgph .lbl{font-size:13px; letter-spacing:.8px; color:rgba(255,255,255,.65); text-align:center; line-height:1.6;}
  .imgph.light .lbl{color:var(--gris);}
  .imgph .lbl b{display:block; color:var(--bronce); font-size:12px; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:8px;}

  .ind-links{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:56px;}
  .ind-link-card{border:1px solid #ECE7DD; border-radius:6px; padding:22px; background:#fff; cursor:pointer; transition:box-shadow .2s;}
  .ind-link-card:hover{box-shadow:0 12px 28px rgba(27,54,92,.08);}
  .ind-link-card .n{font-size:13px; color:var(--bronce); font-weight:700; letter-spacing:1.5px;}
  .ind-link-card h5{font-size:16.5px; color:var(--azul-oscuro); margin:8px 0 6px;}
  .ind-link-card p{font-size:14px; color:var(--gris); line-height:1.5;}

  .product-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:36px;}
  .product-card{border:1px solid #ECE7DD; border-radius:6px; padding:26px 18px; background:#fff; text-align:center; transition:box-shadow .2s, transform .2s;}
  .product-card:hover{box-shadow:0 12px 28px rgba(27,54,92,.08); transform:translateY(-3px);}
  .product-card img{width:44px; height:44px; margin:0 auto 16px; display:block;}
  .product-card h5{font-size:16px; color:var(--azul-oscuro); margin-bottom:8px;}
  .product-card .n{font-size:19px; font-weight:700; color:var(--bronce); margin-bottom:6px; line-height:1;}
  .product-card p{font-size:14px; color:var(--gris); line-height:1.55;}
  @media(max-width:900px){.product-grid{grid-template-columns:repeat(2,1fr);}}

  .cap-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:36px;}
  .cap-card{background:#fff; border:1px solid #ECE7DD; border-radius:10px; overflow:hidden; transition:box-shadow .2s, transform .2s;}
  .cap-card:hover{box-shadow:0 12px 28px rgba(27,54,92,.08); transform:translateY(-3px);}
  .cap-img{height:150px; overflow:hidden;}
  .cap-img img{width:100%; height:100%; object-fit:cover; display:block;}
  .cap-body{padding:20px 20px 22px;}
  .cap-n{font-size:28px; font-weight:800; color:var(--azul-oscuro); line-height:1;}
  .cap-n span{font-size:11px; font-weight:700; color:var(--gris); text-transform:uppercase; letter-spacing:.4px; margin-left:8px;}
  .cap-body h5{font-size:14px; font-weight:700; color:var(--azul-oscuro); text-transform:uppercase; letter-spacing:.3px; margin-top:10px; margin-bottom:12px; line-height:1.3;}
  .cap-body ul{list-style:none; padding:0; margin:0;}
  .cap-body ul li{font-size:13.5px; color:var(--gris); padding-left:14px; position:relative; margin-bottom:5px;}
  .cap-body ul li::before{content:""; position:absolute; left:0; top:7px; width:5px; height:5px; border-radius:50%; background:var(--bronce);}
  @media(max-width:900px){.cap-grid{grid-template-columns:repeat(2,1fr);}}

  /* Brand cards (Marcas) */
  .brand-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:10px;}
  .brand-card{border:1px solid #ECE7DD; border-radius:6px; padding:30px 24px 26px; text-align:center; background:#fff; transition:box-shadow .25s, transform .25s; cursor:pointer;}
  .brand-card:hover{box-shadow:0 18px 40px rgba(27,54,92,.1); transform:translateY(-4px);}
  .brand-card img{height:150px; margin:0 auto 18px; object-fit:contain;}
  .brand-card .role{font-size:12px; letter-spacing:2px; text-transform:uppercase; font-weight:700; color:var(--bronce); margin-bottom:8px;}
  .brand-card h4{font-size:20px; color:var(--azul-oscuro); margin-bottom:8px;}
  .brand-card p{font-size:14.5px; line-height:1.6; color:var(--gris);}

  .line-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:14px; margin-top:24px;}
  .line-card{border:1px solid #ECE7DD; border-radius:6px; padding:18px 14px; text-align:center; background:var(--marfil);}
  .line-card .intensity{font-size:13px; letter-spacing:1.5px; text-transform:uppercase; color:var(--rojo); font-weight:700; margin-bottom:6px;}
  .line-card h5{font-size:16px; color:var(--azul-oscuro); margin-bottom:6px;}
  .line-card p{font-size:14px; color:var(--gris); line-height:1.5;}

  .stat-row{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#ECE7DD; margin-top:30px;}
  .stat-row.stat-row-4{grid-template-columns:repeat(4,1fr);}
  .stat-row .stat{background:#fff; padding:26px 22px;}
  .stat-row .stat .n{font-size:46px; font-weight:700; color:var(--bronce); line-height:1; opacity:0; transform:translateY(12px); transition:opacity .65s cubic-bezier(.2,.7,.3,1), transform .65s cubic-bezier(.2,.7,.3,1); transition-delay:var(--d,0ms);}
  .stat-row .stat .l{font-size:14px; font-weight:700; color:var(--gris); margin-top:6px; line-height:1.4; opacity:0; transform:translateY(12px); transition:opacity .65s cubic-bezier(.2,.7,.3,1), transform .65s cubic-bezier(.2,.7,.3,1); transition-delay:calc(var(--d,0ms) + 100ms);}
  .stat-row.in-view .stat .n, .stat-row.in-view .stat .l{opacity:1; transform:translateY(0);}

  .recog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:26px;}
  .recog-card{border:1px solid #ECE7DD; border-radius:6px; padding:22px 20px; background:#fff;}
  .recog-card .tag{font-size:13px; letter-spacing:1.5px; text-transform:uppercase; color:var(--bronce); font-weight:700; margin-bottom:8px;}
  .recog-card h5{font-size:16px; color:var(--azul-oscuro); margin-bottom:6px; line-height:1.35;}
  .recog-card p{font-size:14px; color:var(--gris); line-height:1.55;}
  .sustain-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:36px;}
  .sustain-card{border:1px solid rgba(255,255,255,.14); border-radius:6px; padding:22px 20px; background:rgba(255,255,255,.04);}
  .sustain-card .tag{font-size:12.5px; letter-spacing:1.5px; text-transform:uppercase; color:var(--bronce); font-weight:700; margin-bottom:8px;}
  .sustain-card h5{font-size:16px; color:#fff; margin-bottom:6px; line-height:1.35;}
  .sustain-card p{font-size:14px; color:var(--azul-claro); line-height:1.55;}
  @media(max-width:900px){ .sustain-grid{grid-template-columns:repeat(2,1fr);} }
  @media(max-width:560px){ .sustain-grid{grid-template-columns:1fr;} }
  .finder-filters{margin-top:30px; display:flex; flex-direction:column; gap:22px;}
  .finder-group-label{font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:var(--gris); margin-bottom:10px;}
  .finder-options{display:flex; gap:10px; flex-wrap:wrap;}
  .finder-opt{display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border:1.5px solid #E4DECF; border-radius:8px; background:#fff; font-size:13.5px; font-weight:700; color:var(--azul-oscuro); cursor:pointer; transition:border-color .18s ease, background .18s ease, color .18s ease, transform .12s ease;}
  .finder-opt[hidden]{display:none !important;}
  .finder-opt-icon{width:18px; height:18px; color:var(--gris); flex-shrink:0; display:flex;}
  .finder-opt-icon svg{width:100%; height:100%;}
  .finder-opt-swatch{width:14px; height:14px; border-radius:50%; flex-shrink:0; border:1px solid rgba(0,0,0,.1); display:inline-block;}
  .swatch-claro{background:#C9A876;}
  .swatch-medio{background:#8B5A2B;}
  .swatch-oscuro{background:#3B2415;}
  .finder-opt:hover{border-color:var(--bronce);}
  .finder-opt:active{transform:scale(.97);}
  .finder-opt.is-selected{background:var(--azul-oscuro); border-color:var(--azul-oscuro); color:#fff;}
  .finder-opt.is-selected .finder-opt-icon{color:#fff;}
  .finder-opt.is-selected .finder-opt-swatch{border-color:rgba(255,255,255,.5);}

  .finder-result-bar{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-top:28px; padding-top:20px; border-top:1px solid #ECE7DD;}
  .finder-count{font-size:13px; color:var(--gris); font-weight:700;}
  .finder-reset{font-size:13px; font-weight:700; color:var(--bronce); cursor:pointer; border:none; background:none; border-bottom:1px solid rgba(201,168,76,.5); padding:0 0 2px;}

  /* Catálogo de productos: slider horizontal de UNA sola fila.
     Las tarjetas nunca generan una segunda fila: todo el catálogo
     continúa hacia la derecha y se navega con controles inferiores. */
  .finder-cards{
    --finder-card-w:220px;
    --finder-gap:16px;
    display:flex;
    flex-wrap:nowrap;
    gap:var(--finder-gap);
    width:100%;
    margin-top:20px;
    padding:0 38px 4px 0;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    scroll-padding-left:0;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .finder-cards::-webkit-scrollbar{display:none;}
  .finder-card{
    position:relative;
    flex:0 0 var(--finder-card-w);
    width:var(--finder-card-w);
    aspect-ratio:3/4;
    min-width:0;
    border-radius:10px;
    background:transparent;
    cursor:pointer;
    perspective:1400px;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
  .finder-card-inner{position:relative; width:100%; height:100%; transition:transform .6s cubic-bezier(.4,.15,.2,1); transform-style:preserve-3d;}
  .finder-card:hover .finder-card-inner, .finder-card.is-active .finder-card-inner, .finder-card:focus-visible .finder-card-inner{transform:rotateY(180deg);}
  .finder-card-face{position:absolute; inset:0; border-radius:10px; overflow:hidden; backface-visibility:hidden; -webkit-backface-visibility:hidden;}
  .finder-card-front{background:#EFEAE0;}
  .finder-card-front img{width:100%; height:100%; object-fit:cover; display:block;}
  .finder-card-back{background:var(--azul-oscuro); transform:rotateY(180deg); display:flex; flex-direction:column; padding:20px 18px; overflow-y:auto;}
  .finder-card-back h5{font-size:18px; color:#fff; margin-bottom:4px;}
  .finder-card-back .perfil-line{font-size:13px; font-weight:700; color:#fff; margin-bottom:10px;}
  .finder-card-back .finder-spec{font-size:12.5px; color:rgba(255,255,255,.82); margin-bottom:3px; line-height:1.5;}
  .finder-card-back .finder-spec strong{color:#fff;}
  .finder-card-back .finder-fit{font-size:13px; color:rgba(255,255,255,.88); margin-top:12px; line-height:1.55; font-style:italic;}
  .finder-card-back .brand-card-cta{margin-top:auto; padding-top:14px; color:var(--bronce);}
  .finder-empty{margin-top:20px; font-size:14px; color:var(--gris); text-align:center; padding:34px 20px; border:1px dashed #D8D2C4; border-radius:10px;}

  /* Controles visibles del slider */
  .finder-slider-controls{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin-top:18px;
    min-height:42px;
  }
  .finder-slider-controls[hidden]{display:none !important;}
  .finder-slider-arrow{
    width:40px;
    height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #D8D2C4;
    border-radius:50%;
    background:#fff;
    color:var(--azul-oscuro);
    font:inherit;
    font-size:20px;
    line-height:1;
    cursor:pointer;
    transition:border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease, opacity .18s ease;
  }
  .finder-slider-arrow:hover:not(:disabled){border-color:var(--bronce); color:var(--bronce); transform:translateY(-1px);}
  .finder-slider-arrow:disabled{opacity:.28; cursor:default;}
  .finder-slider-dots{display:flex; align-items:center; justify-content:center; gap:7px; min-width:44px;}
  .finder-slider-dot{
    width:7px;
    height:7px;
    padding:0;
    border:0;
    border-radius:999px;
    background:#CFC8BA;
    cursor:pointer;
    transition:width .2s ease, background .2s ease, transform .2s ease;
  }
  .finder-slider-dot:hover{transform:scale(1.15);}
  .finder-slider-dot.is-active{width:22px; background:var(--bronce);}
  @media (prefers-reduced-motion: no-preference){
    .finder-card{animation: finderReveal .4s cubic-bezier(.16,1,.3,1) both;}
  }
  @keyframes finderReveal{ from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:translateY(0);} }
  @media(max-width:640px){
    .finder-opt{padding:8px 13px; font-size:13px;}
    .finder-result-bar{flex-direction:column; align-items:flex-start;}
    .stat-row{grid-template-columns:repeat(2,1fr);}
    .stat-row .stat{padding:20px 16px;}
    .stat-row .stat .n{font-size:32px;}
    .nl-box{margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); margin-bottom:24px; width:100vw; max-width:100vw; border-radius:0 !important; padding:40px 24px;}
    .nl-form{flex-wrap:wrap;}
    .nl-form input{min-width:0; flex:1 1 100%;}
    .nl-form .btn{flex:1 1 100%; text-align:center;}
  }
  @media(max-width:480px){
    .stat-row, .stat-row.stat-row-4{grid-template-columns:1fr;}
  }

  .recog-strip{display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:12px 40px; padding:18px 0; border-top:1px solid #ECE7DD; border-bottom:1px solid #ECE7DD;}
  .recog-mini{font-size:15px; color:var(--ink); display:flex; align-items:center; gap:8px; white-space:nowrap;}
  .recog-mini .dot{width:6px; height:6px; border-radius:50%; background:var(--bronce); flex:0 0 auto;}
  @media(max-width:640px){.recog-mini{white-space:normal;}}

  .mvp-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:26px;}
  .mvp-card{position:relative; background:#fff; border:none; border-radius:10px; padding:36px 30px; box-shadow:0 18px 40px rgba(20,20,20,.08); text-align:left;}
  .mvp-card .badge{display:inline-flex; align-items:center; gap:8px; background:var(--bronce); color:#fff; font-size:12px; font-weight:700; letter-spacing:2px; text-transform:uppercase; padding:7px 14px; border-radius:3px; margin-bottom:22px;}
  .mvp-card p{font-size:16px; line-height:1.7; font-style:italic; color:var(--ink); font-weight:300; text-align:left;}
  .mvp-card.gold{background:#fff;}
  .hero .mvp-grid{margin-top:14px;}
  @media(max-width:760px){
    .mvp-grid{grid-template-columns:1fr; gap:24px;}
    .mvp-card+.mvp-card{border-left:none; margin-left:0; border-top:1px solid rgba(0,0,0,.12); padding-top:24px;}
  }


  .channel-list{display:grid; grid-template-columns:1fr 1fr; gap:14px 30px; margin-top:24px;}
  .channel-item{display:flex; gap:12px; padding:12px 0; border-bottom:1px solid #F1EEE7;}
  .channel-item .num{font-size:13px; font-weight:700; color:var(--bronce); padding-top:2px;}
  .channel-item .t{font-size:15.5px; font-weight:600; color:var(--azul-oscuro);}
  .channel-item .sub{font-size:12.5px; color:var(--gris); margin-top:4px; font-weight:400; line-height:1.5;}
  .channel-item.active-cta{cursor:pointer;}
  .channel-item.active-cta .t{color:var(--bronce);}
  .channel-item.active-cta:hover .t{text-decoration:underline;}

  /* Coffee service */
  .steps{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:40px;}
  .step{text-align:center;}

  .sol-grid{display:grid; grid-template-columns:repeat(4,1fr); grid-template-rows:repeat(5,auto); column-gap:20px; row-gap:8px; margin-top:30px;}
  .sol-card{border:1px solid #ECE7DD; border-radius:8px; padding:28px 24px; background:#fff; display:grid; grid-row:span 5; grid-template-rows:subgrid;}
  .sol-card .n{font-size:13px; color:var(--bronce); font-weight:700; letter-spacing:1.5px; margin-bottom:8px; text-transform:uppercase; align-self:start;}
  .sol-card h4{font-size:19px; color:var(--azul-oscuro); margin-bottom:6px; line-height:1.3; align-self:start;}
  .sol-card p{font-size:15px; color:var(--gris); line-height:1.6; align-self:start;}
  .sol-card .for{font-size:13.5px; color:var(--bronce); font-weight:600; padding-top:12px; border-top:1px solid #ECE7DD; align-self:start;}
  .sol-actions{align-self:start; display:flex; flex-direction:column; align-items:flex-start; gap:10px; margin-top:12px;}
  .sol-cta{display:inline-block; padding:10px 18px; border-radius:6px; font-size:13px; font-weight:700; text-decoration:none; text-align:center; transition:background .2s, color .2s, border-color .2s;}
  .sol-cta.primary{background:var(--bronce); color:#fff; border:1.5px solid var(--bronce);}
  .sol-cta.primary:hover{background:#B08F3E; border-color:#B08F3E;}
  .sol-cta-link{display:inline-block; font-size:10.5px; font-weight:700; color:var(--bronce); text-decoration:none; border-bottom:1px solid rgba(201,168,76,.5); padding-bottom:2px; white-space:nowrap;}
  .sol-cta-link:hover{border-color:var(--bronce); opacity:.85;}
  .sol-dots{display:none; justify-content:center; gap:8px; margin-top:18px;}
  .sol-dots button{width:8px; height:8px; padding:0; border:0; border-radius:50%; background:#D8D2C4; cursor:pointer; transition:width .25s ease, background .25s ease, border-radius .25s ease;}
  .sol-dots button.is-active{background:var(--bronce); width:22px; border-radius:5px;}
  .step .num{width:52px; height:52px; border-radius:50%; border:1px solid var(--bronce); color:var(--bronce); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:22px; margin:0 auto 16px;}
  .step .num svg{width:24px; height:24px;}
  .incl-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:44px 24px; margin-top:44px;}
  .incl-item{padding:0 12px; text-align:center;}
  .incl-item svg{width:42px; height:42px; color:var(--bronce); display:block; margin:0 auto 20px;}
  .incl-item h5{font-size:16px; font-weight:700; color:var(--azul-oscuro); max-width:220px; margin:0 auto; line-height:1.4;}
  .section.navy .incl-item h5{color:#fff;}
  @media(max-width:760px){ .incl-grid{grid-template-columns:1fr 1fr; gap:36px 18px;} }

  /* Equipment carousel (Coffee Service) */
  .equip-filters{display:flex; flex-wrap:wrap; justify-content:flex-start; gap:10px; margin-top:28px;}
  .equip-filter{font-family:inherit; padding:8px 16px; border-radius:999px; border:1.5px solid var(--azul-oscuro); background:#fff; color:var(--azul-oscuro); font-size:12.5px; font-weight:700; letter-spacing:.2px; cursor:pointer; transition:background .18s ease, color .18s ease, border-color .18s ease;}
  .equip-filter:hover{background:var(--azul-oscuro); color:#fff; border-color:var(--azul-oscuro);}
  .equip-filter.active{background:var(--azul-oscuro); color:#fff; border-color:var(--azul-oscuro);}
  .equip-count{text-align:left; font-size:12px; color:var(--gris); margin:14px 0 0;}
  .equip-marca{display:block; font-size:11.5px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; color:var(--bronce); margin-bottom:8px;}
  .equip-carousel{position:relative; margin:20px auto 0; max-width:980px;}
  .equip-viewport{overflow:hidden; border-radius:8px;}
  .equip-track{display:flex; transition:transform .45s ease;}
  .equip-slide{flex:0 0 100%; display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:center; background:#fff; border-radius:8px; overflow:hidden;}
  .home-mosaic-item{flex:1 1 460px; max-width:calc(50% - 8px); border-radius:8px; overflow:hidden;}
  .home-mosaic-item img{width:100%; display:block;}
  @media(max-width:760px){ .home-mosaic-item{max-width:100%;} }

  .equip-ph{background:#E9E5DA; height:420px; display:flex; align-items:center; justify-content:center; color:var(--gris); font-size:13.5px; font-weight:600; text-align:center; padding:20px; line-height:1.5; overflow:hidden;}
  .equip-info{padding:20px 34px 20px 0;}
  .equip-info h4{font-size:21px; font-weight:800; margin-bottom:12px; color:var(--azul-oscuro);}
  .equip-info p{color:var(--gris); line-height:1.65; font-size:15px;}
  .equip-arrow{position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:50%; border:1px solid var(--bronce); background:#fff; color:var(--azul-oscuro); font-size:22px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s ease,color .2s ease; z-index:2;}
  .equip-arrow:hover{background:var(--bronce); color:#fff;}
  .equip-arrow.prev{left:-22px;}
  .equip-arrow.next{right:-22px;}
  .equip-dots{display:flex; justify-content:center; gap:10px; margin-top:24px;}
  .equip-dot{width:9px; height:9px; border-radius:50%; background:var(--azul-claro); cursor:pointer; border:none; padding:0; transition:transform .2s ease, background .2s ease;}
  .equip-dot.active{background:var(--bronce); transform:scale(1.3);}
  @media(max-width:760px){
    .equip-slide{grid-template-columns:1fr; gap:0;}
    .equip-ph{height:335px;}
    .equip-info{padding:24px;}
    .equip-arrow{width:44px; height:44px; font-size:18px; top:110px;}
    .equip-arrow.prev{left:10px;}
    .equip-arrow.next{right:10px;}
  }
  .step h5{font-size:16px; color:var(--azul-oscuro); margin-bottom:8px;}
  .section.navy .step h5{color:#fff;}
  .step p{font-size:14px; color:var(--gris); line-height:1.5;}
  .audience-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:10px;}
  .audience-card{border:1px solid #ECE7DD; border-radius:6px; padding:30px; background:#fff;}
  .audience-card h4{font-size:19px; color:var(--azul-oscuro); margin-bottom:10px;}
  .audience-card p{font-size:15.5px; color:var(--gris); line-height:1.65;}

  /* Sector cards (Coffee Service) */
  .sector-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:10px;}
  .sector-card{border-radius:8px; overflow:hidden; display:flex; flex-direction:column;}
  .sector-card .sector-ph{position:relative; min-height:190px; flex:1; border-radius:0; border:none; background:linear-gradient(135deg,#2c2c2c,#161616); display:flex; align-items:center; justify-content:center; padding:18px; text-align:center;}
  .sector-card .sector-ph::after{content:""; position:absolute; inset:0; background:rgba(10,8,4,.22); pointer-events:none;}
  .sector-card .sector-ph .lbl{font-size:11px; letter-spacing:.6px; color:rgba(255,255,255,.45); line-height:1.6;}
  .sector-card .sector-ph .lbl b{display:block; color:var(--bronce); font-size:11px; letter-spacing:1.2px; text-transform:uppercase; margin-bottom:6px;}
  .sector-text{background-color:#3D3D3D; background-image:url('images/img-59c73f0132a76797.png'); background-repeat:no-repeat; background-position:center center; background-size:850px; padding:22px; min-height:152px;}
  .sector-text .line{display:block; width:26px; height:1px; background:var(--bronce); margin-bottom:12px;}
  .sector-text h4{font-size:19px; margin-bottom:6px; color:#fff;}
  .sector-text p{font-size:15px; line-height:1.5; color:rgba(255,255,255,.85);}
  .sector-link{display:inline-block; margin-top:14px; color:var(--bronce); font-size:13px; font-weight:700; line-height:1.35; border-bottom:1px solid rgba(201,168,76,.45); padding-bottom:2px; transition:color .2s ease, border-color .2s ease, opacity .2s ease;}
  .sector-link:hover{color:#fff; border-color:#fff; opacity:.95;}
  #csEquipos{scroll-margin-top:90px;}
  @media(max-width:900px){ .sector-grid{grid-template-columns:repeat(2,1fr);} }
  @media(max-width:560px){ .sector-grid{grid-template-columns:1fr;} }
  @media(max-width:640px){
    .page[data-page="coffee-service"] .hero .cta-row{width:100%;}
    .page[data-page="coffee-service"] .hero .cta-row .btn{display:block; width:100%; text-align:center;}
  }

  /* Presencia en todo México — map + pins + plazas */
  .mapa-intro{display:grid; grid-template-columns:1fr 1.15fr; gap:32px; margin-top:22px; align-items:start;}
  .mapa-intro .lead{font-size:19px; font-weight:600; color:var(--azul-oscuro); line-height:1.5;}
  .mapa-cities{font-size:14px; line-height:2; color:var(--gris); letter-spacing:.2px;}
  .mapa-card{position:relative; max-width:920px; margin:44px auto 0;}
  .mapa-card .mapa-wrap{position:relative;}
  .mapa-card .mapa-wrap img{width:100%; display:block;}
  .mpin{position:absolute; width:20px; height:20px; margin:-10px 0 0 -10px; cursor:pointer;}
  .mpin .dot{width:10px; height:10px; margin:5px; border-radius:50%; background:var(--azul-oscuro); border:2px solid #fff; box-shadow:0 1px 4px rgba(0,0,0,.35); transition:transform .18s ease, background .18s ease;}
  .mpin:hover .dot{transform:scale(1.5); background:var(--bronce);}
  .mpin .tip{position:absolute; bottom:calc(100% + 10px); left:50%; transform:translateX(-50%) translateY(4px); background:var(--azul-oscuro); color:#fff; padding:10px 14px; border-radius:8px; white-space:nowrap; opacity:0; pointer-events:none; transition:opacity .16s ease, transform .16s ease; z-index:5; text-align:center; box-shadow:0 10px 24px rgba(0,0,0,.28);}
  .mpin .tip b{display:block; font-size:13px; font-weight:700; letter-spacing:.2px; color:#fff;}
  .mpin .tip .tip-plaza{display:block; font-size:10px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; color:var(--azul-claro); opacity:.65; margin:2px 0 7px;}
  .tip-actions{display:flex; flex-direction:column; align-items:flex-start; gap:6px; margin-top:8px;}
  .tip-act{display:flex; align-items:center; gap:7px; font-size:12.5px; font-weight:700; color:var(--bronce); text-decoration:none; letter-spacing:.2px;}
  .tip-act:hover{text-decoration:underline;}
  .tip-act .ic{width:14px; height:14px; flex:0 0 auto;}
  .mpin .tip::after{content:""; position:absolute; top:100%; left:50%; margin-left:-4px; border:4px solid transparent; border-top-color:var(--azul-oscuro);}
  .mpin:hover .tip, .mpin.active .tip{opacity:1; transform:translateX(-50%) translateY(0); pointer-events:auto;}
  .mapa-caption{text-align:center; font-size:12px; color:var(--gris); margin-top:14px; letter-spacing:.2px;}
  .mpin{z-index:2;}
  .mpin .dot{transition:transform .18s ease, background .18s ease, opacity .18s ease;}
  .mpin.plaza-dim .dot{opacity:.4;}
  .state-overlay{position:absolute; inset:0; width:100%; height:100%; z-index:1; display:block;}
  .state-overlay path{fill:rgba(20,20,20,0); cursor:pointer; transition:fill .22s ease;}
  .state-overlay.plaza-active path{fill:rgba(20,20,20,.5);}
  .state-overlay.plaza-active path.in-plaza{fill:rgba(20,20,20,0);}
  .plaza-grid{display:grid; grid-template-columns:1fr 1fr; gap:0 56px; margin-top:8px;}
  .plaza-col+.plaza-col{border-left:1px solid rgba(255,255,255,.16); padding-left:56px;}
  .plaza-item{padding:16px 0; border-bottom:1px solid rgba(255,255,255,.12);}
  .plaza-col .plaza-item:last-child{border-bottom:none;}
  .plaza-item b{display:block; color:#fff; font-size:15px; font-weight:600; margin-bottom:5px;}
  .plaza-item span{display:block; color:var(--bronce); font-size:14px; font-weight:600; letter-spacing:.2px;}
  @media(max-width:760px){
    .mapa-intro{grid-template-columns:1fr; gap:14px;}
    .plaza-grid{grid-template-columns:1fr;}
    .plaza-col+.plaza-col{border-left:none; padding-left:0; margin-top:6px; border-top:1px solid rgba(255,255,255,.16); padding-top:10px;}
  }

  /* Timeline */
  .timeline{position:relative; margin-top:50px; padding-left:36px;}
  .timeline::before{content:""; position:absolute; left:0; top:0; width:1px; height:calc(var(--progress,0) * 100%); background:rgba(255,255,255,.18); transition:height .15s linear;}
  .tl-item{position:relative; padding-bottom:38px; opacity:0; transform:translateX(-16px); transition:opacity .6s cubic-bezier(.2,.7,.3,1), transform .6s cubic-bezier(.2,.7,.3,1);}
  .tl-item.revealed{opacity:1; transform:translateX(0);}
  .tl-item:last-child{padding-bottom:0;}
  .tl-item::before{content:""; position:absolute; left:-41px; top:3px; width:9px; height:9px; border-radius:50%; background:var(--bronce); transform:scale(0); transition:transform .4s cubic-bezier(.2,.7,.3,1);}
  .tl-item.revealed::before{transform:scale(1);}
  .tl-item .yr{font-size:34px; font-weight:700; color:var(--bronce); margin-bottom:8px; letter-spacing:-.01em;}
  .tl-item p{font-size:15.5px; line-height:1.65; color:var(--azul-claro); max-width:640px; font-weight:300;}
  .tl-item p strong{font-weight:700; color:#fff;}
  .tl-photos{display:flex; gap:12px; margin-top:20px; flex-wrap:wrap; max-width:640px;}
  .tl-photos img{width:calc(50% - 6px); height:210px; object-fit:cover; border-radius:5px; opacity:.9; filter:grayscale(1) contrast(1.05); transition:opacity .25s, transform .25s; cursor:pointer;}
  .htl-origin-photos{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; max-width:820px; margin:18px 0 6px;}
  .htl-origin-photos img{width:100%; height:170px; object-fit:cover; border-radius:5px; opacity:.88; filter:grayscale(1) contrast(1.05); transition:opacity .25s, transform .25s; cursor:pointer;}
  .htl-origin-photos img:hover{opacity:1; transform:translateY(-2px);}
  .htl-origin-caption{max-width:640px; color:var(--azul-claro); font-size:14px; line-height:1.6; font-weight:300; margin-top:14px;}
  @media(max-width:640px){ .htl-origin-photos{grid-template-columns:1fr 1fr;} }

  .tl-photos img:hover{opacity:1; transform:translateY(-2px);}
  .tl-photos img:only-child{width:100%;}
  @media(max-width:640px){.tl-photos img{width:100%; height:200px;}}

  /* Coffee All Day (Coffee Service): bebidas para distintos momentos del día */
  .cad-text{max-width:640px; margin-top:6px;}
  .cad-text p{font-size:15.5px; line-height:1.7; color:var(--gris); margin-top:14px;}
  .cad-grid{display:grid; grid-template-columns:repeat(4,1fr); grid-template-areas:"a a b c" "a a d e"; gap:22px; max-width:1100px; margin:36px auto 0; padding:0;}
  .cad-tile{position:relative; border-radius:8px; overflow:hidden; background:#E9E5DA; aspect-ratio:1/1; transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease; will-change:transform;}
  .cad-tile:nth-child(1){grid-area:a; aspect-ratio:auto;}
  .cad-tile:nth-child(2){grid-area:b;}
  .cad-tile:nth-child(3){grid-area:c;}
  .cad-tile:nth-child(4){grid-area:d;}
  .cad-tile:nth-child(5){grid-area:e;}
  .cad-tile:hover{transform:scale(1.08); z-index:5; box-shadow:0 24px 44px rgba(0,0,0,.28);}
  .cad-tile img{width:100%; height:100%; object-fit:cover; display:block;}
  @media(max-width:760px){
    .cad-grid{grid-template-columns:repeat(3,1fr); grid-template-areas:"a a b" "a a c" "d e e"; max-width:680px; padding:0 20px;}
  }
  @media(max-width:640px){
    .cad-grid{grid-template-columns:repeat(2,1fr); grid-template-areas:"a a" "b c" "d e"; max-width:580px; padding:0 20px; gap:14px;}
    .cad-tile:nth-child(1){aspect-ratio:16/10;}
  }
  .insumos-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:14px; margin-top:36px; padding:0 32px;}
  .insumos-tile{position:relative; border-radius:8px; overflow:hidden; background:#E9E5DA; aspect-ratio:1/1; transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease; will-change:transform;}
  .insumos-tile:hover{transform:scale(1.1); z-index:5; box-shadow:0 24px 44px rgba(0,0,0,.28);}
  .insumos-tile img{width:100%; height:100%; object-fit:cover; display:block;}
  @media(max-width:900px){ .insumos-grid{grid-template-columns:repeat(3,1fr);} }
  @media(max-width:640px){ .insumos-grid{grid-template-columns:repeat(2,1fr); padding:0 20px;} }

.insumos-cards-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:32px;}
.insumos-card{border:1px solid #ECE7DD; border-radius:8px; overflow:hidden; background:#fff; transition:box-shadow .2s, transform .2s;}
.insumos-card:hover{box-shadow:0 12px 28px rgba(27,54,92,.08); transform:translateY(-3px);}
.insumos-card .ph{aspect-ratio:4/3; background:#E9E5DA; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; color:#A79E8E;}
.insumos-card .ph svg{width:32px; height:32px; opacity:.7;}
.insumos-card .ph span{font-size:10.5px; letter-spacing:.6px; text-transform:uppercase; font-weight:700;}
.insumos-card h5{padding:16px 18px 20px; font-size:15px; color:var(--azul-oscuro); font-weight:700; text-align:center;}
@media(max-width:640px){ .insumos-cards-grid{grid-template-columns:1fr;} }


  .video-embed{position:relative; display:block; max-width:860px; margin:36px auto 0; border-radius:10px; overflow:hidden; box-shadow:0 30px 60px rgba(0,0,0,.35);}
  .video-embed img{width:100%; height:auto; display:block;}
  .play-btn{position:absolute; inset:0; display:flex; align-items:center; justify-content:center;}
  .play-btn svg{width:26px; height:26px; padding:20px; box-sizing:content-box; background:var(--bronce); border-radius:50%; fill:#fff; box-shadow:0 12px 30px rgba(0,0,0,.45); transition:transform .25s ease;}
  .video-embed:hover .play-btn svg{transform:scale(1.08);}
  @media(max-width:640px){
    .play-btn svg{width:18px; height:18px; padding:14px;}
  }

  /* Timeline fullscreen (Nosotros): cada año ocupa toda la pantalla; el scroll vertical avanza de uno al siguiente. */
  .stage-wrap{position:relative; height:750vh;}
  .stage-sticky{position:sticky; top:0; height:100vh; overflow:hidden; background:var(--azul-oscuro); background-image:radial-gradient(ellipse 900px 500px at 82% 18%, rgba(201,168,76,.10), transparent 60%);}
  .stage-slide{position:absolute; inset:0; display:flex; align-items:center; opacity:0; transform:translateY(26px); transition:opacity .65s cubic-bezier(.2,.7,.3,1), transform .65s cubic-bezier(.2,.7,.3,1); pointer-events:none;}
  .stage-slide.is-active{opacity:1; transform:translateY(0); pointer-events:auto; z-index:2;}
  .stage-slide-inner{width:100%; max-width:1180px; margin:0 auto; padding:0 40px 0 96px; display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center;}
  .stage-slide.no-photo .stage-slide-inner{grid-template-columns:1fr; max-width:820px;}
  .stage-slide.photo-only .stage-slide-inner{grid-template-columns:1fr; max-width:920px; padding:0 40px; margin:0 auto;}
  .stage-slide.photo-only .stage-photo{aspect-ratio:16/10;}
  .stage-slide-inner.reverse{direction:rtl;}
  .stage-slide-inner.reverse > *{direction:ltr;}

  .stage-eyebrow{font-size:12px; font-weight:700; letter-spacing:1.6px; text-transform:uppercase; color:#fff; background:var(--bronce); margin-bottom:22px; display:inline-flex; align-items:center; padding:8px 16px; border-radius:2px;}
  .stage-year{font-size:clamp(64px,10vw,132px); font-weight:800; line-height:.92; letter-spacing:-.02em; color:#fff; margin:0 0 22px; font-variant-numeric:tabular-nums; display:flex; overflow:hidden;}
  .stage-year .yd{display:inline-block; opacity:0; transform:translateY(.55em); transition:opacity .5s cubic-bezier(.16,.8,.24,1), transform .5s cubic-bezier(.16,.8,.24,1); transition-delay:var(--yd-delay,0ms);}
  .stage-slide.is-active .stage-year .yd{opacity:1; transform:translateY(0);}
  .stage-text{font-size:clamp(15.5px,1.4vw,18px); line-height:1.7; font-weight:300; color:var(--azul-claro); max-width:520px; margin:0;}
  .stage-text strong{font-weight:700; color:#fff;}

  .stage-ghost{position:absolute; right:-7%; top:46%; transform:translateY(-50%); font-size:min(40vw,500px); font-weight:800; line-height:1; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.045); z-index:0; pointer-events:none; user-select:none; font-variant-numeric:tabular-nums;}
  .stage-slide.no-photo .stage-ghost{right:-4%; opacity:.7;}

  .stage-photo{position:relative; border-radius:6px; overflow:hidden; aspect-ratio:4/3; box-shadow:0 40px 90px rgba(0,0,0,.5);}
  .stage-photo img{width:100%; height:100%; object-fit:cover; filter:grayscale(.15) contrast(1.04);}
  .stage-photo::after{content:""; position:absolute; inset:0; box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);}

  .stage-photo-grid{position:relative; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:8px; aspect-ratio:4/3; border-radius:6px; overflow:hidden; box-shadow:0 40px 90px rgba(0,0,0,.5);}
  .stage-photo-grid img{width:100%; height:100%; object-fit:cover; display:block; filter:grayscale(1) contrast(1.05); opacity:.92;}
  .stage-photo-grid::after{content:""; position:absolute; inset:0; box-shadow:inset 0 0 0 1px rgba(255,255,255,.08); pointer-events:none;}

  @media(max-width:900px){
    .stage-slide-inner{grid-template-columns:1fr; padding:0 28px; gap:30px;}
    .stage-slide.no-photo .stage-slide-inner{max-width:none;}
    .stage-photo, .stage-photo-grid{aspect-ratio:16/10;}
  }
  @media(max-width:760px){
    .stage-wrap{height:auto;}
    .stage-sticky{position:static; height:auto; padding:44px 0 20px; background-image:none;}
    .stage-slide{position:static; opacity:1 !important; transform:none !important; pointer-events:auto; padding:0 0 56px; border-bottom:1px solid rgba(255,255,255,.08); margin:0 24px;}
    .stage-slide:last-child{border-bottom:none; padding-bottom:20px;}
    .stage-slide-inner{padding:0; grid-template-columns:1fr; gap:22px;}
    .stage-year{font-size:52px;}
    .stage-year .yd{opacity:1 !important; transform:none !important;}
    .stage-ghost{display:none;}
    .stage-photo-grid{gap:5px;}
  }
  @media (prefers-reduced-motion: reduce){
    .stage-slide{transition:opacity .3s linear; transform:none;}
    .stage-year .yd{transition:opacity .25s linear; transition-delay:0ms !important; transform:none !important;}
  }

/* Storytelling: texto de expertise + timeline lateral (sticky) */
  .story-grid{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start;}
  .story-text{padding-top:4px;}
  .story-text h2{color:#fff; font-size:clamp(24px,2.6vw,32px); margin:14px 0 22px; line-height:1.3;}
  .story-text h4{color:var(--bronce); font-size:14px; letter-spacing:1.2px; text-transform:uppercase; font-weight:700; margin:28px 0 10px;}
  .story-text p{color:var(--azul-claro); font-size:16px; line-height:1.75; font-weight:300; margin-bottom:6px;}
  .story-side{position:sticky; top:110px;}
  .story-side .timeline{margin-top:24px;}
  @media(max-width:980px){
    .story-grid{grid-template-columns:1fr; gap:10px;}
    .story-side{position:static; margin-top:10px;}
  }

  .sub-grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:10px;}
  .sub-card{padding:0;}
  .sub-card h4{font-size:19px; color:var(--azul-oscuro); margin:16px 0 8px;}
  .sub-card p{font-size:15px; color:var(--gris); line-height:1.6;}
  .blog-list{display:flex; flex-direction:column;}
  .blog-list-item{display:flex; justify-content:space-between; align-items:flex-start; gap:24px; padding:26px 0; border-bottom:1px solid #ECE7DD; text-decoration:none; color:inherit; cursor:pointer; transition:opacity .2s;}
  .blog-list-item:first-child{padding-top:0;}
  .blog-list-item:hover{opacity:.68;}
  .blog-list-item .bli-text{flex:1;}
  .blog-list-item h4{font-size:17.5px; color:var(--azul-oscuro); margin-bottom:6px; line-height:1.3; font-weight:600;}
  .blog-list-item p{font-size:14.5px; color:var(--gris); line-height:1.6; margin:0;}
  .blog-list-item .bli-arrow{flex:none; font-size:12.5px; font-weight:700; color:var(--bronce); letter-spacing:.5px; text-transform:uppercase; white-space:nowrap; margin-top:4px;}
  @media(max-width:640px){
    .blog-list-item{flex-direction:column; gap:8px;}
  }

  .article-body{max-width:760px; margin:0 auto;}
  .article-body .article-meta{color:var(--bronce); font-size:13px; letter-spacing:1px; text-transform:uppercase; font-weight:700; margin-bottom:4px;}
  .article-body .article-readtime{color:var(--gris); font-size:13px; margin-bottom:30px;}
  .article-body p{color:var(--gris); font-size:16px; line-height:1.75; margin-bottom:18px;}
  .article-body h3{color:var(--azul-oscuro); font-size:22px; margin:36px 0 14px; line-height:1.3; font-weight:600;}
  .article-body h4{color:var(--azul-oscuro); font-size:16.5px; margin:26px 0 10px; line-height:1.3; font-weight:600;}
  .article-body ul{margin:0 0 20px; padding-left:22px;}
  .article-body li{color:var(--gris); font-size:16px; line-height:1.75; margin-bottom:8px;}
  .article-body .article-hero-img{width:100%; height:auto; border-radius:6px; margin-bottom:32px; display:block;}
  .article-body .stat-callout{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:30px 0 36px; padding:26px; background:var(--marfil); border-radius:6px;}
  .article-body .stat-callout div{text-align:center; font-size:13.5px; color:var(--azul-oscuro); line-height:1.4;}
  .article-body .stat-callout b{display:block; font-size:24px; color:var(--bronce); margin-bottom:6px;}
  .article-body .data-note{background:var(--marfil); border-left:3px solid var(--bronce); padding:18px 22px; margin:24px 0; font-size:15px; color:var(--azul-oscuro); line-height:1.7;}
  .article-body .faq-item{border-top:1px solid #ECE7DD; padding:20px 0;}
  .article-body .faq-item:last-child{border-bottom:1px solid #ECE7DD;}
  .article-body .faq-item h4{margin-top:0;}
  .article-body .faq-item p{margin-bottom:0;}
  .article-body .sources{margin-top:40px; padding-top:24px; border-top:1px solid #ECE7DD;}
  .article-body .sources ul{margin-top:10px;}
  .article-body .sources li{font-size:13px; color:var(--gris); line-height:1.7; margin-bottom:4px;}
  @media(max-width:640px){ .article-body .stat-callout{grid-template-columns:1fr;} }
  .thumb-convierte-cada-partido{background-image:url(images/img-50aa108e97159bb5.jpg); background-size:cover; background-position:center;}
  .thumb-dia-del-barista{background-image:url(images/img-7158c9140ead6ee4.jpg); background-size:cover; background-position:center;}
  .thumb-cafes-que-pides-mal{background-image:url(images/img-17181147f9dd42d4.jpg); background-size:cover; background-position:center;}
  .recipe-card{border:1px solid #ECE7DD; border-radius:8px; padding:26px 24px; background:#fff; display:flex; flex-direction:column; height:100%;}
  .recipe-card .rc-meta{font-size:12px; color:var(--bronce); font-weight:700; letter-spacing:1px; text-transform:uppercase; margin-bottom:10px;}
  .recipe-card h4{font-size:18px; color:var(--azul-oscuro); margin-bottom:6px; line-height:1.3;}
  .recipe-card .rc-label{font-size:12px; font-weight:700; color:var(--azul-oscuro); text-transform:uppercase; letter-spacing:.6px; margin:14px 0 6px;}
  .recipe-card ul, .recipe-card ol{margin:0; padding-left:18px; font-size:14px; color:var(--gris); line-height:1.6;}

  /* === CAFIpedia :: Diccionario Editorial (tipografía Montserrat) === */
  .dict-toolbar{display:flex; flex-direction:column; gap:22px; margin-bottom:10px;}
  .dict-search{position:relative; max-width:420px;}
  .dict-search input{width:100%; padding:12px 4px; border:none; border-bottom:1px solid rgba(27,54,92,.25); font-family:inherit; font-size:16px; color:var(--ink); background:transparent;}
  .dict-search input::placeholder{color:var(--gris); opacity:.8;}
  .dict-search input:focus{outline:none; border-bottom-color:var(--bronce);}
  .cafi-tabs{display:flex; flex-wrap:wrap; column-gap:22px; row-gap:10px; padding-bottom:22px; border-bottom:1px solid rgba(27,54,92,.12);}
  .cafi-tab{background:none; border:none; padding:0; font-family:inherit; font-size:12px; letter-spacing:.6px; text-transform:uppercase; font-weight:600; color:var(--gris); cursor:pointer; position:relative; padding-bottom:4px;}
  .cafi-tab span{opacity:.65; font-weight:500;}
  .cafi-tab:hover{color:var(--azul-oscuro);}
  .cafi-tab.active{color:var(--bronce);}
  .cafi-tab.active::after{content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--bronce);}

  .az-nav{position:sticky; top:78px; z-index:50; display:flex; flex-wrap:wrap; gap:2px; background:#fff; padding:16px 0; margin-bottom:10px; border-bottom:1px solid rgba(27,54,92,.12);}
  .az-letter{width:26px; height:26px; display:flex; align-items:center; justify-content:center; font-family:inherit; font-size:13px; font-weight:800; color:var(--azul-oscuro); border-radius:50%; transition:all .15s ease;}
  .az-letter:hover{background:var(--bronce); color:#fff;}
  .az-letter.disabled{color:rgba(27,54,92,.2); pointer-events:none; font-weight:600;}
  .az-letter.dimmed{color:rgba(27,54,92,.22); pointer-events:none;}

  .dict-count{font-size:13px; color:var(--gris); margin:26px 0 18px;}
  .dict-columns{column-count:2; column-gap:64px;}
  .dict-letter-group{break-inside:avoid-column;}
  .dict-letter-mark{font-family:inherit; font-weight:800; font-size:38px; letter-spacing:.5px; color:var(--bronce); opacity:.9; margin:10px 0 12px; padding-bottom:10px; position:relative; break-after:avoid-column;}
  .dict-letter-mark::after{content:""; position:absolute; left:0; bottom:0; width:30px; height:3px; background:var(--bronce);}
  .dict-letter-group:first-child .dict-letter-mark{margin-top:0;}
  .dict-entry{padding:16px 0; border-bottom:1px solid rgba(27,54,92,.08); break-inside:avoid-column;}
  .dict-entry:last-child{border-bottom:none;}
  .dict-term{font-family:inherit; font-weight:700; font-size:16px; color:var(--azul-oscuro); margin:0 0 6px; line-height:1.3;}
  .dict-cat{display:inline-block; font-family:inherit; font-size:9.5px; letter-spacing:.7px; text-transform:uppercase; font-weight:700; color:var(--bronce); margin-left:12px; vertical-align:middle; opacity:.85;}
  .dict-desc{font-size:13.5px; line-height:1.68; color:var(--gris); margin:0;}
  .cafi-link{color:var(--bronce); font-weight:700; cursor:pointer;}
  .cafi-link:hover{text-decoration:underline;}
  .dict-empty{display:none; text-align:center; padding:70px 20px; color:var(--gris); font-size:14.5px;}

  .nl-box{background-color:#3D3D3D; background-image:url('images/img-59c73f0132a76797.png'); background-repeat:no-repeat; background-position:right center; background-size:850px; color:#fff; border-radius:6px; padding:44px 40px; display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap; margin-top:0;}
  .nl-box h3{font-size:22px; margin-bottom:6px;}
  .nl-box p{font-size:15px; color:var(--azul-claro);}
  .nl-form{display:flex; gap:10px; margin:0;}
  .nl-form input{padding:13px 16px; border:1px solid rgba(255,255,255,.3); background:transparent; color:#fff; font-family:inherit; font-size:15px; min-width:230px;}
  .nl-form input::placeholder{color:rgba(255,255,255,.5);}

  /* ==== Formulario de contacto ==== */
  .cf-hero{padding-bottom:70px;}
  .cf-hero-grid{display:grid; grid-template-columns:1.05fr 1fr; gap:56px; align-items:start;}
  .cf-hero-text{padding-top:18px;}
  @media(max-width:900px){
    .cf-hero-grid{grid-template-columns:1fr; gap:36px;}
    .cf-hero-text{padding-top:0;}
  }
  .cf-card{width:100%; max-width:480px; background:rgba(255,255,255,.92); -webkit-backdrop-filter:blur(20px) saturate(160%); backdrop-filter:blur(20px) saturate(160%); border:1px solid rgba(255,255,255,.5); border-radius:2px; padding:32px 30px; box-shadow:0 30px 70px rgba(0,0,0,.35); color:var(--azul-oscuro);}
  .cf-intro h3{color:var(--azul-oscuro);}
  @media(max-width:900px){ .cf-card{max-width:none; margin:0 auto;} }
  .cf-intro{text-align:center; margin-bottom:18px;}
  .cf-intro h3{font-size:21px; margin:8px 0 6px;}
  .cf-intro p{font-size:13.5px; color:var(--gris);}
  .cf-options{display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-bottom:20px;}
  .cf-opt{font-family:inherit; padding:11px 12px; border-radius:2px; border:1.5px solid var(--azul-oscuro); background:#fff; color:var(--azul-oscuro); font-size:12.5px; font-weight:700; letter-spacing:.2px; cursor:pointer; text-align:center; transition:background .18s ease, color .18s ease;}
  .cf-opt:hover{background:rgba(20,20,20,.06);}
  .cf-opt.active{background:var(--azul-oscuro); color:#fff;}
  .cf-fields{display:flex; flex-direction:column; gap:13px;}
  .cf-row-pair{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
  @media(max-width:480px){ .cf-row-pair{grid-template-columns:1fr;} }
  .cf-row label{display:block; font-size:11px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; color:var(--gris); margin-bottom:5px;}
  .cf-row label span{text-transform:none; font-weight:400; letter-spacing:0;}
  .cf-row input, .cf-row select, .cf-row textarea{width:100%; padding:11px 13px; border:1px solid #DCD6C8; border-radius:2px; background:var(--marfil); color:var(--azul-oscuro); font-family:inherit; font-size:14px;}
  .cf-row input::placeholder, .cf-row textarea::placeholder{color:#A7A29A;}
  .cf-row textarea{resize:vertical; min-height:64px; line-height:1.5;}
  .cf-char-count{text-align:right; font-size:11px; color:var(--gris); margin-top:4px;}
  .cf-row input:focus, .cf-row select:focus, .cf-row textarea:focus{outline:none; border-color:var(--bronce);}
  .cf-row select{appearance:auto; cursor:pointer;}
  .cf-phone-fields{display:flex; gap:10px;}
  .cf-phone-fields .cf-phone-code{flex:0 0 172px; min-width:0; padding-right:8px; text-overflow:ellipsis; white-space:nowrap; overflow:hidden;}
  .cf-phone-fields .cf-phone-number{flex:1 1 auto; min-width:0;}
  .cf-estado-row[hidden]{display:none;}
  .cf-tipo-row[hidden]{display:none;}
  .cf-contact-method{display:flex; gap:22px; flex-wrap:wrap;}
  .cf-contact-method label.cf-cm-opt{display:flex; align-items:center; gap:7px; padding:4px 0; border:none; background:transparent; font-size:13.5px; font-weight:600; text-transform:none; letter-spacing:0; color:var(--azul-oscuro); cursor:pointer; transition:color .18s ease; margin-bottom:0; flex:0 0 auto;}
  .cf-cm-opt input{position:absolute; opacity:0; width:0; height:0;}
  .cf-cm-check{width:16px; height:16px; border-radius:50%; border:1.5px solid #C6C0B4; display:inline-flex; align-items:center; justify-content:center; flex:none; transition:border-color .18s ease;}
  .cf-cm-check::after{content:""; width:8px; height:8px; border-radius:50%; background:var(--bronce); transform:scale(0); transition:transform .15s ease;}
  .cf-cm-opt input:checked + .cf-cm-check{border-color:var(--bronce);}
  .cf-cm-opt input:checked + .cf-cm-check::after{transform:scale(1);}
  .cf-cm-opt:has(input:checked){color:var(--bronce);}
  @media(max-width:420px){ .cf-contact-method{flex-direction:column; gap:12px;} }
  .cf-submit{width:100%; text-align:center; border:none; margin-top:4px;}
  @media(max-width:640px){
    .cf-card{padding:32px 22px;}
    .cf-options{grid-template-columns:1fr;}
  }

  /* ==== Mapa de ubicación ==== */
  .cf-map-wrap{margin-top:8px;}
  .cf-map{position:relative; max-width:920px; margin:0 auto; border-radius:8px; overflow:hidden; box-shadow:0 20px 50px rgba(0,0,0,.12); aspect-ratio:4/3;}
  .cf-map iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}

  footer{background:#0A0A0A; color:#fff; padding:64px 0 0;}
  footer .wrap{max-width:1320px;}
  .foot-top{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr 1fr; gap:34px; padding-bottom:50px; border-bottom:1px solid rgba(255,255,255,.08);}
  .foot-top img{height:32px; margin-bottom:14px;}
  .foot-logo{display:flex; align-items:flex-start; margin-left:6px;}
  .foot-logo img{height:137px; width:auto; margin-bottom:0;}
  .foot-logo .foot-logo-svg{height:137px; width:auto; display:block;}
  .foot-bottom-right{display:flex; align-items:center; gap:28px;}
  .foot-social{display:flex; gap:16px;}
  .foot-social a{display:flex; align-items:center; justify-content:center; color:#fff; opacity:.75; transition:opacity .2s, color .2s;}
  .foot-social a:hover{opacity:1; color:var(--bronce);}
  .foot-social svg{width:16px; height:16px; fill:currentColor;}
  .foot-top p{font-size:14.5px; color:var(--azul-claro); line-height:1.7; max-width:260px; font-weight:300;}
  .foot-col h5{font-size:13px; letter-spacing:1.5px; text-transform:uppercase; color:var(--bronce); margin-bottom:14px;}
  .foot-col a{display:block; font-size:15px; color:#fff; opacity:.8; margin-bottom:10px; cursor:pointer;}
  .foot-col a:hover{opacity:1; color:var(--bronce);}
  .foot-bottom{display:flex; justify-content:space-between; align-items:center; padding:22px 0 90px; font-size:13.5px; color:rgba(255,255,255,.4); flex-wrap:wrap; gap:10px;}
  .foot-bottom a{color:rgba(255,255,255,.6); cursor:pointer; text-decoration:none;}
  .foot-bottom a:hover{color:var(--bronce);}

  /* Aviso de Privacidad (contenido legal) */
  .legal{max-width:760px;}
  .legal h2{font-size:21px; color:var(--azul-oscuro); margin:38px 0 14px; line-height:1.35;}
  .legal h2:first-child{margin-top:0;}
  .legal h3{font-size:14px; letter-spacing:.8px; text-transform:uppercase; color:var(--bronce); font-weight:700; margin:26px 0 10px;}
  .legal p{font-size:15.5px; line-height:1.75; color:var(--gris); margin-bottom:14px;}
  .legal ol, .legal ul{margin:0 0 16px 22px; color:var(--gris); font-size:15.5px; line-height:1.75;}
  .legal li{margin-bottom:8px;}
  .legal ol.alpha{list-style-type:lower-alpha;}
  .legal a{color:var(--bronce); text-decoration:underline;}
  .legal strong{color:var(--azul-oscuro);}

  .two-col{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;}
  .susten-img{border-radius:6px; overflow:hidden; height:420px;}
  .susten-img img{width:100%; height:100%; object-fit:cover; display:block;}
  .susten-stat-block{padding:80px 0; text-align:center;}
  .susten-stat-block .eyebrow{justify-content:center;}
  .susten-stat-block h2{font-size:clamp(24px,3vw,32px); margin:14px auto 26px; max-width:640px;}
  .susten-stat-block .big-n{font-size:clamp(56px,9vw,104px); font-weight:800; color:var(--bronce); line-height:1; margin:10px 0 22px;}
  .susten-stat-block p{max-width:620px; margin:0 auto; color:var(--azul-claro); font-size:16px; line-height:1.7; font-weight:300;}
  .susten-stat-block p strong{color:#fff; font-weight:700;}
  .two-col p strong{color:var(--azul-oscuro); font-weight:700;}
  @media(max-width:760px){ .susten-img{height:280px;} }
  .two-col.rev{grid-template-columns:1fr 1fr;}

  .trio-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:48px;}
  .trio-icon{width:56px; height:56px; color:var(--bronce); margin:0 auto 22px;}
  .trio-icon svg{width:100%; height:100%; display:block;}
  .trio-tag{color:var(--bronce); font-size:13px; letter-spacing:1.2px; text-transform:uppercase; font-weight:700; margin-bottom:14px; line-height:1.4; text-align:center; min-height:37px; display:flex; align-items:center; justify-content:center;}
  .trio-text{color:var(--gris); font-size:15px; line-height:1.7; text-align:justify;}

  @media(max-width:980px){
    nav.links{display:none;}
    .nav-burger{display:flex;}
    .mobile-nav{display:flex;}
    .mobile-nav .mobile-accordion{display:block;border-bottom:1px solid rgba(255,255,255,.08);}
    .mobile-nav .mobile-nav-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;margin:0;border:0;background:transparent;color:var(--bronce);font:inherit;font-size:12px;line-height:1.2;letter-spacing:1.2px;text-transform:uppercase;font-weight:700;text-align:left;cursor:pointer;}
    .mobile-nav .mobile-nav-chevron{flex:0 0 auto;color:var(--bronce);font-size:18px;line-height:1;transition:transform .22s ease;}
    .mobile-nav .mobile-nav-submenu{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .28s ease, opacity .22s ease;}
    .mobile-nav .mobile-nav-submenu > *{overflow:hidden;}
    .mobile-nav .mobile-accordion.is-open .mobile-nav-submenu{grid-template-rows:1fr;opacity:1;}
    .mobile-nav .mobile-accordion.is-open .mobile-nav-chevron{transform:rotate(180deg);}
    .mobile-nav .mobile-nav-submenu a{display:block;border-bottom:0;padding:10px 0 10px 16px;font-size:14px;opacity:.72;}
    .mobile-nav .mobile-nav-submenu a:last-child{padding-bottom:15px;}
    .mobile-nav .mobile-nav-link{display:block;color:#fff;font-size:15.5px;letter-spacing:.3px;text-transform:uppercase;font-weight:600;opacity:.85;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.08);cursor:pointer;}
    .mobile-nav .mobile-nav-link:hover,.mobile-nav .mobile-nav-link.active{opacity:1;color:var(--bronce);}
    .fork-grid,.card-grid3,.pillars,.ind-links,.brand-grid,.line-grid,.stat-row,.channel-list,.steps,.audience-grid,.foot-top,.two-col,.sub-grid3,.recog-grid,.mvp-grid,.sol-grid,.trio-grid,.brand-fit-grid{grid-template-columns:1fr 1fr;}
    .dict-columns{column-count:1;}
    .az-nav{top:0; position:relative;}
    .pillars{grid-template-columns:1fr 1fr 1fr;}
  }
  @media(max-width:640px){
    .fork-grid,.card-grid3,.pillars,.ind-links,.brand-grid,.line-grid,.stat-row,.channel-list,.steps,.audience-grid,.foot-top,.two-col,.sub-grid3,.recog-grid,.mvp-grid,.sol-grid,.trio-grid,.brand-fit-grid{grid-template-columns:1fr;}
    .wrap{padding:0 20px;}
    .cert-gold-band{padding-left:20px; padding-right:20px;}
    /* ==== Ajustes móvil — página Industrial ==== */
    .wrap.section{padding-top:80px; padding-bottom:80px;}          /* Ubicación estratégica: margen arriba/abajo */
    .steps{grid-template-columns:1fr 1fr;}                         /* Pasos: 2 columnas x 2 filas */
    .pillars{grid-template-columns:1fr 1fr;}                       /* Pilares: 2 columnas */
    .pillars .pillar:nth-child(5):last-child{grid-column:1 / -1;} /* 5º pilar ocupa el ancho de las 2 columnas */
    /* ==== Slider horizontal de tarjetas "¿Qué necesitas resolver?" ==== */
    .sol-grid{display:flex; grid-template-columns:none; overflow-x:auto; scroll-snap-type:x mandatory; gap:14px; margin-top:24px; padding-bottom:14px; -webkit-overflow-scrolling:touch; scrollbar-width:none;}
    .sol-grid::-webkit-scrollbar{display:none;}
    .sol-card{display:flex; flex-direction:column; grid-row:auto; grid-template-rows:none; flex:0 0 86%; scroll-snap-align:start;}
    .sol-actions{margin-top:auto;}
    .sol-dots{display:flex;}
    /* Catálogo móvil: una sola fila, con la siguiente tarjeta asomándose */
    .finder-cards{
      --finder-gap:14px;
      --finder-card-w:clamp(210px,72vw,260px);
      padding-right:42px;
    }
    .finder-slider-controls{margin-top:14px;}
    .finder-slider-arrow{width:38px; height:38px;}
  }

  /* ==== Leaflet (inlined — Artifact CSP blocks external stylesheets) ==== */
.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-bottom,.leaflet-top{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:rgba(255,255,255,.5)}.leaflet-container{font-family:"Helvetica Neue",Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px rgba(0,0,0,.65);border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:bold 18px 'Lucida Console',Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px rgba(0,0,0,.4);background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(images/layers.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(images/layers-2x.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(images/marker-icon.png)}.leaflet-container .leaflet-control-attribution{background:#fff;background:rgba(255,255,255,.8);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:rgba(255,255,255,.8);text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:17px 0;margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px rgba(0,0,0,.4)}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:0 0}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.4)}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{position:absolute;pointer-events:none;border:6px solid transparent;background:0 0;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
  /* ==== Puntos de venta / mapa ==== */
  .pv-marcas-header{padding-bottom:0;}
  .pv-marcas-header .eyebrow{color:var(--bronce);}
  .pv-marcas-header h1{color:var(--ink); font-size:clamp(28px,4vw,46px); line-height:1.12; max-width:820px; margin:16px 0 14px; font-weight:600;}
  .pv-marcas-header p.lead{color:var(--azul-medio); max-width:600px; font-size:17px; line-height:1.6; font-weight:400;}
  .pv-marcas-header .pv-stats-row{margin-top:44px;}
  .pv-stats-row{display:flex; align-items:center; justify-content:center; gap:28px; margin-bottom:44px; flex-wrap:wrap;}
  .pv-stat{text-align:center;}
  .pv-stat-num{font-size:36px; font-weight:700; color:var(--bronce); line-height:1;}
  .pv-stat-lbl{font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--gris); margin-top:6px; font-weight:600;}
  .pv-stat-sep{width:1px; height:40px; background:#DCD6C8;}

  .pv-card{background:#fff; border:1px solid #ECE7DD; border-radius:8px; overflow:hidden; display:grid; grid-template-columns:320px 1fr; min-height:560px;}
  .pv-sidebar{border-right:1px solid #ECE7DD; display:flex; flex-direction:column; overflow:hidden; height:560px;}
  .pv-sidebar-empty{padding:36px 26px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; height:560px; overflow-y:auto;}
  .pv-empty-icon{width:60px; height:60px; border-radius:50%; background:rgba(201,168,76,.12); color:var(--bronce); display:flex; align-items:center; justify-content:center; margin-bottom:18px;}
  .pv-empty-title{font-size:17px; font-weight:700; color:var(--azul-oscuro); margin-bottom:8px;}
  .pv-empty-sub{font-size:13.5px; color:var(--gris); line-height:1.65; margin-bottom:26px;}
  .pv-chains{width:100%;}
  .pv-chains-lbl{font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:1.2px; color:var(--gris); margin-bottom:10px;}
  .pv-chains-list{display:flex; flex-wrap:wrap; gap:6px; justify-content:center;}
  .pv-chains-list span{background:var(--marfil); border:1px solid #ECE7DD; color:var(--azul-oscuro); font-size:11px; font-weight:600; padding:5px 11px; border-radius:2px;}

  .pv-sidebar-state{display:flex; flex-direction:column; height:560px; overflow:hidden;}
  .pv-state-header{padding:20px 22px; background:var(--azul-oscuro); display:flex; align-items:center; gap:12px;}
  .pv-state-icon{width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); display:flex; align-items:center; justify-content:center; color:var(--bronce); flex-shrink:0;}
  .pv-state-name{font-size:17px; font-weight:700; color:#fff; line-height:1;}
  .pv-state-count{font-size:11.5px; color:rgba(255,255,255,.65); margin-top:4px;}
  .pv-state-count b{color:var(--bronce);}
  .pv-close-btn{margin-left:auto; background:rgba(255,255,255,.1); border:none; width:28px; height:28px; border-radius:50%; color:rgba(255,255,255,.7); cursor:pointer; font-size:14px; display:flex; align-items:center; justify-content:center; transition:.2s; flex-shrink:0;}
  .pv-close-btn:hover{background:rgba(255,255,255,.22); color:#fff;}

  .pv-search-wrap{padding:14px 18px; border-bottom:1px solid #ECE7DD; background:var(--marfil);}
  .pv-search-inner{display:flex; align-items:center; gap:8px; background:#fff; border:1px solid #DCD6C8; border-radius:2px; padding:9px 12px; transition:border-color .2s;}
  .pv-search-inner:focus-within{border-color:var(--bronce);}
  .pv-search-icon{color:var(--gris); flex-shrink:0; display:flex;}
  .pv-search-input{border:none; outline:none; font-size:13.5px; color:var(--azul-oscuro); width:100%; background:transparent; font-family:inherit;}
  .pv-search-input::placeholder{color:var(--gris);}

  .pv-stores-list{overflow-y:auto; padding:16px 18px; flex:1;}
  .pv-stores-list::-webkit-scrollbar{width:4px;}
  .pv-stores-list::-webkit-scrollbar-thumb{background:#DCD6C8; border-radius:4px;}

  .pv-muni{margin-bottom:18px;}
  .pv-muni-name{font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:1.4px; color:var(--bronce); padding-bottom:6px; margin-bottom:9px; border-bottom:1px solid rgba(201,168,76,.25); display:flex; align-items:center; gap:6px;}
  .pv-muni-name::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--bronce); flex-shrink:0;}
  .pv-store-items{display:flex; flex-direction:column; gap:5px;}
  .pv-store-item{display:flex; align-items:center; gap:10px; padding:9px 11px; border-radius:2px; border:1px solid #ECE7DD; background:#fff; transition:.18s;}
  .pv-store-item:hover{border-color:rgba(201,168,76,.4); background:var(--marfil);}
  .pv-store-dot{width:6px; height:6px; border-radius:50%; background:var(--bronce); flex-shrink:0;}
  .pv-store-name{font-size:12.5px; font-weight:500; color:var(--azul-oscuro); flex:1; line-height:1.35;}
  .pv-store-maps{font-size:11px; color:var(--bronce); text-decoration:none; font-weight:700; padding:4px 8px; border-radius:2px; background:rgba(201,168,76,.1); transition:.15s; white-space:nowrap; flex-shrink:0;}
  .pv-store-maps:hover{background:var(--bronce); color:#fff;}
  .pv-no-results{text-align:center; padding:28px; color:var(--gris); font-size:13.5px;}

  .pv-map-wrap{position:relative; flex:1;}
  [id^="pvMap"]{width:100%; height:560px; background:#EFEBE2;}
  .pv-map-loader{position:absolute; inset:0; background:rgba(247,245,241,.94); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; z-index:500; font-size:13px; color:var(--azul-oscuro); font-weight:600;}
  .pv-spinner{width:34px; height:34px; border:3px solid rgba(201,168,76,.25); border-top-color:var(--bronce); border-radius:50%; animation:pv-spin .8s linear infinite;}
  @keyframes pv-spin{to{transform:rotate(360deg);}}
  .pv-map-hint{position:absolute; bottom:16px; left:50%; transform:translateX(-50%); background:rgba(255,255,255,.94); border:1px solid #ECE7DD; border-radius:2px; padding:8px 16px; font-size:11.5px; font-weight:600; color:var(--gris); white-space:nowrap; z-index:400; box-shadow:0 2px 12px rgba(0,0,0,.08); display:none;}
  .pv-map-hint.visible{display:block;}
  .pv-tienda-pill{position:absolute; top:14px; right:14px; z-index:410; display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:700; color:rgba(255,255,255,.85); background:rgba(20,20,20,.88); border:1px solid rgba(255,255,255,.18); padding:8px 15px; border-radius:2px; text-decoration:none; transition:.2s;}
  .pv-tienda-pill:hover{color:var(--bronce); border-color:rgba(201,168,76,.5);}

  [id^="pvMap"] .leaflet-tooltip{background:var(--azul-oscuro); border:none; border-radius:2px; color:#fff; font-size:12px; font-weight:700; letter-spacing:.4px; padding:6px 12px; box-shadow:0 4px 16px rgba(0,0,0,.25);}
  [id^="pvMap"] .leaflet-tooltip-top:before{border-top-color:var(--azul-oscuro);}
  [id^="pvMap"] .leaflet-container{background:#EFEBE2 !important;}
  [id^="pvMap"] path{outline:none !important;}

  @media(max-width:900px){
    .pv-card{grid-template-columns:1fr; min-height:auto;}
    .pv-sidebar, .pv-sidebar-empty, .pv-sidebar-state{height:340px;}
    [id^="pvMap"]{height:340px;}
    .pv-stats-row{gap:18px;}
    .pv-stat-num{font-size:28px;}
  }

  /* Estadísticas en 2 columnas fijas en móvil */
  @media(max-width:560px){
    .pv-stats-row{display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:0; flex-wrap:nowrap;}
    .pv-stat{padding:0 12px;}
    .pv-stat-sep{display:none;}
    .pv-stats-row > .pv-stat:first-child{border-right:1px solid #DCD6C8;}
    .pv-stat-num{font-size:26px;}
    .pv-stat-lbl{font-size:10px; letter-spacing:1px; line-height:1.35;}
  }

  /* ==== Nuestras marcas — portafolio en 2 cajas con producto ==== */
  .portfolio-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:32px;}
  .portfolio-box{background:#fff; border:1px solid #ECE7DD; border-radius:10px; overflow:hidden; display:flex; flex-direction:column;}
  .portfolio-imgs{display:flex; align-items:flex-end; justify-content:center; gap:14px; background:var(--marfil); padding:30px 24px 0; min-height:230px;}
  .portfolio-img{max-height:200px; width:auto; object-fit:contain; filter:drop-shadow(0 10px 16px rgba(20,20,20,.12));}
  .portfolio-body{padding:26px 28px 30px;}
  .portfolio-n{color:var(--bronce); font-weight:700; font-size:12.5px; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:8px;}
  .portfolio-box h3{font-size:24px; color:var(--azul-oscuro); margin-bottom:10px;}
  .portfolio-box p{color:var(--gris); font-size:14.5px; line-height:1.6; margin-bottom:18px;}
  .portfolio-brands{display:flex; gap:8px; flex-wrap:wrap;}
  .portfolio-brands span{font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; color:var(--azul-oscuro); background:var(--marfil); border:1px solid #ECE7DD; padding:5px 11px; border-radius:2px;}
  @media(max-width:700px){
    .portfolio-grid{grid-template-columns:1fr;}
  }

  /* ==== Nuestras marcas — banner de conversión (3 caminos de compra) ==== */
  .conv-banner .eyebrow.center{display:flex; justify-content:center;}
  .conv-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:8px;}
  .conv-card{background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.14); border-radius:8px; padding:36px 26px 30px; text-align:center; display:flex; flex-direction:column; align-items:center;}
  .conv-icon{width:56px; height:56px; border-radius:50%; background:rgba(201,168,76,.16); color:var(--bronce); display:flex; align-items:center; justify-content:center; margin-bottom:18px;}
  .conv-icon svg{width:26px; height:26px;}
  .conv-card h5{font-size:18px; color:#fff; margin-bottom:10px;}
  .conv-card p{font-size:14px; line-height:1.6; margin-bottom:24px; flex:1;}
  .conv-card .btn{width:100%;}
  @media(max-width:900px){
    .conv-grid{grid-template-columns:1fr; gap:16px;}
  }

  /* ==== Nuestras marcas — tarjetas interactivas / perfil sensorial ==== */
  .cat-strip{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:32px;}
  .cat-strip-item{background:#fff; border:1px solid #ECE7DD; border-radius:8px; padding:22px 20px;}
  .cat-strip-n{font-size:12px; font-weight:700; color:var(--bronce); letter-spacing:1.5px; margin-bottom:10px;}
  .cat-strip-item h5{font-size:17px; color:var(--azul-oscuro); margin-bottom:4px;}
  .cat-strip-item p{font-size:13.5px; color:var(--gris); margin-bottom:12px; line-height:1.5;}
  .cat-strip-brand{font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; color:var(--azul-oscuro); background:var(--marfil); border:1px solid #ECE7DD; display:inline-block; padding:5px 11px; border-radius:2px;}

  .sensory-legend{display:flex; gap:26px; flex-wrap:wrap; margin:22px 0 6px; font-size:12.5px; color:var(--gris); font-weight:600;}
  .sensory-legend span{display:inline-flex; align-items:center; gap:7px;}
  .sensory-legend .dot{width:8px; height:8px; border-radius:50%; display:inline-block;}
  .dot-validated{background:var(--bronce);}
  .dot-estimate{background:#CFCAC0; border:1px solid #B7B1A4;}

  .flip-grid{perspective:1600px;}
  .flip-card{cursor:pointer; background:transparent; outline:none;}
  .flip-card-inner{position:relative; width:100%; height:100%; transition:transform .65s cubic-bezier(.4,.15,.2,1); transform-style:preserve-3d;}
  .flip-card.is-flipped .flip-card-inner{transform:rotateY(180deg);}
  @media (hover:hover) and (pointer:fine){
    .flip-card:hover .flip-card-inner{transform:rotateY(180deg);}
  }
  .flip-card-face{position:absolute; inset:0; backface-visibility:hidden; -webkit-backface-visibility:hidden; border-radius:8px; display:flex; flex-direction:column; overflow:hidden;}
  .flip-card-back{transform:rotateY(180deg);}
  .flip-card:focus-visible .flip-card-face{outline:2px solid var(--bronce); outline-offset:2px;}

  .flip-hint{position:absolute; bottom:14px; left:0; right:0; text-align:center; font-size:10.5px; font-weight:700; letter-spacing:.8px; text-transform:uppercase; color:var(--bronce); opacity:.85;}

  /* Brand cards (4) — static, no flip */
  .brand-card-static{aspect-ratio:1/1; position:relative; display:flex; align-items:center; justify-content:center; padding:24px;}

  .brand-logo-img{max-height:150px; max-width:78%; width:auto; object-fit:contain;}
  .brand-logo-img[alt="Continental"], .brand-logo-img[alt="Vivendi"]{height:190px; max-height:190px; max-width:92%;}
  .brand-role{font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:1.3px; color:var(--bronce); margin-bottom:8px;}
  .brand-teaser{font-size:13.5px; color:#5B5748;}
  .brand-card-cta{display:inline-block; margin-top:14px; font-size:12.5px; font-weight:700; color:var(--bronce); text-decoration:none; border-bottom:1px solid rgba(201,168,76,.5); padding-bottom:2px;}
  .brand-card-cta:hover{border-color:var(--bronce);}

  /* Line cards (5, CAFIVER family) */
  .flip-card--line{height:360px; position:relative;}
  .flip-card--line .flip-card-front{background:var(--marfil); border:1px solid #ECE7DD; align-items:center; justify-content:center; text-align:center; padding:20px 14px 40px;}
  .flip-card--line .flip-card-back{background:#fff; border:1px solid #ECE7DD; align-items:center; text-align:center; padding:16px 14px 14px; justify-content:flex-start;}
  .flip-card--line .flip-card-back h5{font-size:15px; margin-bottom:8px;}
  .line-why{font-size:12px; color:var(--gris); line-height:1.5; margin-top:8px;}

  .radar-wrap{width:150px; height:150px; margin:2px auto 6px;}
  .radar-wrap-sm{width:108px; height:108px; margin:0 auto 6px;}
  .radar-svg{width:100%; height:100%; overflow:visible;}

  .sensory-tag{display:inline-block; margin-top:auto; font-size:10.5px; font-weight:700; letter-spacing:.3px; padding:5px 10px; border-radius:2px;}
  .sensory-tag-validated{background:rgba(201,168,76,.14); color:#8a6d1f;}
  .sensory-tag-estimate{background:#EFEBE2; color:var(--gris);}
  .flip-card--line .sensory-tag{margin-top:10px;}

  @media(max-width:900px){
    .cat-strip{grid-template-columns:1fr;}
    .brand-grid.flip-grid{grid-template-columns:repeat(2,1fr);}
    .line-grid.flip-grid{grid-template-columns:repeat(2,1fr);}
    .flip-card--line{height:350px;}
  }
  @media(max-width:520px){
    .line-grid.flip-grid{grid-template-columns:1fr;}
    /* 4 marcas: 2 columnas x 2 filas en móvil */
    .brand-grid.flip-grid{grid-template-columns:repeat(2,1fr);}
    .brand-grid.flip-grid .brand-card-static{padding:18px;}
    .brand-grid.flip-grid .brand-logo-img{height:auto; max-height:96px; max-width:80%;}
    .brand-grid.flip-grid .brand-logo-img[alt="Continental"], .brand-grid.flip-grid .brand-logo-img[alt="Vivendi"]{max-height:112px; max-width:88%;}
  }
/* ==========================================================
   FIX MOBILE — evita desplazamiento horizontal en Coffee Service
   ========================================================== */
.page[data-page="coffee-service"]{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

@media(max-width:640px){
  /* En "Todos" se generan muchos indicadores y podían desbordar el viewport. */
  .page[data-page="coffee-service"] .equip-dots{
    display:none;
  }

  /* Refuerzo para que ningún elemento interno ensanche la página en móvil. */
  .page[data-page="coffee-service"] .wrap,
  .page[data-page="coffee-service"] .section,
  .page[data-page="coffee-service"] .equip-carousel,
  .page[data-page="coffee-service"] .mapa-card{
    max-width:100%;
  }
}


/* ============================================================
   Nuestras Marcas — controles de giro de ficha en móvil
   ============================================================ */
.finder-flip-open,
.finder-flip-close{
  display:none;
}

@media(max-width:760px){
  /* En pantallas táctiles el giro depende del toque, no del :hover. */
  .finder-card:hover .finder-card-inner{
    transform:none;
  }
  .finder-card.is-active .finder-card-inner{
    transform:rotateY(180deg);
  }

  .finder-flip-open{
    position:absolute;
    left:14px;
    right:14px;
    bottom:14px;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:10px 14px;
    border:1px solid rgba(255,255,255,.55);
    border-radius:4px;
    background:rgba(20,20,20,.90);
    color:#fff;
    font:inherit;
    font-size:12px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.7px;
    text-transform:uppercase;
    cursor:pointer;
    box-shadow:0 8px 20px rgba(0,0,0,.20);
    -webkit-tap-highlight-color:transparent;
  }
  .finder-flip-open:active{
    transform:scale(.98);
  }

  .finder-flip-close{
    position:absolute;
    top:12px;
    right:12px;
    z-index:4;
    display:flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    padding:0;
    border:1px solid rgba(255,255,255,.28);
    border-radius:50%;
    background:rgba(255,255,255,.10);
    color:#fff;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .finder-flip-close svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .finder-flip-close:active{
    transform:scale(.94);
  }

  /* Reserva espacio para el icono de regreso sin tapar la ficha. */
  .finder-card-back{
    padding-top:54px;
  }
}

/* ============================================================
   Nuestras Marcas — CTA del hero a ancho completo en móvil
   ============================================================ */
@media(max-width:640px){
  .page[data-page="marcas"] .hero .cta-row{
    width:100%;
  }
  .page[data-page="marcas"] .hero .cta-row .btn{
    display:block;
    width:100%;
    text-align:center;
  }
}

/* ============================================================
   Industrial — ajustes móviles: CTA del hero + slider de soluciones
   ============================================================ */
.page[data-page="industrial"]{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

@media(max-width:640px){
  /* CTA principal del banner: ancho completo respetando el padding del .wrap */
  .page[data-page="industrial"] .hero .cta-row{
    width:100%;
  }
  .page[data-page="industrial"] .hero .cta-row .btn{
    display:block;
    width:100%;
    text-align:center;
  }

  /*
     Slider "¿Qué necesitas resolver?"
     Conserva el efecto de carrusel horizontal, pero usa subgrid para que
     etiqueta, título, descripción, público y acciones queden alineados
     entre todas las tarjetas, aunque el texto tenga longitudes distintas.
  */
  .page[data-page="industrial"] .sol-grid{
    display:grid;
    grid-template-columns:none;
    grid-template-rows:repeat(5,auto);
    grid-auto-flow:column;
    grid-auto-columns:86%;
    column-gap:14px;
    row-gap:8px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:0;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:0 0 14px;
    margin-top:24px;
    align-items:stretch;
  }
  .page[data-page="industrial"] .sol-grid::-webkit-scrollbar{
    display:none;
  }

  .page[data-page="industrial"] .sol-card{
    display:grid;
    grid-row:1 / span 5;
    grid-template-rows:subgrid;
    min-width:0;
    height:100%;
    padding:26px 24px;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }

  .page[data-page="industrial"] .sol-card .n,
  .page[data-page="industrial"] .sol-card h4,
  .page[data-page="industrial"] .sol-card p,
  .page[data-page="industrial"] .sol-card .for,
  .page[data-page="industrial"] .sol-actions{
    margin-top:0;
    align-self:start;
  }

  .page[data-page="industrial"] .sol-card .n{
    margin-bottom:0;
  }
  .page[data-page="industrial"] .sol-card h4{
    margin-bottom:0;
  }

  .page[data-page="industrial"] .sol-actions{
    width:100%;
    gap:9px;
  }
  .page[data-page="industrial"] .sol-cta.primary{
    width:100%;
    min-height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .page[data-page="industrial"] .sol-cta-link{
    width:100%;
    white-space:normal;
    line-height:1.35;
    text-align:center;
  }
}


/* ================================================================
   HEADER + FOOTER FINALES (fusionado desde header-footer.css)
   ================================================================ */
/* ================================================================
   CAFIVER — Header (menú) y footer oficiales, compartidos por todo el sitio.
   Extraído de index.html para que todas las páginas usen exactamente
   el mismo menú y footer. Se carga después de styles.css.
   ================================================================ */

/* Compensa el header fijo al saltar a una sección interna (#ancla) */
html{scroll-padding-top:132px;}
@media(max-width:980px){ html{scroll-padding-top:88px;} }

  /* ============================================================
     HEADER DE DOS NIVELES — prueba UX
     Navegación principal abajo + utilidades arriba.
     ============================================================ */
  header.nav.cafiver-split-nav{padding:0;}
  header.nav.cafiver-split-nav .utility-bar{
    border-bottom:1px solid rgba(255,255,255,.08);
    background:#070707;
  }
  header.nav.cafiver-split-nav .utility-bar .wrap{
    min-height:44px;
    justify-content:flex-end;
    padding-top:4px;
    padding-bottom:4px;
  }
  .utility-nav{
    display:flex; align-items:center; justify-content:flex-end;
    gap:10px; margin-left:auto;
  }
  .utility-nav a,
  .utility-nav button{
    appearance:none; border:0; background:none; color:rgba(255,255,255,.76);
    font-family:inherit; font-size:11.5px; line-height:1; letter-spacing:.45px;
    font-weight:600; text-decoration:none; white-space:nowrap;
    cursor:pointer; transition:color .2s ease, opacity .2s ease, border-color .2s ease, background .2s ease, transform .2s ease;
  }
  .utility-nav .utility-contact{
    display:inline-flex; align-items:center; min-height:36px; padding:0 10px;
  }
  .utility-nav .utility-contact:hover{color:var(--bronce);}
  .utility-nav .utility-separator{
    color:rgba(255,255,255,.28);
    font-size:12px;
    line-height:1;
    user-select:none;
  }

  /* Idioma: ícono + idioma actual + caret, más reconocible que “EN” aislado */
  .utility-nav .utility-language{
    display:inline-flex; align-items:center; justify-content:center; gap:7px;
    min-height:36px; padding:0 10px; border:1px solid rgba(255,255,255,.13);
    border-radius:4px; color:rgba(255,255,255,.86);
  }
  .utility-nav .utility-language:hover{border-color:rgba(201,168,76,.58); color:var(--bronce);}
  .utility-nav .utility-language svg{width:15px; height:15px; display:block;}
  .utility-nav .utility-language .utility-caret{font-size:9px; opacity:.7; transform:translateY(-1px);}

  /* CTA comercial con mayor aire y lectura */
  .utility-nav .utility-buy{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    min-height:36px; padding:0 15px; margin-left:2px; border-radius:4px;
    background:var(--bronce); color:#fff; opacity:1;
  }
  .utility-nav .utility-buy svg{width:16px; height:16px; display:block;}
  .utility-nav .utility-buy:hover{color:#fff; opacity:.94; transform:translateY(-1px);}

  header.nav.cafiver-split-nav .main-nav-row{background:inherit;}
  header.nav.cafiver-split-nav .main-nav-row .wrap{min-height:72px;}
  header.nav.cafiver-split-nav .main-nav-row nav.links{gap:22px;}
  header.nav.cafiver-split-nav .main-nav-row nav.links > a,
  header.nav.cafiver-split-nav .main-nav-row .nav-item > a{font-size:13px;}

  @media(max-width:1180px) and (min-width:981px){
    header.nav.cafiver-split-nav .main-nav-row nav.links{gap:16px;}
    header.nav.cafiver-split-nav .main-nav-row nav.links > a,
    header.nav.cafiver-split-nav .main-nav-row .nav-item > a{font-size:12.2px; letter-spacing:.3px;}
  }
  @media(max-width:980px){
    header.nav.cafiver-split-nav .utility-bar{display:none;}
    header.nav.cafiver-split-nav .main-nav-row .wrap{min-height:68px;}
    .mobile-utility-row{
      display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:22px; padding-top:18px;
      border-top:1px solid rgba(255,255,255,.10);
    }
    .mobile-utility-row a,
    .mobile-utility-row button{
      display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:0 12px;
      border:1px solid rgba(255,255,255,.14); border-radius:4px; color:#fff; background:transparent;
      font-family:inherit; font-size:12px; font-weight:700; letter-spacing:.4px; text-decoration:none; cursor:pointer;
    }
    .mobile-utility-row svg{width:16px; height:16px; display:block;}
    .mobile-utility-row .mobile-buy{grid-column:1/-1; background:var(--bronce); border-color:var(--bronce);}
  }

  @media(max-width:980px){
    header.nav.cafiver-split-nav .main-nav-row .brand img{height:42px !important;}
  }

  /* Alineación del header al mismo margen visual que el contenido */
  header.nav.cafiver-split-nav .utility-bar .wrap,
  header.nav.cafiver-split-nav .main-nav-row .wrap{
    max-width:1240px;
    margin-left:auto;
    margin-right:auto;
    padding-left:32px;
    padding-right:32px;
    box-sizing:border-box;
  }
  header.nav.cafiver-split-nav .main-nav-row .brand{
    margin-left:0;
    flex:0 0 auto;
  }
  @media(max-width:980px){
    header.nav.cafiver-split-nav .utility-bar .wrap,
    header.nav.cafiver-split-nav .main-nav-row .wrap{
      padding-left:24px;
      padding-right:24px;
    }
  }
  @media(max-width:640px){
    header.nav.cafiver-split-nav .utility-bar .wrap,
    header.nav.cafiver-split-nav .main-nav-row .wrap{
      padding-left:18px;
      padding-right:18px;
    }
  }

  /* ============================================================
     NAVEGACIÓN PRINCIPAL — compactación para escritorio
     Mantiene el menú en una sola línea y lo alinea a la derecha.
     ============================================================ */
  @media(min-width:981px){
    header.nav.cafiver-split-nav .main-nav-row .wrap{gap:24px;}
    header.nav.cafiver-split-nav .main-nav-row nav.links{
      margin-left:auto;
      justify-content:flex-end;
      gap:14px;
      flex-wrap:nowrap;
      min-width:0;
    }
    header.nav.cafiver-split-nav .main-nav-row nav.links > a,
    header.nav.cafiver-split-nav .main-nav-row .nav-item > a{
      white-space:nowrap;
      font-size:12.2px;
      letter-spacing:.22px;
    }
    header.nav.cafiver-split-nav .main-nav-row .nav-item .caret{margin-left:3px;}
  }
  @media(max-width:1180px) and (min-width:981px){
    header.nav.cafiver-split-nav .main-nav-row .wrap{
      gap:18px;
      padding-left:24px;
      padding-right:24px;
    }
    header.nav.cafiver-split-nav .main-nav-row nav.links{gap:10px;}
    header.nav.cafiver-split-nav .main-nav-row nav.links > a,
    header.nav.cafiver-split-nav .main-nav-row .nav-item > a{
      font-size:11.6px;
      letter-spacing:.08px;
    }
  }

  /* Página actual resaltada en el menú */
  .utility-nav a.active{color:var(--bronce);}
  .mobile-utility-row a.active{border-color:var(--bronce); color:var(--bronce);}

  /* ============================================================
     FOOTER — corrección de layout
     ============================================================ */
  #contacto-footer{
    padding-top:58px;
  }

  #contacto-footer .wrap{
    max-width:1320px;
  }

  #contacto-footer .foot-top{
    display:grid;
    grid-template-columns:
      minmax(190px,220px)
      repeat(5,minmax(0,1fr));
    gap:32px;
    align-items:start;
    padding-bottom:48px;
  }

  /* Marca: logo + texto en vertical, sin competir por ancho */
  #contacto-footer .foot-logo{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    min-width:0;
    margin-left:0;
  }

  #contacto-footer .foot-logo .foot-logo-svg{
    width:auto;
    height:96px;
    flex:0 0 auto;
    display:block;
  }

  #contacto-footer .foot-tagline{
    margin:18px 0 0;
    max-width:220px;
    color:rgba(255,255,255,.58);
    font-size:13px;
    line-height:1.65;
    font-weight:400;
  }

  /* Columnas: misma línea de arranque visual */
  #contacto-footer .foot-col{
    min-width:0;
  }

  #contacto-footer .foot-col h5{
    min-height:34px;
    margin:0 0 14px;
    line-height:1.28;
    letter-spacing:1.45px;
  }

  #contacto-footer .foot-col a{
    margin-bottom:10px;
    line-height:1.35;
  }

  #contacto-footer .foot-bottom{
    padding-top:22px;
    padding-bottom:34px;
  }

  /* Tablet: marca a todo lo ancho + navegación en 2 columnas */
  @media(max-width:1100px){
    #contacto-footer .foot-top{
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:36px 48px;
    }

    #contacto-footer .foot-logo{
      grid-column:1 / -1;
      display:grid;
      grid-template-columns:auto minmax(0,1fr);
      align-items:center;
      column-gap:24px;
    }

    #contacto-footer .foot-logo .foot-logo-svg{
      height:86px;
    }

    #contacto-footer .foot-tagline{
      margin:0;
      max-width:360px;
    }

    #contacto-footer .foot-col h5{
      min-height:0;
    }
  }

  /* Móvil: logo a todo lo ancho + navegación en 2 columnas */
  @media(max-width:640px){
    #contacto-footer{
      padding-top:44px;
    }

    #contacto-footer .foot-top{
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:32px 22px;
      padding-bottom:36px;
    }

    #contacto-footer .foot-logo{
      grid-column:1 / -1;
      display:flex;
      flex-direction:column;
      align-items:flex-start;
      row-gap:0;
    }

    #contacto-footer .foot-logo .foot-logo-svg{
      height:82px;
    }

    #contacto-footer .foot-tagline{
      margin-top:16px;
      max-width:290px;
    }

    #contacto-footer .foot-col{
      min-width:0;
    }

    #contacto-footer .foot-col h5,
    #contacto-footer .foot-col a{
      overflow-wrap:anywhere;
    }

    #contacto-footer .foot-bottom{
      align-items:flex-start;
      padding-bottom:28px;
    }

    #contacto-footer .foot-bottom-right{
      width:100%;
      justify-content:space-between;
      gap:18px;
      flex-wrap:wrap;
    }
  }


/* ================================================================
   CSS MIGRADO DESDE coffee-service.html
   ================================================================ */
/* Coffee Service: los links de las cards solo existen visualmente en móvil */
  @media (min-width:641px){
    .page[data-page="coffee-service"] .sector-card .sector-link{display:none !important;}
  }
  @media (max-width:640px){
    .page[data-page="coffee-service"] .sector-card .sector-link{display:inline-block !important;}
    .page[data-page="coffee-service"] .sector-equipment-cta{display:none !important;}
  }


/* ================================================================
   CSS MIGRADO DESDE contacto.html
   ================================================================ */
/* Contacto · ajuste móvil de aire en la sección Ubicación */
@media (max-width: 760px) {
  [data-page="contacto"] .cf-map-wrap {
    padding-left: 28px !important;
    padding-right: 28px !important;
    padding-bottom: 52px !important;
  }
}


/* ================================================================
   CSS MIGRADO DESDE nosotros.html
   ================================================================ */
/* ===== Nuestra historia — línea de tiempo (scrollytelling) ===== */
  .history-container{max-width:1180px;margin:0 auto;padding:0 24px;}

  .history{
    --coffee-950:#1b120c;
    --gold:#c08a3e;
    --gold-light:#e0ab5c;
    --gold-dark:#9c6e2e;
    background:var(--coffee-950);color:#fff;padding:170px 0 110px;position:relative;
  }
  .history *{box-sizing:border-box;}
  .history-decor{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
  .history-decor::before{content:'';position:absolute;top:-140px;right:-140px;width:460px;height:460px;
    border-radius:50%;border:1px solid rgba(192,138,62,.16);}
  .history-decor::after{content:'';position:absolute;bottom:-200px;left:-160px;width:520px;height:520px;
    border-radius:50%;border:1px solid rgba(192,138,62,.1);}

  .history-head{position:relative;z-index:2;margin-bottom:64px;max-width:640px;}
  .history-eyebrow{font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
    color:var(--gold-light);margin:0 0 12px;display:flex;align-items:center;gap:12px;}
  .history-eyebrow::after{content:'';height:1px;flex:1;background:linear-gradient(90deg,var(--gold),transparent);}
  .history-head h2{font-size:clamp(30px,4.4vw,46px);font-weight:900;margin:0 0 12px;line-height:1.1;color:#fff;}
  .history-lead{color:#c0b3a0;margin:0;font-size:16px;}

  .history-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:start;}

  /* --- Columna visual: sticky SOLO en escritorio --- */
  .history-visual{position:sticky;top:96px;height:520px;}
  .history-ghost{position:absolute;top:-46px;left:-26px;font-size:170px;font-weight:900;line-height:1;
    color:transparent;-webkit-text-stroke:1.5px rgba(192,138,62,.32);letter-spacing:-.03em;pointer-events:none;}
  .history-ghost span{position:absolute;top:0;left:0;opacity:0;transition:opacity .7s ease;white-space:nowrap;}
  .history-ghost span.is-active{opacity:1;}

  .history-photo{position:absolute;top:34px;left:0;width:78%;height:420px;border-radius:16px;
    overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.45);background:rgba(255,255,255,.04);}
  .history-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
    opacity:0;transform:scale(1.08);transition:opacity .8s ease,transform 1.2s ease;}
  .history-photo img.is-active{opacity:1;transform:scale(1);}

  .history-photo-sub{position:absolute;right:0;bottom:16px;width:46%;height:200px;border-radius:14px;
    overflow:hidden;border:5px solid var(--coffee-950);box-shadow:0 18px 44px rgba(0,0,0,.55);background:rgba(255,255,255,.04);}
  .history-photo-sub img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
    opacity:0;transition:opacity .8s ease;}
  .history-photo-sub img.is-active{opacity:1;}

  /* --- Placeholder para capítulos sin foto todavía (en vez de ícono de imagen rota) --- */
  .history-photo-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    text-align:center;padding:24px;opacity:0;transition:opacity .8s ease;
    background:linear-gradient(135deg,rgba(192,138,62,.16),rgba(27,18,12,.55));}
  .history-photo-placeholder.is-active{opacity:1;}
  .history-photo-placeholder span{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
    color:rgba(255,255,255,.45);border:1px dashed rgba(255,255,255,.25);border-radius:10px;padding:10px 16px;}

  .history-step-media-placeholder{display:none;}
  @media (max-width:900px){
    .history-step-media-placeholder{
      display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;
      width:100%;height:220px;border-radius:14px;margin-bottom:20px;
      background:linear-gradient(135deg,rgba(192,138,62,.16),rgba(27,18,12,.55));
    }
    .history-step-media-placeholder span{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
      color:rgba(255,255,255,.45);border:1px dashed rgba(255,255,255,.25);border-radius:10px;padding:10px 16px;}
  }
  @media (max-width:560px){
    .history-step-media-placeholder{height:190px;}
  }

  .history-place{position:absolute;left:0;bottom:-14px;display:inline-flex;align-items:center;
    background:var(--gold);color:#fff;font-size:12px;font-weight:800;letter-spacing:.06em;
    text-transform:uppercase;padding:9px 16px;border-radius:999px;box-shadow:0 10px 24px rgba(0,0,0,.4);}

  .history-track{position:relative;padding-left:44px;padding-top:8px;}
  .history-track::before{content:'';position:absolute;left:9px;top:14px;bottom:20px;width:2px;
    background:rgba(255,255,255,.13);}
  .history-fill{position:absolute;left:9px;top:14px;width:2px;height:0;
    background:linear-gradient(180deg,var(--gold-light),var(--gold));transition:height .2s linear;
    box-shadow:0 0 14px rgba(192,138,62,.7);}

  .history-step{position:relative;padding-bottom:96px;opacity:.28;transform:translateY(22px);
    transition:opacity .7s ease,transform .7s ease;}
  .history-step.is-in{opacity:1;transform:translateY(0);}
  .history-step:last-child{padding-bottom:0;}
  .history-step::before{content:'';position:absolute;left:-44px;top:16px;width:20px;height:20px;
    border-radius:50%;background:var(--coffee-950);border:2px solid rgba(255,255,255,.22);
    transition:all .45s ease;}
  .history-step.is-in::before{border-color:var(--gold);background:var(--gold);
    box-shadow:0 0 0 6px rgba(192,138,62,.18);}

  .history-index{font-size:11px;font-weight:800;letter-spacing:.2em;color:var(--gold-light);
    text-transform:uppercase;margin-bottom:8px;}
  .history-year{font-size:46px;font-weight:900;line-height:1;margin:0 0 8px;letter-spacing:-.02em;color:#fff;}
  .history-title{font-size:19px;font-weight:800;color:var(--gold-light);margin:0 0 10px;}
  .history-desc{color:#bdb0a0;margin:0 0 16px;font-size:15px;max-width:420px;}
  .history-chips{display:flex;gap:10px;flex-wrap:wrap;}
  .history-chip{border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:7px 14px;
    font-size:12px;font-weight:700;color:#d6c8b4;}

  /* --- Foto propia de cada capítulo: SOLO visible en móvil --- */
  .history-step-media{display:none;}

  @media (max-width:900px){
    .history{padding:144px 0 72px;}
    .history-grid{grid-template-columns:1fr;gap:0;}

    /* En móvil quitamos la columna "sticky" compartida... */
    .history-visual{display:none;}

    /* ...y en su lugar, cada capítulo trae su propia foto */
    .history-step-media{
      display:block;
      width:100%;
      height:220px;
      border-radius:14px;
      overflow:hidden;
      margin-bottom:20px;
      box-shadow:0 16px 34px rgba(0,0,0,.4);
      background:rgba(255,255,255,.04);
    }
    .history-step-media img{
      width:100%;height:100%;object-fit:cover;display:block;
    }
    .history-step{padding-bottom:56px;}
  }
  @media (max-width:560px){
    .history-step-media{height:190px;}
    .history-year{font-size:36px;}
  }

  /* ===== MÓVIL: línea de tiempo FIJA con cambio por scroll (pinned) =====
     La sección se queda fija en pantalla y, al hacer scroll hacia abajo,
     el capítulo actual se desvanece y aparece el siguiente EN EL MISMO
     lugar (no se apila hacia abajo). Solo aplica en móvil (.is-mpin),
     que se activa por JS; ESCRITORIO queda intacto. */
  @media (max-width:900px){
    .history-track.is-mpin{position:relative;padding-left:0;padding-top:0;}
    .history-track.is-mpin::before,
    .history-track.is-mpin .history-fill{display:none;}

    /* Escenario fijo (pinned). top y height los define el JS. */
    .mhist-viewport{position:sticky;display:flex;align-items:center;width:100%;}

    /* Cada capítulo ocupa el mismo lugar; solo el activo se ve (crossfade) */
    .history-track.is-mpin .history-step{
      position:absolute;left:0;right:0;top:0;bottom:0;
      display:flex;flex-direction:column;justify-content:center;
      padding-bottom:0;margin:0;opacity:0;transform:translateY(26px);
      pointer-events:none;overflow-y:auto;
      transition:opacity .55s ease,transform .55s ease;}
    .history-track.is-mpin .history-step.m-active{
      opacity:1;transform:translateY(0);pointer-events:auto;}
    .history-track.is-mpin .history-step::before{display:none;}

    /* Barra de progreso sutil (indica avance por la línea del tiempo) */
    .mhist-progress{position:absolute;left:0;right:0;bottom:8px;height:3px;border-radius:3px;
      background:rgba(255,255,255,.12);overflow:hidden;}
    .mhist-progress-bar{position:absolute;inset:0;transform-origin:left center;transform:scaleX(0);
      background:linear-gradient(90deg,var(--gold-light),var(--gold));
      box-shadow:0 0 12px rgba(192,138,62,.6);transition:transform .15s linear;}
  }


/* ================================================================
   HOME FINAL — CSS migrado desde index.html del Proyecto 1
   ================================================================ */
/* --- Tipografía: pesos más ligeros y elegantes en Montserrat --- */
  [data-page="home"] .eyebrow{ font-weight:600; letter-spacing:2.6px; }
  [data-page="home"] .hero h1{ font-weight:700; letter-spacing:-0.015em; }
  [data-page="home"] .hero p.lead{ font-weight:300; line-height:1.7; }
  [data-page="home"] .section-head h2, [data-page="home"] h2{ font-weight:500; letter-spacing:-0.01em; }
  [data-page="home"] .biz-card h3, [data-page="home"] .nl-box h3{ font-weight:500; }
  [data-page="home"] .hero-text-link{ font-weight:600; }

  /* --- Botones: pesos y timing más finos, sin sombra, con leve
     apertura de letter-spacing como único acento de hover --- */
  [data-page="home"] .btn{
    font-weight:600; letter-spacing:1.3px; border-radius:4px;
    transition:background-color .35s ease, color .35s ease, border-color .35s ease,
               letter-spacing .35s ease, transform .35s cubic-bezier(.16,1,.3,1), opacity .35s ease;
  }
  [data-page="home"] .btn:hover{ letter-spacing:1.7px; transform:translateY(-2px); opacity:.94; }
  [data-page="home"] .btn:active{ transform:translateY(0); }

  /* ============================================================
     Sin sombras en ningún estado (reposo, hover o foco). El foco
     se conserva por accesibilidad usando `outline`, que no es una
     sombra sino un contorno — necesario para navegación por teclado.
     ============================================================ */
  [data-page="home"] .biz-card,
  [data-page="home"] .biz-card:hover,
  [data-page="home"] .biz-card:focus-within{ box-shadow:none; }
  [data-page="home"] .biz-card{
    transition:transform .45s cubic-bezier(.16,1,.3,1), border-color .45s ease;
  }
  [data-page="home"] .biz-card:hover{ transform:translateY(-5px); border-color:rgba(201,168,76,.5); }
  [data-page="home"] .biz-card:focus-within{ outline:2px solid var(--bronce); outline-offset:2px; border-color:var(--bronce); }
  [data-page="home"] .biz-card .go:focus-visible{ box-shadow:none; }

  /* ============================================================
     Tarjetas "Tres caminos" con imagen:
     se conserva el fondo negro con patrón original de .biz-card
     definido en styles.css, igual que en index.html.
     La fotografía permanece en la parte superior y el contenido
     se adapta al tratamiento oscuro de la tarjeta.
     ============================================================ */
  [data-page="home"] .biz-card{
    /* Intencionalmente NO se redefine background:
       así se conserva el fondo negro con patrón original de styles.css */
    border:none;
    padding:0; overflow:hidden; border-radius:8px;
    display:flex; flex-direction:column;
  }
  [data-page="home"] .biz-card:hover{ border-color:rgba(201,168,76,.55); }
  [data-page="home"] .biz-card .ico{ display:none; }

  [data-page="home"] .biz-card .biz-card-media{
    width:100%; aspect-ratio:4/3; overflow:hidden; background:#f0f0ee;
  }
  [data-page="home"] .biz-card .biz-card-media img{
    width:100%; height:100%; object-fit:cover; display:block;
    transition:transform .6s cubic-bezier(.16,1,.3,1);
  }
  [data-page="home"] .biz-card:hover .biz-card-media img{ transform:scale(1.045); }

  [data-page="home"] .biz-card .biz-card-body{
    padding:24px 22px 26px; display:flex; flex-direction:column; flex:1;
    background:var(--marfil);
    border:1px solid rgba(20,20,20,.07); border-top:0;
  }
  [data-page="home"] .biz-card .biz-card-eyebrow{
    display:block; font-size:11.5px; font-weight:700; letter-spacing:1.6px;
    text-transform:uppercase; color:var(--bronce); margin-bottom:8px;
  }
  [data-page="home"] .biz-card h3{ margin:0 0 10px; color:var(--azul-oscuro) !important; }
  [data-page="home"] .biz-card p{ margin:0 0 20px; color:#5f6267; flex:1; }

  [data-page="home"] .biz-card .biz-card-links{
    display:flex; flex-direction:column; gap:10px; margin-top:auto;
  }

  /* Links sobre fondo claro: contraste alto + acento bronce */
  [data-page="home"] .biz-card .go,
  [data-page="home"] .biz-card .go-alt{
    color:var(--azul-oscuro); text-decoration:none; font-size:14px; font-weight:600;
    display:inline-flex; align-items:center; gap:8px;
  }
  [data-page="home"] .biz-card .go::before,
  [data-page="home"] .biz-card .go-alt::before{
    content:"—"; color:var(--bronce); font-weight:700;
  }
  [data-page="home"] .biz-card .go:hover,
  [data-page="home"] .biz-card .go-alt:hover{ color:var(--bronce); }

  /* --- Stat band: tarjetas limpias, sin sombra; el hover se marca con
     un filete dorado que se revela de izquierda a derecha --- */
  [data-page="home"] .stat-row.home-stats{
    background:transparent;
    gap:18px;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  [data-page="home"] .stat-row.home-stats .stat{
    position:relative; overflow:hidden;
    background:#fff; border:1px solid rgba(20,20,20,.08); border-radius:8px; padding:28px 24px;
    transition:transform .4s cubic-bezier(.16,1,.3,1), border-color .4s ease;
  }
  [data-page="home"] .stat-row.home-stats .stat::before{
    content:""; position:absolute; top:0; left:0; right:0; height:2px; background:var(--bronce);
    transform:scaleX(0); transform-origin:left; transition:transform .5s cubic-bezier(.16,1,.3,1);
  }
  [data-page="home"] .stat-row.home-stats .stat:hover{ transform:translateY(-3px); border-color:rgba(201,168,76,.35); }
  [data-page="home"] .stat-row.home-stats .stat:hover::before{ transform:scaleX(1); }
  [data-page="home"] .stat-row.home-stats .stat .n{ font-weight:600; font-variant-numeric:tabular-nums; }
  [data-page="home"] .stat-row.home-stats .stat .l{ font-weight:500; letter-spacing:.15px; }

  /* --- Galería e imágenes: sin sombra; el acento es un zoom sutil de
     la imagen dentro de un marco con overflow oculto --- */
  [data-page="home"] .home-gallery-frame,
  [data-page="home"] .home-mosaic-item,
  [data-page="home"] .home-zoom-frame{ border-radius:8px; overflow:hidden; }
  [data-page="home"] .home-gallery-frame img,
  [data-page="home"] .home-mosaic-item img,
  [data-page="home"] .home-mosaic-item video,
  [data-page="home"] .home-zoom-frame img{
    transition:transform .7s cubic-bezier(.16,1,.3,1);
  }
  [data-page="home"] .home-gallery-frame:hover img,
  [data-page="home"] .home-mosaic-item:hover img,
  [data-page="home"] .home-mosaic-item:hover video,
  [data-page="home"] .home-zoom-frame:hover img{ transform:scale(1.035); }

  /* --- Sostenibilidad: tarjeta limpia sin sombra --- */
  [data-page="home"] .two-col{
    background:#fff; border:1px solid rgba(20,20,20,.08); border-radius:8px; padding:48px;
    transition:border-color .4s ease;
  }
  [data-page="home"] .two-col:hover{ border-color:rgba(201,168,76,.3); }
  [data-page="home"] .two-col p{ font-weight:400; }

  /* --- Aprende con CAFIVER: misma familia visual, sin sombra --- */
  [data-page="home"] .section.ivory.home-card{
    border-radius:8px; border:1px solid rgba(20,20,20,.06);
    transition:border-color .4s ease;
  }
  [data-page="home"] .section.ivory.home-card:hover{ border-color:rgba(201,168,76,.3); }

  /* --- Newsletter: mismo radio de 8px, sin sombra; foco elegante en el input --- */
  [data-page="home"] .nl-box{ border-radius:8px; }
  [data-page="home"] .nl-box p{ font-weight:300; }
  [data-page="home"] .nl-box input{ transition:border-color .3s ease, background-color .3s ease; }
  [data-page="home"] .nl-box input:focus-visible{ outline:2px solid var(--bronce); outline-offset:2px; }

  /* --- Un poco más de aire entre secciones para lectura elegante --- */
  [data-page="home"] .section-head.left{ margin-bottom:8px; }

  /* ============================================================
     SECCIÓN "ELIGE TU CAMINO" — experimento editorial blanco
     Inspirada en las cards de Para tu Negocio: fondo blanco, outline
     fino, jerarquía tipográfica precisa y respiración más premium.
     Conserva esquinas redondeadas y el ancho exacto del slider Crema.
     ============================================================ */
  [data-page="home"] .home-paths-section{
    padding-top:34px;
    padding-bottom:34px;
  }
  [data-page="home"] .home-paths-head{
    margin-bottom:22px;
  }
  [data-page="home"] .home-paths-head h2{
    margin:0;
    color:var(--azul-oscuro);
    font-size:clamp(32px,3.25vw,46px);
    line-height:1.08;
    letter-spacing:-0.035em;
    font-weight:500;
  }
  [data-page="home"] .home-paths-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
    align-items:stretch;
    width:100%;
  }
  [data-page="home"] .home-path-card{
    position:relative;
    display:flex;
    flex-direction:column;
    min-width:0;
    height:100%;
    overflow:hidden;
    border-radius:13px;
    background:#fff;
    border:1px solid #d9d7d2;
    box-shadow:none;
    transition:border-color .28s ease;
  }
  [data-page="home"] .home-path-card:hover{
    transform:none;
    border-color:#b9b6ae;
    box-shadow:none;
  }
  [data-page="home"] .home-path-card:focus-within{
    outline:2px solid var(--bronce);
    outline-offset:3px;
  }
  [data-page="home"] .home-path-card-media{
    width:100%;
    overflow:hidden;
    background:#f2f1ee;
    border-bottom:1px solid #ebe9e4;
  }
  [data-page="home"] .home-path-card-media img{
    display:block;
    width:100%;
    aspect-ratio:4/3;
    height:auto;
    object-fit:cover;
    transition:transform .55s cubic-bezier(.16,1,.3,1);
  }
  [data-page="home"] .home-path-card:hover .home-path-card-media img{
    transform:scale(1.012);
  }
  [data-page="home"] .home-path-card-body{
    display:flex;
    flex-direction:column;
    flex:1;
    min-width:0;
    padding:25px 24px 22px;
  }
  [data-page="home"] .home-path-card-kicker{
    display:block;
    min-height:14px;
    margin-bottom:14px;
    color:#b88a28;
    font-size:10.5px;
    line-height:1.15;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
  }
  [data-page="home"] .home-path-card h3{
    margin:0 0 13px;
    min-height:50px;
    color:#0b1220;
    font-size:clamp(18px,1.28vw,21px);
    line-height:1.16;
    letter-spacing:-0.022em;
    font-weight:600;
  }
  [data-page="home"] .home-path-card p{
    margin:0;
    color:#565a61;
    font-size:14px;
    line-height:1.62;
    font-weight:400;
  }

  /* Acciones: conservan la lógica actual pero con proporciones más finas. */
  [data-page="home"] .home-path-card-actions{
    margin-top:auto;
    padding-top:24px;
    display:grid;
    grid-template-rows:50px 22px;
    gap:11px;
    align-items:center;
  }
  [data-page="home"] .home-path-btn{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:50px;
    min-height:50px;
    box-sizing:border-box;
    padding:0 38px 0 18px;
    border-radius:8px;
    background:#cfaa42;
    color:#111820;
    text-decoration:none;
    white-space:nowrap;
    overflow:hidden;
    font-size:10.8px;
    line-height:1.12;
    font-weight:700;
    letter-spacing:.62px;
    text-transform:uppercase;
    transition:background-color .25s ease,color .25s ease;
  }
  [data-page="home"] .home-path-btn.two-line{
    white-space:normal;
  }
  [data-page="home"] .home-path-btn-label{
    display:block;
    text-align:center;
  }
  [data-page="home"] .home-path-btn:hover{
    background:#111820;
    color:#fff;
    transform:none;
  }
  [data-page="home"] .home-path-btn span[aria-hidden="true"]{
    position:absolute;
    right:17px;
    top:50%;
    transform:translateY(-50%);
    font-size:15px;
    line-height:1;
  }
  [data-page="home"] .home-path-link{
    display:flex;
    align-items:center;
    width:100%;
    min-width:0;
    gap:8px;
    color:#111820;
    text-decoration:none;
    white-space:nowrap;
    overflow:hidden;
    font-size:11.35px;
    line-height:1;
    font-weight:600;
    letter-spacing:-.08px;
    transition:color .22s ease;
  }
  [data-page="home"] .home-path-link::before{
    content:"";
    width:17px;
    height:1px;
    flex:0 0 auto;
    background:#cf9f24;
  }
  [data-page="home"] .home-path-link span[aria-hidden="true"]{
    flex:0 0 auto;
    margin-left:auto;
    font-size:13px;
  }
  [data-page="home"] .home-path-link:hover{
    color:#9f771b;
  }
  [data-page="home"] .home-path-link.empty{
    visibility:hidden;
    pointer-events:none;
  }

  @media(max-width:1120px){
    [data-page="home"] .home-paths-grid{
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:18px;
    }
    [data-page="home"] .home-path-card h3{ min-height:0; font-size:21px; }
    [data-page="home"] .home-path-link{ font-size:12px; }
  }
  @media(max-width:720px){
    [data-page="home"] .home-paths-section{ padding-top:28px; padding-bottom:28px; }
    [data-page="home"] .home-paths-head{ margin-bottom:16px; }
    [data-page="home"] .home-paths-head h2{ font-size:clamp(30px,9vw,42px); }
    [data-page="home"] .home-paths-grid{ grid-template-columns:1fr; gap:16px; }
    [data-page="home"] .home-path-card-body{ padding:22px 20px 20px; }
    [data-page="home"] .home-path-card-kicker{ min-height:0; margin-bottom:11px; }
    [data-page="home"] .home-path-card h3{ min-height:0; }
    [data-page="home"] .home-path-card-actions{ grid-template-rows:50px 22px; padding-top:20px; }
    [data-page="home"] .home-path-link{ font-size:12px; }
    [data-page="home"] .two-col{ padding:28px 22px; }
  }

  /* ============================================================
     BLOQUE CORPORATIVO — ruta institucional sin competir con las 4
     rutas comerciales. Compacto, editorial y alineado al sistema.
     ============================================================ */
  [data-page="home"] .home-about-bridge{
    padding-top:8px;
    padding-bottom:24px;
  }
  [data-page="home"] .home-about-bridge-inner{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);
    gap:34px;
    align-items:center;
    padding:32px 34px;
    border:1px solid rgba(20,20,20,.10);
    border-radius:13px;
    background:#fff;
  }
  [data-page="home"] .home-about-bridge .eyebrow{
    display:block;
    margin-bottom:10px;
    color:var(--bronce);
  }
  [data-page="home"] .home-about-bridge h2{
    margin:0;
    color:var(--azul-oscuro);
    font-size:clamp(24px,2.5vw,34px);
    line-height:1.12;
    letter-spacing:-.025em;
    font-weight:500;
  }
  [data-page="home"] .home-about-bridge-copy{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:18px;
  }
  [data-page="home"] .home-about-bridge-copy p{
    margin:0;
    color:#5f6267;
    font-size:15px;
    line-height:1.7;
  }
  [data-page="home"] .home-about-bridge-link{
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:var(--azul-oscuro);
    text-decoration:none;
    font-size:13px;
    font-weight:700;
    letter-spacing:.2px;
  }
  [data-page="home"] .home-about-bridge-link::before{
    content:"";
    width:22px;
    height:1px;
    background:var(--bronce);
  }
  [data-page="home"] .home-about-bridge-link:hover{ color:var(--bronce); }

  @media(max-width:780px){
    [data-page="home"] .home-about-bridge-inner{
      grid-template-columns:1fr;
      gap:18px;
      padding:26px 22px;
    }
  }

  /* ============================================================
     Microinteracción de entrada: las tarjetas, imágenes y bloques
     aparecen con un fundido + leve desplazamiento al entrar en
     pantalla, en vez de aparecer de golpe. Respeta reduced-motion.
     ============================================================ */
  @media (prefers-reduced-motion: no-preference){
    [data-page="home"] .reveal-up{
      opacity:0; transform:translateY(18px);
      transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1);
    }
    [data-page="home"] .reveal-up.is-visible{ opacity:1; transform:translateY(0); }
    [data-page="home"] .card-grid3 .reveal-up:nth-child(1){ transition-delay:0ms; }
    [data-page="home"] .card-grid3 .reveal-up:nth-child(2){ transition-delay:100ms; }
    [data-page="home"] .card-grid3 .reveal-up:nth-child(3){ transition-delay:200ms; }
    [data-page="home"] .home-mosaic .reveal-up:nth-child(2){ transition-delay:120ms; }
  }



  /* Slider — CAFIVER | Expertos en Café */
  [data-page="home"] .home-cafiver-slider{
    position:relative; overflow:hidden; background:#0d0d0d;
  }
  [data-page="home"] .home-cafiver-slider .home-slider-track{
    /* Misma proporción/altura visual que la imagen horizontal inferior (1600 × 444) */
    position:relative; width:100%; aspect-ratio:1600/444; min-height:0;
  }
  [data-page="home"] .home-cafiver-slider .home-slider-slide{
    position:absolute; inset:0; margin:0; opacity:0; visibility:hidden;
    transition:opacity .65s ease, visibility .65s ease;
  }
  [data-page="home"] .home-cafiver-slider .home-slider-slide.is-active{
    opacity:1; visibility:visible; z-index:1;
  }
  [data-page="home"] .home-cafiver-slider .home-slider-slide img{
    width:100%; height:100%; object-fit:cover; display:block; transform:none;
  }
  [data-page="home"] .home-cafiver-slider:hover .home-slider-slide img{transform:none;}
  [data-page="home"] .home-cafiver-slider .home-slider-arrow{
    position:absolute; top:50%; z-index:3; transform:translateY(-50%);
    width:44px; height:44px; border-radius:50%; border:1px solid rgba(255,255,255,.42);
    background:rgba(8,8,8,.48); color:#fff; font:300 30px/1 Arial,sans-serif;
    display:flex; align-items:center; justify-content:center; cursor:pointer;
    backdrop-filter:blur(6px); transition:background .25s ease, border-color .25s ease, transform .25s ease;
  }
  [data-page="home"] .home-cafiver-slider .home-slider-arrow:hover{
    background:rgba(8,8,8,.72); border-color:var(--bronce); transform:translateY(-50%) scale(1.04);
  }
  [data-page="home"] .home-cafiver-slider .home-slider-prev{left:18px;}
  [data-page="home"] .home-cafiver-slider .home-slider-next{right:18px;}
  [data-page="home"] .home-cafiver-slider .home-slider-dots{
    position:absolute; left:50%; bottom:16px; z-index:3; transform:translateX(-50%);
    display:flex; align-items:center; gap:8px; padding:7px 10px; border-radius:999px;
    background:rgba(8,8,8,.38); backdrop-filter:blur(6px);
  }
  [data-page="home"] .home-cafiver-slider .home-slider-dot{
    width:8px; height:8px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.48);
    cursor:pointer; transition:width .25s ease, border-radius .25s ease, background .25s ease;
  }
  [data-page="home"] .home-cafiver-slider .home-slider-dot.is-active{
    width:24px; border-radius:999px; background:var(--bronce);
  }
  @media(max-width:640px){
    [data-page="home"] .home-cafiver-slider .home-slider-track{aspect-ratio:1600/444; min-height:0;}
    [data-page="home"] .home-cafiver-slider .home-slider-arrow{width:38px; height:38px; font-size:26px;}
    [data-page="home"] .home-cafiver-slider .home-slider-prev{left:10px;}
    [data-page="home"] .home-cafiver-slider .home-slider-next{right:10px;}
    [data-page="home"] .home-cafiver-slider .home-slider-dots{bottom:10px;}
  }


  /* ============================================================
     HERO — mayor legibilidad sobre video
     Degradado concentrado detrás del contenido sin oscurecer
     innecesariamente el lado derecho del video.
     ============================================================ */
  [data-page="home"] .hero .overlay{
    background:
      linear-gradient(90deg,
        rgba(0,0,0,.88) 0%,
        rgba(0,0,0,.78) 30%,
        rgba(0,0,0,.56) 48%,
        rgba(0,0,0,.24) 68%,
        rgba(0,0,0,.08) 100%),
      linear-gradient(180deg, rgba(0,0,0,.16) 0%, rgba(0,0,0,.04) 45%, rgba(0,0,0,.22) 100%);
  }
  [data-page="home"] .hero .content{position:relative; z-index:2;}
  [data-page="home"] .hero h1,
  [data-page="home"] .hero p.lead,
  [data-page="home"] .hero .eyebrow,
  [data-page="home"] .hero .hero-text-link{
    text-shadow:0 2px 18px rgba(0,0,0,.32);
  }
  @media(max-width:980px){
    [data-page="home"] .hero .overlay{
      background:linear-gradient(90deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.72) 58%, rgba(0,0,0,.38) 100%);
    }
  }


  /* ------------------------------------------------------------
     ALINEACIÓN GLOBAL — hero al mismo margen visual que el bloque
     de 4 cards inferiores (el header vive en header-footer.css).
     ------------------------------------------------------------ */
  [data-page="home"] .hero .content{
    max-width:1240px;
    margin-left:auto;
    margin-right:auto;
    padding-left:32px;
    padding-right:32px;
    box-sizing:border-box;
  }
  @media(max-width:980px){
    [data-page="home"] .hero .content{
      padding-left:24px;
      padding-right:24px;
    }
  }
  @media(max-width:640px){
    [data-page="home"] .hero .content{
      padding-left:18px;
      padding-right:18px;
    }
  }

  /* ------------------------------------------------------------
     HERO — ajuste editorial de copy, color y distribución
     inspirado en la referencia compartida.
     ------------------------------------------------------------ */
  [data-page="home"] .hero{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100vh;
    height:100svh;
    min-height:100vh;
    min-height:100svh;
    padding-top:0 !important;
    padding-bottom:0 !important;
    overflow:hidden;
  }

  [data-page="home"] .hero .hero-slider{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    overflow:hidden;
    background:#0d0d0d;
  }
  [data-page="home"] .hero .hero-slider .home-slider-track{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    aspect-ratio:auto;
  }
  [data-page="home"] .hero .hero-slider .home-slider-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
  }
  [data-page="home"] .hero .hero-slider .home-slider-dots{
    bottom:26px;
    z-index:2;
  }
  @media(max-width:640px){
    [data-page="home"] .hero .hero-slider .home-slider-dots{ bottom:18px; }
  }

  /* El banner 2 ya trae su propio texto integrado en la imagen,
     así que el título/overlay del hero se ocultan mientras esté
     activo (transición suave, no un corte abrupto). */
  [data-page="home"] .hero .content{
    transition:opacity .5s ease, visibility .5s ease;
  }
  [data-page="home"] .hero .overlay{
    transition:opacity .5s ease;
  }
  [data-page="home"] .hero.hero-slide-alt .content{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
  }
  [data-page="home"] .hero.hero-slide-alt .overlay{
    opacity:.4;
  }

  /* Botón de pausa del banner — discreto, estilo cristal */
  [data-page="home"] .hero .home-slider-pause{
    position:absolute;
    right:24px;
    bottom:24px;
    z-index:3;
    width:32px;
    height:32px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.32);
    background:rgba(10,10,10,.34);
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    opacity:.6;
    transition:opacity .3s ease, background-color .3s ease, border-color .3s ease, transform .3s ease;
  }
  [data-page="home"] .hero .home-slider-pause:hover,
  [data-page="home"] .hero .home-slider-pause:focus-visible{
    opacity:1;
    background:rgba(10,10,10,.55);
    border-color:rgba(255,255,255,.5);
  }
  [data-page="home"] .hero .home-slider-pause:active{ transform:scale(.92); }
  [data-page="home"] .hero .home-slider-pause .icon-play{ display:none; }
  [data-page="home"] .hero .home-slider-pause.is-paused .icon-pause{ display:none; }
  [data-page="home"] .hero .home-slider-pause.is-paused .icon-play{ display:block; }
  @media(max-width:640px){
    [data-page="home"] .hero .home-slider-pause{ right:16px; bottom:16px; width:29px; height:29px; }
  }

  /* ============================================================
     HEADER — overlay transparente sobre el hero (solo home).
     Fijo en la parte superior con un leve cristal oscuro para que
     la fotografía del banner se lea detrás del menú; al hacer
     scroll fuera del hero se vuelve sólido para mantener la
     legibilidad sobre el resto de las secciones.
     ============================================================ */
  body[data-site-page="home"] #siteNav{
    position:fixed;
    top:0; left:0; right:0;
    z-index:80;
    background:transparent !important;
  }
  body[data-site-page="home"] #siteNav .utility-bar,
  body[data-site-page="home"] #siteNav .main-nav-row{
    background:transparent !important;
    position:relative;
    z-index:1;
  }
  /* Dos capas superpuestas que se cruzan por opacidad — así la
     transición entre el cristal translúcido y el negro sólido del
     scroll queda fluida (un degradado no puede animarse hacia un
     color plano de forma suave, pero dos opacidades sí). */
  body[data-site-page="home"] #siteNav::before,
  body[data-site-page="home"] #siteNav::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    transition:opacity .5s ease;
  }
  body[data-site-page="home"] #siteNav::before{
    background:linear-gradient(180deg, rgba(6,6,6,.5) 0%, rgba(6,6,6,.7) 100%);
    backdrop-filter:blur(10px) saturate(140%);
    -webkit-backdrop-filter:blur(10px) saturate(140%);
    opacity:1;
  }
  body[data-site-page="home"] #siteNav::after{
    background:#0a0a0a;
    opacity:0;
  }
  body[data-site-page="home"] #siteNav.is-scrolled::before{ opacity:0; }
  body[data-site-page="home"] #siteNav.is-scrolled::after{ opacity:1; }
  body[data-site-page="home"] #siteNav .utility-bar{ border-bottom:1px solid rgba(255,255,255,.08); }
  [data-page="home"] .hero{ padding-top:0; }
  [data-page="home"] .hero .content{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    width:100%;
    padding-top:0 !important;
    padding-bottom:0 !important;
    margin-top:0;
    margin-bottom:0;
    transform:none;
  }
  [data-page="home"] .hero .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:12px;
    margin-bottom:18px;
    color:#c9a84c;
    font-size:13px;
    letter-spacing:3px;
    text-transform:uppercase;
  }
  [data-page="home"] .hero .eyebrow::before{
    content:"";
    width:28px;
    height:1px;
    background:#c9a84c;
    flex:0 0 auto;
  }
  [data-page="home"] .hero h1{
    width:min(100%, 940px);
    max-width:none;
    margin:0 0 20px;
    color:#fff;
    font-size:clamp(42px, 3.85vw, 54px);
    line-height:1.03;
    letter-spacing:-0.035em;
    font-weight:700;
  }
  [data-page="home"] .hero h1 .hero-line{
    display:block;
    white-space:nowrap;
  }
  [data-page="home"] .hero h1 .hero-accent{ color:#fff; }
  [data-page="home"] .hero p.lead{
    width:auto;
    max-width:none;
    margin:0 0 24px;
    color:rgba(255,255,255,.94);
    font-size:16px;
    line-height:1.5;
    font-weight:400;
  }
  [data-page="home"] .hero .hero-copy-line{
    display:block;
    white-space:nowrap;
  }
  [data-page="home"] .hero .cta-row{ margin-top:0; }
  [data-page="home"] .hero .hero-text-link{
    color:#d0af59;
    font-weight:600;
  }
  [data-page="home"] .hero .hero-text-link{
    display:inline-flex;
    align-items:center;
    margin-top:20px;
    color:#d0af59;
    font-weight:600;
    text-decoration:none;
  }
  [data-page="home"] .hero .hero-text-link:hover{ color:#e2c67a; }
  @media(max-width:980px){
    [data-page="home"] .hero h1{
      width:min(100%, 820px);
      font-size:clamp(38px, 4.7vw, 47px);
      line-height:1.04;
    }
    [data-page="home"] .hero p.lead{ max-width:720px; font-size:15px; }
  }
  @media(max-width:640px){
    [data-page="home"] .hero .content{ transform:none; }
    [data-page="home"] .hero .eyebrow{ font-size:11px; letter-spacing:2.2px; gap:10px; margin-bottom:14px; }
    [data-page="home"] .hero .eyebrow::before{ width:22px; }
    [data-page="home"] .hero h1{
      width:100%;
      font-size:clamp(34px, 10.8vw, 44px);
      line-height:1.04;
      margin-bottom:16px;
    }
    [data-page="home"] .hero h1 .hero-line{ white-space:normal; }
    [data-page="home"] .hero p.lead{ font-size:14px; line-height:1.5; margin-bottom:20px; }
    [data-page="home"] .hero .hero-copy-line{
      display:inline;
      white-space:normal;
    }
    [data-page="home"] .hero .hero-copy-line:not(:last-child)::after{ content:" "; }
  }

  /* HERO — bajar el bloque de texto del banner */
  [data-page="home"] .hero .content{ transform:translateY(50px); }
  @media(max-width:640px){
    [data-page="home"] .hero .content{ transform:translateY(50px); }
  }

  /* Certificaciones — opción 2: tarjeta institucional contenida */
  [data-page="home"] .certifications-section{
    padding-top:56px;
    padding-bottom:56px;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  [data-page="home"] .certifications-section + .wrap.section-sm{
    padding-top:0 !important;
    margin-top:0 !important;
  }
  [data-page="home"] .cert-gold-band{
    background:#C9A84C;
    border:1px solid rgba(255,255,255,.28);
    border-radius:22px;
    overflow:hidden;
    padding:22px 0 18px;
  }
  [data-page="home"] .cert-gold-band .eyebrow.center{
    display:flex;
    justify-content:center;
    align-items:center;
    margin-bottom:18px !important;
    color:#fff;
    letter-spacing:3px;
  }
  [data-page="home"] .cert-gold-band .cert-marquee{
    overflow:hidden;
    padding:0 20px;
  }
  [data-page="home"] .cert-gold-band .cert-track{
    display:flex;
    align-items:center;
    gap:34px;
  }
  [data-page="home"] .cert-gold-band .cert-item{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:92px;
    height:54px;
    opacity:.98;
  }
  [data-page="home"] .cert-gold-band .cert-item img{
    max-width:100%;
    max-height:42px;
    width:auto;
    height:auto;
    display:block;
  }
  @media(max-width:980px){
    [data-page="home"] .certifications-section{
      padding-top:40px;
      padding-bottom:40px;
    }
    [data-page="home"] .cert-gold-band{ border-radius:18px; }
    [data-page="home"] .cert-gold-band .cert-marquee{ padding:0 16px; }
    [data-page="home"] .cert-gold-band .cert-track{ gap:26px; }
    [data-page="home"] .cert-gold-band .cert-item{ min-width:82px; height:48px; }
    [data-page="home"] .cert-gold-band .cert-item img{ max-height:36px; }
  }
  @media(max-width:640px){
    [data-page="home"] .certifications-section{
      padding-top:24px;
      padding-bottom:24px;
      padding-left:18px !important;
      padding-right:18px !important;
    }
    [data-page="home"] .certifications-section + .wrap.section-sm{
      padding-top:0 !important;
      margin-top:0 !important;
    }
    [data-page="home"] .cert-gold-band{ border-radius:16px; padding:18px 0 14px; }
    [data-page="home"] .cert-gold-band .eyebrow.center{ margin-bottom:14px !important; letter-spacing:2.2px; font-size:11px; }
    [data-page="home"] .cert-gold-band .cert-marquee{ padding:0 12px; }
    [data-page="home"] .cert-gold-band .cert-track{ gap:22px; }
    [data-page="home"] .cert-gold-band .cert-item{ min-width:72px; height:42px; }
    [data-page="home"] .cert-gold-band .cert-item img{ max-height:30px; }
  }


/* Logo SVG del footer: reglas antes embebidas dentro de cada HTML. */
.foot-logo-svg .cls-1{fill:#231f20;}
.foot-logo-svg .cls-2{fill:#fff;}
/* ============================================================
   HOME — margen lateral de tarjetas de rutas / compra
   ============================================================ */
[data-page="home"] .home-paths-card-grid{
  padding-left:32px;
  padding-right:32px;
}
@media(max-width:980px){
  [data-page="home"] .home-paths-card-grid{
    padding-left:24px;
    padding-right:24px;
  }
}
@media(max-width:640px){
  [data-page="home"] .home-paths-card-grid{
    grid-template-columns:minmax(0,1fr);
    gap:20px;
    padding-left:20px;
    padding-right:20px;
  }
}

/* ============================================================
   FOOTER MÓVIL — centrar únicamente bloque de marca
   ============================================================ */
@media(max-width:640px){
  #contacto-footer .foot-logo{
    align-items:center;
    text-align:center;
  }

  #contacto-footer .foot-logo .foot-logo-svg{
    margin-left:auto;
    margin-right:auto;
  }

  #contacto-footer .foot-tagline{
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
}

/* ==========================================================================
   GRUPO A — Mejoras de usabilidad (heurísticas de Nielsen)
   ========================================================================== */

/* #1 y #9 · Mensaje de error inline del formulario (reemplaza alert) */
.cf-error-box{
  display:none;
  margin:0 0 16px;
  padding:12px 16px;
  border:1px solid #E2574C;
  border-left:4px solid #E2574C;
  border-radius:6px;
  background:#FCEBEA;
  color:#A32D2D;
  font-size:14px;
  line-height:1.45;
}

/* #3 y #5 · Campo con validación en vivo fallida */
.cf-invalid{
  border-color:#E2574C !important;
  background:#FCEBEA !important;
}
.cf-invalid:focus{
  outline:2px solid rgba(226,87,76,.35);
  outline-offset:1px;
}

/* #7 · Botón "volver arriba" */
.to-top{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:400;
  width:46px;
  height:46px;
  border:none;
  border-radius:50%;
  background:var(--bronce);
  color:#fff;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:opacity .3s ease, transform .3s ease, visibility .3s ease, background-color .2s ease;
  box-shadow:0 6px 18px rgba(0,0,0,.22);
}
.to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.to-top:hover{ background:#b8952f; }
.to-top:focus-visible{ outline:2px solid #fff; outline-offset:2px; }
.to-top svg{ width:20px; height:20px; display:block; }
@media(max-width:640px){
  .to-top{ right:16px; bottom:16px; width:42px; height:42px; }
}
@media(prefers-reduced-motion:reduce){
  .to-top{ transition:opacity .2s ease, visibility .2s ease; transform:none; }
  .to-top.is-visible{ transform:none; }
}

/* #1 · Reforzar visualmente la página/sección activa en el menú de escritorio
   (además del color, un subrayado inferior claro = "estás aquí"). */
nav.links > a.active,
nav.links .nav-item > a.active{
  position:relative;
}
nav.links > a.active::after,
nav.links .nav-item > a.active::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-4px;
  height:2px;
  background:var(--bronce);
  border-radius:2px;
}

/* ==========================================================================
   GRUPO B — Migas de pan (breadcrumbs)
   Debajo del hero, donde empieza el contenido de la página.
   ========================================================================== */
.breadcrumb{
  width:100%;
  background:transparent;   /* deja visible el fondo real de la sección contenedora */
  position:relative;
  z-index:2;
  border-bottom:0;
  margin-bottom:32px;       /* separación visual entre las migas y el título de cada página */
}
/* La sección que recibe el breadcrumb reduce su padding superior
   para que el breadcrumb quede arriba, sin un hueco enorme. */
.has-breadcrumb{ padding-top:0 !important; }

.breadcrumb ol{
  list-style:none;
  max-width:1180px;
  margin:0 auto;
  padding:18px 32px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  font-size:13px;
  line-height:1.4;
}
@media(max-width:640px){
  .breadcrumb{ margin-bottom:26px; }
  .breadcrumb ol{ padding:14px 20px; font-size:12px; }
}
.breadcrumb li{
  display:flex;
  align-items:center;
  gap:6px;
}
/* Separador "›" entre niveles */
.breadcrumb li:not(:first-child)::before{
  content:"\203A";
  color:var(--gris);
  font-size:14px;
}
.breadcrumb a{
  color:var(--gris);
  text-decoration:none;
  transition:color .2s ease;
}
.breadcrumb a:hover{
  color:var(--bronce);
  text-decoration:underline;
}
.breadcrumb span[aria-current="page"]{
  color:var(--azul-oscuro);
  font-weight:600;
}
/* Variante sobre fondo oscuro (el JS la activa si detecta fondo oscuro) */
.breadcrumb--on-dark a{ color:rgba(255,255,255,.7); }
.breadcrumb--on-dark a:hover{ color:var(--bronce); }
.breadcrumb--on-dark li:not(:first-child)::before{ color:rgba(255,255,255,.5); }
.breadcrumb--on-dark span[aria-current="page"]{ color:#fff; }

/* =========================================================
   Ajuste editorial de banners internos — 2026-10-01
   Mantiene intacta la altura propia de cada hero (std / cf / dist / compact)
   y centra verticalmente únicamente su bloque de contenido.
   Home queda excluido.
   ========================================================= */
.page:not([data-page="home"]) .hero.hero-std{
  align-items:center;
  padding-top:0;
}
.page:not([data-page="home"]) .hero.hero-std .content{
  padding-top:0;
  padding-bottom:0;
}

/* En móvil conservamos la misma lógica sin alterar las alturas responsive existentes. */
@media (max-width:760px){
  .page:not([data-page="home"]) .hero.hero-std{
    align-items:center;
    padding-top:0;
  }
  .page:not([data-page="home"]) .hero.hero-std .content{
    padding-top:0;
    padding-bottom:0;
  }
}


/* ===== Ronda 4: CTA "Ir a la tienda" de la sección ===== */
.finder-store-btn:focus-visible{outline:3px solid #141414;outline-offset:3px;}
.finder-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:28px 40px;flex-wrap:wrap;}
.finder-head-row .section-head{flex:1 1 420px;margin-bottom:0;}
.finder-store-cta{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:10px;}
.finder-store-cta-q{margin:0;font-size:14px;font-weight:700;color:#141414;letter-spacing:.01em;}
.finder-store-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:0 30px;background:var(--bronce);color:#141414;font-size:15px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border-radius:10px;box-shadow:0 8px 22px rgba(201,168,76,.38);transition:background .2s,color .2s,transform .2s,box-shadow .2s;}
.finder-store-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto;}
.finder-store-btn .finder-store-arrow{transition:transform .2s;}
.finder-store-btn:hover{background:#141414;color:var(--bronce);box-shadow:0 8px 22px rgba(0,0,0,.25);}
.finder-store-btn:hover .finder-store-arrow{transform:translateX(4px);}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
@media (max-width:760px){
  .finder-head-row{display:block;}
  .finder-head-row .section-head{margin-bottom:22px;}
  .finder-store-cta{align-items:stretch;}
  .finder-store-btn{width:100%;}
}
@media (prefers-reduced-motion:reduce){
  .finder-store-btn,.finder-store-arrow{transition:none;}
}
