:root {
  --bg-header: #e2ded7;
  --bg-light: #eae6df;
  --bg-card: #f3f0ea;
  --bg-dark: #191817;
  --bg-logo: #f3f1eb;
  --bg-footer: #d8d3cb;
  --text-dark: #2b2825;
  --text-muted: #6e6862;
  --text-light: #f5f3ef;
  --accent-red: #8f1f21;
  --accent-red-hover: #721618;
  --border-light: rgba(0, 0, 0, 0.08);
}

.header-bar {
  width: 100% !important;
  border-bottom: 1px solid var(--border-dark) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
}

.header-inner {
  max-width: 1440px !important;
  margin: 0 auto !important;
  padding: 1rem 1.25rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.logo-badge {
  background-color: var(--bg-logo) !important;
  padding: 0.6rem 1rem !important;
  border-radius: 3px !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.6rem !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
  cursor: pointer !important;
}

.logo-icon-inner {
  width: 8px !important;
  height: 8px !important;
}

.nav-desktop-wrap {
  display: none !important;
}

.nav-item {
  cursor: pointer !important;
  transition: color 0.2s ease !important;
  text-transform: uppercase;
  font-weight: 600;
  border-bottom: 1px solid transparent;
}

.nav-item:hover {
  color: var(--accent-red) !important;
  border-bottom: 1px solid var(--accent-red) !important;
}

.btn-primary {
  background-color: var(--accent-red) !important;
  color: var(--text-light) !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
}

.btn-primary:hover {
  background-color: var(--accent-red-hover) !important;
}

.mobile-menu-btn {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  cursor: pointer !important;
  padding: 0.4rem !important;
}

.mobile-drawer-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background-color: rgba(0, 0, 0, 0.5) !important;
  z-index: 998 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 0.3s ease !important;
}

.mobile-drawer-overlay.active {
  opacity: 1 !important;
  pointer-events: auto !important;
}

.mobile-drawer {
  position: fixed !important;
  top: 0 !important;
  right: -100% !important;
  width: 280px !important;
  height: 100vh !important;
  background-color: var(--bg-card) !important;
  z-index: 999 !important;
  padding: 2.5rem 1.5rem !important;
  box-shadow: -5px 0 25px rgba(0, 0, 0, 0.15) !important;
  transition: right 0.3s ease !important;
  display: flex !important;
  flex-direction: column !important;
}

.mobile-drawer.active {
  right: 0 !important;
}

.mobile-drawer-close {
  align-self: flex-end !important;
  cursor: pointer !important;
  margin-bottom: 2rem !important;
  color: var(--text-dark) !important;
}

.mobile-nav-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.25rem !important;
}

.mobile-nav-item {
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--text-dark) !important;
  cursor: pointer !important;
  transition: color 0.2s ease !important;
}

.mobile-nav-item:hover {
  color: var(--accent-red) !important;
}

.menu-bar {
  width: 22px !important;
  height: 2px !important;
  background-color: var(--text-dark) !important;
  border-radius: 1px !important;
}

.subnav-banner {
  background-color: var(--bg-header) !important;
  border-bottom: 1px solid var(--border-light) !important;
  overflow-x: auto !important;
  white-space: nowrap !important;
  padding: 1rem 1.25rem !important;
  -webkit-overflow-scrolling: touch !important;
}

.subnav-container {
  max-width: 1440px !important;
  margin: 0 auto !important;
  display: flex !important;
  gap: 2rem !important;
  justify-content: flex-start !important;
}

.subnav-text {
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--text-muted) !important;
  cursor: pointer !important;
}

.hero-section {
  position: relative !important;
}

.hero-section::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(
    90deg,
    rgba(10, 10, 10, 0.9) 0%,
    rgba(10, 10, 10, 0.82) 28%,
    rgba(10, 10, 10, 0.55) 48%,
    rgba(10, 10, 10, 0.18) 68%,
    rgba(10, 10, 10, 0) 100%
  ) !important;
}

@media (max-width: 768px) {
  .hero-section::before {
    background: rgba(10, 10, 10, 0.72) !important;
  }
}

.hero-heading-accent {
  color: #c94447 !important;
}

.hero-actions {
  display: flex !important;
  align-items: center !important;
  gap: 1.5rem !important;
  flex-wrap: wrap !important;
}

.hero-secondary-link {
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--text-light) !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  width: fit-content !important;
  gap: 0.5rem !important;
}

