/* Shared palette/typography for Bull Interiors subpages. Mirrors the approved home page. */
:root {
  --ink: #151515;
  --paper: #ffffff;
  --muted: #686868;
  --red: #c51f32;
  --red-dark: #9e1728;
  --red-light: #d73346;
  --line: #e9e7e5;
  --soft: #f6f5f3;
  --black: #151515;
  --white: #ffffff;
  --off-white: #f6f5f3;
  --cream: #f6f5f3;
  --dark: #ffffff;
  --dark2: #f6f5f3;
  --dark3: #f0efed;
  --dark4: #e9e7e5;
  --grey: #686868;
  --serif: Arial, Helvetica, sans-serif;
  --sans: Arial, Helvetica, sans-serif;
}

html { scroll-behavior: smooth; }
body {
  background: var(--paper) !important;
  color: var(--ink) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  cursor: auto !important;
  overflow-x: hidden;
}
button, a, input, select, textarea { cursor: pointer; }
input, select, textarea { cursor: text; }
a { color: inherit; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid var(--red) !important;
  outline-offset: 3px;
}
#cursor, #cursor-ring, #loader { display: none !important; }

h1, h2, h3, h4, h5, h6,
.sec-title, .hero-title, .pkg-name, .footer-name, .nav-brand .brand-name,
button, .btn-red, .btn-outline-red, .nav-cta {
  font-family: Arial, Helvetica, sans-serif !important;
}
.sec-title, .hero-title { letter-spacing: -0.035em !important; }
.sec-title em, .hero-title em { font-style: normal !important; color: var(--red) !important; }
.sec-label, .hero-label, .c-label, .nav-link, .brand-tagline {
  color: var(--red) !important;
}

#navbar, #navbar.scrolled {
  position: sticky !important;
  top: 0 !important;
  z-index: 1200 !important;
  width: 100%;
  min-height: 82px;
  padding: 12px max(24px, calc((100vw - 1280px) / 2)) !important;
  background: rgba(255,255,255,.98) !important;
  border-bottom: 1px solid var(--line) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
#navbar .nav-brand { gap: 12px; }
#navbar .nav-brand img {
  width: 54px !important;
  height: 54px !important;
  margin: 0 !important;
  object-fit: contain;
}
#navbar .brand-name {
  color: var(--ink) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  letter-spacing: .055em !important;
  line-height: 1.05 !important;
  text-transform: uppercase;
}
#navbar .brand-tagline {
  display: block;
  margin-top: 5px !important;
  font-size: 8px !important;
  letter-spacing: .1em !important;
  text-transform: uppercase;
}
#navbar .nav-center { gap: clamp(8px, 1.1vw, 17px) !important; }
#navbar .nav-link {
  color: #555 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
#navbar .nav-link:hover, #navbar .nav-link.active { color: var(--red) !important; }
/* Keep the replica's subpage header readable before the original scroll script runs. */
#navbar:not(.scrolled) {
  background: rgba(255,255,255,.98) !important;
  box-shadow: none !important;
}
#navbar:not(.scrolled) .nav-link { color: #555 !important; }
#navbar:not(.scrolled) .nav-link:hover,
#navbar:not(.scrolled) .nav-link.active { color: var(--red) !important; }
#navbar:not(.scrolled) .brand-name { color: var(--ink) !important; }
#navbar .nav-cta {
  padding: 12px 17px !important;
  border: 1px solid var(--red) !important;
  border-radius: 0 !important;
  background: var(--red) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase !important;
}
#navbar .nav-cta:hover { background: var(--red-dark) !important; }
#navbar .hamburger { color: var(--ink) !important; }

