:root{
  --gold:#FECD08;
  --black:#0b0b0c;
  --cream:#faf8f3;
  --text:#2a2a2a;
  --muted:#6b6b6b;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--text);
  background:var(--cream);
  line-height:1.6;
}
h1,h2,h3{
  font-family:'Barlow Condensed','Inter',sans-serif;
  text-transform:uppercase;
  letter-spacing:0.03em;
}
a{color:inherit;}
.wrap{
  max-width:960px;
  margin:0 auto;
  padding:0 24px;
}

header.hero{
  padding:90px 24px 70px;
  text-align:center;
}
.hero img.logo{
  width:100%;
  max-width:420px;
  height:auto;
  margin:0 auto 28px;
  display:block;
}
.hero p.subhead{
  font-size:1.15rem;
  color:var(--muted);
  max-width:520px;
  margin:0 auto 34px;
}
.btn{
  display:inline-block;
  background:var(--black);
  color:#fff;
  text-decoration:none;
  font-family:'Barlow Condensed',sans-serif;
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-weight:700;
  font-size:1rem;
  padding:14px 34px;
  border:2px solid var(--black);
  border-radius:2px;
  transition:background 0.2s ease, color 0.2s ease;
  cursor:pointer;
}
.btn:hover{
  background:var(--gold);
  border-color:var(--gold);
  color:var(--black);
}

section{
  padding:56px 24px;
}
section.about{
  background:#fff;
  border-top:1px solid #ece7db;
  border-bottom:1px solid #ece7db;
}
.about .wrap{max-width:720px;text-align:center;margin:0 auto;}
section h2{
  font-size:2rem;
  margin-bottom:22px;
  position:relative;
  display:block;
}
section h2::after{
  content:"";
  display:block;
  width:56px;
  height:3px;
  background:var(--gold);
  margin:12px auto 0;
}
.about p{
  color:var(--text);
  font-size:1.05rem;
}

section.categories .wrap{text-align:center;}
.cat-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:14px;
  margin-top:34px;
}
.cat-badge{
  background:#fff;
  border:1px solid #e8e2d3;
  border-top:3px solid var(--gold);
  padding:16px 22px;
  font-family:'Barlow Condensed',sans-serif;
  text-transform:uppercase;
  letter-spacing:0.06em;
  font-weight:600;
  font-size:1rem;
  color:var(--black);
  min-width:140px;
}

section.contact{
  background:var(--black);
  color:#fff;
}
.contact .wrap{text-align:center;}
.contact h2{color:#fff;}
.contact > .wrap > p{
  color:#c9c9c9;
  max-width:480px;
  margin:0 auto 30px;
}
.contact-grid{
  display:grid;
  grid-template-columns:1fr 1.3fr;
  gap:48px;
  text-align:left;
  max-width:780px;
  margin:0 auto;
}
.contact-info h3{
  color:var(--gold);
  font-size:1.1rem;
  margin-bottom:18px;
}
.contact-info ul{
  list-style:none;
}
.contact-info li{
  color:#d8d8d8;
  margin-bottom:14px;
  font-size:0.98rem;
}
.contact-info li span.label{
  display:block;
  color:#8a8a8a;
  font-size:0.75rem;
  text-transform:uppercase;
  letter-spacing:0.08em;
  margin-bottom:2px;
}
.contact-info li a{
  color:#fff;
  text-decoration:none;
}
.contact-info li a:hover{
  color:var(--gold);
}

form.contact-form{
  display:flex;
  flex-direction:column;
  gap:14px;
}
form.contact-form input,
form.contact-form textarea{
  width:100%;
  padding:12px 14px;
  background:#161616;
  border:1px solid #2c2c2c;
  color:#fff;
  font-family:'Inter',sans-serif;
  font-size:0.95rem;
  border-radius:2px;
}
form.contact-form input::placeholder,
form.contact-form textarea::placeholder{
  color:#777;
}
form.contact-form input:focus,
form.contact-form textarea:focus{
  outline:none;
  border-color:var(--gold);
}
form.contact-form textarea{
  min-height:110px;
  resize:vertical;
}
form.contact-form button{
  align-self:flex-start;
  background:var(--gold);
  border-color:var(--gold);
  color:var(--black);
}
form.contact-form button:hover{
  background:transparent;
  color:var(--gold);
}
.form-note{
  font-size:0.8rem;
  color:#777;
  margin-top:2px;
}
.honeypot{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}

footer{
  background:var(--black);
  padding:44px 24px 26px;
  text-align:center;
  border-top:1px solid #1e1e1e;
}
footer img{
  height:34px;
  width:auto;
  margin-bottom:18px;
}
footer .footer-contact{
  color:#9a9a9a;
  font-size:0.85rem;
  margin-bottom:18px;
}
footer .footer-contact a{
  color:#c9c9c9;
  text-decoration:none;
}
footer .footer-contact a:hover{
  color:var(--gold);
}
footer .footer-links{
  margin-bottom:16px;
  font-size:0.82rem;
}
footer .footer-links a{
  color:#9a9a9a;
  text-decoration:none;
  margin:0 10px;
}
footer .footer-links a:hover{
  color:var(--gold);
}
footer p.copyright{
  color:#6a6a6a;
  font-size:0.78rem;
}

/* Legal / Privacy pages */
main.legal{
  background:#fff;
  padding:70px 24px 80px;
}
main.legal .wrap{
  max-width:760px;
  margin:0 auto;
}
main.legal a.back{
  display:inline-block;
  margin-bottom:34px;
  font-size:0.85rem;
  color:var(--muted);
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:0.06em;
}
main.legal a.back:hover{color:var(--black);}
main.legal h1{
  font-size:2.2rem;
  margin-bottom:8px;
}
main.legal p.updated{
  color:var(--muted);
  font-size:0.85rem;
  margin-bottom:36px;
}
main.legal h2{
  font-size:1.3rem;
  margin-top:36px;
  margin-bottom:12px;
  text-align:left;
}
main.legal h2::after{display:none;}
main.legal p, main.legal li{
  color:var(--text);
  font-size:0.98rem;
  margin-bottom:14px;
}
main.legal ul{
  padding-left:22px;
  margin-bottom:14px;
}

@media (max-width:700px){
  .contact-grid{grid-template-columns:1fr;gap:36px;}
}
@media (max-width:600px){
  header.hero{padding:64px 20px 50px;}
  section{padding:44px 20px;}
  .cat-badge{min-width:120px;font-size:0.9rem;padding:14px 16px;}
  main.legal{padding:50px 20px 60px;}
}