.intro-section {
  padding: 3.5rem 1.25rem !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

.section-label {
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: var(--text-muted) !important;
  margin-bottom: 1.5rem !important;
  display: block !important;
}

.intro-heading {
  line-height: 1.3 !important;
  margin-bottom: 2rem !important;
  letter-spacing: -0.3px !important;
}

.intro-body-text {
  color: var(--text-muted) !important;
  line-height: 1.7 !important;
  margin-bottom: 1.25rem !important;
}

.stats-row {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.25rem !important;
  margin-top: 2.5rem !important;
  padding-top: 2rem !important;
  border-top: 1px solid var(--border-light) !important;
}

.stat-number {
  color: var(--text-dark) !important;
  margin-bottom: 0.25rem !important;
}

.stat-label {
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: var(--text-muted) !important;
}

.service-action {
	grid-area: action;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #D8CCBD;
	background-color: transparent;
	color: #332E27;
	margin-left: 12px;
	flex-shrink: 0;
	transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.service-item {
	cursor: pointer;
	transition: background 0.3s ease;
}

.service-item:hover {
	background: linear-gradient(90deg, #dcc1a3 0%, rgba(246, 242, 236, 0.4) 70%, rgba(246, 242, 236, 0) 100%);
}

.service-item:hover .service-title {
	color: #A05929;
}

.service-item:hover .service-action {
	background-color: #852620;
	border-color: #852620;
	color: #FFFFFF;
}

.action-icon {
	width: 14px;
	height: 14px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	transform: rotate(-45deg);
	transition: transform 0.3s ease;
}

.service-item:hover .action-icon {
	transform: rotate(0deg);
}

.gallery-section {
  padding: 3.5rem 1.25rem !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

.gallery-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1.25rem !important;
  margin-top: 2rem !important;
}

.gallery-card {
  background-color: #23201d !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  min-height: 240px !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  padding: 1.5rem !important;
  background-size: cover !important;
  background-position: center !important;
  box-shadow: inset 0 -80px 80px rgba(0, 0, 0, 0.7) !important;
}

.card-bg-1 {
  min-height: 300px !important;
}

.card-title {
  color: var(--text-light) !important;
  margin-bottom: 0.25rem !important;
}

.card-meta {
  color: #b0aaa0 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
}

.process-section {
  padding: 3.5rem 1.25rem !important;
  background-color: var(--bg-card) !important;
  border-top: 1px solid var(--border-light) !important;
}

.process-container {
  max-width: 1200px !important;
  margin: 0 auto !important;
}

.process-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1.25rem !important;
  margin-top: 2rem !important;
}

/* Burgundy Vertical Slat CTA Banner */
.cta-banner {
  background-color: #5c1113 !important;
  background-image:
    repeating-linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.18) 0px,
      rgba(0, 0, 0, 0.18) 1px,
      transparent 1px,
      transparent 12px
    ),
    radial-gradient(circle at 50% 50%, #7d1a1d 0%, #5c1113 70%, #3d090a 100%) !important;
  color: var(--text-light) !important;
  padding: 5rem 1.25rem !important;
  text-align: center !important;
  position: relative !important;
  overflow: hidden !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.cta-container {
  max-width: 820px !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  z-index: 2 !important;
}

.cta-subtag {
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #e5a4a5 !important;
  margin-bottom: 1.25rem !important;
  display: block !important;
}

.cta-heading {
  line-height: 1.18 !important;
  color: #ffffff !important;
  margin-bottom: 1.25rem !important;
  max-width: 700px !important;
  letter-spacing: -0.3px !important;
}

.cta-text {
  color: #e2b4b5 !important;
  margin-bottom: 2.25rem !important;
  line-height: 1.6 !important;
  max-width: 520px !important;
}

.cta-btn-outlined {
  border: 1px solid rgba(255, 255, 255, 0.85) !important;
  background-color: transparent !important;
  color: #ffffff !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 0.9rem 1.8rem !important;
  border-radius: 1px !important;
  cursor: pointer !important;
  display: inline-block !important;
  transition: all 0.3s ease !important;
}

.cta-btn-outlined:hover {
  background-color: #ffffff !important;
  color: #5c1113 !important;
  border-color: #ffffff !important;
}

.contact-section {
  padding: 3.5rem 1.25rem !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

.contact-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 2.5rem !important;
}

.contact-info-panel {
  display: flex !important;
  flex-direction: column !important;
  gap: 2rem !important;
}

.contact-info-heading {
  line-height: 1.2 !important;
  letter-spacing: -0.5px !important;
  margin-top: 0.5rem !important;
  margin-bottom: 1rem !important;
}

.contact-info-desc {
  color: var(--text-muted) !important;
  line-height: 1.6 !important;
  margin-bottom: 1.5rem !important;
}

.touchpoint-cards-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
}

.touchpoint-card {
  background-color: var(--bg-card) !important;
  border: 1px solid var(--border-light) !important;
  padding: 1.25rem !important;
  border-radius: 4px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
  transition:
    border-color 0.2s ease,
    transform 0.2s ease !important;
}

.touchpoint-card:hover {
  border-color: rgba(143, 31, 33, 0.3) !important;
  transform: translateY(-2px) !important;
}

.touchpoint-badge-label {
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--accent-red) !important;
}

