/* Xephyr Data and AI Maturity Assessment. All classes prefixed xma- so nothing leaks into the site. */
/* Colours and pairings from the Xephyr brand guidelines. Font: Inter (already loaded by the site). */

.xma {
  --xma-dark: #0a211e;
  --xma-mid: #2b4e45;
  --xma-neutral: #eef3e4;
  --xma-blue: #77bde5;
  --xma-lime: #d8ff84;
  --xma-white: #ffffff;
  --xma-line: rgba(10, 33, 30, 0.12);
  font-family: "Inter", system-ui, sans-serif;
  color: var(--xma-dark);
  max-width: 920px;
  margin: 0 auto;
  scroll-margin-top: 96px;
}
.xma *,
.xma *::before,
.xma *::after { box-sizing: border-box; }

.xma-card {
  background: var(--xma-white);
  border: 1px solid var(--xma-line);
  border-radius: 16px;
  padding: 40px;
}
@media (max-width: 640px) { .xma-card { padding: 24px 18px; } }

.xma-eyebrow {
  font-size: 12px;
  font-weight: 300;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--xma-mid);
  margin: 0 0 12px;
}
.xma-h1 { font-size: clamp(32px, 5vw, 52px); font-weight: 300; line-height: 1.1; margin: 0 0 16px; }
.xma-h1 strong { font-weight: 600; background: var(--xma-neutral); padding: 0 8px; border-radius: 4px; }
.xma-h2 { font-size: clamp(24px, 3.4vw, 34px); font-weight: 300; line-height: 1.2; margin: 0 0 12px; }
.xma-h3 { font-size: 20px; font-weight: 600; margin: 36px 0 12px; }
.xma-lead { font-size: 18px; line-height: 1.55; margin: 0 0 20px; color: var(--xma-mid); }
.xma-small { font-size: 13px; line-height: 1.5; color: var(--xma-mid); }
.xma-small a { color: var(--xma-dark); }
.xma-hint { font-size: 14px; color: var(--xma-mid); margin: 0 0 20px; }
.xma-label { font-size: 14px; font-weight: 600; margin: 24px 0 10px; }

.xma-ticks { list-style: none; padding: 0; margin: 24px 0; }
.xma-ticks li { padding-left: 28px; position: relative; margin: 10px 0; line-height: 1.5; }
.xma-ticks li::before {
  content: ""; position: absolute; left: 0; top: 4px; width: 14px; height: 14px;
  border-radius: 3px; background: var(--xma-dark);
}

/* Buttons */
.xma-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 28px; align-items: center; }
.xma-actions-split { justify-content: space-between; }
.xma-btn,
.xma-btn-outline {
  font: inherit; font-weight: 600; font-size: 16px; border-radius: 999px; padding: 14px 28px;
  cursor: pointer; text-decoration: none; display: inline-block; text-align: center; transition: opacity 0.15s;
}
.xma-btn { background: var(--xma-dark); color: var(--xma-white); border: 1px solid var(--xma-dark); }
.xma-btn:disabled { opacity: 0.35; cursor: not-allowed; }
.xma-btn:not(:disabled):hover { opacity: 0.88; }
.xma-btn-light { background: var(--xma-white); color: var(--xma-dark); border-color: var(--xma-white); }
.xma-btn-outline { background: transparent; color: var(--xma-white); border: 1px solid rgba(255, 255, 255, 0.6); }
.xma-btn-link { font: inherit; background: none; border: 0; color: var(--xma-mid); cursor: pointer; text-decoration: underline; padding: 8px 0; }

/* Profile chips */
.xma-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.xma-chip {
  font: inherit; font-size: 15px; padding: 10px 16px; border-radius: 999px; cursor: pointer;
  background: var(--xma-neutral); color: var(--xma-dark); border: 1px solid transparent;
}
.xma-chip.is-on { background: var(--xma-dark); color: var(--xma-white); }

/* Progress */
.xma-progress { height: 4px; background: var(--xma-neutral); border-radius: 4px; margin-bottom: 24px; overflow: hidden; }
.xma-progress-bar { height: 100%; background: var(--xma-dark); transition: width 0.3s ease; }

