/* 3D Printzkart SEO landing pages - matches live site fonts + palette
   Keeps original layout structure (gradient hero, cards, badges, FAQ).
   Fonts: Roboto Slab (headings) + Open Sans (body)
   Palette: black / white / grays (matches live 3dprintzkart.com) */

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Open Sans','Helvetica Neue',Arial,sans-serif;
  font-weight:400;
  color:#0a0a0a;
  line-height:1.7;
  background:#fff;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
h1,h2,h3,h4,h5,h6{
  font-family:'Roboto Slab','Times New Roman',serif;
  font-weight:600;
  color:#0a0a0a;
  letter-spacing:-0.01em;
  line-height:1.25;
}
a{color:#0a0a0a;text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
strong{font-weight:600;color:#0a0a0a}

/* Top bar */
.topbar{background:#0a0a0a;color:#fff;padding:10px 0;font-size:13px;letter-spacing:.02em}
.topbar-inner{max-width:1280px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.topbar a{color:#fff}
.topbar a:hover{opacity:.8;text-decoration:none}

/* Header */
header.main{background:#fff;border-bottom:1px solid #e5e5e5;padding:14px 0;position:sticky;top:0;z-index:50}
header.main .inner{max-width:1280px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}
.logo{display:flex;align-items:center;gap:10px;font-family:'Roboto Slab',serif;font-weight:700;font-size:20px;color:#0a0a0a}
.logo img{height:40px;width:auto;display:block}
nav ul{list-style:none;display:flex;gap:26px;flex-wrap:wrap;align-items:center}
nav a{color:#0a0a0a;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
nav a:hover{opacity:.6;text-decoration:none}

/* Buttons */
.cta-btn{
  display:inline-block;
  background:#0a0a0a;color:#fff;
  padding:12px 26px;
  font-family:'Open Sans',sans-serif;
  font-size:13px;font-weight:600;
  text-transform:uppercase;letter-spacing:.08em;
  border:2px solid #0a0a0a;
  cursor:pointer;
  transition:all .2s;
  text-decoration:none;
}
.cta-btn:hover{background:#fff;color:#0a0a0a;text-decoration:none}
.cta-btn.large{padding:16px 36px;font-size:14px}
.cta-btn.outline-light{background:transparent;color:#fff;border-color:#fff}
.cta-btn.outline-light:hover{background:#fff;color:#0a0a0a}
.cta-btn.light{background:#fff;color:#0a0a0a;border-color:#fff}
.cta-btn.light:hover{background:transparent;color:#fff}

/* Hero */
.hero{
  background:linear-gradient(135deg,#0a0a0a 0%,#262626 100%);
  color:#fff;padding:90px 24px 96px;text-align:center;
  position:relative;overflow:hidden;
}
.hero:before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse at 70% 30%,rgba(255,255,255,.05) 0%,transparent 60%);
  pointer-events:none;
}
.hero h1{
  font-family:'Roboto Slab',serif;
  font-size:44px;line-height:1.18;color:#fff;
  margin-bottom:20px;max-width:920px;
  margin-left:auto;margin-right:auto;
  position:relative;z-index:1;
}
.hero p.lede{
  font-size:18px;max-width:780px;
  margin:0 auto 32px;color:rgba(255,255,255,.85);
  line-height:1.7;position:relative;z-index:1;
}
.hero .badges{
  display:flex;flex-wrap:wrap;justify-content:center;gap:14px;
  margin-top:28px;position:relative;z-index:1;
}
.hero .badges span{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  padding:8px 18px;border-radius:24px;
  font-size:13px;font-weight:500;
  letter-spacing:.04em;
}

/* Sections */
.container{max-width:1100px;margin:0 auto;padding:60px 24px}
section{padding:60px 24px}
section.alt{background:#fafafa;border-top:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0}
section h2{
  font-size:32px;line-height:1.2;
  margin-bottom:18px;color:#0a0a0a;
}
section h3{
  font-size:21px;margin:28px 0 12px;
  color:#0a0a0a;line-height:1.35;
}
section p{margin-bottom:16px;font-size:16px;color:#404040}

/* Card grid */
.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:20px;margin:28px 0;
}
.card{
  background:#fff;
  border:1px solid #e5e5e5;
  border-radius:6px;
  padding:26px;
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(0,0,0,.06);
  border-color:#0a0a0a;
}
.card h3{margin-top:0;font-size:18px;color:#0a0a0a}
.card p{font-size:14px;color:#525252;line-height:1.65;margin:0}

/* Bullet check list */
ul.checks{list-style:none;padding:0}
ul.checks li{
  padding:10px 0 10px 28px;position:relative;
  font-size:16px;color:#404040;
}
ul.checks li:before{
  content:"";position:absolute;left:0;top:18px;
  width:14px;height:1px;background:#0a0a0a;
}

/* Tables */
table{
  width:100%;border-collapse:collapse;
  margin:24px 0;font-size:14px;
  border-top:1px solid #0a0a0a;
}
th,td{
  padding:14px 18px;text-align:left;
  border-bottom:1px solid #e5e5e5;vertical-align:top;
}
th{
  background:#0a0a0a;color:#fff;font-weight:600;
  font-size:12px;text-transform:uppercase;letter-spacing:.06em;
}
td{color:#404040}
tr:hover td{background:#fafafa}
tr:last-child td{border-bottom:0}

/* FAQ */
.faq details{
  background:#fff;
  border:1px solid #e5e5e5;
  border-radius:6px;
  margin-bottom:12px;
  padding:18px 22px;
  transition:border-color .2s;
}
.faq details[open]{border-color:#0a0a0a}
.faq summary{
  cursor:pointer;font-weight:600;
  font-size:16px;color:#0a0a0a;list-style:none;
  font-family:'Roboto Slab',serif;
  display:flex;justify-content:space-between;align-items:center;gap:18px;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{
  content:"+";font-size:22px;font-weight:300;color:#0a0a0a;
  font-family:'Open Sans',sans-serif;flex-shrink:0;
}
.faq details[open] summary:after{content:"−"}
.faq details p{margin-top:14px;color:#525252;font-size:15px}

/* Final CTA band */
.cta-band{
  background:#0a0a0a;color:#fff;
  text-align:center;padding:72px 24px;
}
.cta-band h2{color:#fff;font-size:32px;margin-bottom:14px;max-width:880px;margin-left:auto;margin-right:auto}
.cta-band p{font-size:17px;margin:0 auto 26px;color:rgba(255,255,255,.85);max-width:680px}

/* Footer */
footer{
  background:#0a0a0a;color:#a3a3a3;
  padding:60px 24px 28px;font-size:14px;
}
footer .inner{
  max-width:1280px;margin:0 auto;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:36px;
}
footer h4{color:#fff;font-size:14px;margin-bottom:14px;text-transform:uppercase;letter-spacing:.1em;font-family:'Roboto Slab',serif}
footer ul{list-style:none}
footer li{margin-bottom:8px}
footer a{color:#a3a3a3}
footer a:hover{color:#fff;text-decoration:none}
footer p{color:#a3a3a3;line-height:1.7;font-size:14px}
.copyright{
  max-width:1280px;margin:36px auto 0;
  border-top:1px solid #262626;padding-top:22px;
  text-align:center;font-size:12px;color:#737373;
}

/* Breadcrumbs */
.breadcrumbs{
  font-size:12px;color:#737373;
  padding:18px 24px;max-width:1100px;margin:0 auto;
  letter-spacing:.04em;text-transform:uppercase;
}
.breadcrumbs a{color:#737373}
.breadcrumbs a:hover{color:#0a0a0a;text-decoration:none}

/* Responsive */
@media(max-width:880px){
  .hero{padding:60px 24px 64px}
  .hero h1{font-size:30px}
  .hero p.lede{font-size:16px}
  section h2{font-size:25px}
  .cta-band{padding:54px 24px}
  .cta-band h2{font-size:24px}
  nav ul{display:none}
  header.main .inner{padding:0 16px}
}