.touchpoint-title {
  color: var(--text-dark) !important;
}

.touchpoint-subtext {
  color: var(--text-muted) !important;
  line-height: 1.5 !important;
}

.guarantee-box {
  background-color: #f7f4ee !important;
  border-left: 3px solid var(--accent-red) !important;
  padding: 1rem 1.25rem !important;
  border-radius: 0 4px 4px 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.25rem !important;
}

.guarantee-title {
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: var(--text-dark) !important;
}

.guarantee-desc {
  color: var(--text-muted) !important;
}

.form-card {
  background-color: #ffffff !important;
  border: 1px solid var(--border-light) !important;
  padding: 2rem 1.5rem !important;
  border-radius: 6px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
}

.form-header-group {
  border-bottom: 1px solid var(--border-light) !important;
  padding-bottom: 1.25rem !important;
}

.form-heading {
  margin-bottom: 0.35rem !important;
  color: var(--text-dark) !important;
}

.form-subheading {
  color: var(--text-muted) !important;
}

.form-section-title {
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--text-muted) !important;
  margin-bottom: 0.6rem !important;
  display: block !important;
}

.chips-group {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.chip-item {
  padding: 0.55rem 0.9rem !important;
  border-radius: 30px !important;
  border: 1px solid var(--border-light) !important;
  background-color: var(--bg-card) !important;
  color: var(--text-muted) !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.chip-item:hover {
  border-color: var(--accent-red) !important;
  color: var(--accent-red) !important;
}

.chip-item.active {
  background-color: var(--accent-red) !important;
  color: var(--text-light) !important;
  border-color: var(--accent-red) !important;
}

.form-two-col {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1rem !important;
}

.form-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.4rem !important;
}

.field-label {
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: var(--text-muted) !important;
}

.field-input-box {
  background-color: #faf9f7 !important;
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
  padding: 0.75rem 1rem !important;
  border-radius: 3px !important;
  color: var(--text-dark) !important;
  transition: border-color 0.2s ease !important;
}

.field-input-box:hover {
  border-color: rgba(0, 0, 0, 0.25) !important;
}

.field-input-box-multiline {
  min-height: 100px !important;
}

.field-placeholder {
  color: #a09a90 !important;
}

.dropzone-box {
  border: 1px dashed rgba(0, 0, 0, 0.2) !important;
  background-color: var(--bg-card) !important;
  padding: 1.25rem !important;
  border-radius: 4px !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0.4rem !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
}

.dropzone-box:hover {
  background-color: #eae5dc !important;
}

.dropzone-title {
  color: var(--text-dark) !important;
}

.dropzone-subtext {
  color: var(--text-muted) !important;
}

.footer-bar {
  background-color: var(--bg-footer) !important;
  border-top: 1px solid var(--border-light) !important;
  padding: 4rem 1.25rem 2rem 1.25rem !important;
  color: var(--text-dark) !important;
}

.footer-container {
  max-width: 1200px !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 3.5rem !important;
}

.footer-brand-strip {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
  padding-bottom: 2.5rem !important;
  border-bottom: 1px solid var(--border-light) !important;
}

.footer-brand-info {
  max-width: 480px !important;
}

.footer-brand-desc {
  color: var(--text-muted) !important;
  line-height: 1.6 !important;
  margin-top: 1rem !important;
}

.footer-newsletter-box {
  background-color: rgba(255, 255, 255, 0.5) !important;
  border: 1px solid var(--border-light) !important;
  padding: 1.5rem !important;
  border-radius: 4px !important;
  max-width: 420px !important;
  width: 100% !important;
}

.newsletter-heading {
  margin-bottom: 0.25rem !important;
  color: var(--text-dark) !important;
}

.newsletter-subtext {
  color: var(--text-muted) !important;
  margin-bottom: 1rem !important;
}

.newsletter-input-group {
  display: flex !important;
  gap: 0.5rem !important;
}

.newsletter-input-field {
  background-color: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.15) !important;
  padding: 0.6rem 0.8rem !important;
  border-radius: 2px !important;
  flex: 1 !important;
}

