/* ==========================================================================
   Goldcattle — Custom 3D Printed Toys & Figurines
   Container scope: .gc-toy   (100% scoped)
   Visual language: warm "maker studio" — cream + ink + coral/violet play,
   rounded cards, soft dotted grid. Deliberately distinct from navy/steel/wood.
   ========================================================================== */

.gc-toy{
  --toy-ink:#16202e;
  --toy-ink-2:#243246;
  --toy-blue:#0052cc;          /* brand primary CTA */
  --toy-blue-d:#003e99;
  --toy-coral:#f2784b;         /* playful accent */
  --toy-violet:#7c5cff;        /* creative accent */
  --toy-amber:#f4a93b;
  --toy-line:#ece3da;
  --toy-line-2:#f1ece6;
  --toy-soft:#fff8f2;          /* warm cream section bg */
  --toy-ti:#6b7686;
  --toy-ok:#1f9d6b;
  --toy-r:16px;
  --toy-r-s:11px;
  color:#2b3545;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
  font-size:16px;line-height:1.72;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
.gc-toy *,.gc-toy *::before,.gc-toy *::after{box-sizing:border-box;}
.gc-toy img{max-width:100%;height:auto;display:block;}
.gc-toy p{margin:0 0 1.05em;}
.gc-toy p:last-child{margin-bottom:0;}
.gc-toy a{color:var(--toy-blue);text-decoration:none;}
.gc-toy a:hover{text-decoration:underline;}
.gc-toy ul,.gc-toy ol{margin:0 0 1.05em;padding-left:1.25em;}
.gc-toy li{margin:.35em 0;}
.gc-toy strong{color:var(--toy-ink);font-weight:680;}
.gc-toy em{font-style:normal;color:var(--toy-coral);font-weight:600;}

.gc-toy-wrap{max-width:1140px;margin:0 auto;padding:0 22px;}
.gc-toy-sec{padding:64px 0;}
.gc-toy-sec--soft{background:var(--toy-soft);border-top:1px solid var(--toy-line-2);border-bottom:1px solid var(--toy-line-2);}
.gc-toy-sec--tight{padding:48px 0;}

.gc-toy-eyebrow{
  display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--toy-coral);margin:0 0 14px;
}
.gc-toy-eyebrow::before{content:"";width:22px;height:3px;background:var(--toy-coral);border-radius:2px;}
.gc-toy-h2{font-size:clamp(22px,3vw,31px);line-height:1.24;color:var(--toy-ink);font-weight:750;letter-spacing:-.015em;margin:0 0 14px;}
.gc-toy-lead{font-size:17px;color:#46505f;max-width:840px;}
.gc-toy-head{max-width:880px;margin-bottom:38px;}

/* ---------- hero ---------- */
.gc-toy-hero{position:relative;overflow:hidden;background:
  radial-gradient(120% 100% at 88% 0%,#fff3e9 0%,#fff8f2 38%,#fffdfb 100%);
  border-bottom:1px solid var(--toy-line);padding:74px 0 64px;}
.gc-toy-hero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:radial-gradient(rgba(242,120,75,.16) 1.4px,transparent 1.4px);
  background-size:22px 22px;-webkit-mask-image:radial-gradient(110% 80% at 20% 10%,#000,transparent 70%);mask-image:radial-gradient(110% 80% at 20% 10%,#000,transparent 70%);}
.gc-toy-hero__inner{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center;}
.gc-toy-hero__pill{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--toy-violet);background:#f1ecff;padding:7px 13px;border-radius:999px;border:1px solid #e1d8ff;margin:0 0 18px;}
.gc-toy-hero__pill::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--toy-violet);}
.gc-toy-hero__title{font-size:clamp(27px,3.8vw,42px);line-height:1.12;font-weight:800;letter-spacing:-.02em;color:var(--toy-ink);margin:0 0 16px;}
.gc-toy-hero__lead{font-size:17px;color:#4a5566;max-width:560px;margin:0 0 22px;}
.gc-toy-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px;}
.gc-toy-chip{font-size:13px;font-weight:650;color:var(--toy-ink-2);background:#fff;border:1px solid var(--toy-line);border-radius:999px;padding:8px 14px;}
.gc-toy-chip b{color:var(--toy-coral);}
.gc-toy-hero__media{position:relative;}
.gc-toy-hero__media img{border-radius:var(--toy-r);border:1px solid var(--toy-line);box-shadow:0 24px 54px rgba(40,30,20,.16);}

/* ---------- buttons ---------- */
.gc-toy-btn{display:inline-flex;align-items:center;gap:9px;font:inherit;font-weight:700;font-size:15.5px;cursor:pointer;
  padding:14px 26px;border-radius:999px;border:1px solid transparent;background:var(--toy-blue);color:#fff;transition:.18s ease;}
.gc-toy-btn:hover{background:var(--toy-blue-d);transform:translateY(-1px);text-decoration:none;}
.gc-toy-btn--ghost{background:transparent;color:var(--toy-ink);border-color:rgba(40,30,20,.22);}
.gc-toy-btn--ghost:hover{background:rgba(40,30,20,.06);}
.gc-toy-btn__arw{transition:transform .18s ease;}
.gc-toy-btn:hover .gc-toy-btn__arw{transform:translateX(3px);}

/* ---------- quick match cards ---------- */
.gc-toy-match{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.gc-toy-match__c{background:#fff;border:1px solid var(--toy-line);border-radius:var(--toy-r);padding:20px 22px;border-left:4px solid var(--toy-coral);}
.gc-toy-match__c:nth-child(2n){border-left-color:var(--toy-violet);}
.gc-toy-match__q{font-size:14.5px;font-weight:650;color:var(--toy-ink-2);margin:0 0 6px;}
.gc-toy-match__a{font-size:15px;font-weight:700;color:var(--toy-coral);margin:0;}
.gc-toy-match__c:nth-child(2n) .gc-toy-match__a{color:var(--toy-violet);}

/* ---------- cards grid ---------- */
.gc-toy-grid{display:grid;gap:18px;}
.gc-toy-grid--3{grid-template-columns:repeat(3,1fr);}
.gc-toy-grid--2{grid-template-columns:repeat(2,1fr);}
.gc-toy-card{position:relative;background:#fff;border:1px solid var(--toy-line);border-radius:var(--toy-r);padding:22px 22px 20px;overflow:hidden;transition:.18s ease;}
.gc-toy-card::after{content:"";position:absolute;right:-30px;top:-30px;width:96px;height:96px;border-radius:50%;
  background:radial-gradient(circle,rgba(242,120,75,.10),transparent 70%);}
.gc-toy-card:hover{border-color:#e3cdbf;box-shadow:0 14px 34px rgba(60,40,20,.10);transform:translateY(-2px);}
.gc-toy-card__i{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;
  font-size:16px;font-weight:800;color:#fff;background:linear-gradient(150deg,var(--toy-coral),#e85f33);margin:0 0 12px;}
.gc-toy-card:nth-child(3n) .gc-toy-card__i{background:linear-gradient(150deg,var(--toy-violet),#5e3fe0);}
.gc-toy-card:nth-child(3n+2) .gc-toy-card__i{background:linear-gradient(150deg,var(--toy-amber),#e08a1d);}
.gc-toy-card__t{font-size:16.5px;font-weight:720;color:var(--toy-ink);margin:0 0 7px;}
.gc-toy-card__d{font-size:14.6px;color:#54606f;margin:0;}

/* ---------- comparison / tables ---------- */
.gc-toy-tblwrap{border:1px solid var(--toy-line);border-radius:var(--toy-r);overflow:hidden;background:#fff;}
.gc-toy-tbl{width:100%;border-collapse:collapse;font-size:14.8px;}
.gc-toy-tbl caption{caption-side:top;text-align:left;font-size:13px;color:var(--toy-ti);padding:14px 18px 0;}
.gc-toy-tbl th,.gc-toy-tbl td{padding:13px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--toy-line-2);}
.gc-toy-tbl thead th{background:var(--toy-ink);color:#fff;font-size:12.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-bottom:none;white-space:nowrap;}
.gc-toy-tbl tbody tr:nth-child(even){background:#fdfbf8;}
.gc-toy-tbl tbody tr:last-child td{border-bottom:none;}
.gc-toy-tbl__fam{font-weight:720;color:var(--toy-ink);}
.gc-toy-tbl__good{color:var(--toy-ok);font-weight:600;}
.gc-toy-tbl__note{color:var(--toy-ti);}

/* ---------- process 4-up ---------- */
.gc-toy-proc{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.gc-toy-proc__c{background:#fff;border:1px solid var(--toy-line);border-radius:var(--toy-r);padding:20px 18px;border-top:3px solid var(--toy-coral);}
.gc-toy-proc__c:nth-child(2){border-top-color:var(--toy-violet);}
.gc-toy-proc__c:nth-child(3){border-top-color:var(--toy-amber);}
.gc-toy-proc__c:nth-child(4){border-top-color:var(--toy-blue);}
.gc-toy-proc__k{font-size:13px;font-weight:800;letter-spacing:.06em;color:var(--toy-coral);margin:0 0 4px;}
.gc-toy-proc__c:nth-child(2) .gc-toy-proc__k{color:var(--toy-violet);}
.gc-toy-proc__c:nth-child(3) .gc-toy-proc__k{color:var(--toy-amber);}
.gc-toy-proc__c:nth-child(4) .gc-toy-proc__k{color:var(--toy-blue);}
.gc-toy-proc__t{font-size:17px;font-weight:740;color:var(--toy-ink);margin:0 0 8px;}
.gc-toy-proc__d{font-size:14.2px;color:#54606f;margin:0;}

/* ---------- joint diagram ---------- */
.gc-toy-joint{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px;}
.gc-toy-joint__i{border-radius:var(--toy-r);padding:20px;border:1px solid var(--toy-line);}
.gc-toy-joint__i--bad{background:#fff1ed;border-color:#f6cdbd;}
.gc-toy-joint__i--ok{background:#eefaf3;border-color:#bfe6d2;}
.gc-toy-joint__t{font-size:15.5px;font-weight:730;margin:0 0 8px;}
.gc-toy-joint__i--bad .gc-toy-joint__t{color:#c0492a;}
.gc-toy-joint__i--ok .gc-toy-joint__t{color:#157a52;}
.gc-toy-joint__d{font-size:14px;margin:0;}

/* ---------- figures ---------- */
.gc-toy-figgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.gc-toy-fig{margin:0;}
.gc-toy-fig img{border-radius:var(--toy-r);border:1px solid var(--toy-line);background:#fff;width:100%;}
.gc-toy-fig--wide img{width:100%;}
.gc-toy-fig figcaption{font-size:13.5px;color:var(--toy-ti);margin-top:11px;line-height:1.55;padding-left:12px;border-left:3px solid var(--toy-line);}
.gc-toy-fig--tight{margin-top:32px;}

/* ---------- materials ---------- */
.gc-toy-mat{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.gc-toy-mat__c{background:#fff;border:1px solid var(--toy-line);border-radius:var(--toy-r);padding:20px 22px;}
.gc-toy-mat__t{font-size:16.5px;font-weight:730;color:var(--toy-ink);margin:0 0 6px;}
.gc-toy-mat__d{font-size:14.6px;color:#54606f;margin:0;}

/* ---------- checklist ---------- */
.gc-toy-check{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:11px 26px;}
.gc-toy-check li{position:relative;padding-left:30px;font-size:15.2px;color:#37424f;margin:0;}
.gc-toy-check li::before{content:"";position:absolute;left:0;top:.34em;width:15px;height:15px;border:2px solid var(--toy-coral);border-radius:4px;background:linear-gradient(45deg,transparent 42%,var(--toy-coral) 42%,var(--toy-coral) 58%,transparent 58%);}

/* ---------- steps ---------- */
.gc-toy-steps{list-style:none;counter-reset:toy;padding:0;margin:0;display:grid;gap:0;}
.gc-toy-steps li{position:relative;counter-increment:toy;padding:0 0 24px 64px;margin:0;border-left:2px solid var(--toy-line);margin-left:22px;}
.gc-toy-steps li:last-child{border-left-color:transparent;padding-bottom:0;}
.gc-toy-steps li::before{content:counter(toy,decimal-leading-zero);position:absolute;left:-21px;top:-2px;width:44px;height:44px;border-radius:50%;
  background:#fff;border:2px solid var(--toy-coral);color:var(--toy-ink);font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums;}
.gc-toy-steps__t{font-size:16px;font-weight:720;color:var(--toy-ink);margin:0 0 5px;padding-top:6px;}
.gc-toy-steps__d{font-size:14.8px;color:#54606f;margin:0;}

/* ---------- QC grid ---------- */
.gc-toy-qc{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;}
.gc-toy-qc__i{background:#fff;border:1px solid var(--toy-line);border-left:3px solid var(--toy-violet);border-radius:var(--toy-r-s);padding:17px 17px 15px;}
.gc-toy-qc__t{font-size:15.2px;font-weight:720;color:var(--toy-ink);margin:0 0 6px;}
.gc-toy-qc__d{font-size:14.2px;color:#54606f;margin:0;}

/* ---------- compliance callout ---------- */
.gc-toy-comp{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.gc-toy-comp__c{background:#fff;border:1px solid var(--toy-line);border-radius:var(--toy-r);padding:24px;}
.gc-toy-comp__c h3{font-size:17px;font-weight:750;color:var(--toy-ink);margin:0 0 12px;display:flex;align-items:center;gap:10px;}
.gc-toy-comp__c h3::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--toy-coral);}
.gc-toy-comp__c--eu h3::before{background:var(--toy-violet);}
.gc-toy-comp__c p{font-size:14.8px;color:#46505f;margin:0 0 10px;}
.gc-toy-note{background:#fff7f0;border:1px solid #f6d9c4;border-radius:var(--toy-r-s);padding:16px 18px;font-size:14.5px;color:#7a4a2c;margin:0;}
.gc-toy-note b{color:#5e3417;}

/* ---------- cost / spec ---------- */
.gc-toy-cost{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;}
.gc-toy-cost__i{background:#fff;border:1px solid var(--toy-line);border-radius:var(--toy-r-s);padding:18px;}
.gc-toy-cost__t{font-size:15.2px;font-weight:720;color:var(--toy-ink);margin:0 0 6px;}
.gc-toy-cost__d{font-size:14.2px;color:#54606f;margin:0;}
.gc-toy-spec{background:#fff;border:1px solid var(--toy-line);border-radius:var(--toy-r);padding:24px 26px;}
.gc-toy-spec ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;}
.gc-toy-spec li{position:relative;padding-left:30px;font-size:15px;color:#37424f;margin:0;}
.gc-toy-spec li::before{content:"\2611";position:absolute;left:0;top:0;color:var(--toy-coral);font-size:17px;}

/* ---------- case ---------- */
.gc-toy-case{background:#fff;border:1px solid var(--toy-line);border-radius:var(--toy-r);overflow:hidden;display:grid;grid-template-columns:.95fr 1.05fr;}
.gc-toy-case__media img{width:100%;height:100%;object-fit:cover;}
.gc-toy-case__body{padding:30px;}
.gc-toy-tag{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--toy-coral);background:#fff1ed;border:1px solid #f6cdbd;border-radius:999px;padding:5px 12px;margin:0 0 14px;}
.gc-toy-case__t{font-size:19px;font-weight:760;color:var(--toy-ink);margin:0 0 12px;line-height:1.3;}
.gc-toy-case__d{font-size:15px;color:#54606f;}
.gc-toy-case__meta{list-style:none;padding:0;margin:16px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:9px 20px;}
.gc-toy-case__meta li{font-size:14px;color:#54606f;margin:0;}
.gc-toy-case__meta b{display:block;font-size:12.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--toy-ti);margin-bottom:2px;}

/* ---------- FAQ ---------- */
.gc-toy-faq{display:grid;gap:12px;}
.gc-toy-faq__item{border:1px solid var(--toy-line);border-radius:var(--toy-r-s);background:#fff;overflow:hidden;}
.gc-toy-faq__item[open]{border-color:#e3cdbf;box-shadow:0 8px 22px rgba(60,40,20,.07);}
.gc-toy-faq__q{cursor:pointer;list-style:none;padding:17px 50px 17px 20px;position:relative;font-size:15.6px;font-weight:650;color:var(--toy-ink);}
.gc-toy-faq__q::-webkit-details-marker{display:none;}
.gc-toy-faq__q::after{content:"";position:absolute;right:22px;top:50%;width:11px;height:11px;border-right:2px solid var(--toy-coral);border-bottom:2px solid var(--toy-coral);transform:translateY(-70%) rotate(45deg);transition:transform .2s ease;}
.gc-toy-faq__item[open] .gc-toy-faq__q::after{transform:translateY(-25%) rotate(225deg);}
.gc-toy-faq__a{padding:0 20px 19px;font-size:14.9px;color:#54606f;}

/* ---------- CTA ---------- */
.gc-toy-cta{position:relative;overflow:hidden;text-align:center;background:linear-gradient(125deg,#16202e,#28344a);color:#eef2f8;padding:64px 0;border-radius:0;}
.gc-toy-cta::before{content:"";position:absolute;inset:0;background:
  radial-gradient(420px 280px at 84% 12%,rgba(242,120,75,.20),transparent 70%),
  radial-gradient(380px 260px at 14% 90%,rgba(124,92,255,.18),transparent 70%);pointer-events:none;}
.gc-toy-cta__inner{position:relative;z-index:2;max-width:720px;margin:0 auto;}
.gc-toy-cta__t{font-size:clamp(22px,3vw,30px);font-weight:780;color:#fff;margin:0 0 12px;line-height:1.24;}
.gc-toy-cta__d{font-size:16.5px;color:#c3cee0;margin:0 0 24px;}
.gc-toy-cta__btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ---------- related ---------- */
.gc-toy-rel{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.gc-toy-rel__a{display:block;background:#fff;border:1px solid var(--toy-line);border-radius:var(--toy-r-s);padding:20px;transition:.18s ease;}
.gc-toy-rel__a:hover{border-color:var(--toy-blue);box-shadow:0 12px 28px rgba(40,30,20,.10);transform:translateY(-2px);text-decoration:none;}
.gc-toy-rel__t{font-size:15.4px;font-weight:720;color:var(--toy-ink);margin:0 0 6px;}
.gc-toy-rel__d{font-size:13.8px;color:var(--toy-ti);margin:0;}
.gc-toy-btns{display:flex;gap:14px;flex-wrap:wrap;}
.gc-toy-mt{margin-top:22px;}
.gc-toy-mt26{margin-top:26px;}
.gc-toy-case__link{margin:18px 0 0;}

/* ---------- modal ---------- */
.gc-toy-modal{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:18px;}
.gc-toy-modal.is-open{display:flex;}
.gc-toy-modal__bd{position:absolute;inset:0;background:rgba(20,16,10,.6);backdrop-filter:blur(2px);}
.gc-toy-modal__bx{position:relative;z-index:2;width:min(860px,100%);height:min(86vh,860px);background:#fff;border-radius:var(--toy-r);overflow:hidden;box-shadow:0 30px 80px rgba(10,8,4,.4);display:flex;flex-direction:column;}
.gc-toy-modal__hd{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 20px;border-bottom:1px solid var(--toy-line);background:var(--toy-soft);}
.gc-toy-modal__tt{font-size:15.5px;font-weight:720;color:var(--toy-ink);margin:0;}
.gc-toy-modal__x{font:inherit;font-size:22px;line-height:1;cursor:pointer;border:none;background:transparent;color:var(--toy-ti);padding:4px 8px;border-radius:8px;}
.gc-toy-modal__x:hover{background:#efe6dd;color:var(--toy-ink);}
.gc-toy-modal__fr{flex:1;width:100%;border:none;}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .gc-toy-proc{grid-template-columns:repeat(2,1fr);}
  .gc-toy-qc{grid-template-columns:repeat(2,1fr);}
  .gc-toy-cost{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:900px){
  .gc-toy-hero__inner{grid-template-columns:1fr;gap:34px;}
  .gc-toy-hero__media{order:-1;}
  .gc-toy-match{grid-template-columns:1fr;}
  .gc-toy-grid--3{grid-template-columns:1fr 1fr;}
  .gc-toy-comp{grid-template-columns:1fr;}
  .gc-toy-case{grid-template-columns:1fr;}
  .gc-toy-case__media{min-height:220px;}
  .gc-toy-mat{grid-template-columns:1fr;}
  .gc-toy-check{grid-template-columns:1fr;}
  .gc-toy-figgrid{grid-template-columns:1fr;}
  .gc-toy-rel{grid-template-columns:1fr 1fr;}
  .gc-toy-sec{padding:50px 0;}
}
@media (max-width:620px){
  .gc-toy{font-size:15.5px;}
  .gc-toy-grid--3,.gc-toy-grid--2{grid-template-columns:1fr;}
  .gc-toy-proc{grid-template-columns:1fr;}
  .gc-toy-qc{grid-template-columns:1fr;}
  .gc-toy-cost{grid-template-columns:1fr;}
  .gc-toy-rel{grid-template-columns:1fr;}
  .gc-toy-joint{grid-template-columns:1fr;}
  .gc-toy-spec ul{grid-template-columns:1fr;}
  .gc-toy-case__meta{grid-template-columns:1fr;}
  .gc-toy-hero{padding:50px 0 44px;}
  .gc-toy-sec{padding:42px 0;}
  .gc-toy-tbl{font-size:14px;}
  .gc-toy-tbl th,.gc-toy-tbl td{padding:11px 12px;}
  .gc-toy-steps li{padding-left:54px;margin-left:16px;}
  .gc-toy-steps li::before{left:-19px;width:38px;height:38px;font-size:12px;}
}
