/* ============================================================
   Why Is CNC Machining Used? — scoped stylesheet
   Container: .gc-whycnc  (100% isolated, no global leakage)
   Palette: navy #0f2747 · blue #0052cc · teal #00a3c4 · amber #d98026
   ============================================================ */
.gc-whycnc {
  --navy:#0f2747; --blue:#0052cc; --teal:#00a3c4; --amber:#d98026;
  --ink:#1d2733; --muted:#5d6c7b; --line:#e6ebf1; --soft:#f5f8fb;
  --card:#ffffff; --radius:16px;
  max-width:100%; color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:16px; line-height:1.7; -webkit-font-smoothing:antialiased;
}
.gc-whycnc * { box-sizing:border-box; }
.gc-whycnc .gc-wrap { max-width:1120px; margin:0 auto; padding:0 24px; }

/* ---------- Hero ---------- */
.gc-whycnc .gc-hero {
  background:
    radial-gradient(1100px 520px at 84% -12%, rgba(0,163,196,.20), transparent 62%),
    linear-gradient(135deg,#0f2747 0%,#16365f 58%,#0e2240 100%);
  border-top:3px solid var(--teal);
  color:#fff; padding:62px 0 0;
}
.gc-whycnc .gc-hero__inner { display:grid; grid-template-columns:1.1fr 0.9fr; gap:46px; align-items:center; }
.gc-whycnc .gc-hero__tag { display:inline-block; font-size:12.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--teal); font-weight:700; margin-bottom:16px; }
.gc-whycnc .gc-hero-title { font-size:41px; line-height:1.15; letter-spacing:-.7px; font-weight:800; margin:0 0 10px; color:#fff; }
.gc-whycnc .gc-hero__sub { font-size:17px; color:#9fc3dd; font-weight:600; margin:0 0 18px; }
.gc-whycnc .gc-hero__lead { font-size:16.5px; color:#cdd9e6; margin:0 0 28px; }
.gc-whycnc .gc-hero__cta { display:flex; gap:14px; flex-wrap:wrap; }
.gc-whycnc .gc-hero__media img { width:100%; height:auto; border-radius:18px; border:1px solid rgba(255,255,255,.12); box-shadow:0 22px 48px rgba(0,0,0,.36); display:block; }
.gc-whycnc .gc-chips { display:flex; flex-wrap:wrap; gap:10px; margin-top:36px; padding-bottom:32px; }
.gc-whycnc .gc-chip { background:rgba(0,163,196,.13); border:1px solid rgba(0,163,196,.34); color:#e2f5f9; padding:8px 14px; border-radius:999px; font-size:13px; font-weight:600; }

/* ---------- Buttons ---------- */
.gc-whycnc .gc-btn { display:inline-flex; align-items:center; justify-content:center; padding:13px 24px; border-radius:11px; font-size:15px; font-weight:700; cursor:pointer; text-decoration:none; border:2px solid transparent; transition:transform .12s ease, background .15s ease, box-shadow .15s ease, border-color .15s ease; }
.gc-whycnc .gc-btn--primary { background:var(--blue); color:#fff; box-shadow:0 10px 24px rgba(0,82,204,.34); }
.gc-whycnc .gc-btn--primary:hover { background:#0a3fa0; transform:translateY(-1px); box-shadow:0 14px 30px rgba(0,82,204,.42); }
.gc-whycnc .gc-btn--ghost { background:transparent; color:#fff; border-color:rgba(255,255,255,.55); }
.gc-whycnc .gc-btn--ghost:hover { background:rgba(255,255,255,.1); border-color:#fff; }
.gc-whycnc .gc-btn--lg { padding:16px 34px; font-size:16px; }

/* ---------- Sections ---------- */
.gc-whycnc .gc-section { padding:70px 0; }
.gc-whycnc .gc-section--alt { background:var(--soft); }
.gc-whycnc h2 { position:relative; font-size:30px; line-height:1.24; margin:0 0 16px; color:var(--navy); letter-spacing:-.3px; padding-top:4px; font-weight:800; }
.gc-whycnc h2::before { content:""; display:block; width:48px; height:4px; border-radius:3px; background:linear-gradient(90deg,var(--teal),var(--blue)); margin-bottom:14px; }
.gc-whycnc h3 { font-size:20px; margin:34px 0 12px; color:var(--navy); font-weight:700; }
.gc-whycnc h4 { font-size:15.5px; margin:0 0 10px; color:var(--navy); font-weight:700; }
.gc-whycnc p { margin:0 0 14px; }
.gc-whycnc .gc-lead { font-size:16.5px; color:var(--muted); max-width:860px; margin-bottom:8px; }
.gc-whycnc .gc-note { font-size:13.5px; color:var(--muted); margin:12px 0 0; }
.gc-whycnc a { color:var(--blue); font-weight:600; text-decoration:none; }
.gc-whycnc a:hover { text-decoration:underline; }

/* ---------- Answer box ---------- */
.gc-whycnc .gc-answer { padding:30px 0 0; }
.gc-whycnc .gc-answer__box { background:#fff; border:1px solid var(--line); border-left:5px solid var(--teal); border-radius:var(--radius); padding:26px 28px; box-shadow:0 4px 16px rgba(15,39,71,.06); }
.gc-whycnc .gc-answer__q { font-size:20px; margin:0 0 10px; padding-top:0; }
.gc-whycnc .gc-answer__q::before { display:none; }
.gc-whycnc .gc-answer__box p { margin:0; font-size:16px; }

/* ---------- Split (text + image) ---------- */
.gc-whycnc .gc-split { display:grid; grid-template-columns:1.12fr 0.88fr; gap:34px; align-items:start; margin-top:16px; }
.gc-whycnc .gc-split--rev .gc-split__text { order:2; }
.gc-whycnc .gc-split--rev .gc-split__media { order:1; }
.gc-whycnc .gc-split__media img { width:100%; height:auto; border-radius:14px; border:1px solid var(--line); box-shadow:0 10px 26px rgba(15,39,71,.12); display:block; }
.gc-whycnc .gc-split__text { min-width:0; }

/* ---------- Lists ---------- */
.gc-whycnc .gc-list { margin:0 0 14px; padding-left:20px; }
.gc-whycnc .gc-list li { margin-bottom:8px; font-size:15px; }
.gc-whycnc .gc-list--links { list-style:none; padding-left:0; }
.gc-whycnc .gc-list--links li { margin-bottom:10px; font-size:15px; }

/* ---------- Flow ---------- */
.gc-whycnc .gc-flow { display:flex; flex-wrap:wrap; align-items:center; gap:8px 6px; margin:18px 0; }
.gc-whycnc .gc-flow__node { background:#fff; border:1px solid var(--teal); color:var(--navy); font-weight:700; font-size:13.5px; padding:9px 14px; border-radius:10px; box-shadow:0 2px 8px rgba(0,163,196,.08); }
.gc-whycnc .gc-flow__arrow { color:var(--teal); font-size:18px; font-weight:700; }

/* ---------- Chains / Cols ---------- */
.gc-whycnc .gc-cols { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin:20px 0; }
.gc-whycnc .gc-col { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:22px 24px; box-shadow:0 4px 16px rgba(15,39,71,.05); }
.gc-whycnc .gc-col__hd { font-size:14.5px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--navy); margin-bottom:14px; }
.gc-whycnc .gc-chain { display:flex; flex-direction:column; align-items:flex-start; gap:2px; }
.gc-whycnc .gc-chain__n { background:var(--soft); border:1px solid var(--line); border-radius:9px; padding:8px 13px; font-size:13.5px; font-weight:600; color:var(--navy); }
.gc-whycnc .gc-chain__a { color:var(--teal); font-size:16px; line-height:1; margin:2px 0 2px 12px; }

/* ---------- Tables ---------- */
.gc-whycnc .gc-table { overflow-x:auto; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 4px 16px rgba(15,39,71,.05); margin:18px 0; }
.gc-whycnc .gc-table table { width:100%; border-collapse:collapse; font-size:15px; }
.gc-whycnc .gc-table th, .gc-whycnc .gc-table td { text-align:left; padding:13px 17px; border-bottom:1px solid var(--line); vertical-align:top; }
.gc-whycnc .gc-table thead th { background:var(--navy); color:#fff; font-weight:700; }
.gc-whycnc .gc-table tbody tr { transition:background .12s ease; }
.gc-whycnc .gc-table tbody tr:nth-child(even) { background:var(--soft); }
.gc-whycnc .gc-table tbody tr:hover { background:#eef5fb; }
.gc-whycnc .gc-table tbody tr:last-child td, .gc-whycnc .gc-table tbody tr:last-child th { border-bottom:none; }
.gc-whycnc .gc-table tbody th { color:var(--navy); font-weight:700; }

/* ---------- Decision paths ---------- */
.gc-whycnc .gc-path { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:22px 24px; margin:18px 0; box-shadow:0 4px 16px rgba(15,39,71,.05); }
.gc-whycnc .gc-path--yes { border-left:5px solid var(--teal); }
.gc-whycnc .gc-path--no { border-left:5px solid var(--amber); }
.gc-whycnc .gc-path__hd { font-size:15.5px; font-weight:800; color:var(--navy); margin-bottom:14px; }
.gc-whycnc .gc-path__verdict { color:var(--blue); }
.gc-whycnc .gc-path__body { display:flex; flex-wrap:wrap; align-items:center; gap:8px 6px; }
.gc-whycnc .gc-path__node { background:var(--soft); border:1px solid var(--line); border-radius:9px; padding:8px 13px; font-size:13.5px; font-weight:600; color:var(--navy); }
.gc-whycnc .gc-path__arrow { color:var(--teal); font-size:17px; font-weight:700; }
.gc-whycnc .gc-path--no .gc-path__arrow { color:var(--amber); }

/* ---------- Alt columns ---------- */
.gc-whycnc .gc-alt { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin:20px 0 8px; }
.gc-whycnc .gc-alt__col { background:#fff; border:1px solid var(--line); border-left:4px solid var(--amber); border-radius:14px; padding:20px 22px; }
.gc-whycnc .gc-alt__col h4 { color:#9a5b12; }
.gc-whycnc .gc-alt__col .gc-list { margin:0; }

/* ---------- Cards / Grid ---------- */
.gc-whycnc .gc-grid { display:grid; gap:20px; margin-top:18px; }
.gc-whycnc .gc-grid--2 { grid-template-columns:repeat(2,1fr); }
.gc-whycnc .gc-grid--3 { grid-template-columns:repeat(3,1fr); }
.gc-whycnc .gc-card { background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:22px 24px; box-shadow:0 4px 16px rgba(15,39,71,.05); transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.gc-whycnc .gc-card:hover { transform:translateY(-3px); box-shadow:0 14px 30px rgba(15,39,71,.11); border-color:#cfe0ec; }
.gc-whycnc .gc-card h3 { font-size:17px; margin:0 0 8px; color:var(--navy); }
.gc-whycnc .gc-card p { margin:0; font-size:14.5px; }

/* ---------- Callout ---------- */
.gc-whycnc .gc-callout { background:#eafaf7; border-left:4px solid var(--teal); border-radius:12px; padding:18px 20px; margin:22px 0 0; font-size:15px; color:#134b57; }
.gc-whycnc .gc-callout strong { color:#0b7f96; }

/* ---------- FAQ ---------- */
.gc-whycnc .gc-faq { display:grid; gap:12px; margin-top:18px; }
.gc-whycnc .gc-faq__item { background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; box-shadow:0 4px 16px rgba(15,39,71,.05); transition:border-color .15s ease; }
.gc-whycnc .gc-faq__item:hover { border-color:#cfe0ec; }
.gc-whycnc .gc-faq__q { width:100%; text-align:left; background:none; border:none; padding:17px 22px; font-size:16px; font-weight:700; color:var(--navy); cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:14px; transition:background .12s ease; }
.gc-whycnc .gc-faq__q:hover { background:var(--soft); }
.gc-whycnc .gc-faq__q::after { content:"+"; font-size:23px; color:var(--teal); font-weight:700; flex:none; }
.gc-whycnc .gc-faq__item.is-open .gc-faq__q::after { content:"\2212"; }
.gc-whycnc .gc-faq__a { display:none; padding:0 22px 18px; font-size:15px; color:var(--ink); margin:0 22px 4px; border-left:3px solid var(--teal); }
.gc-whycnc .gc-faq__item.is-open .gc-faq__a { display:block; }

/* ---------- CTA ---------- */
.gc-whycnc .gc-cta { background:radial-gradient(900px 400px at 18% -10%, rgba(0,163,196,.18), transparent 60%), linear-gradient(135deg,#0f2747 0%,#16365f 100%); color:#fff; padding:64px 0; border-bottom:3px solid var(--teal); }
.gc-whycnc .gc-cta__inner { display:grid; grid-template-columns:1.25fr 0.75fr; gap:44px; align-items:center; }
.gc-whycnc .gc-cta__h { font-size:28px; margin:0 0 14px; color:#fff; padding-top:0; }
.gc-whycnc .gc-cta__h::before { display:none; }
.gc-whycnc .gc-cta__text p { color:#cdd9e6; font-size:16px; }
.gc-whycnc .gc-cta__list { list-style:none; margin:18px 0 0; padding:0; display:grid; gap:8px; }
.gc-whycnc .gc-cta__list li { font-size:14.5px; color:#e2f5f9; padding-left:26px; position:relative; }
.gc-whycnc .gc-cta__list li::before { content:"\2713"; position:absolute; left:0; top:0; color:var(--teal); font-weight:800; }
.gc-whycnc .gc-cta__side { text-align:center; }
.gc-whycnc .gc-cta__note { font-size:13px; color:#a9c4dd; margin-top:12px; }

/* ---------- Responsive ---------- */
@media (max-width:900px) {
  .gc-whycnc .gc-hero__inner { grid-template-columns:1fr; gap:30px; }
  .gc-whycnc .gc-hero-title { font-size:30px; }
  .gc-whycnc .gc-split { grid-template-columns:1fr; gap:22px; }
  .gc-whycnc .gc-split--rev .gc-split__text { order:1; }
  .gc-whycnc .gc-split--rev .gc-split__media { order:2; }
  .gc-whycnc .gc-cols, .gc-whycnc .gc-alt { grid-template-columns:1fr; }
  .gc-whycnc .gc-grid--2, .gc-whycnc .gc-grid--3 { grid-template-columns:1fr; }
  .gc-whycnc .gc-cta__inner { grid-template-columns:1fr; gap:26px; }
  .gc-whycnc .gc-section { padding:48px 0; }
  .gc-whycnc h2 { font-size:25px; }
  .gc-whycnc .gc-flow { flex-direction:column; align-items:stretch; }
  .gc-whycnc .gc-flow__arrow { transform:rotate(90deg); text-align:center; }
}
@media (max-width:520px) {
  .gc-whycnc .gc-hero-title { font-size:25px; }
  .gc-whycnc h2 { font-size:22px; }
  .gc-whycnc .gc-hero__lead, .gc-whycnc .gc-lead { font-size:15.5px; }
}
