/* ============================================================
   Goldcattle — 304 Stainless Steel CNC Machining Services
   Independent stylesheet · namespace .gs3-
   Theme: steel blue + brushed silver, material-focused
   ============================================================ */
:root{
  --gs3-ink:#18222e;
  --gs3-ink-soft:#45566b;
  --gs3-steel:#2c4a63;
  --gs3-steel-dk:#16283b;
  --gs3-blue:#0e7490;
  --gs3-blue-lt:#7fd0e3;
  --gs3-silver:#c9d4de;
  --gs3-bg:#f3f6f8;
  --gs3-card:#ffffff;
  --gs3-line:#dbe4ec;
  --gs3-line-soft:#e9eff4;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--gs3-bg);color:var(--gs3-ink);font-family:"Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--gs3-blue);text-decoration:none}
a:hover{text-decoration:underline}
b,strong{font-weight:700}
.gs3-page{overflow:hidden}

/* ---------- layout ---------- */
.gs3-wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.gs3-section{padding:72px 0}
.gs3-section--soft{background:#fff}
.gs3-kicker{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gs3-blue);margin-bottom:10px}
.gs3-section h2{font-size:clamp(26px,3.2vw,38px);line-height:1.2;letter-spacing:-.01em;color:var(--gs3-ink);margin-bottom:14px}
.gs3-lede{font-size:17px;color:var(--gs3-ink-soft);max-width:900px;margin-bottom:30px}
.gs3-fine{font-size:13px;color:#6b7d8f;margin-top:14px}
.gs3-note{font-size:13px;color:#7a8898;text-align:center;margin-top:26px}

/* ---------- hero ---------- */
.gs3-hero{position:relative;background:linear-gradient(150deg,#101d2c 0%,#1d3a54 60%,#274b66 130%);color:#eef3f7;overflow:hidden}
.gs3-hero::before{content:"";position:absolute;inset:0;background:
  repeating-linear-gradient(100deg,rgba(255,255,255,.035) 0 2px,transparent 2px 46px),
  repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 1px,transparent 1px 34px);pointer-events:none}
.gs3-hero::after{content:"";position:absolute;right:-140px;bottom:-140px;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(14,116,144,.28),transparent 65%);pointer-events:none}
.gs3-hero .gs3-wrap{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;padding-top:76px;padding-bottom:76px}
.gs3-hero-tag{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#8fd8ea;border:1px solid rgba(143,216,234,.4);border-radius:999px;padding:6px 14px;margin-bottom:20px;background:rgba(14,116,144,.12)}
.gs3-hero-title{font-size:clamp(30px,4vw,50px);line-height:1.12;letter-spacing:-.015em;color:#fff;margin-bottom:16px}
.gs3-hero-sub{font-size:17px;color:#c4d2dd;max-width:560px;margin-bottom:26px}
.gs3-hero-visual{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:14px;margin-bottom:14px}
.gs3-hero-visual img{border-radius:10px}
.gs3-hero-visual figcaption{font-size:12.5px;color:#a9bac7;margin-top:10px;line-height:1.5}
.gs3-hero-meta{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:26px;font-size:13px;color:#b0c1cf}
.gs3-hero-meta b{color:#fff}
.gs3-cta{display:inline-block;font-size:15px}
.gs3-cta--ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.75)!important}

/* ---------- procurement snapshot ---------- */
.gs3-snap{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:14px;padding:20px 22px;margin-top:18px}
.gs3-snap-title{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#8fd8ea;margin-bottom:12px}
.gs3-snap-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.gs3-snap-grid div{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;color:#dfe8ef;border-bottom:1px dashed rgba(255,255,255,.14);padding-bottom:6px}
.gs3-snap-grid b{color:#fff;text-align:right;white-space:nowrap}

/* ---------- overview / cards ---------- */
.gs3-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gs3-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.gs3-card{background:#fff;border:1px solid var(--gs3-line);border-radius:14px;padding:24px}
.gs3-card h4{font-size:16px;color:var(--gs3-steel-dk);margin-bottom:8px}
.gs3-card p{font-size:14px;color:var(--gs3-ink-soft)}
.gs3-card--key{border-top:3px solid var(--gs3-blue)}
.gs3-card ul{list-style:none;margin-top:8px}
.gs3-card li{font-size:13.5px;color:var(--gs3-ink-soft);padding:4px 0 4px 20px;position:relative}
.gs3-card li::before{content:"›";position:absolute;left:4px;color:var(--gs3-blue);font-weight:700}

/* ---------- tables ---------- */
.gs3-table-wrap{background:#fff;border:1px solid var(--gs3-line);border-radius:14px;overflow:hidden;overflow-x:auto}
.gs3-table-wrap table{width:100%;border-collapse:collapse;min-width:640px}
.gs3-table-wrap th{background:var(--gs3-steel);color:#fff;text-align:left;padding:12px 18px;font-size:13px;letter-spacing:.04em}
.gs3-table-wrap td{padding:11px 18px;border-bottom:1px solid var(--gs3-line-soft);font-size:14px;vertical-align:top;color:var(--gs3-ink)}
.gs3-table-wrap tr:last-child td{border-bottom:none}
.gs3-table-wrap td:first-child{font-weight:700;color:var(--gs3-steel-dk);white-space:nowrap}
.gs3-table-wrap tbody tr:nth-child(even){background:#f7fafc}

/* ---------- image with list ---------- */
.gs3-media{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center;background:#fff;border:1px solid var(--gs3-line);border-radius:16px;padding:22px}
.gs3-media img{border-radius:10px}
.gs3-media-list h4{font-size:16px;color:var(--gs3-steel-dk);margin-bottom:10px}
.gs3-media-list li{list-style:none;font-size:14px;color:var(--gs3-ink-soft);padding:7px 0 7px 24px;position:relative;border-bottom:1px dashed var(--gs3-line-soft)}
.gs3-media-list li:last-child{border-bottom:none}
.gs3-media-list li::before{content:"✓";position:absolute;left:0;color:var(--gs3-blue);font-weight:800}

/* ---------- callout ---------- */
.gs3-callout{background:#eaf6f9;border:1px solid #c9e6ee;border-left:4px solid var(--gs3-blue);border-radius:10px;padding:18px 22px;font-size:14.5px;color:var(--gs3-ink);margin-top:24px}
.gs3-callout b{color:var(--gs3-steel-dk)}
.gs3-callout--silver{background:#f0f4f7;border-color:#d9e2ea;border-left-color:var(--gs3-steel)}

/* ---------- process flow ---------- */
.gs3-flow{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;margin:26px 0}
.gs3-flow-step{flex:1 1 130px;background:#fff;border:1px solid var(--gs3-line);border-radius:10px;padding:14px 16px;font-size:13.5px;font-weight:700;color:var(--gs3-steel-dk);text-align:center;position:relative}
.gs3-flow-step small{display:block;font-weight:400;color:var(--gs3-ink-soft);font-size:12px;margin-top:4px}
.gs3-flow-step--key{background:var(--gs3-blue);color:#fff;border-color:var(--gs3-blue)}
.gs3-flow-step--key small{color:#d7f0f6}
.gs3-flow-arrow{align-self:center;color:var(--gs3-blue);font-size:18px;font-weight:800}

/* ---------- part groups ---------- */
.gs3-parts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gs3-parts-card{background:#fff;border:1px solid var(--gs3-line);border-radius:14px;padding:24px;border-top:3px solid var(--gs3-steel)}
.gs3-parts-card h4{font-size:16px;color:var(--gs3-steel-dk);margin-bottom:10px}
.gs3-parts-card li{list-style:none;font-size:13.5px;color:var(--gs3-ink-soft);padding:5px 0 5px 22px;position:relative}
.gs3-parts-card li::before{content:"▪";position:absolute;left:2px;color:var(--gs3-blue)}

/* ---------- decision table ---------- */
.gs3-decision{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.gs3-decision-item{background:#fff;border:1px solid var(--gs3-line);border-radius:12px;padding:20px 22px;display:flex;gap:16px;align-items:baseline}
.gs3-decision-item b{color:var(--gs3-steel-dk);min-width:170px;font-size:14.5px}
.gs3-decision-item span{font-size:14px;color:var(--gs3-ink-soft)}

/* ---------- cost ---------- */
.gs3-cost{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.gs3-cost-card{background:#fff;border:1px solid var(--gs3-line);border-radius:14px;padding:24px}
.gs3-cost-card h4{font-size:16px;margin-bottom:10px;color:var(--gs3-steel-dk)}
.gs3-cost-card ul{list-style:none}
.gs3-cost-card li{font-size:13.5px;color:var(--gs3-ink-soft);padding:5px 0 5px 22px;position:relative}
.gs3-cost-card li::before{content:"›";position:absolute;left:4px;color:var(--gs3-blue);font-weight:700}

/* ---------- case study ---------- */
.gs3-case{background:#fff;border:1px solid var(--gs3-line);border-radius:16px;overflow:hidden}
.gs3-case-head{background:var(--gs3-steel);color:#fff;font-weight:800;padding:14px 22px;font-size:15px}
.gs3-case-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.gs3-case-cell{padding:22px}
.gs3-case-cell:first-child{border-right:1px solid var(--gs3-line-soft)}
.gs3-case-cell table{width:100%;border-collapse:collapse}
.gs3-case-cell td{padding:7px 0;border-bottom:1px solid var(--gs3-line-soft);font-size:13.5px;vertical-align:top}
.gs3-case-cell td:first-child{font-weight:700;color:var(--gs3-steel-dk);width:42%}
.gs3-case-cell tr:last-child td{border-bottom:none}
.gs3-case-cell p{font-size:13.5px;color:var(--gs3-ink-soft);margin-top:8px}

/* ---------- RFQ ---------- */
.gs3-rfq{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
.gs3-rfq-list{background:#fff;border:1px solid var(--gs3-line);border-radius:14px;padding:26px}
.gs3-rfq-list ol{list-style:none;counter-reset:r}
.gs3-rfq-list li{counter-increment:r;font-size:14px;font-weight:700;color:var(--gs3-ink);padding:9px 0 9px 40px;position:relative;border-bottom:1px dashed var(--gs3-line-soft)}
.gs3-rfq-list li:last-child{border-bottom:none}
.gs3-rfq-list li::before{content:counter(r);position:absolute;left:0;top:10px;width:26px;height:26px;background:#eaf6f9;border:1px solid #c9e6ee;color:var(--gs3-blue);border-radius:50%;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center}
.gs3-rfq-list small{display:block;font-weight:400;color:var(--gs3-ink-soft);font-size:12.5px}
.gs3-rfq-note{background:linear-gradient(160deg,#101d2c,#1d3a54);border-radius:14px;padding:26px;color:#eef3f7}
.gs3-rfq-note b{color:#fff;font-size:15px}
.gs3-rfq-note p{font-size:13.5px;color:#c4d2dd;margin-top:10px;padding-left:14px;position:relative}
.gs3-rfq-note p::before{content:"✓";position:absolute;left:0;color:#8fd8ea;font-weight:800}

/* ---------- FAQ ---------- */
.gs3-faq{max-width:100%}
.gs3-faq details{background:#fff;border:1px solid var(--gs3-line);border-radius:12px;margin-bottom:10px;overflow:hidden}
.gs3-faq summary{cursor:pointer;padding:16px 20px;font-weight:700;font-size:15px;color:var(--gs3-ink);list-style:none;position:relative;padding-right:44px}
.gs3-faq summary::-webkit-details-marker{display:none}
.gs3-faq summary::after{content:"+";position:absolute;right:18px;top:12px;font-size:22px;color:var(--gs3-blue);font-weight:400;transition:transform .2s}
.gs3-faq details[open] summary::after{transform:rotate(45deg)}
.gs3-faq .gs3-answer{padding:0 20px 18px;border-top:1px solid var(--gs3-line-soft)}
.gs3-faq .gs3-answer p{font-size:14px;color:var(--gs3-ink-soft);padding-top:14px}

/* ---------- related ---------- */
.gs3-rel{display:flex;flex-wrap:wrap;gap:10px}
.gs3-rel a{background:#fff;border:1px solid var(--gs3-line);border-radius:999px;padding:9px 18px;font-size:13.5px;font-weight:600;color:var(--gs3-steel-dk);transition:all .15s}
.gs3-rel a:hover{background:var(--gs3-steel);color:#fff;text-decoration:none;border-color:var(--gs3-steel)}
.gs3-mat{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.gs3-mat span{background:#f0f4f7;border:1px solid var(--gs3-line);border-radius:999px;padding:8px 18px;font-size:13.5px;font-weight:600;color:var(--gs3-steel-dk)}

/* ---------- final CTA ---------- */
.gs3-final{background:linear-gradient(150deg,#101d2c,#1d3a54 70%,#274b66);border-radius:20px;padding:56px 40px;text-align:center;color:#eef3f7;position:relative;overflow:hidden}
.gs3-final::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 1px,transparent 1px 30px);pointer-events:none}
.gs3-final h2{color:#fff;margin-bottom:12px}
.gs3-final p{color:#c4d2dd;max-width:640px;margin:0 auto 26px;font-size:15.5px}

/* ---------- responsive ---------- */
@media (max-width:960px){
  .gs3-hero .gs3-wrap{grid-template-columns:1fr;padding-top:56px;padding-bottom:56px}
  .gs3-grid,.gs3-parts,.gs3-media,.gs3-decision,.gs3-cost,.gs3-grid-2{grid-template-columns:1fr}
  .gs3-case-grid{grid-template-columns:1fr}
  .gs3-case-cell:first-child{border-right:none;border-bottom:1px solid var(--gs3-line-soft)}
  .gs3-rfq{grid-template-columns:1fr}
  .gs3-snap-grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  .gs3-section{padding:52px 0}
  .gs3-final{padding:44px 22px}
  .gs3-flow-arrow{transform:rotate(90deg)}
}
