/* Página interna Nosotros: capa editorial ligera sobre el sistema visual de Pacífica. */

.internal-page{ background:var(--bg); --amber:#65B2E8; --amber-hover:#8CD5F4; }
.internal-page .brand-pill{ border-color:transparent; background:transparent; backdrop-filter:none; padding:10px 0; }
.internal-page .brand-logo{ height:30px; }
.internal-page .footer-brand{ align-items:flex-start; }
.internal-page .footer-logo{ align-self:flex-start; margin-left:0; }
/* clip (no hidden): recorta el desborde horizontal sin crear contenedor de scroll,
   así no rompe el position:sticky de secciones internas como #insights. */
.internal-page main{ overflow:clip; }
.nosotros-wrap{ width:min(1220px, calc(100% - 48px)); margin:0 auto; }
.page-kicker{ display:flex; align-items:center; gap:12px; color:rgba(232,241,250,.56); font-size:11px; font-weight:600; letter-spacing:.24em; text-transform:uppercase; }
.page-kicker > span{ width:7px; height:7px; flex:none; border-radius:50%; background:var(--amber); box-shadow:0 0 0 5px rgba(101,178,232,.14); }
.nosotros-hero{ position:relative; min-height:clamp(680px, 88vh, 900px); display:grid; align-items:center; padding:150px 0 100px; background:linear-gradient(135deg, #001B3A 0%, #022c5a 52%, #000814 100%); }
.nosotros-hero-glow{ position:absolute; inset:0; pointer-events:none; background:radial-gradient(500px 500px at 82% 46%, rgba(79,195,247,.18), transparent 70%), radial-gradient(600px 420px at 12% 20%, rgba(101,178,232,.1), transparent 70%); }
.nosotros-hero-grid{ position:relative; display:grid; align-items:center; gap:64px; }
@media (min-width:900px){ .nosotros-hero-grid{ grid-template-columns:minmax(0, .92fr) minmax(360px, .78fr); } }
.nosotros-hero-copy{ position:relative; z-index:1; }
.nosotros-hero h1{ max-width:8ch; margin:30px 0 28px; color:#fff; font-size:clamp(58px, 8.5vw, 116px); font-weight:800; line-height:.9; letter-spacing:-.065em; }
.nosotros-hero h1 em,.nosotros-cierre h2 em{ color:var(--amber); font-style:normal; }
.hero-deck{ max-width:48ch; color:rgba(232,241,250,.72); font-size:clamp(17px, 1.6vw, 22px); line-height:1.6; }
.nosotros-actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:38px; }
.nosotros-hero-art{ position:relative; justify-self:end; width:min(100%, 520px); }
.hero-art-frame{ position:relative; overflow:hidden; border:1px solid rgba(255,255,255,.14); border-radius:34px; aspect-ratio:4/5; background:#062235; box-shadow:0 34px 80px rgba(0,0,0,.3); }
.hero-art-frame::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,8,20,.04) 20%, rgba(0,8,20,.75) 100%); }
.hero-art-frame img,.hero-art-frame video{ width:100%; height:100%; object-fit:cover; filter:saturate(.8); }
.hero-art-caption{ position:absolute; z-index:1; right:22px; bottom:22px; left:22px; display:flex; align-items:center; gap:10px; color:#fff; font-size:12px; font-weight:600; }
.caption-dot{ width:8px; height:8px; border-radius:50%; background:var(--cyan); box-shadow:0 0 0 5px rgba(79,195,247,.16); }
.hero-art-index{ position:absolute; top:-18px; right:26px; z-index:2; color:var(--amber); font-size:12px; font-weight:700; letter-spacing:.18em; }
.hero-art-index span{ margin:0 8px; color:rgba(232,241,250,.35); }
.nosotros-manifiesto{ padding:clamp(96px, 13vw, 190px) 0; background:#001020; }
.manifesto-grid{ display:grid; gap:42px; }
@media (min-width:900px){ .manifesto-grid{ grid-template-columns:220px 1fr; gap:80px; } }
.section-label{ display:flex; align-items:flex-start; gap:12px; padding-top:10px; color:rgba(232,241,250,.42); font-size:11px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; }
.label-dot{ width:7px; height:7px; margin-top:4px; flex:none; border-radius:50%; background:var(--amber); }
.manifesto-content h2{ max-width:21ch; color:#fff; font-size:clamp(34px, 5vw, 68px); font-weight:500; line-height:1.04; letter-spacing:-.05em; }
.manifesto-content h2 strong{ color:var(--amber); font-weight:600; }
.manifesto-columns{ display:grid; gap:26px; margin-top:64px; padding-top:26px; border-top:1px solid rgba(255,255,255,.1); }
@media (min-width:700px){ .manifesto-columns{ grid-template-columns:1fr 1fr; } }
.manifesto-columns p{ max-width:34ch; color:rgba(232,241,250,.58); font-size:15px; line-height:1.8; }
.nosotros-origen{ padding:clamp(92px, 11vw, 150px) 0; background:#001B3A; }
.section-heading h2{ margin-top:20px; color:#fff; font-size:clamp(34px, 5vw, 68px); font-weight:700; line-height:.98; letter-spacing:-.055em; }
.section-heading > p{ max-width:42ch; color:rgba(232,241,250,.58); font-size:15px; line-height:1.7; }
.split-heading{ display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:54px; }
.origen-grid{ display:grid; gap:18px; }
@media (min-width:760px){ .origen-grid{ grid-template-columns:1fr 1fr; } }
.origen-card{ position:relative; min-height:310px; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; border-radius:28px; padding:32px; }
.origen-card::after{ content:""; position:absolute; right:-70px; bottom:-100px; width:280px; height:280px; border:1px solid rgba(255,255,255,.16); border-radius:50%; box-shadow:0 0 0 28px rgba(255,255,255,.035), 0 0 0 56px rgba(255,255,255,.025); }
.origen-card-pa{ background:linear-gradient(135deg, #0a1a3d, #062235); }
.origen-card-med{ background:linear-gradient(135deg, #0a2540, #04142a); border:1px solid rgba(79,195,247,.16); }
.origen-card-number{ position:relative; z-index:1; color:var(--amber); font-size:12px; font-weight:700; letter-spacing:.2em; }
.origen-card-med .origen-card-number{ color:var(--turquesa); }
.origen-card > div:last-child{ position:relative; z-index:1; max-width:34ch; }
.origen-card-kicker{ margin-bottom:14px; color:rgba(232,241,250,.52); font-size:11px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; }
.origen-card h3{ margin-bottom:14px; color:#fff; font-size:clamp(25px, 3vw, 38px); line-height:1.02; letter-spacing:-.04em; }
.origen-card p:last-child{ color:rgba(232,241,250,.62); font-size:14px; line-height:1.7; }
.nosotros-fuerzas{ padding:clamp(92px, 11vw, 150px) 0; background:#021024; }
.centered-heading{ display:grid; justify-items:center; text-align:center; }
.centered-heading h2{ max-width:16ch; }
.centered-heading > p{ margin-top:22px; }
.fuerzas-grid{ display:grid; gap:20px; margin-top:58px; }
@media (min-width:760px){ .fuerzas-grid{ grid-template-columns:1fr 1fr; } }
.fuerza-card{ position:relative; overflow:hidden; min-height:320px; border-radius:28px; padding:34px; }
.fuerza-card::after{ content:""; position:absolute; right:-55px; bottom:-85px; width:250px; height:250px; border:15px solid rgba(16,19,26,.08); border-radius:50%; }
.fuerza-strategy{ color:#10131A; background:linear-gradient(150deg, #8CD5F4, #65B2E8 55%, #4D9DCE); }
.fuerza-build{ color:#fff; border:1px solid rgba(60,191,174,.3); background:linear-gradient(150deg, #154A63, #13314F 60%, #0E2438); }
.fuerza-top{ position:relative; z-index:1; display:flex; justify-content:space-between; gap:16px; font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.fuerza-build .fuerza-top{ color:var(--turquesa); }
.fuerza-card h3{ position:relative; z-index:1; margin:54px 0 16px; font-size:clamp(39px, 5vw, 64px); line-height:.9; letter-spacing:-.06em; }
.fuerza-card p{ position:relative; z-index:1; max-width:34ch; font-size:15px; line-height:1.65; }
.fuerza-build p{ color:rgba(232,241,250,.7); }
.fuerza-tags{ position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:8px; margin-top:28px; }
.fuerza-tags span{ border-radius:999px; padding:7px 13px; font-size:12px; font-weight:600; }
.fuerza-strategy .fuerza-tags span{ background:rgba(16,19,26,.12); }
.fuerza-build .fuerza-tags span{ color:#7fe0d3; background:rgba(60,191,174,.14); }
.nosotros-ruta{ padding:clamp(92px, 11vw, 150px) 0; background:#001020; }
.ruta-heading{ margin-bottom:54px; }
.ruta-lista{ border-top:1px solid rgba(255,255,255,.12); }
.ruta-item{ display:grid; grid-template-columns:72px 1fr; gap:22px; align-items:start; padding:28px 0; border-bottom:1px solid rgba(255,255,255,.12); }
@media (min-width:760px){ .ruta-item{ grid-template-columns:100px 1fr; padding:36px 24px; } }
.ruta-number{ font-size:15px; font-weight:800; letter-spacing:.08em; }
.ruta-turquesa{ color:var(--turquesa); }.ruta-dorado{ color:var(--amber); }.ruta-naranja{ color:var(--naranja); }.ruta-azul{ color:var(--azul); }
.ruta-item h3{ margin-bottom:7px; color:#fff; font-size:clamp(23px, 3vw, 36px); letter-spacing:-.04em; }
.ruta-item p{ color:rgba(232,241,250,.58); font-size:15px; line-height:1.65; }
.nosotros-cierre{ padding:clamp(110px, 15vw, 210px) 0; background:linear-gradient(135deg, #022c5a, #001B3A 55%, #000814); }
.cierre-inner{ display:grid; justify-items:center; text-align:center; }
.cierre-inner h2{ max-width:17ch; margin:28px 0 36px; color:#fff; font-size:clamp(38px, 6vw, 82px); line-height:.98; letter-spacing:-.06em; }
.internal-page .site-footer{ position:relative; }
.nosotros-story{ position:relative; height:420vh; background:#000814; }
.story-stage{ position:relative; height:100dvh; min-height:620px; overflow:hidden; background:#000814; }
.story-topline{ position:absolute; z-index:5; top:clamp(88px, 12vh, 142px); right:clamp(24px, 5vw, 90px); left:clamp(24px, 5vw, 90px); display:flex; justify-content:space-between; align-items:center; gap:20px; pointer-events:none; }
.story-label,.story-counter{ color:rgba(232,241,250,.58); font-size:11px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; }
.story-counter strong{ margin-right:8px; color:var(--amber); font-size:18px; letter-spacing:.02em; }
.story-counter span{ color:rgba(232,241,250,.38); }
.story-progress{ position:absolute; z-index:5; top:clamp(122px, 16vh, 178px); right:clamp(24px, 5vw, 90px); left:clamp(24px, 5vw, 90px); height:1px; overflow:hidden; background:rgba(255,255,255,.2); transform-origin:left center; }
.story-progress span{ display:block; width:100%; height:100%; background:#65B2E8; transform:scaleX(0); transform-origin:left center; }
.story-slides{ position:absolute; inset:0; }
.story-slide{ position:absolute; inset:0; visibility:hidden; opacity:0; overflow:hidden; }
.story-slide.is-first{ visibility:visible; opacity:1; }
.story-media{ position:absolute; inset:-8%; overflow:hidden; }
.story-media img{ width:100%; height:100%; object-fit:cover; object-position:center; transform:scale(1.12); filter:saturate(.72) contrast(1.04); }
.story-shade{ position:absolute; inset:0; background:linear-gradient(90deg, rgba(0,8,20,.9) 0%, rgba(0,8,20,.52) 44%, rgba(0,8,20,.2) 100%), linear-gradient(0deg, rgba(0,8,20,.72), transparent 55%); }
.story-copy{ position:absolute; z-index:2; top:50%; left:clamp(24px, 11vw, 190px); width:min(620px, calc(100% - 48px)); transform:translateY(-40%); }
.story-kicker{ margin-bottom:22px; color:var(--amber); font-size:11px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; }
.story-copy h2{ max-width:11ch; margin-bottom:26px; color:#fff; font-size:clamp(38px, 6.2vw, 88px); font-weight:700; line-height:.94; letter-spacing:-.06em; }
.story-copy > p:not(.story-kicker){ max-width:44ch; color:rgba(232,241,250,.72); font-size:clamp(15px, 1.35vw, 18px); line-height:1.7; }
.story-link{ display:inline-flex; align-items:center; gap:12px; margin-top:30px; border-bottom:1px solid rgba(101,178,232,.72); padding-bottom:8px; color:#65B2E8; font-size:14px; font-weight:700; }
.story-link span{ font-size:18px; transition:transform .25s; }
.story-link:hover span{ transform:translate(4px, -4px); }
.story-nav{ position:absolute; z-index:5; right:clamp(24px, 5vw, 90px); bottom:clamp(28px, 6vh, 62px); display:flex; flex-direction:column; gap:12px; }
.story-nav button{ display:flex; align-items:center; gap:12px; padding:0; color:rgba(232,241,250,.4); font-size:10px; font-weight:700; letter-spacing:.14em; }
.story-nav button i{ display:block; width:34px; height:1px; background:currentColor; transition:width .3s, background-color .3s; }
.story-nav button.is-active{ color:var(--amber); }
.story-nav button.is-active i{ width:62px; }
@media (max-width:639px){
  .nosotros-wrap{ width:min(100% - 36px, 1220px); }
  .site-header{ width:calc(100vw - 28px); top:12px; }
  .brand-pill{ padding:12px 18px; }
  .internal-page .brand-pill{ padding:8px 0; }
  .internal-page .brand-logo{ height:26px; }
  .btn-hablemos{ padding:13px 18px; font-size:12px; }
  .menu-toggle{ width:48px; height:48px; }
  .nosotros-hero{ padding-top:124px; }
  .nosotros-hero-art{ width:calc(100% - 20px); margin:16px 10px 0; }
  .nosotros-story{ height:360vh; }
  .story-stage{ min-height:560px; }
  .story-topline{ top:92px; }
  .story-progress{ top:124px; }
  .story-copy{ top:54%; transform:translateY(-32%); }
  .story-copy h2{ max-width:12ch; font-size:clamp(36px, 11vw, 58px); }
  .story-copy > p:not(.story-kicker){ max-width:34ch; font-size:14px; }
  .story-nav{ right:24px; bottom:28px; }
  .split-heading{ display:grid; align-items:start; }
  .origen-card{ min-height:270px; padding:26px; }
  .fuerza-card{ min-height:290px; padding:28px; }
}
@media (prefers-reduced-motion:reduce){
  .nosotros-story{ height:auto; }
  .story-stage{ height:auto; min-height:0; padding:110px 24px 80px; }
  .story-slides{ position:relative; display:grid; gap:18px; }
  .story-slide,.story-slide.is-first{ position:relative; inset:auto; min-height:520px; visibility:visible; opacity:1; }
  .story-nav,.story-progress{ display:none; }
  .story-topline{ position:relative; top:auto; right:auto; left:auto; margin-bottom:24px; }
  .story-copy{ left:24px; transform:translateY(-50%); }
}
