/* ---------------- Base Colors ---------------- */
 :root {
     --primary-yellow: #d4af37;
     --dark-black: #000;
     --dark-grey: #222;
}
/* ---------------- Global Reset ---------------- */
 html {
     scroll-behavior: smooth;
}
 body {
     margin: 0;
     font-family: 'Open Sans', sans-serif;
     color: var(--dark-black);
     background-color: #fff;
     overflow-x: hidden;
    /* ✅ prevent horizontal overflow */
     scroll-behavior: smooth;
     box-sizing: border-box;
}
 *, *::before, *::after {
     box-sizing: inherit;
}
/* ---------------- Containers ---------------- */
 .container, .split-section, .why-choose, .properties {
     max-width: 1200px;
     margin: 0 auto;
     padding: 2rem;   
}
/* ---------------- Headings ---------------- */
 h1, h2, h3, h4, h5, h6, .section-heading, .section-title {
     font-family: 'DM Serif Display', serif;
     font-weight: 700;
     color: #000 !important;
     text-align: center;
     margin-bottom: 3rem;
}
 h1 {
     font-size: 3rem;
}
 h2, .section-title, .section-heading {
     font-size: 2.5rem;
}
 h3 {
     font-size: 1.75rem;
}
 h4 {
     font-size: 1.5rem;
}
/* Gold underline for headings */
 h1::after, h2::after, h3::after, h4::after, .section-title::after, .section-heading::after {
     content: "";
     display: block;
     width: 80px;
     height: 3px;
     background: var(--primary-yellow);
     margin: 0.5rem auto 0 auto;
     border-radius: 2px;
}
/* Subheadings */
 .subheading {
     font-family: 'DM Serif Display', serif;
     font-size: 1.6rem;
     font-weight: 700;
     color: #000;
     margin-bottom: 1rem;
     display: inline-block;
     position: relative;
}
 .subheading::after {
     content: "";
     display: block;
     width: 80px;
     height: 3px;
     margin-top: 0.4rem;
     background: var(--primary-yellow);
     border-radius: 2px;
}
/* ---------------- Paragraphs ---------------- */
 p, li {
     font-style: italic;
     font-family: 'Inter', sans-serif;
     color: #000;
     line-height: 1.7;
}
/* ---------------- Navbar ---------------- */
 .navbar {
     background: rgba(0, 0, 0, 0.55);
     padding: 1rem 2rem;
     position: fixed;
     top: 0;
     width: 100%;
     display: flex;
     justify-content: space-between;
     align-items: center;
     z-index: 1000;
     backdrop-filter: blur(4px);
     border-bottom: 1px solid rgba(212, 175, 55, 0.4);
}
/* Logo */
 .logo-stack {
     display: flex;
     flex-direction: column;
     align-items: center;
     text-align: center;
     line-height: 1.1;
}
 .logo-stack .hh, .logo-stack .hood-homes {
     font-weight: bold;
     background: linear-gradient(90deg, #d4af37, #ffd700, #d4af37);
     background-size: 200% auto;
     background-clip: text;
     -webkit-background-clip: text;
     color: transparent;
     -webkit-text-fill-color: transparent;
     animation: shimmer 3s linear infinite;
}
 .logo-stack .hh {
     font-size: 2.4rem;
}
 .logo-stack .hood-homes {
     font-size: 1.6rem;
}
 .logo-stack.corner-logo {
     display: flex;
     flex-direction: column;
     align-items: flex-start;
    /* match navbar alignment */
     gap: 0;
     font-family: 'DM Serif Display', serif;
}
 .logo-stack.corner-logo .hh {
     font-size: 2.5rem;
     font-weight: 700;
     color: var(--primary-yellow);
}
 .logo-stack.corner-logo .hood-homes {
     font-size: 1.2rem;
     letter-spacing: 1px;
     color: #000;
     text-transform: uppercase;
}
/* Nav Links */
 .nav-links {
     list-style: none;
     display: flex;
     justify-content: center;
     flex: 1;
     gap: 2rem;
     margin: 0;
     padding: 0;
     z-index: 1500;
}
 .nav-links a {
     text-decoration: none;
     color: var(--primary-yellow);
     text-transform: uppercase;
     font-weight: 800;
     font-size: 1.4rem;
     padding: 0.5rem 0.75rem;
     transition: all 0.3s ease;
     position: relative;
}
 .nav-links a::after {
     content: "";
     position: absolute;
     left: 0;
     bottom: -4px;
     width: 0%;
     height: 2px;
     background: var(--primary-yellow);
     transition: width 0.3s ease;
}
 .nav-links a:hover::after {
     width: 100%;
}
 .nav-links a:hover {
     color: var(--primary-yellow);
}
/* Hamburger Menu */
 .hamburger {
     display: none;
     flex-direction: column;
     justify-content: space-between;
     width: 28px;
     height: 22px;
     cursor: pointer;
     position: relative;
     z-index: 3000;
}
 .hamburger span {
     display: block;
     height: 3px;
     width: 100%;
     background: #ffd700;
     box-shadow: 0 0 6px rgba(255, 215, 0, 0.7);
     border-radius: 2px;
     transition: all 0.3s ease;
}
 .hamburger.active span:nth-child(1) {
     transform: rotate(45deg) translate(5px, 5px);
}
 .hamburger.active span:nth-child(2) {
     opacity: 0;
}
 .hamburger.active span:nth-child(3) {
     transform: rotate(-45deg) translate(5px, -5px);
}
/* Mobile Navbar */
 @media (max-width: 768px) {
     .hamburger {
         display: flex;
         position: absolute;
         top: 1.2rem;
         right: 1.5rem;
         background: rgba(0,0,0,0.4);
         padding: 6px;
         border-radius: 6px;
    }
     .nav-links {
         position: fixed;
         top: 0;
         right: -100%;
         height: 100vh;
         width: 250px;
         flex-direction: column;
         justify-content: center;
         align-items: center;
         background: rgba(0,0,0,0.9);
         transition: right 0.3s ease;
    }
     .nav-links.active {
         right: 0;
         background: rgba(0,0,0,0.95);
    }
}
/* ---------------- Hero Section ---------------- */
 .hero {
     position: relative;
     height: 90vh;
     display: flex;
     justify-content: center;
     align-items: center;
     overflow: hidden;
}
 .hero-slideshow {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}
 .hero-slideshow img {
     position: absolute;
     width: 100%;
     height: 100%;
     object-fit: cover;
     opacity: 0;
     animation: crossfade 108s infinite;
     transition: opacity 1.5s ease-in-out;
}
 .hero-content {
     position: relative;
     z-index: 2;
     max-width: 700px;
     margin: 0 auto;
     text-align: center;
     background: rgba(0,0,0,0.55);
     padding: 2rem 3rem;
     border-radius: 14px;
     box-shadow: 0 6px 25px rgba(0,0,0,0.4);
     backdrop-filter: blur(4px);
}
 .hero-overlay {
     position: absolute;
     inset: 0;
     background: rgba(0,0,0,0.35);
     z-index: 1;
}
 .hero-title .hh {
     font-size: 4rem;
     color: var(--primary-yellow);
     display: block;
}
 .hero-title .hood-homes {
     font-size: 2.2rem;
     color: #fff;
}
 .hero-subtitle {
     color: #fff;
     font-size: 1.3rem;
     font-style: italic;
}
/* Hero buttons */
 .hero-cta, .cta-button {
     background: var(--primary-yellow);
     color: #000;
     padding: 0.8rem 1.6rem;
     border-radius: 30px;
     font-weight: bold;
     text-decoration: none;
     display: inline-block;
     transition: all 0.3s ease;
}
 .hero-cta:hover, .cta-button:hover {
     color: #fff;
     background: #d4af37;
     box-shadow: 0 0 15px var(--primary-yellow);
}
/* ---------------- Animations ---------------- */
 @keyframes crossfade {
     0%,27% {
         opacity: 1;
    }
     33%,94% {
         opacity: 0;
    }
     100% {
         opacity: 1;
    }
}
 @keyframes shimmer {
     to {
         background-position: 200% center;
    }
}
 @keyframes goldFlash {
     from {
         text-shadow: 0 0 5px #d4af37;
    }
     to {
         text-shadow: 0 0 20px #ffd700, 0 0 30px #ffcc00;
    }
}
 @keyframes zoomFade {
     from {
         transform: scale(0.9);
         opacity: 0;
    }
     to {
         transform: scale(1);
         opacity: 1;
    }
}
 @keyframes fadeOut {
     0%,80% {
         opacity: 1;
    }
     100% {
         opacity: 0;
         display: none;
    }
}
/* ---------------- Split Section ---------------- */
 .split-section {
     display: flex;
     gap: 3rem;
     margin: 5rem auto;
     max-width: 1250px;
     padding: 0 1rem;
     align-items: stretch;
}
 .split-section:nth-child(even) {
     flex-direction: row-reverse;
}
 .split-text, .split-image {
     flex: 1;
     display: flex;
     justify-content: center;
     align-items: center;
     overflow: visible;
}
/* Image container */
.split-image {
    display: flex;
    justify-content: center;
    align-items: flex-start;  /* align image to top so head fits */
    overflow: hidden;          /* prevent image spilling */
}
/* Adjust split-image for better size and fit */
.split-image img {
    width: 100%;           /* Make image responsive */
    height: 100%;          /* Fill container height */
    max-height: none;      /* Remove previous max-height restriction */
    object-fit: contain;   /* Ensure full image fits in frame */
    border-radius: 12px;
    box-shadow: 0 0 15px rgba(0,0,0,0.25);
    transition: all 0.3s ease;
}

 .split-image img:hover {
     box-shadow: 0 0 15px var(--primary-yellow);
     transform: translateY(-3px);
}
/* Text box */
 .split-text-box {
     max-width: 550px;
     background: rgba(255,255,255,0.95);
     padding: 2rem;
     border-radius: 12px;
     box-shadow: 0 0 15px rgba(212,175,55,0.3);
     transition: all 0.3s ease;
}
 .split-text-box:hover {
     box-shadow: 0 0 30px var(--primary-yellow);
     transform: perspective(1000px) rotateX(4deg) rotateY(-4deg) scale(1.03);
}
 .split-text-box .section-heading {
     font-size: 2rem;
     margin-bottom: 0.5rem;
     color: var(--dark-grey);
}
/* Buttons in split section */
 .split-text .cta-button {
     background: var(--primary-yellow);
     color: #111;
     padding: 0.8rem 1.5rem;
     border-radius: 30px;
     font-weight: bold;
     text-decoration: none;
     transition: all 0.3s;
}
 .split-text .cta-button:hover {
     background: #d4af37;
     color: #fff;
}
/* Ensure full section height on desktop */
@media(min-width: 1024px) {
    .split-section {
        min-height: 800px;
    }
}

/* ---------------- Mobile Responsiveness ---------------- */
 @media (max-width: 768px) {
     .hero {
         height: 70vh;
         padding: 2rem 1rem;
    }
     .hero-title {
         font-size: 2.2rem;
    }
     .hero-subtitle {
         font-size: 1.1rem;
    }
     .split-section {
         flex-direction: column;
         text-align: center;
         gap: 2rem;
         margin: 3rem auto;
    }
     .split-text-box {
         width: 90%;
         max-width: 500px;
         margin: 0 auto;
         height: auto;
    }
     .split-image img {
         width: 100%;
         max-width: 600px;
         height: auto;
         margin: 0 auto;
         display: block;
    }
     .reason-row {
         flex-direction: column;
    }
     .reason-row .reason-item:not(:last-child)::after {
         display: none;
    }
}
/* ---------------- Utility ---------------- */
 ul {
     padding-left: 1.2rem;
}
/* ========================= Universal & Resets ========================= */
 *, *::before, *::after {
     box-sizing: border-box;
     margin: 0;
     padding: 0;
}
 html, body {
     overflow-x: hidden;
     width: 100%;
}
/* ===== HORIZONTAL CONTINUOUS GALLERY ===== */
/* ===== HORIZONTAL CONTINUOUS GALLERY ===== */

.horizontal-gallery {
  width: 100%;
  max-width: 1000px;
  margin: 3rem auto;
  overflow: hidden;
}

.gallery-track {
  display: flex;
  gap: 1rem;
  width: max-content;
  animation: scrollGallery 90s linear infinite;
}

/* Image size */
.gallery-track img {
  width: 220px;
  height: 220px;
  object-fit: cover;
  border-radius: 12px;
  flex-shrink: 0;
  box-shadow: 0 0 15px rgba(0,0,0,0.25);
  transition: transform 0.3s ease;
}

.gallery-track img:hover {
  transform: scale(1.05);
}

/* Animation */
@keyframes scrollGallery {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}


/* ========================= Reasons Grid ========================= */
 .reasons-grid {
     display: flex;
     flex-direction: column;
     gap: 3rem;
     align-items: center;
}
 .reason-row {
     display: flex;
     gap: 2rem;
     justify-content: center;
     position: relative;
}
/* Reason Item */
 .reason-item {
     position: relative;
     background-color: rgba(255, 255, 255, 0.95);
     padding: 1.5rem 1.8rem;
     border-radius: 12px;
     box-shadow: 0 0 30px var(--primary-yellow);
     text-align: center;
     width: 220px;
     transition: transform 0.3s ease, box-shadow 0.3s ease;
}
 .reason-item:hover {
     transform: perspective(1000px) rotateX(4deg) rotateY(-4deg) scale(1.03);
     box-shadow: 0 0 35px var(--primary-yellow);
}
 .reason-icon {
     width: 60px;
     height: 60px;
     margin: 0 auto 1rem;
     border-radius: 50%;
     background: var(--primary-color, #f4f4f4);
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 1.5rem;
}
 .reason-icon i {
     color: var(--primary-yellow);
     font-size: 1.8rem;
}
/* Horizontal arrows */
 .reason-row .reason-item:not(:last-child)::after {
     content: "➔";
     position: absolute;
     right: -1.8rem;
     top: 50%;
     transform: translateY(-50%);
     font-size: 1.5rem;
     color: var(--primary-yellow);
}
/* Vertical arrows */
 .reason-row::after {
     content: "↓";
     position: absolute;
     bottom: -2rem;
     left: 50%;
     transform: translateX(-50%);
     font-size: 2rem;
     color: var(--primary-yellow);
}
 .reason-row:last-child::after {
     display: none;
}
/* Responsive */
 @media (max-width: 768px) {
     .reason-row {
         flex-direction: column;
    }
     .reason-row .reason-item:not(:last-child)::after {
         display: none;
    }
}
/* ========================= Properties Grid ========================= */
 .properties {
     max-width:1200px;
     margin:60px auto;
     padding:0 20px;
}
 .property-grid {
     display:grid;
     grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
     gap:30px;
}
 .view-details {
     display:inline-block;
     margin-top:10px;
     color:#d4af37;
     font-weight:bold;
     text-decoration:none;
}
 .view-details:hover {
     text-decoration:underline;
}
/* ========================= About Page ========================= */
 .about-page {
     background:#fff;
     color:#000;
}
 .about-page .split-text-box {
     background: rgba(255,255,255,0.95);
     box-shadow: 0 0 30px var(--primary-yellow);
}
 .locations-map {
     padding:4rem 2rem;
     text-align:center;
     color:#000;
}
 .locations-map .map-info {
     font-family:'Inter',sans-serif;
     font-style:italic;
     font-size:1.2rem;
     line-height:1.8;
     margin-top:1rem;
}
 .locations-map .map-info a {
     color: var(--primary-yellow);
     text-decoration:none;
     transition: color 0.3s;
}
 .locations-map .map-info a:hover {
     color:#d4af37;
}
 .locations-map .map-wrapper {
     width:100%;
     max-width:800px;
     margin:2rem auto 0 auto;
     border-radius:12px;
     overflow:hidden;
     box-shadow:0 0 20px rgba(212,175,55,0.5);
}
/* ========================= Full Page Background ========================= */
 .bg-section {
     background:url("/static/images/Cambridge1.jpg") no-repeat center center/cover;
     background-attachment: fixed;
     padding:6rem 2rem;
     position:relative;
     color:#000;
}
 .bg-section::before {
     content:"";
     position:absolute;
     inset:0;
     background:rgba(255,255,255,0.6);
     z-index:0;
}
 .bg-section .split-section, .bg-section .why-choose {
     position:relative;
     z-index:1;
}
/* ========================= Blog & Posts ========================= */
 .blog-post-grid, .properties-grid {
     display:grid;
     grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
     gap:2rem;
}
 .post-detail-card {
     background:#fff;
     border-radius:12px;
     padding:1.5rem;
     box-shadow:0 6px 15px rgba(0,0,0,0.05);
     display:flex;
     flex-direction:column;
     align-items:center;
     text-align:center;
     transition: transform 0.3s ease, box-shadow 0.3s ease;
}
 .post-detail-card:hover {
     transform: perspective(1000px) rotateX(4deg) rotateY(-4deg) scale(1.03);
     box-shadow: 0 10px 25px rgba(0,0,0,0.1), 0 0 25px rgba(212,175,55,0.4);
}
 .post-detail-card img {
     width:100%;
     max-height:180px;
     object-fit:cover;
     border-radius:12px;
     margin-bottom:1rem;
     transition: transform 0.4s ease, box-shadow 0.3s ease;
}
 .post-detail-card img:hover {
     transform:scale(1.03);
     box-shadow:0 0 20px var(--primary-yellow);
}
 .post-detail-card h3 a {
     color:#000;
     font-family:'DM Serif Display',serif;
     font-weight:700;
     text-decoration:none;
     position:relative;
}
 .post-snippet {
     color:#000;
     font-style:italic;
     margin-top:0.8rem;
}
 .post-detail-card .btn-small {
     background: var(--primary-yellow);
     color:#000;
     padding:0.6rem 1.2rem;
     border-radius:30px;
     font-weight:bold;
     margin-top:1rem;
     text-decoration:none;
     display:inline-block;
     transition: all 0.3s ease;
}
 .post-detail-card .btn-small:hover {
     background:#d4af37;
     color:#fff;
     box-shadow:0 0 15px var(--primary-yellow);
     transform:translateY(-2px);
}
/* ========================= Fancy Boxes & Split Sections ========================= */
 .fancy-hover-box, .split-text-box, .reason-item, .service-box, .with-bg {
     transition: all 0.3s ease;
}
 .fancy-hover-box {
     background:#fff;
     border-radius:12px;
     padding:2rem;
     box-shadow:0 8px 20px rgba(0,0,0,0.05);
     position:relative;
     color:#000;
}
 .fancy-hover-box:hover, .split-text-box:hover, .split-image img:hover, .reason-item:hover {
     box-shadow:0 0 30px var(--primary-yellow);
     transform: perspective(1000px) rotateX(4deg) rotateY(-4deg) scale(1.03);
}
 .split-section {
     display:flex;
     justify-content:space-between;
     gap:3rem;
     max-width:1100px;
     margin:5rem auto;
     padding:0 1rem;
     align-items:stretch;
}
 .split-text {
     flex:1;
     display:flex;
     justify-content:center;
     align-items:center;
}
 .split-text-box {
     max-width:550px;
     padding:2rem;
     border-radius:12px;
     box-shadow:0 0 15px rgba(212,175,55,0.3);
}
 .split-image img {
     width:100%;
     max-width:500px;
     max-height:450px;
     object-fit:cover;
     border-radius:12px;
     box-shadow:0 0 15px rgba(0,0,0,0.25);
}
/* Zig-zag layout */
 .split-section:nth-child(even) {
     flex-direction: row-reverse;
}
/* ========================= Mobile Responsive Fixes ========================= */
 @media (max-width:768px) {
     .split-section {
         flex-direction:column !important;
         gap:2rem;
         text-align:center;
         margin:3rem auto;
    }
     .split-text-box {
         width:90%;
         max-width:500px;
         margin:0 auto;
    }
     .split-image img {
         width:100%;
         max-width:600px;
         height:auto;
         margin:0 auto;
         display:block;
    }
     .hero-title {
         font-size:3rem;
    }
     .hero-subtitle {
         font-size:1.2rem;
    }
     footer.premium-footer {
         min-height:auto;
         padding:2rem 1rem;
         overflow:visible;
         display:flex;
         flex-direction:column;
         justify-content:flex-start;
         align-items:center;
         width:100%;
    }
     .footer-glow-box {
         flex-direction:column;
         align-items:center;
         text-align:center;
         width:100%;
         max-width:100%;
         padding:1.5rem;
         gap:1.5rem;
         margin:0 auto;
         box-sizing:border-box;
    }
     .footer-info, .footer-form {
         width:100%;
         max-width:100%;
         margin:0 auto;
    }
     .contact-form input, .contact-form textarea, .contact-form button.cta-button {
         width:100%;
         max-width:100%;
         font-size:1rem;
         margin:0.5rem 0;
         box-sizing:border-box;
         display:block;
    }
     .footer-bottom-bar {
         flex-direction:column;
         align-items:center;
         gap:1rem;
         text-align:center;
         padding:1rem 0.5rem;
    }
     .footer-bottom {
         text-align:center;
    }
     .cta-button {
         width:100%;
         padding:0.8rem;
    }
     .reason-row {
         flex-direction:column;
    }
     .reason-row .reason-item:not(:last-child)::after {
         display:none;
    }
}
/* ========================= Masonry, Logos, Cookie Banner, Alerts, Footer Bottom ========================= */
 .masonry-grid {
     column-count:3;
     column-gap:1.5rem;
     margin-top:2rem;
}
 .masonry-item {
     break-inside:avoid;
     margin-bottom:1.5rem;
     border-radius:12px;
     overflow:hidden;
     box-shadow:0 4px 15px rgba(0,0,0,0.08);
}
 .masonry-item img {
     width:100%;
     display:block;
     border-radius:12px;
     transition: transform 0.4s ease;
}
 .masonry-item img:hover {
     transform:scale(1.03);
     box-shadow:0 0 25px var(--primary-yellow);
}
 @media (max-width:1024px) {
     .masonry-grid {
         column-count:2;
    }
}
 @media (max-width:600px) {
     .masonry-grid {
         column-count:1;
    }
}
/* Scrolling logos */
 .logos-scroll-wrapper {
     overflow:hidden;
     width:100%;
     display:flex;
     justify-content:center;
     margin:1rem 0;
}
 .partner-logos-scroll {
     display:flex;
     gap:3rem;
     list-style:none;
     padding:0;
     margin:0;
     animation:scroll-logos 20s linear infinite;
}
 .partner-logos-scroll li img {
     height:40px;
     object-fit:contain;
}
 @keyframes scroll-logos {
     0% {
        transform:translateX(0);
    }
     100% {
        transform:translateX(-50%);
    }
}
/* Cookie Banner */
 .cookie-banner {
     position:fixed;
     bottom:0;
     left:0;
     width:100%;
     background:rgba(0,0,0,0.85);
     color:#fff;
     text-align:center;
     padding:1rem 2rem;
     z-index:9999;
     display:flex;
     flex-wrap:wrap;
     justify-content:center;
     align-items:center;
     gap:1rem;
     border-top:4px solid var(--primary-yellow);
     transform:translateY(100%);
     transition:transform 0.5s ease;
}
 .cookie-banner.show {
     transform:translateY(0);
}
 .cookie-banner button {
     background:var(--primary-yellow);
     color:#000;
     border:none;
     padding:0.6rem 1rem;
     border-radius:30px;
     font-weight:bold;
     cursor:pointer;
     transition:all 0.3s ease;
     margin-top:0.5rem;
}
 .cookie-banner button:hover {
     background:#fff;
     color:#d4af37;
}
/* Alerts */
 .alert {
     position:fixed;
     top:80px;
     left:50%;
     transform:translateX(-50%);
     z-index:9999;
     background:#f0f9eb !important;
     color:#2e7d32 !important;
}
 .alert.error {
     background:#ffe6e6;
     border:1px solid #ff9999;
     color:#b30000;
}
 @keyframes fadeOut {
     0% {
        opacity:1;
    }
     80% {
        opacity:1;
    }
     100% {
        opacity:0;
         display:none;
    }
}
/* ========================= Footer General ========================= */
 footer.premium-footer {
     background: url("/static/images/Cambridge2.jpg") no-repeat center center;
     background-size: cover;
     color: #000;
     padding: 2rem 1rem;
     border-radius: 12px;
     position: relative;
     overflow: hidden;
     font-family: 'DM Serif Display', serif;
}
/* Footer Container + Glow Box */
 .footer-glow-box {
     max-width: 1100px;
     margin: 2rem auto;
     padding: 4rem 3rem;
     background-color: #fff;
    /* White background for readability */
     border: 2px solid var(--primary-yellow);
     border-radius: 14px;
     box-shadow: 0 0 40px rgba(212, 175, 55, 0.4);
    /* subtle glow */
     display: flex;
     flex-wrap: wrap;
     justify-content: space-between;
     align-items: flex-start;
     gap: 3rem;
     text-align: left;
     transition: all 0.4s ease;
}
 .footer-glow-box:hover {
     box-shadow: 0 0 50px rgba(212, 175, 55, 0.7);
}
 .footer-container {
     display: flex;
     flex-wrap: wrap;
     gap: 3rem;
     justify-content: space-between;
     width: 100%;
     color: #000;
    /* All text black by default */
}
/* Footer Info & Form */
 .footer-info, .footer-form {
     flex: 1 1 300px;
     line-height: 1.8;
}
/* Headings */
 .footer-info h3, .footer-info h4, .footer-form h4 {
     color: var(--primary-yellow);
     font-family: 'DM Serif Display', serif;
     margin-bottom: 1rem;
     cursor: pointer;
     transition: color 0.2s ease;
     text-decoration: none;
}
/* Paragraphs & Links */
 .footer-info p, .footer-info a, .footer-legal-links p {
     color: #000;
    /* black text */
     text-decoration: none;
     margin-bottom: 0.8rem;
}
/* Phone and Email gold */
 .footer-info p a[href^="tel"], .footer-info p a[href^="mailto"] {
     color: var(--primary-yellow);
}
 .footer-info a:hover, .footer-form a:hover {
     color: #ffd700;
}
/* Form Styling */
 .form-card {
     background: #fff;
    /* White form box */
     padding: 2rem;
     border-radius: 12px;
     box-shadow: 0 0 20px rgba(212, 175, 55, 0.4);
}
 .contact-form input, .contact-form textarea {
     width: 100%;
     padding: 0.8rem 1rem;
     margin-bottom: 1rem;
     border-radius: 8px;
     border: 1px solid #ccc;
     background: #fff;
     color: #000;
     font-size: 0.95rem;
}
 .contact-form input::placeholder, .contact-form textarea::placeholder {
     color: #555;
}
/* Consent Box */
 .consent-box {
     display: flex;
     align-items: center;
     gap: 0.5rem;
     margin-bottom: 1rem;
     color: #000;
}
 .consent-box input[type="checkbox"] {
     width: 18px;
     height: 18px;
}
/* Submit Button */
 .cta-button {
     background: #d4af37;
     color: #000;
     font-weight: bold;
     padding: 0.8rem 1.5rem;
     border-radius: 8px;
     border: none;
     cursor: pointer;
     transition: all 0.3s ease;
}
 .cta-button:hover {
     background: #ffd700;
}
/* Footer Bottom Bar */
 .footer-bottom-bar {
     width: 100%;
     padding: 1rem 0.5rem;
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 1rem;
     border-top: 1px solid rgba(0, 0, 0, 0.2);
     margin-top: 2rem;
     text-align: center;
}
 .footer-bottom-bar a {
     color: var(--primary-yellow);
     text-decoration: none;
     margin: 0 0.5rem;
}
 .footer-bottom-bar a:hover {
     color: #ffd700;
}
 .footer-bottom-bar p {
     margin: 0;
     font-size: 0.95rem;
}
/* Talk To Us Button */
 .talk-to-us-btn {
     position: fixed;
     bottom: 1.5rem;
     right: 6rem;
     background: linear-gradient(45deg,#ffcf01,#ffd700);
     color: #111;
     padding: 0.8rem 1.5rem;
     border: none;
     border-radius: 50px;
     font-weight: bold;
     font-size: 1rem;
     cursor: pointer;
     z-index: 2000;
     display: flex;
     align-items: center;
     gap: 0.5rem;
     box-shadow: 0 4px 12px rgba(255,223,0,0.5);
     transition: all 0.3s ease;
}
 .talk-to-us-btn:hover {
     transform: translateY(-2px);
     box-shadow: 0 6px 18px rgba(255,223,0,0.7);
}
/* Responsive Footer Adjustments */
 @media (max-width: 768px) {
     .footer-glow-box {
         flex-direction: column;
         padding: 2rem 1rem;
         gap: 2rem;
    }
     .talk-to-us-btn {
         right: 1.5rem;
         bottom: 1rem;
    }
}

