/* ============================================================
   Custom Plastic Injection Mold — Tooling Decision Page
   External stylesheet. Linked from the HTML body fragment.
   Design language: navy / corporate blue / cyan accent (matches site)
   Self-contained: includes .gc-btn / .gc-btn--primary / .gc-btn--ghost
   definitions so CTA buttons render correctly without theme dependency.
   Only cpm-* specifics + gc-btn live here; other globals (.sec,.card,.grid)
   still come from the theme when deployed.
   Deploy to: https://www.xmgoldcattle.com/assets/css/custom-plastic-injection-mold.css
   ============================================================ */
:root{
  --blue:#0052cc; --blue-d:#003a8c; --navy:#0f2747; --ink:#1f2d3d; --muted:#5b6b7f;
  --line:#e2e8f0; --bg:#f5f8fc; --card:#ffffff; --accent:#00a3c4; --accent-2:#16bcdc; --good:#0a7d4d; --warn:#b54708;
  --shadow-sm:0 2px 10px rgba(15,39,71,.06);
  --shadow-md:0 8px 24px rgba(15,39,71,.10);
  --shadow-lg:0 18px 44px rgba(15,39,71,.14);
  --radius:14px;
  --glow:0 0 0 6px rgba(0,163,196,.16), 0 14px 34px rgba(0,163,196,.28);
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"PingFang SC","Microsoft YaHei",sans-serif;
  --mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
}
.cpm-wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.cpm-page{padding-bottom:60px}
.cpm-page section{scroll-margin-top:62px}
a{color:var(--blue);text-decoration:none}
img{max-width:100%}

