/* ============================================================
   Goldcattle — Custom Steering Wheel Manufacturing
   Independent stylesheet · namespace .sw-
   Theme: cockpit carbon + racing red + leather brown
   Craftsmanship / engineering brand layout
   ============================================================ */
:root{
  --sw-ink:#171a1f;
  --sw-ink-soft:#434a54;
  --sw-faint:#7a828d;
  --sw-carbon:#16191e;
  --sw-carbon-2:#20242b;
  --sw-carbon-3:#2c323b;
  --sw-red:#d92b1c;
  --sw-red-lt:#f3a49b;
  --sw-leather:#8a5a3b;
  --sw-leather-lt:#b98d6b;
  --sw-paper:#f5f4f1;
  --sw-card:#ffffff;
  --sw-line:#e2ddd5;
  --sw-line-soft:#ece8e1;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--sw-paper);color:var(--sw-ink);font-family:"Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;line-height:1.75;font-size:16px;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:#b3261a;text-decoration:none}
a:hover{text-decoration:underline}
b,strong{font-weight:700}
.sw-page{overflow:hidden}

/* ---------- containers ---------- */
.sw-wide{max-width:1160px;margin:0 auto;padding:0 30px}
.sw-body{max-width:840px;margin:0 auto;padding:0 30px}
.sw-section{padding:64px 0}
.sw-section--tint{background:#fff}

/* ---------- hero (cockpit) ---------- */
.sw-hero{background:radial-gradient(1200px 500px at 85% -10%,rgba(217,43,28,.18),transparent 55%),linear-gradient(150deg,#101317 0%,#1b2026 60%,#262d35 100%);color:#eef1f4;position:relative;overflow:hidden}
.sw-hero::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--sw-red),transparent 70%)}
.sw-hero .sw-wide{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;padding-top:60px;padding-bottom:60px;position:relative}
.sw-breadcrumbs{font-size:12.5px;letter-spacing:.06em;color:#8fa0b3;margin-bottom:20px}
.sw-breadcrumbs a{color:#c4d0dc}
.sw-kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--sw-red-lt);border:1px solid rgba(243,164,155,.4);border-radius:3px;padding:5px 12px;margin-bottom:18px;background:rgba(217,43,28,.12)}
.sw-hero .sw-title{font-size:clamp(28px,3.9vw,44px);line-height:1.12;letter-spacing:-.015em;color:#fff;margin-bottom:16px;font-weight:800}
.sw-hero .sw-title em{font-style:normal;color:var(--sw-red-lt)}
.sw-hero .sw-deck{font-size:16px;color:#b8c2cd;max-width:520px;margin-bottom:26px}
.sw-hero-img{border-radius:14px;overflow:hidden;box-shadow:0 24px 60px -20px rgba(0,0,0,.65);border:1px solid rgba(255,255,255,.12);background:#20242b}
.sw-hero-img img{width:100%;height:420px;object-fit:cover}
.sw-hero-img figcaption{font-size:12px;color:#8fa0b3;padding:10px 14px}

/* ---------- capability band ---------- */
.sw-capband{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:0}
.sw-cap{background:#fff;border:1px solid var(--sw-line);border-top:3px solid var(--sw-red);border-radius:10px;padding:20px 22px}
.sw-cap b{display:block;font-size:14.5px;color:var(--sw-ink);margin-bottom:6px}
.sw-cap span{font-size:13px;color:var(--sw-ink-soft);line-height:1.6}
.sw-cap .sw-cap-num{display:block;font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--sw-red);margin-bottom:8px}

/* ---------- section head ---------- */
.sw-section h2{font-size:clamp(23px,2.7vw,31px);line-height:1.22;letter-spacing:-.012em;color:var(--sw-ink);margin-bottom:8px}
.sw-hrule{width:56px;height:4px;background:var(--sw-red);border-radius:2px;margin:0 0 18px}
.sw-section .sw-lede{font-size:15.5px;color:var(--sw-ink-soft);max-width:100%;margin-bottom:24px}
.sw-body p{font-size:15px;color:#3c444e;margin-bottom:15px;max-width:100%}

/* ---------- split: complete vs components ---------- */
.sw-split{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:8px}
.sw-split-card{border-radius:12px;padding:28px 30px}
.sw-split-card--dark{background:var(--sw-carbon);color:#eef1f4}
.sw-split-card--light{background:#fff;border:1px solid var(--sw-line)}
.sw-split-card h3{font-size:17px;margin-bottom:14px}
.sw-split-card--dark h3{color:#fff}
.sw-split-card--light h3{color:var(--sw-ink)}
.sw-split-card ul{list-style:none}
.sw-split-card li{font-size:13.5px;padding:6px 0 6px 24px;position:relative;border-bottom:1px dashed rgba(127,140,150,.25)}
.sw-split-card li:last-child{border-bottom:none}
.sw-split-card--dark li{color:#b8c2cd}
.sw-split-card--light li{color:var(--sw-ink-soft)}
.sw-split-card li::before{content:"→";position:absolute;left:0;color:var(--sw-red);font-weight:900}

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

/* ---------- cnc block ---------- */
.sw-cnc{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;margin-top:8px}
.sw-cnc figure{border:1px solid var(--sw-line);border-radius:12px;overflow:hidden;background:#fff}
.sw-cnc figure img{width:100%;height:260px;object-fit:cover}
.sw-cnc figure figcaption{font-size:12px;color:var(--sw-faint);padding:10px 14px}
.sw-cnc ul{list-style:none;margin-top:10px}
.sw-cnc li{font-size:14px;color:var(--sw-ink-soft);padding:7px 0 7px 26px;position:relative;border-bottom:1px dashed var(--sw-line-soft)}
.sw-cnc li:last-child{border-bottom:none}
.sw-cnc li::before{content:"⚙";position:absolute;left:0;color:var(--sw-red);font-weight:900}
.sw-cnc h3{font-size:17px;color:var(--sw-ink);margin-bottom:10px}

/* ---------- process timeline ---------- */
.sw-steps{list-style:none;margin-top:8px;position:relative;padding-left:34px}
.sw-steps::before{content:"";position:absolute;left:11px;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,var(--sw-red),var(--sw-leather))}
.sw-steps li{position:relative;padding:0 0 26px 26px}
.sw-steps li:last-child{padding-bottom:0}
.sw-steps li::before{content:attr(data-step);position:absolute;left:-34px;top:0;width:24px;height:24px;border-radius:50%;background:var(--sw-carbon);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}
.sw-steps b{display:block;font-size:15px;color:var(--sw-ink);margin-bottom:3px}
.sw-steps span{font-size:13.5px;color:var(--sw-ink-soft);display:block;line-height:1.65}

/* ---------- applications ---------- */
.sw-apps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
.sw-app{background:#fff;border:1px solid var(--sw-line);border-radius:12px;padding:24px 26px;position:relative;overflow:hidden}
.sw-app::after{content:"";position:absolute;right:-30px;bottom:-30px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,rgba(217,43,28,.12),transparent 65%)}
.sw-app h3{font-size:15.5px;color:var(--sw-ink);margin-bottom:8px}
.sw-app p{font-size:13px;color:var(--sw-ink-soft);line-height:1.65;margin:0}
.sw-app ul{list-style:none;margin-top:8px}
.sw-app li{font-size:12.5px;color:var(--sw-faint);padding:3px 0 3px 16px;position:relative}
.sw-app li::before{content:"•";position:absolute;left:0;color:var(--sw-red);font-weight:900}

/* ---------- reverse flow ---------- */
.sw-flow{display:flex;flex-wrap:wrap;gap:0;margin:24px 0}
.sw-flow span{flex:1 1 120px;background:#fff;border:1px solid var(--sw-line);border-radius:8px;padding:14px 12px;font-size:12.5px;font-weight:700;color:var(--sw-ink);text-align:center;position:relative;margin:0 8px 8px 0}
.sw-flow span::after{content:"→";position:absolute;right:-9px;top:50%;transform:translateY(-50%);color:var(--sw-red);font-weight:900}
.sw-flow span:last-child::after{display:none}
.sw-flow span:last-child{margin-right:0}

/* ---------- case study ---------- */
.sw-case{background:#fff;border:1px solid var(--sw-line);border-radius:14px;overflow:hidden;margin-top:8px}
.sw-case-head{background:var(--sw-carbon);color:#fff;font-weight:800;padding:16px 26px;font-size:15px;letter-spacing:.02em}
.sw-case-head span{color:var(--sw-red-lt);font-weight:700}
.sw-case-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.sw-case-col{padding:24px 26px}
.sw-case-col + .sw-case-col{border-left:1px solid var(--sw-line-soft);background:#faf9f6}
.sw-case-col h3{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--sw-red);margin-bottom:12px}
.sw-case-col dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px}
.sw-case-col dt{font-size:13px;font-weight:700;color:var(--sw-ink);white-space:nowrap}
.sw-case-col dd{font-size:13px;color:var(--sw-ink-soft);margin:0}
.sw-case-col p{font-size:13.5px;color:var(--sw-ink-soft);margin:0 0 10px}
.sw-case-col p:last-child{margin-bottom:0}

/* ---------- safety ---------- */
.sw-safety{background:#eef1f4;border:1px solid #d5dbe2;border-left:5px solid var(--sw-leather);border-radius:0 12px 12px 0;padding:26px 30px;margin-top:8px}
.sw-safety h3{color:var(--sw-leather);margin:0 0 10px;font-size:16px}
.sw-safety p{font-size:14px;color:#46525e;margin-bottom:12px}
.sw-safety p:last-child{margin-bottom:0}
.sw-safety-ref{font-size:12.5px;color:var(--sw-faint);margin-top:14px;border-top:1px dashed #ccd3da;padding-top:12px}
.sw-safety-ref a{color:#5a6b7c}

/* ---------- qc ---------- */
.sw-qc{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}
.sw-qc-item{background:#fff;border:1px solid var(--sw-line);border-radius:8px;padding:15px 20px;display:flex;gap:12px;align-items:baseline}
.sw-qc-item::before{content:"✓";flex:none;width:22px;height:22px;border-radius:50%;background:#f7e6e2;color:var(--sw-red);font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}
.sw-qc-item b{display:block;font-size:13.5px;color:var(--sw-ink)}
.sw-qc-item span{font-size:12.5px;color:var(--sw-faint)}

/* ---------- timeline note ---------- */
.sw-tl{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:8px}
.sw-tl-card{background:#fff;border:1px solid var(--sw-line);border-radius:10px;padding:20px 22px;border-bottom:3px solid var(--sw-leather)}
.sw-tl-card b{display:block;font-size:14px;color:var(--sw-ink);margin-bottom:6px}
.sw-tl-card span{font-size:12.5px;color:var(--sw-ink-soft);line-height:1.6;display:block}

/* ---------- callout ---------- */
.sw-callout{background:#f7e6e2;border:1px solid #efd3cc;border-left:4px solid var(--sw-red);border-radius:8px;padding:18px 24px;font-size:14.5px;color:var(--sw-ink);margin:24px 0}
.sw-callout b{color:#a32217}

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

/* ---------- related ---------- */
.sw-rel{display:flex;flex-wrap:wrap;gap:10px}
.sw-rel a{background:#fff;border:1px solid var(--sw-line);border-radius:6px;padding:9px 18px;font-size:13.5px;font-weight:600;color:var(--sw-ink);transition:all .15s}
.sw-rel a:hover{background:var(--sw-carbon);color:#fff;text-decoration:none;border-color:var(--sw-carbon)}

/* ---------- final cta ---------- */
.sw-final{background:radial-gradient(900px 400px at 15% 0%,rgba(217,43,28,.2),transparent 55%),linear-gradient(150deg,#101317,#1b2026 65%,#262d35);border-radius:16px;padding:56px 40px;text-align:center;color:#eef1f4;position:relative;overflow:hidden;margin:0 24px}
.sw-final h2{color:#fff;margin-bottom:8px}
.sw-final p{color:#b8c2cd;max-width:640px;margin:0 auto 24px;font-size:15px}
.sw-final .sw-send{font-size:13px;color:#8fa0b3;max-width:560px;margin:0 auto 28px;line-height:1.7}
.sw-note{font-size:13px;color:#8fa0b3;text-align:center;margin-top:28px}

/* ---------- responsive ---------- */
@media (max-width:960px){
  .sw-hero .sw-wide{grid-template-columns:1fr;gap:28px;padding-top:44px;padding-bottom:44px}
  .sw-hero-img img{height:280px}
  .sw-capband{grid-template-columns:repeat(2,1fr)}
  .sw-split,.sw-cnc,.sw-qc{grid-template-columns:1fr}
  .sw-apps{grid-template-columns:1fr}
  .sw-tl{grid-template-columns:1fr}
  .sw-case-grid{grid-template-columns:1fr}
  .sw-case-col + .sw-case-col{border-left:none;border-top:1px solid var(--sw-line-soft)}
  .sw-cnc figure img{height:auto;max-height:240px;width:100%}
}
@media (max-width:600px){
  .sw-section{padding:46px 0}
  .sw-capband{grid-template-columns:1fr}
  .sw-final{padding:42px 22px;margin:0 12px}
  .sw-hero .sw-title{font-size:26px}
}
