:root{
  --orange:#d35400;
  --orange-hot:#d35400;
  --charcoal:#1a1a1a;
  --ink:#2c2c2c;
  --mute:#6a6763;
  --line:#d8d5cf;
  --paper:#f5f4f1;
  --white:#ffffff;
  --error:#b3261e;
  --radius:2px;
  --f-head:'Barlow Condensed', 'Arial Narrow', sans-serif;
  --f-body:'Barlow', Arial, sans-serif;
  --f-mono:'DM Mono', ui-monospace, monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.6}
a{color:var(--orange-hot)}
:focus-visible{outline:2px solid var(--orange-hot);outline-offset:2px}
.g3pc-wrap{max-width:1140px; margin:0 auto;padding:0 24px}



/* ── Hero ── */
.g3pc-hero{padding:56px 0 36px;border-bottom:1px solid var(--line)}
.g3pc-crumb{font-family:var(--f-mono);font-size:13px;color:var(--mute);margin:0 0 18px}
.g3pc-crumb a{color:var(--mute);text-decoration:none}
.g3pc-crumb a:hover{color:var(--orange-hot)}
.g3pc-hero h1{font-family:var(--f-head);font-weight:800;text-transform:uppercase;font-size:clamp(38px,6vw,65px);line-height:.98;letter-spacing:.005em;color:#111;margin:0 0 18px;}
.g3pc-hero h1 span{color:var(--orange)}
.g3pc-lede{font-size:17px;color:var(--ink);margin:0}

/* ── Calculator ── */
.g3pc-calc{padding:44px 0 64px;background:var(--paper);border-bottom:1px solid var(--line)}
.g3pc-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;align-items:start}
@media (max-width:900px){.g3pc-grid{grid-template-columns:1fr}}

.g3pc-panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}
.g3pc-inputs{padding:28px 28px 20px}
.g3pc-h2{font-family:var(--f-head);font-weight:700;text-transform:uppercase;font-size:24px;letter-spacing:.02em;color:var(--charcoal);margin:0 0 4px}
.g3pc-h2 span{color:var(--orange)}
.g3pc-sub{color:var(--mute);font-size:15px;margin:0 0 22px}

.g3pc-field{margin-bottom:18px}
.g3pc-field label{display:block;font-family:var(--f-head);font-weight:600;font-size:16px;letter-spacing:.02em;color:var(--charcoal);margin-bottom:6px}
.g3pc-hint{display:block;font-size:13.5px;color:var(--mute);margin-top:5px;line-height:1.45}
.g3pc-input{display:flex;align-items:stretch;border:1px solid #bdb8b0;border-radius:var(--radius);background:var(--white)}
.g3pc-input:focus-within{border-color:var(--orange-hot);box-shadow:0 0 0 1px var(--orange-hot)}
.g3pc-input input{flex:1;min-width:0;border:0;background:transparent;padding:11px 12px;font-family:var(--f-mono);font-size:16px;color:var(--charcoal)}
.g3pc-input input:focus{outline:none}
.g3pc-unit{display:flex;align-items:center;padding:0 12px;font-family:var(--f-mono);font-size:13px;color:var(--mute);background:var(--paper);border-left:1px solid var(--line)}
.g3pc-unit.pre{border-left:0;border-right:1px solid var(--line)}
.g3pc-field.is-invalid .g3pc-input{border-color:var(--error)}
.g3pc-err{display:none;color:var(--error);font-size:13.5px;margin-top:5px}
.g3pc-field.is-invalid .g3pc-err{display:block}
.g3pc-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
@media (max-width:420px){.g3pc-pair{grid-template-columns:minmax(0,1fr)}}

.g3pc-more{border-top:1px solid var(--line);margin:8px -28px 0;padding:0 28px}
.g3pc-more summary{cursor:pointer;list-style:none;padding:16px 0;font-family:var(--f-head);font-weight:600;font-size:16px;color:var(--charcoal);display:flex;justify-content:space-between;align-items:center}
.g3pc-more summary::-webkit-details-marker{display:none}
.g3pc-more summary::after{content:'+';font-family:var(--f-mono);font-size:20px;color:var(--orange-hot)}
.g3pc-more[open] summary::after{content:'−'}
.g3pc-more-body{padding-bottom:6px}

/* Results */
.g3pc-results{position:sticky;top:20px}
.g3pc-out{padding:28px}
.g3pc-compare{margin:6px 0 26px}
.g3pc-row{margin-bottom:16px}
.g3pc-row-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px}
.g3pc-row-name{font-family:var(--f-head);font-weight:600;font-size:17px;color:var(--charcoal)}
.g3pc-row-val{font-family:var(--f-mono);font-size:16px;color:var(--charcoal);white-space:nowrap}
.g3pc-track{position:relative;height:30px;background:var(--paper);border-radius:var(--radius);overflow:hidden}
.g3pc-bar{position:absolute;left:0;top:0;bottom:0;border-radius:var(--radius);transition:width .45s cubic-bezier(.2,.7,.2,1)}
.g3pc-bar.fil{background:var(--charcoal)}
.g3pc-bar.pel{background:var(--orange)}
/* the hatched gap between pellet cost and filament cost is the saving */
.g3pc-gap{position:absolute;top:0;bottom:0;border:1.5px dashed var(--orange-hot);border-left:0;border-radius:0 var(--radius) var(--radius) 0;
  background:repeating-linear-gradient(135deg, rgba(232,71,10,.16) 0 6px, transparent 6px 12px);transition:left .45s cubic-bezier(.2,.7,.2,1),width .45s cubic-bezier(.2,.7,.2,1)}