.newsletter-btn {
  background-color: var(--accent-red) !important;
  color: var(--text-light) !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding: 0.6rem 1rem !important;
  border-radius: 2px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  transition: background-color 0.2s ease !important;
}

.newsletter-btn:hover {
  background-color: var(--accent-red-hover) !important;
}

.social-icons-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  margin-top: 1.25rem !important;
}

.social-icon-btn {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background-color: #ffffff !important;
  border: 1px solid var(--border-light) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

.social-icon-btn.btn-instagram:hover {
  background: linear-gradient(
    45deg,
    #f09433 0%,
    #e6683c 25%,
    #dc2743 50%,
    #cc2366 75%,
    #bc1888 100%
  ) !important;
  border-color: transparent !important;
}

.social-icon-btn.btn-pinterest:hover {
  background-color: #bd081c !important;
  border-color: #bd081c !important;
}

.social-icon-btn.btn-houzz:hover {
  background-color: #4dbc15 !important;
  border-color: #4dbc15 !important;
}

.social-icon-btn.btn-linkedin:hover {
  background-color: #0a66c2 !important;
  border-color: #0a66c2 !important;
}

.social-icon-btn.btn-facebook:hover {
  background-color: #1877f2 !important;
  border-color: #1877f2 !important;
}

.social-icon-btn:hover .social-svg-icon {
  background-color: #ffffff !important;
}

.social-svg-icon {
  width: 16px !important;
  height: 16px !important;
  background-color: var(--text-dark) !important;
  display: inline-block !important;
  transition: background-color 0.2s ease !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
}

.icon-instagram {
  -webkit-mask-image: url('data:image/svg+xml !important;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"/></svg>') !important;
}

.icon-pinterest {
  -webkit-mask-image: url('data:image/svg+xml !important;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 0c-6.627 0-12 5.372-12 12 0 5.084 3.163 9.426 7.627 11.174-.105-.949-.2-2.405.042-3.441.218-.937 1.407-5.965 1.407-5.965s-.359-.719-.359-1.782c0-1.668.967-2.914 2.171-2.914 1.023 0 1.518.769 1.518 1.69 0 1.029-.655 2.568-.994 3.995-.283 1.194.599 2.169 1.777 2.169 2.133 0 3.772-2.249 3.772-5.495 0-2.873-2.064-4.882-5.012-4.882-3.414 0-5.418 2.561-5.418 5.207 0 1.031.397 2.138.893 2.738.098.119.112.224.083.345l-.333 1.36c-.053.22-.174.267-.402.161-1.499-.698-2.436-2.889-2.436-4.649 0-3.785 2.75-7.262 7.929-7.262 4.163 0 7.398 2.967 7.398 6.931 0 4.136-2.607 7.464-6.227 7.464-1.216 0-2.359-.631-2.75-1.378l-.748 2.853c-.271 1.043-1.002 2.35-1.492 3.146 1.124.347 2.317.535 3.554.535 6.627 0 12-5.373 12-12 0-6.628-5.373-12-12-12z"/></svg>') !important;
}

.icon-houzz {
  -webkit-mask-image: url('data:image/svg+xml !important;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12.6 12L6.1 8.2v7.6l6.5 3.8V12zm-1.2-12L4.9 3.8v7.6l6.5-3.8V0zm6.5 12l-6.5-3.8v7.6l6.5 3.8V12zm0-12l-6.5 3.8v7.6l6.5-3.8V0z"/></svg>') !important;
}

.icon-linkedin {
  -webkit-mask-image: url('data:image/svg+xml !important;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.762-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"/></svg>') !important;
}

.icon-facebook {
  -webkit-mask-image: url('data:image/svg+xml !important;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9 8h-3v4h3v12h5v-12h3.642l.358-4h-4v-1.667c0-.955.192-1.333 1.115-1.333h2.885v-5h-3.808c-3.596 0-5.192 1.583-5.192 4.615v3.385z"/></svg>') !important;
}

.footer-columns-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 2rem !important;
}

