:root {
  color-scheme: light;
  --ink: #172033;
  --muted: #647084;
  --line: rgba(126, 143, 180, 0.24);
  --paper: rgba(255, 255, 255, 0.92);
  --paper-strong: #ffffff;
  --soft: #f8fbff;
  --blue: #dff3ff;
  --blue-strong: #8fc4e7;
  --lavender: #eee9ff;
  --violet: #7364c9;
  --violet-dark: #4f4a8f;
  --cream: #fff7e8;
  --shadow: 0 22px 60px rgba(68, 83, 128, 0.14);
  --soft-shadow: 0 14px 36px rgba(68, 83, 128, 0.1);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--ink);
  font-family:
    Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
    sans-serif;
  background:
    radial-gradient(circle at 12% 8%, rgba(223, 243, 255, 0.9), transparent 30%),
    radial-gradient(circle at 85% 2%, rgba(238, 233, 255, 0.95), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, var(--soft) 42%, #fbf8ff 100%);
  line-height: 1.5;
}

a {
  color: inherit;
}

.shell {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

.hero {
  position: relative;
  min-height: 760px;
  overflow: hidden;
  color: #ffffff;
  background-image: url("./assets/ransomware-readiness-hero-full.png");
  background-size: cover;
  background-position: center right 32%;
  background-repeat: no-repeat;
}

.hero::before {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(
    90deg,
    rgba(8, 15, 32, 0.86) 0%,
    rgba(15, 23, 42, 0.68) 38%,
    rgba(15, 23, 42, 0.24) 70%,
    rgba(15, 23, 42, 0.06) 100%
  );
  pointer-events: none;
}

.hero::after {
  position: absolute;
  inset: auto 0 0;
  height: 22%;
  content: "";
  background: linear-gradient(180deg, transparent, rgba(248, 251, 255, 0.94));
  pointer-events: none;
}

.hero-inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  min-height: 760px;
  padding: 92px 0 112px;
}

.hero-copy {
  width: min(100%, 960px);
  max-width: 960px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.hero-eyebrow {
  display: block;
  margin: 0 0 14px;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: #c9d8ff;
  background: transparent;
  box-shadow: none;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

h1,
h2,
h3,
p {
  margin: 0;
}

h1,
h2,
h3 {
  line-height: 1.06;
  letter-spacing: 0;
}

h1 {
  max-width: 960px;
  color: #ffffff;
  font-size: clamp(3rem, 5vw, 5.15rem);
  text-shadow: 0 18px 44px rgba(0, 0, 0, 0.24);
}

h2 {
  font-size: clamp(2rem, 4vw, 3.35rem);
}

h3 {
  font-size: 1.08rem;
}

.hero__subtitle {
  max-width: 720px;
  margin: 18px 0 24px;
  color: rgba(245, 248, 255, 0.86);
  font-size: clamp(1.12rem, 2vw, 1.34rem);
}

.hero-trust {
  display: block;
  margin-top: 14px;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: rgba(245, 248, 255, 0.76);
  background: transparent;
  font-size: 0.95rem;
  font-weight: 700;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border: 1px solid transparent;
  border-radius: 999px;
  font: inherit;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  transition:
    transform 160ms ease,
    background 160ms ease,
    box-shadow 160ms ease,
    border-color 160ms ease,
    opacity 160ms ease;
}

.button:hover {
  transform: translateY(-1px);
}

.button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
  transform: none;
}

.button--primary,
.button--hero {
  color: #ffffff;
  background: linear-gradient(135deg, #6d75d7 0%, #7364c9 46%, #6eaedf 100%);
  box-shadow: 0 18px 38px rgba(67, 87, 190, 0.28);
}

.button--secondary {
  color: var(--violet-dark);
  border-color: rgba(115, 100, 201, 0.24);
  background: linear-gradient(135deg, #ffffff, #f2f0ff);
  box-shadow: var(--soft-shadow);
}

.eyebrow {
  margin: 0 0 12px;
  color: var(--violet);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.section {
  padding: 86px 0;
}

.section--intro {
  background: rgba(255, 255, 255, 0.72);
  border-block: 1px solid rgba(136, 151, 178, 0.16);
}

.intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 54px;
  align-items: start;
}

.intro-copy {
  display: grid;
  gap: 18px;
  color: var(--muted);
  font-size: 1.08rem;
}

.section-heading {
  max-width: 820px;
  margin-bottom: 34px;
}

.section-heading p:not(.eyebrow) {
  max-width: 720px;
  margin-top: 14px;
  color: var(--muted);
  font-size: 1.08rem;
}

.section-heading--compact {
  margin-bottom: 20px;
}

.card,
.service-card {
  border: 1px solid var(--line);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.86));
  box-shadow: var(--soft-shadow);
}

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

.service-card {
  padding: 26px;
}

.service-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin-bottom: 20px;
  border-radius: 999px;
  color: var(--violet-dark);
  background: linear-gradient(135deg, var(--blue), var(--lavender));
  font-size: 0.82rem;
  font-weight: 850;
}

.service-card h3 {
  margin-bottom: 10px;
}

.service-content {
  min-width: 0;
}

.service-includes {
  margin-top: 18px;
}

.service-label {
  margin-bottom: 8px;
  color: var(--ink) !important;
  font-size: 0.78rem;
  font-weight: 850;
  text-transform: uppercase;
}

.service-includes ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
}

.service-includes li::marker {
  color: var(--violet);
}

.service-deliverable {
  margin-top: 16px;
  padding: 12px 14px;
  border: 1px solid rgba(115, 100, 201, 0.16);
  border-radius: 14px;
  background: rgba(238, 233, 255, 0.42);
  font-size: 0.95rem;
}

.service-deliverable span {
  color: var(--violet-dark);
  font-weight: 850;
}

.service-card p,
.review-cta p,
.final-cta p {
  color: var(--muted);
}

.service-note {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(126, 143, 180, 0.2);
  font-size: 0.92rem;
  font-weight: 750;
}

.service-kicker {
  margin-bottom: 8px;
  color: var(--violet);
  font-size: 0.78rem;
  font-weight: 850;
  text-transform: uppercase;
}

.service-card--featured {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 22px;
  align-items: start;
  background: linear-gradient(135deg, rgba(223, 243, 255, 0.82), rgba(238, 233, 255, 0.9));
}

.service-card--link {
  display: block;
  color: inherit;
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.service-card--link:hover,
.service-card--link:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(115, 100, 201, 0.36);
  box-shadow: var(--shadow);
}

.service-card__link-text {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  color: var(--violet-dark);
  font-weight: 850;
}

.service-card__link-text::after {
  content: "→";
  display: inline-grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 999px;
  color: #ffffff;
  background: linear-gradient(135deg, var(--blue-strong), var(--violet));
  font-size: 0.95rem;
}

.service-detail {
  margin-top: 26px;
  padding: clamp(26px, 5vw, 46px);
  border: 1px solid rgba(115, 100, 201, 0.18);
  border-radius: 30px;
  background:
    radial-gradient(circle at top right, rgba(223, 243, 255, 0.8), transparent 34%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 246, 255, 0.9));
  box-shadow: var(--shadow);
}

.service-detail[hidden] {
  display: none;
}

.service-detail__intro h2 {
  max-width: 780px;
  margin-bottom: 24px;
}

.service-detail__copy-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.service-detail h3 {
  margin-bottom: 10px;
}

.service-detail p,
.value-stack p,
.receive-card li,
.receive-card p {
  color: var(--muted);
}

.service-highlight-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 30px 0;
}

.service-highlight-grid article {
  padding: 22px;
  border: 1px solid rgba(126, 143, 180, 0.18);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.74);
  box-shadow: 0 14px 30px rgba(36, 47, 84, 0.08);
}

.detail-marker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-bottom: 18px;
  border-radius: 12px;
  color: var(--violet-dark);
  background: linear-gradient(135deg, rgba(223, 243, 255, 0.95), rgba(238, 233, 255, 0.95));
  font-size: 0.76rem;
  font-weight: 900;
}

.service-detail__split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.62fr);
  gap: 22px;
  align-items: start;
}

.value-stack {
  display: grid;
  gap: 12px;
}

.value-stack details {
  border: 1px solid rgba(126, 143, 180, 0.18);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 10px 24px rgba(36, 47, 84, 0.06);
}

.value-stack summary {
  position: relative;
  padding: 18px 52px 18px 18px;
  color: var(--ink);
  font-weight: 850;
  cursor: pointer;
  list-style: none;
}

.value-stack summary::-webkit-details-marker {
  display: none;
}

.value-stack summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 18px;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
  border-radius: 999px;
  color: var(--violet-dark);
  background: rgba(238, 233, 255, 0.9);
  text-align: center;
  line-height: 24px;
}

.value-stack details[open] summary::after {
  content: "-";
}

.value-stack details p {
  padding: 0 18px 18px;
}

.receive-card {
  padding: 26px;
  border: 1px solid rgba(115, 100, 201, 0.18);
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(255, 247, 232, 0.88), rgba(238, 233, 255, 0.94));
  box-shadow: var(--soft-shadow);
}

.receive-card ul {
  display: grid;
  gap: 9px;
  margin: 16px 0 22px;
  padding-left: 20px;
}

.receive-card li::marker {
  color: var(--violet);
}

.receive-card .button {
  margin-bottom: 14px;
}


.service-page-hero {
  position: relative;
  overflow: hidden;
  padding: 28px 0 92px;
  color: var(--ink);
  background:
    radial-gradient(circle at 82% 18%, rgba(238, 233, 255, 0.9), transparent 30%),
    radial-gradient(circle at 12% 12%, rgba(223, 243, 255, 0.95), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #f8fbff 48%, #f4f0ff 100%);
}

.service-page-hero::after {
  position: absolute;
  inset: auto 0 0;
  height: 140px;
  content: "";
  background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.92));
  pointer-events: none;
}

.service-language-switch {
  color: var(--violet-dark);
}

.service-page-hero__grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(360px, 0.78fr);
  gap: clamp(28px, 5vw, 70px);
  align-items: center;
  padding-top: clamp(56px, 9vw, 108px);
}

.service-page-hero__content {
  max-width: 800px;
}

.service-page-hero h1 {
  max-width: 760px;
  color: var(--ink);
  font-size: clamp(3rem, 6.4vw, 5.6rem);
  line-height: 0.96;
  text-shadow: none;
}

.service-page-hero p:not(.eyebrow) {
  max-width: 690px;
  color: var(--muted);
  font-size: clamp(1.1rem, 2vw, 1.3rem);
}

.service-page-hero .hero-eyebrow {
  color: var(--violet);
}

.service-hero-visual {
  position: relative;
  padding: clamp(12px, 2vw, 18px);
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 34px;
  background: rgba(255, 255, 255, 0.56);
  box-shadow: var(--shadow);
  backdrop-filter: blur(18px);
}

.service-hero-visual::before {
  position: absolute;
  inset: 18px -12px -12px 18px;
  z-index: -1;
  content: "";
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(143, 196, 231, 0.32), rgba(115, 100, 201, 0.22));
}

.service-hero-visual img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 24px;
}

.service-page-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 30px 0 18px;
}

.service-back-link {
  display: inline-flex;
  margin-bottom: 36px;
  color: var(--violet-dark);
  font-weight: 850;
  text-decoration: none;
}

.service-page-section {
  padding: clamp(58px, 8vw, 92px) 0;
}

.service-page-section--compact {
  padding: clamp(34px, 5vw, 54px) 0;
}

.ransomware-mini-card {
  display: grid;
  grid-template-columns: minmax(220px, 0.42fr) minmax(0, 1fr);
  gap: clamp(18px, 4vw, 40px);
  align-items: start;
  padding: clamp(22px, 4vw, 34px);
  border: 1px solid rgba(115, 100, 201, 0.18);
  border-radius: 26px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(248, 251, 255, 0.82)),
    radial-gradient(circle at top right, rgba(238, 233, 255, 0.75), transparent 42%);
  box-shadow: var(--soft-shadow);
}

.ransomware-mini-card h2 {
  font-size: clamp(1.7rem, 3vw, 2.45rem);
}

.ransomware-mini-card__copy {
  display: grid;
  gap: 12px;
}

.ransomware-mini-card__copy p {
  color: var(--muted);
  font-size: 1.03rem;
}

.service-page-section--soft {
  background: linear-gradient(180deg, rgba(248, 251, 255, 0.9), #ffffff);
}

.service-page-copy {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1fr);
  gap: clamp(24px, 5vw, 58px);
  align-items: start;
}

.service-page-copy p {
  color: var(--muted);
  font-size: 1.08rem;
}

.value-block-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.value-block {
  padding: 24px;
  border: 1px solid rgba(126, 143, 180, 0.18);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: var(--soft-shadow);
}

.value-block h3 {
  margin-bottom: 10px;
}

.service-final-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  padding: clamp(28px, 5vw, 46px);
  border: 1px solid rgba(115, 100, 201, 0.2);
  border-radius: 30px;
  background: linear-gradient(135deg, rgba(223, 243, 255, 0.78), rgba(238, 233, 255, 0.9));
  box-shadow: var(--shadow);
}

.service-final-card ul {
  display: grid;
  gap: 9px;
  margin: 18px 0 0;
  padding-left: 20px;
  color: var(--muted);
}

.service-final-card li::marker {
  color: var(--violet);
}

.service-final-card__actions {
  min-width: min(100%, 340px);
}

.service-final-card__actions p {
  margin-top: 14px;
  color: var(--muted);
  font-size: 0.95rem;
  font-weight: 750;
}

.inline-cta {
  display: inline-flex;
  margin-top: 28px;
  color: var(--violet-dark);
  font-weight: 850;
  text-decoration: none;
}

.section--checklist {
  background: linear-gradient(180deg, rgba(248, 251, 255, 0.86), #ffffff);
}

.quiz-card {
  max-width: 820px;
  padding: clamp(24px, 4vw, 38px);
}

.quiz-topline {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
  color: var(--muted);
  font-size: 0.95rem;
  font-weight: 800;
}

.quiz-category {
  color: var(--violet);
}

.progress-track {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(126, 143, 180, 0.18);
}

.progress-fill {
  width: 10%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(135deg, #6d75d7, #6eaedf);
  transition: width 180ms ease;
}

.quiz-question {
  min-height: 280px;
  margin: 30px 0 0;
  padding: 0;
  border: 0;
}

.quiz-question legend {
  margin-bottom: 24px;
  color: var(--ink);
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: 850;
  line-height: 1.14;
}

.quiz-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.quiz-option {
  min-height: 58px;
  border: 1px solid rgba(126, 143, 180, 0.26);
  border-radius: 18px;
  color: var(--ink);
  background: rgba(255, 255, 255, 0.78);
  font: inherit;
  font-weight: 850;
  cursor: pointer;
}

.quiz-option.is-selected {
  color: var(--violet-dark);
  border-color: rgba(115, 100, 201, 0.48);
  background: linear-gradient(135deg, #ffffff, #f0efff);
  box-shadow: 0 10px 26px rgba(115, 100, 201, 0.14);
}

.quiz-actions {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.result {
  max-width: 820px;
  margin-top: 28px;
  padding: 30px;
  border-left: 6px solid var(--blue-strong);
}

.result h2 {
  margin-bottom: 12px;
}

.result p:last-child {
  color: var(--muted);
  font-size: 1.08rem;
}

.lead-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 0.9fr);
  gap: 24px;
  margin-top: 28px;
  align-items: start;
}

.report-layout {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.86fr);
}

.report-explainer {
  padding: 6px 0;
}

.report-explainer h2 {
  max-width: 720px;
  margin-bottom: 18px;
}

.report-explainer p,
.report-explainer li {
  color: var(--muted);
  font-size: 1.04rem;
}

.report-explainer ul {
  display: grid;
  gap: 9px;
  margin: 18px 0;
  padding-left: 20px;
}

.report-explainer li::marker {
  color: var(--violet);
}

.report-final {
  max-width: 720px;
  color: var(--ink) !important;
  font-weight: 800;
}

.lead-form,
.review-cta {
  padding: 30px;
}

.lead-form {
  display: grid;
  gap: 16px;
}

.report-form {
  position: relative;
  padding: 34px;
  border-color: rgba(115, 100, 201, 0.24);
  box-shadow: var(--shadow);
}

.lead-form label {
  display: grid;
  gap: 8px;
  color: var(--ink);
  font-weight: 750;
}

input,
select {
  width: 100%;
  min-height: 48px;
  padding: 0 13px;
  border: 1px solid rgba(136, 151, 178, 0.32);
  border-radius: 14px;
  color: var(--ink);
  background: rgba(255, 255, 255, 0.9);
  font: inherit;
}

input:focus,
select:focus {
  outline: 3px solid rgba(142, 196, 231, 0.28);
  border-color: var(--blue-strong);
}

.lead-form .button {
  justify-self: start;
}

.privacy-note {
  color: var(--muted);
  font-size: 0.86rem;
}

.form-note {
  min-height: 24px;
  color: var(--violet-dark);
  font-weight: 750;
}

.review-cta {
  grid-column: 2;
  display: grid;
  gap: 16px;
  background:
    linear-gradient(145deg, rgba(255, 247, 232, 0.82), rgba(238, 233, 255, 0.9));
}

.review-cta h2 {
  font-size: clamp(1.45rem, 2.6vw, 2rem);
}



.stat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.stat-card {
  padding: 24px;
  border: 1px solid rgba(126, 143, 180, 0.18);
  border-radius: 24px;
  background:
    linear-gradient(160deg, rgba(255, 255, 255, 0.95), rgba(248, 251, 255, 0.84));
  box-shadow: var(--soft-shadow);
}

.stat-icon,
.value-icon {
  display: inline-grid;
  width: 36px;
  height: 36px;
  margin-bottom: 16px;
  place-items: center;
  border-radius: 13px;
  color: var(--violet-dark);
  background: linear-gradient(135deg, var(--blue), var(--lavender));
  font-size: 0.84rem;
  font-weight: 900;
}

.stat-card strong {
  display: block;
  margin-bottom: 8px;
  color: var(--ink);
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1;
}

.stat-card p,
.stat-note {
  color: var(--muted);
}

.stat-note {
  margin-top: 14px;
  font-size: 0.92rem;
  font-weight: 750;
}

.value-block-grid--polished .value-block {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at top right, rgba(238, 233, 255, 0.7), transparent 34%),
    rgba(255, 255, 255, 0.86);
}

.process-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.process-grid article {
  position: relative;
  padding: 22px;
  border: 1px solid rgba(126, 143, 180, 0.18);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: var(--soft-shadow);
}

.process-grid span {
  display: inline-grid;
  width: 32px;
  height: 32px;
  margin-bottom: 16px;
  place-items: center;
  border-radius: 999px;
  color: #ffffff;
  background: linear-gradient(135deg, #6d75d7, #6eaedf);
  font-size: 0.88rem;
  font-weight: 900;
}

.process-grid h3,
.related-service-grid h3 {
  margin-bottom: 8px;
}

.process-grid p {
  color: var(--muted);
  font-size: 0.96rem;
}

.related-service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.related-service-grid a {
  padding: 22px;
  border: 1px solid rgba(115, 100, 201, 0.16);
  border-radius: 22px;
  color: inherit;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: var(--soft-shadow);
  text-decoration: none;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.related-service-grid a:hover,
.related-service-grid a:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(115, 100, 201, 0.34);
  box-shadow: var(--shadow);
}

.service-report-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(360px, 0.72fr);
  gap: clamp(24px, 5vw, 58px);
  align-items: start;
}

.service-report-grid > div > p:not(.eyebrow) {
  max-width: 680px;
  color: var(--muted);
  font-size: 1.08rem;
}

.review-form {
  display: grid;
  gap: 14px;
}

.review-form label {
  display: grid;
  gap: 8px;
  color: var(--ink);
  font-weight: 750;
}

.review-form .button {
  justify-self: start;
}


/* Compact service dashboard layout */
.service-page-hero--dashboard {
  padding: 18px 0 34px;
}

.service-page-hero--dashboard::after {
  height: 80px;
}

.service-page-hero--dashboard .language-row {
  padding-top: 18px;
}

.service-page-hero--dashboard .service-page-hero__grid {
  grid-template-columns: minmax(0, 0.95fr) minmax(300px, 0.58fr);
  gap: clamp(22px, 4vw, 56px);
  padding-top: clamp(24px, 4vw, 44px);
}

.service-page-hero--dashboard .service-back-link {
  margin-bottom: 18px;
}

.service-page-hero--dashboard h1 {
  max-width: 720px;
  font-size: clamp(3.2rem, 5.8vw, 5.35rem);
}

.service-page-hero--dashboard .service-page-hero__content > p:not(.hero-eyebrow) {
  max-width: 680px;
  font-size: clamp(1.05rem, 1.7vw, 1.2rem);
}

.service-page-hero--dashboard .service-page-actions {
  margin: 22px 0 0;
}

.service-page-hero--dashboard .service-hero-visual {
  max-width: 380px;
  justify-self: center;
  padding: 10px;
  border-radius: 28px;
}

.service-page-hero--dashboard .service-hero-visual img {
  border-radius: 20px;
}

.service-overview-panel {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 14px;
  margin-top: 28px;
}

.service-overview-panel .ransomware-mini-card {
  grid-template-columns: auto minmax(0, 1fr) minmax(280px, 0.66fr);
  gap: 18px;
  align-items: center;
  padding: 18px 22px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(14px);
}

.service-overview-panel .ransomware-mini-card h2 {
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  margin-bottom: 6px;
}

.service-overview-panel .ransomware-mini-card p {
  font-size: 0.95rem;
}

.mini-card-icon {
  display: inline-grid;
  width: 50px;
  height: 50px;
  place-items: center;
  border-radius: 999px;
  color: var(--violet-dark);
  background: linear-gradient(135deg, var(--lavender), var(--blue));
  box-shadow: 0 12px 28px rgba(68, 83, 128, 0.12);
  font-size: 1.45rem;
  font-weight: 900;
}

.mini-card-icon--small {
  width: 38px;
  height: 38px;
  font-size: 1rem;
}

.mini-card-callout {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding-left: 22px;
  border-left: 1px solid rgba(126, 143, 180, 0.24);
  color: var(--violet-dark);
  font-weight: 850;
}

.service-overview-panel .stat-grid {
  gap: 12px;
}

.service-overview-panel .stat-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 112px;
  padding: 18px 20px;
  border-radius: 18px;
}

.service-overview-panel .stat-card strong {
  margin-bottom: 4px;
  font-size: clamp(2rem, 3.4vw, 2.6rem);
}

.service-overview-panel .stat-card p {
  font-size: 0.92rem;
}

.service-overview-panel .stat-icon {
  width: 58px;
  height: 58px;
  margin-bottom: 0;
  border-radius: 18px;
  font-size: 1.35rem;
}

.service-overview-panel .stat-note {
  margin-top: 0;
  padding-left: 4px;
}

.service-work-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.92fr);
  gap: 18px;
}

.service-work-card,
.service-report-panel {
  padding: 22px;
  border: 1px solid rgba(126, 143, 180, 0.18);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: var(--soft-shadow);
}

.service-work-card .section-heading,
.service-report-panel .section-heading {
  margin-bottom: 16px;
}

.service-work-card .section-heading h2,
.service-report-panel h2 {
  font-size: clamp(1.35rem, 2.2vw, 1.8rem);
}

.service-work-card .value-block-grid {
  gap: 10px;
}

.service-work-card .value-block {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px 12px;
  align-items: start;
  padding: 15px;
  border-radius: 16px;
}

.service-work-card .value-icon {
  grid-row: span 2;
  width: 34px;
  height: 34px;
  margin-bottom: 0;
  border-radius: 999px;
  font-size: 0.72rem;
}

.service-work-card .value-block h3 {
  margin-bottom: 2px;
  font-size: 0.96rem;
}

.service-work-card .value-block p,
.process-grid--compact p,
.related-service-grid p {
  color: var(--muted);
  font-size: 0.88rem;
}

.process-grid--compact {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.process-grid--compact article {
  padding: 15px;
  border-radius: 16px;
}

.process-grid--compact span {
  width: 30px;
  height: 30px;
  margin-bottom: 12px;
}

.process-grid--compact h3 {
  font-size: 0.94rem;
}

.service-report-panel {
  display: grid;
  grid-template-columns: minmax(260px, 0.42fr) minmax(0, 1fr);
  gap: 24px;
  align-items: center;
}

.report-panel-intro {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.report-panel-intro p:not(.eyebrow) {
  color: var(--muted);
}

.report-form--inline {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.report-form--inline .button {
  align-self: end;
  width: 100%;
}

.report-form--inline .privacy-note,
.report-form--inline .form-note {
  grid-column: span 3;
  margin: 0;
}

.related-section {
  padding-top: 24px;
}

.related-service-grid a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px 14px;
  align-items: center;
  padding: 17px;
}

.related-service-grid .detail-marker {
  margin-bottom: 0;
}

.related-service-grid p {
  grid-column: 2 / -1;
}

.final-cta {
  padding-top: 40px;
}

.final-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  padding: clamp(30px, 5vw, 52px);
  border: 1px solid rgba(115, 100, 201, 0.2);
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(223, 243, 255, 0.72), rgba(238, 233, 255, 0.82));
  box-shadow: var(--soft-shadow);
}

.final-cta__inner h2 {
  max-width: 760px;
  margin-bottom: 12px;
}

.final-cta__inner p {
  max-width: 760px;
}

.final-cta__note {
  margin-top: 12px;
  font-weight: 750;
}

.site-footer {
  padding: 26px 0 42px;
  color: var(--muted);
  text-align: center;
}

@media (max-width: 920px) {
  .service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .review-cta {
    grid-column: auto;
  }

  .intro-grid,
  .service-detail__copy-grid,
  .service-detail__split,
  .service-page-copy,
  .ransomware-mini-card,
  .service-overview-panel .ransomware-mini-card,
  .service-page-hero__grid,
  .service-work-grid,
  .service-report-grid,
  .service-report-panel,
  .service-final-card,
  .lead-wrap,
  .report-layout,
  .final-cta__inner {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  .shell {
    width: min(100% - 28px, 1180px);
  }

  .hero {
    min-height: 700px;
    background-position: center right 30%;
  }

  .hero::before {
    background: linear-gradient(
      90deg,
      rgba(8, 15, 32, 0.9) 0%,
      rgba(15, 23, 42, 0.78) 54%,
      rgba(15, 23, 42, 0.34) 100%
    );
  }

  .hero-inner {
    min-height: 700px;
    padding: 64px 0 84px;
  }

  .hero-copy {
    width: min(100%, 760px);
    max-width: 760px;
  }

  .hero h1 {
    font-size: clamp(2.75rem, 8.8vw, 4.8rem);
  }

  .section {
    padding: 62px 0;
  }
}

@media (max-width: 620px) {
  .hero {
    min-height: 680px;
    background-position: center right 34%;
  }

  .hero-inner {
    min-height: 680px;
    padding: 48px 0 72px;
  }

  .hero h1 {
    font-size: clamp(2.25rem, 10.5vw, 3.35rem);
  }

  .hero__subtitle {
    margin: 16px 0 22px;
  }

  .button {
    width: 100%;
  }

  .service-grid,
  .service-highlight-grid,
  .stat-grid,
  .process-grid,
  .process-grid--compact,
  .related-service-grid,
  .value-block-grid,
  .quiz-options {
    grid-template-columns: 1fr;
  }

  .service-card--featured {
    grid-template-columns: 1fr;
  }

  .quiz-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .service-hero-visual,
  .service-page-hero--dashboard .service-hero-visual {
    max-width: 500px;
    margin: 0 auto;
  }

  .mini-card-callout {
    padding-left: 0;
    border-left: 0;
  }

  .report-form--inline {
    grid-template-columns: 1fr;
  }

  .report-form--inline .privacy-note,
  .report-form--inline .form-note {
    grid-column: auto;
  }

  .lead-form .button,
  .review-form .button {
    justify-self: stretch;
  }
}


.language-row {
  position: relative;
  z-index: 3;
  display: flex;
  justify-content: flex-end;
  padding-top: 24px;
}

.language-switch {
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.92rem;
  font-weight: 800;
  text-decoration: none;
}

.language-switch:hover {
  color: #ffffff;
}

.result-restart {
  margin-top: 22px;
}

.language-switch.service-language-switch {
  color: var(--violet-dark);
}

@media (max-width: 620px) {
  .service-page-hero--dashboard {
    padding: 14px 0 28px;
  }

  .service-page-hero--dashboard .language-row {
    padding-top: 14px;
  }

  .service-page-hero--dashboard .service-page-hero__grid {
    gap: 18px;
    padding-top: 20px;
  }

  .service-page-hero--dashboard .service-back-link {
    margin-bottom: 14px;
  }

  .service-page-hero--dashboard h1 {
    font-size: clamp(2.45rem, 12vw, 3.3rem);
  }

  .service-page-hero--dashboard .service-page-hero__content > p:not(.hero-eyebrow) {
    font-size: 1rem;
  }

  .service-page-hero--dashboard .service-page-actions {
    margin-top: 18px;
  }

  .service-page-hero--dashboard .service-hero-visual {
    width: min(100%, 300px);
    max-width: 300px;
    justify-self: center;
    margin-top: 2px;
  }

  .service-overview-panel {
    margin-top: 18px;
  }

  .service-overview-panel .ransomware-mini-card,
  .service-work-card,
  .service-report-panel {
    padding: 18px;
    border-radius: 18px;
  }

  .service-overview-panel .stat-card {
    min-height: auto;
    padding: 16px;
  }
}

@media (max-width: 920px) {
  .service-page-hero--dashboard .service-page-hero__grid {
    grid-template-columns: 1fr;
  }
}

/* Service layout refinement: compact, balanced dashboard */
.service-page-hero--dashboard {
  padding: 14px 0 24px;
}

.service-page-hero--dashboard::after {
  height: 56px;
}

.service-page-hero--dashboard .language-row {
  padding-top: 14px;
}

.service-page-hero--dashboard .service-page-hero__grid {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.48fr);
  gap: clamp(18px, 3vw, 42px);
  padding-top: clamp(16px, 3vw, 30px);
}

.service-page-hero--dashboard .service-back-link {
  margin-bottom: 12px;
}

.service-page-hero--dashboard h1 {
  max-width: 690px;
  font-size: clamp(3rem, 5.1vw, 4.75rem);
}

.service-page-hero--dashboard .service-page-hero__content > p:not(.hero-eyebrow) {
  max-width: 640px;
  font-size: clamp(1rem, 1.45vw, 1.12rem);
}

.service-page-hero--dashboard .service-page-actions {
  margin-top: 18px;
}

.service-page-hero--dashboard .service-hero-visual {
  max-width: 320px;
  padding: 9px;
}

.service-overview-panel {
  gap: 10px;
  margin-top: 20px;
}

.service-overview-panel .ransomware-mini-card {
  grid-template-columns: auto minmax(0, 1fr) minmax(320px, 0.74fr);
  gap: 16px;
  padding: 16px 20px;
}

.service-overview-panel .ransomware-mini-card p {
  font-size: 0.91rem;
}

.mini-card-callout {
  gap: 10px;
  padding-left: 18px;
}

.service-overview-panel .stat-grid {
  gap: 10px;
}

.service-overview-panel .stat-card {
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 12px;
  min-height: 96px;
  padding: 14px 16px;
  overflow: visible;
}

.service-overview-panel .stat-icon {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  font-size: 1.18rem;
}

.service-overview-panel .stat-card strong {
  display: block;
  width: 100%;
  margin-bottom: 3px;
  font-size: clamp(1.8rem, 2.5vw, 2.25rem);
  line-height: 1.04;
  white-space: nowrap;
}

.service-overview-panel .stat-card p {
  font-size: 0.88rem;
  line-height: 1.28;
}

.service-overview-panel .stat-note {
  font-size: 0.84rem;
}

.service-page-section--compact {
  padding: clamp(22px, 3.8vw, 38px) 0;
}

.service-work-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 14px;
}

.service-work-card,
.service-report-panel {
  padding: 18px;
  border-radius: 20px;
}

.service-work-card .section-heading {
  margin-bottom: 12px;
}