.page-hero { min-height: 360px; height: min(60vh, 540px); }
.page-hero .bg { filter: brightness(.68); }
.page-hero .overlay { background: linear-gradient(90deg, rgba(13,13,13,.62), rgba(13,13,13,.10)) !important; }
.hero-title { font-size: clamp(42px, 6.2vw, 76px) !important; font-weight: 750 !important; line-height: .98 !important; }
.hero-label, .sec-label { font-size: 11px !important; font-weight: 700 !important; letter-spacing: .07em !important; text-transform: uppercase !important; }
.hero-bc, .hero-bc a { color: rgba(255,255,255,.82) !important; }
.sec-title { color: var(--ink) !important; font-size: clamp(30px, 4vw, 48px) !important; font-weight: 750 !important; line-height: 1.08 !important; }
.sec-text, .hero-sub, .pkg-desc, .footer-desc, .c-val, .faq-a {
  color: #565656 !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
}
.red-divider { background: var(--red) !important; }
.btn-red, .btn-outline-red, .btn-outline-black, .mob-cta {
  border-radius: 0 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase !important;
}
.btn-red { background: var(--red) !important; border-color: var(--red) !important; color: #fff !important; }
.btn-red:hover { background: var(--red-dark) !important; }
.btn-outline-red, .btn-outline-black { border-color: var(--red) !important; color: var(--red) !important; }

.stats-band, .a-stats, .a-stat, .founder-facts, .trust-grid, .why-grid-4,
.milestones, .clients-grid { background: var(--soft) !important; color: var(--ink) !important; }
.stats-band { border-block: 1px solid var(--line); }
.stats-band-inner { background: var(--line) !important; }
.sb-item { background: var(--soft) !important; }
.sb-label { color: var(--muted) !important; }
.sb-num, .stat-number, .a-stat-n, .rb-num { color: var(--red) !important; }
.sec-charcoal, .pkg-section, .compare-section, .why-strip, .testi-section,
.trust-section, .faq-section, .contact-info-side, .video-section,
.gallery-slider-section, .vm-section, .milestones-section, .clients-section {
  background-color: var(--soft) !important;
  color: var(--ink) !important;
}
.pkg-card, .pkg-feature-card, .testi-card, .faq-item, .svc-card,
.a-stat, .c-hours, .envoy-card {
  border: 1px solid var(--line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.pkg-price, .c-val a, .contact-list a, footer a:hover { color: var(--red) !important; }
input, textarea, select {
  border: 1px solid #d7d4d1 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--ink) !important;
}

.f-btn {
  padding: 10px 16px !important;
  border: 1px solid var(--line) !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #555 !important;
  font: 600 12px Arial, Helvetica, sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.f-btn:hover, .f-btn.active { border-color: var(--red) !important; color: var(--red) !important; background: #fff !important; }
.pm-item {
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  text-align: left;
  appearance: none;
}
.pm-item img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.pm-overlay { background: linear-gradient(0deg, rgba(0,0,0,.76), rgba(0,0,0,.04) 68%) !important; }
.pm-info { transform: none !important; opacity: 1 !important; }
.pm-cat { color: #ffb6bf !important; font-size: 11px !important; letter-spacing: .035em !important; }
.pm-title { color: #fff !important; font: 700 18px Arial, Helvetica, sans-serif !important; }
.pm-item:focus-visible { outline: 3px solid var(--red) !important; outline-offset: 3px; }

footer {
  background: #fff !important;
  color: var(--ink) !important;
  border-top: 1px solid var(--line) !important;
}
.footer-top { background: #fff !important; }
.footer-name, .footer-brand-col h3 { color: var(--ink) !important; }
.footer-tagline { color: var(--red) !important; }
.footer-desc, .footer-links a, .footer-contact p, .footer-bottom { color: #686868 !important; }
.footer-bottom { border-top: 1px solid var(--line) !important; }
.float-btns { cursor: auto !important; }
.float-btn { border-radius: 50% !important; }

.legacy-scope { padding: 72px 5vw; background: #fff; color: var(--ink); }
.legacy-scope-inner { width: min(1160px, 100%); margin: 0 auto; }
.legacy-scope-heading { max-width: 760px; margin: 0 auto 32px; text-align: center; }
.legacy-scope-heading .sec-label { justify-content: center; color: var(--red); }
.legacy-scope-heading h2 { margin: 12px 0; font: 600 clamp(28px, 4vw, 42px) Georgia, 'Times New Roman', serif; }
.legacy-scope-heading p, .legacy-scope-note { color: #686868; font: 14px/1.7 Arial, Helvetica, sans-serif; }
.legacy-scope-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.legacy-scope-grid article { padding: 20px; border: 1px solid #e9e7e5; background: #f6f5f3; }
.legacy-scope-grid h3 { margin: 0 0 10px; color: #555; font: 700 13px Arial, Helvetica, sans-serif; }
.legacy-scope-grid p { margin: 0; color: #151515; font: 600 16px Arial, Helvetica, sans-serif; }
.legacy-scope-grid span { display: block; margin-top: 7px; color: #777; font: 11px/1.5 Arial, Helvetica, sans-serif; }
.legacy-scope-note { margin: 22px 0 0; text-align: center; }
.legacy-scope-note a { color: var(--red); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 700px) { .legacy-scope { padding: 54px 20px; } .legacy-scope-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 420px) { .legacy-scope-grid { grid-template-columns: 1fr; } }

@media (max-width: 900px) {
  #navbar { min-height: 74px; padding: 10px 22px !important; }
  #navbar .nav-center { background: #fff !important; }
  #navbar .nav-link { font-size: 13px !important; }
  .page-hero { min-height: 340px; height: 52vh; }
}
@media (max-width: 600px) {
  #navbar { padding-inline: 16px !important; }
  #navbar .nav-brand img { width: 46px !important; height: 46px !important; }
  .page-hero { min-height: 300px; height: 42vh; }
  .hero-title { font-size: clamp(38px, 12vw, 54px) !important; }
  .sec-title { font-size: clamp(28px, 8vw, 36px) !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
