/* ── RESET & ROOT ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --white:     #FFFFFF;
  --sand:      #F5EAD8;
  --sand-lt:   #FBF0E6;
  --char:      #1A0E06;
  --char-mid:  #2A1208;
  --mid:       #6B4030;
  --terra:     #C86020;
  --terra-dk:  #9E4A10;
  --saddle:    #8B4513;
  --saddle-lt: #A05A1A;
  --border:    rgba(26,14,6,0.12);
  --border-2:  rgba(26,14,6,0.07);

  /* Legacy aliases */
  --cream:    #FFFFFF;
  --cream-2:  #F5EAD8;
  --cream-3:  #EAD8C0;
  --bg-card:  #FFFFFF;
  --fire:     #C86020;
  --ember:    #9E4A10;
  --gold:     #8B4513;
  --gold-lt:  #A05A1A;
  --charcoal: #1A0E06;
  --brown:    #2A1208;
  --red:      #C86020;
  --red-dark: #9E4A10;
}

html { scroll-behavior: smooth; }

body {
  background: #FFFFFF;
  color: #1A0E06;
  font-family: 'Nunito', sans-serif;
  font-size: 16px;
  line-height: 1.7;
  overflow-x: hidden;
}

/* ── NAV ── */
nav {
  position: sticky; top: 0; z-index: 100;
  background: rgba(255,255,255,0.97);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--border);
  padding: 0 5%;
  display: flex; align-items: center;
  justify-content: space-between;
  height: 72px;
}

.nav-logo { display: flex; align-items: center; text-decoration: none; }

.nav-logo-img {
  height: 52px; width: auto; display: block;

  transition: transform 0.2s;
}
.nav-logo:hover .nav-logo-img { transform: scale(1.05); }

.nav-links { display: flex; align-items: center; gap: 2rem; list-style: none; }

.nav-links a {
  color: var(--mid); text-decoration: none;
  font-size: 0.8rem; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  transition: color 0.2s;
}

.nav-links a:hover, .nav-links a.active { color: var(--charcoal); }
.nav-links a.active { border-bottom: 2px solid var(--fire); padding-bottom: 2px; }

.btn-nav {
  background: var(--fire) !important; color: #fff !important;
  padding: 0.5rem 1.4rem; border-radius: 4px;
  font-size: 0.78rem !important; border-bottom: none !important;
  transition: background 0.2s !important;
}
.btn-nav:hover { background: var(--ember) !important; }

/* ── BUTTONS ── */
.btn-primary {
  background: var(--fire); color: #fff;
  padding: 0.95rem 2rem; border-radius: 4px;
  font-size: 0.82rem; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  text-decoration: none; display: inline-block;
  transition: background 0.2s, transform 0.15s;
}
.btn-primary:hover { background: var(--ember); transform: translateY(-2px); }

.btn-outline {
  border: 1.5px solid rgba(255,255,255,0.35); color: #1A0E06;
  padding: 0.95rem 2rem; border-radius: 4px;
  font-size: 0.82rem; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  text-decoration: none; display: inline-block;
  transition: border-color 0.2s, background 0.2s;
}
.btn-outline:hover { border-color: #1A0E06; background: rgba(26,14,6,0.05); }

/* ── SECTION LABELS ── */
.section-eyebrow {
  font-size: 0.72rem; font-weight: 700;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--fire); margin-bottom: 0.75rem;
  display: flex; align-items: center; gap: 0.6rem;
}
.section-eyebrow::before { content: ''; display: block; width: 20px; height: 2px; background: var(--fire); }

.section-title {
  font-family: 'Anton', sans-serif;
  font-size: clamp(2.5rem, 5vw, 4.5rem);
  line-height: 0.94; letter-spacing: 0.02em;
  text-transform: uppercase; color: var(--charcoal); margin-bottom: 1.5rem;
}
.section-title em { font-family: 'Playfair Display', serif; font-style: italic; color: var(--fire); text-transform: none; font-size: 0.9em; }