/* Options */
.xma-options { display: grid; gap: 10px; }
.xma-option {
  font: inherit; text-align: left; font-size: 16px; line-height: 1.45; padding: 16px 20px;
  border-radius: 12px; border: 1px solid var(--xma-line); background: var(--xma-white); color: var(--xma-dark);
  cursor: pointer; transition: border-color 0.15s, background 0.15s;
}
.xma-option:hover { border-color: var(--xma-dark); }
.xma-option:focus-visible, .xma-chip:focus-visible, .xma-btn:focus-visible { outline: 2px solid var(--xma-blue); outline-offset: 2px; }
.xma-option.is-on { background: var(--xma-neutral); border-color: var(--xma-dark); }
.xma-option-unsure { color: var(--xma-mid); font-size: 15px; border-style: dashed; }

/* Charts */
.xma-charts { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 24px 0; }
@media (max-width: 640px) { .xma-charts { grid-template-columns: 1fr; } }
.xma-radar { margin: 0; background: var(--xma-neutral); border-radius: 12px; padding: 12px 12px 20px; text-align: center; }
.xma-radar svg { width: 100%; max-width: 320px; height: auto; display: block; margin: 0 auto; overflow: visible; }
.xma-radar-ring { fill: none; stroke: rgba(10, 33, 30, 0.14); stroke-width: 1; }
.xma-radar-axis { stroke: rgba(10, 33, 30, 0.14); stroke-width: 1; }
.xma-radar-label { font-size: 12px; fill: var(--xma-dark); font-family: "Inter", system-ui, sans-serif; }
.xma-radar figcaption { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.xma-radar-title { font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 300; }
.xma-radar-score { font-size: 36px; font-weight: 300; line-height: 1.1; }
.xma-radar-score small { font-size: 16px; color: var(--xma-mid); }
.xma-radar-level { font-size: 15px; font-weight: 600; }

/* Gate */
.xma-gate { position: relative; margin-top: 28px; }
.xma-locked { filter: blur(4px); opacity: 0.5; user-select: none; margin-bottom: -40px; }
.xma-locked-row { display: flex; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid var(--xma-line); }
.xma-form {
  position: relative; background: var(--xma-white); border: 1px solid var(--xma-dark); border-radius: 14px; padding: 28px;
}
.xma-form .xma-h3 { margin-top: 0; }
.xma-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 640px) { .xma-grid2 { grid-template-columns: 1fr; } }
.xma-field { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; margin: 12px 0 0; }
.xma-field input {
  font: inherit; font-weight: 400; font-size: 16px; padding: 12px 14px; border-radius: 8px;
  border: 1px solid var(--xma-line); background: var(--xma-white); color: var(--xma-dark);
}
.xma-field input:focus { outline: 2px solid var(--xma-blue); outline-offset: 0; border-color: var(--xma-dark); }
.xma-field.is-bad input { border-color: #a12c42; }
.xma-check { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.45; margin: 18px 0 4px; cursor: pointer; }
.xma-check input { margin-top: 3px; width: 16px; height: 16px; accent-color: var(--xma-dark); }

/* Report */
.xma-table-wrap { overflow-x: auto; }
.xma-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.xma-table th { text-align: left; font-weight: 600; font-size: 13px; padding: 8px; border-bottom: 1px solid var(--xma-dark); }
.xma-table td { padding: 10px 8px; border-bottom: 1px solid var(--xma-line); }
.xma-table .xma-num { text-align: center; width: 36px; }
.xma-table-group td { font-weight: 600; background: var(--xma-neutral); font-size: 13px; letter-spacing: 0.04em; }
.xma-table tr.is-priority td:first-child { font-weight: 600; }
.xma-table tr.is-priority td:first-child::after {
  content: "Priority"; font-size: 11px; font-weight: 600; margin-left: 8px; padding: 2px 8px;
  border-radius: 999px; background: var(--xma-dark); color: var(--xma-lime);
}
.xma-dot { display: inline-block; width: 14px; height: 14px; border-radius: 50%; background: var(--xma-neutral); }

.xma-priorities { list-style: none; counter-reset: p; padding: 0; margin: 0; display: grid; gap: 14px; }
.xma-priorities li {
  counter-increment: p; position: relative; padding: 20px 20px 20px 68px;
  background: var(--xma-neutral); border-radius: 12px;
}
.xma-priorities li::before {
  content: counter(p); position: absolute; left: 20px; top: 20px; width: 32px; height: 32px; border-radius: 8px;
  background: var(--xma-dark); color: var(--xma-white); font-weight: 600; display: flex; align-items: center; justify-content: center;
}
.xma-priorities h4 { margin: 4px 0 8px; font-size: 17px; font-weight: 600; }
.xma-priorities p { margin: 0 0 8px; line-height: 1.55; }
.xma-first-step { margin-bottom: 0 !important; }

.xma-risk { border-left: 3px solid var(--xma-dark); padding: 2px 0 2px 18px; margin-top: 8px; }
.xma-risk .xma-h3 { margin-top: 28px; }
.xma-risk p { line-height: 1.55; margin: 0; }

.xma-services { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.xma-service {
  display: flex; flex-direction: column; gap: 8px; padding: 18px; border-radius: 12px; text-decoration: none;
  border: 1px solid var(--xma-line); color: var(--xma-dark); line-height: 1.45; font-size: 15px;
}
.xma-service:hover { border-color: var(--xma-dark); }
.xma-service span { color: var(--xma-mid); }

.xma-cta {
  margin-top: 36px; background: var(--xma-dark); color: var(--xma-white); border-radius: 14px; padding: 28px;
  display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center;
}
.xma-cta .xma-h3 { margin-top: 0; }
.xma-cta p { margin: 0; line-height: 1.55; }
.xma-cta-actions { display: flex; flex-direction: column; gap: 10px; }
@media (max-width: 640px) { .xma-cta { grid-template-columns: 1fr; } }
.xma-footnote { margin-top: 24px; }

/* Personalisation */
.xma-greeting { font-size: 15px; font-weight: 600; margin: 0 0 6px; color: var(--xma-mid); }
.xma-prepared { display: flex; align-items: center; gap: 16px; background: var(--xma-neutral); border-radius: 12px; padding: 16px 20px; margin: 4px 0 8px; }
.xma-company-logo { height: 56px; width: 56px; max-width: none; object-fit: contain; border-radius: 10px; background: #fff; padding: 4px; flex-shrink: 0; }
.xma-prepared-text { display: flex; flex-direction: column; gap: 2px; line-height: 1.4; }
.xma-prepared-text .xma-eyebrow { margin: 0 0 2px; }
.xma-about { margin-top: 12px; }
.xma-about .xma-h3 { margin-top: 20px; }
.xma-about p { line-height: 1.55; margin: 0 0 6px; }
.xma-note { margin-top: 28px; background: var(--xma-neutral); border-radius: 12px; padding: 4px 24px 20px; }
.xma-note p { line-height: 1.6; margin: 0 0 10px; }
.xma-note-sign { display: flex; flex-direction: column; margin-top: 14px !important; }
.xma-note-sign span { color: var(--xma-mid); font-size: 14px; }
.xma-industry-link { margin: 14px 0 0; font-weight: 600; }
.xma-industry-link a { color: var(--xma-dark); }

/* ---------------------------------------------------------------------------------------------
   PDF report: approved Xephyr flyer layout (xephyr-flyer skill). Hidden on screen, printed alone.
   --------------------------------------------------------------------------------------------- */
.xma-print { display: none; }

@media print {
  @page { size: A4; margin: 0; }
  html, body { margin: 0 !important; padding: 0 !important; background: #eef3e4 !important; }
  body > *:not(.xma-print) { display: none !important; }
  .xma-print { display: block; width: 210mm; }
  .xma-print * { -webkit-print-color-adjust: exact; print-color-adjust: exact; box-sizing: border-box; }
}

.xmp-page {
  width: 210mm; height: 297mm; background: #eef3e4; color: #0a211e; display: flex; flex-direction: column;
  overflow: hidden; break-after: page; font-family: "Inter", system-ui, Arial, sans-serif; font-size: 9pt; line-height: 1.4;
}
.xmp-page:last-child { break-after: auto; }
.xmp-top { background: #0a211e; color: #ffffff; padding: 7.5mm 14mm 6mm; flex-shrink: 0; }
.xmp-logo { height: 34px; width: auto; max-width: none; object-fit: contain; display: block; margin-bottom: 3.5mm; }
.xmp-tag { display: block; font-weight: 300; text-transform: uppercase; letter-spacing: 0.14em; font-size: 7.5pt; color: #77bde5; margin: 0 0 2.5mm; }
.xmp-top h1 { font-weight: 300; font-size: 21pt; line-height: 1.1; margin: 0 0 4mm; letter-spacing: -0.01em; }
.xmp-top h1 strong { font-weight: 600; color: #d8ff84; }
.xmp-top p { margin: 0; font-size: 9.5pt; max-width: 175mm; }
.xmp-main { padding: 5mm 14mm 4mm; flex: 1 1 auto; min-height: 0; overflow: hidden; }
.xmp-main h2 { font-weight: 600; font-size: 11.5pt; margin: 4mm 0 2.5mm; }

.xmp-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3mm; }
.xmp-stat { background: #ffffff; border-radius: 2.5mm; padding: 2.4mm 3mm; }
.xmp-stat b { display: block; font-weight: 300; font-size: 18pt; line-height: 1; margin-bottom: 1.5mm; }
.xmp-stat span { font-size: 7.8pt; display: block; }

.xmp-radars { display: grid; grid-template-columns: 1fr 1fr; gap: 3mm; margin-top: 3mm; }
.xmp-radars .xma-radar { background: #ffffff; border-radius: 2.5mm; padding: 1mm 2mm 2.5mm; }
.xmp-radars .xma-radar svg { max-width: 62mm; }
.xmp-radars .xma-radar-label { font-size: 10px; }
.xmp-radars .xma-radar-score { font-size: 16pt; }
.xmp-radars .xma-radar-score small { font-size: 8pt; }
.xmp-radars .xma-radar-title { font-size: 6.8pt; }
.xmp-radars .xma-radar-level { font-size: 8.5pt; }

.xmp-table { width: 100%; border-collapse: collapse; font-size: 8pt; line-height: 1.28; }
.xmp-table thead th { background: #0a211e; color: #ffffff; text-align: left; padding: 2.2mm 3mm; font-weight: 600; font-size: 8.5pt; }
.xmp-table tbody th { text-align: left; font-weight: 400; padding: 1.4mm 3mm; border-bottom: 0.3mm solid #d6dccb; width: 30%; }
.xmp-table tbody th.is-priority { font-weight: 600; }
.xmp-table tbody td { padding: 1.4mm 3mm; border-bottom: 0.3mm solid #d6dccb; background: #ffffff; width: 20%; }

.xmp-priorities { display: grid; gap: 3mm; }
.xmp-priority { display: grid; grid-template-columns: 9mm 1fr; gap: 3mm; background: #ffffff; border-radius: 2.5mm; padding: 4mm; }
.xmp-num { width: 9mm; height: 9mm; border-radius: 2mm; background: #0a211e; color: #d8ff84; font-weight: 600; font-size: 11pt; display: flex; align-items: center; justify-content: center; }
.xmp-priority h3 { margin: 0.5mm 0 1.5mm; font-size: 10.5pt; font-weight: 600; }
.xmp-priority p { margin: 0 0 1.5mm; font-size: 9pt; }
.xmp-priority p:last-child { margin-bottom: 0; }

.xmp-risk { background: #0a211e; color: #ffffff; border-radius: 2.5mm; padding: 4mm 5mm; margin-top: 4mm; }
.xmp-risk b { display: block; color: #d8ff84; font-weight: 600; font-size: 10pt; margin-bottom: 1.5mm; }
.xmp-risk p { margin: 0; font-size: 9pt; }

.xmp-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(50mm, 1fr)); gap: 4mm; }
.xmp-cards div { border-top: 0.8mm solid #0a211e; padding-top: 2.5mm; }
.xmp-cards h3 { margin: 0 0 1.2mm; font-size: 9.5pt; font-weight: 600; }
.xmp-cards p { margin: 0; font-size: 8.2pt; }

.xmp-fine { font-size: 6.6pt; margin: 3mm 0 0; }
.xmp-foot { background: #0a211e; color: #ffffff; padding: 5mm 14mm; display: flex; justify-content: space-between; align-items: flex-end; gap: 8mm; flex-shrink: 0; }
.xmp-cta { font-size: 8.5pt; max-width: 95mm; }
.xmp-cta b { display: block; font-weight: 600; font-size: 10.5pt; margin-bottom: 1mm; }
.xmp-foot a { color: #d8ff84; font-weight: 600; }
.xmp-co { font-size: 6.8pt; text-align: right; opacity: 0.9; }