/* ==========================================================================
   SOLUTIONS — page-specific composition
   Editorial services index: intro statement, four alternating-rhythm service
   rows, a facility-hire teaser, a technology strip and a closing CTA.
   ========================================================================== */

/* ---------------------------------- Hero ---------------------------------- */
.sol-hero{
  background:var(--navy-900); color:#fff;
  padding-top:calc(var(--section-pad-y) + 4rem);
  padding-bottom:var(--space-8);
}
.sol-hero-inner{ max-width:900px; }
.sol-hero-inner h1{ font-size:var(--fs-hero); max-width:20ch; margin:1.5rem 0 1.75rem; }
.sol-hero-inner p{ font-size:var(--fs-body-lg); color:rgba(255,255,255,.68); max-width:60ch; margin-bottom:2.5rem; }
.sol-index{ display:flex; flex-wrap:wrap; gap:.75rem; }
.sol-index a.pill{ transition:border-color .3s var(--ease-out), background .3s var(--ease-out); }
.sol-index a.pill:hover{ border-color:var(--sky-500); background:rgba(79,184,234,.1); }

/* ------------------------------ Alternating rows --------------------------- */
.sol-row{ padding-block:var(--section-pad-y); }
.sol-row-grid{ display:grid; grid-template-columns:1fr 1fr; gap:var(--space-9); align-items:center; }
.sol-row-photo{ order:2; position:relative; border-radius:var(--radius-lg); overflow:hidden; aspect-ratio:4/5; }
.sol-row-grid.img-left .sol-row-photo{ order:-1; }
.sol-row-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }

.sol-row-text .num{ font-family:var(--font-mono); color:var(--sky-600); font-size:.8rem; letter-spacing:.1em; display:block; margin-bottom:1.1rem; }
.sol-row-text h2{ font-family:var(--font-display); font-size:var(--fs-display-lg); max-width:12ch; margin-bottom:1.5rem; }
.sol-row-text p{ color:var(--ink-soft); font-size:var(--fs-body-lg); max-width:48ch; margin-bottom:1.75rem; }
.sol-row.on-dark .sol-row-text .num{ color:var(--sky-400); }
.sol-row.on-dark .sol-row-text p{ color:rgba(255,255,255,.65); }

.sol-feature-list{ display:flex; flex-direction:column; gap:0; }
.sol-feature-list li{
  display:flex; align-items:baseline; gap:.85rem;
  padding-block:.85rem; border-top:1px solid var(--line-on-light);
  font-size:.98rem;
}
.sol-feature-list li:last-child{ border-bottom:1px solid var(--line-on-light); }
.sol-row.on-dark .sol-feature-list li{ border-color:var(--line-on-dark); }
.sol-feature-list .tick{ color:var(--sky-600); font-family:var(--font-mono); flex:0 0 auto; }
.sol-row.on-dark .sol-feature-list .tick{ color:var(--sky-400); }

@media (max-width:900px){
  .sol-row-grid{ grid-template-columns:1fr; }
  .sol-row-grid .sol-row-photo{ order:0 !important; aspect-ratio:16/10; }
}

/* -------------------------------- Stacked row ------------------------------- */
.sol-row-stack{ padding-block:var(--section-pad-y); }
.sol-row-stack-head{ max-width:780px; margin-bottom:var(--space-7); }
.sol-row-stack-head .num{ font-family:var(--font-mono); color:var(--sky-600); font-size:.8rem; letter-spacing:.1em; }
.sol-row-stack-head h2{ font-family:var(--font-display); font-size:var(--fs-display-lg); max-width:22ch; margin:1rem 0 1.25rem; }
.sol-row-stack-head p{ font-size:var(--fs-body-lg); color:var(--ink-soft); max-width:66ch; }
.sol-row-stack-photo{ position:relative; border-radius:var(--radius-lg); overflow:hidden; aspect-ratio:21/8; margin-bottom:var(--space-7); }
.sol-row-stack-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.sol-row-stack-cols{ display:grid; grid-template-columns:1fr 1fr; gap:var(--space-8); }
.sol-subcol .tag{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--sky-600); display:block; margin-bottom:.75rem; }
.sol-subcol h3{ font-family:var(--font-display); font-size:1.35rem; margin-bottom:.75rem; }
.sol-subcol p{ color:var(--ink-soft); max-width:44ch; }
@media (max-width:800px){ .sol-row-stack-cols{ grid-template-columns:1fr; gap:var(--space-6); } .sol-row-stack-photo{ aspect-ratio:4/5; } }

