/* ===== Tokens ===== */
:root{
  --charcoal: #14171C;
  --charcoal-2: #1D2128;
  --cream: #F3EFE6;
  --cream-dim: #C9C4B6;
  --amber: #E8A33D;
  --amber-deep: #C77B2E;
  --copper: #8B5E3C;
  --line: rgba(243,239,230,0.12);
  --radius: 4px;
  --font-display: "Barlow Condensed", sans-serif;
  --font-body: "Inter", sans-serif;
  --maxw: 1120px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--cream);
  color:var(--charcoal);
  font-family:var(--font-body);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}

.skip-link{
  position:absolute;left:-999px;top:0;background:var(--amber);color:var(--charcoal);
  padding:10px 16px;z-index:200;font-weight:600;
}
.skip-link:focus{left:16px;top:16px;}

h1,h2,h3{
  font-family:var(--font-display);
  font-weight:700;
  letter-spacing:0.01em;
  line-height:1.08;
  margin:0 0 0.5em;
  color:var(--charcoal);
}
h1{font-size:clamp(2.1rem, 5vw, 3.4rem); font-weight:800;}
h2{font-size:clamp(1.6rem, 3vw, 2.2rem); border-left:4px solid var(--amber); padding-left:14px;}
h3{font-size:clamp(1.15rem, 2vw, 1.4rem); color:var(--copper);}
p{margin:0 0 1.1em;}

/* ===== Header ===== */
.site-header{
  position:sticky; top:0; z-index:100;
  background:var(--charcoal);
  border-bottom:1px solid var(--line);
}
.header-inner{
  display:flex; align-items:center; gap:24px;
  padding:14px 24px;
}
.logo{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--cream);}
.logo-mark{
  width:14px;height:14px;background:var(--amber);
  clip-path: polygon(50% 0%, 20% 55%, 45% 55%, 30% 100%, 80% 40%, 55% 40%);
  flex-shrink:0;
}
.logo-text{font-family:var(--font-display); font-weight:700; font-size:1.15rem; line-height:1.1;}
.logo-text small{font-family:var(--font-body); font-weight:500; font-size:0.62rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--cream-dim);}

.main-nav{display:flex; gap:26px; margin-left:auto;}
.main-nav a{
  color:var(--cream-dim); text-decoration:none; font-size:0.92rem; font-weight:500;
  transition:color .15s;
}
.main-nav a:hover, .main-nav a:focus-visible{color:var(--amber);}

.btn{
  display:inline-block; text-decoration:none; font-family:var(--font-display);
  font-weight:700; font-size:1rem; letter-spacing:0.02em;
  padding:12px 22px; border-radius:var(--radius); border:2px solid transparent;
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.btn:focus-visible{outline:3px solid var(--amber); outline-offset:2px;}
.btn-primary{background:var(--amber); color:var(--charcoal);}
.btn-primary:hover{background:var(--amber-deep); transform:translateY(-1px);}
.btn-ghost{border-color:var(--cream-dim); color:var(--cream);}
.btn-ghost:hover{border-color:var(--amber); color:var(--amber);}
.btn-header{
  background:transparent; border:2px solid var(--amber); color:var(--amber);
  padding:9px 16px; font-size:0.9rem; white-space:nowrap;
}
.btn-header:hover{background:var(--amber); color:var(--charcoal);}

.nav-toggle{
  display:none; margin-left:auto; background:none; border:0; padding:6px;
  flex-direction:column; gap:5px; cursor:pointer;
}
.nav-toggle span{width:24px; height:2px; background:var(--cream); display:block;}

/* ===== Hero ===== */
.hero{
  background:linear-gradient(180deg, var(--charcoal) 0%, var(--charcoal-2) 100%);
  color:var(--cream);
  padding:72px 0 0;
  position:relative;
}
.hero-inner{padding-bottom:60px;}
.eyebrow{
  color:var(--amber); text-transform:uppercase; letter-spacing:0.18em;
  font-size:0.78rem; font-weight:600; margin-bottom:14px;
}
.hero h1{color:var(--cream); max-width:16ch;}
.hero-lead{color:var(--cream-dim); font-size:1.1rem; max-width:56ch; margin-top:18px;}
.hero-actions{display:flex; flex-wrap:wrap; gap:14px; margin:30px 0 40px;}
.hero-stats{
  list-style:none; margin:0; padding:0; display:flex; gap:36px; flex-wrap:wrap;
  border-top:1px solid var(--line); padding-top:24px;
}
.hero-stats li{display:flex; flex-direction:column; gap:2px;}
.hero-stats strong{font-family:var(--font-display); font-size:1.1rem; color:var(--amber);}
.hero-stats span{font-size:0.82rem; color:var(--cream-dim);}

.wire-divider{display:block; width:100%; height:60px;}
.spark{filter:drop-shadow(0 0 4px var(--amber));}

/* ===== Content ===== */
.content{padding:64px 24px 20px;}
.content section{margin-bottom:52px;}
.content section:last-child{margin-bottom:0;}
.content p{max-width:74ch; color:#2B2E33;}

/* ===== FAQ ===== */
.faq-section h2{margin-bottom:24px;}
.faq-item{border-bottom:1px solid rgba(20,23,28,0.14);}
.faq-q{
  width:100%; text-align:left; background:none; border:0; cursor:pointer;
  font-family:var(--font-display); font-size:1.08rem; font-weight:600;
  padding:18px 34px 18px 0; position:relative; color:var(--charcoal);
}
.faq-q::after{
  content:"+"; position:absolute; right:4px; top:14px; font-size:1.4rem;
  color:var(--amber-deep); transition:transform .2s;
}
.faq-q[aria-expanded="true"]::after{transform:rotate(45deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .25s ease;}
.faq-a p{padding-bottom:16px; margin:0; max-width:70ch;}

/* ===== Contact ===== */
.contact-section{
  background:var(--charcoal); color:var(--cream); padding:64px 0;
  border-top:4px solid var(--amber);
}
.contact-inner h2{color:var(--cream); border-left-color:var(--amber);}
.contact-inner p{color:var(--cream-dim); max-width:52ch;}
.contact-list{list-style:none; margin:24px 0 30px; padding:0; display:flex; flex-direction:column; gap:12px;}
.contact-list li{display:flex; gap:10px; font-size:1.05rem;}
.contact-list span:first-child{color:var(--amber); font-weight:600; min-width:70px;}
.contact-list a{color:var(--cream); text-decoration:none;}
.contact-list a:hover{color:var(--amber);}

/* ===== Footer ===== */
.site-footer{background:var(--charcoal-2); padding:22px 0; border-top:1px solid var(--line);}
.footer-inner p{margin:0; color:var(--cream-dim); font-size:0.82rem; text-align:center;}

/* ===== Responsive ===== */
@media (max-width: 860px){
  .main-nav{
    position:fixed; inset:64px 0 auto 0; background:var(--charcoal);
    flex-direction:column; padding:18px 24px; gap:16px;
    border-bottom:1px solid var(--line);
    transform:translateY(-120%); transition:transform .2s ease;
  }
  .main-nav.open{transform:translateY(0);}
  .nav-toggle{display:flex;}
  .btn-header{display:none;}
  .hero-stats{gap:22px;}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .spark animateMotion{ }
  * { transition:none !important; }
}
