/* Homepage and service-page cleanup layer.
   Loaded after main-company-polish.css so it can correct hero spacing without
   disturbing the broader Zeph Tech visual system. */

:root {
  --zt-brand-bg:#020617;
  --zt-brand-panel:#071120;
  --zt-brand-panel-2:#0b1425;
  --zt-brand-line:rgba(148,163,184,.18);
  --zt-brand-text:#f8fafc;
  --zt-brand-muted:#cbd5e1;
  --zt-brand-blue:#0ea5e9;
  --zt-brand-blue-2:#2563eb;
  --zt-brand-orange:#f59e0b;
  --zt-brand-green:#00e676;
}

body {
  background:linear-gradient(180deg,#020617 0%,#071120 38%,#f8fafc 38%,#f8fafc 100%);
}

.logo--zeph-brand {
  width:54px !important;
  height:42px !important;
  padding:0 !important;
  border-radius:10px !important;
  object-fit:contain !important;
  background:radial-gradient(circle at 52% 50%,rgba(14,165,233,.16),transparent 52%) !important;
  box-shadow:0 0 28px -14px rgba(14,165,233,.95),0 0 34px -20px rgba(245,158,11,.9) !important;
}

.brand__name {
  letter-spacing:-.015em !important;
}

.nav,
.theme-light .nav {
  backdrop-filter:blur(18px) saturate(145%) !important;
  background:linear-gradient(180deg,rgba(2,6,23,.96),rgba(8,13,27,.92)) !important;
}

.nav-link,
.menu-group__trigger {
  border:1px solid transparent !important;
  border-radius:999px !important;
  padding:.58rem .78rem !important;
}

.nav-link:hover,
.menu-group[open] > .menu-group__trigger,
.menu-group__trigger:hover {
  background:rgba(15,23,42,.86) !important;
  border-color:rgba(96,165,250,.26) !important;
  color:#fff !important;
  box-shadow:0 16px 42px -32px rgba(14,165,233,.9) !important;
}

.menu-group__panel,
.menu-pillars__panel,
.menu-research__panel {
  border:1px solid rgba(96,165,250,.24) !important;
  border-radius:18px !important;
  background:
    radial-gradient(circle at 18% 0%,rgba(14,165,233,.18),transparent 30%),
    radial-gradient(circle at 88% 20%,rgba(245,158,11,.12),transparent 24%),
    linear-gradient(180deg,rgba(8,15,31,.98),rgba(2,6,23,.98)) !important;
  box-shadow:0 30px 90px -48px rgba(14,165,233,.95),0 1px 0 rgba(255,255,255,.06) inset !important;
  padding:12px !important;
}

.menu-pillars__link,
.menu-research__link,
.menu-group__panel a {
  border-radius:14px !important;
  border:1px solid rgba(148,163,184,.12) !important;
  background:rgba(15,23,42,.42) !important;
  padding:13px 14px !important;
  transition:background .18s ease,border-color .18s ease,transform .18s ease !important;
}

.menu-pillars__link:hover,
.menu-research__link:hover,
.menu-group__panel a:hover {
  transform:translateY(-1px) !important;
  border-color:rgba(34,211,238,.34) !important;
  background:linear-gradient(135deg,rgba(14,165,233,.16),rgba(15,23,42,.78)) !important;
}

.menu-pillars__title,
.menu-research__title {
  color:#f8fafc !important;
  font-weight:850 !important;
}

.menu-pillars__description,
.menu-research__description {
  color:rgba(203,213,225,.78) !important;
  line-height:1.45 !important;
}

.hero .hero-panel {
  padding-top:clamp(40px,5vw,64px) !important;
  padding-bottom:clamp(42px,5vw,66px) !important;
}

.hero .hero-grid {
  align-items:center !important;
  gap:clamp(32px,5vw,64px) !important;
}

.hero-title,
.hero .hero-title {
  max-width:780px !important;
  letter-spacing:-.035em !important;
}

.hero-summary,
.hero .hero-summary {
  max-width:700px !important;
  margin-top:14px !important;
}

.hero-cta,
.button-row {
  gap:12px !important;
}

.hero-detail {
  width:100% !important;
  max-width:520px !important;
  justify-self:end !important;
}

.hero-snapshot {
  overflow:hidden !important;
}

.hero-snapshot__visual,
.theme-light .hero .hero-snapshot__visual {
  min-height:250px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:56px 28px 52px !important;
  background:
    radial-gradient(circle at 50% 48%,rgba(34,211,238,.18),transparent 30%),
    radial-gradient(circle at 62% 58%,rgba(245,158,11,.13),transparent 28%),
    linear-gradient(135deg,#071120,#020617 74%) !important;
}

.hero-snapshot__visual::before {
  content:"Zeph Tech" !important;
  top:18px !important;
  left:18px !important;
  max-width:calc(100% - 36px) !important;
  white-space:nowrap !important;
  color:#e2e8f0 !important;
  letter-spacing:.02em !important;
}

.hero-snapshot__visual::after {
  content:"Discover → Build → Launch" !important;
  right:18px !important;
  bottom:18px !important;
  max-width:calc(100% - 36px) !important;
  color:#bfdbfe !important;
  font-size:.78rem !important;
  line-height:1.2 !important;
  letter-spacing:.035em !important;
  white-space:nowrap !important;
}

.hero-snapshot__visual img,
.theme-light .hero .hero-snapshot__visual img {
  display:block !important;
  width:min(300px,78%) !important;
  max-height:154px !important;
  margin:0 auto !important;
  border-radius:18px !important;
  transform:none !important;
  box-shadow:0 28px 80px -34px rgba(59,130,246,.9), 0 18px 54px -38px rgba(245,158,11,.9) !important;
}

.hero-snapshot__visual img.logo--zephcms {
  content:url('/static/zeph-brand-icon.png') !important;
}

.hero-snapshot__body,
.theme-light .hero .hero-snapshot__body {
  padding:24px 26px 26px !important;
}

.hero-snapshot__title,
.theme-light .hero .hero-snapshot__title {
  max-width:410px !important;
}

.hero-snapshot__steps {
  margin-top:18px !important;
  gap:0 !important;
}

.hero-snapshot__step {
  grid-template-columns:104px minmax(0,1fr) !important;
  gap:14px !important;
  padding:11px 0 !important;
}

.hero-snapshot__actions {
  margin-top:20px !important;
  gap:10px !important;
}

.solution-card,
.section:not(.hero):not(.solution-band) .panel {
  height:100% !important;
}

.solution-card p,
.service-card p,
.hero-snapshot__text,
.section-intro {
  text-wrap:pretty;
}

.section--latest,
#featured-guides,
#topic-showcase,
#pillars {
  position:relative;
}

.section--latest .container,
#featured-guides .container,
#topic-showcase .container,
#pillars .container {
  position:relative;
  z-index:1;
}