.g3pc-gap-label{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-family:var(--f-mono);font-size:12.5px;color:var(--orange-hot);font-weight:500;white-space:nowrap}

.g3pc-headline{border-top:2px solid var(--charcoal);padding-top:18px;margin-bottom:20px}
.g3pc-headline p{margin:0;color:var(--mute);font-size:15px}
.g3pc-big{font-family:var(--f-head);font-weight:800;font-size:clamp(40px,5.4vw,58px);line-height:1;color:var(--orange-hot);margin:4px 0 6px;letter-spacing:.005em}

.g3pc-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}
.g3pc-stat{padding:14px 0;border-bottom:1px solid var(--line)}
.g3pc-stat:nth-child(odd){padding-right:16px;border-right:1px solid var(--line)}
.g3pc-stat:nth-child(even){padding-left:16px}
.g3pc-stat dt{font-size:14px;color:var(--mute);margin-bottom:2px}
.g3pc-stat dd{margin:0;font-family:var(--f-mono);font-size:19px;color:var(--charcoal)}
.g3pc-stat dd small{font-size:13px;color:var(--mute)}
.g3pc-stat.is-empty dd{color:#a8a39b;font-size:14px;font-family:var(--f-body)}

.g3pc-note{font-size:13.5px;color:var(--mute);line-height:1.5;margin:18px 0 22px}
.g3pc-status{padding:14px 16px;background:#fbeee8;border-left:3px solid var(--orange-hot);font-size:15px;margin-bottom:18px;display:none}
.g3pc-status.show{display:block}

.g3pc-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px 22px;background:var(--orange-hot);color:var(--white);border:0;border-radius:var(--radius);
  font-family:var(--f-head);font-weight:700;font-size:18px;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;cursor:pointer}
.g3pc-btn:hover{background:#c93d07}
.g3pc-btn-sub{display:block;text-align:center;font-size:13.5px;color:var(--mute);margin-top:8px}

/* ── Method ── */
.g3pc-method{padding:64px 0;border-bottom:1px solid var(--line)}
.g3pc-split{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:48px}
@media (max-width:900px){.g3pc-split{grid-template-columns:1fr;gap:20px}}
.g3pc-sec-title{font-family:var(--f-head);font-weight:800;text-transform:uppercase;font-size:clamp(30px,4vw,42px);line-height:1;color:#111;margin:0 0 14px}
.g3pc-sec-title span{color:var(--orange)}
.g3pc-sec-intro{color:var(--mute);margin:0; font-size:16px;line-height:1.55}
.g3pc-formula{margin:0;border:1px solid var(--line);border-radius:var(--radius)}
.g3pc-formula div{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:16px;padding:14px 18px;border-bottom:1px solid var(--line)}
.g3pc-formula div:last-child{border-bottom:0}
.g3pc-formula dt{font-family:var(--f-head);font-weight:600;font-size:17px;color:var(--charcoal)}
.g3pc-formula dd{margin:0;font-family:var(--f-mono);font-size:14px;color:var(--ink);line-height:1.55}
@media (max-width:560px){.g3pc-formula div{grid-template-columns:1fr;gap:4px}}
.g3pc-example{margin-top:22px;padding:18px 20px;background:var(--paper);border-left:3px solid var(--orange);font-size:16px}
.g3pc-example strong{color:var(--charcoal)}

/* ── Investment inputs ── */
.g3pc-scenario{border:0;margin:6px 0 16px;padding:0;min-width:0}
.g3pc-scenario legend{font-family:var(--f-head);font-weight:600;font-size:16px;color:var(--charcoal);margin-bottom:8px;padding:0}
.g3pc-radio{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:8px;cursor:pointer;background:var(--white)}
.g3pc-radio:has(input:checked){border-color:var(--orange-hot);background:#fdf3ee}
.g3pc-radio input{margin-top:4px;accent-color:var(--orange-hot)}
.g3pc-radio b{display:block;font-size:15px;color:var(--charcoal);font-weight:600}
.g3pc-radio small{display:block;font-size:13px;color:var(--mute);line-height:1.4}
.g3pc-addinv{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:baseline;padding:12px 14px;background:var(--paper);border-left:3px solid var(--orange-hot)}
.g3pc-addinv span{font-family:var(--f-head);font-weight:600;font-size:15px;color:var(--charcoal)}
.g3pc-addinv b{font-family:var(--f-mono);font-weight:500;font-size:16px;color:var(--charcoal);text-align:right}
.g3pc-addinv small{grid-column:1 / -1;font-size:12.5px;color:var(--mute)}

/* ── Results additions ── */
.g3pc-h3{font-family:var(--f-head);font-weight:700;text-transform:uppercase;font-size:18px;letter-spacing:.03em;color:var(--charcoal);margin:0 0 6px}
.g3pc-ops{width:100%;border-collapse:collapse;margin:0 0 24px;font-size:15px}
.g3pc-ops td{padding:9px 0;border-bottom:1px solid var(--line)}
.g3pc-ops td:last-child{text-align:right;font-family:var(--f-mono);white-space:nowrap;color:var(--charcoal)}
.g3pc-ops tr.is-total td{border-bottom:0;border-top:2px solid var(--charcoal);font-weight:600;color:var(--charcoal);padding-top:11px}
.g3pc-ops tr.is-total td:last-child{color:var(--orange-hot);font-size:17px}
.g3pc-stat dd{overflow-wrap:anywhere}
.g3pc-breakeven{margin:16px 0 0;padding:12px 14px;background:#fdf3ee;border-left:3px solid var(--orange-hot);font-size:14.5px;color:var(--ink)}
.g3pc-breakeven:empty{display:none}

/* ── Printers ── */
.g3pc-printers{padding:64px 0;border-bottom:1px solid var(--line)}
.g3pc-pgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px}
@media (max-width:820px){.g3pc-pgrid{grid-template-columns:minmax(0,1fr)}}
.g3pc-pcard{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);display:flex;flex-direction:column}
.g3pc-pimg{background:var(--paper);aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid var(--line)}
.g3pc-pimg img{width:100%;height:100%;object-fit:contain}
.g3pc-pbody{padding:24px;display:flex;flex-direction:column;flex:1}
.g3pc-pbody h3{font-family:var(--f-head);font-weight:800;text-transform:uppercase;font-size:24px;line-height:1.1;color:var(--charcoal);margin:0 0 8px}
.g3pc-pbody > p{margin:0 0 16px;color:var(--mute);font-size:15.5px}
.g3pc-specs{margin:0 0 20px;border-top:1px solid var(--line)}
.g3pc-specs div{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.g3pc-specs dt{color:var(--mute)}
.g3pc-specs dd{margin:0;font-family:var(--f-mono);font-size:13.5px;color:var(--charcoal)}
.g3pc-pactions{display:flex;gap:12px;margin-top:auto;flex-wrap:wrap}
.g3pc-btn-sm{width:auto;flex:1;padding:13px 18px;font-size:16px}
.g3pc-btn-ghost{display:inline-flex;align-items:center;justify-content:center;flex:1;padding:13px 18px;border:1px solid var(--charcoal);border-radius:var(--radius);font-family:var(--f-head);font-weight:700;font-size:16px;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;color:var(--charcoal)}
.g3pc-btn-ghost:hover{background:var(--charcoal);color:var(--white)}

/* ── Lead form ── */
.g3pc-lead-h{font-family:var(--f-head);font-weight:700;text-transform:uppercase;font-size:18px;letter-spacing:.03em;color:var(--white);margin:26px 0 8px}
.g3pc-lead-covers{margin:0;padding:0;list-style:none;font-size:15.5px;color:#e9e5df}
.g3pc-lead-covers li{position:relative;padding:5px 0 5px 22px}
.g3pc-lead-covers li::before{content:'';position:absolute;left:0;top:14px;width:10px;height:2px;background:var(--orange)}
.g3pc-select select{flex:1;min-width:0;width:0;border:0;background:transparent;padding:11px 12px;font-family:var(--f-body);font-size:16px;color:var(--charcoal)}
.g3pc-select select:focus{outline:none}
.g3pc-pair > *{min-width:0}
.g3pc-input input{width:0}
.g3pc-lead{padding:64px 0;background:var(--charcoal);color:#e9e5df;scroll-margin-top:12px}
.g3pc-lead .g3pc-sec-title{color:var(--white)}
.g3pc-lead .g3pc-sec-intro{color:#b9b3aa}
.g3pc-lead-list{margin:22px 0 0;padding:0;list-style:none;font-size:15.5px;color:#cfc9c0}
.g3pc-lead-list li{padding:9px 0;border-top:1px solid #34322f}
.g3pc-lead-list li:last-child{border-bottom:1px solid #34322f}
.g3pc-form{background:var(--white);color:var(--ink);padding:28px;border-radius:var(--radius)}
.g3pc-form .g3pc-input textarea{flex:1;border:0;background:transparent;padding:11px 12px;font-family:var(--f-body);font-size:16px;color:var(--charcoal);resize:vertical;min-height:96px}
.g3pc-form .g3pc-input textarea:focus{outline:none}
.g3pc-form .g3pc-input input{font-family:var(--f-body)}
.g3pc-form .g3pc-input input[type=number]{font-family:var(--f-mono)}
.g3pc-req{color:var(--orange-hot)}
.g3pc-snapshot{font-family:var(--f-mono);font-size:12.5px;color:var(--mute);background:var(--paper);padding:12px 14px;border-radius:var(--radius);margin:4px 0 18px;line-height:1.6;white-space:pre-line}
.g3pc-honey{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.g3pc-privacy{font-size:13px;color:var(--mute);margin:10px 0 0;text-align:center}

/* ── FAQ ── */
.g3pc-faq{padding:64px 0}
.g3pc-faq-list{border-top:2px solid var(--charcoal)}
.g3pc-faq details{border-bottom:1px solid var(--line)}
.g3pc-faq summary{cursor:pointer;list-style:none;padding:18px 40px 18px 0;position:relative;font-family:var(--f-head);font-weight:600;font-size:20px;color:var(--charcoal);line-height:1.25}
.g3pc-faq summary::-webkit-details-marker{display:none}
.g3pc-faq summary::after{content:'+';position:absolute;right:4px;top:16px;font-family:var(--f-mono);font-size:22px;color:var(--orange-hot)}
.g3pc-faq details[open] summary::after{content:'−'}
.g3pc-faq details p{margin:0 0 20px;max-width:68ch;color:var(--ink)}