.service-work-card .section-heading h2,
.service-report-panel h2 {
  font-size: clamp(1.25rem, 2vw, 1.65rem);
}

.service-work-card .value-block {
  padding: 13px;
}

.service-work-card .value-block h3 {
  font-size: 0.92rem;
}

.service-work-card .value-block p {
  font-size: 0.84rem;
}

.process-grid--compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.process-grid--compact article {
  min-height: 142px;
  padding: 16px;
}

.process-grid--compact span {
  width: 32px;
  height: 32px;
  margin-bottom: 10px;
}

.process-grid--compact h3 {
  font-size: 0.98rem;
  line-height: 1.15;
}

.process-grid--compact p {
  font-size: 0.86rem;
  line-height: 1.35;
}

.service-report-panel {
  gap: 18px;
  align-items: start;
}

.report-form--inline {
  gap: 10px;
}

.report-form--inline input,
.report-form--inline select {
  min-height: 44px;
}

.related-section {
  padding-top: 12px;
}

@media (max-width: 920px) {
  .service-overview-panel .ransomware-mini-card {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .mini-card-callout {
    grid-column: 1 / -1;
    padding-left: 0;
    border-left: 0;
  }

  .service-work-grid,
  .service-report-panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .service-page-hero--dashboard h1 {
    font-size: clamp(2.35rem, 11vw, 3.15rem);
  }

  .service-overview-panel .stat-card {
    grid-template-columns: 48px minmax(0, 1fr);
  }

  .service-overview-panel .stat-card strong {
    font-size: clamp(1.75rem, 8vw, 2.2rem);
  }

  .process-grid--compact {
    grid-template-columns: 1fr;
  }

  .process-grid--compact article {
    min-height: auto;
  }
}

/* Final mobile service hero guard: keep text, CTAs, and illustration stacked. */
@media (max-width: 920px) {
  .service-page-hero--dashboard .service-page-hero__grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 620px) {
  .service-page-hero--dashboard h1 {
    font-size: clamp(2.15rem, 10vw, 2.8rem);
  }

  .service-page-hero--dashboard .hero-eyebrow {
    font-size: 0.74rem;
    line-height: 1.35;
  }

  .service-page-hero--dashboard .service-hero-visual {
    width: min(100%, 260px);
    max-width: 260px;
    margin-top: 0;
  }
}

/* Stacked service highlight cards for compact service pages */
.service-overview-panel .stat-grid {
  align-items: stretch;
}

.service-overview-panel .stat-card--stacked {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: 100%;
  min-height: 172px;
  gap: 0;
  padding: 18px 18px 17px;
}

.service-overview-panel .stat-card--stacked .stat-icon {
  margin-bottom: 14px;
}

.service-overview-panel .stat-card--stacked strong {
  margin-bottom: 10px;
  color: var(--navy);
  font-size: clamp(1.02rem, 1.25vw, 1.16rem);
  line-height: 1.18;
  letter-spacing: 0;
  white-space: normal;
}

.service-overview-panel .stat-card--stacked p {
  margin: 0 0 9px;
  color: var(--navy);
  font-size: 0.92rem;
  font-weight: 750;
  line-height: 1.34;
}

.service-overview-panel .stat-card--stacked small {
  display: block;
  margin-top: auto;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.34;
}

@media (max-width: 920px) {
  .service-overview-panel .stat-card--stacked {
    min-height: 150px;
  }
}


/* Final stacked highlight-card override: keeps service cards readable and equal height. */
.service-overview-panel .stat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(240px, 1fr));
  align-items: stretch;
  gap: 14px;
}

.service-overview-panel .stat-card.stat-card--stacked {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  height: 100%;
  min-height: 184px;
  padding: 20px;
  gap: 0;
}

.service-overview-panel .stat-card.stat-card--stacked > * {
  min-width: 0;
}

.service-overview-panel .stat-card.stat-card--stacked .stat-icon {
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  margin: 0 0 16px;
  border-radius: 16px;
  font-size: 1.05rem;
}

.service-overview-panel .stat-card.stat-card--stacked strong {
  display: block;
  width: auto;
  margin: 0 0 12px;
  color: var(--navy);
  font-size: clamp(1rem, 1.1vw, 1.14rem);
  line-height: 1.2;
  letter-spacing: 0;
  white-space: normal;
}

.service-overview-panel .stat-card.stat-card--stacked p {
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 0.9rem;
  font-weight: 750;
  line-height: 1.38;
}

.service-overview-panel .stat-card.stat-card--stacked small {
  display: block;
  margin-top: auto;
  color: var(--muted);
  font-size: 0.8rem;
  line-height: 1.35;
}

@media (max-width: 980px) {
  .service-overview-panel .stat-grid {
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  }
}

@media (max-width: 620px) {
  .service-overview-panel .stat-grid {
    grid-template-columns: 1fr;
  }

  .service-overview-panel .stat-card.stat-card--stacked {
    min-height: auto;
    padding: 18px;
  }
}


/* Keep the three service highlight cards visually even, including narrow viewports. */
.service-overview-panel .stat-card.stat-card--stacked {
  min-height: 238px;
}

@media (max-width: 620px) {
  .service-overview-panel .stat-card.stat-card--stacked {
    min-height: 238px;
  }
}


/* Ransomware service page: target dashboard layout */
.rr-service-body {
  background:
    radial-gradient(circle at 78% 6%, rgba(224, 214, 255, 0.76), transparent 28%),
    radial-gradient(circle at 17% 12%, rgba(218, 240, 255, 0.86), transparent 30%),
    linear-gradient(135deg, #f8fcff 0%, #f3f8ff 48%, #f4efff 100%);
  color: var(--navy);
}

.rr-service-page {
  min-height: 100vh;
  overflow-x: hidden;
}

.rr-service-page .shell {
  width: min(100% - 40px, 1210px);
}

.rr-hero {
  padding: 14px 0 0;
}

.rr-language-row {
  display: flex;
  justify-content: flex-end;
  min-height: 28px;
}

.rr-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.98fr) minmax(360px, 0.72fr);
  gap: clamp(24px, 5vw, 78px);
  align-items: center;
  padding: 16px 0 18px;
}

.rr-hero-copy {
  max-width: 665px;
}

.rr-back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  color: #514bd3;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
}

.rr-back-link::before {
  content: "‹";
  font-size: 1.45rem;
  line-height: 0;
}

.rr-eyebrow {
  margin: 0 0 8px;
  color: #5d5ac9;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

.rr-hero h1 {
  max-width: 680px;
  margin: 0;
  color: #111934;
  font-size: clamp(3.65rem, 6.1vw, 5.95rem);
  line-height: 0.93;
  letter-spacing: -0.045em;
}

.rr-hero-subtitle {
  max-width: 650px;
  margin: 16px 0 0;
  color: #5c6880;
  font-size: clamp(1rem, 1.25vw, 1.18rem);
  line-height: 1.45;
}

.rr-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}

.rr-actions .button {
  min-height: 46px;
  padding: 0 24px;
  border-radius: 999px;
  font-size: 0.95rem;
  box-shadow: 0 14px 28px rgba(74, 99, 224, 0.18);
}

.rr-actions .button--secondary {
  color: #4c48bd;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(104, 99, 220, 0.26);
  box-shadow: none;
}

.rr-hero-art {
  position: relative;
  justify-self: end;
  width: min(100%, 430px);
  filter: drop-shadow(0 28px 34px rgba(71, 83, 182, 0.18));
}

.rr-hero-art::before {
  content: "";
  position: absolute;
  inset: 7% -8% auto auto;
  width: 78%;
  aspect-ratio: 1;
  border-radius: 40px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.82), rgba(219, 234, 255, 0.34));
  transform: rotate(2deg);
  z-index: 0;
}

.rr-hero-art img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
}

.rr-dashboard {
  display: grid;
  gap: 12px;
  padding-bottom: 20px;
}

.rr-context-card,
.rr-stat-card,
.rr-panel,
.rr-report-card {
  border: 1px solid rgba(129, 145, 181, 0.2);
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 20px 46px rgba(86, 101, 150, 0.11);
  backdrop-filter: blur(14px);
}

.rr-context-card {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(330px, 0.9fr);
  align-items: center;
  gap: 26px;
  min-height: 108px;
  padding: 20px 28px;
  border-radius: 18px;
}

.rr-context-left,
.rr-context-right {
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
}

.rr-context-right {
  min-height: 66px;
  padding-left: 34px;
  border-left: 1px solid rgba(129, 145, 181, 0.26);
}

.rr-icon {
  display: inline-grid;
  flex: 0 0 auto;
  width: 54px;
  height: 54px;
  place-items: center;
  border-radius: 999px;
  color: #5b56ca;
  background: linear-gradient(135deg, #eff7ff, #eee8ff);
  font-weight: 950;
  font-size: 1.35rem;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.72);
}

.rr-icon--shield,
.rr-icon--report {
  font-size: 1rem;
}

.rr-context-card h2 {
  margin: 0 0 6px;
  color: #111934;
  font-size: clamp(1.28rem, 2vw, 1.78rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
}

.rr-context-card p {
  margin: 0;
  color: #5c6880;
  font-size: 0.96rem;
  line-height: 1.45;
}

.rr-context-right p {
  color: #18213b;
  font-weight: 850;
}

.rr-stat-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.rr-stat-card {
  display: flex;
  align-items: center;
  gap: 20px;
  min-height: 132px;
  padding: 22px 24px;
  border-radius: 18px;
}

.rr-stat-icon {
  display: inline-grid;
  flex: 0 0 66px;
  width: 66px;
  height: 66px;
  place-items: center;
  border-radius: 16px;
  color: #5a56ca;
  background: linear-gradient(135deg, #e8f6ff, #eee6ff);
  font-size: 1.6rem;
  font-weight: 950;
}

.rr-stat-copy {
  min-width: 0;
}

.rr-stat-copy strong {
  display: block;
  margin-bottom: 7px;
  color: #111934;
  font-size: clamp(2.35rem, 3.7vw, 3.25rem);
  line-height: 0.95;
  letter-spacing: -0.04em;
  white-space: nowrap;
}

.rr-stat-copy p {
  max-width: 240px;
  margin: 0;
  color: #5c6880;
  font-size: 0.94rem;
  line-height: 1.32;
}

.rr-work-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1fr);
  gap: 12px;
}

.rr-panel {
  border-radius: 18px;
  padding: 20px 22px 22px;
}

.rr-panel h2,
.rr-report-card h2 {
  margin: 0;
  color: #111934;
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  line-height: 1.08;
  letter-spacing: -0.025em;
}

.rr-value-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}

.rr-value-grid article {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 166px;
  padding: 16px 12px 14px;
  text-align: center;
  border: 1px solid rgba(129, 145, 181, 0.18);
  border-radius: 14px;
  background: linear-gradient(155deg, rgba(255, 255, 255, 0.92), rgba(247, 249, 255, 0.72));
}

.rr-value-icon,
.rr-step-icon {
  display: inline-grid;
  width: 48px;
  height: 48px;
  margin-bottom: 12px;
  place-items: center;
  border-radius: 999px;
  color: #5a56ca;
  background: linear-gradient(135deg, #eff8ff, #eee8ff);
  font-size: 1.35rem;
  font-weight: 950;
}

.rr-value-grid h3,
.rr-process-grid h3 {
  margin: 0 0 8px;
  color: #111934;
  font-size: 0.86rem;
  line-height: 1.18;
  letter-spacing: -0.01em;
}

.rr-value-grid p,
.rr-process-grid p {
  margin: 0;
  color: #5c6880;
  font-size: 0.78rem;
  line-height: 1.38;
}

.rr-panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.rr-panel-heading span {
  display: inline-flex;
  flex: 0 0 auto;
  padding: 6px 12px;
  border-radius: 999px;
  color: #5a56ca;
  background: rgba(237, 232, 255, 0.84);
  font-size: 0.74rem;
  font-weight: 850;
}

.rr-process-panel {
  position: relative;
  overflow: hidden;
}

.rr-process-line {
  position: absolute;
  top: 82px;
  left: 92px;
  right: 92px;
  border-top: 2px dashed rgba(104, 99, 220, 0.24);
}

.rr-process-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.rr-process-grid article {
  text-align: center;
}

.rr-step-number {
  display: inline-grid;
  width: 28px;
  height: 28px;
  margin-bottom: 12px;
  place-items: center;
  border-radius: 999px;
  color: white;
  background: linear-gradient(135deg, #6757dc, #4aa6f4);
  font-size: 0.82rem;
  font-weight: 950;
  box-shadow: 0 8px 18px rgba(76, 94, 218, 0.26);
}

.rr-step-icon {
  display: grid;
  margin: 0 auto 10px;
}

.rr-report-card {
  display: grid;
  grid-template-columns: minmax(290px, 0.8fr) minmax(0, 1.8fr);
  gap: 22px;
  align-items: center;
  padding: 18px 20px;
  border-radius: 16px;
}

.rr-report-intro {
  display: flex;
  align-items: center;
  gap: 18px;
}

.rr-report-intro p {
  margin: 7px 0 0;
  color: #5c6880;
  font-size: 0.94rem;
  line-height: 1.35;
}

.rr-report-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(180px, 0.9fr);
  gap: 10px;
  align-items: end;
}

.rr-report-form label {
  display: grid;
  gap: 6px;
  color: #35405a;
  font-size: 0.76rem;
  font-weight: 850;
}

.rr-report-form input,
.rr-report-form select {
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid rgba(129, 145, 181, 0.28);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
  color: var(--ink);
  font: inherit;
  font-size: 0.86rem;
}

.rr-report-form .button {
  min-height: 43px;
  border-radius: 8px;
  white-space: nowrap;
}

.rr-report-form .privacy-note {
  grid-column: 1 / -1;
  margin: 0;
  color: #6a7289;
  font-size: 0.78rem;
}

.rr-report-form .form-note {
  grid-column: 1 / -1;
  min-height: 0;
  margin: 0;
}

.rr-footer {
  padding-top: 8px;
}

@media (max-width: 1180px) {
  .rr-work-grid,
  .rr-report-card {
    grid-template-columns: 1fr;
  }

  .rr-report-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rr-report-form .button {
    grid-column: 1 / -1;
  }
}

@media (max-width: 980px) {
  .rr-hero-grid,
  .rr-context-card,
  .rr-stat-row {
    grid-template-columns: 1fr;
  }

  .rr-hero-art {
    justify-self: center;
    width: min(100%, 360px);
  }

  .rr-context-right {
    padding-left: 0;
    border-left: 0;
  }

  .rr-value-grid,
  .rr-process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rr-process-line {
    display: none;
  }
}

@media (max-width: 640px) {
  .rr-service-page .shell {
    width: min(100% - 28px, 1210px);
  }

  .rr-hero h1 {
    font-size: clamp(2.7rem, 14vw, 4rem);
  }

  .rr-actions,
  .rr-report-form {
    grid-template-columns: 1fr;
  }

  .rr-actions .button {
    width: 100%;
  }

  .rr-context-card,
  .rr-stat-card,
  .rr-panel,
  .rr-report-card {
    border-radius: 16px;
  }

  .rr-stat-card {
    padding: 18px;
  }

  .rr-stat-copy strong {
    font-size: 2.6rem;
  }

  .rr-value-grid,
  .rr-process-grid {
    grid-template-columns: 1fr;
  }

  .rr-value-grid article {
    min-height: auto;
  }
}


/* Backup & Recovery service page: target reference layout */
.br-service-body {
  background:
    radial-gradient(circle at 81% 8%, rgba(224, 214, 255, 0.78), transparent 30%),
    radial-gradient(circle at 16% 13%, rgba(218, 240, 255, 0.9), transparent 30%),
    linear-gradient(135deg, #f8fcff 0%, #f4f9ff 48%, #f4efff 100%);
  color: var(--navy);
}

.br-service-page {
  min-height: 100vh;
  overflow-x: hidden;
}

.br-service-page .shell {
  width: min(100% - 40px, 1210px);
}

.br-hero {
  padding: 14px 0 0;
}

.br-language-row {
  display: flex;
  justify-content: flex-end;
  min-height: 26px;
}

.br-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(390px, 0.72fr);
  gap: clamp(24px, 5vw, 78px);
  align-items: center;
  padding: 14px 0 18px;
}

.br-hero-copy {
  max-width: 710px;
}

.br-back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  color: #4c48bd;
  font-size: 0.84rem;
  font-weight: 900;
  text-decoration: none;
}

.br-back-link::before {
  content: "←";
  font-size: 1.1rem;
}

.br-eyebrow {
  margin: 0 0 10px;
  color: #5d55d9;
  font-size: 0.8rem;
  font-weight: 950;
  letter-spacing: 0.095em;
  text-transform: uppercase;
}

.br-hero h1 {
  max-width: 780px;
  margin: 0;
  color: #101832;
  font-size: clamp(3.2rem, 5.45vw, 5.35rem);
  line-height: 0.96;
  letter-spacing: -0.05em;
}

.br-hero-subtitle {
  max-width: 650px;
  margin: 18px 0 0;
  color: #58667f;
  font-size: clamp(1rem, 1.22vw, 1.15rem);
  line-height: 1.48;
}

.br-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}

.br-actions .button {
  min-height: 48px;
  padding: 0 24px;
  border-radius: 9px;
  font-size: 0.95rem;
  box-shadow: 0 14px 28px rgba(74, 99, 224, 0.18);
}

.br-actions .button--secondary {
  color: #2d2d86;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(104, 99, 220, 0.22);
  box-shadow: 0 10px 22px rgba(86, 101, 150, 0.08);
}

.br-hero-art {
  position: relative;
  justify-self: end;
  width: min(100%, 480px);
  filter: drop-shadow(0 28px 34px rgba(71, 83, 182, 0.2));
}

.br-hero-art::before {
  content: "";
  position: absolute;
  inset: 3% -7% auto auto;
  width: 82%;
  aspect-ratio: 1.45;
  border-radius: 34px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.86), rgba(220, 235, 255, 0.42));
  transform: rotate(1deg);
  z-index: 0;
}

.br-hero-art img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
}

.br-dashboard {
  display: grid;
  gap: 12px;
  padding-bottom: 20px;
}

.br-insight-card,
.br-practical-card,
.br-panel,
.br-report-card {
  border: 1px solid rgba(129, 145, 181, 0.2);
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 20px 46px rgba(86, 101, 150, 0.11);
  backdrop-filter: blur(14px);
}

.br-insight-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(390px, 0.96fr);
  align-items: center;
  gap: 30px;
  min-height: 126px;
  padding: 24px 32px;
  border-radius: 16px;
}

.br-insight-side {
  display: flex;
  align-items: center;
  gap: 22px;
  min-width: 0;
}

.br-insight-side--question {
  min-height: 72px;
  padding-left: 34px;
  border-left: 1px solid rgba(129, 145, 181, 0.28);
}

.br-icon {
  display: inline-grid;
  flex: 0 0 auto;
  width: 70px;
  height: 70px;
  place-items: center;
  border-radius: 999px;
  color: #5b56ca;
  background: linear-gradient(135deg, #eef8ff, #eee8ff);
  font-weight: 950;
  font-size: 1.55rem;
  box-shadow: 0 14px 28px rgba(86, 101, 150, 0.12), inset 0 0 0 1px rgba(255,255,255,.8);
}

.br-insight-card h2 {
  max-width: 470px;
  margin: 0 0 8px;
  color: #101832;
  font-size: clamp(1.32rem, 2.1vw, 1.85rem);
  line-height: 1.08;
  letter-spacing: -0.025em;
}

.br-insight-card p {
  margin: 0;
  color: #5c6880;
  font-size: 0.95rem;
  line-height: 1.42;
}

.br-insight-side--question p {
  color: #121a35;
  font-size: clamp(1.1rem, 1.7vw, 1.55rem);
  font-weight: 900;
  line-height: 1.16;
  letter-spacing: -0.025em;
}

.br-practical-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.br-practical-card {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  grid-template-areas:
    "icon title"
    "icon question"
    "divider divider"
    "support support";
  align-items: start;
  min-height: 158px;
  padding: 20px;
  border-radius: 16px;
}

.br-practical-icon {
  grid-area: icon;
  display: inline-grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 14px;
  color: #5a56ca;
  background: linear-gradient(135deg, #eaf7ff, #eee6ff);
  font-size: 1.55rem;
  font-weight: 950;
}

.br-practical-card h3 {
  grid-area: title;
  margin: 0 0 8px;
  color: #101832;
  font-size: 1rem;
  line-height: 1.15;
  letter-spacing: -0.01em;
}

.br-practical-question {
  grid-area: question;
  margin: 0;
  color: #111a34;
  font-size: 0.93rem;
  font-weight: 850;
  line-height: 1.35;
}

.br-card-divider {
  grid-area: divider;
  height: 1px;
  margin: 18px 0 14px;
  background: rgba(129, 145, 181, 0.25);
}

.br-support-line {
  grid-area: support;
  display: flex;
  gap: 7px;
  margin: 0;
  color: #5c6880;
  font-size: 0.88rem;
  line-height: 1.35;
}

.br-support-line span {
  color: #5a56ca;
  font-weight: 900;
}

.br-work-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.1fr);
  gap: 12px;
}

.br-panel {
  border-radius: 16px;
  padding: 20px 18px 18px;
}

.br-panel h2,
.br-report-card h2 {
  margin: 0;
  color: #101832;
  font-size: clamp(1.25rem, 1.85vw, 1.55rem);
  line-height: 1.1;
  letter-spacing: -0.025em;
}

.br-value-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 15px;
}

.br-value-grid article {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 74px;
  padding: 12px;
  border: 1px solid rgba(129, 145, 181, 0.18);
  border-radius: 10px;
  background: linear-gradient(155deg, rgba(255, 255, 255, 0.94), rgba(247, 249, 255, 0.74));
}

.br-value-icon,
.br-step-icon {
  display: inline-grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 12px;
  color: #4d72d9;
  background: linear-gradient(135deg, #eff8ff, #eee8ff);
  font-size: 1.15rem;
  font-weight: 950;
}

.br-value-grid h3,
.br-process-grid h3 {
  margin: 0 0 5px;
  color: #101832;
  font-size: 0.84rem;
  line-height: 1.15;
  letter-spacing: -0.01em;
}

.br-value-grid p,
.br-process-grid p {
  margin: 0;
  color: #5c6880;
  font-size: 0.76rem;
  line-height: 1.32;
}

.br-process-panel {
  position: relative;
  overflow: hidden;
}

.br-process-line {
  position: absolute;
  top: 64px;
  left: 86px;
  right: 86px;
  border-top: 2px dashed rgba(104, 99, 220, 0.25);
}

.br-process-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.br-process-grid article {
  text-align: center;
}

.br-step-number {
  display: inline-grid;
  width: 28px;
  height: 28px;
  margin-bottom: 12px;
  place-items: center;
  border-radius: 999px;
  color: white;
  background: linear-gradient(135deg, #6757dc, #4aa6f4);
  font-size: 0.82rem;
  font-weight: 950;
  box-shadow: 0 8px 18px rgba(76, 94, 218, 0.26);
}

.br-step-icon {
  display: grid;
  margin: 0 auto 10px;
}

.br-report-card {
  display: grid;
  grid-template-columns: 150px minmax(260px, 0.86fr) minmax(0, 1.3fr);
  gap: 22px;
  align-items: center;
  padding: 18px 20px;
  border-radius: 16px;
}

.br-report-visual {
  display: grid;
  place-items: center;
}

.br-clipboard {
  display: grid;
  width: 110px;
  height: 110px;
  place-items: center;
  border-radius: 24px;
  color: #5a56ca;
  background: linear-gradient(145deg, #edf8ff, #eee7ff);
  font-size: 3rem;
  box-shadow: 0 16px 26px rgba(86, 101, 150, 0.14), inset 0 0 0 1px rgba(255,255,255,.8);
}

.br-report-intro p {
  margin: 9px 0 14px;
  color: #5c6880;
  font-size: 0.92rem;
  line-height: 1.4;
}

.br-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.br-badge-row span {
  display: inline-flex;
  align-items: center;
  padding: 6px 9px;
  border-radius: 999px;
  color: #4c48bd;
  background: rgba(238, 232, 255, 0.7);
  font-size: 0.68rem;
  font-weight: 850;
}

.br-report-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) minmax(190px, 0.9fr);
  gap: 10px;
  align-items: end;
}

.br-report-form label {
  display: grid;
  gap: 6px;
  color: #35405a;
  font-size: 0.76rem;
  font-weight: 850;
}

.br-report-form input,
.br-report-form select {
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid rgba(129, 145, 181, 0.28);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.84);
  color: var(--ink);
  font: inherit;
  font-size: 0.86rem;
}

.br-report-form .button {
  grid-row: span 2;
  min-height: 46px;
  border-radius: 9px;
  white-space: nowrap;
}

.br-report-form .privacy-note {
  grid-column: 1 / -1;
  margin: 0;
  color: #6a7289;
  font-size: 0.78rem;
  text-align: right;
}

.br-report-form .form-note {
  grid-column: 1 / -1;
  min-height: 0;
  margin: 0;
}

.br-footer {
  padding-top: 8px;
}

@media (max-width: 1180px) {
  .br-work-grid,
  .br-report-card {
    grid-template-columns: 1fr;
  }

  .br-report-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .br-report-form .button {
    grid-row: auto;
    grid-column: 1 / -1;
  }

  .br-report-form .privacy-note {
    text-align: left;
  }
}

@media (max-width: 980px) {
  .br-hero-grid,
  .br-insight-card,
  .br-practical-row {
    grid-template-columns: 1fr;
  }

  .br-hero-art {
    justify-self: center;
    width: min(100%, 380px);
  }

  .br-insight-side--question {
    padding-left: 0;
    border-left: 0;
  }

  .br-process-line {
    display: none;
  }

  .br-process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .br-service-page .shell {
    width: min(100% - 28px, 1210px);
  }

  .br-hero h1 {
    font-size: clamp(2.55rem, 13vw, 3.75rem);
  }

  .br-actions .button {
    width: 100%;
  }

  .br-insight-card,
  .br-practical-card,
  .br-panel,
  .br-report-card {
    border-radius: 16px;
  }

  .br-insight-side,
  .br-practical-card {
    grid-template-columns: 1fr;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .br-value-grid,
  .br-process-grid,
  .br-report-form {
    grid-template-columns: 1fr;
  }

  .br-report-visual {
    justify-content: start;
  }
}

/* Equalize Backup service practical cards across languages. */
.br-practical-row {
  align-items: stretch;
}

.br-practical-card {
  height: 100%;
}

/* Keep Backup practical cards visually even when Spanish copy wraps. */
.br-practical-card {
  min-height: 260px;
}


/* Account Security service page: target reference layout */
.as-service-body {
  background:
    radial-gradient(circle at 79% 8%, rgba(224, 214, 255, 0.78), transparent 30%),
    radial-gradient(circle at 16% 11%, rgba(218, 240, 255, 0.9), transparent 30%),
    linear-gradient(135deg, #f8fcff 0%, #f5f9ff 48%, #f4efff 100%);
  color: var(--navy);
}

.as-service-page {
  min-height: 100vh;
  overflow-x: hidden;
}

.as-service-page .shell {
  width: min(100% - 40px, 1210px);
}

.as-hero {
  padding: 14px 0 0;
}

.as-language-row {
  display: flex;
  justify-content: flex-end;
  min-height: 26px;
}

.as-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(390px, 0.75fr);
  gap: clamp(28px, 6vw, 88px);
  align-items: center;
  padding: 14px 0 20px;
}

.as-hero-copy {
  max-width: 660px;
}

.as-back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 28px;
  color: #4c48bd;
  font-size: 0.84rem;
  font-weight: 900;
  text-decoration: none;
}

.as-back-link::before {
  content: "←";
  font-size: 1.1rem;
}

.as-eyebrow {
  margin: 0 0 18px;
  color: #4e49e0;
  font-size: 0.88rem;
  font-weight: 950;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.as-hero h1 {
  max-width: 680px;
  margin: 0;
  color: #101832;
  font-size: clamp(3.55rem, 5.5vw, 5.15rem);
  line-height: 0.98;
  letter-spacing: -0.05em;
}

.as-hero-subtitle {
  max-width: 610px;
  margin: 18px 0 0;
  color: #565d8d;
  font-size: clamp(1.08rem, 1.45vw, 1.32rem);
  line-height: 1.5;
}

.as-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 28px;
}

.as-actions .button {
  min-height: 52px;
  padding: 0 26px;
  border-radius: 9px;
  font-size: 0.98rem;
  box-shadow: 0 16px 30px rgba(74, 99, 224, 0.2);
}

.as-actions .button--secondary {
  color: #3530b8;
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid rgba(104, 99, 220, 0.25);
  box-shadow: none;
}

.as-hero-art {
  position: relative;
  justify-self: end;
  width: min(100%, 500px);
  filter: drop-shadow(0 30px 34px rgba(71, 83, 182, 0.19));
}

.as-hero-art::before {
  content: "";
  position: absolute;
  inset: -2% -8% auto auto;
  width: 86%;
  aspect-ratio: 1.35;
  border-radius: 40px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.86), rgba(220, 235, 255, 0.4));
  z-index: 0;
}

.as-hero-art img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
}

.as-dashboard {
  display: grid;
  gap: 12px;
  padding-bottom: 20px;
}

.as-insight-card,
.as-practical-card,
.as-process-panel,
.as-report-card {
  border: 1px solid rgba(129, 145, 181, 0.2);
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 20px 46px rgba(86, 101, 150, 0.11);
  backdrop-filter: blur(14px);
}

.as-insight-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(390px, 0.95fr);
  align-items: center;
  gap: 30px;
  min-height: 132px;
  padding: 24px 30px;
  border-radius: 16px;
}

.as-insight-side {
  display: flex;
  align-items: center;
  gap: 22px;
  min-width: 0;
}

.as-insight-side--question {
  min-height: 76px;
  padding-left: 38px;
  border-left: 1px solid rgba(129, 145, 181, 0.28);
}

