/* =========================================================
   JWL — managed.html page specific styles
   Builds on: style.css + jline.css + system.css + cloud.css + network.css
   ========================================================= */

/* ---------- Hero bg override ---------- */
.page-managed .jp-hero::before {
  background-image: url("../../img/photo-datacenter.jpg");
  opacity: 0.2;
  filter: brightness(0.7) contrast(1.08) saturate(0.85);
}
.page-managed .jp-hero::after {
  background:
    radial-gradient(ellipse 70% 50% at 30% 35%, rgba(34,211,238,0.12), transparent 60%),
    radial-gradient(ellipse 60% 60% at 80% 70%, rgba(20,184,166,0.09), transparent 60%),
    linear-gradient(180deg, transparent 55%, rgba(5,7,13,0.95) 100%);
}

/* ---------- Service Scope grid ---------- */
.scope-lead {
  max-width: 820px;
  color: var(--text-2);
  line-height: 1.95;
  margin-bottom: 42px;
  font-size: clamp(14px, 1vw, 15.5px);
}
.scope-lead strong { color: var(--text); font-weight: 600; }

.scope-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.scope-card {
  position: relative;
  padding: 28px 28px 30px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 18px;
  display: flex; flex-direction: column;
  gap: 14px;
  transition: transform .3s, border-color .3s;
}
.scope-card:hover {
  transform: translateY(-3px);
  border-color: rgba(34,211,238,0.3);
}
.scope-icon {
  display: grid; place-items: center;
  width: 48px; height: 48px;
  border-radius: 14px;
  background: rgba(34,211,238,0.1);
  border: 1px solid rgba(34,211,238,0.24);
  color: var(--accent-2);
}
.scope-card h4 {
  font-family: var(--font-jp);
  font-size: 17px;
  font-weight: 700;
  margin: 0;
  line-height: 1.45;
}
.scope-card ul {
  list-style: none;
  padding: 0; margin: 0;
  display: flex; flex-direction: column;
  gap: 6px;
}
.scope-card li {
  position: relative;
  padding-left: 18px;
  font-size: 13px;
  color: var(--text-2);
  line-height: 1.7;
}
.scope-card li::before {
  content: "";
  position: absolute;
  left: 4px; top: 9px;
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--accent-3);
}

/* ---------- SES section ---------- */
.ses-lead {
  max-width: 900px;
  color: var(--text-2);
  line-height: 1.95;
  margin-bottom: 42px;
  font-size: clamp(14px, 1vw, 15.5px);
}
.ses-lead strong { color: var(--text); font-weight: 600; }

.ses-sub-title {
  font-family: var(--font-jp);
  font-size: clamp(20px, 1.8vw, 26px);
  font-weight: 700;
  margin: 52px 0 22px;
  line-height: 1.45;
}
.ses-sub-title .grad-text {
  background: var(--grad);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* SES key facts (3 quick stats) */
.ses-facts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 6px 0 4px;
}
.ses-fact {
  padding: 22px 24px;
  background: rgba(255,255,255,0.02);
  border: 1px solid var(--border);
  border-radius: 14px;
  display: flex; flex-direction: column;
  gap: 6px;
}
.ses-fact-lbl {
  font-family: var(--font-en);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent-3);
}
.ses-fact-val {
  font-family: var(--font-jp);
  font-size: clamp(15px, 1.3vw, 17.5px);
  font-weight: 700;
  color: var(--text);
  line-height: 1.5;
}
.ses-fact-val span {
  color: var(--text-3);
  font-weight: 500;
  font-size: 13px;
  margin-left: 4px;
}

/* SES strength grid */
.ses-strength-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.ses-strength {
  position: relative;
  padding: 28px 26px 28px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 16px;
  display: flex; flex-direction: column;
  gap: 8px;
  transition: transform .3s, border-color .3s;
}
.ses-strength:hover {
  transform: translateY(-3px);
  border-color: rgba(34,211,238,0.3);
}
.ses-strength-num {
  position: absolute;
  top: 18px; right: 22px;
  font-family: var(--font-en);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  color: var(--text-3);
}
.ses-strength h4 {
  font-family: var(--font-jp);
  font-size: 16px;
  font-weight: 700;
  margin: 0;
  line-height: 1.45;
  padding-right: 40px;
}
.ses-strength p {
  color: var(--text-2);
  font-size: 13px;
  line-height: 1.8;
}
.ses-strength p strong { color: var(--text); font-weight: 600; }

/* SES roles chips */
.ses-roles-chips { margin-bottom: 10px; }

/* SES Flow (4 steps) */
.ses-flow {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
  gap: 12px;
  align-items: stretch;
  margin: 12px 0 28px;
}
.ses-step {
  padding: 20px 22px 22px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  display: flex; flex-direction: column;
  gap: 6px;
  text-align: center;
  align-items: center;
  justify-content: center;
}
.ses-step-num {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  color: var(--accent-3);
}
.ses-step h4 {
  font-family: var(--font-jp);
  font-size: 15.5px;
  font-weight: 700;
  margin: 0;
}
.ses-step p {
  color: var(--text-2);
  font-size: 12.8px;
  line-height: 1.75;
}
.ses-step p strong { color: var(--text); font-weight: 600; }
.ses-step-arrow {
  display: grid; place-items: center;
  font-family: var(--font-mono);
  font-size: 18px;
  color: var(--accent-3);
  font-weight: 700;
}

.ses-callout { margin-top: 20px; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  .scope-grid { grid-template-columns: repeat(2, 1fr); }
  .ses-facts { grid-template-columns: 1fr; }
  .ses-strength-grid { grid-template-columns: repeat(2, 1fr); }
  .ses-flow {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .ses-step-arrow { display: none; }
}
@media (max-width: 640px) {
  .scope-grid { grid-template-columns: 1fr; }
  .ses-strength-grid { grid-template-columns: 1fr; }
  .ses-flow { grid-template-columns: 1fr; }
}
