/* ============================================================
   PEEK Injection Molding Services — scoped styles (.peekim-page)
   Deploy to: https://www.xmgoldcattle.com/assets/css/peek-injection-molding-services.css?ver=1
   ============================================================ */
.peekim-page {
  --gc-blue:#0052cc;
  --gc-navy:#0f2747;
  --gc-accent:#00a3c4;
  --gc-muted:#5a6b82;
  --gc-bg:#f4f7fb;
  --gc-card:#ffffff;
  --gc-border:#e2e8f2;
  --gc-radius:16px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--gc-navy);
  line-height:1.65;
}
.peekim-page * { box-sizing:border-box; }
.peekim-wrap { max-width:1180px; margin:0 auto; padding:0 24px; }

/* ---- buttons (self-contained) ---- */
.gc-btn {
  display:inline-flex; align-items:center; justify-content:center;
  font:inherit; font-weight:600; font-size:15px; line-height:1;
  padding:14px 22px; border-radius:10px; border:1.5px solid transparent;
  cursor:pointer; text-decoration:none; transition:.18s ease;
}
.gc-btn--primary { background:var(--gc-blue); color:#fff; }
.gc-btn--primary:hover { background:#003ea0; }
.gc-btn--outline { background:#fff; color:var(--gc-blue); border-color:var(--gc-blue); }
.gc-btn--outline:hover { background:#eef3ff; }
.gc-btn--lg { padding:16px 30px; font-size:16px; }

/* ---- hero ---- */
.peekim-hero {
  position:relative; min-height:560px; overflow:hidden; display:flex; flex-direction:column; justify-content:center;
  background:
    radial-gradient(1100px 560px at 85% -15%, rgba(0,163,196,0.22) 0%, rgba(0,163,196,0) 60%),
    linear-gradient(120deg, #0f2747 0%, #143a63 100%);
}
.peekim-hero .peekim-wrap { max-width:1180px; }
.peekim-hero-inner {
  position:relative; z-index:2; padding:72px 0;
  display:grid; grid-template-columns:1.25fr 0.9fr; gap:52px; align-items:center;
}
.peekim-hero-copy { min-width:0; }
.peekim-eyebrow { display:inline-block; font-size:13px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; }
.peekim-hero .peekim-eyebrow { color:#bcd2f5; }
.peekim-h1 {
  font-size:clamp(34px,4.6vw,56px); line-height:1.06; font-weight:800; color:#fff;
  margin:12px 0 18px; letter-spacing:-0.02em;
}
.peekim-hero-sub { font-size:18px; color:rgba(255,255,255,0.9); max-width:560px; margin:0 0 22px; }
.peekim-chips { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:26px; }
.peekim-chip {
  font-size:13px; font-weight:600; color:#dce8fb;
  background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.14);
  padding:7px 13px; border-radius:999px;
}
.peekim-cta-row { display:flex; flex-wrap:wrap; gap:14px; }
.peekim-hero-foot { margin:18px 0 0; font-size:13px; color:rgba(255,255,255,0.65); }
.peekim-hero-media { position:relative; align-self:stretch; }
.peekim-hero-img {
  width:100%; height:100%; object-fit:cover; border-radius:18px;
  box-shadow:0 22px 55px rgba(0,0,0,0.42); display:block; border:1px solid rgba(255,255,255,0.12);
}
.peekim-thermal {
  position:absolute; left:16px; bottom:16px; right:16px;
  background:rgba(255,255,255,0.96); border-radius:14px; padding:14px 16px;
  box-shadow:0 14px 34px rgba(0,0,0,0.4); backdrop-filter:blur(2px);
}
.peekim-thermal-title { display:block; font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--gc-accent); margin-bottom:8px; }
.peekim-thermal-row { display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:4px 0; border-top:1px solid #eef2f7; font-size:13.5px; }
.peekim-thermal-row:first-of-type { border-top:none; }
.peekim-thermal-row b { color:var(--gc-navy); font-weight:700; }
.peekim-thermal-row span { color:var(--gc-muted); font-weight:600; white-space:nowrap; }
.peekim-thermal-row--note { display:block; padding-top:8px; }
.peekim-thermal-row--note span { display:block; white-space:normal; font-weight:500; font-style:italic; color:var(--gc-muted); font-size:12.5px; }

/* ---- sections ---- */
.peekim-sec { padding:64px 0; }
.peekim-sec--alt { background:var(--gc-bg); }
.peekim-sec-title { font-size:clamp(26px,3.2vw,36px); font-weight:800; margin:8px 0 14px; letter-spacing:-0.01em; }
.peekim-eyebrow { color:var(--gc-accent); }
.peekim-sec-lead { font-size:17px; color:var(--gc-muted); max-width:820px; margin:0 0 18px; }
.peekim-note {
  margin-top:22px; padding:14px 18px; background:#fff7e8; border-left:4px solid #f0a500;
  border-radius:0 10px 10px 0; font-size:14.5px; color:#6b4a00;
}
.peekim-sec--alt .peekim-note { background:#fff; border-left-color:var(--gc-accent); color:var(--gc-muted); }

/* ---- quick answer ---- */
.peekim-quick { background:linear-gradient(180deg,#ffffff 0%, #f4f7fb 100%); }
.peekim-quick-lead { font-size:17px; color:var(--gc-navy); max-width:860px; }
.peekim-quick-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:24px; }
.peekim-quick-card { background:#fff; border:1px solid var(--gc-border); border-radius:14px; padding:18px; }
.peekim-quick-card b { display:block; color:var(--gc-blue); font-size:15px; margin-bottom:6px; }
.peekim-quick-card span { font-size:14px; color:var(--gc-muted); }

/* ---- grids ---- */
.peekim-grid2 { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:8px; }
.peekim-grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:24px; }
.peekim-feat { background:#fff; border:1px solid var(--gc-border); border-radius:14px; padding:20px; }
.peekim-sec--alt .peekim-feat { background:#fff; }
.peekim-feat h4 { margin:0 0 8px; font-size:16px; color:var(--gc-navy); }
.peekim-feat p { margin:0; font-size:14.5px; color:var(--gc-muted); }
.peekim-list { margin:0; padding-left:20px; color:var(--gc-muted); font-size:15px; }
.peekim-list li { margin:7px 0; }
.peekim-list b { color:var(--gc-navy); }

/* ---- grades ---- */
.peekim-grade { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; margin-top:24px; }
.peekim-grade-card { background:#fff; border:1px solid var(--gc-border); border-radius:14px; padding:18px; display:flex; flex-direction:column; }
.peekim-grade-card h4 { margin:0 0 8px; font-size:15.5px; color:var(--gc-navy); }
.peekim-grade-card p { margin:0 0 12px; font-size:13.5px; color:var(--gc-muted); flex:1; }
.peekim-grade-tag { display:inline-block; align-self:flex-start; font-size:12px; font-weight:700; color:var(--gc-blue); background:#eaf1ff; padding:5px 10px; border-radius:8px; }

/* ---- hard / why difficult ---- */
.peekim-hard { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:24px; }
.peekim-hard-item { background:#fff; border:1px solid var(--gc-border); border-top:3px solid var(--gc-accent); border-radius:0 0 14px 14px; padding:18px; }
.peekim-hard-item b { display:block; color:var(--gc-navy); font-size:15px; margin-bottom:6px; }
.peekim-hard-item p { margin:0; font-size:14px; color:var(--gc-muted); }

/* ---- process steps ---- */
.peekim-steps { list-style:none; counter-reset:step; margin:24px 0 0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.peekim-steps li { position:relative; background:#fff; border:1px solid var(--gc-border); border-radius:14px; padding:18px 18px 18px 60px; counter-increment:step; }
.peekim-steps li::before { content:counter(step); position:absolute; left:16px; top:18px; width:30px; height:30px; border-radius:50%; background:var(--gc-blue); color:#fff; font-weight:700; font-size:14px; display:flex; align-items:center; justify-content:center; }
.peekim-steps b { display:block; color:var(--gc-navy); font-size:15px; margin-bottom:4px; }
.peekim-steps span { font-size:14px; color:var(--gc-muted); }

/* ---- process figure ---- */
.peekim-fig { margin:26px 0 0; }
.peekim-fig img { width:100%; height:auto; border-radius:14px; box-shadow:0 14px 38px rgba(0,0,0,0.16); display:block; }
.peekim-fig figcaption { margin:10px 0 0; font-size:13.5px; color:var(--gc-muted); text-align:center; }

/* ---- thermal window bars ---- */
.peekim-window { margin-top:28px; max-width:760px; position:relative; }
.peekim-window-row {
  display:grid; grid-template-columns:150px 1fr 110px; gap:14px; align-items:center;
  margin:10px 0;
}
.peekim-window-name { font-size:13.5px; font-weight:700; color:var(--gc-navy); text-align:right; }
.peekim-window-val { font-size:13.5px; font-weight:700; color:var(--gc-blue); }
.peekim-window-bar { position:relative; height:34px; background:#e9eef6; border-radius:8px; overflow:hidden; }
.peekim-window-fill { position:absolute; top:0; bottom:0; border-radius:8px; }
.peekim-window-fill--unfilled { left:25%; width:25%; background:linear-gradient(90deg,#00a3c4,#0052cc); }
.peekim-window-fill--gf { left:50%; width:25%; background:linear-gradient(90deg,#0052cc,#0f2747); }
.peekim-window-fill--specialty { left:25%; width:62.5%; background:repeating-linear-gradient(90deg,#0f2747,#0f2747 10px,#3a4b61 10px,#3a4b61 20px); opacity:.85; }
.peekim-window-axis { position:relative; height:18px; margin-bottom:8px; }
.peekim-window-axis span { position:absolute; transform:translateX(-50%); font-size:11.5px; color:var(--gc-muted); font-weight:600; }
.peekim-window-axis .peekim-window-axis-0 { left:0; transform:none; }
.peekim-window-axis .peekim-window-axis-25 { left:25%; }
.peekim-window-axis .peekim-window-axis-50 { left:50%; }
.peekim-window-axis .peekim-window-axis-75 { left:75%; }
.peekim-window-axis .peekim-window-axis-100 { left:100%; }
.peekim-window-ticks { display:grid; grid-template-columns:repeat(5,1fr); margin-top:4px; }
.peekim-window-ticks span { border-left:1px dashed #cbd6e8; height:8px; }
.peekim-window-ticks span:first-child { border-left:none; }

/* ---- defects ---- */
.peekim-defect { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:24px; }
.peekim-defect-card { background:#fff; border:1px solid var(--gc-border); border-radius:14px; padding:18px; }
.peekim-defect-card h4 { margin:0 0 8px; font-size:15px; color:var(--gc-navy); }
.peekim-defect-card p { margin:0; font-size:13.5px; color:var(--gc-muted); }
.peekim-defect-card b { color:var(--gc-blue); }

/* ---- applications ---- */
.peekim-app { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:24px; }
.peekim-app-card { background:#fff; border:1px solid var(--gc-border); border-radius:16px; overflow:hidden; padding:0 0 18px; }
.peekim-app-card img { width:100%; height:180px; object-fit:cover; display:block; background:#eef2f7; }
.peekim-app-card h4 { margin:16px 18px 6px; font-size:16px; color:var(--gc-navy); }
.peekim-app-card p { margin:0 18px; font-size:13.5px; color:var(--gc-muted); }

/* ---- comparison tables ---- */
.peekim-sub { font-size:20px; font-weight:700; margin:30px 0 12px; color:var(--gc-navy); }
.peekim-table { width:100%; border-collapse:collapse; margin:0 0 8px; font-size:14.5px; background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 1px 0 var(--gc-border); }
.peekim-table th, .peekim-table td { text-align:left; padding:12px 14px; border-bottom:1px solid var(--gc-border); vertical-align:top; }
.peekim-table thead th { background:var(--gc-navy); color:#fff; font-weight:600; font-size:14px; }
.peekim-table tbody tr:nth-child(even) { background:#f7f9fc; }
.peekim-table td:first-child { font-weight:600; color:var(--gc-navy); width:26%; }

/* ---- lead time ---- */
.peekim-lt { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:24px; }
.peekim-lt-cell { background:#fff; border:1px solid var(--gc-border); border-radius:14px; padding:20px; }
.peekim-lt-cell b { display:block; color:var(--gc-blue); font-size:15px; margin-bottom:8px; }
.peekim-lt-cell span { font-size:14px; color:var(--gc-muted); }

/* ---- case study ---- */
.peekim-case { display:grid; grid-template-columns:0.8fr 1.2fr; gap:32px; margin-top:24px; align-items:stretch; }
.peekim-case-img { position:relative; overflow:hidden; border-radius:16px; min-height:260px; box-shadow:0 16px 40px rgba(0,0,0,0.18); }
.peekim-case-img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.peekim-case-body { background:#fff; border:1px solid var(--gc-border); border-radius:16px; padding:28px 30px; display:flex; flex-direction:column; justify-content:center; box-shadow:0 10px 28px rgba(0,0,0,0.06); }
.peekim-case-body p { font-size:15px; color:var(--gc-muted); margin:0 0 12px; }
.peekim-case-body p b { color:var(--gc-navy); }
.peekim-case-foot { font-style:italic; font-size:13.5px; color:var(--gc-muted); }
.peekim-case-body p.peekim-case-foot { margin-bottom:0; }

/* ---- RFQ ---- */
.peekim-rfq { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:8px; }
.peekim-field { background:#fff; border:1px solid var(--gc-border); border-radius:14px; padding:18px; }
.peekim-field h4 { margin:0 0 10px; font-size:14px; color:var(--gc-blue); text-transform:uppercase; letter-spacing:.03em; }
.peekim-field ul { margin:0; padding-left:18px; font-size:14px; color:var(--gc-muted); }
.peekim-field li { margin:6px 0; }
.peekim-cta-row--center { justify-content:center; margin-top:26px; }

/* ---- final cta ---- */
.peekim-finalcta {
  background:
    radial-gradient(900px 400px at 12% -20%, rgba(0,163,196,0.25) 0%, rgba(0,163,196,0) 60%),
    linear-gradient(120deg, #0f2747 0%, #143a63 100%);
  padding:56px 0;
}
.peekim-finalcta-in { display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; }
.peekim-finalcta-in h2 { color:#fff; font-size:clamp(22px,2.8vw,30px); margin:0 0 10px; max-width:640px; }
.peekim-finalcta-in p { color:rgba(255,255,255,0.85); font-size:16px; margin:0; max-width:620px; }

/* ---- FAQ ---- */
.peekim-faq { border:1px solid var(--gc-border); border-radius:12px; background:#fff; margin:12px 0; overflow:hidden; }
.peekim-faq summary { cursor:pointer; padding:16px 20px; font-weight:600; font-size:15.5px; color:var(--gc-navy); list-style:none; }
.peekim-faq summary::-webkit-details-marker { display:none; }
.peekim-faq summary::before { content:"+"; color:var(--gc-blue); font-weight:800; margin-right:10px; }
.peekim-faq[open] summary::before { content:"\2212"; }
.peekim-faq-a { padding:0 20px 18px; font-size:14.5px; color:var(--gc-muted); }
.peekim-faq-a p { margin:0; }

/* ---- related ---- */
.peekim-rel { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:24px; }
.peekim-rel a { display:block; background:#fff; border:1px solid var(--gc-border); border-radius:14px; padding:20px; text-decoration:none; transition:.18s; }
.peekim-rel a:hover { border-color:var(--gc-blue); box-shadow:0 10px 26px rgba(0,82,204,0.12); transform:translateY(-2px); }
.peekim-rel b { display:block; color:var(--gc-blue); font-size:15.5px; margin-bottom:6px; }
.peekim-rel span { font-size:13.5px; color:var(--gc-muted); }

/* ---- modal (global, self-contained here) ---- */
.gcq-modal { display:none; position:fixed; inset:0; z-index:9999; background:rgba(15,39,71,0.62); }
.gcq-modal.open { display:flex; align-items:center; justify-content:center; padding:20px; }
.gcq-modal-box { position:relative; width:min(720px,100%); height:min(86vh,820px); background:#fff; border-radius:14px; overflow:hidden; box-shadow:0 30px 70px rgba(0,0,0,0.4); }
.gcq-modal-box iframe { width:100%; height:100%; border:0; }
.gcq-close { position:absolute; top:8px; right:10px; z-index:2; width:38px; height:38px; border-radius:50%; border:none; background:rgba(15,39,71,0.7); color:#fff; font-size:24px; line-height:1; cursor:pointer; }
.gcq-close:hover { background:var(--gc-navy); }

/* ---- responsive ---- */
@media (max-width:960px) {
  .peekim-hero-inner { grid-template-columns:1fr; gap:30px; padding:54px 0; }
  .peekim-hero-media { order:2; align-self:auto; }
  .peekim-hero-img { height:auto; aspect-ratio:16/10; }
  .peekim-quick-grid, .peekim-grade, .peekim-grid3, .peekim-hard, .peekim-defect, .peekim-app, .peekim-lt, .peekim-rfq, .peekim-rel { grid-template-columns:1fr 1fr; }
  .peekim-grid2, .peekim-steps, .peekim-case { grid-template-columns:1fr; }
  .peekim-case-img { min-height:auto; aspect-ratio:4/3; }
  .peekim-case-img img { position:static; height:auto; object-fit:initial; }
  .peekim-case-body { padding:22px 24px; }
}
@media (max-width:600px) {
  .peekim-sec { padding:46px 0; }
  .peekim-quick-grid, .peekim-grade, .peekim-grid3, .peekim-hard, .peekim-defect, .peekim-app, .peekim-lt, .peekim-rfq, .peekim-rel { grid-template-columns:1fr; }
  .peekim-cta-row { flex-direction:column; align-items:stretch; }
  .peekim-thermal { position:static; margin-top:14px; right:auto; left:auto; }
  .peekim-finalcta-in { flex-direction:column; align-items:flex-start; }
}