.section--latest {
  background:
    radial-gradient(circle at 8% 10%,rgba(14,165,233,.10),transparent 28%),
    linear-gradient(180deg,#f8fafc,#eef2f7) !important;
}

.latest-briefings__grid > *,
#featured-guides .panel,
#topic-showcase .panel,
.pillar-card {
  border-radius:18px !important;
  border:1px solid rgba(15,23,42,.10) !important;
  background:linear-gradient(180deg,#fff,#f8fafc) !important;
  box-shadow:0 22px 70px -52px rgba(15,23,42,.65) !important;
}

.latest-briefings__grid > *:hover,
#featured-guides .panel:hover,
#topic-showcase .panel:hover,
.pillar-card:hover {
  transform:translateY(-2px) !important;
  border-color:rgba(14,165,233,.30) !important;
  box-shadow:0 28px 78px -48px rgba(14,165,233,.45) !important;
}

.section-header__meta span,
.hero-badge,
.tag,
.eyebrow {
  letter-spacing:.02em !important;
}

.pillar-grid {
  gap:18px !important;
}

.pillar-card__icon {
  border-radius:16px !important;
  background:linear-gradient(135deg,rgba(14,165,233,.10),rgba(245,158,11,.08)) !important;
}

.services-hero .hero-title {
  max-width:860px !important;
}

.services-hero .lead {
  max-width:760px !important;
  color:#eff6ff !important;
}

.service-summary-card,
.theme-light .service-summary-card {
  border:1px solid rgba(96,165,250,.28) !important;
  border-radius:20px !important;
  background:
    radial-gradient(circle at 12% 0%,rgba(14,165,233,.18),transparent 32%),
    linear-gradient(180deg,rgba(8,15,31,.96),rgba(2,6,23,.98)) !important;
  box-shadow:0 30px 90px -58px rgba(14,165,233,.95) !important;
}

.service-overview {
  background:linear-gradient(180deg,#f8fafc,#eef2f7 72%,#f8fafc) !important;
}

.section-header--centered {
  margin-inline:auto !important;
  text-align:center !important;
}

.service-catalog-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
}

.service-capability-card,
.theme-light .service-capability-card,
.engagement-card,
.professional-proof-card {
  position:relative !important;
  overflow:hidden !important;
  border-radius:18px !important;
  border:1px solid rgba(15,23,42,.10) !important;
  background:linear-gradient(180deg,#fff,#f8fafc) !important;
  box-shadow:0 24px 80px -58px rgba(15,23,42,.68) !important;
}

.service-capability-card::before,
.engagement-card::before,
.professional-proof-card::before {
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg,var(--zt-brand-blue),var(--zt-brand-orange));
  opacity:.82;
}

.service-capability-card h3,
.engagement-card h3,
.professional-proof-card h3 {
  margin-top:8px !important;
  color:#07111f !important;
}

.service-capability-card p,
.engagement-card p,
.professional-proof-card p {
  color:#475569 !important;
  line-height:1.62 !important;
}

.service-capability-card ul {
  margin:16px 0 0 !important;
  padding:0 !important;
  list-style:none !important;
  display:grid !important;
  gap:8px !important;
}

.service-capability-card li {
  position:relative !important;
  padding-left:20px !important;
  color:#334155 !important;
  font-size:.94rem !important;
  line-height:1.48 !important;
}

.service-capability-card li::before {
  content:"";
  position:absolute;
  left:0;
  top:.58em;
  width:8px;
  height:8px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--zt-brand-blue),var(--zt-brand-orange));
  box-shadow:0 0 0 3px rgba(14,165,233,.10);
}

