/* ============================================================
   Qu&s Mar — Estilos de páginas internas
   (complementa styles.css)
   ============================================================ */

/* ---------- Nav active state ---------- */
.nav-links a.active{color:var(--surface)}
.nav-links a.active::after{content:"";position:absolute;left:0;bottom:-7px;width:20px;height:2px;background:var(--orange)}

/* ---------- Page hero (interior) ---------- */
.page-hero{
  position:relative;background:var(--ink-2);overflow:hidden;
  padding:calc(clamp(96px,14vh,150px) + 56px) 0 clamp(56px,9vh,96px);
}
.page-hero .bg{position:absolute;inset:0;z-index:0}
.page-hero .bg img{width:100%;height:100%;object-fit:cover;opacity:.28}
.page-hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,29,51,.78),rgba(13,22,38,.94))}
/* diagonal accent stripe */
.page-hero::after{content:"";position:absolute;bottom:0;left:0;z-index:1;width:38%;height:8px;background:linear-gradient(90deg,var(--orange),var(--navy-lite));clip-path:polygon(0 0,100% 0,90% 100%,0 100%)}
.page-hero .wrap{position:relative;z-index:2}
.page-hero h1{font-size:clamp(34px,5.4vw,60px);margin-top:18px;text-wrap:balance}
.page-hero p.lead{margin-top:20px;color:var(--stone-lo);font-size:clamp(16px,1.8vw,20px);max-width:60ch;line-height:1.65}

/* ---------- Breadcrumb ---------- */
.crumb{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;color:var(--stone-lo)}
.crumb a{color:var(--stone-lo);transition:.2s}
.crumb a:hover{color:var(--orange)}
.crumb .sep{color:var(--navy-lite)}
.crumb .here{color:var(--orange)}

/* ---------- Nav cards (Inicio: ¿Qué deseas conocer?) ---------- */
.navcards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.navcard{
  position:relative;background:#fff;border:1px solid var(--line-dark);
  padding:34px 30px 30px;display:flex;flex-direction:column;min-height:230px;
  transition:.25s ease;overflow:hidden;color:var(--ink);
}
.navcard::before{content:"";position:absolute;top:0;left:0;width:0;height:3px;background:var(--orange);transition:.3s}
.navcard:hover{transform:translateY(-5px);box-shadow:0 28px 56px -30px rgba(27,38,64,.5)}
.navcard:hover::before{width:100%}
.navcard .ic{width:54px;height:54px;border-radius:3px;background:var(--ink);color:var(--orange);display:grid;place-items:center;margin-bottom:22px}
.navcard .ic svg{width:26px;height:26px}
.navcard h3{font-size:21px;color:var(--ink)}
.navcard p{margin-top:11px;color:var(--stone);font-size:15px;line-height:1.6;flex:1}
.navcard .go{margin-top:18px;font-family:var(--mono);font-size:13px;font-weight:500;color:var(--orange);display:inline-flex;align-items:center;gap:8px;letter-spacing:.02em}
.navcard .go svg{width:15px;height:15px;transition:.2s}
.navcard:hover .go svg{transform:translateX(4px)}

/* ---------- Misión / Visión ---------- */
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.mv-card{position:relative;padding:42px 38px;border:1px solid var(--line);background:var(--ink-2);overflow:hidden}
.mv-card.accent{background:linear-gradient(140deg,var(--navy) 0%,var(--ink-2) 70%)}
.mv-card .kic{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange)}
.mv-card .kic svg{width:18px;height:18px}
.mv-card h3{font-size:26px;margin:16px 0 0;color:var(--surface)}
.mv-card p{margin-top:14px;color:var(--stone-lo);font-size:16px;line-height:1.7}
.mv-card .bars{position:absolute;right:-8px;bottom:-6px;height:64px;opacity:.5}
.mv-card .bars i{width:10px;height:64px}

/* ---------- Objeto social (lista marco legal) ---------- */
.legal-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 40px;margin-top:8px}
.legal-grid li{list-style:none;display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line-dark);font-size:15.5px;color:var(--ink);line-height:1.55}
.legal-grid .n{font-family:var(--mono);font-size:13px;color:var(--orange);font-weight:500;flex:none;padding-top:1px}

