/* BFFC final brand layer. Loaded last to keep theme behavior deterministic. */
:root {
  --bf-red: #c8101e;
  --bf-red-dark: #8f0913;
  --bf-yellow: #f2a516;
  --bf-cream: #fff4df;
  --bf-paper: #fffaf0;
  --bf-ink: #211f1d;
  --bf-line: #211f1d;
  --bf-notice-h: 42px;
}

html[data-theme="dark"] {
  --bf-cream: #171412;
  --bf-paper: #24201c;
  --bf-ink: #fff4df;
  --bf-line: #fff4df;
}

body.landing {
  background: var(--bf-cream);
  color: var(--bf-ink);
}

body.landing::after,
.page-glow,
.hero-deco,
.hero-spotlight,
.hero-scroll-cue,
.tilt-shine,
.glow-border::before { display: none !important; }

.rebrand-notice {
  position: fixed;
  inset: 0 0 auto;
  z-index: 1100;
  height: var(--bf-notice-h);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 0 24px;
  overflow: hidden;
  color: #fff4df;
  background:
    repeating-linear-gradient(120deg, transparent 0 24px, rgba(255,255,255,.06) 24px 28px),
    var(--bf-red);
  border-bottom: 3px solid #211f1d;
  font-size: .78rem;
  letter-spacing: .02em;
}
.rebrand-notice::before,
.rebrand-notice::after {
  content: "";
  position: absolute;
  width: 120px;
  height: 120px;
  border: 18px solid rgba(242,165,22,.3);
  border-radius: 50%;
}
.rebrand-notice::before { left: -54px; top: -76px; }
.rebrand-notice::after { right: -54px; bottom: -76px; }
.rebrand-copy { display: inline-flex; align-items: center; gap: 10px; text-transform: uppercase; }
.rebrand-copy strong { font-weight: 600; }
.rebrand-copy b { color: #211f1d; background: var(--bf-yellow); padding: 4px 9px; border: 2px solid #211f1d; border-radius: 3px; font-weight: 800; }
.rebrand-copy i { color: var(--bf-yellow); }
.rebrand-tag { padding-left: 16px; border-left: 1px solid rgba(255,244,223,.55); font-weight: 600; }
.rebrand-burst,
.rebrand-spark { color: var(--bf-yellow); animation: rebrandPop 1.8s ease-in-out infinite alternate; }
.rebrand-spark { animation-delay: -.9s; }
@keyframes rebrandPop { to { transform: rotate(12deg) scale(1.2); } }

.site-nav,
html[data-theme="dark"] .site-nav {
  top: var(--bf-notice-h);
  height: 82px;
  background: var(--bf-cream);
  border-bottom: 3px solid var(--bf-line);
  box-shadow: none;
  backdrop-filter: none;
}

.site-nav .nav-inner { max-width: 1240px; }
.nav-logo { display: block; line-height: 0; }
.nav-logo img {
  width: 76px;
  height: 68px;
  border: 0;
  border-radius: 0;
  object-fit: contain;
  mix-blend-mode: normal;
}
html[data-theme="dark"] .nav-logo img { mix-blend-mode: normal; }
.nav-links a { color: var(--bf-ink); font-weight: 700; }
.nav-links a:not(.nav-cta)::after { background: var(--bf-red); height: 3px; }
.nav-links a:hover, .nav-links a.active { color: var(--bf-red); }
.nav-links a.nav-cta {
  background: var(--bf-red);
  border: 2px solid var(--bf-line);
  border-radius: 6px;
  box-shadow: 4px 4px 0 var(--bf-line);
  color: #fff !important;
}
.theme-toggle {
  border: 2px solid var(--bf-line);
  background: var(--bf-paper);
  color: var(--bf-ink);
  box-shadow: none;
}

.hero {
  min-height: 780px;
  padding-top: calc(132px + var(--bf-notice-h));
  background: var(--bf-cream);
  border-bottom: 3px solid var(--bf-line);
}
.hero-bg,
html[data-theme="dark"] .hero-bg {
  background:
    linear-gradient(90deg, transparent 0 49.8%, rgba(33,31,29,.09) 49.8% 50%, transparent 50%),
    repeating-linear-gradient(0deg, transparent 0 47px, rgba(33,31,29,.045) 47px 48px);
}
.hero-bg::before, .hero-bg::after { display: none; }
.hero-grid { grid-template-columns: 1.15fr .85fr; gap: clamp(40px, 7vw, 92px); }
.hero-eyebrow {
  border: 2px solid var(--bf-line);
  border-radius: 4px;
  background: var(--bf-yellow);
  color: #211f1d;
  animation: none;
}
.hero-badge-live { background: var(--bf-red); color: #fff; border-radius: 2px; }
.hero h1 { color: var(--bf-ink); }
.text-gradient { color: var(--bf-red); background: none; -webkit-text-fill-color: currentColor; animation: none; }
.hero-lead { color: var(--bf-ink); opacity: .72; }
.btn { border-radius: 6px; }
.btn-primary {
  background: var(--bf-red);
  border: 2px solid var(--bf-line);
  color: #fff !important;
  box-shadow: 5px 5px 0 var(--bf-line);
}
.btn-outline { border: 2px solid var(--bf-line); color: var(--bf-ink); background: var(--bf-paper); }

.hero-brand-panel {
  min-height: 470px;
  padding: 34px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--bf-red);
  color: #fff4df;
  border: 4px solid var(--bf-line);
  box-shadow: 14px 14px 0 var(--bf-yellow);
  transform: rotate(1.25deg);
}
.hero-brand-kicker { font-size: .72rem; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; }
.hero-brand-name {
  margin: 16px 0 8px;
  font-family: "Alfa Slab One", Georgia, serif;
  font-size: clamp(5rem, 10vw, 8.5rem);
  line-height: .9;
  letter-spacing: .02em;
}
.hero-brand-panel > p { font-size: 1.45rem; font-weight: 800; line-height: 1.15; text-transform: uppercase; }
.hero-brand-panel .hero-metrics { border-top: 2px solid rgba(255,244,223,.65); }
.hero-brand-panel .hero-metrics strong,
.hero-brand-panel .hero-metrics span { color: #fff4df; }

.trust-marquee-wrap,
html[data-theme="dark"] .trust-marquee-wrap { background: var(--bf-ink); border: 0; mask-image: none; }
.trust-marquee-item {
  background: transparent;
  border: 0;
  box-shadow: none;
  color: var(--bf-cream);
}
.trust-marquee-item i { color: var(--bf-yellow); }

.package-card,
.package-card.featured,
html[data-theme="dark"] .package-card,
html[data-theme="dark"] .package-card.featured {
  border: 3px solid var(--bf-line);
  background: var(--bf-yellow);
  color: #211f1d;
  box-shadow: 9px 9px 0 var(--bf-line);
  opacity: 1;
  transform: none !important;
  animation: none !important;
  transition: none !important;
}
.package-card:hover { transform: none !important; }
.package-card.featured,
html[data-theme="dark"] .package-card.featured { background: var(--bf-red); color: #fff4df; }
.package-card.featured .package-price,
.package-card.featured .package-list li,
.package-card.featured h3 { color: #fff4df; }
.package-card .package-price,
.package-card .package-list li,
.package-card h3 { color: #211f1d; }
.package-card .package-list li::before {
  content: "\2713";
  display: inline-block;
  color: #211f1d;
  font-weight: 900;
  font-size: 1rem;
  line-height: 1.25;
  flex: 0 0 18px;
}
.package-card.featured .package-list li::before { color: var(--bf-yellow); }
.package-card .btn-outline { color: #211f1d; border-color: #211f1d; background: #fff4df; }
.package-badge { background: #211f1d; color: #fff4df; }

/* Replace the generic stacked-card ending with a quieter editorial finish. */
#founder { border-top: 3px solid var(--bf-line); }
.founder-block {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  align-items: stretch;
}
.founder-photo { border: 3px solid var(--bf-line); border-radius: 0; filter: saturate(.8) contrast(1.05); }
.founder-quote { padding: clamp(24px, 5vw, 54px); background: var(--bf-yellow); color: #211f1d; border: 3px solid #211f1d; }
.founder-quote p, .founder-sign, .founder-sign span { color: #211f1d !important; opacity: 1; }
.founder-duo { display: none; }
#contact,
html[data-theme="dark"] #contact { background: var(--bf-red) !important; color: #fff4df; border-top: 3px solid #211f1d; }
#contact .lp-head p, #contact .lp-head h2, #contact .lp-eyebrow,
#contact .contact-benefits h3 { color: #fff4df !important; }
#contact .contact-grid { align-items: start; }
#contact .contact-benefits { border: 0; background: transparent; box-shadow: none; padding-left: 0; }
#contact .contact-form {
  background: #fff4df;
  color: #211f1d;
  border: 3px solid #211f1d;
  border-radius: 0;
  box-shadow: 10px 10px 0 #211f1d;
}
#contact input, #contact select, #contact textarea { background: #fffaf0; color: #211f1d; border: 2px solid #211f1d; }
#contact label { color: #211f1d; font-weight: 700; }
#contact .contact-benefits li, #contact .contact-benefits p { color: #fff4df !important; }
#contact .contact-benefits a { color: var(--bf-yellow) !important; }
#contact .reveal { opacity: 1 !important; transform: none !important; }
.contact-form .btn-primary { color: #fff !important; }
.site-footer { background: #211f1d; color: #fff4df; border-top: 0; }

/* Color rhythm after pricing. */
#menu { background: var(--bf-paper); }
#menu .menu-bento { gap: 18px; }
#menu .menu-tile { border: 3px solid var(--bf-line); box-shadow: 7px 7px 0 var(--bf-line); }
#menu .menu-tile:nth-child(3n + 1) { background: var(--bf-red); color: #fff4df; }
#menu .menu-tile:nth-child(3n + 1) p,
#menu .menu-tile:nth-child(3n + 1) h4,
#menu .menu-tile:nth-child(3n + 1) i,
#menu .menu-tile:nth-child(3n + 1) .count { color: #fff4df; }
#menu .menu-tile:nth-child(3n + 2) { background: var(--bf-yellow); color: #211f1d; }
#menu .menu-tile:nth-child(3n) { background: var(--bf-ink); color: var(--bf-cream); }
#menu .menu-tile:nth-child(3n) p,
#menu .menu-tile:nth-child(3n) h4,
#menu .menu-tile:nth-child(3n) i,
#menu .menu-tile:nth-child(3n) .count { color: var(--bf-cream); }
#mission, html:not([data-theme="dark"]) #mission { background: #211f1d !important; color: #fff4df; }
#mission .lp-head h2, #mission .lp-head p { color: #fff4df !important; }
#mission .mission-tile { background: #332c27; border: 2px solid #fff4df; }
#mission .mission-tile:nth-child(2), #mission .mission-tile:nth-child(5) { background: var(--bf-red); }
#mission .mission-tile i { color: var(--bf-yellow); }
#mission .mission-tile p,
#mission .mission-tile:nth-child(2) p,
#mission .mission-tile:nth-child(5) p { color: #fff4df !important; opacity: 1; }
#mission .reveal { opacity: 1 !important; transform: none !important; }
#outlets { background: var(--bf-yellow); color: #211f1d; }
#outlets .lp-head h2, #outlets .lp-head p { color: #211f1d; }
#outlets .outlet-card { border: 3px solid #211f1d; box-shadow: 7px 7px 0 #211f1d; }
#gallery { background: var(--bf-red); color: #fff4df; }
#gallery .lp-head h2, #gallery .lp-head p, #gallery .lp-eyebrow { color: #fff4df; }
#gallery .outlet-card { border: 3px solid #211f1d; box-shadow: 7px 7px 0 #211f1d; }

@media (max-width: 900px) {
  :root { --bf-notice-h: 48px; }
  .rebrand-notice { gap: 8px; padding: 0 12px; font-size: .64rem; }
  .rebrand-copy { gap: 6px; }
  .rebrand-tag, .rebrand-burst, .rebrand-spark { display: none; }
  .rebrand-copy b { padding: 3px 6px; }
  .site-nav { height: 72px; }
  .nav-logo img { width: 64px; height: 58px; }
  .nav-links, html[data-theme="dark"] .nav-links { background: var(--bf-cream); border: 3px solid var(--bf-line); border-radius: 0; }
  .nav-links a, html[data-theme="dark"] .nav-links a { color: var(--bf-ink); background: transparent; }
  .hero { min-height: auto; padding: 116px 24px 72px; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-brand-panel { min-height: 360px; transform: none; box-shadow: 9px 9px 0 var(--bf-yellow); }
}

@media (max-width: 600px) {
  .hero h1 { font-size: clamp(2.8rem, 15vw, 4.25rem); }
  .hero-brand-panel { min-height: 320px; padding: 24px; }
  .hero-brand-name { font-size: clamp(4.5rem, 24vw, 7rem); }
  .hero-brand-panel .hero-metrics { grid-template-columns: repeat(3, 1fr); }
  .hero-brand-panel .hero-metrics span { font-size: .6rem; }
}