/* ============ GLOBAL CTA BUTTONS (self-contained — no theme dependency) ============ */
.gc-btn,.gc-btn--primary,.gc-btn--ghost{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--font);font-size:15px;font-weight:700;line-height:1.4;
  padding:13px 26px;border-radius:10px;border:2px solid transparent;
  cursor:pointer;text-decoration:none;white-space:nowrap;
  transition:all .18s ease;user-select:none;-webkit-user-select:none;
  box-shadow:0 3px 12px rgba(0,82,204,.22);
}
.gc-btn:hover,.gc-btn--primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,82,204,.35)}
.gc-btn:active,.gc-btn--primary:active{transform:translateY(0);box-shadow:0 2px 8px rgba(0,82,204,.18)}
.gc-btn:focus-visible,.gc-btn--primary:focus-visible,.gc-btn--ghost:focus-visible{
  outline:3px solid rgba(0,163,196,.6);outline-offset:2px;
}
/* — primary: solid brand blue, white text + directional arrow — */
.gc-btn--primary{
  background:var(--blue);color:#fff;border-color:var(--blue);
}
.gc-btn--primary:hover{background:var(--blue-d);border-color:var(--blue-d)}
.gc-btn--primary::after{content:"\2192";margin-left:4px;font-weight:700;transition:transform .18s}
.gc-btn--primary:hover::after{transform:translateX(3px)}
/* — ghost: white fill + blue border/text on light; overridden to outline on dark — */
.gc-btn--ghost{
  background:#fff;color:var(--blue);border-color:var(--blue);
  box-shadow:0 2px 8px rgba(15,39,71,.08);
}
.gc-btn--ghost:hover{background:#f0f6ff;box-shadow:0 4px 14px rgba(0,82,204,.15)}

/* ============ HERO ============ */
.cpm-hero{
  position:relative;background:linear-gradient(135deg,#0a1c3a 0%,#0f2747 42%,#143a6b 78%,#0052cc 130%);
  color:#fff;padding:62px 0 50px;overflow:hidden;
}
.cpm-hero::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(124,172,236,.10) 1px,transparent 1px),
    linear-gradient(90deg,rgba(124,172,236,.10) 1px,transparent 1px);
  background-size:44px 44px;
  -webkit-mask-image:radial-gradient(ellipse 90% 80% at 30% 40%,#000 30%,transparent 100%);
  mask-image:radial-gradient(ellipse 90% 80% at 30% 40%,#000 30%,transparent 100%);
  pointer-events:none;
}
.cpm-hero::after{
  content:"";position:absolute;width:560px;height:560px;right:-160px;top:-180px;border-radius:50%;
  background:radial-gradient(circle,rgba(0,163,196,.22),transparent 65%);pointer-events:none;
}
.cpm-hero .cpm-wrap{position:relative;z-index:1}
.cpm-hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:44px;align-items:center}
.cpm-eyebrow{
  display:inline-flex;align-items:center;gap:10px;font-size:12.5px;letter-spacing:.14em;
  text-transform:uppercase;color:#9cc3ff;font-weight:700;margin-bottom:16px;
}
.cpm-eyebrow::before{content:"";width:26px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--accent),#7fd1ff)}
.cpm-hero-title{font-size:clamp(31px,4.1vw,43px);line-height:1.12;margin:0 0 18px;font-weight:800;letter-spacing:-.01em;text-wrap:balance;color:#fff}
.cpm-hero p.cpm-sub{font-size:17px;color:#dbe7f7;margin:0 0 22px;max-width:640px}
.cpm-tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.cpm-tag{
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.20);
  color:#eaf2fb;font-size:13px;font-weight:600;padding:7px 13px;border-radius:999px;
}
.cpm-hero-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
/* On the dark hero, the ghost becomes a clean outline (avoids a white pill competing with primary) */
.cpm-hero .gc-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.6);box-shadow:none}
.cpm-hero .gc-btn--ghost:hover{background:rgba(255,255,255,.12);border-color:#fff}
/* CTA buttons reuse the global .gc-btn / .gc-btn--primary / .gc-btn--ghost (brand modal trigger) */
.cpm-hero-ctasub{margin:14px 0 0;font-size:13px;color:#bcd4f0;display:flex;align-items:center;gap:8px;font-weight:600}
.cpm-hero-ctasub::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(0,163,196,.22)}
.cpm-shot{width:100%;height:auto;display:block;border-radius:12px;box-shadow:var(--shadow-sm)}
.cpm-hero-media{position:relative}
.cpm-hero-media svg{width:100%;height:auto;display:block;filter:drop-shadow(0 16px 36px rgba(0,0,0,.35))}

/* ============ TRUST BAR ============ */
.cpm-trust{background:linear-gradient(90deg,#0c2342,#13345f);color:#fff;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.cpm-trust-grid{display:flex;flex-wrap:wrap;gap:26px 40px;align-items:center;justify-content:space-between}
.cpm-metrics{display:flex;flex-wrap:wrap;gap:14px 34px}
.cpm-metric{display:flex;flex-direction:column;line-height:1.2;position:relative;padding-left:14px}
.cpm-metric::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;border-radius:3px;background:linear-gradient(var(--accent),var(--blue))}
.cpm-metric b{font-size:20px;font-weight:800;color:#fff}
.cpm-metric span{font-size:12.5px;color:#a9bdd6;margin-top:2px}
.cpm-certs{display:flex;flex-wrap:wrap;gap:10px}
.cpm-cert{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:#cfe0f3;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);padding:6px 12px;border-radius:999px}
.cpm-cert i{width:7px;height:7px;border-radius:50%;background:var(--accent);display:inline-block}

/* ============ STICKY SUBNAV ============ */
.cpm-subnav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);box-shadow:var(--shadow-sm)}
.cpm-subnav-in{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;max-width:1120px;margin:0 auto;padding:9px 20px;overflow-x:auto}
.cpm-subnav-in a{font-size:13px;font-weight:600;color:var(--muted);padding:7px 11px;border-radius:8px;white-space:nowrap;transition:.15s}
.cpm-subnav-in a:hover{color:var(--blue);background:var(--bg)}
.cpm-subnav-in a.active{color:#fff;background:var(--blue)}
.cpm-subnav-cta{margin-left:auto;font-family:var(--font);font-size:13px;font-weight:700;color:#04222b;
  background:var(--accent);border:none;border-radius:8px;padding:8px 16px;cursor:pointer;white-space:nowrap;transition:.15s}
.cpm-subnav-cta:hover{background:var(--accent-2);box-shadow:0 6px 16px rgba(0,163,196,.35)}

/* ============ SECTION SHELL ============ */
.cpm-sec{padding:52px 0}
.cpm-sec--alt{background:var(--bg)}
.cpm-sec-eyebrow{display:inline-block;font-size:12.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--accent);margin-bottom:10px}
.cpm-sec-title{font-size:clamp(23px,2.7vw,30px);line-height:1.2;margin:0 0 12px;font-weight:800;color:var(--navy);
  display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cpm-sec-title::before{content:"";width:6px;height:26px;border-radius:4px;flex:0 0 auto;
  background:linear-gradient(180deg,var(--blue),var(--accent))}
.cpm-sec-num{flex:0 0 auto;width:30px;height:30px;border-radius:8px;background:var(--blue);color:#fff;
  font-size:15px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
.cpm-sec-lead{font-size:16.5px;color:var(--muted);max-width:820px;margin:0 0 26px;line-height:1.7}

/* ============ CAPABILITY SPEC TABLE ============ */
.cpm-spec{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow-sm)}
.cpm-spec th,.cpm-spec td{text-align:left;padding:13px 16px;font-size:14.5px;border-bottom:1px solid var(--line);vertical-align:top}
.cpm-spec thead th{background:var(--navy);color:#fff;font-weight:700;font-size:13.5px;letter-spacing:.02em}
.cpm-spec tbody tr{transition:.12s}
.cpm-spec tbody tr:nth-child(even){background:#fafcff}
.cpm-spec tbody tr:hover{background:#eef5ff}
.cpm-spec td:first-child{font-weight:700;color:var(--navy);width:30%}
.cpm-spec .cpm-yes{color:var(--good);font-weight:700}

/* ============ MOLD TYPE CARDS ============ */
.cpm-typegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
.cpm-type{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 18px 16px;box-shadow:var(--shadow-sm);transition:.18s;border-top:3px solid transparent}
.cpm-type:hover{border-color:var(--accent);border-top-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.cpm-type h3{margin:0 0 4px;font-size:16px;color:var(--navy)}
.cpm-type .cpm-type-use{font-size:12.5px;color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.cpm-type ul{margin:0;padding-left:18px;color:var(--muted);font-size:13.5px;line-height:1.6}
.cpm-type ul li{margin:2px 0}

/* ============ DFM / CHECKLIST ============ */
.cpm-dfm-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.cpm-check{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow-sm);transition:.18s}
.cpm-check:hover{box-shadow:var(--shadow-md);border-color:#cfe0f3}
.cpm-check h3{margin:0 0 10px;font-size:15.5px;color:var(--navy);display:flex;align-items:center;gap:9px}
.cpm-check h3::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--accent);flex:0 0 auto}
.cpm-check ul{margin:0;padding-left:18px;color:var(--ink);font-size:14px;line-height:1.65}
.cpm-check ul li{margin:3px 0}
.cpm-dfmlink{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-weight:700;color:var(--blue)}
.cpm-dfmlink::after{content:"→";font-weight:800}

/* ============ MOLD STRUCTURE SVG ============ */
.cpm-structure{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;align-items:center;margin-top:6px}
.cpm-structure svg{width:100%;height:auto;display:block}
.cpm-comp{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm)}
.cpm-comp th,.cpm-comp td{text-align:left;padding:11px 14px;font-size:14px;border-bottom:1px solid var(--line);vertical-align:top}
.cpm-comp thead th{background:var(--navy);color:#fff;font-weight:700;font-size:13px}
.cpm-comp tbody tr:nth-child(even){background:#fafcff}
.cpm-comp tbody tr:hover{background:#eef5ff}
.cpm-comp td:first-child{font-weight:700;color:var(--navy);width:34%}

/* ============ STEEL TABLE ============ */
.cpm-steel{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);margin-top:6px}
.cpm-steel th,.cpm-steel td{text-align:left;padding:12px 15px;font-size:14.5px;border-bottom:1px solid var(--line);vertical-align:top}
.cpm-steel thead th{background:var(--navy);color:#fff;font-weight:700;font-size:13.5px}
.cpm-steel tbody tr:nth-child(even){background:#fafcff}
.cpm-steel tbody tr:hover{background:#eef5ff}
.cpm-steel td:first-child{font-weight:800;color:var(--blue)}

/* ============ PROCESS STEPPER ============ */
.cpm-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:6px}
.cpm-step{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 16px 14px;box-shadow:var(--shadow-sm);position:relative;transition:.18s}
.cpm-step:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#cfe0f3}
.cpm-step .cpm-step-n{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;
  background:linear-gradient(135deg,var(--blue),var(--accent));color:#fff;font-weight:800;font-size:14px;margin-bottom:9px}
.cpm-step h3{margin:0 0 5px;font-size:15px;color:var(--navy)}
.cpm-step p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.55}

/* ============ T0/T1 / QUALITY ============ */
.cpm-trial{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cpm-trialcard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow-sm);border-top:4px solid var(--accent);transition:.18s}
.cpm-trialcard:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.cpm-trialcard.alt{border-top-color:var(--blue)}
.cpm-trialcard h3{margin:0 0 8px;font-size:16.5px;color:var(--navy)}
.cpm-trialcard p{margin:0 0 10px;font-size:13.5px;color:var(--muted)}
.cpm-trialcard ul{margin:0;padding-left:18px;font-size:13px;color:var(--ink);line-height:1.6}
.cpm-trialcard ul li{margin:2px 0}
.cpm-equip{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.cpm-equip span{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;color:var(--navy)}

/* ============ MATERIALS ============ */
.cpm-matgroup{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:6px}
.cpm-mat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;box-shadow:var(--shadow-sm);transition:.18s}
.cpm-mat:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.cpm-mat h3{margin:0 0 10px;font-size:15.5px;color:var(--navy);border-bottom:2px solid var(--accent);padding-bottom:8px;display:inline-block}
.cpm-mat ul{margin:0;padding-left:18px;font-size:13.5px;color:var(--ink);line-height:1.7}
.cpm-mat ul li{margin:2px 0}
.cpm-matspecial{margin-top:16px;display:flex;flex-wrap:wrap;gap:9px}
.cpm-matspecial span{background:var(--navy);color:#dce8f6;font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:999px}

/* ============ APPLICATIONS ============ */
.cpm-app{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cpm-appcard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow-sm);transition:.18s}
.cpm-appcard:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#cfe0f3}
.cpm-appcard h3{margin:0 0 10px;font-size:16px;color:var(--navy)}
.cpm-appcard ul{margin:0;padding-left:18px;font-size:13.5px;color:var(--muted);line-height:1.65}
.cpm-appcard ul li{margin:3px 0}

/* ============ TOOLING DECISION ============ */
.cpm-decision{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);margin-top:6px}
.cpm-decision th,.cpm-decision td{text-align:left;padding:13px 16px;font-size:14.5px;border-bottom:1px solid var(--line);vertical-align:top}
.cpm-decision thead th{background:var(--navy);color:#fff;font-weight:700;font-size:13.5px}
.cpm-decision tbody tr:nth-child(even){background:#fafcff}
.cpm-decision tbody tr:hover{background:#eef5ff}
.cpm-decision td:first-child{font-weight:600;color:var(--ink)}
.cpm-decision td:last-child{font-weight:800;color:var(--blue)}

/* ============ CASE STUDIES ============ */
.cpm-casegrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.cpm-case{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:.18s}
.cpm-case:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.cpm-case-badge{background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;padding:14px 18px;font-weight:700;font-size:15px}
.cpm-case dl{margin:0;padding:6px 18px 14px}
.cpm-case dl div{display:grid;grid-template-columns:38% 62%;gap:8px;padding:9px 0;border-bottom:1px dashed var(--line)}
.cpm-case dt{font-size:12.5px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin:0}
.cpm-case dd{margin:0;font-size:13.5px;color:var(--ink);line-height:1.5}
.cpm-case .cpm-result{background:#eafaf1;color:var(--good);font-weight:700;padding:12px 18px;font-size:13.5px;margin-top:auto}

/* ============ COST DRIVERS ============ */
.cpm-cost{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:6px;counter-reset:cost}
.cpm-costitem{display:flex;gap:13px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:11px;padding:14px 16px;box-shadow:var(--shadow-sm);transition:.18s}
.cpm-costitem:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#cfe0f3}
.cpm-costitem .cpm-cost-n{counter-increment:cost;flex:0 0 auto;width:26px;height:26px;border-radius:7px;background:var(--blue);color:#fff;
  font-weight:800;font-size:13px;display:inline-flex;align-items:center;justify-content:center}
.cpm-costitem .cpm-cost-n::before{content:counter(cost)}
.cpm-costitem b{display:block;color:var(--navy);font-size:14px;margin-bottom:2px}
.cpm-costitem span{font-size:13px;color:var(--muted);line-height:1.5}

/* ============ LEAD TIME ============ */
.cpm-lead{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);margin-top:6px}
.cpm-lead th,.cpm-lead td{text-align:left;padding:13px 16px;font-size:14.5px;border-bottom:1px solid var(--line)}
.cpm-lead thead th{background:var(--navy);color:#fff;font-weight:700;font-size:13.5px}
.cpm-lead tbody tr:nth-child(even){background:#fafcff}
.cpm-lead tbody tr:hover{background:#eef5ff}
.cpm-lead td:last-child{font-weight:800;color:var(--blue);text-align:right;white-space:nowrap}
.cpm-timeline{display:flex;flex-wrap:wrap;gap:0;margin-top:18px;align-items:stretch}
.cpm-timeline .cpm-tl{position:relative;flex:1 1 0;min-width:120px;padding:14px 14px 14px 30px;border-left:3px solid var(--accent);background:#fff}
.cpm-timeline .cpm-tl::before{content:"";position:absolute;left:-7px;top:18px;width:11px;height:11px;border-radius:50%;background:var(--accent);border:2px solid #fff;box-shadow:0 0 0 2px var(--accent)}
.cpm-timeline .cpm-tl b{display:block;color:var(--navy);font-size:14px}
.cpm-timeline .cpm-tl span{font-size:12.5px;color:var(--muted)}

/* ============ QUOTE INPUTS ============ */
.cpm-req{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:6px}
.cpm-reqcol{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow-sm);transition:.18s}
.cpm-reqcol:hover{box-shadow:var(--shadow-md)}
.cpm-reqcol h3{margin:0 0 12px;font-size:15.5px;color:var(--navy);display:flex;align-items:center;gap:9px}
.cpm-reqcol.req h3::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--good)}
.cpm-reqcol.help h3::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--accent)}
.cpm-reqcol ul{margin:0;padding-left:18px;font-size:14px;color:var(--ink);line-height:1.7}
.cpm-reqcol ul li{margin:3px 0}
.cpm-formats{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}
.cpm-formats span{background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:6px 11px;font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--navy)}

/* ============ FAQ ============ */
.cpm-faq{margin-top:6px}
.cpm-qa{border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:12px;box-shadow:var(--shadow-sm);overflow:hidden;transition:.18s}
.cpm-qa:hover{border-color:#cfe0f3}
.cpm-qa details{width:100%}
.cpm-qa summary{cursor:pointer;list-style:none;padding:16px 18px;font-weight:700;color:var(--navy);font-size:15.5px;display:flex;justify-content:space-between;align-items:center;gap:14px}
.cpm-qa summary::-webkit-details-marker{display:none}
.cpm-qa summary::after{content:"+";font-size:22px;font-weight:400;color:var(--blue);flex:0 0 auto;transition:.2s}
.cpm-qa details[open] summary::after{content:"\2212";transform:rotate(0)}
.cpm-qa .cpm-a{padding:0 18px 16px;font-size:14.5px;color:var(--ink);line-height:1.7}
.cpm-qa .cpm-a p{margin:0 0 10px}
.cpm-qa .cpm-a ul{margin:0;padding-left:20px}
.cpm-qa .cpm-a ul li{margin:3px 0}

/* ============================================================
   CTA SYSTEM  (reuses standard .gc-btn buttons; we only style
   the surrounding stage, halo, microcopy and trust chips)
   ============================================================ */
.cpm-cta{margin-top:22px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;
  background:linear-gradient(180deg,#fff, #f3f9ff);border:1px solid #d7e6f7;border-radius:18px;
  padding:26px 22px;box-shadow:var(--shadow-sm)}
.cpm-cta-stage{position:relative;display:inline-flex;padding:6px;border-radius:14px;
  background:radial-gradient(circle at 50% 40%,rgba(0,163,196,.18),transparent 70%)}
.cpm-cta-stage::before{content:"";position:absolute;inset:-4px;border-radius:18px;
  background:conic-gradient(from 0deg,var(--accent),var(--blue),var(--accent));opacity:.0;z-index:-1;filter:blur(14px);transition:.25s}
.cpm-cta:hover .cpm-cta-stage::before{opacity:.55}
.cpm-cta-kicker{margin:0;font-size:14px;color:var(--muted);font-weight:600;max-width:560px}
.cpm-cta-kicker b{color:var(--navy)}
.cpm-cta-chips{display:flex;flex-wrap:wrap;gap:9px;justify-content:center}
.cpm-cta-chips span{background:#fff;border:1px solid #d7e6f7;border-radius:999px;padding:6px 13px;font-size:12.5px;font-weight:600;color:var(--navy);display:inline-flex;align-items:center;gap:7px}
.cpm-cta-chips span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--good)}

/* ============ RFQ / CLOSING — premium conversion block ============ */
.cpm-rfq{position:relative;background:linear-gradient(135deg,#0f2747,#143a6b);color:#fff;border-radius:20px;padding:40px 34px;margin-top:6px;box-shadow:var(--shadow-lg);overflow:hidden}
.cpm-rfq::before{content:"";position:absolute;width:420px;height:420px;right:-120px;top:-160px;border-radius:50%;
  background:radial-gradient(circle,rgba(0,163,196,.28),transparent 65%);pointer-events:none}
.cpm-rfq > *{position:relative;z-index:1}
.cpm-rfq h2{color:#fff;margin:0 0 10px;font-size:clamp(22px,2.6vw,28px)}
.cpm-rfq p{color:#cfe0f3;font-size:15.5px;max-width:720px;margin:0 0 22px}
.cpm-rfq-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
/* primary stays brand blue for consistency; glow ensures clarity on dark navy */
.cpm-rfq .gc-btn--primary{box-shadow:0 8px 24px rgba(0,82,204,.5)}
.cpm-rfq .gc-btn--primary:hover{box-shadow:0 12px 30px rgba(0,82,204,.6)}
/* ghost on dark = clean outline (was white-on-white = invisible) */
.cpm-rfq .gc-btn--ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.55);box-shadow:none}
.cpm-rfq .gc-btn--ghost:hover{background:rgba(255,255,255,.16);border-color:#fff}
.cpm-rfq-assure{display:flex;flex-wrap:wrap;gap:18px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14)}
.cpm-rfq-assure div{display:flex;align-items:center;gap:9px;font-size:13.5px;color:#dbe7f7}
.cpm-rfq-assure div::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
/* "what happens next" mini-steps inside RFQ */
.cpm-rfq-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.cpm-rfq-step{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:16px}
.cpm-rfq-step b{display:block;color:#fff;font-size:14px;margin-bottom:4px}
.cpm-rfq-step span{font-size:12.5px;color:#bcd4f0;line-height:1.5}
.cpm-rfq-step b i{font-style:normal;color:var(--accent);font-weight:800;margin-right:6px}

/* ============ STICKY BOTTOM CTA ============ */
.cpm-sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:60;transform:translateY(120%);
  transition:transform .35s cubic-bezier(.2,.7,.3,1);padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  background:rgba(15,39,71,.96);backdrop-filter:blur(10px);box-shadow:0 -8px 30px rgba(0,0,0,.28);
  border-top:1px solid rgba(0,163,196,.4)}
.cpm-sticky-cta.show{transform:translateY(0)}
.cpm-sticky-in{max-width:1120px;margin:0 auto;display:flex;align-items:center;gap:16px;justify-content:space-between;flex-wrap:wrap}
.cpm-sticky-txt{display:flex;flex-direction:column;line-height:1.25}
.cpm-sticky-txt b{color:#fff;font-size:15px}
.cpm-sticky-txt span{color:#bcd4f0;font-size:12.5px}
.cpm-sticky-cta .gc-btn--primary{flex:0 0 auto;box-shadow:0 8px 24px rgba(0,82,204,.5)}
.cpm-sticky-cta .gc-btn--primary:hover{box-shadow:0 12px 30px rgba(0,82,204,.6)}

/* ============ CLUSTER + NOTES ============ */
.cpm-cluster{margin-top:26px}
.cpm-cluster h3{font-size:15px;color:var(--navy);margin:0 0 12px}
.cpm-cluster ul{display:flex;flex-wrap:wrap;gap:9px;list-style:none;margin:0;padding:0}
.cpm-cluster ul li a{display:inline-block;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:8px 15px;font-size:13.5px;font-weight:600;color:var(--blue);transition:.15s}
.cpm-cluster ul li a:hover{border-color:var(--accent);background:#fff}
.cpm-note{background:#fff8ef;border:1px solid #f3d9b0;border-left:4px solid var(--warn);border-radius:10px;padding:14px 16px;font-size:13.5px;color:#7a4a12;line-height:1.6;margin-top:18px}
.cpm-note b{color:var(--warn)}

/* ============ PHOTO PLACEHOLDER ============ */
/* .cpm-photo replaced by <img class="cpm-shot"> per image-placeholder rule */

/* ============ RESPONSIVE ============ */
@media (max-width:900px){
  .cpm-hero-grid,.cpm-structure{grid-template-columns:1fr}
  .cpm-typegrid,.cpm-steps,.cpm-trial,.cpm-matgroup,.cpm-app,.cpm-casegrid,.cpm-cost,.cpm-req{grid-template-columns:1fr}
  .cpm-dfm-grid{grid-template-columns:1fr}
  .cpm-rfq-steps{grid-template-columns:1fr}
  .cpm-timeline{flex-direction:column}
  .cpm-timeline .cpm-tl{border-left:none;border-top:3px solid var(--accent)}
  .cpm-timeline .cpm-tl::before{left:18px;top:-7px}
  .cpm-sticky-txt{display:none}
}
