/* Refuerzos visuales acotados a Inicio y al contenido editorial de Nosotros. */
.home-lines {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 16%,rgba(74,107,255,.13),transparent 25rem),
    radial-gradient(circle at 91% 86%,rgba(0,161,139,.12),transparent 27rem),
    linear-gradient(145deg,#f7f9ff 0%,#edf5ff 48%,#f6f0ff 100%);
}

.home-lines::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:linear-gradient(rgba(61,77,116,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(61,77,116,.045) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,transparent,black 18%,black 82%,transparent);
}

.home-lines > .container { position:relative; z-index:1; }

.home-lines-grid { gap:clamp(1rem,2.1vw,1.7rem); }

.home-lines .line-preview {
  isolation:isolate;
  min-height:clamp(21rem,30vw,27rem);
  padding:clamp(1.55rem,3vw,2.35rem);
  border-color:rgba(255,255,255,.34);
  border-radius:1.75rem;
  background:#18233a;
  color:#fff;
  box-shadow:0 1.4rem 3.4rem rgba(21,39,77,.2),inset 0 1px 0 rgba(255,255,255,.26);
}

.home-lines .line-preview::before {
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  border-radius:inherit;
  background:
    linear-gradient(180deg,rgba(8,15,29,.2) 0%,rgba(8,15,29,.48) 42%,rgba(8,15,29,.9) 100%),
    linear-gradient(90deg,rgba(8,15,29,.64),transparent 72%);
  pointer-events:none;
}

.home-lines .line-preview::after {
  z-index:1;
  width:24rem;
  height:24rem;
  right:-10rem;
  top:-11rem;
  border:1px solid rgba(255,255,255,.24);
  box-shadow:0 0 0 2.8rem rgba(255,255,255,.035),0 0 0 5.6rem rgba(255,255,255,.025);
  opacity:.72;
}

.home-lines .line-preview > * { position:relative; z-index:2; }

.home-lines .line-preview > .line-preview-media {
  position:absolute;
  z-index:0;
  inset:0;
  display:block;
  overflow:hidden;
  border-radius:inherit;
  background:#18233a;
  pointer-events:none;
}

.home-lines .line-preview-media picture,
.home-lines .line-preview-media img {
  display:block;
  width:100%;
  height:100%;
}

.home-lines .line-preview-media img {
  object-fit:cover;
  object-position:center;
}

.home-lines .tone-slate .line-preview-media img { object-position:54% center; }

.home-lines .line-preview-index {
  color:#fff;
  font-size:clamp(3.5rem,6vw,5.8rem);
  font-weight:800;
  letter-spacing:-.08em;
  line-height:.85;
  opacity:.72;
  text-shadow:0 .3rem 1.25rem rgba(0,0,0,.28);
}

.home-lines .line-preview-icon {
  width:clamp(4.5rem,7vw,5.6rem);
  height:clamp(4.5rem,7vw,5.6rem);
  border-radius:1.55rem;
  color:#fff;
  border-color:rgba(255,255,255,.38);
  background:rgba(8,15,29,.34);
  box-shadow:0 .9rem 2rem rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.26);
  backdrop-filter:blur(10px);
}

.home-lines .line-preview-icon .icon { width:2.25rem; height:2.25rem; }
.home-lines .line-preview-type { color:color-mix(in srgb,var(--tone) 42%,white); letter-spacing:.08em; text-transform:uppercase; text-shadow:0 .2rem .9rem rgba(0,0,0,.4); }
.home-lines .line-preview h3 { max-width:30rem; color:#fff; font-size:clamp(1.9rem,3.1vw,2.7rem); line-height:1.08; text-shadow:0 .28rem 1.1rem rgba(0,0,0,.4); }
.home-lines .line-preview p { max-width:34rem; color:rgba(255,255,255,.88); text-shadow:0 .18rem .75rem rgba(0,0,0,.46); }

.home-lines .line-preview-bottom {
  color:#fff;
  border-top-color:rgba(255,255,255,.3);
}

.home-lines .line-preview-bottom > span:first-child {
  display:inline-flex;
  align-items:center;
  min-height:2.65rem;
  padding:.55rem 1rem;
  border:1px solid rgba(255,255,255,.3);
  border-radius:999px;
  background:rgba(8,15,29,.34);
  color:#fff;
  backdrop-filter:blur(8px);
}

.home-lines .line-preview-action {
  width:3.15rem;
  height:3.15rem;
  color:#17213a;
  background:#fff;
  box-shadow:0 .75rem 1.5rem rgba(0,0,0,.24);
}

@media (hover:hover) {
  .home-lines .line-preview:hover {
    transform:translateY(-7px);
    box-shadow:0 2rem 4.3rem rgba(21,39,77,.16),inset 0 1px 0 rgba(255,255,255,.95);
  }
  .home-lines .line-preview:hover .line-preview-action { transform:translateX(.2rem); }
}

#nuestra-empresa {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 14%,rgba(89,63,228,.13),transparent 25rem),
    linear-gradient(155deg,#fff 0%,#f7f5ff 54%,#eef6ff 100%);
}

#nuestra-empresa::before {
  content:"";
  position:absolute;
  inset:auto -8rem -12rem auto;
  width:30rem;
  aspect-ratio:1;
  border:1px solid rgba(89,63,228,.14);
  border-radius:50%;
  box-shadow:0 0 0 4rem rgba(89,63,228,.035),0 0 0 8rem rgba(89,63,228,.02);
  pointer-events:none;
}