/* ── TICKER ── */
.ticker { background: var(--charcoal); padding: 0.85rem 0; overflow: hidden; white-space: nowrap; }
.ticker-inner { display: inline-flex; animation: ticker 30s linear infinite; }
.ticker-item { font-family: 'Anton', sans-serif; font-size: 0.9rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--cream); padding: 0 1.8rem; }
.ticker-dot { color: var(--fire); }
@keyframes ticker { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

/* ── PAGE HERO BANNER (inner pages) ── */
.page-banner {
  background: var(--charcoal);
  padding: 6rem 5% 4rem;
  position: relative; overflow: hidden;
}
.page-banner::after {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 60% 80% at 80% 50%, rgba(163,45,45,0.15) 0%, transparent 60%);
  pointer-events: none;
}
.page-banner-eyebrow { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--fire); margin-bottom: 0.75rem; display: flex; align-items: center; gap: 0.6rem; }
.page-banner-eyebrow::before { content: ''; display: block; width: 20px; height: 2px; background: var(--fire); }
.page-banner-title { font-family: 'Anton', sans-serif; font-size: clamp(3rem, 7vw, 6rem); line-height: 0.92; letter-spacing: 0.02em; text-transform: uppercase; color: var(--cream); }
.page-banner-title em { font-family: 'Playfair Display', serif; font-style: italic; color: var(--gold-lt); text-transform: none; }
.page-banner-sub { font-size: 1.05rem; color: rgba(253,245,232,0.6); margin-top: 1rem; max-width: 520px; line-height: 1.7; }

/* ── FOOTER ── */
footer {
  background: var(--charcoal); padding: 3rem 5%;
  display: flex; align-items: center;
  justify-content: space-between; flex-wrap: wrap; gap: 1.5rem;
}
.footer-logo img { height: 56px; width: auto; mix-blend-mode: screen; }
.footer-copy { font-size: 0.78rem; color: rgba(253,245,232,0.4); }
.footer-links { display: flex; gap: 1.5rem; list-style: none; }
.footer-links a { font-size: 0.78rem; color: rgba(253,245,232,0.5); text-decoration: none; letter-spacing: 0.05em; transition: color 0.2s; }
.footer-links a:hover { color: var(--cream); }