.service-capability-card__label {
  display:inline-flex !important;
  align-items:center !important;
  width:max-content !important;
  min-height:28px !important;
  padding:.25rem .62rem !important;
  border-radius:999px !important;
  color:#075985 !important;
  background:rgba(14,165,233,.10) !important;
  border:1px solid rgba(14,165,233,.18) !important;
  font-size:.78rem !important;
  font-weight:850 !important;
  letter-spacing:.03em !important;
  text-transform:uppercase !important;
}

.professional-feature-panel,
.professional-lead-panel {
  border-radius:22px !important;
  border:1px solid rgba(96,165,250,.20) !important;
  box-shadow:0 30px 96px -68px rgba(15,23,42,.72) !important;
}

.professional-lead-panel form {
  margin-top:18px !important;
}

.professional-lead-panel input,
.professional-lead-panel select,
.professional-lead-panel textarea {
  border-radius:12px !important;
}

.service-card h2,
.service-card h3 {
  color:#07111f !important;
}

@media (max-width:1120px) {
  .hero-detail {
    justify-self:start !important;
    max-width:680px !important;
  }

  .menu-group__panel,
  .menu-pillars__panel,
  .menu-research__panel {
    max-width:min(92vw,720px) !important;
  }

  .service-catalog-grid {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:720px) {
  .hero .hero-panel {
    padding-top:34px !important;
  }

  .hero-title,
  .hero .hero-title {
    font-size:clamp(2.35rem,12vw,3.1rem) !important;
  }

  .hero-cta,
  .button-row {
    align-items:stretch !important;
  }

  .hero-cta .btn,
  .button-row .btn,
  .hero-cta__secondary {
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
  }

  .hero-snapshot {
    display:block !important;
  }

  .hero-snapshot__visual,
  .theme-light .hero .hero-snapshot__visual {
    min-height:210px !important;
    padding:54px 20px 48px !important;
  }

  .hero-snapshot__visual img,
  .theme-light .hero .hero-snapshot__visual img {
    width:min(260px,86%) !important;
  }

  .hero-snapshot__step {
    grid-template-columns:1fr !important;
    gap:4px !important;
  }

  .mobile,
  .mobile__panel {
    background:linear-gradient(180deg,#071120,#020617) !important;
  }

  .mobile__link,
  .mobile__quicklinks a,
  .menu-cta {
    border-radius:14px !important;
    border:1px solid rgba(96,165,250,.22) !important;
    background:rgba(15,23,42,.72) !important;
  }

  .service-catalog-grid {
    grid-template-columns:1fr !important;
  }

  .section-header--centered {
    text-align:left !important;
  }
}