.about-story-shell { position:relative; z-index:1; }

.about-story-shell .about-intro {
  grid-template-columns:minmax(15rem,.72fr) minmax(0,1.28fr);
  align-items:start;
  gap:clamp(2rem,5vw,5rem);
  padding:clamp(1.5rem,4vw,3rem);
  border:1px solid rgba(67,78,120,.12);
  border-radius:1.8rem;
  background:rgba(255,255,255,.76);
  box-shadow:0 1.7rem 4.5rem rgba(35,48,90,.09);
  backdrop-filter:blur(12px);
}

.about-story-shell .about-statement {
  position:relative;
  padding-left:clamp(1rem,2vw,1.7rem);
}

.about-story-shell .about-statement::before {
  content:"";
  position:absolute;
  inset:.2rem auto .2rem 0;
  width:.28rem;
  border-radius:999px;
  background:linear-gradient(#583cff,#00a58f);
}

.about-story-shell .about-statement h2 { margin-bottom:0; font-size:clamp(2.5rem,5vw,4.8rem); line-height:.98; }
.about-narrative {
  position:relative;
  display:grid;
  gap:1rem;
}
.about-narrative::before {
  content:"";
  position:absolute;
  top:1.6rem;
  bottom:5.5rem;
  left:1.52rem;
  width:1px;
  background:linear-gradient(rgba(89,63,228,.55),rgba(0,165,143,.24));
}
.about-story-chapter {
  position:relative;
  display:grid;
  grid-template-columns:3rem minmax(0,1fr);
  gap:1rem;
  align-items:start;
  padding:1.15rem 1.25rem 1.15rem 0;
  border:1px solid rgba(67,78,120,.1);
  border-radius:1.25rem;
  background:rgba(247,248,255,.68);
}
.about-story-chapter-primary {
  background:linear-gradient(135deg,rgba(102,75,239,.09),rgba(255,255,255,.78) 56%,rgba(0,165,143,.08));
}
.about-story-step {
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:3.05rem;
  aspect-ratio:1;
  margin-left:-.02rem;
  border:1px solid rgba(89,63,228,.2);
  border-radius:50%;
  background:#fff;
  color:#5a3fe2;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.08em;
  box-shadow:0 .55rem 1.4rem rgba(52,43,109,.12);
}
.about-story-chapter p { margin:0; color:var(--muted); line-height:1.72; }
.about-story-shell .about-story-chapter .large-copy { color:var(--ink); font-size:clamp(1.14rem,1.55vw,1.38rem); line-height:1.68; }
.about-story-actions { margin:.3rem 0 0 4rem; }

.about-portfolio-panel {
  display:grid;
  grid-template-columns:minmax(11rem,.58fr) minmax(0,1.42fr);
  gap:clamp(1.25rem,3vw,2.5rem);
  margin-top:clamp(1.25rem,3vw,2rem);
  padding:clamp(1.35rem,3.4vw,2.8rem);
  overflow:hidden;
  border-radius:1.8rem;
  background:
    radial-gradient(circle at 8% 8%,rgba(112,92,255,.5),transparent 19rem),
    linear-gradient(135deg,#16213f,#22214e 56%,#153e4b);
  color:#fff;
  box-shadow:0 2rem 5rem rgba(20,29,64,.2);
}

.about-portfolio-summary { display:flex; flex-direction:column; justify-content:space-between; min-height:18rem; }
.about-portfolio-count { font-size:clamp(5rem,10vw,9rem); font-weight:800; letter-spacing:-.09em; line-height:.8; color:#fff; }
.about-portfolio-summary p { max-width:16rem; margin:.8rem 0 0; color:#d9ddf0; line-height:1.55; }
.about-line-list { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1.3rem; }
.about-line-chip { padding:.55rem .78rem; border:1px solid rgba(255,255,255,.2); border-radius:999px; background:rgba(255,255,255,.08); color:#f4f5ff; font-size:.78rem; font-weight:700; }

.about-brand-wall { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; }
.about-brand-tile {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:.75rem;
  min-height:8.4rem;
  padding:.8rem 1rem .8rem .8rem;
  border:1px solid rgba(255,255,255,.16);
  border-radius:1.15rem;
  background:rgba(255,255,255,.08);
  color:#fff;
}
.about-brand-logo { display:grid; place-items:center; min-width:0; min-height:6.7rem; padding:.6rem; overflow:hidden; border-radius:.78rem; background:#fff; }
.about-brand-logo picture,.about-brand-logo img { display:block; width:100%; height:5.3rem; }
.about-brand-logo img { object-fit:contain; }
.about-brand-tile strong { writing-mode:vertical-rl; transform:rotate(180deg); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; opacity:.82; }

html[data-theme="dark"] .home-lines {
  background:radial-gradient(circle at 9% 14%,rgba(92,80,236,.2),transparent 27rem),radial-gradient(circle at 90% 88%,rgba(0,156,137,.14),transparent 28rem),#111827;
}
html[data-theme="dark"] .home-lines .line-preview { border-color:rgba(255,255,255,.2); background:#0e1627; box-shadow:0 1.6rem 3.8rem rgba(0,0,0,.32); }
html[data-theme="dark"] .home-lines .line-preview::before { background:linear-gradient(180deg,rgba(4,9,18,.34) 0%,rgba(4,9,18,.58) 43%,rgba(4,9,18,.94) 100%),linear-gradient(90deg,rgba(4,9,18,.72),transparent 72%); }
html[data-theme="dark"] .home-lines .line-preview-icon,
html[data-theme="dark"] .home-lines .line-preview-bottom > span:first-child { background:rgba(3,8,17,.44); border-color:rgba(255,255,255,.2); }
html[data-theme="dark"] #nuestra-empresa { background:radial-gradient(circle at 90% 12%,rgba(99,78,238,.2),transparent 27rem),linear-gradient(150deg,#0f1624,#15172a 55%,#10252d); }
html[data-theme="dark"] .about-story-shell .about-intro { border-color:rgba(255,255,255,.1); background:rgba(20,27,43,.8); box-shadow:0 1.7rem 4.5rem rgba(0,0,0,.25); }
html[data-theme="dark"] .about-story-shell .large-copy { color:var(--ui-ink); }
html[data-theme="dark"] .about-story-chapter { border-color:rgba(255,255,255,.09); background:rgba(255,255,255,.035); }
html[data-theme="dark"] .about-story-chapter-primary { background:linear-gradient(135deg,rgba(105,84,244,.17),rgba(255,255,255,.035) 58%,rgba(0,165,143,.1)); }
html[data-theme="dark"] .about-story-step { border-color:rgba(184,170,255,.24); background:#20283b; color:#c7baff; box-shadow:0 .55rem 1.4rem rgba(0,0,0,.22); }
html[data-theme="dark"] .about-narrative::before { background:linear-gradient(rgba(174,157,255,.58),rgba(76,211,190,.24)); }

@media (max-width:760px) {
  .home-lines .line-preview { min-height:0; padding:1.45rem; }
  .home-lines .line-preview-index { font-size:3.7rem; }
  .home-lines .line-preview-icon { width:4.3rem; height:4.3rem; border-radius:1.25rem; }
  .home-lines .line-preview h3 { font-size:clamp(1.7rem,8vw,2.2rem); }
  .home-lines .line-preview-bottom { align-items:flex-end; }
  .home-lines .line-preview-bottom > span:first-child { min-height:2.4rem; padding:.45rem .78rem; }
  .about-story-shell .about-intro { grid-template-columns:1fr; gap:1.4rem; padding:1.35rem; border-radius:1.35rem; }
  .about-story-shell .about-statement { padding-left:1rem; }
  .about-story-shell .about-statement h2 { font-size:clamp(2.35rem,12vw,3.25rem); }
  .about-narrative { gap:.85rem; }
  .about-narrative::before { top:1.35rem; bottom:7.2rem; left:1.27rem; }
  .about-story-chapter { grid-template-columns:2.55rem minmax(0,1fr); gap:.78rem; padding:1rem .9rem 1rem 0; border-radius:1rem; }
  .about-story-step { width:2.55rem; font-size:.7rem; }
  .about-story-shell .about-story-chapter .large-copy { font-size:1.08rem; line-height:1.64; }
  .about-story-chapter p { font-size:.98rem; line-height:1.66; }
  .about-story-actions { margin:.25rem 0 0; }
  .about-story-actions .button { width:100%; justify-content:center; }
  .about-portfolio-panel { grid-template-columns:1fr; padding:1.15rem; border-radius:1.35rem; }
  .about-portfolio-summary { min-height:0; }
  .about-portfolio-count { font-size:5.5rem; }
  .about-portfolio-summary p { max-width:none; }
  .about-brand-tile { min-height:7.2rem; padding:.65rem .75rem .65rem .65rem; }
  .about-brand-logo { min-height:5.65rem; }
  .about-brand-logo picture,.about-brand-logo img { height:4.35rem; }
}

@media (max-width:430px) {
  .about-brand-wall { grid-template-columns:1fr; }
  .about-brand-tile { grid-template-columns:minmax(0,1fr) auto; }
}

@media (prefers-reduced-motion:reduce) {
  .home-lines .line-preview,.home-lines .line-preview-action { transition:none; }
}