.as-icon {
  display: inline-grid;
  flex: 0 0 auto;
  width: 70px;
  height: 70px;
  place-items: center;
  border-radius: 999px;
  color: #5b56ca;
  background: linear-gradient(135deg, #eef8ff, #eee8ff);
  font-weight: 950;
  font-size: 1.55rem;
  box-shadow: 0 14px 28px rgba(86, 101, 150, 0.12), inset 0 0 0 1px rgba(255,255,255,.8);
}

.as-insight-card h2 {
  margin: 0 0 9px;
  color: #101832;
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.as-insight-card p {
  margin: 0;
  color: #585f8c;
  font-size: 0.97rem;
  line-height: 1.45;
}

.as-insight-side--question p {
  color: #101832;
  font-size: clamp(1.12rem, 1.7vw, 1.52rem);
  font-weight: 900;
  line-height: 1.24;
  letter-spacing: -0.025em;
}

.as-practical-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 12px;
}

.as-practical-card {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  min-height: 140px;
  padding: 22px;
  border-radius: 16px;
}

.as-practical-icon {
  display: inline-grid;
  width: 62px;
  height: 62px;
  place-items: center;
  border-radius: 999px;
  color: #5a56ca;
  background: linear-gradient(135deg, #efeaff, #e9f8ff);
  font-size: 1.15rem;
  font-weight: 950;
}

.as-practical-icon--gold {
  color: #b58116;
  background: linear-gradient(135deg, #fff6db, #fff0c5);
}

.as-practical-card h3 {
  margin: 0 0 8px;
  color: #101832;
  font-size: 1.02rem;
  line-height: 1.15;
  letter-spacing: -0.01em;
}

.as-practical-question {
  margin: 0 0 8px;
  color: #111a34;
  font-size: 0.91rem;
  font-weight: 850;
  line-height: 1.35;
}

.as-support-line {
  margin: 0;
  color: #585f8c;
  font-size: 0.86rem;
  line-height: 1.35;
}

.as-process-panel {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  padding: 24px 36px 26px;
  text-align: center;
}

.as-process-panel h2 {
  margin: 0;
  color: #101832;
  font-size: clamp(1.32rem, 2vw, 1.75rem);
  line-height: 1.1;
  letter-spacing: -0.025em;
}

.as-process-line {
  position: absolute;
  top: 70px;
  left: 176px;
  right: 176px;
  border-top: 2px dashed rgba(104, 99, 220, 0.24);
}

.as-process-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
  margin-top: 12px;
}

.as-process-grid article {
  text-align: center;
}

.as-step-number {
  display: inline-grid;
  width: 28px;
  height: 28px;
  margin-bottom: 12px;
  place-items: center;
  border-radius: 999px;
  color: white;
  background: linear-gradient(135deg, #6757dc, #4aa6f4);
  font-size: 0.82rem;
  font-weight: 950;
  box-shadow: 0 8px 18px rgba(76, 94, 218, 0.26);
}

.as-step-icon {
  display: grid;
  width: 54px;
  height: 54px;
  margin: 0 auto 12px;
  place-items: center;
  border-radius: 999px;
  color: #4d72d9;
  background: linear-gradient(135deg, #eff8ff, #eee8ff);
  font-size: 1.25rem;
  font-weight: 950;
}

.as-process-grid h3 {
  margin: 0 0 8px;
  color: #101832;
  font-size: 0.86rem;
  line-height: 1.15;
  letter-spacing: -0.01em;
}

.as-process-grid p {
  max-width: 150px;
  margin: 0 auto;
  color: #5c6880;
  font-size: 0.77rem;
  line-height: 1.35;
}

.as-report-card {
  display: grid;
  grid-template-columns: minmax(310px, 0.72fr) minmax(0, 1.55fr);
  gap: 22px;
  align-items: center;
  padding: 18px;
  border-radius: 16px;
}

.as-report-intro {
  display: flex;
  align-items: center;
  gap: 16px;
}

.as-report-intro h2 {
  margin: 0;
  color: #101832;
  font-size: clamp(1.18rem, 1.8vw, 1.5rem);
  line-height: 1.1;
  letter-spacing: -0.025em;
}

.as-report-intro p {
  margin: 7px 0 0;
  color: #5c6880;
  font-size: 0.88rem;
  line-height: 1.35;
}

.as-report-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(190px, 0.86fr);
  gap: 10px;
  align-items: end;
}

.as-report-form label {
  position: relative;
  display: grid;
  gap: 0;
}

.as-report-form label span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.as-report-form input {
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid rgba(129, 145, 181, 0.28);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
  color: var(--ink);
  font: inherit;
  font-size: 0.86rem;
}

.as-report-form .button {
  min-height: 44px;
  border-radius: 8px;
  white-space: nowrap;
}

.as-report-form .privacy-note {
  grid-column: 1 / -1;
  margin: 0;
  color: #6a7289;
  font-size: 0.78rem;
}

.as-report-form .form-note {
  grid-column: 1 / -1;
  min-height: 0;
  margin: 0;
}

.as-footer {
  padding-top: 8px;
}

@media (max-width: 1180px) {
  .as-report-card {
    grid-template-columns: 1fr;
  }

  .as-report-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .as-report-form .button {
    grid-column: 1 / -1;
  }
}

@media (max-width: 980px) {
  .as-hero-grid,
  .as-insight-card,
  .as-practical-row {
    grid-template-columns: 1fr;
  }

  .as-hero-art {
    justify-self: center;
    width: min(100%, 390px);
  }

  .as-insight-side--question {
    padding-left: 0;
    border-left: 0;
  }

  .as-process-line {
    display: none;
  }

  .as-process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .as-service-page .shell {
    width: min(100% - 28px, 1210px);
  }

  .as-hero h1 {
    font-size: clamp(2.65rem, 13vw, 3.8rem);
  }

  .as-actions .button {
    width: 100%;
  }

  .as-insight-card,
  .as-practical-card,
  .as-process-panel,
  .as-report-card {
    border-radius: 16px;
  }

  .as-insight-side,
  .as-practical-card {
    grid-template-columns: 1fr;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .as-process-grid,
  .as-report-form {
    grid-template-columns: 1fr;
  }
}


/* Email & Phishing service page: target reference layout */
.ep-service-body {
  background:
    radial-gradient(circle at 78% 8%, rgba(196, 145, 255, 0.4), transparent 30%),
    radial-gradient(circle at 16% 12%, rgba(218, 240, 255, 0.9), transparent 30%),
    linear-gradient(135deg, #f8fcff 0%, #f4f9ff 48%, #f4efff 100%);
  color: var(--navy);
}
.ep-service-page { min-height: 100vh; overflow-x: hidden; }
.ep-service-page .shell { width: min(100% - 40px, 1210px); }
.ep-hero { padding: 14px 0 0; }
.ep-language-row { display: flex; justify-content: flex-end; min-height: 24px; }
.ep-hero-grid { display: grid; grid-template-columns: minmax(0, .86fr) minmax(440px, .9fr); gap: clamp(26px, 5vw, 72px); align-items: center; padding: 12px 0 20px; }
.ep-hero-copy { max-width: 620px; }
.ep-back-link { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 34px; color: #2146d9; font-size: .88rem; font-weight: 900; text-decoration: none; }
.ep-back-link::before { content: "↢"; font-size: 1.1rem; }
.ep-eyebrow { margin: 0 0 12px; color: #7032e7; font-size: .86rem; font-weight: 950; letter-spacing: .055em; text-transform: uppercase; }
.ep-hero h1 { max-width: 620px; margin: 0; color: #0d1533; font-size: clamp(3.25rem, 5.7vw, 5.15rem); line-height: .96; letter-spacing: -.052em; }
.ep-hero-subtitle { max-width: 560px; margin: 18px 0 0; color: #333c70; font-size: clamp(1.02rem, 1.28vw, 1.18rem); line-height: 1.52; }
.ep-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 28px; }
.ep-actions .button { min-height: 52px; padding: 0 26px; border-radius: 8px; font-size: .98rem; box-shadow: 0 16px 30px rgba(74, 99, 224, .2); }
.ep-actions .button--primary { background: linear-gradient(135deg, #9c00db, #0078ff); }
.ep-actions .button--secondary { color: #141a89; background: rgba(255,255,255,.78); border: 1px solid rgba(39, 59, 196, .35); box-shadow: none; }
.ep-hero-art { justify-self: end; width: min(100%, 560px); filter: drop-shadow(0 30px 34px rgba(71,83,182,.2)); }
.ep-hero-art img { display: block; width: 100%; }
.ep-dashboard { display: grid; gap: 12px; padding-bottom: 20px; }
.ep-insight-card,.ep-practical-card,.ep-report-card { border: 1px solid rgba(129,145,181,.2); background: rgba(255,255,255,.84); box-shadow: 0 20px 46px rgba(86,101,150,.12); backdrop-filter: blur(14px); }
.ep-insight-card { display: grid; grid-template-columns: minmax(0,1fr) minmax(390px,.95fr); align-items: center; gap: 30px; min-height: 140px; padding: 24px 34px; border-radius: 16px; }
.ep-insight-side { display: flex; align-items: center; gap: 24px; min-width: 0; }
.ep-insight-side--question { min-height: 78px; padding-left: 42px; border-left: 1px solid rgba(129,145,181,.28); }
.ep-icon { display: inline-grid; flex: 0 0 auto; width: 78px; height: 78px; place-items: center; border-radius: 999px; color: #7934dc; background: linear-gradient(135deg, #f4eaff, #edf8ff); font-size: 2rem; font-weight: 950; box-shadow: inset 0 0 0 1px rgba(255,255,255,.8); }
.ep-insight-card h2 { margin: 0 0 9px; color: #101832; font-size: clamp(1.3rem, 2vw, 1.65rem); line-height: 1.1; letter-spacing: -.02em; }
.ep-insight-card p { margin: 0; color: #373f74; font-size: .98rem; line-height: 1.46; }
.ep-insight-side--question p { color: #101832; font-size: clamp(1.25rem, 2vw, 1.8rem); font-weight: 900; line-height: 1.18; letter-spacing: -.03em; }
.ep-practical-row { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; align-items: stretch; }
.ep-practical-card { display: grid; grid-template-columns: 84px minmax(0,1fr); gap: 18px; align-items: center; min-height: 160px; padding: 22px; border-radius: 14px; }
.ep-practical-icon { display: inline-grid; width: 72px; height: 72px; place-items: center; border-radius: 999px; color: #7934dc; background: linear-gradient(135deg,#f4eaff,#edf8ff); font-size: 2rem; font-weight: 950; }
.ep-practical-icon--blue { color: #0f72df; background: linear-gradient(135deg,#e7f7ff,#eaf0ff); }
.ep-practical-icon--violet { color: #3a176d; background: linear-gradient(135deg,#f4e8ff,#efe7ff); }
.ep-practical-card h3 { margin: 0 0 8px; color: #101832; font-size: 1.08rem; line-height: 1.15; }
.ep-practical-question { margin: 0 0 12px; color: #111a34; font-size: .96rem; font-weight: 850; line-height: 1.34; }
.ep-support-line { margin: 14px 0 0; padding-top: 13px; border-top: 1px solid rgba(129,145,181,.25); color: #333c70; font-size: .88rem; line-height: 1.35; }
.ep-support-line span { color: #7134dd; font-weight: 900; }
.ep-report-card { display: grid; grid-template-columns: 180px minmax(300px,.76fr) minmax(0,1.3fr); gap: 22px; align-items: center; padding: 18px 24px; border-radius: 16px; }
.ep-report-visual { display: grid; place-items: center; }
.ep-report-graphic { display: grid; width: 132px; height: 132px; place-items: center; border-radius: 999px; color: #5a56ca; background: linear-gradient(145deg,#edf8ff,#eee7ff); font-size: 3.4rem; box-shadow: inset 0 0 0 1px rgba(255,255,255,.8); }
.ep-report-intro h2 { margin: 0; color: #101832; font-size: clamp(1.32rem,2vw,1.7rem); line-height: 1.1; letter-spacing: -.025em; }
.ep-report-intro p { margin: 9px 0 18px; color: #333c70; font-size: .96rem; line-height: 1.4; }
.ep-badge-row { display: flex; flex-wrap: wrap; gap: 12px; }
.ep-badge-row span { display: inline-flex; align-items: center; padding: 5px 8px; color: #1c2570; font-size: .72rem; font-weight: 850; }
.ep-badge-row span::before { content: "✓"; display: inline-grid; width: 22px; height: 22px; margin-right: 7px; place-items: center; border-radius: 999px; color: #7434e0; border: 2px solid #7434e0; font-size: .78rem; }
.ep-report-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; align-items: end; }
.ep-report-form label { position: relative; display: grid; }
.ep-report-form label span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.ep-report-form input,.ep-report-form select { width: 100%; min-height: 44px; padding: 0 14px; border: 1px solid rgba(129,145,181,.32); border-radius: 8px; background: rgba(255,255,255,.86); color: var(--ink); font: inherit; font-size: .9rem; }
.ep-report-form .button { grid-column: 1 / -1; min-height: 48px; border-radius: 8px; background: linear-gradient(135deg,#9c00db,#0078ff); }
.ep-report-form .privacy-note,.ep-report-form .form-note { grid-column: 1 / -1; margin: 0; text-align: center; color: #4f5878; font-size: .8rem; }
.ep-report-form .form-note { min-height: 0; }
.ep-footer { padding-top: 8px; }
@media (max-width:1180px){.ep-report-card{grid-template-columns:1fr}.ep-report-visual{justify-content:start}}
@media (max-width:980px){.ep-hero-grid,.ep-insight-card,.ep-practical-row{grid-template-columns:1fr}.ep-hero-art{justify-self:center;width:min(100%,430px)}.ep-insight-side--question{padding-left:0;border-left:0}}
@media (max-width:640px){.ep-service-page .shell{width:min(100% - 28px,1210px)}.ep-hero h1{font-size:clamp(2.7rem,13vw,3.8rem)}.ep-actions .button{width:100%}.ep-insight-card,.ep-practical-card,.ep-report-card{border-radius:16px}.ep-insight-side,.ep-practical-card{display:flex;flex-direction:column;align-items:flex-start}.ep-report-form{grid-template-columns:1fr}}

/* Incident Response service page: target reference layout */
.ir-service-body{background:radial-gradient(circle at 78% 8%,rgba(196,145,255,.38),transparent 30%),radial-gradient(circle at 16% 12%,rgba(218,240,255,.9),transparent 30%),linear-gradient(135deg,#f8fcff 0%,#f4f9ff 48%,#f4efff 100%);color:var(--navy)}
.ir-service-page{min-height:100vh;overflow-x:hidden}.ir-service-page .shell{width:min(100% - 40px,1210px)}.ir-hero{padding:14px 0 0}.ir-language-row{display:flex;justify-content:flex-end;min-height:24px}.ir-hero-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(440px,.88fr);gap:clamp(26px,5vw,72px);align-items:center;padding:12px 0 20px}.ir-hero-copy{max-width:620px}.ir-back-link{display:inline-flex;align-items:center;gap:8px;margin-bottom:30px;color:#064de4;font-size:.88rem;font-weight:900;text-decoration:none}.ir-back-link:before{content:"←";font-size:1.2rem}.ir-eyebrow{margin:0 0 12px;color:#065bf3;font-size:.86rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.ir-hero h1{max-width:650px;margin:0;color:#09133a;font-size:clamp(3.4rem,5.8vw,5.25rem);line-height:.96;letter-spacing:-.052em}.ir-hero-subtitle{max-width:585px;margin:18px 0 0;color:#1d2852;font-size:clamp(1.03rem,1.3vw,1.18rem);line-height:1.5}.ir-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px}.ir-actions .button{min-height:52px;padding:0 26px;border-radius:8px;font-size:.98rem;box-shadow:0 16px 30px rgba(74,99,224,.2)}.ir-actions .button--primary{background:linear-gradient(135deg,#9632f1,#006eff)}.ir-actions .button--secondary{color:#0440ca;background:rgba(255,255,255,.78);border:1px solid rgba(14,89,240,.45);box-shadow:none}.ir-hero-art{justify-self:end;width:min(100%,560px);filter:drop-shadow(0 30px 34px rgba(71,83,182,.2))}.ir-hero-art img{display:block;width:100%}.ir-dashboard{display:grid;gap:12px;padding-bottom:20px}.ir-insight-card,.ir-practical-card,.ir-report-card{border:1px solid rgba(129,145,181,.22);background:rgba(255,255,255,.84);box-shadow:0 20px 46px rgba(86,101,150,.12);backdrop-filter:blur(14px)}.ir-insight-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.95fr);align-items:center;gap:30px;min-height:124px;padding:22px 34px;border-radius:12px}.ir-insight-side{display:flex;align-items:center;gap:24px;min-width:0}.ir-insight-side--question{min-height:76px;padding-left:42px;border-left:1px solid rgba(129,145,181,.28)}.ir-icon{display:inline-grid;flex:0 0 auto;width:78px;height:78px;place-items:center;border-radius:999px;color:#174ee5;background:linear-gradient(135deg,#eff8ff,#eee8ff);font-size:2rem;font-weight:950;box-shadow:inset 0 0 0 6px rgba(255,255,255,.75)}.ir-icon--team{color:#7c38dc}.ir-insight-card h2{margin:0 0 9px;color:#101832;font-size:clamp(1.3rem,2vw,1.62rem);line-height:1.1;letter-spacing:-.02em}.ir-insight-card p{margin:0;color:#27305f;font-size:.98rem;line-height:1.42}.ir-insight-side--question p{color:#101832;font-size:clamp(1.22rem,2vw,1.72rem);font-weight:900;line-height:1.18;letter-spacing:-.03em}.ir-practical-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}.ir-practical-card{display:grid;grid-template-columns:78px minmax(0,1fr);gap:18px;align-items:center;min-height:156px;padding:22px;border-radius:10px}.ir-practical-icon{display:inline-grid;width:64px;height:64px;place-items:center;border-radius:999px;color:#075eff;background:linear-gradient(135deg,#e7f6ff,#eaf0ff);font-size:2rem;font-weight:950}.ir-practical-icon--violet{color:#7434de;background:linear-gradient(135deg,#f4eaff,#efe7ff)}.ir-practical-icon--blue{color:#0765d9;background:linear-gradient(135deg,#e7f7ff,#eef4ff)}.ir-practical-card h3{margin:0 0 8px;color:#101832;font-size:1.05rem;line-height:1.15}.ir-practical-question{margin:0 0 12px;color:#111a34;font-size:.95rem;font-weight:850;line-height:1.34}.ir-support-line{margin:14px 0 0;padding-top:13px;border-top:1px solid rgba(129,145,181,.25);color:#28315f;font-size:.86rem;line-height:1.35}.ir-support-line span{color:#075eff;font-weight:900}.ir-report-card{display:grid;grid-template-columns:210px minmax(300px,.78fr) minmax(0,1.25fr);gap:24px;align-items:center;padding:18px 24px;border-radius:10px}.ir-report-visual{display:grid;place-items:center}.ir-report-graphic{display:grid;width:150px;height:150px;place-items:center;border-radius:24px;color:#075eff;background:linear-gradient(145deg,#edf8ff,#eee7ff);font-size:4rem;box-shadow:inset 0 0 0 1px rgba(255,255,255,.8)}.ir-report-intro h2{margin:0;color:#101832;font-size:clamp(1.35rem,2.1vw,1.9rem);line-height:1.08;letter-spacing:-.025em}.ir-report-intro p{margin:10px 0 18px;color:#28315f;font-size:.95rem;line-height:1.38}.ir-badge-row{display:flex;flex-wrap:wrap;gap:18px}.ir-badge-row span{display:inline-flex;align-items:center;color:#111a34;font-size:.74rem;font-weight:850}.ir-badge-row span:before{content:"◇";display:inline-grid;width:38px;height:38px;margin-right:8px;place-items:center;border-radius:999px;color:#07955f;background:#dff8ec;font-size:1.1rem}.ir-report-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}.ir-report-form label{display:grid;gap:6px;color:#111a34;font-size:.78rem;font-weight:850}.ir-report-form label span{display:block}.ir-report-form input,.ir-report-form select{width:100%;min-height:44px;padding:0 14px;border:1px solid rgba(129,145,181,.32);border-radius:8px;background:rgba(255,255,255,.86);color:var(--ink);font:inherit;font-size:.9rem}.ir-report-form .button{grid-column:1 / -1;min-height:48px;border-radius:8px;background:linear-gradient(135deg,#9632f1,#006eff)}.ir-report-form .privacy-note,.ir-report-form .form-note{grid-column:1 / -1;margin:0;text-align:center;color:#4f5878;font-size:.8rem}.ir-report-form .form-note{min-height:0}.ir-footer{padding-top:8px}@media(max-width:1180px){.ir-report-card{grid-template-columns:1fr}.ir-report-visual{justify-content:start}}@media(max-width:980px){.ir-hero-grid,.ir-insight-card,.ir-practical-row{grid-template-columns:1fr}.ir-hero-art{justify-self:center;width:min(100%,430px)}.ir-insight-side--question{padding-left:0;border-left:0}}@media(max-width:640px){.ir-service-page .shell{width:min(100% - 28px,1210px)}.ir-hero h1{font-size:clamp(2.7rem,13vw,3.8rem)}.ir-actions .button{width:100%}.ir-insight-card,.ir-practical-card,.ir-report-card{border-radius:16px}.ir-insight-side,.ir-practical-card{display:flex;flex-direction:column;align-items:flex-start}.ir-report-form{grid-template-columns:1fr}}

/* Basic Technical Security service page: target reference layout */
.ts-service-body {
  background:
    radial-gradient(circle at 78% 8%, rgba(196, 145, 255, 0.36), transparent 30%),
    radial-gradient(circle at 16% 12%, rgba(218, 240, 255, 0.9), transparent 30%),
    linear-gradient(135deg, #f8fcff 0%, #f4f9ff 48%, #f4efff 100%);
  color: var(--navy);
}

.ts-service-page {
  min-height: 100vh;
  overflow-x: hidden;
}

.ts-service-page .shell {
  width: min(100% - 40px, 1210px);
}

.ts-hero {
  padding: 14px 0 0;
}

.ts-language-row {
  display: flex;
  justify-content: flex-end;
  min-height: 24px;
}

.ts-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(440px, 0.9fr);
  gap: clamp(26px, 5vw, 72px);
  align-items: center;
  padding: 12px 0 20px;
}

.ts-hero-copy {
  max-width: 640px;
}

.ts-back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 30px;
  color: #064de4;
  font-size: 0.88rem;
  font-weight: 900;
  text-decoration: none;
}

.ts-back-link::before {
  content: "←";
  font-size: 1.2rem;
}

.ts-eyebrow {
  margin: 0 0 12px;
  color: #7134e0;
  font-size: 0.86rem;
  font-weight: 950;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ts-hero h1 {
  max-width: 650px;
  margin: 0;
  color: #09133a;
  font-size: clamp(3.4rem, 5.8vw, 5.25rem);
  line-height: 0.96;
  letter-spacing: -0.052em;
}

.ts-hero-subtitle {
  max-width: 610px;
  margin: 18px 0 0;
  color: #13204a;
  font-size: clamp(1.03rem, 1.3vw, 1.18rem);
  line-height: 1.5;
}

.ts-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 28px;
}

.ts-actions .button {
  min-height: 52px;
  padding: 0 26px;
  border-radius: 8px;
  font-size: 0.98rem;
  box-shadow: 0 16px 30px rgba(74, 99, 224, 0.2);
}

.ts-actions .button--primary {
  background: linear-gradient(135deg, #9632f1, #006eff);
}

.ts-actions .button--secondary {
  color: #0440ca;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(14, 89, 240, 0.45);
  box-shadow: none;
}

.ts-hero-art {
  justify-self: end;
  width: min(100%, 585px);
  filter: drop-shadow(0 30px 34px rgba(71, 83, 182, 0.2));
}

.ts-hero-art img {
  display: block;
  width: 100%;
}

.ts-dashboard {
  display: grid;
  gap: 12px;
  padding-bottom: 20px;
}

.ts-insight-card,
.ts-practical-card,
.ts-panel,
.ts-report-card {
  border: 1px solid rgba(129, 145, 181, 0.22);
  background: rgba(255, 255, 255, 0.84);
  box-shadow: 0 20px 46px rgba(86, 101, 150, 0.12);
  backdrop-filter: blur(14px);
}

.ts-insight-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(390px, 0.95fr);
  align-items: center;
  gap: 30px;
  min-height: 124px;
  padding: 22px 34px;
  border-radius: 12px;
}

.ts-insight-side {
  display: flex;
  align-items: center;
  gap: 24px;
  min-width: 0;
}

.ts-insight-side--question {
  min-height: 76px;
  padding-left: 42px;
  border-left: 1px solid rgba(129, 145, 181, 0.28);
}

.ts-icon {
  display: inline-grid;
  flex: 0 0 auto;
  width: 78px;
  height: 78px;
  place-items: center;
  border-radius: 999px;
  color: #7134e0;
  background: linear-gradient(135deg, #eff8ff, #eee8ff);
  font-size: 2rem;
  font-weight: 950;
  box-shadow: inset 0 0 0 6px rgba(255, 255, 255, 0.75);
}

.ts-icon--team {
  color: #7434de;
}

.ts-insight-card h2 {
  margin: 0 0 9px;
  color: #101832;
  font-size: clamp(1.3rem, 2vw, 1.62rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.ts-insight-card p {
  margin: 0;
  color: #27305f;
  font-size: 0.98rem;
  line-height: 1.42;
}

.ts-insight-side--question p {
  color: #101832;
  font-size: clamp(1.22rem, 2vw, 1.72rem);
  font-weight: 900;
  line-height: 1.18;
  letter-spacing: -0.03em;
}

.ts-practical-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}

.ts-practical-card {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  min-height: 156px;
  padding: 22px;
  border-radius: 10px;
}

.ts-practical-icon {
  display: inline-grid;
  width: 64px;
  height: 64px;
  place-items: center;
  border-radius: 999px;
  color: #7134e0;
  background: linear-gradient(135deg, #f4eaff, #eef4ff);
  font-size: 2rem;
  font-weight: 950;
}

.ts-practical-icon--blue {
  color: #075eff;
  background: linear-gradient(135deg, #e7f7ff, #eef4ff);
}

.ts-practical-icon--violet {
  color: #6c36de;
  background: linear-gradient(135deg, #f4eaff, #efe7ff);
}

.ts-practical-card h3 {
  margin: 0 0 8px;
  color: #101832;
  font-size: 1.05rem;
  line-height: 1.15;
}

.ts-practical-question {
  margin: 0 0 12px;
  color: #111a34;
  font-size: 0.95rem;
  font-weight: 850;
  line-height: 1.34;
}

.ts-support-line {
  margin: 14px 0 0;
  padding-top: 13px;
  border-top: 1px solid rgba(129, 145, 181, 0.25);
  color: #28315f;
  font-size: 0.86rem;
  line-height: 1.35;
}

.ts-support-line span {
  color: #075eff;
  font-weight: 900;
}

.ts-work-grid {
  display: grid;
  grid-template-columns: minmax(0, 700px);
  justify-content: center;
  gap: 12px;
}

.ts-panel {
  border-radius: 10px;
  padding: 18px;
}

.ts-panel h2,
.ts-report-intro h2 {
  margin: 0;
  color: #101832;
  font-size: clamp(1.22rem, 1.8vw, 1.55rem);
  line-height: 1.1;
  letter-spacing: -0.025em;
}

.ts-value-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.ts-value-grid article {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 68px;
  padding: 10px;
  border: 1px solid rgba(129, 145, 181, 0.2);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.ts-value-grid article > span,
.ts-step-icon {
  display: inline-grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 12px;
  color: #075eff;
  background: linear-gradient(135deg, #e7f7ff, #efe7ff);
  font-size: 1.3rem;
  font-weight: 950;
}

.ts-value-grid h3,
.ts-process-grid h3 {
  margin: 0 0 5px;
  color: #101832;
  font-size: 0.82rem;
  line-height: 1.15;
}

.ts-value-grid p,
.ts-process-grid p {
  margin: 0;
  color: #28315f;
  font-size: 0.73rem;
  line-height: 1.28;
}

.ts-process-panel {
  text-align: center;
}

.ts-process-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.ts-process-grid article {
  position: relative;
}

.ts-process-grid article + article::before {
  content: "→";
  position: absolute;
  left: -12px;
  top: 42px;
  color: #8b93bd;
  font-size: 1.3rem;
}

.ts-step-number {
  display: inline-grid;
  width: 26px;
  height: 26px;
  margin-bottom: 8px;
  place-items: center;
  border-radius: 999px;
  color: white;
  background: linear-gradient(135deg, #6757dc, #4aa6f4);
  font-size: 0.78rem;
  font-weight: 950;
}

.ts-step-icon {
  margin: 0 auto 10px;
}

.ts-report-card {
  display: grid;
  grid-template-columns: 180px minmax(300px, 0.78fr) minmax(0, 1.25fr);
  gap: 24px;
  align-items: center;
  padding: 18px 24px;
  border-radius: 10px;
}

.ts-report-visual {
  display: grid;
  place-items: center;
}

.ts-report-graphic {
  display: grid;
  width: 132px;
  height: 132px;
  place-items: center;
  border-radius: 24px;
  color: #075eff;
  background: linear-gradient(145deg, #edf8ff, #eee7ff);
  font-size: 3.4rem;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.8);
}

.ts-report-intro p {
  margin: 10px 0 18px;
  color: #28315f;
  font-size: 0.95rem;
  line-height: 1.38;
}

.ts-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}

.ts-badge-row span {
  display: inline-flex;
  align-items: center;
  color: #111a34;
  font-size: 0.74rem;
  font-weight: 850;
}

.ts-badge-row span::before {
  content: "✓";
  display: inline-grid;
  width: 34px;
  height: 34px;
  margin-right: 8px;
  place-items: center;
  border-radius: 999px;
  color: #075eff;
  border: 2px solid #075eff;
  font-size: 1rem;
}

.ts-report-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
}

.ts-report-form label {
  display: grid;
  gap: 6px;
  color: #111a34;
  font-size: 0.78rem;
  font-weight: 850;
}

.ts-report-form input,
.ts-report-form select {
  width: 100%;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(129, 145, 181, 0.32);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
  color: var(--ink);
  font: inherit;
  font-size: 0.88rem;
}

.ts-report-form .button {
  grid-column: 1 / -1;
  min-height: 48px;
  border-radius: 8px;
  background: linear-gradient(135deg, #9632f1, #006eff);
}

.ts-report-form .privacy-note,
.ts-report-form .form-note {
  grid-column: 1 / -1;
  margin: 0;
  text-align: center;
  color: #4f5878;
  font-size: 0.8rem;
}

.ts-report-form .form-note {
  min-height: 0;
}

.ts-footer {
  padding-top: 8px;
}

@media (max-width: 1180px) {
  .ts-work-grid,
  .ts-report-card {
    grid-template-columns: 1fr;
  }

  .ts-report-visual {
    justify-content: start;
  }
}

@media (max-width: 980px) {
  .ts-hero-grid,
  .ts-insight-card,
  .ts-practical-row {
    grid-template-columns: 1fr;
  }

  .ts-hero-art {
    justify-self: center;
    width: min(100%, 430px);
  }

  .ts-insight-side--question {
    padding-left: 0;
    border-left: 0;
  }

  .ts-process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ts-process-grid article::before {
    display: none;
  }
}

@media (max-width: 640px) {
  .ts-service-page .shell {
    width: min(100% - 28px, 1210px);
  }

  .ts-hero h1 {
    font-size: clamp(2.7rem, 13vw, 3.8rem);
  }

  .ts-actions .button {
    width: 100%;
  }

  .ts-insight-card,
  .ts-practical-card,
  .ts-panel,
  .ts-report-card {
    border-radius: 16px;
  }

  .ts-insight-side,
  .ts-practical-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .ts-value-grid,
  .ts-process-grid,
  .ts-report-form {
    grid-template-columns: 1fr;
  }
}

/* Incident Response Mini-Plan: calmer reference layout */
.ir-service-body--calm {
  background:
    radial-gradient(circle at 80% 6%, rgba(198, 151, 255, 0.28), transparent 31%),
    radial-gradient(circle at 12% 8%, rgba(217, 241, 255, 0.95), transparent 30%),
    linear-gradient(135deg, #f8fcff 0%, #f5faff 50%, #f4efff 100%);
}

.ir-service-page--calm .shell {
  width: min(100% - 48px, 1240px);
}

.ir-service-page--calm .ir-hero {
  padding: 10px 0 0;
}

.ir-service-page--calm .ir-language-row {
  min-height: 18px;
}

.ir-service-page--calm .ir-hero-grid {
  grid-template-columns: minmax(0, 0.95fr) minmax(430px, 0.85fr);
  gap: clamp(34px, 7vw, 96px);
  padding: 10px 0 28px;
}

.ir-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 24px;
  padding: 9px 18px;
  border: 1px solid rgba(52, 125, 235, 0.24);
  border-radius: 999px;
  background: rgba(235, 247, 255, 0.72);
  color: #075eff;
  font-size: 0.92rem;
  font-weight: 900;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.72);
}

.ir-hero-badge span {
  display: inline-grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 999px;
  color: white;
  background: linear-gradient(135deg, #7751e8, #0077ff);
  font-size: 0.78rem;
}

.ir-service-page--calm .ir-hero h1 {
  max-width: 670px;
  font-size: clamp(4rem, 6.3vw, 5.9rem);
  line-height: 0.98;
  letter-spacing: -0.056em;
}

.ir-service-page--calm .ir-hero-subtitle {
  max-width: 610px;
  margin-top: 20px;
  color: #14204b;
  font-size: clamp(1.1rem, 1.38vw, 1.27rem);
  line-height: 1.5;
}

.ir-service-page--calm .ir-actions {
  gap: 18px;
  margin-top: 28px;
}

.ir-service-page--calm .ir-actions .button {
  min-height: 58px;
  padding: 0 30px;
  border-radius: 8px;
  font-size: 1.05rem;
  font-weight: 900;
}

.ir-service-page--calm .ir-actions .button--primary::after,
.ir-service-page--calm .ir-report-form .button::after {
  content: "→";
  margin-left: 12px;
  font-size: 1.25rem;
}

.ir-service-page--calm .ir-actions .button--secondary {
  min-width: 285px;
  justify-content: center;
  color: #0452dc;
  background: rgba(255, 255, 255, 0.72);
  border-color: rgba(44, 116, 232, 0.35);
}

.ir-service-page--calm .ir-actions .button--secondary::after {
  content: "⇩";
  margin-left: 8px;
  font-size: 1rem;
}

.ir-service-page--calm .ir-hero-art {
  width: min(100%, 540px);
  padding: 28px 26px;
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.76);
  box-shadow: 0 28px 58px rgba(73, 93, 160, 0.13);
  filter: none;
}

.ir-service-page--calm .ir-dashboard {
  gap: 18px;
  padding-bottom: 24px;
}

.ir-service-page--calm .ir-insight-card,
.ir-service-page--calm .ir-practical-card,
.ir-service-page--calm .ir-report-card {
  border-radius: 14px;
  border-color: rgba(129, 145, 181, 0.18);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 18px 44px rgba(86, 101, 150, 0.1);
}

.ir-service-page--calm .ir-insight-card {
  grid-template-columns: minmax(0, 1fr) 84px minmax(400px, 0.9fr);
  gap: 34px;
  min-height: 136px;
  padding: 28px 38px;
}

.ir-insight-divider {
  display: grid;
  width: 1px;
  height: 92px;
  place-items: center;
  justify-self: center;
  border-left: 1px solid rgba(129, 145, 181, 0.28);
  color: #8d44e7;
  font-family: Georgia, serif;
  font-size: 4rem;
  line-height: 1;
}

.ir-service-page--calm .ir-insight-side {
  gap: 30px;
}

.ir-service-page--calm .ir-insight-side--question {
  padding-left: 0;
  border-left: 0;
}

.ir-service-page--calm .ir-icon {
  width: 88px;
  height: 88px;
  font-size: 2.15rem;
  background: linear-gradient(135deg, #e7f7ff, #f1ebff);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.85);
}

.ir-service-page--calm .ir-insight-card h2 {
  font-size: clamp(1.45rem, 2vw, 1.78rem);
}

.ir-service-page--calm .ir-insight-card p {
  color: #172452;
  font-size: 1.02rem;
  line-height: 1.48;
}

.ir-service-page--calm .ir-insight-side--question p {
  font-size: clamp(1.55rem, 2.35vw, 2.15rem);
  line-height: 1.16;
}

.ir-service-page--calm .ir-practical-row {
  gap: 18px;
}

.ir-service-page--calm .ir-practical-card {
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 24px;
  min-height: 178px;
  padding: 28px 28px 24px;
}

.ir-service-page--calm .ir-practical-icon {
  width: 84px;
  height: 84px;
  font-size: 2.45rem;
}

.ir-service-page--calm .ir-practical-card h3 {
  font-size: 1.22rem;
  margin-bottom: 8px;
}

.ir-service-page--calm .ir-practical-question {
  font-size: 0.99rem;
  line-height: 1.4;
}

.ir-service-page--calm .ir-support-line {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 16px;
  padding-top: 15px;
  font-size: 0.9rem;
}

.ir-service-page--calm .ir-support-line::before {
  content: "✓";
  display: inline-grid;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 999px;
  color: white;
  background: #075eff;
  font-size: 0.72rem;
  font-weight: 950;
}

.ir-service-page--calm .ir-report-card {
  grid-template-columns: 250px minmax(270px, 0.92fr) minmax(420px, 1fr);
  gap: 34px;
  align-items: center;
  padding: 28px;
}

.ir-service-page--calm .ir-report-graphic {
  width: 190px;
  height: 190px;
  border-radius: 34px;
  font-size: 5rem;
  background: linear-gradient(145deg, #eaf7ff, #f0e8ff);
}

.ir-service-page--calm .ir-report-intro h2 {
  max-width: 420px;
  font-size: clamp(1.85rem, 2.7vw, 2.5rem);
}

.ir-service-page--calm .ir-report-intro p {
  max-width: 430px;
  color: #24305e;
  font-size: 1rem;
  line-height: 1.45;
}

.ir-service-page--calm .ir-badge-row {
  gap: 22px;
}

.ir-service-page--calm .ir-badge-row span::before {
  width: 32px;
  height: 32px;
  color: #07955f;
  background: #daf8ea;
  border: 0;
  content: "◇";
}

.ir-service-page--calm .ir-report-form {
  gap: 14px 18px;
}

.ir-service-page--calm .ir-report-form input,
.ir-service-page--calm .ir-report-form select {
  min-height: 46px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.92);
}

.ir-service-page--calm .ir-report-form .button {
  min-height: 56px;
  margin-top: 4px;
  font-size: 1.05rem;
}

@media (max-width: 1180px) {
  .ir-service-page--calm .ir-report-card {
    grid-template-columns: 1fr;
  }

  .ir-service-page--calm .ir-report-visual {
    justify-content: start;
  }
}

@media (max-width: 980px) {
  .ir-service-page--calm .ir-hero-grid,
  .ir-service-page--calm .ir-insight-card,
  .ir-service-page--calm .ir-practical-row {
    grid-template-columns: 1fr;
  }

  .ir-service-page--calm .ir-insight-divider {
    display: none;
  }

  .ir-service-page--calm .ir-hero-art {
    justify-self: center;
    width: min(100%, 500px);
  }
}

@media (max-width: 640px) {
  .ir-service-page--calm .shell {
    width: min(100% - 28px, 1240px);
  }

  .ir-service-page--calm .ir-hero h1 {
    font-size: clamp(3rem, 14vw, 4.1rem);
  }

  .ir-service-page--calm .ir-hero-art {
    padding: 16px;
    border-radius: 18px;
  }

  .ir-service-page--calm .ir-insight-card,
  .ir-service-page--calm .ir-practical-card,
  .ir-service-page--calm .ir-report-card {
    padding: 22px;
  }

  .ir-service-page--calm .ir-report-form {
    grid-template-columns: 1fr;
  }
}

/* Incident Response Mini-Plan: polished icon/detail pass */
.ir-service-page--calm .ir-hero-badge span svg,
.ir-service-page--calm .ir-icon svg,
.ir-service-page--calm .ir-practical-icon svg {
  display: block;
  width: 62%;
  height: 62%;
}

.ir-service-page--calm .ir-hero-badge span svg {
  width: 15px;
  height: 15px;
}

.ir-service-page--calm .ir-icon,
.ir-service-page--calm .ir-practical-icon {
  position: relative;
  overflow: visible;
  color: #075eff;
  background:
    radial-gradient(circle at 34% 24%, rgba(255, 255, 255, 0.95), transparent 28%),
    linear-gradient(145deg, #e7f7ff 0%, #f1ebff 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.86),
    0 16px 32px rgba(78, 94, 170, 0.12);
}

.ir-service-page--calm .ir-icon::after,
.ir-service-page--calm .ir-practical-icon::after {
  content: "";
  position: absolute;
  inset: 14%;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(255,255,255,.5), rgba(255,255,255,0));
  pointer-events: none;
}

.ir-service-page--calm .ir-practical-icon--violet {
  background:
    radial-gradient(circle at 34% 24%, rgba(255, 255, 255, 0.95), transparent 28%),
    linear-gradient(145deg, #f5ecff 0%, #eef5ff 100%);
}

.ir-service-page--calm .ir-practical-icon--blue,
.ir-service-page--calm .ir-practical-icon--bolt {
  background:
    radial-gradient(circle at 34% 24%, rgba(255, 255, 255, 0.95), transparent 28%),
    linear-gradient(145deg, #e9f8ff 0%, #eef2ff 100%);
}

.ir-service-page--calm .ir-practical-card {
  min-height: 164px;
  padding: 24px 28px 20px;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 20px;
}

.ir-service-page--calm .ir-practical-icon {
  width: 86px;
  height: 86px;
  align-self: start;
}

.ir-service-page--calm .ir-practical-card h3 {
  margin-top: 2px;
  font-size: 1.17rem;
}

.ir-service-page--calm .ir-practical-question {
  max-width: 290px;
  margin-bottom: 0;
  font-size: 0.96rem;
  line-height: 1.38;
}

.ir-service-page--calm .ir-support-line {
  max-width: 315px;
  margin-top: 14px;
  padding-top: 13px;
  line-height: 1.32;
}

.ir-service-page--calm .ir-report-card {
  grid-template-columns: 260px minmax(310px, 0.92fr) minmax(420px, 1fr);
  padding: 26px 30px;
}

.ir-report-illustration {
  position: relative;
  width: 220px;
  height: 190px;
}

.ir-report-plant {
  position: absolute;
  left: 0;
  bottom: 10px;
  width: 58px;
  height: 86px;
  border-radius: 0 0 18px 18px;
  background:
    radial-gradient(ellipse at 20% 22%, #86a7ff 0 20%, transparent 21%),
    radial-gradient(ellipse at 74% 12%, #b8c8ff 0 18%, transparent 19%),
    linear-gradient(#dfe8ff, #c7d7ff 55%, #f4f8ff 56%);
  opacity: 0.9;
}

.ir-report-plant::before,
.ir-report-plant::after {
  content: "";
  position: absolute;
  bottom: 16px;
  width: 42px;
  height: 18px;
  border-radius: 999px 999px 4px 999px;
  background: linear-gradient(135deg, #83a8ff, #c9d6ff);
  transform-origin: right center;
}

.ir-report-plant::before {
  left: -18px;
  transform: rotate(44deg);
}

.ir-report-plant::after {
  right: -22px;
  transform: rotate(138deg);
}

.ir-report-board {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 150px;
  height: 168px;
  border-radius: 22px;
  background: linear-gradient(145deg, #edf8ff, #f6f2ff 76%);
  border: 1px solid rgba(111, 136, 216, 0.18);
  box-shadow:
    0 22px 36px rgba(60, 82, 164, 0.18),
    inset 0 0 0 7px rgba(255,255,255,.52);
}

.ir-report-clip {
  position: absolute;
  top: -12px;
  left: 50%;
  width: 68px;
  height: 34px;
  transform: translateX(-50%);
  border-radius: 12px 12px 8px 8px;
  background: linear-gradient(145deg, #9fb5ff, #566fe6);
  box-shadow: 0 10px 18px rgba(76, 90, 178, 0.18);
}

.ir-report-clip::before {
  content: "";
  position: absolute;
  top: -9px;
  left: 23px;
  width: 22px;
  height: 17px;
  border-radius: 999px 999px 0 0;
  border: 5px solid #a9bbff;
  border-bottom: 0;
}

.ir-report-check {
  position: absolute;
  top: 54px;
  left: 50%;
  display: grid;
  width: 74px;
  height: 74px;
  place-items: center;
  transform: translateX(-50%);
  border-radius: 999px;
  background: linear-gradient(145deg, #0077ff, #6f35e8);
  box-shadow: 0 18px 30px rgba(50, 95, 220, 0.26);
}

.ir-report-check::before {
  content: "";
  width: 31px;
  height: 17px;
  border-left: 7px solid white;
  border-bottom: 7px solid white;
  transform: rotate(-45deg) translate(2px, -2px);
}

.ir-report-line {
  position: absolute;
  left: 38px;
  height: 7px;
  border-radius: 999px;
  background: #d4def8;
}

.ir-report-line--one {
  right: 30px;
  bottom: 44px;
}

.ir-report-line--two {
  right: 46px;
  bottom: 28px;
}

.ir-report-line--three {
  right: 62px;
  bottom: 12px;
}

.ir-service-page--calm .ir-report-graphic {
  display: none;
}

.ir-service-page--calm .ir-badge-row span {
  max-width: 120px;
  line-height: 1.16;
}

.ir-service-page--calm .ir-badge-row span::before {
  content: "◇";
  flex: 0 0 auto;
  color: #07955f;
  background: #daf8ea;
}

@media (max-width: 1180px) {
  .ir-service-page--calm .ir-report-card {
    grid-template-columns: 220px 1fr;
  }

  .ir-service-page--calm .ir-report-form {
    grid-column: 1 / -1;
  }
}

@media (max-width: 980px) {
  .ir-service-page--calm .ir-practical-card {
    grid-template-columns: 96px minmax(0, 1fr);
  }

  .ir-service-page--calm .ir-practical-question,
  .ir-service-page--calm .ir-support-line {
    max-width: none;
  }
}

@media (max-width: 640px) {
  .ir-service-page--calm .ir-practical-card,
  .ir-service-page--calm .ir-report-card {
    grid-template-columns: 1fr;
  }

  .ir-report-illustration {
    width: 190px;
    height: 168px;
  }

  .ir-report-board {
    width: 132px;
    height: 150px;
  }
}

/* Shared service report section style matched to service 5 reference */
.service-report-card {
  display: grid !important;
  grid-template-columns: 250px minmax(310px, 0.92fr) minmax(420px, 1fr) !important;
  gap: 34px !important;
  align-items: center !important;
  padding: 28px 30px !important;
  border: 1px solid rgba(129, 145, 181, 0.18) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 18px 44px rgba(86, 101, 150, 0.1) !important;
  backdrop-filter: blur(14px);
}

.service-report-visual {
  display: grid !important;
  place-items: center !important;
}

.service-report-illustration {
  position: relative;
  width: 220px;
  height: 190px;
}

.service-report-plant {
  position: absolute;
  left: 0;
  bottom: 10px;
  width: 58px;
  height: 86px;
  border-radius: 0 0 18px 18px;
  background:
    radial-gradient(ellipse at 20% 22%, #86a7ff 0 20%, transparent 21%),
    radial-gradient(ellipse at 74% 12%, #b8c8ff 0 18%, transparent 19%),
    linear-gradient(#dfe8ff, #c7d7ff 55%, #f4f8ff 56%);
  opacity: 0.9;
}

.service-report-plant::before,
.service-report-plant::after {
  content: "";
  position: absolute;
  bottom: 16px;
  width: 42px;
  height: 18px;
  border-radius: 999px 999px 4px 999px;
  background: linear-gradient(135deg, #83a8ff, #c9d6ff);
  transform-origin: right center;
}

.service-report-plant::before {
  left: -18px;
  transform: rotate(44deg);
}

.service-report-plant::after {
  right: -22px;
  transform: rotate(138deg);
}

.service-report-board {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 150px;
  height: 168px;
  border-radius: 22px;
  background: linear-gradient(145deg, #edf8ff, #f6f2ff 76%);
  border: 1px solid rgba(111, 136, 216, 0.18);
  box-shadow:
    0 22px 36px rgba(60, 82, 164, 0.18),
    inset 0 0 0 7px rgba(255, 255, 255, 0.52);
}

.service-report-clip {
  position: absolute;
  top: -12px;
  left: 50%;
  width: 68px;
  height: 34px;
  transform: translateX(-50%);
  border-radius: 12px 12px 8px 8px;
  background: linear-gradient(145deg, #9fb5ff, #566fe6);
  box-shadow: 0 10px 18px rgba(76, 90, 178, 0.18);
}

.service-report-clip::before {
  content: "";
  position: absolute;
  top: -9px;
  left: 23px;
  width: 22px;
  height: 17px;
  border-radius: 999px 999px 0 0;
  border: 5px solid #a9bbff;
  border-bottom: 0;
}

.service-report-check {
  position: absolute;
  top: 54px;
  left: 50%;
  display: grid;
  width: 74px;
  height: 74px;
  place-items: center;
  transform: translateX(-50%);
  border-radius: 999px;
  background: linear-gradient(145deg, #0077ff, #6f35e8);
  box-shadow: 0 18px 30px rgba(50, 95, 220, 0.26);
}

.service-report-check::before {
  content: "";
  width: 31px;
  height: 17px;
  border-left: 7px solid white;
  border-bottom: 7px solid white;
  transform: rotate(-45deg) translate(2px, -2px);
}

.service-report-line {
  position: absolute;
  left: 38px;
  height: 7px;
  border-radius: 999px;
  background: #d4def8;
}

.service-report-line--one {
  right: 30px;
  bottom: 44px;
}

.service-report-line--two {
  right: 46px;
  bottom: 28px;
}

.service-report-line--three {
  right: 62px;
  bottom: 12px;
}

.service-report-intro {
  display: block !important;
}

.service-report-intro h2 {
  max-width: 430px !important;
  margin: 0 !important;
  color: #101832 !important;
  font-size: clamp(1.85rem, 2.7vw, 2.5rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
}

.service-report-intro p {
  max-width: 460px !important;
  margin: 14px 0 22px !important;
  color: #24305e !important;
  font-size: 1rem !important;
  line-height: 1.45 !important;
}

.service-report-badges {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 22px !important;
}

.service-report-badges span {
  display: inline-flex !important;
  align-items: center !important;
  max-width: 138px !important;
  color: #111a34 !important;
  font-size: 0.78rem !important;
  font-weight: 900 !important;
  line-height: 1.16 !important;
}

.service-report-badges span::before {
  content: "◇" !important;
  display: inline-grid !important;
  flex: 0 0 auto !important;
  width: 34px !important;
  height: 34px !important;
  margin-right: 10px !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #07955f !important;
  background: #daf8ea !important;
  font-size: 1rem !important;
  font-weight: 950 !important;
}

.service-report-form {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px 18px !important;
  align-items: end !important;
}

.service-report-form label {
  position: static !important;
  display: grid !important;
  gap: 7px !important;
  color: #111a34 !important;
  font-size: 0.86rem !important;
  font-weight: 950 !important;
}

.service-report-form label span {
  position: static !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
}

.service-report-form input,
.service-report-form select {
  width: 100% !important;
  min-height: 48px !important;
  padding: 0 16px !important;
  border: 1px solid rgba(129, 145, 181, 0.32) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  color: var(--ink) !important;
  font: inherit !important;
  font-size: 0.95rem !important;
  font-weight: 750 !important;
  box-shadow: none !important;
}

.service-report-form .button {
  grid-column: 1 / -1 !important;
  min-height: 58px !important;
  margin-top: 4px !important;
  border-radius: 8px !important;
  background: linear-gradient(135deg, #9632f1, #006eff) !important;
  color: #fff !important;
  font-size: 1.08rem !important;
  font-weight: 950 !important;
}

.service-report-form .button::after {
  content: "→";
  margin-left: 12px;
  font-size: 1.25rem;
}

.service-report-form .privacy-note,
.service-report-form .form-note {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
  text-align: center !important;
  color: #4f5878 !important;
  font-size: 0.84rem !important;
  font-weight: 500 !important;
}

.service-report-form .form-note {
  min-height: 0 !important;
}

@media (max-width: 1180px) {
  .service-report-card {
    grid-template-columns: 220px 1fr !important;
  }

  .service-report-form {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 760px) {
  .service-report-card {
    grid-template-columns: 1fr !important;
    padding: 24px !important;
  }

  .service-report-visual {
    justify-content: start !important;
  }

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

  .service-report-illustration {
    width: 190px;
    height: 168px;
  }

  .service-report-board {
    width: 132px;
    height: 150px;
  }
}

/* Small layout adjustments: center single review process panels */
.br-work-grid {
  grid-template-columns: minmax(0, 708px);
  justify-content: center;
}

.as-process-panel {
  width: min(100%, 860px);
  margin-inline: auto;
  padding: 20px 30px 22px;
}

.as-process-panel .as-process-line {
  left: 132px;
  right: 132px;
}

.as-process-panel .as-process-grid {
  gap: 18px;
}

.as-process-panel .as-step-icon {
  width: 52px;
  height: 52px;
}

.as-process-panel .as-process-grid h3 {
  font-size: 0.85rem;
}

.as-process-panel .as-process-grid p {
  font-size: 0.78rem;
}

@media (max-width: 980px) {
  .br-work-grid,
  .as-process-panel {
    width: auto;
    max-width: none;
  }

  .as-process-panel .as-process-line {
    display: none;
  }
}

/* Backup report benefits: lighter inline treatment */
.br-badge-row.service-report-badges span {
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.br-badge-row.service-report-badges span::before {
  background: transparent !important;
  border: 2px solid #07955f !important;
}

/* Monthly Cyber Readiness Support service page */
.ms-service-body {
  background:
    radial-gradient(circle at 78% 6%, rgba(196, 145, 255, 0.28), transparent 30%),
    radial-gradient(circle at 16% 10%, rgba(218, 240, 255, 0.95), transparent 32%),
    linear-gradient(135deg, #f9fcff 0%, #f6faff 52%, #f5f0ff 100%);
  color: var(--navy);
}

.ms-service-page {
  min-height: 100vh;
  overflow-x: hidden;
}

.ms-service-page .shell {
  width: min(100% - 48px, 1280px);
}

.ms-hero {
  padding: 14px 0 0;
}

.ms-language-row {
  display: flex;
  justify-content: flex-end;
  min-height: 22px;
}

.ms-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(480px, 0.88fr);
  gap: clamp(34px, 6vw, 92px);
  align-items: center;
  padding: 10px 0 30px;
}

.ms-back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 30px;
  color: #5d45d5;
  font-size: 0.98rem;
  font-weight: 850;
  text-decoration: none;
}

.ms-back-link::before {
  content: "←";
  font-size: 1.22rem;
}

.ms-eyebrow {
  margin: 0 0 10px;
  color: #5e41d7;
  font-size: 0.9rem;
  font-weight: 950;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.ms-hero h1 {
  max-width: 830px;
  margin: 0;
  color: #101832;
  font-size: clamp(3.15rem, 5vw, 4.9rem);
  line-height: 1.02;
  letter-spacing: -0.052em;
}

.ms-hero-subtitle {
  max-width: 620px;
  margin: 18px 0 0;
  color: #56627e;
  font-size: clamp(1.22rem, 1.55vw, 1.48rem);
  line-height: 1.42;
}

.ms-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 30px;
}

.ms-actions .button {
  min-height: 58px;
  padding: 0 28px;
  border-radius: 8px;
  font-size: 1.05rem;
  font-weight: 900;
}

.ms-actions .button--primary,
.ms-report-form .button {
  background: linear-gradient(135deg, #633fd3, #006eff);
  box-shadow: 0 18px 32px rgba(77, 83, 210, 0.18);
}

.ms-actions .button--primary::after,
.ms-report-form .button::after {
  content: "→";
  margin-left: 12px;
  font-size: 1.22rem;
}

.ms-actions .button--secondary {
  min-width: 285px;
  justify-content: center;
  color: #5940cf;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(91, 75, 207, 0.48);
  box-shadow: none;
}

.ms-actions .button--secondary::before {
  content: "⇩";
  margin-right: 10px;
}

.ms-hero-art {
  justify-self: end;
  width: min(100%, 560px);
}

.ms-hero-illustration {
  position: relative;
  height: 300px;
}

.ms-cloud,
.ms-calendar,
.ms-review-card,
.ms-progress-card,
.ms-bell,
.ms-shield {
  position: absolute;
}

.ms-cloud {
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.76);
  box-shadow: 0 24px 48px rgba(91, 91, 190, 0.1);
}

.ms-cloud--one {
  width: 145px;
  height: 72px;
  top: 10px;
  left: 110px;
}

.ms-cloud--two {
  width: 190px;
  height: 88px;
  top: 68px;
  right: 24px;
}

.ms-calendar {
  top: 55px;
  left: 90px;
  width: 200px;
  height: 155px;
  border-radius: 18px;
  background: linear-gradient(145deg, #f2f7ff, #f4efff);
  box-shadow: 0 24px 44px rgba(91, 91, 190, 0.16), inset 0 0 0 7px rgba(255,255,255,.55);
}

.ms-calendar::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 38px;
  border-radius: 18px 18px 0 0;
  background: linear-gradient(135deg, #7c8cea, #4f5fc7);
}

.ms-calendar::after {
  content: "✓";
  position: absolute;
  right: 30px;
  bottom: 34px;
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 999px;
  color: #7250e8;
  border: 4px solid #7250e8;
  background: rgba(255,255,255,.8);
  font-weight: 950;
}

.ms-calendar span {
  position: relative;
  top: 62px;
  left: 28px;
  display: inline-block;
  width: 36px;
  height: 30px;
  margin: 0 10px 10px 0;
  border-radius: 6px;
  background: #d8defa;
  opacity: .7;
}

.ms-review-card {
  top: 80px;
  right: 16px;
  width: 180px;
  height: 170px;
  padding: 34px 26px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 24px 48px rgba(91, 91, 190, 0.16);
}

.ms-review-card p,
.ms-progress-card p {
  margin: 0 0 18px;
  color: #343d73;
  font-size: 0.78rem;
  font-weight: 950;
  letter-spacing: 0.04em;
}

.ms-review-card i {
  display: block;
  height: 12px;
  margin: 16px 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #8f68ed 0 14px, #dfe3fa 14px 100%);
}

.ms-progress-card {
  left: 128px;
  bottom: 0;
  width: 220px;
  height: 118px;
  padding: 20px 24px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.88);
  border: 7px solid #5e6dcd;
  box-shadow: 0 22px 42px rgba(91, 91, 190, 0.16);
}

.ms-progress-card strong {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 999px;
  color: #5f4bd2;
  background: conic-gradient(#6d55df 0 75%, #dce2fb 75% 100%);
  font-size: 0.9rem;
}

.ms-progress-card span {
  position: absolute;
  right: 24px;
  bottom: 24px;
  width: 86px;
  height: 44px;
  border-radius: 8px;
  background: linear-gradient(135deg, transparent 48%, #8f68ed 49% 55%, transparent 56%), linear-gradient(180deg, transparent 62%, rgba(143,104,237,.18) 63%);
}

.ms-shield {
  left: 45px;
  top: 120px;
  width: 95px;
  height: 110px;
  clip-path: polygon(50% 0, 88% 16%, 82% 68%, 50% 100%, 18% 68%, 12% 16%);
  background: linear-gradient(145deg, #8fa5ff, #5a6cd8);
  box-shadow: 0 18px 32px rgba(83, 94, 200, .18);
}

.ms-shield::before {
  content: "";
  position: absolute;
  left: 31px;
  top: 39px;
  width: 36px;
  height: 19px;
  border-left: 7px solid #fff;
  border-bottom: 7px solid #fff;
  transform: rotate(-45deg);
}

.ms-bell {
  top: 25px;
  right: 0;
  display: grid;
  width: 78px;
  height: 78px;
  place-items: center;
  border-radius: 14px;
  color: #8c68ed;
  background: rgba(255,255,255,.86);
  font-size: 2.2rem;
  box-shadow: 0 18px 34px rgba(91,91,190,.16);
}

.ms-dashboard {
  display: grid;
  gap: 18px;
  padding-bottom: 24px;
}

.ms-insight-card,
.ms-practical-card,
.ms-report-card {
  border: 1px solid rgba(129, 145, 181, 0.18);
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 18px 44px rgba(86, 101, 150, 0.1);
  backdrop-filter: blur(14px);
}

.ms-insight-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 0.9fr);
  gap: 40px;
  align-items: center;
  min-height: 126px;
  padding: 24px 36px;
  border-radius: 16px;
  background: linear-gradient(100deg, rgba(234, 247, 255, 0.84), rgba(255,255,255,.84) 48%, rgba(244, 235, 255, 0.86));
}

.ms-insight-side {
  display: flex;
  align-items: center;
  gap: 28px;
  min-width: 0;
}

.ms-insight-side--question {
  min-height: 78px;
  padding-left: 44px;
  border-left: 1px solid rgba(129, 145, 181, 0.28);
}

.ms-icon,
.ms-practical-icon {
  display: inline-grid;
  flex: 0 0 auto;
  width: 86px;
  height: 86px;
  place-items: center;
  border-radius: 999px;
  color: #6f46dc;
  background: linear-gradient(145deg, #eef8ff, #f3eaff);
  font-size: 2.3rem;
  font-weight: 950;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.86), 0 16px 32px rgba(78,94,170,.1);
}

.ms-insight-card h2 {
  margin: 0 0 8px;
  color: #101832;
  font-size: clamp(1.3rem, 1.8vw, 1.62rem);
  line-height: 1.1;
}

.ms-insight-card p {
  margin: 0;
  color: #4f5b79;
  font-size: 1rem;
  line-height: 1.42;
}

.ms-insight-side--question p {
  color: #5c45cf;
  font-size: clamp(1.28rem, 2vw, 1.62rem);
  font-weight: 950;
  line-height: 1.25;
}

.ms-practical-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.ms-practical-card {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 22px;
  align-items: center;
  min-height: 118px;
  padding: 22px 28px;
  border-radius: 14px;
}

.ms-practical-icon {
  width: 74px;
  height: 74px;
  font-size: 2rem;
}

.ms-practical-icon--shield {
  color: #5d45cf;
}

.ms-practical-icon--chart {
  color: #5d50df;
}

.ms-practical-card h3 {
  margin: 0 0 6px;
  color: #101832;
  font-size: 1.16rem;
  line-height: 1.15;
}

.ms-practical-card p {
  margin: 0;
  color: #56627e;
  font-size: 0.98rem;
  line-height: 1.35;
}

.ms-report-card {
  display: grid;
  grid-template-columns: 230px minmax(330px, 0.88fr) minmax(430px, 1fr);
  gap: 34px;
  align-items: center;
  padding: 28px 30px;
  border-radius: 16px;
  background: rgba(255,255,255,.88);
}

.ms-report-visual {
  display: grid;
  place-items: center;
}

.ms-summary-art {
  position: relative;
  width: 210px;
  height: 170px;
}

.ms-summary-page {
  position: absolute;
  left: 38px;
  top: 0;
  width: 132px;
  height: 158px;
  border-radius: 16px;
  background: linear-gradient(145deg, #edf8ff, #f5efff);
  box-shadow: 0 20px 34px rgba(77, 83, 210, 0.14), inset 0 0 0 6px rgba(255,255,255,.55);
}

.ms-pie {
  position: absolute;
  top: 34px;
  left: 26px;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  background: conic-gradient(#8b68ed 0 72%, #dce2fb 72% 100%);
}

.ms-summary-page i {
  position: relative;
  top: 93px;
  left: 30px;
  display: block;
  width: 74px;
  height: 7px;
  margin: 13px 0;
  border-radius: 999px;
  background: #d6def8;
}

.ms-summary-shield {
  position: absolute;
  right: 10px;
  bottom: 0;
  width: 76px;
  height: 88px;
  clip-path: polygon(50% 0, 88% 16%, 82% 68%, 50% 100%, 18% 68%, 12% 16%);
  background: linear-gradient(145deg, #8aa1ff, #6353df);
  box-shadow: 0 16px 30px rgba(77, 83, 210, 0.22);
}

.ms-summary-shield::before {
  content: "";
  position: absolute;
  left: 25px;
  top: 32px;
  width: 28px;
  height: 15px;
  border-left: 6px solid #fff;
  border-bottom: 6px solid #fff;
  transform: rotate(-45deg);
}

.ms-report-intro h2 {
  max-width: 450px;
  margin: 0;
  color: #101832;
  font-size: clamp(1.8rem, 2.5vw, 2.35rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.ms-report-intro p {
  max-width: 470px;
  margin: 14px 0 22px;
  color: #4f5b79;
  font-size: 1rem;
  line-height: 1.45;
}

.ms-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
}

.ms-badge-row span {
  display: inline-flex;
  align-items: center;
  max-width: 130px;
  color: #101832;
  font-size: .78rem;
  font-weight: 900;
  line-height: 1.16;
}

.ms-badge-row span::before {
  content: "◇";
  display: inline-grid;
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  margin-right: 10px;
  place-items: center;
  border-radius: 999px;
  color: #5d45cf;
  background: #ebe7ff;
  font-size: 1rem;
  font-weight: 950;
}

.ms-report-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
  align-items: end;
}

.ms-report-form label {
  display: grid;
  gap: 7px;
  color: #101832;
  font-size: .84rem;
  font-weight: 950;
}

.ms-report-form input,
.ms-report-form select {
  width: 100%;
  min-height: 48px;
  padding: 0 16px;
  border: 1px solid rgba(129, 145, 181, 0.32);
  border-radius: 8px;
  background: rgba(255,255,255,.94);
  color: var(--ink);
  font: inherit;
  font-size: .92rem;
}

.ms-report-form .button {
  grid-column: 1 / -1;
  min-height: 56px;
  border-radius: 8px;
  font-size: 1.02rem;
  font-weight: 950;
}

.ms-report-form .privacy-note,
.ms-report-form .form-note {
  grid-column: 1 / -1;
  margin: 0;
  text-align: center;
  color: #66708d;
  font-size: .82rem;
}

.ms-report-form .form-note {
  min-height: 0;
}

.ms-footer {
  padding-top: 8px;
}

@media (max-width: 1180px) {
  .ms-report-card {
    grid-template-columns: 220px 1fr;
  }

  .ms-report-form {
    grid-column: 1 / -1;
  }
}

@media (max-width: 980px) {
  .ms-hero-grid,
  .ms-insight-card,
  .ms-practical-row {
    grid-template-columns: 1fr;
  }

  .ms-hero-art {
    justify-self: center;
  }

  .ms-insight-side--question {
    padding-left: 0;
    border-left: 0;
  }
}

@media (max-width: 640px) {
  .ms-service-page .shell {
    width: min(100% - 28px, 1280px);
  }

  .ms-hero h1 {
    font-size: clamp(2.8rem, 13vw, 4rem);
  }

  .ms-actions .button {
    width: 100%;
  }

  .ms-hero-illustration {
    height: 250px;
    transform: scale(.82);
    transform-origin: center;
  }

  .ms-insight-card,
  .ms-practical-card,
  .ms-report-card {
    border-radius: 16px;
    padding: 22px;
  }

  .ms-practical-card,
  .ms-report-card {
    grid-template-columns: 1fr;
  }

  .ms-report-form {
    grid-template-columns: 1fr;
  }
}

/* Account Security & MFA: June 18 reference layout */
.as-service-body--reference {
  background:
    radial-gradient(circle at 82% 5%, rgba(192, 139, 255, 0.34), transparent 31%),
    radial-gradient(circle at 14% 8%, rgba(210, 239, 255, 0.94), transparent 32%),
    linear-gradient(135deg, #f8fcff 0%, #f4f9ff 50%, #f5efff 100%);
  color: #0d1739;
}

.as-service-page--reference {
  min-height: 100vh;
  overflow-x: hidden;
}

.as-service-page--reference .shell {
  width: min(100% - 48px, 1280px);
}

.as-service-page--reference .as-hero {
  padding: 14px 0 0;
}

.as-service-page--reference .as-language-row {
  min-height: 20px;
}

.as-service-page--reference .as-hero-grid {
  grid-template-columns: minmax(0, 0.91fr) minmax(470px, 0.9fr);
  gap: clamp(40px, 7vw, 94px);
  padding: 8px 0 28px;
}

.as-service-page--reference .as-hero-copy {
  max-width: 660px;
}

.as-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 22px;
  padding: 9px 17px;
  border: 1px solid rgba(37, 102, 224, 0.27);
  border-radius: 999px;
  background: rgba(238, 248, 255, 0.72);
  color: #1747bb;
  font-size: 0.89rem;
  font-weight: 900;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.72);
}

.as-mini-shield {
  position: relative;
  display: inline-block;
  width: 18px;
  height: 20px;
  clip-path: polygon(50% 0, 90% 17%, 82% 70%, 50% 100%, 18% 70%, 10% 17%);
  background: linear-gradient(145deg, #0074f5, #5f40d9);
}

.as-mini-shield::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 7px;
  width: 6px;
  height: 4px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}

.as-service-page--reference .as-hero h1 {
  max-width: 700px;
  margin: 0;
  color: #0b1537;
  font-size: clamp(3.75rem, 5.4vw, 5.25rem);
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.as-service-page--reference .as-hero-subtitle {
  max-width: 610px;
  margin-top: 20px;
  color: #44527b;
  font-size: clamp(1.15rem, 1.45vw, 1.34rem);
  line-height: 1.52;
}

.as-service-page--reference .as-actions {
  gap: 18px;
  margin-top: 28px;
}

.as-service-page--reference .as-actions .button {
  min-height: 56px;
  padding: 0 28px;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 900;
}

.as-service-page--reference .as-actions .button--primary {
  background: linear-gradient(135deg, #6850df, #1475f5);
  box-shadow: 0 16px 30px rgba(67, 93, 220, 0.2);
}

.as-service-page--reference .as-actions .button--primary::after {
  content: "→";
  margin-left: 12px;
  font-size: 1.25rem;
}

.as-service-page--reference .as-actions .button--secondary {
  min-width: 310px;
  justify-content: center;
  color: #154de0;
  background: rgba(255, 255, 255, 0.74);
  border: 1px solid rgba(44, 105, 226, 0.27);
}

.as-service-page--reference .as-actions .button--secondary::before {
  content: "⇩";
  margin-right: 11px;
  font-size: 1.15rem;
}

.as-service-page--reference .as-hero-art {
  width: min(100%, 560px);
  filter: drop-shadow(0 28px 38px rgba(73, 83, 177, 0.18));
}

.as-service-page--reference .as-hero-art::before {
  inset: -4% -4% -3% -4%;
  width: auto;
  aspect-ratio: auto;
  border-radius: 46%;
  background: radial-gradient(ellipse at center, rgba(255,255,255,.65), rgba(226,232,255,.18) 62%, transparent 70%);
}

.as-service-page--reference .as-dashboard {
  gap: 14px;
  padding-bottom: 24px;
}

.as-service-page--reference .as-insight-card,
.as-service-page--reference .as-practical-card,
.as-service-page--reference .as-process-panel,
.as-service-page--reference .as-report-card {
  border: 1px solid rgba(129, 145, 181, 0.18);
  background: rgba(255, 255, 255, 0.89);
  box-shadow: 0 18px 42px rgba(86, 101, 150, 0.1);
  backdrop-filter: blur(14px);
}

.as-service-page--reference .as-insight-card {
  grid-template-columns: minmax(0, 1fr) minmax(430px, 0.91fr);
  gap: 34px;
  min-height: 135px;
  padding: 26px 36px;
  border-radius: 14px;
}

.as-service-page--reference .as-insight-side {
  gap: 28px;
}

.as-service-page--reference .as-insight-side--question {
  min-height: 86px;
  padding-left: 38px;
}

.as-service-page--reference .as-icon {
  width: 78px;
  height: 78px;
  color: #2365df;
  background: linear-gradient(145deg, #edf9ff, #f1eaff);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.9), 0 14px 28px rgba(68, 91, 175, .12);
}

.as-service-page--reference .as-icon svg {
  display: block;
  width: 55px;
  height: 55px;
}

.as-service-page--reference .as-icon--check {
  color: #7542e8;
}

.as-service-page--reference .as-insight-card h2 {
  font-size: clamp(1.4rem, 1.9vw, 1.72rem);
}

.as-service-page--reference .as-insight-card p {
  color: #44527b;
  font-size: 0.98rem;
  line-height: 1.48;
}

.as-service-page--reference .as-insight-side--question p {
  color: #0d1739;
  font-size: clamp(1.38rem, 2.15vw, 1.92rem);
  line-height: 1.18;
}

.as-service-page--reference .as-practical-row {
  gap: 18px;
}

.as-service-page--reference .as-practical-card {
  position: relative;
  grid-template-columns: 92px minmax(0, 1fr) 32px;
  gap: 16px;
  min-height: 140px;
  padding: 24px 22px;
  border-radius: 14px;
}

.as-service-page--reference .as-practical-icon {
  width: 76px;
  height: 76px;
  color: #245ddd;
  background: linear-gradient(145deg, #e7f6ff, #edf2ff);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.9), 0 14px 26px rgba(68,91,175,.1);
}

.as-service-page--reference .as-practical-icon svg {
  width: 47px;
  height: 47px;
  fill: currentColor;
}

.as-service-page--reference .as-practical-icon--lock {
  color: #8d4fe4;
  background: linear-gradient(145deg, #f4eaff, #eef0ff);
}

.as-service-page--reference .as-practical-icon--clock {
  color: #c78b17;
  background: linear-gradient(145deg, #fff5d9, #fff0ca);
}

.as-service-page--reference .as-practical-card h3 {
  margin-bottom: 7px;
  font-size: 1.08rem;
}

.as-service-page--reference .as-practical-question {
  margin-bottom: 6px;
  color: #111a34;
  font-size: 0.88rem;
  line-height: 1.33;
}

.as-service-page--reference .as-support-line {
  color: #596785;
  font-size: 0.83rem;
  line-height: 1.32;
}

.as-card-arrow {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  align-self: center;
  border-radius: 999px;
  color: #2872ef;
  background: #e9f2ff;
  font-size: 1.7rem;
  line-height: 1;
  font-weight: 700;
}

.as-card-arrow--violet {
  color: #8b49e9;
  background: #f2eaff;
}

.as-card-arrow--gold {
  color: #d49118;
  background: #fff3d8;
}

.as-service-page--reference .as-process-panel {
  width: min(100%, 1050px);
  margin: 0 auto;
  padding: 18px 30px 20px;
  border-radius: 12px;
}

.as-service-page--reference .as-process-panel h2 {
  position: relative;
  z-index: 3;
  display: inline-block;
  padding: 0 18px;
  background: rgba(255,255,255,.92);
  font-size: 1.24rem;
}

.as-service-page--reference .as-process-line {
  top: 66px;
  left: 112px;
  right: 112px;
  border-top: 2px dotted rgba(99, 112, 177, 0.27);
}

.as-service-page--reference .as-process-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 10px;
}

.as-service-page--reference .as-process-grid article {
  position: relative;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  text-align: left;
}

.as-service-page--reference .as-step-number {
  position: absolute;
  top: -4px;
  left: -2px;
  z-index: 2;
  width: 26px;
  height: 26px;
  margin: 0;
  font-size: 0.78rem;
}

.as-service-page--reference .as-step-icon {
  grid-row: 1;
  width: 54px;
  height: 54px;
  margin: 0;
  color: #496ce0;
  background: linear-gradient(145deg, #edf8ff, #f1eaff);
  box-shadow: 0 10px 20px rgba(72, 87, 170, 0.1);
}

.as-service-page--reference .as-step-icon svg {
  width: 34px;
  height: 34px;
  fill: currentColor;
}

.as-service-page--reference .as-process-grid h3 {
  margin: 0 0 5px;
  font-size: 0.76rem;
}

.as-service-page--reference .as-process-grid p {
  max-width: none;
  margin: 0;
  color: #596785;
  font-size: 0.67rem;
  line-height: 1.35;
}

.as-service-page--reference .as-report-card {
  display: grid !important;
  grid-template-columns: 190px minmax(260px, 0.65fr) minmax(470px, 1.35fr) !important;
  gap: 28px !important;
  align-items: center !important;
  padding: 22px 26px !important;
  border-radius: 14px !important;
}

.as-report-visual {
  display: grid;
  place-items: center;
}

.as-report-illustration {
  position: relative;
  width: 170px;
  height: 165px;
}

.as-report-sheet {
  position: absolute;
  left: 18px;
  top: 5px;
  width: 128px;
  height: 150px;
  border-radius: 18px;
  background: linear-gradient(145deg, #f1f8ff, #f4efff);
  border: 1px solid rgba(103, 125, 217, 0.17);
  transform: rotate(-5deg);
  box-shadow: 0 18px 30px rgba(65, 82, 174, .17), inset 0 0 0 6px rgba(255,255,255,.54);
}

.as-report-badge {
  position: absolute;
  top: 28px;
  left: 42px;
  width: 50px;
  height: 58px;
  clip-path: polygon(50% 0, 88% 16%, 82% 68%, 50% 100%, 18% 68%, 12% 16%);
  background: linear-gradient(145deg, #8ca2ff, #5d4ee0);
}

.as-report-badge::before {
  content: "";
  position: absolute;
  left: 17px;
  top: 21px;
  width: 18px;
  height: 10px;
  border-left: 4px solid #fff;
  border-bottom: 4px solid #fff;
  transform: rotate(-45deg);
}

.as-report-sheet i {
  position: relative;
  top: 96px;
  left: 27px;
  display: block;
  width: 78px;
  height: 6px;
  margin: 9px 0;
  border-radius: 999px;
  background: #d2dbf8;
}

.as-report-sheet b {
  position: relative;
  top: 40px;
  left: 28px;
  display: inline-block;
  width: 10px;
  margin-right: 6px;
  border-radius: 3px 3px 0 0;
  background: linear-gradient(#8f73ee, #5479e8);
}

.as-report-sheet b:nth-of-type(1) { height: 18px; }
.as-report-sheet b:nth-of-type(2) { height: 28px; }
.as-report-sheet b:nth-of-type(3) { height: 39px; }

.as-report-download {
  position: absolute;
  right: 0;
  bottom: 2px;
  display: grid;
  width: 50px;
  height: 50px;
  place-items: center;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(145deg, #5574ed, #7045dc);
  box-shadow: 0 14px 24px rgba(69, 80, 185, .2);
  font-size: 1.6rem;
  font-weight: 900;
}

.as-service-page--reference .as-report-intro {
  display: block;
}

.as-service-page--reference .as-report-intro h2 {
  max-width: 320px;
  font-size: clamp(1.35rem, 2vw, 1.72rem);
}

.as-service-page--reference .as-report-intro p {
  max-width: 320px;
  margin: 12px 0 20px;
  color: #44527b;
  font-size: 0.88rem;
  line-height: 1.45;
}

.as-service-page--reference .as-badge-row {
  display: flex;
  gap: 8px;
}

.as-service-page--reference .as-badge-row span {
  display: inline-flex;
  align-items: center;
  max-width: 95px;
  min-height: 38px;
  padding: 7px 9px;
  border: 1px solid rgba(113, 127, 185, 0.18);
  border-radius: 6px;
  color: #495676;
  background: rgba(255,255,255,.72);
  font-size: 0.58rem;
  font-weight: 800;
  line-height: 1.16;
}

.as-service-page--reference .as-badge-row span::before {
  content: "✓";
  display: inline-grid;
  flex: 0 0 auto;
  width: 17px;
  height: 17px;
  margin-right: 6px;
  place-items: center;
  border-radius: 999px;
  color: #285ee2;
  border: 1px solid currentColor;
  font-size: 0.55rem;
}

.as-service-page--reference .as-report-form {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px 16px !important;
  align-items: end !important;
}

.as-service-page--reference .as-report-form label {
  position: static;
  display: grid;
  gap: 6px;
  color: #273354;
  font-size: 0.68rem;
  font-weight: 800;
}

.as-service-page--reference .as-report-form label span {
  position: static;
  display: block;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
}

.as-service-page--reference .as-report-form input,
.as-service-page--reference .as-report-form select {
  width: 100%;
  min-height: 42px;
  padding: 0 13px;
  border: 1px solid rgba(129,145,181,.28);
  border-radius: 7px;
  background: rgba(255,255,255,.9);
  color: #273354;
  font: inherit;
  font-size: 0.75rem;
}

.as-service-page--reference .as-report-form .button {
  grid-column: 1 / -1;
  min-height: 46px;
  border-radius: 7px;
  background: linear-gradient(100deg, #4777ef, #9a4fe6);
  font-size: 0.91rem;
  font-weight: 900;
}

.as-service-page--reference .as-report-form .button::before {
  content: "⇩";
  margin-right: 10px;
}

.as-service-page--reference .as-report-form .privacy-note,
.as-service-page--reference .as-report-form .form-note {
  grid-column: 1 / -1;
  margin: 0;
  text-align: center;
  color: #6b7591;
  font-size: 0.67rem;
}

.as-service-page--reference .as-report-form .form-note {
  min-height: 0;
}

@media (max-width: 1120px) {
  .as-service-page--reference .as-report-card {
    grid-template-columns: 180px 1fr !important;
  }

  .as-service-page--reference .as-report-form {
    grid-column: 1 / -1;
  }
}

@media (max-width: 980px) {
  .as-service-page--reference .as-hero-grid,
  .as-service-page--reference .as-insight-card,
  .as-service-page--reference .as-practical-row {
    grid-template-columns: 1fr;
  }

  .as-service-page--reference .as-hero-art {
    justify-self: center;
    width: min(100%, 500px);
  }

  .as-service-page--reference .as-insight-side--question {
    padding-left: 0;
    border-left: 0;
  }

  .as-service-page--reference .as-process-panel {
    width: 100%;
  }

  .as-service-page--reference .as-process-line {
    display: none;
  }

  .as-service-page--reference .as-process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .as-service-page--reference .shell {
    width: min(100% - 28px, 1280px);
  }

  .as-service-page--reference .as-hero h1 {
    font-size: clamp(2.8rem, 13vw, 4rem);
  }

  .as-service-page--reference .as-actions .button {
    width: 100%;
  }

  .as-service-page--reference .as-practical-card,
  .as-service-page--reference .as-process-grid article,
  .as-service-page--reference .as-report-card {
    grid-template-columns: 1fr !important;
  }

  .as-service-page--reference .as-card-arrow {
    position: absolute;
    right: 18px;
    top: 18px;
  }

  .as-service-page--reference .as-process-grid {
    grid-template-columns: 1fr;
  }

  .as-service-page--reference .as-report-form {
    grid-template-columns: 1fr !important;
  }
}

/* Ransomware Readiness Check: June 18 editorial reference */
.rr-service-body--reference {
  background: #fbfdff;
  color: #07183e;
}

.rr-service-page--reference {
  min-height: 100vh;
  overflow-x: hidden;
}

.rr-service-page--reference .shell {
  width: min(100% - 56px, 1320px);
}

.rr-service-page--reference .rr-hero {
  position: relative;
  padding: 14px 0 54px;
  background:
    radial-gradient(circle at 81% 24%, rgba(78, 194, 201, 0.17), transparent 27%),
    radial-gradient(circle at 7% 65%, rgba(153, 205, 229, 0.16), transparent 20%),
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

.rr-service-page--reference .rr-language-row {
  min-height: 22px;
}

.rr-service-page--reference .rr-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.91fr) minmax(520px, 1fr);
  gap: clamp(40px, 6vw, 90px);
  align-items: center;
  padding: 24px 0 58px;
}

.rr-service-page--reference .rr-hero-copy {
  max-width: 670px;
}

.rr-service-page--reference .rr-eyebrow,
.rr-section-eyebrow,
.rr-report-eyebrow {
  margin: 0 0 16px;
  color: #00858a;
  font-size: 0.84rem;
  font-weight: 950;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.rr-service-page--reference .rr-hero h1 {
  max-width: 710px;
  margin: 0;
  color: #07183e;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(4.5rem, 6.6vw, 6.75rem);
  font-weight: 700;
  line-height: 0.91;
  letter-spacing: -0.055em;
}

.rr-service-page--reference .rr-hero-subtitle {
  max-width: 610px;
  margin: 22px 0 0;
  color: #24365d;
  font-size: clamp(1.08rem, 1.35vw, 1.26rem);
  line-height: 1.5;
}

.rr-hero-context {
  max-width: 620px;
  margin: 10px 0 0;
  color: #52617d;
  font-size: 0.95rem;
  line-height: 1.5;
}

.rr-service-page--reference .rr-actions {
  margin-top: 26px;
}

.rr-service-page--reference .rr-actions .button {
  min-height: 52px;
  padding: 0 30px;
  border-radius: 6px;
  background: linear-gradient(135deg, #00898c, #047b81);
  color: #fff;
  font-size: 0.98rem;
  font-weight: 950;
  box-shadow: 0 16px 30px rgba(0, 118, 122, 0.2);
}

.rr-service-page--reference .rr-actions .button::after,
.rr-service-page--reference .rr-report-form .button::after {
  content: "→";
  margin-left: 14px;
  font-size: 1.25rem;
}

.rr-service-page--reference .rr-hero-art {
  justify-self: end;
  width: min(100%, 600px);
  filter: drop-shadow(0 30px 34px rgba(25, 66, 103, 0.18));
}

.rr-service-page--reference .rr-hero-art::before {
  inset: -10% -7% -3%;
  width: auto;
  aspect-ratio: auto;
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(111, 207, 212, 0.25), rgba(200, 234, 241, 0.12) 58%, transparent 70%);
  transform: none;
}

.rr-service-page--reference .rr-stat-row {
  position: absolute;
  z-index: 4;
  left: 50%;
  bottom: -1px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(calc(100% - 120px), 850px);
  transform: translateX(-50%);
  gap: 0;
  border: 1px solid rgba(111, 139, 165, 0.16);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 38px rgba(52, 82, 112, 0.13);
}

.rr-service-page--reference .rr-stat-card {
  position: relative;
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  min-height: 102px;
  padding: 18px 28px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.rr-service-page--reference .rr-stat-card + .rr-stat-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 24px;
  bottom: 24px;
  border-left: 1px solid rgba(111, 139, 165, 0.22);
}

.rr-service-page--reference .rr-stat-icon {
  width: 62px;
  height: 62px;
  color: #007b80;
  border-radius: 999px;
  background: linear-gradient(145deg, #e5f7f7, #f0f8fb);
}

.rr-service-page--reference .rr-stat-icon svg {
  width: 38px;
  height: 38px;
}

.rr-service-page--reference .rr-stat-copy strong {
  margin-bottom: 5px;
  color: #008387;
  font-size: clamp(2rem, 2.8vw, 2.85rem);
  line-height: 0.95;
}

.rr-service-page--reference .rr-stat-copy p {
  color: #15294f;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.35;
}

.rr-review-band {
  padding: 66px 0 28px;
  background:
    radial-gradient(circle at 32% 44%, rgba(120, 201, 212, 0.12), transparent 25%),
    linear-gradient(180deg, #edf8fd 0%, #f6fbff 100%);
}

.rr-review-layout {
  display: grid;
  grid-template-columns: minmax(270px, 0.75fr) minmax(420px, 1.1fr) minmax(320px, 0.78fr);
  gap: 38px;
  align-items: center;
}

.rr-review-copy h2,
.rr-service-page--reference .rr-report-card h2 {
  margin: 0;
  color: #07183e;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 2.7vw, 2.85rem);
  line-height: 1.05;
  letter-spacing: -0.035em;
}

.rr-review-context {
  margin: 13px 0 20px;
  color: #52617d;
  font-size: 0.82rem;
  line-height: 1.45;
}

.rr-review-context strong {
  color: #173258;
}

.rr-service-page--reference .rr-value-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.rr-service-page--reference .rr-value-grid article {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  min-height: 102px;
  padding: 15px;
  text-align: left;
  border: 1px solid rgba(81, 126, 157, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.84);
  box-shadow: 0 10px 24px rgba(55, 91, 118, 0.08);
}

.rr-service-page--reference .rr-value-icon {
  width: 44px;
  height: 44px;
  margin: 0;
  color: #007d83;
  background: transparent;
}

.rr-service-page--reference .rr-value-icon svg {
  width: 38px;
  height: 38px;
}

.rr-service-page--reference .rr-value-grid h3 {
  margin: 3px 0 5px;
  color: #0d244b;
  font-size: 0.78rem;
  text-transform: uppercase;
}

.rr-service-page--reference .rr-value-grid p {
  color: #405170;
  font-size: 0.69rem;
  line-height: 1.4;
}

.rr-assessment {
  position: relative;
  min-height: 420px;
}

.rr-assessment-ring {
  position: absolute;
  left: 50%;
  top: 48px;
  width: 235px;
  height: 235px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: conic-gradient(#006f88 0 25%, #1f9b9d 25% 50%, #61bfb1 50% 75%, #55a8ba 75% 100%);
  box-shadow: 0 18px 34px rgba(36, 118, 136, 0.16);
}

.rr-assessment-ring::before {
  content: "";
  position: absolute;
  inset: 30px;
  border-radius: inherit;
  background: rgba(255, 255, 255, 0.96);
}

.rr-assessment-core {
  position: absolute;
  z-index: 2;
  inset: 52px;
  display: grid;
  place-items: center;
  align-content: center;
  text-align: center;
}

.rr-core-icon {
  color: #0b315b;
  font-size: 2rem;
}

.rr-assessment-core strong {
  margin-top: 6px;
  color: #0b2148;
  font-size: 0.85rem;
  line-height: 1.22;
}

.rr-assessment-core small {
  margin-top: 5px;
  color: #00888b;
  font-size: 0.67rem;
  font-weight: 950;
}

.rr-orbit {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 9px;
  width: 170px;
  color: #20385c;
}

.rr-orbit::after {
  content: "";
  position: absolute;
  border-top: 1px dashed #3f8292;
  width: 54px;
}

.rr-orbit > span {
  display: grid;
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 999px;
  color: #007d83;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 10px 22px rgba(55, 91, 118, 0.12);
  font-weight: 950;
}

.rr-orbit h3 {
  margin: 0 0 3px;
  color: #0c244c;
  font-size: 0.68rem;
  text-transform: uppercase;
}

.rr-orbit p {
  margin: 0;
  color: #50617d;
  font-size: 0.61rem;
  line-height: 1.3;
}

.rr-orbit--one { left: 0; top: 28px; }
.rr-orbit--one::after { right: -26px; top: 42px; transform: rotate(29deg); }
.rr-orbit--two { right: -2px; top: 28px; }
.rr-orbit--two::after { left: -34px; top: 42px; transform: rotate(-29deg); }
.rr-orbit--three { right: -2px; top: 267px; }
.rr-orbit--three::after { left: -34px; top: 3px; transform: rotate(28deg); }
.rr-orbit--four { left: 0; top: 267px; }
.rr-orbit--four::after { right: -26px; top: 3px; transform: rotate(-28deg); }

.rr-assessment-note {
  position: absolute;
  left: 50%;
  bottom: 8px;
  width: 100%;
  transform: translateX(-50%);
  margin: 0;
  color: #00878a;
  text-align: center;
  font-family: Georgia, serif;
  font-size: 1.04rem;
  font-style: italic;
}

.rr-service-page--reference .rr-report-card {
  display: block !important;
  align-self: stretch;
  padding: 28px 28px 24px !important;
  border: 1px solid rgba(81, 126, 157, 0.15) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: 0 16px 34px rgba(55, 91, 118, 0.11) !important;
  backdrop-filter: none;
}

.rr-report-eyebrow {
  margin-bottom: 9px;
}

.rr-report-subtitle {
  margin: 8px 0 18px;
  color: #4d5d78;
  font-size: 0.78rem;
  line-height: 1.45;
}

.rr-service-page--reference .rr-report-form {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 9px !important;
}

.rr-service-page--reference .rr-report-form label {
  display: grid;
  gap: 5px;
  color: #354765;
  font-size: 0.67rem;
  font-weight: 800;
}

.rr-service-page--reference .rr-report-form label span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.rr-service-page--reference .rr-report-form input,
.rr-service-page--reference .rr-report-form select {
  min-height: 42px;
  padding: 0 13px;
  border: 1px solid rgba(91, 126, 153, 0.25);
  border-radius: 5px;
  background: #fff;
  color: #263958;
  font: inherit;
  font-size: 0.75rem;
}

.rr-service-page--reference .rr-report-form .button {
  min-height: 44px;
  margin-top: 3px;
  border-radius: 5px;
  background: linear-gradient(135deg, #00898c, #087d82);
  font-size: 0.78rem;
  font-weight: 950;
}

.rr-service-page--reference .rr-report-form .privacy-note,
.rr-service-page--reference .rr-report-form .form-note {
  margin: 0;
  text-align: center;
  color: #63728b;
  font-size: 0.66rem;
}

.rr-service-page--reference .rr-report-form .privacy-note::before {
  content: "▣";
  margin-right: 7px;
  color: #007f84;
}

.rr-service-page--reference .rr-report-form .form-note {
  min-height: 0;
}

.rr-service-page--reference .rr-footer {
  padding-top: 10px;
  background: #f6fbff;
}

@media (max-width: 1160px) {
  .rr-service-page--reference .rr-hero-grid,
  .rr-review-layout {
    grid-template-columns: 1fr 1fr;
  }

  .rr-review-copy {
    grid-column: 1;
  }

  .rr-assessment {
    grid-column: 2;
  }

  .rr-service-page--reference .rr-report-card {
    grid-column: 1 / -1;
  }

  .rr-service-page--reference .rr-report-form {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .rr-service-page--reference .rr-report-form .button,
  .rr-service-page--reference .rr-report-form .privacy-note,
  .rr-service-page--reference .rr-report-form .form-note {
    grid-column: 1 / -1;
  }
}

@media (max-width: 850px) {
  .rr-service-page--reference .rr-hero-grid,
  .rr-review-layout,
  .rr-service-page--reference .rr-stat-row {
    grid-template-columns: 1fr;
  }

  .rr-service-page--reference .rr-hero {
    padding-bottom: 28px;
  }

  .rr-service-page--reference .rr-hero-art {
    justify-self: center;
    width: min(100%, 500px);
  }

  .rr-service-page--reference .rr-stat-row {
    position: static;
    width: min(100% - 40px, 680px);
    margin-top: 10px;
    transform: none;
  }

  .rr-service-page--reference .rr-stat-card + .rr-stat-card::before {
    top: 0;
    right: 24px;
    bottom: auto;
    left: 24px;
    border-top: 1px solid rgba(111, 139, 165, 0.22);
    border-left: 0;
  }

  .rr-review-band {
    padding-top: 36px;
  }

  .rr-review-copy,
  .rr-assessment,
  .rr-service-page--reference .rr-report-card {
    grid-column: 1;
  }
}

@media (max-width: 640px) {
  .rr-service-page--reference .shell {
    width: min(100% - 28px, 1320px);
  }

  .rr-service-page--reference .rr-hero h1 {
    font-size: clamp(3.2rem, 16vw, 4.7rem);
  }

  .rr-service-page--reference .rr-value-grid,
  .rr-service-page--reference .rr-report-form {
    grid-template-columns: 1fr !important;
  }

  .rr-assessment {
    min-height: 620px;
  }

  .rr-assessment-ring {
    top: 180px;
    width: 210px;
    height: 210px;
  }

  .rr-orbit {
    position: relative;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    width: 100%;
    margin: 8px 0;
  }

  .rr-orbit::after {
    display: none;
  }

  .rr-assessment-note {
    bottom: 0;
  }
}

/* Backup & Recovery Review: June 18 editorial reference */
.br-service-body--reference {
  background: #fbfdff;
  color: #07183e;
}

.br-service-page--reference {
  min-height: 100vh;
  overflow-x: hidden;
}

.br-service-page--reference .shell {
  width: min(100% - 56px, 1320px);
}

.br-service-page--reference .br-hero {
  position: relative;
  padding: 14px 0 54px;
  background:
    radial-gradient(circle at 81% 24%, rgba(78, 194, 201, 0.17), transparent 27%),
    radial-gradient(circle at 7% 65%, rgba(153, 205, 229, 0.16), transparent 20%),
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

.br-service-page--reference .br-language-row {
  min-height: 22px;
}

.br-service-page--reference .br-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.91fr) minmax(520px, 1fr);
  gap: clamp(40px, 6vw, 90px);
  align-items: center;
  padding: 24px 0 58px;
}

.br-service-page--reference .br-hero-copy {
  max-width: 690px;
}

.br-service-page--reference .br-eyebrow,
.br-section-eyebrow,
.br-report-eyebrow {
  margin: 0 0 16px;
  color: #00858a;
  font-size: 0.84rem;
  font-weight: 950;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.br-service-page--reference .br-hero h1 {
  max-width: 760px;
  margin: 0;
  color: #07183e;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(4.25rem, 6.2vw, 6.4rem);
  font-weight: 700;
  line-height: 0.92;
  letter-spacing: -0.055em;
}

.br-service-page--reference .br-hero-subtitle {
  max-width: 610px;
  margin: 22px 0 0;
  color: #24365d;
  font-size: clamp(1.08rem, 1.35vw, 1.26rem);
  line-height: 1.5;
}

.br-hero-context {
  max-width: 620px;
  margin: 10px 0 0;
  color: #52617d;
  font-size: 0.95rem;
  line-height: 1.5;
}

.br-service-page--reference .br-actions {
  margin-top: 26px;
}

.br-service-page--reference .br-actions .button {
  min-height: 52px;
  padding: 0 30px;
  border-radius: 6px;
  background: linear-gradient(135deg, #00898c, #047b81);
  color: #fff;
  font-size: 0.98rem;
  font-weight: 950;
  box-shadow: 0 16px 30px rgba(0, 118, 122, 0.2);
}

.br-service-page--reference .br-actions .button::after,
.br-service-page--reference .br-report-form .button::after {
  content: "→";
  margin-left: 14px;
  font-size: 1.25rem;
}

.br-service-page--reference .br-hero-art {
  justify-self: end;
  width: min(100%, 600px);
  filter: drop-shadow(0 30px 34px rgba(25, 66, 103, 0.18));
}

.br-service-page--reference .br-hero-art::before {
  inset: -10% -7% -3%;
  width: auto;
  aspect-ratio: auto;
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(111, 207, 212, 0.25), rgba(200, 234, 241, 0.12) 58%, transparent 70%);
  transform: none;
}

.br-stat-row {
  position: absolute;
  z-index: 4;
  left: 50%;
  bottom: -1px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(calc(100% - 120px), 900px);
  transform: translateX(-50%);
  border: 1px solid rgba(111, 139, 165, 0.16);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 38px rgba(52, 82, 112, 0.13);
}

.br-stat-card {
  position: relative;
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  gap: 17px;
  align-items: center;
  min-height: 104px;
  padding: 18px 24px;
}

.br-stat-card + .br-stat-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 24px;
  bottom: 24px;
  border-left: 1px solid rgba(111, 139, 165, 0.22);
}

.br-stat-icon {
  display: grid;
  width: 60px;
  height: 60px;
  place-items: center;
  border-radius: 999px;
  color: #007b80;
  background: linear-gradient(145deg, #e5f7f7, #f0f8fb);
}

.br-stat-icon svg {
  width: 37px;
  height: 37px;
}

.br-stat-card strong {
  display: block;
  margin-bottom: 5px;
  color: #008387;
  font-size: clamp(1.35rem, 2vw, 2rem);
  line-height: 1;
  letter-spacing: -0.03em;
}

.br-stat-card p {
  max-width: 200px;
  margin: 0;
  color: #15294f;
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1.35;
}

.br-review-band {
  padding: 66px 0 28px;
  background:
    radial-gradient(circle at 32% 44%, rgba(120, 201, 212, 0.12), transparent 25%),
    linear-gradient(180deg, #edf8fd 0%, #f6fbff 100%);
}

.br-review-layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.78fr) minmax(420px, 1.1fr) minmax(320px, 0.78fr);
  gap: 38px;
  align-items: center;
}

.br-review-copy h2,
.br-service-page--reference .br-report-card h2 {
  margin: 0;
  color: #07183e;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 2.7vw, 2.85rem);
  line-height: 1.05;
  letter-spacing: -0.035em;
}

.br-review-context {
  margin: 13px 0 20px;
  color: #52617d;
  font-size: 0.82rem;
  line-height: 1.45;
}

.br-service-page--reference .br-value-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.br-service-page--reference .br-value-grid article {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  min-height: 104px;
  padding: 15px;
  border: 1px solid rgba(81, 126, 157, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.84);
  box-shadow: 0 10px 24px rgba(55, 91, 118, 0.08);
}

.br-service-page--reference .br-value-icon {
  width: 44px;
  height: 44px;
  color: #007d83;
  background: transparent;
}

.br-service-page--reference .br-value-icon svg {
  width: 38px;
  height: 38px;
}

.br-service-page--reference .br-value-grid h3 {
  margin: 3px 0 5px;
  color: #0d244b;
  font-size: 0.75rem;
  text-transform: uppercase;
}

.br-service-page--reference .br-value-grid p {
  color: #405170;
  font-size: 0.68rem;
  line-height: 1.4;
}

.br-assessment {
  position: relative;
  min-height: 420px;
}

.br-assessment-ring {
  position: absolute;
  left: 50%;
  top: 48px;
  width: 235px;
  height: 235px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: conic-gradient(#006f88 0 25%, #1f9b9d 25% 50%, #61bfb1 50% 75%, #55a8ba 75% 100%);
  box-shadow: 0 18px 34px rgba(36, 118, 136, 0.16);
}

.br-assessment-ring::before {
  content: "";
  position: absolute;
  inset: 30px;
  border-radius: inherit;
  background: rgba(255, 255, 255, 0.96);
}

.br-assessment-core {
  position: absolute;
  z-index: 2;
  inset: 52px;
  display: grid;
  place-items: center;
  align-content: center;
  text-align: center;
}

.br-core-icon {
  color: #0b315b;
  font-size: 2rem;
}

.br-assessment-core strong {
  margin-top: 6px;
  color: #0b2148;
  font-size: 0.83rem;
  line-height: 1.22;
}

.br-assessment-core small {
  margin-top: 5px;
  color: #00888b;
  font-size: 0.62rem;
  font-weight: 950;
}

.br-orbit {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 9px;
  width: 170px;
  color: #20385c;
}

.br-orbit::after {
  content: "";
  position: absolute;
  width: 54px;
  border-top: 1px dashed #3f8292;
}

.br-orbit > span {
  display: grid;
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 999px;
  color: #007d83;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 10px 22px rgba(55, 91, 118, 0.12);
  font-weight: 950;
}

.br-orbit h3 {
  margin: 0 0 3px;
  color: #0c244c;
  font-size: 0.66rem;
  text-transform: uppercase;
}

.br-orbit p {
  margin: 0;
  color: #50617d;
  font-size: 0.6rem;
  line-height: 1.3;
}

.br-orbit--one { left: 0; top: 28px; }
.br-orbit--one::after { right: -26px; top: 42px; transform: rotate(29deg); }
.br-orbit--two { right: -2px; top: 28px; }
.br-orbit--two::after { left: -34px; top: 42px; transform: rotate(-29deg); }
.br-orbit--three { right: -2px; top: 267px; }
.br-orbit--three::after { left: -34px; top: 3px; transform: rotate(28deg); }
.br-orbit--four { left: 0; top: 267px; }
.br-orbit--four::after { right: -26px; top: 3px; transform: rotate(-28deg); }

.br-assessment-note {
  position: absolute;
  left: 50%;
  bottom: 8px;
  width: 100%;
  transform: translateX(-50%);
  margin: 0;
  color: #00878a;
  text-align: center;
  font-family: Georgia, serif;
  font-size: 1.02rem;
  font-style: italic;
}

.br-service-page--reference .br-report-card {
  display: block !important;
  align-self: stretch;
  padding: 28px 28px 24px !important;
  border: 1px solid rgba(81, 126, 157, 0.15) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: 0 16px 34px rgba(55, 91, 118, 0.11) !important;
  backdrop-filter: none;
}

.br-report-eyebrow {
  margin-bottom: 9px;
}

.br-report-subtitle {
  margin: 8px 0 18px;
  color: #4d5d78;
  font-size: 0.78rem;
  line-height: 1.45;
}

.br-service-page--reference .br-report-form {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 9px !important;
}

.br-service-page--reference .br-report-form label {
  display: grid;
  gap: 5px;
  color: #354765;
  font-size: 0.67rem;
  font-weight: 800;
}

.br-service-page--reference .br-report-form label span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.br-service-page--reference .br-report-form input,
.br-service-page--reference .br-report-form select {
  min-height: 42px;
  padding: 0 13px;
  border: 1px solid rgba(91, 126, 153, 0.25);
  border-radius: 5px;
  background: #fff;
  color: #263958;
  font: inherit;
  font-size: 0.75rem;
}

.br-service-page--reference .br-report-form .button {
  grid-row: auto;
  min-height: 44px;
  margin-top: 3px;
  border-radius: 5px;
  background: linear-gradient(135deg, #00898c, #087d82);
  font-size: 0.78rem;
  font-weight: 950;
}

.br-service-page--reference .br-report-form .privacy-note,
.br-service-page--reference .br-report-form .form-note {
  margin: 0;
  text-align: center;
  color: #63728b;
  font-size: 0.66rem;
}

.br-service-page--reference .br-report-form .privacy-note::before {
  content: "▣";
  margin-right: 7px;
  color: #007f84;
}

.br-service-page--reference .br-report-form .form-note {
  min-height: 0;
}

.br-service-page--reference .br-footer {
  padding-top: 10px;
  background: #f6fbff;
}

@media (max-width: 1160px) {
  .br-service-page--reference .br-hero-grid,
  .br-review-layout {
    grid-template-columns: 1fr 1fr;
  }

  .br-review-copy { grid-column: 1; }
  .br-assessment { grid-column: 2; }
  .br-service-page--reference .br-report-card { grid-column: 1 / -1; }
  .br-service-page--reference .br-report-form { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .br-service-page--reference .br-report-form .button,
  .br-service-page--reference .br-report-form .privacy-note,
  .br-service-page--reference .br-report-form .form-note { grid-column: 1 / -1; }
}

@media (max-width: 850px) {
  .br-service-page--reference .br-hero-grid,
  .br-review-layout,
  .br-stat-row {
    grid-template-columns: 1fr;
  }

  .br-service-page--reference .br-hero { padding-bottom: 28px; }
  .br-service-page--reference .br-hero-art { justify-self: center; width: min(100%, 500px); }
  .br-stat-row { position: static; width: min(100% - 40px, 680px); margin-top: 10px; transform: none; }
  .br-stat-card + .br-stat-card::before { top: 0; right: 24px; bottom: auto; left: 24px; border-top: 1px solid rgba(111,139,165,.22); border-left: 0; }
  .br-review-band { padding-top: 36px; }
  .br-review-copy,
  .br-assessment,
  .br-service-page--reference .br-report-card { grid-column: 1; }
}

@media (max-width: 640px) {
  .br-service-page--reference .shell { width: min(100% - 28px, 1320px); }
  .br-service-page--reference .br-hero h1 { font-size: clamp(3rem, 15vw, 4.5rem); }
  .br-service-page--reference .br-value-grid,
  .br-service-page--reference .br-report-form { grid-template-columns: 1fr !important; }
  .br-assessment { min-height: 620px; }
  .br-assessment-ring { top: 180px; width: 210px; height: 210px; }
  .br-orbit { position: relative; top: auto !important; right: auto !important; left: auto !important; width: 100%; margin: 8px 0; }
  .br-orbit::after { display: none; }
  .br-assessment-note { bottom: 0; }
}

/* Account Security & MFA: June 18 editorial reference */
.as-service-body--editorial { background:#fbfdff; color:#07183e; }
.as-service-page--editorial { min-height:100vh; overflow-x:hidden; }
.as-service-page--editorial .shell { width:min(100% - 56px,1320px); }
.as-service-page--editorial .as-hero { position:relative; padding:14px 0 54px; background:radial-gradient(circle at 81% 24%,rgba(78,194,201,.17),transparent 27%),radial-gradient(circle at 7% 65%,rgba(153,205,229,.16),transparent 20%),linear-gradient(180deg,#fff 0%,#fbfdff 100%); }
.as-service-page--editorial .as-language-row { min-height:22px; }
.as-service-page--editorial .as-hero-grid { display:grid; grid-template-columns:minmax(0,.91fr) minmax(520px,1fr); gap:clamp(40px,6vw,90px); align-items:center; padding:24px 0 58px; }
.as-service-page--editorial .as-hero-copy { max-width:690px; }
.as-service-page--editorial .as-eyebrow,.as-section-eyebrow,.as-report-eyebrow { margin:0 0 16px; color:#00858a; font-size:.84rem; font-weight:950; letter-spacing:.055em; text-transform:uppercase; }
.as-service-page--editorial .as-hero h1 { max-width:760px; margin:0; color:#07183e; font-family:Georgia,"Times New Roman",serif; font-size:clamp(4.3rem,6.25vw,6.45rem); font-weight:700; line-height:.91; letter-spacing:-.055em; }
.as-service-page--editorial .as-hero-subtitle { max-width:610px; margin:22px 0 0; color:#24365d; font-size:clamp(1.08rem,1.35vw,1.26rem); line-height:1.5; }
.as-hero-context { max-width:620px; margin:10px 0 0; color:#52617d; font-size:.95rem; line-height:1.5; }
.as-service-page--editorial .as-actions { margin-top:26px; }
.as-service-page--editorial .as-actions .button { min-height:52px; padding:0 30px; border-radius:6px; background:linear-gradient(135deg,#00898c,#047b81); color:#fff; font-size:.98rem; font-weight:950; box-shadow:0 16px 30px rgba(0,118,122,.2); }
.as-service-page--editorial .as-actions .button::after,.as-service-page--editorial .as-report-form .button::after { content:"→"; margin-left:14px; font-size:1.25rem; }
.as-service-page--editorial .as-hero-art { justify-self:end; width:min(100%,600px); filter:drop-shadow(0 30px 34px rgba(25,66,103,.18)); }
.as-service-page--editorial .as-hero-art::before { inset:-10% -7% -3%; width:auto; aspect-ratio:auto; border-radius:50%; background:radial-gradient(ellipse at center,rgba(111,207,212,.25),rgba(200,234,241,.12) 58%,transparent 70%); transform:none; }

.as-stat-row { position:absolute; z-index:4; left:50%; bottom:-1px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:min(calc(100% - 120px),900px); transform:translateX(-50%); border:1px solid rgba(111,139,165,.16); border-radius:12px; background:rgba(255,255,255,.96); box-shadow:0 18px 38px rgba(52,82,112,.13); }
.as-stat-card { position:relative; display:grid; grid-template-columns:70px minmax(0,1fr); gap:17px; align-items:center; min-height:104px; padding:18px 24px; }
.as-stat-card + .as-stat-card::before { content:""; position:absolute; left:0; top:24px; bottom:24px; border-left:1px solid rgba(111,139,165,.22); }
.as-stat-icon { display:grid; width:60px; height:60px; place-items:center; border-radius:999px; color:#007b80; background:linear-gradient(145deg,#e5f7f7,#f0f8fb); }
.as-stat-icon svg { width:37px; height:37px; fill:currentColor; }
.as-stat-card strong { display:block; margin-bottom:5px; color:#008387; font-size:clamp(1.35rem,2vw,2rem); line-height:1; letter-spacing:-.03em; }
.as-stat-card p { max-width:200px; margin:0; color:#15294f; font-size:.7rem; font-weight:700; line-height:1.35; }

.as-review-band { padding:66px 0 28px; background:radial-gradient(circle at 32% 44%,rgba(120,201,212,.12),transparent 25%),linear-gradient(180deg,#edf8fd 0%,#f6fbff 100%); }
.as-review-layout { display:grid; grid-template-columns:minmax(280px,.78fr) minmax(420px,1.1fr) minmax(320px,.78fr); gap:38px; align-items:center; }
.as-review-copy h2,.as-service-page--editorial .as-report-card h2 { margin:0; color:#07183e; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2rem,2.7vw,2.85rem); line-height:1.05; letter-spacing:-.035em; }
.as-review-context { margin:13px 0 20px; color:#52617d; font-size:.82rem; line-height:1.45; }
.as-value-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.as-value-grid article { display:grid; grid-template-columns:48px minmax(0,1fr); gap:12px; align-items:start; min-height:104px; padding:15px; border:1px solid rgba(81,126,157,.14); border-radius:8px; background:rgba(255,255,255,.84); box-shadow:0 10px 24px rgba(55,91,118,.08); }
.as-value-icon { display:grid; width:44px; height:44px; place-items:center; color:#007d83; }
.as-value-icon svg { width:38px; height:38px; fill:currentColor; }
.as-value-grid h3 { margin:3px 0 5px; color:#0d244b; font-size:.75rem; text-transform:uppercase; }
.as-value-grid p { margin:0; color:#405170; font-size:.68rem; line-height:1.4; }

.as-assessment { position:relative; min-height:420px; }
.as-assessment-ring { position:absolute; left:50%; top:48px; width:235px; height:235px; transform:translateX(-50%); border-radius:999px; background:conic-gradient(#006f88 0 25%,#1f9b9d 25% 50%,#61bfb1 50% 75%,#55a8ba 75% 100%); box-shadow:0 18px 34px rgba(36,118,136,.16); }
.as-assessment-ring::before { content:""; position:absolute; inset:30px; border-radius:inherit; background:rgba(255,255,255,.96); }
.as-assessment-core { position:absolute; z-index:2; inset:52px; display:grid; place-items:center; align-content:center; text-align:center; }
.as-core-icon { color:#0b315b; font-size:2rem; }
.as-assessment-core strong { margin-top:6px; color:#0b2148; font-size:.83rem; line-height:1.22; }
.as-assessment-core small { margin-top:5px; color:#00888b; font-size:.62rem; font-weight:950; }
.as-orbit { position:absolute; display:flex; align-items:center; gap:9px; width:170px; color:#20385c; }
.as-orbit::after { content:""; position:absolute; width:54px; border-top:1px dashed #3f8292; }
.as-orbit > span { display:grid; flex:0 0 auto; width:48px; height:48px; place-items:center; border-radius:999px; color:#007d83; background:rgba(255,255,255,.94); box-shadow:0 10px 22px rgba(55,91,118,.12); font-weight:950; }
.as-orbit h3 { margin:0 0 3px; color:#0c244c; font-size:.66rem; text-transform:uppercase; }
.as-orbit p { margin:0; color:#50617d; font-size:.6rem; line-height:1.3; }
.as-orbit--one { left:0; top:28px; } .as-orbit--one::after { right:-26px; top:42px; transform:rotate(29deg); }
.as-orbit--two { right:-2px; top:28px; } .as-orbit--two::after { left:-34px; top:42px; transform:rotate(-29deg); }
.as-orbit--three { right:-2px; top:267px; } .as-orbit--three::after { left:-34px; top:3px; transform:rotate(28deg); }
.as-orbit--four { left:0; top:267px; } .as-orbit--four::after { right:-26px; top:3px; transform:rotate(-28deg); }
.as-assessment-note { position:absolute; left:50%; bottom:8px; width:100%; transform:translateX(-50%); margin:0; color:#00878a; text-align:center; font-family:Georgia,serif; font-size:1.02rem; font-style:italic; }

.as-service-page--editorial .as-report-card { display:block !important; align-self:stretch; padding:28px 28px 24px !important; border:1px solid rgba(81,126,157,.15) !important; border-radius:10px !important; background:rgba(255,255,255,.94) !important; box-shadow:0 16px 34px rgba(55,91,118,.11) !important; backdrop-filter:none; }
.as-report-eyebrow { margin-bottom:9px; }
.as-report-subtitle { margin:8px 0 18px; color:#4d5d78; font-size:.78rem; line-height:1.45; }
.as-service-page--editorial .as-report-form { display:grid !important; grid-template-columns:1fr !important; gap:9px !important; }
.as-service-page--editorial .as-report-form label { display:grid; gap:5px; color:#354765; font-size:.67rem; font-weight:800; }
.as-service-page--editorial .as-report-form label span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.as-service-page--editorial .as-report-form input,.as-service-page--editorial .as-report-form select { min-height:42px; padding:0 13px; border:1px solid rgba(91,126,153,.25); border-radius:5px; background:#fff; color:#263958; font:inherit; font-size:.75rem; }
.as-service-page--editorial .as-report-form .button { min-height:44px; margin-top:3px; border-radius:5px; background:linear-gradient(135deg,#00898c,#087d82); font-size:.78rem; font-weight:950; }
.as-service-page--editorial .as-report-form .privacy-note,.as-service-page--editorial .as-report-form .form-note { margin:0; text-align:center; color:#63728b; font-size:.66rem; }
.as-service-page--editorial .as-report-form .privacy-note::before { content:"▣"; margin-right:7px; color:#007f84; }
.as-service-page--editorial .as-report-form .form-note { min-height:0; }

@media (max-width:1160px) {
  .as-service-page--editorial .as-hero-grid,.as-review-layout { grid-template-columns:1fr 1fr; }
  .as-review-copy { grid-column:1; } .as-assessment { grid-column:2; } .as-service-page--editorial .as-report-card { grid-column:1 / -1; }
  .as-service-page--editorial .as-report-form { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .as-service-page--editorial .as-report-form .button,.as-service-page--editorial .as-report-form .privacy-note,.as-service-page--editorial .as-report-form .form-note { grid-column:1 / -1; }
}

@media (max-width:850px) {
  .as-service-page--editorial .as-hero-grid,.as-review-layout,.as-stat-row { grid-template-columns:1fr; }
  .as-service-page--editorial .as-hero { padding-bottom:28px; }
  .as-service-page--editorial .as-hero-art { justify-self:center; width:min(100%,500px); }
  .as-stat-row { position:static; width:min(100% - 40px,680px); margin-top:10px; transform:none; }
  .as-stat-card + .as-stat-card::before { top:0; right:24px; bottom:auto; left:24px; border-top:1px solid rgba(111,139,165,.22); border-left:0; }
  .as-review-band { padding-top:36px; }
  .as-review-copy,.as-assessment,.as-service-page--editorial .as-report-card { grid-column:1; }
}

@media (max-width:640px) {
  .as-service-page--editorial .shell { width:min(100% - 28px,1320px); }
  .as-service-page--editorial .as-hero h1 { font-size:clamp(3rem,15vw,4.5rem); }
  .as-value-grid,.as-service-page--editorial .as-report-form { grid-template-columns:1fr !important; }
  .as-assessment { min-height:620px; }
  .as-assessment-ring { top:180px; width:210px; height:210px; }
  .as-orbit { position:relative; top:auto !important; right:auto !important; left:auto !important; width:100%; margin:8px 0; }
  .as-orbit::after { display:none; }
  .as-assessment-note { bottom:0; }
}

/* Email & Phishing Risk Review: June 18 editorial reference */
.ep-service-body--editorial { background:#fbfdff; color:#07183e; }
.ep-service-page--editorial { min-height:100vh; overflow-x:hidden; }
.ep-service-page--editorial .shell { width:min(100% - 56px,1320px); }
.ep-service-page--editorial .ep-hero { position:relative; padding:14px 0 54px; background:radial-gradient(circle at 81% 24%,rgba(78,194,201,.17),transparent 27%),radial-gradient(circle at 7% 65%,rgba(153,205,229,.16),transparent 20%),linear-gradient(180deg,#fff 0%,#fbfdff 100%); }
.ep-service-page--editorial .ep-language-row { min-height:22px; }
.ep-service-page--editorial .ep-hero-grid { display:grid; grid-template-columns:minmax(0,.91fr) minmax(520px,1fr); gap:clamp(40px,6vw,90px); align-items:center; padding:24px 0 58px; }
.ep-service-page--editorial .ep-hero-copy { max-width:710px; }
.ep-service-page--editorial .ep-eyebrow,.ep-section-eyebrow,.ep-report-eyebrow { margin:0 0 16px; color:#00858a; font-size:.84rem; font-weight:950; letter-spacing:.055em; text-transform:uppercase; }
.ep-service-page--editorial .ep-hero h1 { max-width:780px; margin:0; color:#07183e; font-family:Georgia,"Times New Roman",serif; font-size:clamp(4.15rem,6.15vw,6.3rem); font-weight:700; line-height:.91; letter-spacing:-.055em; }
.ep-service-page--editorial .ep-hero-subtitle { max-width:630px; margin:22px 0 0; color:#24365d; font-size:clamp(1.08rem,1.35vw,1.26rem); line-height:1.5; }
.ep-service-page--editorial .ep-actions { gap:16px; margin-top:26px; }
.ep-service-page--editorial .ep-actions .button { min-height:52px; padding:0 26px; border-radius:6px; font-size:.92rem; font-weight:950; }
.ep-service-page--editorial .ep-actions .button--primary { background:linear-gradient(135deg,#00898c,#047b81); color:#fff; box-shadow:0 16px 30px rgba(0,118,122,.2); }
.ep-service-page--editorial .ep-actions .button--primary::after,.ep-service-page--editorial .ep-report-form .button::after { content:"→"; margin-left:13px; font-size:1.2rem; }
.ep-service-page--editorial .ep-actions .button--secondary { color:#07546c; background:rgba(255,255,255,.9); border:1px solid #00858a; box-shadow:none; }
.ep-service-page--editorial .ep-actions .button--secondary::after { content:"⇩"; margin-left:10px; }
.ep-service-page--editorial .ep-hero-art { justify-self:end; width:min(100%,600px); filter:drop-shadow(0 30px 34px rgba(25,66,103,.18)); }
.ep-service-page--editorial .ep-hero-art::before { content:""; position:absolute; inset:-10% -7% -3%; border-radius:50%; background:radial-gradient(ellipse at center,rgba(111,207,212,.25),rgba(200,234,241,.12) 58%,transparent 70%); z-index:0; }
.ep-service-page--editorial .ep-hero-art img { position:relative; z-index:1; display:block; width:100%; }

.ep-stat-row { position:absolute; z-index:4; left:50%; bottom:-1px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:min(calc(100% - 120px),920px); transform:translateX(-50%); border:1px solid rgba(111,139,165,.16); border-radius:12px; background:rgba(255,255,255,.96); box-shadow:0 18px 38px rgba(52,82,112,.13); }
.ep-stat-card { position:relative; display:grid; grid-template-columns:70px minmax(0,1fr); gap:17px; align-items:center; min-height:104px; padding:18px 24px; }
.ep-stat-card + .ep-stat-card::before { content:""; position:absolute; left:0; top:24px; bottom:24px; border-left:1px solid rgba(111,139,165,.22); }
.ep-stat-icon { display:grid; width:60px; height:60px; place-items:center; border-radius:999px; color:#007b80; background:linear-gradient(145deg,#e5f7f7,#f0f8fb); }
.ep-stat-icon svg { width:37px; height:37px; }
.ep-stat-card strong { display:block; margin-bottom:5px; color:#008387; font-size:clamp(2rem,2.8vw,2.85rem); line-height:.95; letter-spacing:-.04em; }
.ep-stat-card p { max-width:200px; margin:0; color:#15294f; font-size:.7rem; font-weight:700; line-height:1.35; }

.ep-review-band { padding:66px 0 28px; background:radial-gradient(circle at 32% 44%,rgba(120,201,212,.12),transparent 25%),linear-gradient(180deg,#edf8fd 0%,#f6fbff 100%); }
.ep-review-layout { display:grid; grid-template-columns:minmax(280px,.78fr) minmax(420px,1.1fr) minmax(320px,.78fr); gap:38px; align-items:center; }
.ep-review-copy h2,.ep-service-page--editorial .ep-report-card h2 { margin:0; color:#07183e; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2rem,2.7vw,2.85rem); line-height:1.05; letter-spacing:-.035em; }
.ep-review-context { margin:13px 0 20px; color:#52617d; font-size:.82rem; line-height:1.45; }
.ep-value-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.ep-value-grid article { display:grid; grid-template-columns:48px minmax(0,1fr); gap:12px; align-items:start; min-height:112px; padding:15px; border:1px solid rgba(81,126,157,.14); border-radius:8px; background:rgba(255,255,255,.84); box-shadow:0 10px 24px rgba(55,91,118,.08); }
.ep-value-icon { display:grid; width:44px; height:44px; place-items:center; color:#007d83; }
.ep-value-icon svg { width:37px; height:37px; fill:currentColor; }
.ep-value-grid h3 { margin:3px 0 5px; color:#0d244b; font-size:.72rem; text-transform:uppercase; }
.ep-value-grid p { margin:0; color:#405170; font-size:.67rem; line-height:1.4; }

.ep-assessment { position:relative; min-height:420px; }
.ep-assessment-ring { position:absolute; left:50%; top:48px; width:235px; height:235px; transform:translateX(-50%); border-radius:999px; background:conic-gradient(#006f88 0 25%,#1f9b9d 25% 50%,#61bfb1 50% 75%,#55a8ba 75% 100%); box-shadow:0 18px 34px rgba(36,118,136,.16); }
.ep-assessment-ring::before { content:""; position:absolute; inset:30px; border-radius:inherit; background:rgba(255,255,255,.96); }
.ep-assessment-core { position:absolute; z-index:2; inset:52px; display:grid; place-items:center; align-content:center; text-align:center; }
.ep-core-icon { color:#00858a; font-size:2.2rem; }
.ep-assessment-core strong { margin-top:7px; color:#0b2148; font-size:.86rem; line-height:1.2; }
.ep-orbit { position:absolute; display:flex; align-items:center; gap:9px; width:170px; color:#20385c; }
.ep-orbit::after { content:""; position:absolute; width:54px; border-top:1px dashed #3f8292; }
.ep-orbit > span { display:grid; flex:0 0 auto; width:48px; height:48px; place-items:center; border-radius:999px; color:#007d83; background:rgba(255,255,255,.94); box-shadow:0 10px 22px rgba(55,91,118,.12); font-weight:950; }
.ep-orbit h3 { margin:0 0 3px; color:#0c244c; font-size:.66rem; text-transform:uppercase; }
.ep-orbit p { margin:0; color:#50617d; font-size:.6rem; line-height:1.3; }
.ep-orbit--one { left:0; top:28px; } .ep-orbit--one::after { right:-26px; top:42px; transform:rotate(29deg); }
.ep-orbit--two { right:-2px; top:28px; } .ep-orbit--two::after { left:-34px; top:42px; transform:rotate(-29deg); }
.ep-orbit--three { right:-2px; top:267px; } .ep-orbit--three::after { left:-34px; top:3px; transform:rotate(28deg); }
.ep-orbit--four { left:0; top:267px; } .ep-orbit--four::after { right:-26px; top:3px; transform:rotate(-28deg); }
.ep-assessment-note { position:absolute; left:50%; bottom:8px; width:100%; transform:translateX(-50%); margin:0; color:#00878a; text-align:center; font-family:Georgia,serif; font-size:1.02rem; font-style:italic; }

.ep-service-page--editorial .ep-report-card { display:block !important; align-self:stretch; padding:28px 28px 24px !important; border:1px solid rgba(81,126,157,.15) !important; border-radius:10px !important; background:rgba(255,255,255,.94) !important; box-shadow:0 16px 34px rgba(55,91,118,.11) !important; backdrop-filter:none; }
.ep-report-eyebrow { margin-bottom:9px; }
.ep-report-subtitle { margin:8px 0 18px; color:#4d5d78; font-size:.78rem; line-height:1.45; }
.ep-service-page--editorial .ep-report-form { display:grid !important; grid-template-columns:1fr !important; gap:9px !important; }
.ep-service-page--editorial .ep-report-form label { display:grid; gap:5px; color:#354765; font-size:.67rem; font-weight:800; }
.ep-service-page--editorial .ep-report-form label span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.ep-service-page--editorial .ep-report-form input,.ep-service-page--editorial .ep-report-form select { min-height:42px; padding:0 13px; border:1px solid rgba(91,126,153,.25); border-radius:5px; background:#fff; color:#263958; font:inherit; font-size:.75rem; }
.ep-service-page--editorial .ep-report-form .button { min-height:44px; margin-top:3px; border-radius:5px; background:linear-gradient(135deg,#00898c,#087d82); font-size:.78rem; font-weight:950; }
.ep-service-page--editorial .ep-report-form .privacy-note,.ep-service-page--editorial .ep-report-form .form-note { margin:0; text-align:center; color:#63728b; font-size:.66rem; }
.ep-service-page--editorial .ep-report-form .privacy-note::before { content:"▣"; margin-right:7px; color:#007f84; }
.ep-service-page--editorial .ep-report-form .form-note { min-height:0; }

@media (max-width:1160px) {
  .ep-service-page--editorial .ep-hero-grid,.ep-review-layout { grid-template-columns:1fr 1fr; }
  .ep-review-copy { grid-column:1; } .ep-assessment { grid-column:2; } .ep-service-page--editorial .ep-report-card { grid-column:1 / -1; }
  .ep-service-page--editorial .ep-report-form { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .ep-service-page--editorial .ep-report-form .button,.ep-service-page--editorial .ep-report-form .privacy-note,.ep-service-page--editorial .ep-report-form .form-note { grid-column:1 / -1; }
}

@media (max-width:850px) {
  .ep-service-page--editorial .ep-hero-grid,.ep-review-layout,.ep-stat-row { grid-template-columns:1fr; }
  .ep-service-page--editorial .ep-hero { padding-bottom:28px; }
  .ep-service-page--editorial .ep-hero-art { justify-self:center; width:min(100%,500px); }
  .ep-stat-row { position:static; width:min(100% - 40px,680px); margin-top:10px; transform:none; }
  .ep-stat-card + .ep-stat-card::before { top:0; right:24px; bottom:auto; left:24px; border-top:1px solid rgba(111,139,165,.22); border-left:0; }
  .ep-review-band { padding-top:36px; }
  .ep-review-copy,.ep-assessment,.ep-service-page--editorial .ep-report-card { grid-column:1; }
}

@media (max-width:640px) {
  .ep-service-page--editorial .shell { width:min(100% - 28px,1320px); }
  .ep-service-page--editorial .ep-hero h1 { font-size:clamp(3rem,15vw,4.5rem); }
  .ep-service-page--editorial .ep-actions .button { width:100%; }
  .ep-value-grid,.ep-service-page--editorial .ep-report-form { grid-template-columns:1fr !important; }
  .ep-assessment { min-height:620px; }
  .ep-assessment-ring { top:180px; width:210px; height:210px; }
  .ep-orbit { position:relative; top:auto !important; right:auto !important; left:auto !important; width:100%; margin:8px 0; }
  .ep-orbit::after { display:none; }
  .ep-assessment-note { bottom:0; }
}

/* Incident Response Mini-Plan: June 18 editorial reference */
.ir-service-body--editorial{background:#fbfdff;color:#07183e}.ir-service-page--editorial{min-height:100vh;overflow-x:hidden}.ir-service-page--editorial .shell{width:min(100% - 56px,1320px)}
.ir-service-page--editorial .ir-hero{position:relative;padding:14px 0 54px;background:radial-gradient(circle at 81% 24%,rgba(78,194,201,.17),transparent 27%),radial-gradient(circle at 7% 65%,rgba(153,205,229,.16),transparent 20%),linear-gradient(180deg,#fff 0%,#fbfdff 100%)}.ir-service-page--editorial .ir-language-row{min-height:22px}.ir-service-page--editorial .ir-hero-grid{display:grid;grid-template-columns:minmax(0,.91fr) minmax(520px,1fr);gap:clamp(40px,6vw,90px);align-items:center;padding:24px 0 58px}.ir-service-page--editorial .ir-hero-copy{max-width:700px}.ir-service-page--editorial .ir-eyebrow,.ir-section-eyebrow,.ir-report-eyebrow{margin:0 0 16px;color:#00858a;font-size:.84rem;font-weight:950;letter-spacing:.055em;text-transform:uppercase}.ir-service-page--editorial .ir-hero h1{max-width:770px;margin:0;color:#07183e;font-family:Georgia,"Times New Roman",serif;font-size:clamp(4.3rem,6.25vw,6.45rem);font-weight:700;line-height:.91;letter-spacing:-.055em}.ir-service-page--editorial .ir-hero-subtitle{max-width:620px;margin:22px 0 0;color:#24365d;font-size:clamp(1.08rem,1.35vw,1.26rem);line-height:1.5}.ir-service-page--editorial .ir-actions{margin-top:26px}.ir-service-page--editorial .ir-actions .button{min-height:52px;padding:0 30px;border-radius:6px;background:linear-gradient(135deg,#00898c,#047b81);color:#fff;font-size:.98rem;font-weight:950;box-shadow:0 16px 30px rgba(0,118,122,.2)}.ir-service-page--editorial .ir-actions .button::after,.ir-service-page--editorial .ir-report-form .button::after{content:"→";margin-left:14px;font-size:1.25rem}.ir-service-page--editorial .ir-hero-art{justify-self:end;width:min(100%,600px);filter:drop-shadow(0 30px 34px rgba(25,66,103,.18))}.ir-service-page--editorial .ir-hero-art::before{content:"";position:absolute;inset:-10% -7% -3%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(111,207,212,.25),rgba(200,234,241,.12) 58%,transparent 70%);z-index:0}.ir-service-page--editorial .ir-hero-art img{position:relative;z-index:1;display:block;width:100%}
.ir-stat-row{position:absolute;z-index:4;left:50%;bottom:-1px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(calc(100% - 120px),900px);transform:translateX(-50%);border:1px solid rgba(111,139,165,.16);border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 18px 38px rgba(52,82,112,.13)}.ir-stat-card{position:relative;display:grid;grid-template-columns:70px minmax(0,1fr);gap:17px;align-items:center;min-height:104px;padding:18px 24px}.ir-stat-card+.ir-stat-card::before{content:"";position:absolute;left:0;top:24px;bottom:24px;border-left:1px solid rgba(111,139,165,.22)}.ir-stat-icon{display:grid;width:60px;height:60px;place-items:center;border-radius:999px;color:#07183e;background:linear-gradient(145deg,#e5f7f7,#f0f8fb)}.ir-stat-icon svg{width:37px;height:37px}.ir-stat-card strong{display:block;margin-bottom:5px;color:#008387;font-size:clamp(2rem,2.8vw,2.85rem);line-height:.95;letter-spacing:-.04em}.ir-stat-card p{max-width:200px;margin:0;color:#15294f;font-size:.7rem;font-weight:700;line-height:1.35}
.ir-review-band{padding:66px 0 28px;background:radial-gradient(circle at 32% 44%,rgba(120,201,212,.12),transparent 25%),linear-gradient(180deg,#edf8fd 0%,#f6fbff 100%)}.ir-review-layout{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(420px,1.1fr) minmax(320px,.78fr);gap:38px;align-items:center}.ir-review-copy h2,.ir-service-page--editorial .ir-report-card h2{margin:0;color:#07183e;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,2.7vw,2.85rem);line-height:1.05;letter-spacing:-.035em}.ir-value-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}.ir-value-grid article{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:start;min-height:112px;padding:15px;border:1px solid rgba(81,126,157,.14);border-radius:8px;background:rgba(255,255,255,.84);box-shadow:0 10px 24px rgba(55,91,118,.08)}.ir-value-icon{display:grid;width:44px;height:44px;place-items:center;color:#007d83;font-size:2rem;font-weight:950}.ir-value-icon svg{width:37px;height:37px;fill:currentColor}.ir-value-grid h3{margin:3px 0 5px;color:#0d244b;font-size:.72rem;text-transform:uppercase}.ir-value-grid p{margin:0;color:#405170;font-size:.67rem;line-height:1.4}
.ir-assessment{position:relative;min-height:420px}.ir-assessment-ring{position:absolute;left:50%;top:48px;width:235px;height:235px;transform:translateX(-50%);border-radius:999px;background:conic-gradient(#006f88 0 25%,#1f9b9d 25% 50%,#61bfb1 50% 75%,#55a8ba 75% 100%);box-shadow:0 18px 34px rgba(36,118,136,.16)}.ir-assessment-ring::before{content:"";position:absolute;inset:30px;border-radius:inherit;background:rgba(255,255,255,.96)}.ir-assessment-core{position:absolute;z-index:2;inset:52px;display:grid;place-items:center;align-content:center;text-align:center}.ir-core-icon{color:#07183e;font-size:2rem}.ir-assessment-core strong{margin-top:7px;color:#0b2148;font-size:.88rem;line-height:1.2}.ir-orbit{position:absolute;display:flex;align-items:center;gap:9px;width:170px;color:#20385c}.ir-orbit::after{content:"";position:absolute;width:54px;border-top:1px dashed #3f8292}.ir-orbit>span{display:grid;flex:0 0 auto;width:48px;height:48px;place-items:center;border-radius:999px;color:#007d83;background:rgba(255,255,255,.94);box-shadow:0 10px 22px rgba(55,91,118,.12);font-weight:950}.ir-orbit h3{margin:0 0 3px;color:#0c244c;font-size:.66rem;text-transform:uppercase}.ir-orbit p{margin:0;color:#50617d;font-size:.6rem;line-height:1.3}.ir-orbit--one{left:0;top:28px}.ir-orbit--one::after{right:-26px;top:42px;transform:rotate(29deg)}.ir-orbit--two{right:-2px;top:28px}.ir-orbit--two::after{left:-34px;top:42px;transform:rotate(-29deg)}.ir-orbit--three{right:-2px;top:267px}.ir-orbit--three::after{left:-34px;top:3px;transform:rotate(28deg)}.ir-orbit--four{left:0;top:267px}.ir-orbit--four::after{right:-26px;top:3px;transform:rotate(-28deg)}.ir-assessment-note{position:absolute;left:50%;bottom:8px;width:100%;transform:translateX(-50%);margin:0;color:#00878a;text-align:center;font-family:Georgia,serif;font-size:1.02rem;font-style:italic}
.ir-service-page--editorial .ir-report-card{display:block!important;align-self:stretch;padding:28px 28px 24px!important;border:1px solid rgba(81,126,157,.15)!important;border-radius:10px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 16px 34px rgba(55,91,118,.11)!important;backdrop-filter:none}.ir-report-eyebrow{margin-bottom:9px}.ir-report-subtitle{margin:8px 0 18px;color:#4d5d78;font-size:.78rem;line-height:1.45}.ir-service-page--editorial .ir-report-form{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}.ir-service-page--editorial .ir-report-form label{display:grid;gap:5px;color:#354765;font-size:.67rem;font-weight:800}.ir-service-page--editorial .ir-report-form label span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.ir-service-page--editorial .ir-report-form input,.ir-service-page--editorial .ir-report-form select{min-height:42px;padding:0 13px;border:1px solid rgba(91,126,153,.25);border-radius:5px;background:#fff;color:#263958;font:inherit;font-size:.75rem}.ir-service-page--editorial .ir-report-form .button{min-height:44px;margin-top:3px;border-radius:5px;background:linear-gradient(135deg,#00898c,#087d82);font-size:.78rem;font-weight:950}.ir-service-page--editorial .ir-report-form .privacy-note,.ir-service-page--editorial .ir-report-form .form-note{margin:0;text-align:center;color:#63728b;font-size:.66rem}.ir-service-page--editorial .ir-report-form .privacy-note::before{content:"▣";margin-right:7px;color:#007f84}.ir-service-page--editorial .ir-report-form .form-note{min-height:0}
@media(max-width:1160px){.ir-service-page--editorial .ir-hero-grid,.ir-review-layout{grid-template-columns:1fr 1fr}.ir-review-copy{grid-column:1}.ir-assessment{grid-column:2}.ir-service-page--editorial .ir-report-card{grid-column:1/-1}.ir-service-page--editorial .ir-report-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ir-service-page--editorial .ir-report-form .button,.ir-service-page--editorial .ir-report-form .privacy-note,.ir-service-page--editorial .ir-report-form .form-note{grid-column:1/-1}}
@media(max-width:850px){.ir-service-page--editorial .ir-hero-grid,.ir-review-layout,.ir-stat-row{grid-template-columns:1fr}.ir-service-page--editorial .ir-hero{padding-bottom:28px}.ir-service-page--editorial .ir-hero-art{justify-self:center;width:min(100%,500px)}.ir-stat-row{position:static;width:min(100% - 40px,680px);margin-top:10px;transform:none}.ir-stat-card+.ir-stat-card::before{top:0;right:24px;bottom:auto;left:24px;border-top:1px solid rgba(111,139,165,.22);border-left:0}.ir-review-band{padding-top:36px}.ir-review-copy,.ir-assessment,.ir-service-page--editorial .ir-report-card{grid-column:1}}
@media(max-width:640px){.ir-service-page--editorial .shell{width:min(100% - 28px,1320px)}.ir-service-page--editorial .ir-hero h1{font-size:clamp(3rem,15vw,4.5rem)}.ir-value-grid,.ir-service-page--editorial .ir-report-form{grid-template-columns:1fr!important}.ir-assessment{min-height:620px}.ir-assessment-ring{top:180px;width:210px;height:210px}.ir-orbit{position:relative;top:auto!important;right:auto!important;left:auto!important;width:100%;margin:8px 0}.ir-orbit::after{display:none}.ir-assessment-note{bottom:0}}

/* Basic Technical Security Review: June 18 editorial reference */
.ts-service-body--editorial{background:#fbfdff;color:#07183e}.ts-service-page--editorial{min-height:100vh;overflow-x:hidden}.ts-service-page--editorial .shell{width:min(100% - 56px,1320px)}
.ts-service-page--editorial .ts-hero{position:relative;padding:14px 0 54px;background:radial-gradient(circle at 81% 24%,rgba(78,194,201,.17),transparent 27%),radial-gradient(circle at 7% 65%,rgba(153,205,229,.16),transparent 20%),linear-gradient(180deg,#fff 0%,#fbfdff 100%)}.ts-service-page--editorial .ts-language-row{min-height:22px}.ts-service-page--editorial .ts-hero-grid{display:grid;grid-template-columns:minmax(0,.91fr) minmax(520px,1fr);gap:clamp(40px,6vw,90px);align-items:center;padding:24px 0 58px}.ts-service-page--editorial .ts-hero-copy{max-width:720px}.ts-service-page--editorial .ts-eyebrow,.ts-section-eyebrow,.ts-report-eyebrow{margin:0 0 16px;color:#00858a;font-size:.84rem;font-weight:950;letter-spacing:.055em;text-transform:uppercase}.ts-service-page--editorial .ts-hero h1{max-width:780px;margin:0;color:#07183e;font-family:Georgia,"Times New Roman",serif;font-size:clamp(4.15rem,6.1vw,6.25rem);font-weight:700;line-height:.91;letter-spacing:-.055em}.ts-service-page--editorial .ts-hero-subtitle{max-width:630px;margin:22px 0 0;color:#24365d;font-size:clamp(1.08rem,1.35vw,1.26rem);line-height:1.5}.ts-service-page--editorial .ts-actions{margin-top:26px}.ts-service-page--editorial .ts-actions .button{min-height:52px;padding:0 30px;border-radius:6px;background:linear-gradient(135deg,#00898c,#047b81);color:#fff;font-size:.95rem;font-weight:950;box-shadow:0 16px 30px rgba(0,118,122,.2)}.ts-service-page--editorial .ts-actions .button::after,.ts-service-page--editorial .ts-report-form .button::after{content:"→";margin-left:14px;font-size:1.25rem}.ts-service-page--editorial .ts-hero-art{justify-self:end;width:min(100%,600px);filter:drop-shadow(0 30px 34px rgba(25,66,103,.18))}.ts-service-page--editorial .ts-hero-art::before{inset:-10% -7% -3%;width:auto;aspect-ratio:auto;border-radius:50%;background:radial-gradient(ellipse at center,rgba(111,207,212,.25),rgba(200,234,241,.12) 58%,transparent 70%);transform:none}.ts-service-page--editorial .ts-hero-art img{position:relative;z-index:1;display:block;width:100%}
.ts-stat-row{position:absolute;z-index:4;left:50%;bottom:-1px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(calc(100% - 120px),900px);transform:translateX(-50%);border:1px solid rgba(111,139,165,.16);border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 18px 38px rgba(52,82,112,.13)}.ts-stat-card{position:relative;display:grid;grid-template-columns:70px minmax(0,1fr);gap:17px;align-items:center;min-height:104px;padding:18px 24px}.ts-stat-card+.ts-stat-card::before{content:"";position:absolute;left:0;top:24px;bottom:24px;border-left:1px solid rgba(111,139,165,.22)}.ts-stat-icon{display:grid;width:60px;height:60px;place-items:center;border-radius:999px;color:#007b80;background:linear-gradient(145deg,#e5f7f7,#f0f8fb);font-size:2rem;font-weight:950}.ts-stat-icon svg{width:37px;height:37px}.ts-stat-card strong{display:block;margin-bottom:5px;color:#0d244b;font-size:1.05rem;line-height:1.1}.ts-stat-card p{max-width:210px;margin:0;color:#405170;font-size:.72rem;line-height:1.4}
.ts-review-band{padding:66px 0 28px;background:radial-gradient(circle at 32% 44%,rgba(120,201,212,.12),transparent 25%),linear-gradient(180deg,#edf8fd 0%,#f6fbff 100%)}.ts-review-layout{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(420px,1.1fr) minmax(320px,.78fr);gap:38px;align-items:center}.ts-review-copy h2,.ts-service-page--editorial .ts-report-card h2{margin:0;color:#07183e;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,2.7vw,2.85rem);line-height:1.05;letter-spacing:-.035em}.ts-value-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}.ts-value-grid article{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:start;min-height:112px;padding:15px;border:1px solid rgba(81,126,157,.14);border-radius:8px;background:rgba(255,255,255,.84);box-shadow:0 10px 24px rgba(55,91,118,.08)}.ts-value-icon{display:grid;width:44px;height:44px;place-items:center;color:#007d83;font-size:2rem;font-weight:950}.ts-value-icon svg{width:37px;height:37px}.ts-value-grid h3{margin:3px 0 5px;color:#0d244b;font-size:.72rem;text-transform:uppercase}.ts-value-grid p{margin:0;color:#405170;font-size:.67rem;line-height:1.4}
.ts-assessment{position:relative;min-height:420px}.ts-assessment-ring{position:absolute;left:50%;top:48px;width:235px;height:235px;transform:translateX(-50%);border-radius:999px;background:conic-gradient(#006f88 0 25%,#1f9b9d 25% 50%,#61bfb1 50% 75%,#55a8ba 75% 100%);box-shadow:0 18px 34px rgba(36,118,136,.16)}.ts-assessment-ring::before{content:"";position:absolute;inset:30px;border-radius:inherit;background:rgba(255,255,255,.96)}.ts-assessment-core{position:absolute;z-index:2;inset:52px;display:grid;place-items:center;align-content:center;text-align:center}.ts-core-icon{color:#07183e;font-size:2rem}.ts-assessment-core strong{margin-top:7px;color:#0b2148;font-size:.83rem;line-height:1.2}.ts-assessment-core small{margin-top:5px;color:#00888b;font-size:.58rem;font-weight:950}.ts-orbit{position:absolute;display:flex;align-items:center;gap:9px;width:170px;color:#20385c}.ts-orbit::after{content:"";position:absolute;width:54px;border-top:1px dashed #3f8292}.ts-orbit>span{display:grid;flex:0 0 auto;width:48px;height:48px;place-items:center;border-radius:999px;color:#007d83;background:rgba(255,255,255,.94);box-shadow:0 10px 22px rgba(55,91,118,.12);font-weight:950}.ts-orbit h3{margin:0 0 3px;color:#0c244c;font-size:.66rem;text-transform:uppercase}.ts-orbit p{margin:0;color:#50617d;font-size:.6rem;line-height:1.3}.ts-orbit--one{left:0;top:28px}.ts-orbit--one::after{right:-26px;top:42px;transform:rotate(29deg)}.ts-orbit--two{right:-2px;top:28px}.ts-orbit--two::after{left:-34px;top:42px;transform:rotate(-29deg)}.ts-orbit--three{right:-2px;top:267px}.ts-orbit--three::after{left:-34px;top:3px;transform:rotate(28deg)}.ts-orbit--four{left:0;top:267px}.ts-orbit--four::after{right:-26px;top:3px;transform:rotate(-28deg)}.ts-assessment-note{position:absolute;left:50%;bottom:8px;width:100%;transform:translateX(-50%);margin:0;color:#00878a;text-align:center;font-family:Georgia,serif;font-size:1.02rem;font-style:italic}
.ts-service-page--editorial .ts-report-card{display:block!important;align-self:stretch;padding:28px 28px 24px!important;border:1px solid rgba(81,126,157,.15)!important;border-radius:10px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 16px 34px rgba(55,91,118,.11)!important;backdrop-filter:none}.ts-report-eyebrow{margin-bottom:9px}.ts-report-subtitle{margin:8px 0 18px;color:#4d5d78;font-size:.78rem;line-height:1.45}.ts-service-page--editorial .ts-report-form{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}.ts-service-page--editorial .ts-report-form label{display:grid;gap:5px;color:#354765;font-size:.67rem;font-weight:800}.ts-service-page--editorial .ts-report-form label span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.ts-service-page--editorial .ts-report-form input,.ts-service-page--editorial .ts-report-form select{min-height:42px;padding:0 13px;border:1px solid rgba(91,126,153,.25);border-radius:5px;background:#fff;color:#263958;font:inherit;font-size:.75rem}.ts-service-page--editorial .ts-report-form .button{min-height:44px;margin-top:3px;border-radius:5px;background:linear-gradient(135deg,#00898c,#087d82);font-size:.78rem;font-weight:950}.ts-service-page--editorial .ts-report-form .privacy-note,.ts-service-page--editorial .ts-report-form .form-note{margin:0;text-align:center;color:#63728b;font-size:.66rem}.ts-service-page--editorial .ts-report-form .privacy-note::before{content:"▣";margin-right:7px;color:#007f84}.ts-service-page--editorial .ts-report-form .form-note{min-height:0}
@media(max-width:1160px){.ts-service-page--editorial .ts-hero-grid,.ts-review-layout{grid-template-columns:1fr 1fr}.ts-review-copy{grid-column:1}.ts-assessment{grid-column:2}.ts-service-page--editorial .ts-report-card{grid-column:1/-1}.ts-service-page--editorial .ts-report-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ts-service-page--editorial .ts-report-form .button,.ts-service-page--editorial .ts-report-form .privacy-note,.ts-service-page--editorial .ts-report-form .form-note{grid-column:1/-1}}
@media(max-width:850px){.ts-service-page--editorial .ts-hero-grid,.ts-review-layout,.ts-stat-row{grid-template-columns:1fr}.ts-service-page--editorial .ts-hero{padding-bottom:28px}.ts-service-page--editorial .ts-hero-art{justify-self:center;width:min(100%,500px)}.ts-stat-row{position:static;width:min(100% - 40px,680px);margin-top:10px;transform:none}.ts-stat-card+.ts-stat-card::before{top:0;right:24px;bottom:auto;left:24px;border-top:1px solid rgba(111,139,165,.22);border-left:0}.ts-review-band{padding-top:36px}.ts-review-copy,.ts-assessment,.ts-service-page--editorial .ts-report-card{grid-column:1}}
@media(max-width:640px){.ts-service-page--editorial .shell{width:min(100% - 28px,1320px)}.ts-service-page--editorial .ts-hero h1{font-size:clamp(3rem,15vw,4.5rem)}.ts-value-grid,.ts-service-page--editorial .ts-report-form{grid-template-columns:1fr!important}.ts-assessment{min-height:620px}.ts-assessment-ring{top:180px;width:210px;height:210px}.ts-orbit{position:relative;top:auto!important;right:auto!important;left:auto!important;width:100%;margin:8px 0}.ts-orbit::after{display:none}.ts-assessment-note{bottom:0}}

/* Monthly Cyber Readiness Support: June 18 editorial reference */
.ms-service-body--editorial{background:#fbfdff;color:#07183e}.ms-service-page--editorial{min-height:100vh;overflow-x:hidden}.ms-service-page--editorial .shell{width:min(100% - 56px,1320px)}
.ms-service-page--editorial .ms-hero{position:relative;padding:14px 0 54px;background:radial-gradient(circle at 81% 24%,rgba(78,194,201,.17),transparent 27%),radial-gradient(circle at 7% 65%,rgba(153,205,229,.16),transparent 20%),linear-gradient(180deg,#fff 0%,#fbfdff 100%)}.ms-service-page--editorial .ms-language-row{min-height:22px}.ms-service-page--editorial .ms-hero-grid{display:grid;grid-template-columns:minmax(0,.91fr) minmax(520px,1fr);gap:clamp(40px,6vw,90px);align-items:center;padding:24px 0 58px}.ms-service-page--editorial .ms-hero-copy{max-width:720px}.ms-service-page--editorial .ms-eyebrow,.ms-section-eyebrow,.ms-report-eyebrow{margin:0 0 16px;color:#00858a;font-size:.84rem;font-weight:950;letter-spacing:.055em;text-transform:uppercase}.ms-service-page--editorial .ms-hero h1{max-width:780px;margin:0;color:#07183e;font-family:Georgia,"Times New Roman",serif;font-size:clamp(4.15rem,6.1vw,6.25rem);font-weight:700;line-height:.91;letter-spacing:-.055em}.ms-service-page--editorial .ms-hero-subtitle{max-width:630px;margin:22px 0 0;color:#24365d;font-size:clamp(1.08rem,1.35vw,1.26rem);line-height:1.5}.ms-service-page--editorial .ms-actions{margin-top:26px}.ms-service-page--editorial .ms-actions .button{min-height:52px;padding:0 30px;border-radius:6px;background:linear-gradient(135deg,#00898c,#047b81);color:#fff;font-size:.95rem;font-weight:950;box-shadow:0 16px 30px rgba(0,118,122,.2)}.ms-service-page--editorial .ms-actions .button::after,.ms-service-page--editorial .ms-report-form .button::after{content:"→";margin-left:14px;font-size:1.25rem}
.ms-service-page--editorial .ms-hero-art{justify-self:end;width:min(100%,600px)}.ms-service-page--editorial .ms-hero-illustration{position:relative;width:100%;height:330px;filter:drop-shadow(0 30px 34px rgba(25,66,103,.16))}.ms-service-page--editorial .ms-hero-illustration::before{content:"";position:absolute;inset:-8% -5% -2%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(111,207,212,.25),rgba(200,234,241,.12) 58%,transparent 70%)}.ms-service-page--editorial .ms-cloud{position:absolute;z-index:1;border-radius:999px;background:rgba(255,255,255,.86);box-shadow:0 16px 28px rgba(80,114,145,.1)}.ms-service-page--editorial .ms-cloud::before,.ms-service-page--editorial .ms-cloud::after{content:"";position:absolute;border-radius:50%;background:inherit}.ms-service-page--editorial .ms-cloud--one{right:30px;top:42px;width:120px;height:50px}.ms-service-page--editorial .ms-cloud--one::before{left:18px;top:-25px;width:54px;height:54px}.ms-service-page--editorial .ms-cloud--one::after{right:14px;top:-17px;width:42px;height:42px}.ms-service-page--editorial .ms-cloud--two{left:48px;bottom:46px;width:106px;height:40px;opacity:.76}.ms-service-page--editorial .ms-cloud--two::before{left:16px;top:-22px;width:48px;height:48px}.ms-service-page--editorial .ms-cloud--two::after{right:13px;top:-12px;width:34px;height:34px}
.ms-service-page--editorial .ms-calendar{position:absolute;z-index:3;right:118px;top:48px;width:220px;height:190px;padding:64px 24px 24px;border:1px solid rgba(115,151,178,.24);border-radius:17px;background:rgba(255,255,255,.94);box-shadow:0 24px 42px rgba(58,91,122,.17)}.ms-service-page--editorial .ms-calendar::before{content:"";position:absolute;inset:0 0 auto;height:48px;border-radius:17px 17px 0 0;background:linear-gradient(135deg,#07999d,#08787f)}.ms-service-page--editorial .ms-calendar::after{content:"MONTHLY SUPPORT";position:absolute;left:22px;top:17px;color:#fff;font-size:.66rem;font-weight:950;letter-spacing:.05em}.ms-service-page--editorial .ms-calendar span{display:inline-block;width:35px;height:27px;margin:3px;border-radius:5px;background:#e6f4f5}.ms-service-page--editorial .ms-calendar span:nth-child(2),.ms-service-page--editorial .ms-calendar span:nth-child(5){background:#90d4d2}.ms-service-page--editorial .ms-review-card{position:absolute;z-index:5;right:0;top:76px;width:184px;min-height:175px;padding:24px 22px;border-radius:14px;background:rgba(255,255,255,.97);box-shadow:0 20px 34px rgba(48,81,113,.17)}.ms-service-page--editorial .ms-review-card p,.ms-service-page--editorial .ms-progress-card p{margin:0 0 18px;color:#193258;font-size:.67rem;font-weight:950}.ms-service-page--editorial .ms-review-card i{display:block;position:relative;height:18px;margin:10px 0 0 27px;border-radius:3px;background:linear-gradient(90deg,#c8e8e7 0 25%,#edf4f7 25%)}.ms-service-page--editorial .ms-review-card i::before{content:"✓";position:absolute;left:-28px;top:-2px;display:grid;width:19px;height:19px;place-items:center;border-radius:50%;background:#078d90;color:#fff;font-style:normal;font-size:.68rem}.ms-service-page--editorial .ms-progress-card{position:absolute;z-index:6;right:74px;bottom:8px;width:220px;height:114px;padding:20px;border-radius:12px;background:rgba(255,255,255,.97);box-shadow:0 20px 34px rgba(48,81,113,.17)}.ms-service-page--editorial .ms-progress-card strong{display:grid;width:58px;height:58px;place-items:center;border:9px solid #b9e1df;border-top-color:#00878b;border-radius:50%;color:#087e82;font-size:.8rem}.ms-service-page--editorial .ms-progress-card span{position:absolute;right:20px;bottom:26px;width:104px;height:45px;border-bottom:3px solid #d8e9ec;background:linear-gradient(160deg,transparent 44%,#00878b 45% 49%,transparent 50%)}.ms-service-page--editorial .ms-shield{position:absolute;z-index:7;left:74px;top:114px;width:120px;height:138px;clip-path:polygon(50% 0,92% 16%,86% 70%,50% 100%,14% 70%,8% 16%);background:linear-gradient(145deg,#0ea2a0,#006578);filter:drop-shadow(0 16px 18px rgba(10,91,105,.22))}.ms-service-page--editorial .ms-shield::after{content:"✓";display:grid;height:100%;place-items:center;color:#fff;font-size:4rem;font-weight:950}.ms-service-page--editorial .ms-bell{position:absolute;z-index:8;right:24px;top:27px;display:grid;width:57px;height:57px;place-items:center;border-radius:50%;background:linear-gradient(145deg,#18aaa9,#08777f);color:#fff;font-size:1.6rem;font-weight:950;box-shadow:0 15px 25px rgba(8,121,128,.2)}
.ms-stat-row{position:absolute;z-index:10;left:50%;bottom:-1px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(calc(100% - 120px),980px);transform:translateX(-50%);border:1px solid rgba(111,139,165,.16);border-radius:12px;background:rgba(255,255,255,.97);box-shadow:0 18px 38px rgba(52,82,112,.13)}.ms-stat-card{position:relative;display:grid;grid-template-columns:70px minmax(0,1fr);gap:17px;align-items:center;min-height:104px;padding:18px 24px}.ms-stat-card+.ms-stat-card::before{content:"";position:absolute;left:0;top:24px;bottom:24px;border-left:1px solid rgba(111,139,165,.22)}.ms-stat-icon{display:grid;width:60px;height:60px;place-items:center;border-radius:999px;color:#007d83;background:linear-gradient(145deg,#e2f6f5,#f0f8fb);font-size:2rem;font-weight:950}.ms-stat-icon svg{width:37px;height:37px}.ms-stat-card strong{display:block;margin-bottom:5px;color:#0d244b;font-size:1.02rem;line-height:1.1}.ms-stat-card p{max-width:215px;margin:0;color:#405170;font-size:.72rem;line-height:1.4}
.ms-review-band{padding:66px 0 28px;background:radial-gradient(circle at 32% 44%,rgba(120,201,212,.12),transparent 25%),linear-gradient(180deg,#edf8fd 0%,#f6fbff 100%)}.ms-review-layout{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(420px,1.1fr) minmax(320px,.78fr);gap:38px;align-items:center}.ms-review-copy h2,.ms-service-page--editorial .ms-report-card h2{margin:0;color:#07183e;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,2.7vw,2.85rem);line-height:1.05;letter-spacing:-.035em}.ms-value-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}.ms-value-grid article{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:start;min-height:112px;padding:15px;border:1px solid rgba(81,126,157,.14);border-radius:8px;background:rgba(255,255,255,.86);box-shadow:0 10px 24px rgba(55,91,118,.08)}.ms-value-icon{display:grid;width:44px;height:44px;place-items:center;color:#007d83;font-size:1.8rem;font-weight:950}.ms-value-icon svg{width:37px;height:37px}.ms-value-grid h3{margin:3px 0 5px;color:#0d244b;font-size:.72rem;text-transform:uppercase}.ms-value-grid p{margin:0;color:#405170;font-size:.67rem;line-height:1.4}
.ms-assessment{position:relative;min-height:420px}.ms-assessment-ring{position:absolute;left:50%;top:48px;width:235px;height:235px;transform:translateX(-50%);border-radius:999px;background:conic-gradient(#006f88 0 25%,#1f9b9d 25% 50%,#61bfb1 50% 75%,#55a8ba 75% 100%);box-shadow:0 18px 34px rgba(36,118,136,.16)}.ms-assessment-ring::before{content:"";position:absolute;inset:30px;border-radius:inherit;background:rgba(255,255,255,.96)}.ms-assessment-core{position:absolute;z-index:2;inset:52px;display:grid;place-items:center;align-content:center;text-align:center}.ms-core-icon{color:#00858a;font-size:2rem}.ms-assessment-core strong{margin-top:7px;color:#0b2148;font-size:.76rem;line-height:1.2}.ms-assessment-core small{margin-top:5px;color:#00888b;font-size:.53rem;font-weight:950}.ms-orbit{position:absolute;display:flex;align-items:center;gap:9px;width:170px;color:#20385c}.ms-orbit::after{content:"";position:absolute;width:54px;border-top:1px dashed #3f8292}.ms-orbit>span{display:grid;flex:0 0 auto;width:48px;height:48px;place-items:center;border-radius:999px;color:#007d83;background:rgba(255,255,255,.94);box-shadow:0 10px 22px rgba(55,91,118,.12);font-weight:950}.ms-orbit h3{margin:0 0 3px;color:#0c244c;font-size:.66rem;text-transform:uppercase}.ms-orbit p{margin:0;color:#50617d;font-size:.6rem;line-height:1.3}.ms-orbit--one{left:0;top:28px}.ms-orbit--one::after{right:-26px;top:42px;transform:rotate(29deg)}.ms-orbit--two{right:-2px;top:28px}.ms-orbit--two::after{left:-34px;top:42px;transform:rotate(-29deg)}.ms-orbit--three{right:-2px;top:267px}.ms-orbit--three::after{left:-34px;top:3px;transform:rotate(28deg)}.ms-orbit--four{left:0;top:267px}.ms-orbit--four::after{right:-26px;top:3px;transform:rotate(-28deg)}.ms-assessment-note{position:absolute;left:50%;bottom:8px;width:100%;transform:translateX(-50%);margin:0;color:#00878a;text-align:center;font-family:Georgia,serif;font-size:1.02rem;font-style:italic}
.ms-service-page--editorial .ms-report-card{display:block!important;align-self:stretch;padding:28px 28px 24px!important;border:1px solid rgba(81,126,157,.15)!important;border-radius:10px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 16px 34px rgba(55,91,118,.11)!important;backdrop-filter:none}.ms-report-eyebrow{margin-bottom:9px}.ms-report-subtitle{margin:8px 0 18px;color:#4d5d78;font-size:.78rem;line-height:1.45}.ms-service-page--editorial .ms-report-form{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}.ms-service-page--editorial .ms-report-form label{display:grid;gap:5px;color:#354765;font-size:.67rem;font-weight:800}.ms-service-page--editorial .ms-report-form label span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.ms-service-page--editorial .ms-report-form input,.ms-service-page--editorial .ms-report-form select{min-height:42px;padding:0 13px;border:1px solid rgba(91,126,153,.25);border-radius:5px;background:#fff;color:#263958;font:inherit;font-size:.75rem}.ms-service-page--editorial .ms-report-form .button{min-height:44px;margin-top:3px;border-radius:5px;background:linear-gradient(135deg,#00898c,#087d82);font-size:.78rem;font-weight:950}.ms-service-page--editorial .ms-report-form .privacy-note,.ms-service-page--editorial .ms-report-form .form-note{margin:0;text-align:center;color:#63728b;font-size:.66rem}.ms-service-page--editorial .ms-report-form .privacy-note::before{content:"▣";margin-right:7px;color:#007f84}.ms-service-page--editorial .ms-report-form .form-note{min-height:0}
@media(max-width:1160px){.ms-service-page--editorial .ms-hero-grid,.ms-review-layout{grid-template-columns:1fr 1fr}.ms-review-copy{grid-column:1}.ms-assessment{grid-column:2}.ms-service-page--editorial .ms-report-card{grid-column:1/-1}.ms-service-page--editorial .ms-report-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ms-service-page--editorial .ms-report-form .button,.ms-service-page--editorial .ms-report-form .privacy-note,.ms-service-page--editorial .ms-report-form .form-note{grid-column:1/-1}}
@media(max-width:850px){.ms-service-page--editorial .ms-hero-grid,.ms-review-layout,.ms-stat-row{grid-template-columns:1fr}.ms-service-page--editorial .ms-hero{padding-bottom:28px}.ms-service-page--editorial .ms-hero-art{justify-self:center;width:min(100%,500px)}.ms-stat-row{position:static;width:min(100% - 40px,680px);margin-top:10px;transform:none}.ms-stat-card+.ms-stat-card::before{top:0;right:24px;bottom:auto;left:24px;border-top:1px solid rgba(111,139,165,.22);border-left:0}.ms-review-band{padding-top:36px}.ms-review-copy,.ms-assessment,.ms-service-page--editorial .ms-report-card{grid-column:1}}
@media(max-width:640px){.ms-service-page--editorial .shell{width:min(100% - 28px,1320px)}.ms-service-page--editorial .ms-hero h1{font-size:clamp(3rem,15vw,4.5rem)}.ms-service-page--editorial .ms-actions .button{width:100%}.ms-service-page--editorial .ms-hero-illustration{height:285px;transform:scale(.88)}.ms-value-grid,.ms-service-page--editorial .ms-report-form{grid-template-columns:1fr!important}.ms-assessment{min-height:620px}.ms-assessment-ring{top:180px;width:210px;height:210px}.ms-orbit{position:relative;top:auto!important;right:auto!important;left:auto!important;width:100%;margin:8px 0}.ms-orbit::after{display:none}.ms-assessment-note{bottom:0}}

/* Homepage hero and intro: June 19 CyberGuard reference */
.homepage-reference {
  background: #f7fbfc;
}

.homepage-reference .hero {
  min-height: 650px;
  background-color: #075d5d;
  background-image: url("./assets/ransomware-readiness-hero-full.png");
  background-position: center right 25%;
  background-blend-mode: multiply;
}

.homepage-reference .hero::before {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(2, 13, 20, .96) 0%, rgba(2, 22, 29, .88) 28%, rgba(1, 48, 52, .62) 49%, rgba(0, 83, 80, .18) 74%, rgba(0, 71, 68, .05) 100%),
    linear-gradient(180deg, rgba(0, 17, 24, .16), rgba(0, 34, 39, .12));
}

.homepage-reference .hero::after {
  z-index: 1;
  height: 16%;
  background: linear-gradient(180deg, transparent, rgba(2, 34, 38, .3));
}

.homepage-reference .language-row {
  position: absolute;
  z-index: 4;
  top: 30px;
  right: max(28px, calc((100vw - 1180px) / 2));
  width: auto;
}

.homepage-reference .language-switch {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 16px;
  border: 1px solid rgba(179, 246, 235, .45);
  border-radius: 7px;
  color: #eafffb;
  background: rgba(2, 31, 38, .28);
  box-shadow: 0 10px 25px rgba(0, 13, 20, .16);
  backdrop-filter: blur(12px);
  font-size: .84rem;
  font-weight: 800;
  text-decoration: none;
}

.homepage-reference .hero-inner {
  min-height: 650px;
  padding: 104px 0 76px;
}

.homepage-reference .hero-copy {
  width: min(100%, 620px);
  max-width: 620px;
}

.homepage-reference .hero-eyebrow {
  margin-bottom: 17px;
  color: #24d8c7;
  font-size: .76rem;
  font-weight: 900;
}

.homepage-reference .hero h1 {
  max-width: 620px;
  font-size: clamp(3.45rem, 4.65vw, 5rem);
  font-weight: 800;
  line-height: 1.03;
  text-wrap: balance;
  text-shadow: 0 18px 42px rgba(0, 11, 18, .38);
}

.homepage-reference .hero__subtitle {
  max-width: 560px;
  margin: 18px 0 23px;
  color: rgba(240, 252, 250, .82);
  font-size: clamp(1rem, 1.35vw, 1.13rem);
  line-height: 1.55;
}

.homepage-reference .button--hero {
  min-height: 52px;
  padding: 0 25px;
  border: 1px solid rgba(115, 255, 225, .25);
  border-radius: 999px;
  background: linear-gradient(135deg, #00a88f 0%, #14c9ae 100%);
  box-shadow: 0 17px 34px rgba(0, 186, 158, .24);
}

.homepage-reference .button--hero::before {
  content: "◇";
  display: grid;
  width: 22px;
  height: 22px;
  margin-right: 10px;
  place-items: center;
  color: #eafffb;
  font-size: 1rem;
}

.homepage-reference .hero-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 17px;
  margin-top: 15px;
  color: rgba(235, 250, 248, .82);
  font-size: .8rem;
  font-weight: 650;
}

.homepage-reference .hero-trust span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.homepage-reference .hero-trust i {
  display: inline-grid;
  width: 18px;
  height: 18px;
  place-items: center;
  border: 1px solid #16cdb8;
  border-radius: 50%;
  color: #24d8c7;
  font-size: .67rem;
  font-style: normal;
  line-height: 1;
}

.homepage-reference .section--intro {
  padding: 72px 0 76px;
  border: 0;
  border-bottom: 1px solid rgba(0, 137, 132, .18);
  background:
    radial-gradient(circle at 18% 5%, rgba(199, 240, 242, .23), transparent 30%),
    #fbfefe;
}

.homepage-reference .intro-grid {
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
  gap: clamp(68px, 10vw, 150px);
  width: min(880px, calc(100% - 40px));
  align-items: center;
}

.homepage-reference .section--intro .eyebrow {
  margin-bottom: 14px;
  color: #00877f;
  font-size: .7rem;
  font-weight: 900;
}

.homepage-reference .section--intro h2 {
  max-width: 390px;
  color: #071332;
  font-size: clamp(2.7rem, 4.4vw, 4.25rem);
  font-weight: 800;
  line-height: 1.05;
}

.homepage-reference .section--intro h2::after {
  content: "";
  display: block;
  width: 72px;
  height: 2px;
  margin-top: 22px;
  background: #159f93;
}

.homepage-reference .intro-copy {
  max-width: 510px;
  color: #24324b;
  font-size: .98rem;
  line-height: 1.58;
}

.homepage-reference .intro-copy p + p {
  margin-top: 18px;
}

.homepage-reference .section--services {
  background: #fbfefe;
}

.homepage-reference .section--services .eyebrow {
  color: #00877f;
}

@media (max-width: 900px) {
  .homepage-reference .hero {
    min-height: 680px;
    background-position: center right 34%;
  }

  .homepage-reference .hero::before {
    background: linear-gradient(90deg, rgba(2, 13, 20, .96) 0%, rgba(2, 26, 33, .85) 58%, rgba(0, 70, 69, .32) 100%);
  }

  .homepage-reference .hero-inner {
    min-height: 680px;
  }

  .homepage-reference .intro-grid {
    gap: 54px;
  }
}

@media (max-width: 680px) {
  .homepage-reference .hero {
    min-height: 690px;
    background-position: 64% center;
  }

  .homepage-reference .hero::before {
    background: linear-gradient(90deg, rgba(1, 14, 21, .96), rgba(2, 29, 35, .83));
  }

  .homepage-reference .language-row {
    top: 18px;
    right: 14px;
  }

  .homepage-reference .hero-inner {
    min-height: 690px;
    padding: 92px 0 54px;
    align-items: center;
  }

  .homepage-reference .hero h1 {
    font-size: clamp(2.65rem, 12vw, 3.7rem);
  }

  .homepage-reference .hero-trust {
    gap: 10px 14px;
  }

  .homepage-reference .button--hero {
    width: auto;
  }

  .homepage-reference .section--intro {
    padding: 58px 0 62px;
  }

  .homepage-reference .intro-grid {
    grid-template-columns: 1fr;
    gap: 36px;
    width: min(100% - 32px, 880px);
  }

  .homepage-reference .section--intro h2 {
    max-width: 500px;
    font-size: clamp(2.45rem, 11vw, 3.5rem);
  }
}

/* Homepage cinematic refinement: brighter teal glass environment */
.homepage-reference .hero {
  isolation: isolate;
  background: #063d43;
}

.homepage-reference .hero-media {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  background: #075e63;
}

.homepage-reference .hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right 24%;
  filter: hue-rotate(292deg) saturate(1.42) contrast(1.08) brightness(.9);
  transform: scale(1.015);
}

.homepage-reference .hero-media::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  content: "";
  background:
    radial-gradient(circle at 77% 17%, rgba(128, 255, 243, .2), transparent 25%),
    radial-gradient(ellipse at 70% 68%, rgba(33, 241, 210, .2), transparent 32%),
    linear-gradient(90deg, rgba(0, 20, 27, .28), transparent 58%);
  mix-blend-mode: screen;
  pointer-events: none;
}

.homepage-reference .hero-media::after {
  position: absolute;
  z-index: 2;
  inset: auto 0 0;
  height: 32%;
  content: "";
  background: linear-gradient(180deg, transparent, rgba(26, 216, 192, .1));
  pointer-events: none;
}

.homepage-reference .hero::before {
  z-index: 2;
  background:
    linear-gradient(90deg, rgba(1, 15, 22, .88) 0%, rgba(2, 29, 36, .72) 28%, rgba(0, 53, 56, .34) 49%, rgba(0, 95, 88, .06) 76%, transparent 100%),
    linear-gradient(180deg, rgba(0, 24, 30, .04), rgba(0, 29, 32, .03));
}

.homepage-reference .hero::after {
  z-index: 2;
  height: 17%;
  background: linear-gradient(180deg, transparent, rgba(5, 77, 78, .18));
}

.homepage-reference .hero-inner,
.homepage-reference .language-row {
  z-index: 3;
}

.homepage-reference .hero h1 {
  text-shadow: 0 5px 16px rgba(0, 14, 20, .25), 0 24px 54px rgba(0, 9, 14, .24);
}

.homepage-reference .hero__subtitle {
  color: rgba(247, 255, 253, .9);
  text-shadow: 0 3px 12px rgba(0, 18, 22, .28);
}

.homepage-reference .button--hero {
  background: linear-gradient(135deg, #02a98f 0%, #18d0ae 100%);
  box-shadow: 0 13px 30px rgba(0, 225, 190, .25), inset 0 1px 0 rgba(255, 255, 255, .24);
}

.homepage-reference .hero-trust {
  color: rgba(245, 255, 253, .9);
  text-shadow: 0 2px 10px rgba(0, 15, 20, .35);
}

.homepage-reference .section--intro {
  background:
    radial-gradient(circle at 12% 0%, rgba(185, 237, 236, .22), transparent 30%),
    radial-gradient(circle at 86% 18%, rgba(219, 248, 245, .24), transparent 28%),
    #fcfefe;
}

@media (max-width: 900px) {
  .homepage-reference .hero-media img {
    object-position: 60% center;
  }

  .homepage-reference .hero::before {
    background: linear-gradient(90deg, rgba(1, 15, 22, .91) 0%, rgba(2, 31, 37, .76) 55%, rgba(0, 78, 73, .2) 100%);
  }
}

@media (max-width: 680px) {
  .homepage-reference .hero-media img {
    object-position: 64% center;
    filter: hue-rotate(292deg) saturate(1.32) contrast(1.06) brightness(.76);
  }

  .homepage-reference .hero::before {
    background: linear-gradient(90deg, rgba(1, 16, 23, .88), rgba(2, 35, 39, .68));
  }
}

/* Homepage content system: June 19 compact services and assessment reference */
.homepage-reference .section--services {
  position: relative;
  overflow: hidden;
  padding: 68px 0 40px;
  background:
    radial-gradient(circle at 88% 4%, rgba(38, 190, 178, .1), transparent 20%),
    linear-gradient(180deg, #fbfefe 0%, #f7fbfc 100%);
}

.homepage-reference .section--services::after {
  position: absolute;
  top: 30px;
  right: max(5vw, calc((100vw - 1180px) / 2));
  width: 160px;
  height: 180px;
  content: "✓";
  display: grid;
  place-items: center;
  clip-path: polygon(50% 0, 88% 16%, 82% 67%, 50% 100%, 18% 67%, 12% 16%);
  color: rgba(255, 255, 255, .9);
  background: linear-gradient(160deg, rgba(79, 210, 198, .08), rgba(2, 133, 128, .18));
  font-size: 4.3rem;
  font-weight: 800;
  pointer-events: none;
}

.homepage-reference .section--services > .shell {
  width: min(100% - 40px, 1090px);
}

.homepage-reference .section--services .section-heading {
  position: relative;
  z-index: 1;
  max-width: 660px;
  margin-bottom: 26px;
}

.homepage-reference .section--services .section-heading h2 {
  color: #071431;
  font-size: clamp(2.35rem, 3.7vw, 3.55rem);
  font-weight: 850;
  line-height: 1.05;
}

.homepage-reference .section--services .section-heading p:not(.eyebrow) {
  max-width: 610px;
  margin-top: 13px;
  color: #4e6072;
  font-size: .91rem;
  line-height: 1.55;
}

.homepage-reference .service-grid {
  gap: 13px;
}

.homepage-reference .service-card {
  position: relative;
  display: flex;
  min-height: 340px;
  padding: 22px 22px 18px;
  overflow: hidden;
  border-color: rgba(48, 96, 107, .15);
  border-radius: 13px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 13px 30px rgba(21, 67, 77, .08);
}

.homepage-reference .service-card::after {
  position: absolute;
  top: 18px;
  right: 19px;
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid rgba(0, 137, 132, .12);
  border-radius: 50%;
  color: #008b85;
  background: #f3fbfa;
  font-size: 1.15rem;
}

.homepage-reference .service-card:nth-child(1)::after { content: "♢"; }
.homepage-reference .service-card:nth-child(2)::after { content: "♧"; }
.homepage-reference .service-card:nth-child(3)::after { content: "♙"; }
.homepage-reference .service-card:nth-child(4)::after { content: "✉"; }
.homepage-reference .service-card:nth-child(5)::after { content: "ϟ"; }
.homepage-reference .service-card:nth-child(6)::after { content: "◇"; }
.homepage-reference .service-card:nth-child(7)::after { content: "↻"; }

.homepage-reference .service-icon {
  position: absolute;
  top: 18px;
  left: 18px;
  width: 36px;
  height: 36px;
  margin: 0;
  color: #007e7a;
  background: #eef8f7;
  font-size: .72rem;
}

.homepage-reference .service-content {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding-top: 48px;
}

.homepage-reference .service-card h3 {
  margin-bottom: 8px;
  color: #071431;
  font-size: .98rem;
  font-weight: 850;
  line-height: 1.2;
}

.homepage-reference .service-card p,
.homepage-reference .service-includes li {
  color: #344760;
  font-size: .78rem;
  line-height: 1.45;
}

.homepage-reference .service-includes {
  margin-top: 13px;
}

.homepage-reference .service-label {
  display: none;
}

.homepage-reference .service-includes ul {
  gap: 4px;
  padding-left: 16px;
  color: #344760;
}

.homepage-reference .service-includes li::marker {
  color: #00a096;
}

.homepage-reference .service-deliverable {
  margin-top: 13px;
  padding: 7px 10px;
  border-color: rgba(0, 145, 137, .2);
  border-radius: 5px;
  background: rgba(235, 249, 248, .65);
  font-size: .72rem !important;
}

.homepage-reference .service-deliverable span {
  color: #007d78;
}

.homepage-reference .service-note {
  margin-top: 9px;
  padding-top: 0;
  border: 0;
  font-size: .7rem !important;
}

.homepage-reference .service-card__link-text {
  margin-top: auto;
  padding-top: 14px;
  color: #007f7a;
  font-size: .73rem;
}

.homepage-reference .service-card__link-text::after {
  width: auto;
  height: auto;
  color: #008c85;
  background: transparent;
  font-size: 1rem;
}

.homepage-reference .service-card--link:hover,
.homepage-reference .service-card--link:focus-visible {
  border-color: rgba(0, 145, 137, .32);
  box-shadow: 0 18px 34px rgba(12, 93, 91, .13);
}

.homepage-reference .service-card--featured {
  grid-template-columns: 54px minmax(0, 1fr);
  min-height: 128px;
  padding: 17px 22px;
  background: rgba(255, 255, 255, .95);
}

.homepage-reference .service-card--featured .service-icon {
  position: static;
  align-self: start;
}

.homepage-reference .service-card--featured .service-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  padding-top: 0;
}

.homepage-reference .service-card--featured .service-kicker {
  display: none;
}

.homepage-reference .service-card--featured .service-includes {
  margin-top: 8px;
}

.homepage-reference .service-card--featured .service-includes ul {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 38px;
}

.homepage-reference .service-card--featured .service-deliverable {
  margin-top: 9px;
}

.homepage-reference .service-card--featured .service-card__link-text {
  padding-top: 8px;
}

.homepage-reference .inline-cta {
  display: none;
}

.homepage-reference .section--checklist {
  padding: 34px 0 24px;
  background: linear-gradient(180deg, #f7fbfc, #fbfefe);
}

.homepage-reference .section--checklist > .shell {
  display: grid;
  grid-template-columns: minmax(270px, .75fr) minmax(500px, 1.35fr);
  gap: 22px 48px;
  width: min(100% - 40px, 1150px);
}

.homepage-reference .section--checklist > .shell > .section-heading {
  align-self: center;
  max-width: 390px;
  margin: 0;
  padding: 30px 8px 30px 14px;
}

.homepage-reference .section--checklist .section-heading h2 {
  color: #071431;
  font-size: clamp(2.2rem, 3.5vw, 3.25rem);
  font-weight: 850;
  line-height: 1.06;
}

.homepage-reference .section--checklist .section-heading p:not(.eyebrow) {
  margin-top: 17px;
  color: #526377;
  font-size: .82rem;
  line-height: 1.55;
}

.homepage-reference .section--checklist .eyebrow {
  color: #00877f;
  font-size: .68rem;
}

.homepage-reference .quiz-card {
  width: 100%;
  max-width: none;
  min-height: 248px;
  padding: 22px 28px;
  border-radius: 12px;
  box-shadow: 0 15px 34px rgba(27, 71, 85, .1);
}

.homepage-reference .quiz-topline {
  margin-bottom: 9px;
  color: #304760;
  font-size: .68rem;
}

.homepage-reference .quiz-category {
  color: #00877f;
}

.homepage-reference .progress-track {
  height: 5px;
  background: #e3edef;
}

.homepage-reference .progress-fill {
  background: linear-gradient(90deg, #008f87, #14b9a9);
}

.homepage-reference .quiz-question {
  min-height: 135px;
  margin-top: 20px;
}

.homepage-reference .quiz-question legend {
  max-width: 560px;
  margin-bottom: 20px;
  font-size: clamp(1.4rem, 2.3vw, 1.95rem);
}

.homepage-reference .quiz-option {
  position: relative;
  min-height: 75px;
  padding-top: 27px;
  border-radius: 8px;
  background: #fff;
  font-size: .72rem;
}

.homepage-reference .quiz-option::before {
  position: absolute;
  top: 12px;
  left: 50%;
  display: grid;
  width: 21px;
  height: 21px;
  transform: translateX(-50%);
  place-items: center;
  border: 1px solid #7e91a3;
  border-radius: 50%;
  color: #496075;
  font-size: .7rem;
}

.homepage-reference .quiz-option:nth-child(1)::before { content: "✓"; color: #008e87; border-color: #008e87; }
.homepage-reference .quiz-option:nth-child(2)::before { content: "×"; }
.homepage-reference .quiz-option:nth-child(3)::before { content: "?"; }
.homepage-reference .quiz-option.is-selected {
  color: #007d78;
  border-color: rgba(0, 151, 142, .46);
  background: #f3fbfa;
  box-shadow: 0 8px 20px rgba(0, 139, 132, .1);
}

.homepage-reference .quiz-actions {
  display: none;
}

.homepage-reference .result {
  grid-column: 1 / -1;
  max-width: none;
}

.homepage-reference .lead-wrap {
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1.05fr) minmax(430px, .95fr);
  gap: 18px 30px;
  margin-top: 0;
  padding: 38px 48px;
  border: 1px solid rgba(0, 133, 127, .14);
  border-radius: 16px;
  background: rgba(255, 255, 255, .8);
  box-shadow: 0 12px 30px rgba(29, 75, 87, .06);
}

.homepage-reference .report-explainer {
  grid-row: 1 / span 2;
  padding: 24px 18px 20px 0;
}

.homepage-reference .report-explainer h2 {
  max-width: 520px;
  margin-bottom: 17px;
  color: #071431;
  font-size: clamp(2rem, 3.1vw, 3rem);
  font-weight: 850;
}

.homepage-reference .report-explainer p,
.homepage-reference .report-explainer li {
  color: #3e5067;
  font-size: .77rem;
  line-height: 1.5;
}

.homepage-reference .report-explainer ul {
  gap: 8px;
  padding-left: 20px;
}

.homepage-reference .report-explainer li::marker {
  color: #00978e;
}

.homepage-reference .report-final {
  margin-top: 22px;
  padding: 12px 14px;
  border: 1px solid rgba(0, 143, 135, .18);
  border-radius: 6px;
  background: #f1f9f8;
  font-size: .72rem !important;
}

.homepage-reference .report-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
  padding: 24px 28px;
  border-radius: 10px;
  border-color: rgba(38, 91, 105, .14);
  box-shadow: 0 12px 28px rgba(30, 72, 84, .08);
}

.homepage-reference .report-form .section-heading {
  grid-column: 1 / -1;
  margin-bottom: 5px;
}

.homepage-reference .report-form .section-heading h2 {
  font-size: 1.55rem;
}

.homepage-reference .report-form .section-heading p:not(.eyebrow) {
  margin-top: 6px;
  font-size: .68rem;
}

.homepage-reference .lead-form label,
.homepage-reference .review-form label {
  gap: 5px;
  font-size: .65rem;
  font-weight: 800;
}

.homepage-reference input,
.homepage-reference select {
  min-height: 38px;
  padding: 0 10px;
  border-radius: 5px;
  font-size: .72rem;
}

.homepage-reference .report-form .button {
  grid-column: 1 / -1;
  width: 100%;
  min-height: 39px;
  border-radius: 5px;
  background: linear-gradient(135deg, #008d85, #00a799);
  box-shadow: none;
  font-size: .72rem;
}

.homepage-reference .report-form .privacy-note,
.homepage-reference .report-form .form-note {
  grid-column: 1 / -1;
  font-size: .6rem;
}

.homepage-reference .review-cta {
  grid-column: 2;
  gap: 8px;
  padding: 18px 28px;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(241, 250, 249, .94), rgba(248, 252, 252, .98));
  box-shadow: 0 10px 24px rgba(30, 72, 84, .06);
}

.homepage-reference .review-cta h2 {
  font-size: 1.3rem;
}

.homepage-reference .review-cta > p:not(.eyebrow) {
  font-size: .67rem;
}

.homepage-reference .review-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px 13px;
}

.homepage-reference .review-form .button,
.homepage-reference .review-form .form-note {
  grid-column: 1 / -1;
}

.homepage-reference .review-form .button {
  width: 100%;
  min-height: 36px;
  border-radius: 5px;
  color: #007f79;
  border-color: rgba(0, 143, 135, .38);
  background: #f8fdfc;
  box-shadow: none;
  font-size: .68rem;
}

.homepage-reference .final-cta {
  padding: 0 0 22px;
  background: #fbfefe;
}

.homepage-reference .final-cta__inner {
  position: relative;
  min-height: 142px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 26px 38px 26px 215px;
  overflow: hidden;
  border-color: rgba(0, 141, 133, .16);
  border-radius: 16px;
  background:
    radial-gradient(circle at 10% 50%, rgba(25, 179, 165, .14), transparent 18%),
    linear-gradient(135deg, #f5fbfa, #eaf8f7);
  box-shadow: 0 12px 28px rgba(30, 72, 84, .07);
}

.homepage-reference .final-cta__inner::before {
  position: absolute;
  left: 63px;
  top: 21px;
  display: grid;
  width: 95px;
  height: 105px;
  content: "✓";
  place-items: center;
  clip-path: polygon(50% 0, 90% 17%, 84% 70%, 50% 100%, 16% 70%, 10% 17%);
  color: #fff;
  background: linear-gradient(150deg, #0db29d, #006b70);
  font-size: 2.8rem;
  font-weight: 900;
  filter: drop-shadow(0 12px 14px rgba(0, 107, 112, .22));
}

.homepage-reference .final-cta__inner h2 {
  max-width: 650px;
  margin-bottom: 7px;
  color: #071431;
  font-size: clamp(1.7rem, 2.8vw, 2.55rem);
  font-weight: 850;
}

.homepage-reference .final-cta__inner p {
  max-width: 620px;
  font-size: .7rem;
  line-height: 1.45;
}

.homepage-reference .final-cta__note {
  margin-top: 7px;
  color: #173c47 !important;
}

.homepage-reference .final-cta__inner .button {
  min-width: 210px;
  min-height: 43px;
  border-radius: 6px;
  background: linear-gradient(135deg, #008c84, #00aa98);
  box-shadow: 0 12px 22px rgba(0, 139, 132, .2);
  font-size: .74rem;
}

.homepage-reference .site-footer {
  padding: 12px 0 24px;
  background: #fbfefe;
  font-size: .72rem;
}

@media (max-width: 900px) {
  .homepage-reference .service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .homepage-reference .service-card--featured {
    grid-column: 1 / -1;
  }

  .homepage-reference .section--checklist > .shell {
    grid-template-columns: 1fr;
  }

  .homepage-reference .section--checklist > .shell > .section-heading {
    max-width: 620px;
    padding-bottom: 8px;
  }

  .homepage-reference .lead-wrap {
    grid-template-columns: 1fr;
    padding: 30px;
  }

  .homepage-reference .report-explainer,
  .homepage-reference .review-cta {
    grid-column: 1;
    grid-row: auto;
  }

  .homepage-reference .final-cta__inner {
    padding-left: 175px;
  }

  .homepage-reference .final-cta__inner::before {
    left: 42px;
  }
}

@media (max-width: 620px) {
  .homepage-reference .section--services > .shell,
  .homepage-reference .section--checklist > .shell {
    width: min(100% - 28px, 1150px);
  }

  .homepage-reference .section--services::after {
    display: none;
  }

  .homepage-reference .service-grid,
  .homepage-reference .report-form,
  .homepage-reference .review-form {
    grid-template-columns: 1fr;
  }

  .homepage-reference .service-card {
    min-height: 0;
  }

  .homepage-reference .service-card--featured {
    grid-template-columns: 1fr;
  }

  .homepage-reference .service-card--featured .service-icon {
    position: absolute;
  }

  .homepage-reference .service-card--featured .service-content {
    padding-top: 48px;
  }

  .homepage-reference .quiz-options {
    grid-template-columns: 1fr;
  }

  .homepage-reference .quiz-option {
    min-height: 58px;
    padding: 0 12px 0 50px;
    text-align: left;
  }

  .homepage-reference .quiz-option::before {
    top: 50%;
    left: 22px;
    transform: translateY(-50%);
  }

  .homepage-reference .lead-wrap {
    padding: 22px 18px;
  }

  .homepage-reference .report-form .section-heading,
  .homepage-reference .report-form .button,
  .homepage-reference .report-form .privacy-note,
  .homepage-reference .report-form .form-note {
    grid-column: 1;
  }

  .homepage-reference .final-cta__inner {
    grid-template-columns: 1fr;
    padding: 145px 24px 28px;
    text-align: center;
  }

  .homepage-reference .final-cta__inner::before {
    top: 24px;
    left: 50%;
    transform: translateX(-50%);
  }

  .homepage-reference .final-cta__inner .button {
    width: 100%;
  }
}

/* Keep quiz navigation functional while retaining the compact reference layout. */
.homepage-reference .quiz-actions {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  margin-top: 8px;
}

.homepage-reference .quiz-actions .button {
  width: auto;
  min-height: 34px;
  padding: 0 16px;
  border-radius: 5px;
  font-size: .68rem;
  box-shadow: none;
}

.homepage-reference .quiz-actions .button--primary {
  background: linear-gradient(135deg, #008d85, #00aa98);
}
