
 /* Comparison page styles. */

.compare {
    --blue: #016BFF;       /* Synack primary blue */
    --blue-dark: #0052CC;
    --navy: #10284B;
    --navy-deep: #0A1C38;
    --ink: #0C1320;
    --muted: #5A6678;
    --line: #E6EAF0;
    --bg-soft: #F4F7FB;
    --green: #1F9D6B;
    --red: #D23B4E;
    --syn-score: #00E5A5;  /* scorecard Synack accent (from mockup) */
    --comp-score: #FF6B6B; /* scorecard XBOW accent (from mockup) */
    --radius: 14px;

    color: var(--ink);
    font-family: "DM Sans", system-ui, -apple-system, sans-serif;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}
.compare * { box-sizing: border-box; }

.cmp-wrap { max-width: 1160px; margin: 0 auto; padding: 0 28px; }
.compare section { padding: 66px 0; }
.cmp-soft { background: var(--bg-soft); }
.cmp-navy { background: var(--navy); color: #fff; }

/* Buttons -------------------------------------------------------------
 */
.cmp-btn {
    display: inline-block; font-weight: 700; border-radius: 40px;
    padding: 14px 30px; font-size: 14px; text-transform: uppercase;
    letter-spacing: .05em; cursor: pointer; border: 2px solid transparent;
    transition: .15s; white-space: nowrap; text-decoration: none;
}
.cmp-btn--blue { background: var(--blue); color: #fff; }
.cmp-btn--blue:hover { background: var(--blue-dark); color: #fff; }
.cmp-btn--black { background: #0c1320; color: #fff; }
.cmp-btn--black:hover { background: #000; color: #fff; }
.cmp-btn--ghost { background: transparent; color: #16213a; border-color: #c7d0de; }
.cmp-btn--ghost:hover { border-color: var(--blue); color: var(--blue); }

.cmp-navy .cmp-btn--ghost,
.cmp-hero .cmp-btn--ghost,
.cmp-final .cmp-btn--ghost { color: #fff; border-color: rgba(255,255,255,.55); }
.cmp-navy .cmp-btn--ghost:hover,
.cmp-hero .cmp-btn--ghost:hover,
.cmp-final .cmp-btn--ghost:hover { border-color: #fff; color: #fff; }
.cmp-btn--lg { padding: 16px 34px; font-size: 15px; }

/* Shared type */
.cmp-eyebrow {
    display: inline-block; font-size: 12.5px; letter-spacing: .16em;
    text-transform: uppercase; font-weight: 700; color: var(--blue); margin-bottom: 12px;
}
.cmp-kicker {
    font-size: 13px; letter-spacing: .14em; text-transform: uppercase;
    font-weight: 700; color: var(--blue); margin-bottom: 12px;
}
.cmp-h2 { font-size: 34px; font-weight: 800; letter-spacing: -.015em; margin: 0 0 20px; line-height: 1.15; }
.cmp-lead { color: var(--muted); font-size: 17px; max-width: 760px; margin: 0 0 36px; }
.cmp-navy .cmp-lead { color: #aebbd2; }
.cmp-rte { color: var(--muted); font-size: 16px; line-height: 1.6; }
.cmp-rte p { margin: 0 0 14px; }

/* HERO ---------------------------------------------------------------- */
.cmp-hero {
    background: radial-gradient(120% 140% at 80% 0%, #1b3e74 0%, var(--navy) 45%, var(--navy-deep) 100%);
    color: #fff; padding: 190px 0 76px!important; position: relative; overflow: hidden;
}
.cmp-hero::after {
    content: ""; position: absolute; right: -80px; top: -40px; width: 420px; height: 420px;
    background: radial-gradient(circle, rgba(1,107,255,.35), transparent 65%); filter: blur(10px);
}
.cmp-hero .cmp-eyebrow {
    color: #7fb0ff; border: 1px solid rgba(127,176,255,.4);
    padding: 6px 12px; border-radius: 30px; margin-bottom: 22px;
}
.cmp-hero-title { font-size: 58px; line-height: 1.05; font-weight: 800; margin: 0 0 18px; letter-spacing: -.02em; position: relative; z-index: 1; }
.cmp-hero-sub { font-size: 21px; font-weight: 600; color: #cdd8ec; max-width: 820px; margin: 0 0 22px; line-height: 1.4; position: relative; z-index: 1; }
.cmp-hero-intro { color: #aebbd2; max-width: 820px; font-size: 16.5px; position: relative; z-index: 1; }
.cmp-hero-intro p { margin: 0 0 16px; }
.cmp-hero-intro strong { color: #fff; }
.cmp-cta-row { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 28px; position: relative; z-index: 1; }

/* DECISION FIT -------------------------------------------------------- */
.cmp-fit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.cmp-fit-col { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 28px 26px; }
.cmp-fit-col--syn { border-top: 4px solid var(--blue); }
.cmp-fit-title { margin: 0 0 16px; font-size: 20px; font-weight: 700; }
.cmp-fit-col--comp .cmp-fit-title { color: var(--muted); }
.cmp-fit-col--syn .cmp-fit-title { color: var(--blue); }
.cmp-fit-list { list-style: none; margin: 0; padding: 0; }
.cmp-fit-list li {
    position: relative; padding: 9px 0 9px 34px; border-top: 1px solid var(--line);
    font-size: 15px; color: #2a3446; min-height: 38px;
}
.cmp-fit-list li:first-child { border-top: none; }
/* Client adjustment: both columns get a checkmark in a circle.
 * Synack = blue circle, XBOW = grey circle. */
.cmp-fit-list li::before {
    content: ""; position: absolute; left: 0; top: 10px;
    width: 20px; height: 20px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
}
.cmp-fit-list li::after {
    content: "\2713"; position: absolute; left: 0; top: 10px;
    width: 20px; height: 20px; display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 12px; font-weight: 800;
}
.cmp-fit-col--syn .cmp-fit-list li::before { background: var(--blue); }
.cmp-fit-col--comp .cmp-fit-list li::before { background: #aeb8c6; }

/* Honest reality callout */
.cmp-honest {
    margin-top: 26px; background: #eef4ff; border-left: 4px solid var(--blue);
    padding: 18px 22px; border-radius: 8px; color: #26344b; font-size: 15.5px; line-height: 1.6;
}
.cmp-honest p { margin: 0; }
.cmp-honest strong { color: var(--ink); }

/* TRUST BADGES -------------------------------------------------------- */
.cmp-trust-heading { text-align: left; font-size: 26px; font-weight: 800; letter-spacing: -.01em; color: #fff; margin: 0 0 28px; }
.cmp-trust-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin-top: 8px; }
.cmp-trust-item { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: 12px; padding: 18px; color: #fff; }
.cmp-trust-label { display: block; font-size: 15px; margin-bottom: 3px; font-weight: 700; }
.cmp-trust-sub { font-size: 13px; color: #fff; }

/* SCORECARD (dark, from mockup) --------------------------------------- */
.cmp-score-note        { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.07); border-radius: 10px; padding: 14px 18px; font-size: 13px; color: #8b97ad; line-height: 1.65; margin-bottom: 28px; }
.cmp-score-note strong { color: #cdd8ea; }
.cmp-score { background: #0a1626; color: #fff; padding: 70px 0; }
.cmp-score .cmp-kicker { color: var(--syn-score); }
.cmp-score .cmp-h2 { color: #fff; }
.cmp-score-intro { color: #9fb0cc; max-width: 900px; font-size: 17px; line-height: 1.6; }
.cmp-score-date { color: #8b97ad; font-size: 13px; font-style: italic; margin: 8px 0 30px; }

.cmp-score-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 6px 0 30px; }
.cmp-sumbox { border: 1px solid rgba(255,255,255,.14); border-radius: 14px; padding: 22px; }
.cmp-sumbox--syn { background: rgba(0,229,165,.07); border-color: rgba(0,229,165,.35); }
.cmp-sumbox-name { font-weight: 700; font-size: 17px; color: #fff; display: block; }
.cmp-sumbox-meta { color: #8b97ad; font-size: 13px; margin: 5px 0 12px; min-height: 34px; display: block; }
.cmp-sumbox-big { font-size: 46px; font-weight: 800; line-height: 1; display: block; }
.cmp-sumbox--syn .cmp-sumbox-big { color: var(--syn-score); }
.cmp-sumbox--comp .cmp-sumbox-big { color: #cfd8e6; }
.cmp-sumbox-big small { font-size: 17px; color: #8b97ad; font-weight: 600; }

.cmp-sc-head {
    display: grid; grid-template-columns: 1.05fr 1.3fr 1.3fr .35fr; gap: 26px;
    padding: 0 0 14px; border-bottom: 1px solid rgba(255,255,255,.16);
    font-size: 12.5px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700;
}
.cmp-sc-head .cmp-col-syn { color: var(--syn-score); }
.cmp-sc-head .cmp-col-comp { color: var(--comp-score); }
.cmp-sc-head .cmp-col-edge { text-align: right; }
.cmp-sc-group {
    font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: #8b97ad;
    font-weight: 700; padding: 22px 0 12px; border-bottom: 1px solid rgba(255,255,255,.07);
}
.cmp-sc-row {
    display: grid; grid-template-columns: 1.05fr 1.3fr 1.3fr .35fr; gap: 26px;
    padding: 20px 0; border-bottom: 1px solid rgba(255,255,255,.07);
}
.cmp-sc-cap { font-size: 17px; font-weight: 700; color: #fff; margin: 0 0 8px; display: block; }
.cmp-sc-ask { font-size: 12.5px; color: #7e8ba5; line-height: 1.55; margin: 0; display: block; }
.cmp-sc-cell { font-size: 14px; color: #fff; line-height: 1.55; }
.cmp-sc-num { font-weight: 800; font-size: 17px; }
.cmp-sc-cell--syn .cmp-sc-num { color: var(--syn-score); }
.cmp-sc-cell--comp .cmp-sc-num { color: var(--comp-score); }
/* Brand label that rides with each score. Hidden on desktop (column headers
 * already label them); shown on mobile where the columns collapse. */
.cmp-sc-brand { display: none; }
.cmp-sc-edge { text-align: right; font-weight: 800; font-size: 17px; }
.cmp-sc-edge--pos { color: var(--syn-score); }
.cmp-sc-edge--neg { color: var(--comp-score); }
.cmp-sc-edge--zero { color: #8b97ad; }
.cmp-sc-edge-label { display: none; }

/* COMPETITOR STRENGTHS (leads) ---------------------------------------- */
.cmp-leads-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.cmp-lead-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 26px; }
/* Icon sits in a soft-blue rounded container; the uploaded icon is shown as-is */
.cmp-lead-ic {
    width: 44px; height: 44px; border-radius: 11px; background: #eef4ff;
    display: flex; align-items: center; justify-content: center; margin-bottom: 14px; overflow: hidden;
}
.cmp-lead-ic img { width: 24px; height: 24px; object-fit: contain; display: block; }
.cmp-lead-title { margin: 0 0 8px; font-size: 17px; font-weight: 700; }
.cmp-lead-body { margin: 0; color: var(--muted); font-size: 14.5px; }

.cmp-leads-expand {
    background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--blue);
    border-radius: var(--radius); padding: 30px; margin-top: 30px;
}
.cmp-leads-expand .cmp-h3 { margin: 0 0 8px; font-size: 19px; font-weight: 700; }

/* SCOPE STATS BAND ---------------------------------------------------- */
.cmp-scope .cmp-eyebrow { color: var(--syn-score); }
.cmp-scope .cmp-h2 { color: #fff; }
.cmp-scope-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; text-align: center; margin-top: 28px; }
.cmp-scope-value { font-size: 46px; font-weight: 800; color: #fff; line-height: 1; display: block; }
.cmp-scope-desc { color: #aebbd2; font-size: 14px; margin-top: 10px; display: block; }

/* WHAT EACH TESTS ----------------------------------------------------- */
.cmp-tests-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.cmp-tests-col { border-radius: var(--radius); padding: 28px; border: 1px solid var(--line); }
.cmp-tests-col--comp { background: #fff; }
.cmp-tests-col--syn { background: var(--navy); color: #fff; border-color: var(--navy); }
.cmp-tests-title { margin: 0 0 18px; font-size: 20px; }
.cmp-tests-list { list-style: none; margin: 0; padding: 0; font-size: 14.5px; }
.cmp-tests-item { padding: 7px 0 7px 26px; position: relative; border-top: 1px solid var(--line); }
.cmp-tests-col--syn .cmp-tests-item { border-top: 1px solid rgba(255,255,255,.1); }
.cmp-tests-item--y::before { content: "\2713"; position: absolute; left: 0; color: var(--green); font-weight: 800; }
.cmp-tests-col--syn .cmp-tests-item--y::before { color: #54e0a6; }
.cmp-tests-item--n { color: #9aa6b8; }
.cmp-tests-item--n::before { content: "\2715"; position: absolute; left: 0; color: #c2502f; font-weight: 800; }

/* SYNACK DIFFERENCE --------------------------------------------------- */
.cmp-syndiff { background: #0a1626; color: #fff; padding: 74px 0; }
.cmp-syndiff .cmp-kicker { color: var(--syn-score); margin-bottom: 14px; }
.cmp-syndiff .cmp-h2 { font-size: 44px; letter-spacing: -.02em; max-width: 1000px; margin: 0 0 20px; line-height: 1.07; color: #fff; }
.cmp-syndiff-body { color: #9fb0cc; max-width: 1000px; margin: 0 0 34px; font-size: 17px; line-height: 1.6; }
.cmp-syndiff-list { list-style: none; display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; margin: 0; padding: 0; }
.cmp-syndiff-list li {
    min-height: 92px; background: #0f2236;
    border: 1px solid rgba(0,229,165,.28); border-radius: 14px;
    color: #fff; font-size: 16px; font-weight: 500;
}
.cmp-syndiff-list li > a,
.cmp-syndiff-list li {
    display: flex; align-items: center; padding: 20px 24px; height: 100%;
}
.cmp-syndiff-list li > a { color: #fff; text-decoration: none; transition: .15s; border-radius: 14px; }
.cmp-syndiff-list li > a:hover { background: #12283f; }
.cmp-syndiff-list li:hover { border-color: rgba(0,229,165,.7); }

/* FAQ ----------------------------------------------------------------- */
.cmp-faq-item { border: 1px solid var(--line); border-radius: 12px; padding: 4px 22px; margin-bottom: 14px; background: #fff; }
.cmp-faq-q { cursor: pointer; font-weight: 700; font-size: 16.5px; padding: 16px 0; list-style: none; position: relative; color: #13203a; padding-right: 32px; }
.cmp-faq-q::-webkit-details-marker { display: none; }
.cmp-faq-q::after { content: "+"; position: absolute; right: 0; top: 14px; font-size: 24px; color: var(--blue); font-weight: 400; }
.cmp-faq-item[open] .cmp-faq-q::after { content: "\2212"; }
.cmp-faq-a { color: #3a4659; font-size: 15px; line-height: 1.6; }
.cmp-faq-a p { margin: 0 0 18px; }

/* FINAL CTA ----------------------------------------------------------- */
.cmp-final {
    background: radial-gradient(110% 130% at 72% 16%, #2f7dff 0%, #0a55e0 44%, #06296b 100%);
    color: #fff; text-align: center; padding: 78px 0;
}
.cmp-final .cmp-kicker { display: block; color: var(--syn-score); margin-bottom: 16px; }
.cmp-final .cmp-h2 { font-size: 38px; max-width: 900px; margin: 0 auto 16px; line-height: 1.15; color: #fff; }
.cmp-final-body { color: #dbe7ff; max-width: 760px; margin: 0 auto 30px; font-size: 16.5px; }
.cmp-final .cmp-cta-row { justify-content: center; }

/* Scorecard footer note */
.cmp-score-footer { color: #8b97ad; font-size: 13px; margin: 28px 0 0; line-height: 1.6; max-width: 900px; }

/* What-each-tests column intro paragraph */
.cmp-tests-desc { font-size: 14.5px; color: var(--muted); margin: 0 0 18px; line-height: 1.55; }
.cmp-tests-col--syn .cmp-tests-desc { color: #aebbd2; }

/* Buyer question callout */
.cmp-buyerq {
    margin-top: 24px; background: #fff; border: 1px solid var(--line);
    border-left: 4px solid var(--blue); border-radius: 10px; padding: 22px 24px;
    color: #26344b; font-size: 15.5px; line-height: 1.6;
}
.cmp-buyerq p { margin: 0; }
.cmp-buyerq strong, .cmp-buyerq b { color: var(--blue); }

/* Evaluation expand block (full) */
.cmp-expand-title { margin: 8px 0 8px; font-size: 19px; font-weight: 700; }
.cmp-expand-intro { color: var(--muted); font-size: 14.5px; margin: 0 0 18px; line-height: 1.6; }
.cmp-expand-list {
    list-style: none; margin: 0; padding: 0;
    display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px;
}
.cmp-expand-list li {
    position: relative; padding: 10px 0 10px 28px; font-size: 15px; color: #2a3446;
    border-top: 1px solid var(--line);
}
.cmp-expand-list li::before { content: "\2192"; position: absolute; left: 0; top: 10px; color: var(--blue); font-weight: 800; }

/* Syndiff closing tagline */
.cmp-syndiff-tagline { color: var(--syn-score); font-weight: 800; font-size: 22px; margin: 22px 0 0; }

/* FAQ kicker spacing */
.cmp-faq .cmp-kicker { color: var(--blue); }
.cmp-faq-h2 { margin-top: 4px; margin-bottom: 28px; }

/* Scorecard summary "average across N capabilities" line */
.cmp-sumbox-scl { display: block; color: #8b97ad; font-size: 13px; margin-top: 10px; }

/* Leads section kicker + intro */
.cmp-leads .cmp-kicker { color: var(--blue); }
.cmp-leads-h2 { margin-top: 4px; margin-bottom: 12px; }
.cmp-leads-intro { color: var(--muted); font-size: 16px; line-height: 1.6; max-width: 760px; margin: 0 0 32px; }

/* What-each-tests section intro (under H2, above columns) */
.cmp-tests-h2 { margin-bottom: 12px; }
.cmp-tests-section-intro { color: var(--muted); font-size: 16px; line-height: 1.6; max-width: 760px; margin: 0 0 32px; }

/* Linked trust card hover */
.cmp-trust-item--link { text-decoration: none; transition: .15s; cursor: pointer; }
.cmp-trust-item--link:hover { border-color: rgba(127,176,255,.55); background: rgba(255,255,255,.11); }

/* RESPONSIVE ---------------------------------------------------------- */
@media (max-width: 900px) {
    .cmp-fit-grid,
    .cmp-tests-grid { grid-template-columns: 1fr; }
    .cmp-syndiff-list { grid-template-columns: 1fr 1fr; }
    .cmp-trust-grid,
    .cmp-scope-grid { grid-template-columns: 1fr 1fr; }
    .cmp-leads-grid { grid-template-columns: 1fr; }
    .cmp-expand-list { grid-template-columns: 1fr; }
    .cmp-score-summary { grid-template-columns: 1fr; }
    .cmp-hero-title { font-size: 40px; }
    .cmp-syndiff .cmp-h2 { font-size: 32px; }

    /* Scorecard: collapse table into stacked cards.
     * Each score cell shows its brand label so the number is never ambiguous. */
    .cmp-sc-head { display: none; }
    .cmp-sc-row {
        grid-template-columns: 1fr; gap: 12px; padding: 20px;
        background: #0f1f33; border: 1px solid rgba(255,255,255,.08);
        border-radius: 12px; margin-bottom: 14px;
    }
    .cmp-sc-cap { margin-bottom: 4px; }
    .cmp-sc-cell {
        border-radius: 10px; padding: 12px 14px;
    }
    .cmp-sc-cell--syn { background: rgba(0,229,165,.08); border-left: 3px solid var(--syn-score); }
    .cmp-sc-cell--comp { background: rgba(255,107,107,.08); border-left: 3px solid var(--comp-score); }
    /* Show the brand label on mobile, above each score */
    .cmp-sc-brand {
        display: block; font-size: 11px; font-weight: 800; text-transform: uppercase;
        letter-spacing: .08em; margin-bottom: 4px;
    }
    .cmp-sc-cell--syn .cmp-sc-brand { color: var(--syn-score); }
    .cmp-sc-cell--comp .cmp-sc-brand { color: var(--comp-score); }
    .cmp-sc-edge { text-align: left; }
    .cmp-sc-edge .cmp-sc-edge-label { display: inline; font-size: 13px; color: #8b97ad; font-weight: 600; }
}

@media (max-width: 560px) {
    .cmp-trust-grid,
    .cmp-scope-grid { grid-template-columns: 1fr; }
    .cmp-cta-row { flex-direction: column; align-items: stretch; }
    .cmp-btn { width: 100%; text-align: center; }
    .cmp-hero-title { font-size: 34px; }
}