/* ── FORM ELEMENTS ── */
.form-group { margin-bottom: 1rem; }
.form-group label { display: block; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: var(--mid); margin-bottom: 0.45rem; }
.form-group input,
.form-group select,
.form-group textarea {
  width: 100%; background: #FFFFFF;
  border: 1px solid var(--border); border-radius: 4px;
  padding: 0.85rem 1rem; color: var(--charcoal);
  font-family: 'Nunito', sans-serif; font-size: 0.95rem;
  outline: none; transition: border-color 0.2s, background 0.2s; appearance: none;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus { border-color: var(--fire); background: #FFFFFF; }
.form-group textarea { resize: vertical; min-height: 110px; }
.form-group select option { background: #FFFFFF; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.btn-submit {
  width: 100%; background: var(--fire); color: #fff;
  border: none; padding: 1rem 2rem; border-radius: 4px;
  font-family: 'Nunito', sans-serif; font-size: 0.82rem;
  font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
  cursor: pointer; margin-top: 0.5rem; transition: background 0.2s;
}
.btn-submit:hover { background: var(--ember); }

/* ── SOCIAL CHIPS ── */
.social-chip {
  font-size: 0.7rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--mid); border: 1px solid var(--border);
  padding: 0.4rem 1rem; border-radius: 20px; text-decoration: none;
  background: var(--bg-card); transition: color 0.2s, border-color 0.2s;
}
.social-chip:hover { color: var(--fire); border-color: rgba(200,96,32,0.35); }

/* ── CTA BAND ── */
.cta-band {
  background: var(--fire); padding: 5rem 5%;
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 2rem;
}
.cta-band-title { font-family: 'Anton', sans-serif; font-size: clamp(2rem, 4vw, 3.5rem); line-height: 0.95; letter-spacing: 0.02em; text-transform: uppercase; color: #fff; }
.cta-band-title em { font-family: 'Playfair Display', serif; font-style: italic; text-transform: none; color: var(--gold-lt); font-size: 0.88em; }
.btn-white { background: #FFFFFF; color: var(--fire); padding: 1rem 2.2rem; border-radius: 4px; font-size: 0.82rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; text-decoration: none; display: inline-block; transition: background 0.2s, color 0.2s; }
.btn-white:hover { background: #1A0E06; }

/* ── ANIMATIONS ── */
@keyframes fadeUp { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: translateY(0); } }

/* ── MOBILE ── */
@media (max-width: 860px) {
  .nav-links { display: none; }
  .form-row  { grid-template-columns: 1fr; }
  footer     { flex-direction: column; align-items: flex-start; }
  .cta-band  { flex-direction: column; align-items: flex-start; }
}


/* ── B4 SMOKED OAK STRATEGIC ACCENTS ── */
body { background: #FFFFFF; color: var(--char); }

.section-title          { color: var(--char); }
.section-title em       { color: var(--terra); }
.section-eyebrow        { color: var(--terra); }
.section-eyebrow::before{ background: var(--terra); }

/* NAV — char background matching ticker, light text */
nav { background: rgba(26,14,6,0.97); border-bottom: 1px solid rgba(200,96,32,0.2); }
.nav-links a            { color: rgba(245,234,216,0.6); }
.nav-links a:hover,
.nav-links a.active     { color: #FBF0E6; }
.nav-links a.active     { border-bottom-color: var(--terra); }

/* BUTTONS */
.btn-primary            { background: var(--terra); color: #FFFFFF; }
.btn-primary:hover      { background: var(--terra-dk); }
.btn-outline            { border: 1.5px solid rgba(26,14,6,0.25); color: var(--char); }
.btn-outline:hover      { background: var(--sand); border-color: var(--char); }
.btn-nav                { background: var(--terra) !important; color: #FFFFFF !important; }
.btn-nav:hover          { background: var(--terra-dk) !important; }

/* TICKER — char band */
.ticker                 { background: var(--char); }
.ticker-item            { color: var(--sand); }
.ticker-dot             { color: var(--terra); }

/* PAGE BANNERS — char */
.page-banner            { background: var(--char); }
.page-banner-title      { color: var(--sand-lt); }
.page-banner-sub        { color: rgba(251,240,230,0.55); }
.page-banner-eyebrow    { color: var(--terra); }
.page-banner-eyebrow::before { background: var(--terra); }

/* FOOTER — char */
footer                  { background: var(--char); }
.footer-copy            { color: rgba(245,234,216,0.35); }
.footer-links a         { color: rgba(245,234,216,0.45); }
.footer-links a:hover   { color: var(--sand-lt); }

/* CTA BAND — char with terracotta button */
.cta-band               { background: var(--char); }
.cta-band-title         { color: var(--sand-lt); }
.cta-band-title em      { color: var(--terra); }
.btn-white              { background: var(--sand-lt); color: var(--terra); }
.btn-white:hover        { background: var(--sand); }

/* CARDS — white with warm border */
.pkg-card, .testi-card,
.value-card, .faq-item,
.contact-form-card      { background: #FFFFFF; border-color: rgba(26,14,6,0.1); }
.pkg-card:hover         { box-shadow: 0 20px 60px rgba(26,14,6,0.1); }

/* CARD TOP ACCENTS */
.pkg-featured::after    { background: var(--terra); }
.pkg-b::after           { background: var(--saddle); }
.pkg-c::after           { background: var(--char-mid); }
.pkg-d::after           { background: linear-gradient(90deg, var(--terra), var(--saddle)); }

/* STATS & PRICES — saddle brown */
.stat-num               { color: var(--terra); }
.stat-label             { color: var(--mid); }
.proof-num              { color: var(--terra); }
.proof-label            { color: var(--mid); }
.pkg-price,
.shop-price             { color: var(--saddle); font-weight: 700; }
.menu-price             { color: var(--saddle); }

/* TESTIMONIALS */
.testi-stars            { color: var(--saddle); }
.testi-quote            { color: var(--char-mid); }

/* ABOUT PULL QUOTE */
.about-pull             { border-left-color: var(--terra); color: var(--char); }

/* BODY TEXT */
.pkg-sub, .hero-sub,
.about-body p,
.story-text p,
.value-text, .step-text,
.faq-a, .timeline-text,
.team-bio p             { color: #5A3020; }
.about-body p strong,
.story-text p strong    { color: var(--char); }

/* FORMS */
.form-group input,
.form-group select,
.form-group textarea    { background: #FFFFFF; border-color: rgba(26,14,6,0.15); color: var(--char); }
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus { border-color: var(--terra); }
.form-group label       { color: var(--mid); }
.btn-submit             { background: var(--terra); }
.btn-submit:hover       { background: var(--terra-dk); }

/* CONTACT */
.contact-label          { color: var(--terra); }
.contact-value          { color: var(--char); }
.contact-value a        { color: var(--char); }
.contact-value a:hover  { color: var(--terra); }

/* SOCIAL CHIPS */
.social-chip            { background: var(--sand); color: var(--mid); border-color: var(--border); }
.social-chip:hover      { color: var(--terra); border-color: rgba(200,96,32,0.4); }

/* ALTERNATE SECTION BACKGROUNDS */
.teaser-packages,
#packages,
.values-section,
.process-section,
.faq-section,
.rating-overview,
#testimonials ~ section { background: var(--sand); }

/* ADMIN */
.sidebar                { background: var(--char); }
.topbar                 { background: #FFFFFF; border-bottom: 1px solid var(--border); }
.topbar-title           { color: var(--char); }
.topbar-badge           { background: var(--sand); color: var(--mid); border-color: var(--border); }
.stat-card.highlight .stat-num { color: var(--terra); }