/* ------------------------------ Facility hire teaser ------------------------- */
.sol-hire{ padding-block:var(--section-pad-y); }
.sol-hire-card{
  background:var(--navy-900); color:#fff; border-radius:var(--radius-lg);
  padding:var(--space-8); display:flex; justify-content:space-between; align-items:center;
  gap:var(--space-7); flex-wrap:wrap;
}
/* pin the solid navy surface — overrides .card-dark's translucent hover fill so the
   tilt/lift interaction reads correctly against the light section behind it */
.sol-hire-card:hover{ background:var(--navy-900); border-color:var(--line-on-dark); }
.sol-hire-copy .eyebrow{ margin-bottom:1.1rem; }
.sol-hire-card h2{ font-family:var(--font-display); font-size:var(--fs-display-md); max-width:20ch; margin-bottom:.85rem; }
.sol-hire-card p{ color:rgba(255,255,255,.65); max-width:42ch; }
@media (max-width:700px){ .sol-hire-card{ padding:var(--space-6); } }

/* --------------------------- Technology & infrastructure ---------------------- */
.sol-tech{ padding-block:var(--section-pad-y); }
.sol-tech-head{ max-width:640px; margin-bottom:var(--space-7); }
.sol-tech-head h2{ font-family:var(--font-display); font-size:var(--fs-display-lg); max-width:18ch; margin-top:1.25rem; }
.sol-tech-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line-on-light); border:1px solid var(--line-on-light); }
.sol-tech-item{ background:var(--white); padding:2.25rem 1.5rem; transition:background .4s var(--ease-out); }
.sol-tech-item:hover{ background:var(--sky-100); }
.sol-tech-item svg{ width:26px; height:26px; color:var(--sky-600); margin-bottom:1.5rem; transition:transform .45s var(--ease-premium); }
.sol-tech-item:hover svg{ transform:translateY(-3px) scale(1.08); }
.sol-tech-item h3{ font-family:var(--font-display); font-size:1.02rem; margin-bottom:.6rem; }
.sol-tech-item p{ font-size:.85rem; color:var(--ink-soft); }
@media (max-width:960px){ .sol-tech-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .sol-tech-grid{ grid-template-columns:1fr; } }

/* --------------------------------- Why us recap ------------------------------- */
.sol-why{ padding-block:var(--section-pad-y); }
.sol-why-grid{ display:grid; grid-template-columns:1fr 1fr; gap:var(--space-9); align-items:start; }
.sol-why-copy h2{ font-family:var(--font-display); font-size:var(--fs-display-lg); max-width:12ch; margin-bottom:1.5rem; }
.sol-why-copy p{ color:var(--ink-soft); font-size:var(--fs-body-lg); max-width:44ch; margin-bottom:1.75rem; }
.sol-why-list{ display:flex; flex-direction:column; gap:0; }
.sol-why-list li{
  display:flex; align-items:baseline; gap:1rem;
  padding-block:1rem; border-top:1px solid var(--line-on-light);
  font-size:1rem;
}
.sol-why-list li:last-child{ border-bottom:1px solid var(--line-on-light); }
.sol-why-list .n{ font-family:var(--font-mono); font-size:.78rem; color:var(--sky-600); }
@media (max-width:900px){ .sol-why-grid{ grid-template-columns:1fr; } }

/* ----------------------------------- Closing CTA -------------------------------- */
.sol-cta{ background:var(--navy-900); color:#fff; padding-block:var(--section-pad-y-lg); text-align:center; position:relative; overflow:hidden; }
.sol-cta h2{ font-family:var(--font-display); font-size:var(--fs-display-xl); max-width:18ch; margin-inline:auto; margin-top:1.75rem; }
.sol-cta p{ color:rgba(255,255,255,.65); max-width:50ch; margin:1.5rem auto 0; font-size:var(--fs-body-lg); }
.sol-cta .cta-actions{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; margin-top:2.75rem; }