/* ---------- Timeline (Historia) ---------- */
.timeline{position:relative;margin-top:18px;padding-left:0}
.timeline::before{content:"";position:absolute;left:calc(var(--dot) / 2 - 1px);top:8px;bottom:8px;width:2px;background:linear-gradient(var(--orange),var(--navy-lite));--dot:18px;left:8px}
.tl-item{position:relative;display:grid;grid-template-columns:auto 1fr;gap:28px;padding-bottom:46px}
.tl-item:last-child{padding-bottom:0}
.tl-dot{width:18px;height:18px;border-radius:50%;background:var(--orange);border:3px solid var(--ink);box-shadow:0 0 0 2px var(--orange);margin-top:6px;z-index:1}
.tl-body .yr{font-family:var(--display);font-weight:800;font-size:clamp(26px,3.4vw,38px);color:var(--orange);line-height:1;letter-spacing:-.02em}
.tl-body h3{font-size:21px;color:var(--surface);margin-top:10px}
.tl-body p{margin-top:10px;color:var(--stone-lo);font-size:15.5px;line-height:1.7;max-width:60ch}

/* ---------- Líneas de productos ---------- */
.line-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.line-card{background:#fff;border:1px solid var(--line-dark);padding:30px 26px 30px;transition:.25s;position:relative;overflow:hidden}
.line-card::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:.3s}
.line-card:hover{transform:translateY(-4px);box-shadow:0 24px 50px -30px rgba(27,38,64,.45)}
.line-card:hover::after{transform:scaleX(1)}
.line-card .em{width:52px;height:52px;border-radius:3px;background:var(--surface-2);display:grid;place-items:center;font-size:25px;margin-bottom:20px}
.line-card h3{font-size:19px;color:var(--ink)}
.line-card p{margin-top:11px;color:var(--stone);font-size:14.5px;line-height:1.6}

/* media trio */
.media-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:48px}
.media-trio figure{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--ink-3)}
.media-trio img{width:100%;height:100%;object-fit:cover;transition:.6s}
.media-trio figure:hover img{transform:scale(1.05)}
.media-trio figcaption{position:absolute;left:0;bottom:0;right:0;padding:16px 18px;background:linear-gradient(transparent,rgba(13,22,38,.9));font-family:var(--mono);font-size:13px;letter-spacing:.03em;color:var(--surface)}

/* ---------- Servicios ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.svc-card{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:start;background:var(--ink-2);border:1px solid var(--line);padding:34px 32px;transition:.25s}
.svc-card:hover{border-color:rgba(232,102,42,.4);transform:translateY(-3px)}
.svc-num{font-family:var(--display);font-weight:800;font-size:34px;color:var(--navy-lite);line-height:1;letter-spacing:-.02em}
.svc-card h3{font-size:21px;color:var(--surface)}
.svc-card p{margin-top:11px;color:var(--stone-lo);font-size:15px;line-height:1.65}
.svc-card .ic{display:none}

/* ---------- CTA band ---------- */
.cta-band{position:relative;background:linear-gradient(130deg,var(--navy) 0%,var(--ink-2) 75%);overflow:hidden}
.cta-band::before{content:"";position:absolute;right:-40px;top:50%;transform:translateY(-50%);display:flex}
.cta-inner{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px}
.cta-inner .t h2{font-size:clamp(26px,3.4vw,40px);color:var(--surface);text-wrap:balance}
.cta-inner .t p{margin-top:12px;color:var(--stone-lo);font-size:17px;max-width:48ch}
.cta-bars{position:absolute;right:clamp(-20px,2vw,60px);top:50%;transform:translateY(-50%);display:flex;gap:16px;pointer-events:none}
.cta-bars i{display:block;width:30px;height:180px;transform:skewX(-20deg)}
.cta-bars i:nth-child(1){background:var(--orange);opacity:.4}
.cta-bars i:nth-child(2){background:var(--navy-lite);opacity:.35}
.cta-bars i:nth-child(3){background:var(--orange);opacity:.18}

/* ---------- Empresas mini-grid ---------- */
.emp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.emp-card{background:var(--ink-2);border:1px solid var(--line);padding:28px 30px}
.emp-card .flag{font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--orange);text-transform:uppercase}
.emp-card h3{font-size:20px;color:var(--surface);margin-top:8px}
.emp-card p{margin-top:9px;color:var(--stone-lo);font-size:14.5px;line-height:1.6}

@media(max-width:980px){
  .navcards{grid-template-columns:1fr 1fr}
  .mv-grid{grid-template-columns:1fr}
  .legal-grid{grid-template-columns:1fr}
  .line-grid{grid-template-columns:1fr 1fr}
  .media-trio{grid-template-columns:1fr}
  .svc-grid{grid-template-columns:1fr}
  .emp-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .navcards{grid-template-columns:1fr}
  .line-grid{grid-template-columns:1fr}
  .cta-bars{display:none}
}
