/* ============================================================
   Custom PP Injection Molded Parts — scoped stylesheet
   Container: .gc-pp04-page  (all selectors scoped, no :root,
   no bare element selectors, variables defined on the container)
   ============================================================ */

.gc-pp04-page{
  --pp04-blue:#0052cc;
  --pp04-navy:#0f2747;
  --pp04-accent:#00a3c4;
  --pp04-line:#d7e0ee;
  --pp04-soft:#f4f7fc;
  --pp04-ink:#1c2b3a;
  --pp04-muted:#5b6b7d;
  box-sizing:border-box;
  background:#ffffff;
  color:var(--pp04-ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:17px;
  line-height:1.65;
}
.gc-pp04-page *{box-sizing:border-box;}
.gc-pp04-wrap{max-width:1120px;margin:0 auto;padding:0 24px;}

/* ---------- HERO ---------- */
.gc-pp04-hero{padding:56px 0 40px;}
.gc-pp04-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;}
.gc-pp04-hero-copy{min-width:0;}
.gc-pp04-eyebrow{margin:0 0 12px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--pp04-accent);}
.gc-pp04-h2{margin:0 0 14px;font-size:28px;line-height:1.26;font-weight:750;color:var(--pp04-navy);}
.gc-pp04-hero .gc-pp04-h2{font-size:38px;}
.gc-pp04-lead{margin:0 0 22px;font-size:18px;color:var(--pp04-muted);}
.gc-pp04-badges{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-wrap:wrap;gap:10px;}
.gc-pp04-badge{background:var(--pp04-soft);border:1px solid var(--pp04-line);color:var(--pp04-navy);font-size:13px;font-weight:600;padding:6px 12px;border-radius:999px;}
.gc-pp04-cta-row{display:flex;flex-wrap:wrap;gap:12px;}
.gc-pp04-btn{appearance:none;border:0;cursor:pointer;font-size:15px;font-weight:700;padding:14px 24px;border-radius:10px;background:var(--pp04-blue);color:#ffffff;transition:transform .15s ease,box-shadow .15s ease;}
.gc-pp04-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,82,204,.28);}
.gc-pp04-btn--ghost{background:#ffffff;color:var(--pp04-blue);border:1.5px solid var(--pp04-blue);}
.gc-pp04-hero-media{margin:0;}
.gc-pp04-page img{max-width:100%;height:auto;display:block;border-radius:12px;}
.gc-pp04-hero-media img{box-shadow:0 16px 36px rgba(15,39,71,.16);}

/* ---------- FACTS STRIP ---------- */
.gc-pp04-facts{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--pp04-line);border-radius:14px;overflow:hidden;}
.gc-pp04-fact{padding:18px 16px;border-right:1px solid var(--pp04-line);}
.gc-pp04-fact:last-child{border-right:0;}
.gc-pp04-fact-num{display:block;font-size:20px;font-weight:800;color:var(--pp04-blue);}
.gc-pp04-fact-label{display:block;font-size:13px;color:var(--pp04-muted);margin-top:4px;}

/* ---------- SECTIONS ---------- */
.gc-pp04-section{padding:56px 0;}
.gc-pp04-section--soft{background:var(--pp04-soft);}
.gc-pp04-grid2{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;}
.gc-pp04-col{min-width:0;}
.gc-pp04-p{margin:0 0 16px;font-size:16.5px;}
.gc-pp04-p:last-child{margin-bottom:0;}

/* ---------- SPEC DEFINITION LIST ---------- */
.gc-pp04-spec{margin:0;padding:0;border-top:1px solid var(--pp04-line);}
.gc-pp04-page .gc-pp04-spec dt{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--pp04-accent);margin:0;padding-top:14px;}
.gc-pp04-page .gc-pp04-spec dd{margin:2px 0 0;padding-bottom:14px;border-bottom:1px solid var(--pp04-line);font-size:16px;}

