
:root{
  --orange:#e05c2a;
  --orange-deep:#e8470a;
  --charcoal:#1a1a1a;
  --charcoal-soft:#2b2b2b;
  --paper:#fdfcfa;
  --line:#e7e3dd;
  --muted:#6f6a63;
  --green:#3f7a4f;
  --green-bg:#eaf3ec;
  --amber:#b9831f;
  --amber-bg:#fbf2e1;
  --red:#c0432f;
  --red-bg:#fbeae6;
  --blue:#3f6b8c;
  --blue-bg:#e9f0f5;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{
  font-family:'Barlow',sans-serif;
  color:var(--charcoal);
  background:var(--paper);
  line-height:1.6;
  font-size:16px;
}
h1,h2,h3,h4{font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.01em;}
.mono{font-family:'DM Mono',monospace;}
img{max-width:100%;display:block;}
a{color:inherit;}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}



/* ===== HERO ===== */
.hero{background:linear-gradient(135deg,#fdfcfa 0%,#fbf3ee 60%,#f8e9e0 100%);border-bottom:1px solid var(--line);padding:60px 0 48px;position:relative;overflow:hidden;}
.hero::after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(224,92,42,.10) 0%,transparent 70%);}
.eyebrow{font-family:'DM Mono',monospace;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange-deep);font-weight:500;margin-bottom:14px;}
.hero h1{font-size:clamp(34px,5vw,54px);line-height:1.08;font-weight:800;max-width:800px;margin-bottom:16px;}
.hero h1 em{color:var(--orange-deep);font-style:normal;}
.hero p.lead{font-size:18px;color:#4a463f;max-width:680px;font-weight:400;}

/* quick jump nav */
.jumpnav{
  background:#fff;border:1px solid var(--line);border-radius:8px;
  margin-top:32px;padding:18px 22px;
}
.jumpnav .jt{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;}
.jumpnav .jgroups{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.jumpnav .jgroup h5{font-size:12px;font-family:'DM Mono',monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--orange-deep);margin-bottom:8px;}
.jumpnav .jgroup ul{list-style:none;font-size:13.5px;}
.jumpnav .jgroup ul li{margin-bottom:5px;}
.jumpnav .jgroup a{text-decoration:none;color:var(--charcoal);}
.jumpnav .jgroup a:hover{color:var(--orange-deep);text-decoration:underline;}

/* ===== SECTION GENERAL ===== */
section{padding:56px 0;}
section.tight{padding:36px 0;}
.section-head{max-width:760px;margin-bottom:36px;}
.section-eyebrow{font-family:'DM Mono',monospace;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange-deep);font-weight:500;margin-bottom:10px;}
.section-head h2{font-size:clamp(26px,3.6vw,38px);font-weight:800;line-height:1.1;}
.section-head p{color:var(--muted);font-size:16px;margin-top:12px;}
.bg-alt{background:#f7f4ef;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.bg-dark{background:var(--charcoal);color:#fff;}

/* ===== PROCESS GROUP DIVIDER ===== */
.process-divider{
  background:var(--charcoal);color:#fff;border-radius:8px;
  padding:32px 36px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;
}
.process-divider .ptag{font-family:'DM Mono',monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin-bottom:8px;}
.process-divider h2{font-size:36px;color:#fff;}
.process-divider p{color:#bdb8b1;font-size:14px;max-width:480px;margin-top:6px;}
.process-divider .stats{display:flex;gap:28px;text-align:right;}
.process-divider .stats div{font-family:'DM Mono',monospace;font-size:12px;color:#9b968f;}
.process-divider .stats div b{display:block;font-family:'Barlow Condensed',sans-serif;font-size:24px;color:#fff;font-weight:800;}
.process-link{
  display:inline-block;margin-top:14px;font-size:13px;font-weight:700;color:var(--orange);
  border-bottom:1px solid var(--orange);text-decoration:none;padding-bottom:2px;
}

/* ===== MATERIAL DATASHEET CARD ===== */
.datasheet{
  background:#fff;border:1px solid var(--line);border-radius:8px;
  padding:36px;margin:32px 0;scroll-margin-top:90px;
}
.ds-head{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px;margin-bottom:8px;padding-bottom:20px;border-bottom:2px solid var(--charcoal);}
.ds-head .titles{display:flex;align-items:center;gap:16px;}

.ds-head h3{font-size:32px;margin-bottom:2px;}
.ds-head .code{font-family:'DM Mono',monospace;font-size:13px;color:var(--muted);}
.ds-badges{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.badge{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:20px;font-weight:500;}
.badge.process{background:var(--charcoal);color:#fff;}
.badge.high{background:var(--green-bg);color:var(--green);}
.badge.mid{background:var(--amber-bg);color:var(--amber);}
.badge.low{background:var(--red-bg);color:var(--red);}
.badge.info{background:var(--blue-bg);color:var(--blue);}

.ds-overview{font-size:15px;color:#4a463f;margin:18px 0 24px;max-width:880px;}

.ds-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;}
.ds-table-wrap h4{font-size:14px;font-family:'DM Mono',monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:10px;margin-top:22px;}
.ds-table-wrap h4:first-child{margin-top:0;}
table.ds{width:100%;border-collapse:collapse;font-size:13.5px;}
table.ds td{padding:8px 0;border-bottom:1px solid var(--line);}
table.ds td:first-child{color:var(--muted);width:55%;}
table.ds td:last-child{font-weight:700;font-family:'Barlow Condensed',sans-serif;font-size:15px;text-align:right;}
table.ds tr:last-child td{border-bottom:none;}

.ds-side h4{font-size:14px;font-family:'DM Mono',monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:10px;margin-top:22px;}
.ds-side h4:first-child{margin-top:0;}
.ds-tags{display:flex;gap:8px;flex-wrap:wrap;}
.ds-tags span{
  font-size:12.5px;background:#f7f4ef;border:1px solid var(--line);border-radius:20px;padding:5px 12px;
}
.ds-list{list-style:none;font-size:14px;}
.ds-list li{padding:5px 0;padding-left:18px;position:relative;color:#4a463f;}
.ds-list li::before{content:"—";position:absolute;left:0;color:var(--orange-deep);font-weight:700;}

.ds-footer{
  display:flex;justify-content:space-between;align-items:center;margin-top:26px;padding-top:20px;border-top:1px solid var(--line);
  flex-wrap:wrap;gap:14px;
}
.ds-footer .compare-note{font-size:13px;color:var(--muted);max-width:600px;}
.ds-footer .compare-note b{color:var(--charcoal);}
.ds-link{
  white-space:nowrap;font-size:13px;font-weight:700;color:var(--orange-deep);text-decoration:none;
  border:1px solid var(--orange-deep);padding:10px 20px;border-radius:4px;transition:.15s;
}
.ds-link:hover{background:var(--orange-deep);color:#fff;}

@media (max-width:880px){
  .ds-grid{grid-template-columns:1fr;}
  .jumpnav .jgroups{grid-template-columns:repeat(2,1fr);}
  .process-divider{padding:24px;}
  .process-divider .stats{text-align:left;}
}

/* ===== CTA BAND ===== */
.cta-band{
  background:var(--charcoal);color:#fff;border-radius:10px;padding:48px 44px;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;
  position:relative;overflow:hidden;
}
.cta-band::after{content:"";position:absolute;right:-80px;bottom:-80px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(224,92,42,.25) 0%,transparent 70%);}
.cta-band h3{font-size:30px;margin-bottom:8px;max-width:480px;}
.cta-band p{color:#bdb8b1;font-size:15px;max-width:440px;}
.cta-buttons{display:flex;gap:14px;flex-wrap:wrap;position:relative;z-index:1;}
.btn-primary{background:var(--orange-deep);color:#fff;padding:14px 28px;border-radius:4px;text-decoration:none;font-weight:700;font-size:14px;letter-spacing:.03em;text-transform:uppercase;transition:.15s;}
.btn-primary:hover{background:var(--orange);}
.btn-secondary{border:1px solid #565656;color:#fff;padding:14px 28px;border-radius:4px;text-decoration:none;font-weight:700;font-size:14px;letter-spacing:.03em;text-transform:uppercase;transition:.15s;}
.btn-secondary:hover{border-color:#fff;}

/* ===== RELATED RESOURCES ===== */
.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.related-card{border:1px solid var(--line);border-radius:6px;padding:20px;background:#fff;text-decoration:none;color:var(--charcoal);transition:border-color .15s,transform .15s;display:block;}
.related-card:hover{border-color:var(--orange);transform:translateY(-3px);}
.related-card .rtag{font-family:'DM Mono',monospace;font-size:11px;color:var(--orange-deep);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;display:block;}
.related-card h4{font-size:17px;margin-bottom:6px;}
.related-card p{font-size:13px;color:var(--muted);}



/* ===== RESPONSIVE ===== */
@media (max-width:1024px){
  .related-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:760px){
  .nav-links{display:none;}
  .mobile-toggle{display:block;}
  .related-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .jumpnav .jgroups{grid-template-columns:1fr;}
  .ds-head{flex-direction:column;}
  .cta-band{padding:36px 24px;text-align:center;justify-content:center;}
  .cta-band h3, .cta-band p{margin-left:auto;margin-right:auto;}
  .ds-footer{flex-direction:column;align-items:flex-start;}
}

/* key property labels + data basis note (pellet database) */
table.ds tr td.ds-key{color:var(--charcoal);}
.ds-basis{font-size:13px;color:var(--muted);margin-top:14px;}
.ds-basis b{color:var(--charcoal);font-weight:600;}
/* related resources — 3 columns (pellet database) */
.related-grid.related-grid-3{grid-template-columns:repeat(3,1fr);}
@media (max-width:1024px){.related-grid.related-grid-3{grid-template-columns:repeat(2,1fr);}}
@media (max-width:760px){.related-grid.related-grid-3{grid-template-columns:1fr;}}


/* Responsive refinements */
html { scroll-behavior: smooth; }
body { min-width: 320px; }
.datasheet, .jumpnav, .cta-band, .related-card { min-width: 0; }
.ds-table-wrap, .ds-side { min-width: 0; }
@media (max-width: 760px) {
  .nav { position: relative; flex-wrap: wrap; gap: 12px; }
  .nav .logo { margin-right: auto; }
  .nav-cta { padding: 9px 12px; font-size: 12px; }
  .nav-links { display: none; width: 100%; flex-direction: column; align-items: stretch; gap: 0; padding: 8px 0 4px; }
  .nav-links.is-open { display: flex; }
  .nav-links a { padding: 11px 4px; border-top: 1px solid var(--line); }
  .hero { padding: 69px 0 32px; }
  section { padding: 40px 0; }
  .datasheet { padding: 22px 18px; margin: 22px 0; }
  .ds-head .titles { align-items: flex-start; gap: 12px; }
  .ds-head h3 { font-size: 27px; }
  .process-divider .stats { flex-wrap: wrap; gap: 14px 22px; }
}
@media (max-width: 480px) {
  .wrap { padding-left: 16px; padding-right: 16px; }
  .topbar .wrap { align-items: flex-start; }
  .topbar .contact { gap: 8px 14px; }
  .topbar { font-size: 11px; }
  .hero h1 { font-size: clamp(31px, 9vw, 40px); }
  .hero p.lead { font-size: 16px; }
  .jumpnav { padding: 15px; }
  .datasheet { padding: 18px 14px; }
  table.ds { font-size: 12px; }
  table.ds td:first-child { width: 58%; padding-right: 8px; }
  table.ds td:last-child { font-size: 13px; }
  .process-divider { padding: 20px 18px; }
  .process-divider h2 { font-size: 30px; }
  .cta-band { padding: 30px 18px; }
  .cta-buttons { justify-content: center; width: 100%; }
  .btn-primary, .btn-secondary { padding: 12px 16px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
