:root {
  --pf-orange: #ef7f2e;
  --pf-orange-dark: #d96a1a;
  --pf-cream: #fdf6ee;
  --pf-ink: #26211c;
  --pf-muted: #6f6558;
}

body {
  font-family: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
  color: var(--pf-ink);
  background: #fff;
}

h1, h2, h3, h4, .brand-word {
  font-family: "Bricolage Grotesque", "Poppins", sans-serif;
  font-weight: 700;
  letter-spacing: -0.02em;
}

a { text-decoration: none; }

.text-brand { color: var(--pf-orange) !important; }
.bg-cream { background: var(--pf-cream); }

.eyebrow {
  color: var(--pf-orange);
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: .75rem;
  font-weight: 600;
}

.btn-brand {
  background: var(--pf-orange);
  color: #fff;
  border-radius: 999px;
  padding: .65rem 1.4rem;
  font-weight: 600;
  border: 1px solid var(--pf-orange);
}
.btn-brand:hover { background: var(--pf-orange-dark); border-color: var(--pf-orange-dark); color: #fff; }

.btn-outline-brand {
  border: 1px solid rgba(38,33,28,.2);
  border-radius: 999px;
  padding: .65rem 1.4rem;
  font-weight: 600;
  color: var(--pf-ink);
  background: #fff;
}
.btn-outline-brand:hover { border-color: var(--pf-orange); color: var(--pf-orange); }

/* Navbar */
.navbar { background: #fff; box-shadow: 0 1px 0 rgba(0,0,0,.06); }
.navbar .brand-word { font-size: 1.6rem; color: var(--pf-orange); line-height: 1; }
.navbar .brand-sub { font-size: .55rem; letter-spacing: .35em; color: var(--pf-muted); }
.navbar .nav-link { font-weight: 500; color: var(--pf-ink); padding: .5rem .9rem !important; }
.navbar .nav-link:hover { color: var(--pf-orange); }
.navbar .nav-link.active { color: var(--pf-orange); border-bottom: 2px solid var(--pf-orange); }

/* Hero */
.hero {
  background: linear-gradient(180deg, var(--pf-cream), #fff);
  overflow: hidden;
}
.hero h1 { font-size: clamp(2.2rem, 5vw, 3.6rem); line-height: 1.08; }
.hero-img { border-radius: 1.5rem; object-fit: cover; width: 100%; height: 100%; }

.page-head {
  background: linear-gradient(180deg, var(--pf-cream), #fff);
  padding: 4.5rem 0 3rem;
}

/* Feature strip */
.feature-card {
  background: #fff;
  border: 1px solid rgba(38,33,28,.08);
  border-radius: 1.25rem;
  box-shadow: 0 18px 40px -30px rgba(38,33,28,.5);
}
.feature-card .col-item + .col-item { border-left: 1px solid rgba(38,33,28,.08); }
.feature-icon { font-size: 1.8rem; color: var(--pf-orange); }

.soft-card {
  background: #fff;
  border: 1px solid rgba(38,33,28,.08);
  border-radius: 1.25rem;
  padding: 1.75rem;
  height: 100%;
  transition: transform .2s ease, box-shadow .2s ease;
}
.soft-card:hover { transform: translateY(-4px); box-shadow: 0 20px 40px -28px rgba(38,33,28,.55); }

.rounded-photo { border-radius: 1.5rem; object-fit: cover; width: 100%; }

.check-list li { list-style: none; margin-bottom: .6rem; color: var(--pf-muted); }
.check-list { padding-left: 0; }
.check-list li::before { content: "✓"; color: var(--pf-orange); font-weight: 700; margin-right: .6rem; }

.gallery-item img,
.gallery-item video {
  width: 100%; height: 260px; object-fit: cover; border-radius: 1.25rem;
  transition: transform .35s ease;
}
.gallery-item {
  overflow: hidden; border-radius: 1.25rem;
  background: #f5f0eb;
}
.gallery-item:hover img,
.gallery-item:hover video { transform: scale(1.06); }

.gallery-item video {
  display: block; background: #000;
}

.section { padding: 4.5rem 0; }

/* Footer */
.site-footer { background: var(--pf-orange); color: #fff; padding: 3.5rem 0 1.25rem; }
.site-footer a { color: rgba(255,255,255,.88); }
.site-footer a:hover { color: #fff; text-decoration: underline; }
.site-footer .brand-word { color: #fff; }
.site-footer h6 { font-weight: 700; letter-spacing: .05em; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.25); margin-top: 2.5rem; padding-top: 1rem; font-size: .85rem; }

.form-control, .form-select {
  border-radius: .8rem;
  padding: .75rem 1rem;
  border-color: rgba(38,33,28,.15);
}
.form-control:focus { border-color: var(--pf-orange); box-shadow: 0 0 0 .2rem rgba(239,127,46,.15); }