/* ---------- CALLOUT ---------- */
.gc-pp04-callout{margin:0;padding:16px 18px;background:#eaf3ff;border-left:4px solid var(--pp04-blue);border-radius:0 12px 12px 0;}
.gc-pp04-callout .gc-pp04-p{margin:0;font-size:15.5px;}

/* ---------- PROCESS STRIP ---------- */
.gc-pp04-process{margin:8px 0 0;padding:22px;background:#ffffff;border:1px solid var(--pp04-line);border-radius:16px;}
.gc-pp04-process svg{width:100%;height:auto;display:block;}

/* ---------- TABLES ---------- */
.gc-pp04-tablewrap{margin:8px 0 0;overflow-x:auto;border:1px solid var(--pp04-line);border-radius:14px;}
.gc-pp04-page .gc-pp04-table{width:100%;border-collapse:collapse;min-width:640px;background:#ffffff;font-size:15.5px;}
.gc-pp04-page .gc-pp04-table th{text-align:left;background:var(--pp04-navy);color:#ffffff;font-weight:700;font-size:14px;padding:13px 16px;vertical-align:top;}
.gc-pp04-page .gc-pp04-table td{padding:13px 16px;border-top:1px solid var(--pp04-line);vertical-align:top;color:var(--pp04-ink);}
.gc-pp04-page .gc-pp04-table tbody tr:nth-child(even){background:var(--pp04-soft);}

/* ---------- LISTS ---------- */
.gc-pp04-list{margin:0 0 16px;padding:0 0 0 20px;}
.gc-pp04-page .gc-pp04-list li{margin:0 0 9px;font-size:16px;}
.gc-pp04-page .gc-pp04-list li:last-child{margin-bottom:0;}

/* ---------- FIGURES ---------- */
.gc-pp04-figure{margin:0;}
.gc-pp04-page .gc-pp04-figure img{border-radius:12px;box-shadow:0 12px 28px rgba(15,39,71,.12);}
.gc-pp04-figure-cap{margin:12px 0 0;font-size:13.5px;color:var(--pp04-muted);line-height:1.5;}

/* ---------- FAQ ---------- */
.gc-pp04-faq{display:grid;gap:10px;}
.gc-pp04-faq-item{border:1px solid var(--pp04-line);border-radius:12px;background:#ffffff;padding:0 20px;}
.gc-pp04-faq-q{cursor:pointer;font-size:16.5px;font-weight:700;color:var(--pp04-navy);padding:16px 0;list-style:none;}
.gc-pp04-faq-q::-webkit-details-marker{display:none;}
.gc-pp04-faq-a{margin:0;padding:0 0 18px;font-size:15.5px;color:var(--pp04-muted);}

/* ---------- CTA BAND ---------- */
.gc-pp04-cta-band{background:var(--pp04-navy);color:#ffffff;padding:56px 0;}
.gc-pp04-cta-band-inner{max-width:760px;margin:0 auto;text-align:center;}
.gc-pp04-cta-band .gc-pp04-h2{color:#ffffff;}
.gc-pp04-cta-band .gc-pp04-p{color:#c9d6e8;}
.gc-pp04-cta-band .gc-pp04-cta-row{justify-content:center;margin-top:22px;}
.gc-pp04-cta-band .gc-pp04-btn--ghost{background:transparent;color:#ffffff;border-color:#7fa6d8;}

/* ---------- MODAL ---------- */
.gc-pp04-modal-overlay{position:fixed;inset:0;z-index:9999;display:none;background:rgba(15,39,71,.6);padding:24px;overflow-y:auto;}
.gc-pp04-modal-overlay.is-open{display:block;}
.gc-pp04-modal-box{position:relative;max-width:720px;margin:40px auto;background:#ffffff;border-radius:16px;padding:20px;}
.gc-pp04-modal-close{position:absolute;top:8px;right:12px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:var(--pp04-muted);}
.gc-pp04-modal-iframe{width:100%;height:640px;border:0;display:block;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:960px){
  .gc-pp04-hero-grid{grid-template-columns:1fr;gap:28px;}
  .gc-pp04-grid2{grid-template-columns:1fr;gap:28px;}
  .gc-pp04-facts{grid-template-columns:repeat(2,1fr);}
  .gc-pp04-fact:nth-child(2n){border-right:0;}
  .gc-pp04-h2{font-size:25px;}
  .gc-pp04-hero .gc-pp04-h2{font-size:30px;}
}
@media (max-width:560px){
  .gc-pp04-wrap{padding:0 16px;}
  .gc-pp04-section{padding:40px 0;}
  .gc-pp04-hero{padding:36px 0 28px;}
  .gc-pp04-modal-iframe{height:520px;}
}