.footer-column {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.75rem !important;
}

.footer-col-title {
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--text-dark) !important;
  margin-bottom: 0.25rem !important;
}

.footer-link {
  color: var(--text-muted) !important;
  cursor: pointer !important;
  transition: color 0.2s ease !important;
  display: block !important;
}

.footer-link:hover {
  color: var(--accent-red) !important;
}

.footer-info-text {
  color: var(--text-muted) !important;
  line-height: 1.5 !important;
}

.footer-bottom {
  border-top: 1px solid var(--border-light) !important;
  padding-top: 2rem !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 1rem !important;
  text-align: center !important;
}

.footer-copyright {
  color: var(--text-muted) !important;
}

@media (min-width: 640px) {
  .footer-columns-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (min-width: 1024px) {
  .header-inner {
    padding: 1.25rem 2.5rem !important;
  }

  .nav-desktop-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 2rem !important;
  }

  .mobile-menu-btn {
    display: none !important;
  }

  .hero-section {
    padding: 6rem 2.5rem 7rem 2.5rem !important;
  }

  .intro-section {
    padding: 5.5rem 2.5rem !important;
    display: grid !important;
    grid-template-columns: 1fr 2fr !important;
    gap: 4rem !important;
  }

  .intro-heading {
  }

  .services-section {
    padding: 5.5rem 2.5rem !important;
  }

  .services-layout {
    display: grid !important;
    grid-template-columns: 1fr 2fr !important;
    gap: 4rem !important;
  }

  .gallery-section {
    padding: 5.5rem 2.5rem !important;
  }

  .gallery-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }

  .gallery-card-tall {
    grid-row: span 2 !important;
    min-height: 520px !important;
  }

  .cta-banner {
    padding: 7rem 2.5rem !important;
  }

  .cta-heading {
  }

  .contact-section {
    padding: 6rem 2.5rem !important;
  }

  .contact-grid {
    grid-template-columns: 1fr 1.3fr !important;
    gap: 4rem !important;
    align-items: start !important;
  }

  .form-two-col {
    grid-template-columns: 1fr 1fr !important;
  }

  .footer-bar {
    padding: 5rem 2.5rem 2.5rem 2.5rem !important;
  }

  .footer-brand-strip {
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
  }

  .footer-columns-grid {
    grid-template-columns: 2fr 1fr 1fr 1.5fr !important;
    gap: 3rem !important;
  }

  .footer-bottom {
    flex-direction: row !important;
    justify-content: space-between !important;
  }
}

/* Default State */
.animate {
  opacity: 0 !important;
  transform: translateY(40px) !important;
  transition:
    opacity 2s ease,
    transform 2s cubic-bezier(0.22, 1, 0.36, 1) !important;
  will-change: opacity, transform !important;
}

/* Animated State */
.animate.show {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Fade Up */
.fade-up {
  opacity: 0 !important;
  transform: translateY(40px) !important;
  transition: all 3s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.fade-up.show {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Fade Left */
.fade-left {
  opacity: 0 !important;
  transform: translateX(60px) !important;
  transition: all 3s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.fade-left.show {
  opacity: 1 !important;
  transform: translateX(0) !important;
}

/* Fade Right */
.fade-right {
  opacity: 0 !important;
  transform: translateX(-60px) !important;
  transition: all 3s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.fade-right.show {
  opacity: 1 !important;
  transform: translateX(0) !important;
}

/* Zoom */
.zoom-in {
  opacity: 0 !important;
  transform: scale(0.92) !important;
  transition: all 3s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.zoom-in.show {
  opacity: 1 !important;
  transform: scale(1) !important;
}

/* ---------- Marquee strip ---------- */
  .marquee-strip{
    overflow:hidden !important;
	color:#121110 !important;
    border-top:1px solid #121110 !important;
    border-bottom:1px solid #121110 !important;
  }
  .marquee-track{
    display:flex !important;
    white-space:nowrap !important;
    animation:marquee 34s linear infinite !important;
    width:max-content !important;
  }
  .marquee-track span{
    font-style:italic !important;
    font-size:18px !important;
    padding:14px 34px !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:34px !important;
  }
  .marquee-track span::after{
    content:'✦' !important;
    font-style:normal !important;
    font-size:18px !important;
    opacity:.6 !important;
  }
  @keyframes marquee{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
  }
  .white-img {
	filter: brightness(0) invert(1) !important;
   }