/* ============================================================
   style.css — NovuLead Base Styles (Bold Redesign)
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

body {
  background-color: #0a0a0a;
  color: #ffffff;
  font-family: 'Barlow', system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

/* --- TYPOGRAPHY --- */
h1, h2, h3 { font-family: 'Barlow Condensed', 'Barlow', sans-serif; font-weight: 900; line-height: 1.05; color: #fff; text-transform: uppercase; }
h1 { font-size: clamp(3rem, 8vw, 6rem); letter-spacing: -0.01em; }
h2 { font-size: clamp(1.8rem, 4vw, 2.8rem); }
h3 { font-size: 1.2rem; letter-spacing: 0.03em; }
p  { color: #999; line-height: 1.7; margin-bottom: 0.85rem; }
p:last-child { margin-bottom: 0; }
a  { color: #ff6a00; text-decoration: none; transition: color 0.2s; }
a:hover { color: #ff8c33; }
a:visited { color: #ff6a00; }
strong { color: #fff; font-weight: 700; }
ul, ol { padding-left: 1.2rem; }
li { color: #999; margin-bottom: 0.3rem; }

.accent-text {
  color: #ff6a00;
  font-style: italic;
}

/* --- SECTION TITLE --- */
.section-title, .page-title {
  font-size: clamp(2rem, 5vw, 3.5rem);
  margin-bottom: 0.5rem;
  color: #fff;
}
.section-sub { color: #666; font-size: 1.05rem; margin-bottom: 2rem; }

/* --- BUTTONS --- */
.btn-primary {
  display: inline-block;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background-color: #ff6a00;
  color: #000;
  border: none;
  padding: 0.85rem 2.2rem;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.2s, transform 0.15s;
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 100%, 12px 100%);
}
.btn-primary:hover { background-color: #ff8c33; transform: translateY(-2px); color: #000; }

.btn-ghost {
  display: inline-block;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  font-size: 1.05rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: transparent;
  color: #fff;
  border: 2px solid #333;
  padding: 0.8rem 2rem;
  text-decoration: none;
  transition: border-color 0.2s, color 0.2s;
}
.btn-ghost:hover { border-color: #ff6a00; color: #ff6a00; }

.btn-submit {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  font-size: 1.2rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background-color: #ff6a00;
  color: #000;
  border: none;
  padding: 1rem 3rem;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s;
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 100%, 12px 100%);
}
.btn-submit:hover { background-color: #ff8c33; transform: translateY(-2px); }
.btn-submit:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }

/* --- CONTENT BOX --- */
.content-box {
  background-color: #111;
  border: 1px solid #222;
  padding: 1.8rem;
  margin-bottom: 1.5rem;
}
.content-box h2 {
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #ff6a00;
  margin-bottom: 1rem;
}

/* --- FORM ELEMENTS --- */
input[type="text"], input[type="email"], input[type="tel"], textarea {
  font-family: 'Barlow', sans-serif;
  font-size: 1rem;
  background-color: #111;
  border: 1px solid #333;
  border-bottom: 2px solid #333;
  padding: 0.75rem 1rem;
  width: 100%;
  color: #fff;
  outline: none;
  transition: border-color 0.2s;
}
input::placeholder, textarea::placeholder { color: #555; }
input:focus, textarea:focus { border-color: #ff6a00; border-bottom-color: #ff6a00; }

label {
  display: block;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #666;
  margin-bottom: 0.4rem;
}

/* --- TABLES --- */
table { border-collapse: collapse; width: 100%; }
td { padding: 0.75rem 0.5rem; border-bottom: 1px solid #1e1e1e; color: #999; font-size: 0.95rem; }
td:first-child { color: #555; font-weight: 600; text-transform: uppercase; font-size: 0.75rem; letter-spacing: 0.08em; width: 35%; }
tr:last-child td { border-bottom: none; }
a.contact-link { color: #ff6a00; }

/* --- FIELD ERROR --- */
.field-error { display: block; font-size: 0.78rem; color: #ff4444; font-weight: 600; min-height: 1em; margin-top: 0.25rem; }

/* --- SUCCESS --- */
.form-success { padding: 2rem; border-left: 4px solid #ff6a00; background: #111; }
.success-title { font-family: 'Barlow Condensed', sans-serif; font-size: 2rem; font-weight: 900; color: #ff6a00; text-transform: uppercase; margin-bottom: 0.5rem; }
.form-success p { color: #999; }
