/* =========================
   Base + Variables
   ========================= */
:root{
  --color-warm-ivory:#fefcf8;
  --color-light-taupe:#e8d5c0;
  --color-warm-gray:#6a6a6a;
  --color-espresso:#2a2a2a;
  --color-dark-chocolate:#3a3a3a;
  --font-sans:'Montserrat', sans-serif;
}

*,*::after,*::before{margin:0;padding:0;box-sizing:border-box;}
html,body{height:100%;}
body{
  font-family: var(--font-sans);
  background: #fefcf8;
  color:#2a2a2a;
  min-height:100vh;
  overflow-x:hidden;
}

/* =========================
   Header / Navigation
   ========================= */
:root { --header-h: 80px; } /* adjust to your actual header height */

#main-header{
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  background-color: var(--color-warm-ivory);
  border-bottom: 1px solid var(--color-light-taupe);
}

/* push page content below the fixed header */
body { padding-top: var(--header-h); }


/* Simple layout helpers (no Tailwind needed) */
.site-container{max-width:1200px;margin:0 auto;padding-left:1.5rem;padding-right:1.5rem;}
.flex{display:flex;}
.items-center{align-items:center;}
.justify-between{justify-content:space-between;}
.hidden{display:none;} /* used for mobile menu toggle */

/* Desktop vs Mobile header blocks */
.desktop-nav{display:none;}
.mobile-toggle{display:block;}
@media (min-width:768px){
  .desktop-nav{display:flex;gap:2rem;}
  .mobile-toggle{display:none;}
}

.logo-container{display:flex;align-items:center;}
.nav-logo{height:52px;width:auto;transition:transform .3s ease;}
.nav-logo:hover{transform:scale(1.05);}

.nav-link{
  font-family: var(--font-sans);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1.5px;
  position:relative;
  transition:color .3s ease;
  color:var(--color-warm-gray);
  text-decoration:none;
}
.nav-link::after{
  content:'';
  position:absolute;
  width:100%;
  transform:scaleX(0);
  height:1px;
  bottom:-4px; left:0;
  background-color:var(--color-espresso);
  transform-origin:bottom right;
  transition:transform .3s ease-out;
}
.nav-link:hover{color:var(--color-espresso);}
.nav-link:hover::after,.nav-link.active::after{transform:scaleX(1);transform-origin:bottom left;}
.nav-link.active{color:var(--color-dark-chocolate);}

/* Mobile dropdown menu */
#mobile-menu{background-color:var(--color-warm-ivory); padding:1rem 0;}
#mobile-menu a{
  display:block; text-align:center;
  padding:.5rem 1rem;
  font-size:.875rem;
  text-transform:uppercase; letter-spacing:.2em;
  text-decoration:none;
}

/* =========================
   Hero
   ========================= */
.hero-section{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 5rem;
  max-width:1400px;
  margin:0 auto;
  background:#fff;
}
.hero-content{flex:1;max-width:500px;padding-right:4rem;}
.hero-title{
  font-family:'Playfair Display', serif;
  font-weight:400;
  font-size:clamp(2.5rem,5vw,4.5rem);
  line-height:1.1;
  margin-bottom:1rem;
  letter-spacing:-0.02em;
  color:#2a2a2a;
}
.hero-subtitle{
  font-family:'Allura', cursive;
  font-size:clamp(2.2rem,4vw,3.5rem);
  font-weight:400;
  color:#d4a574;
  white-space:nowrap;
  margin-bottom:2rem;
  letter-spacing:.05em;
  text-shadow:0 1px 2px rgba(0,0,0,.1);
}
.hero-image{flex:1;display:flex;justify-content:center;align-items:center;}

/* Parallax Tilt Card (renamed from .container to avoid conflicts) */
.wrap{transform-style:preserve-3d; transform:perspective(100rem); cursor:pointer;}
.tilt-card{
  --rX:0; --rY:0; --bX:50%; --bY:80%;
  width:28rem; height:42rem;
  border:1px solid #f5f5f5; border-radius:1.6rem;
  padding:4rem; display:flex; align-items:flex-end; position:relative;
  transform:rotateX(calc(var(--rX)*1deg)) rotateY(calc(var(--rY)*1deg));
  background:url("https://i.ibb.co/yn757LJ3/Moncktoncouples-24-Sharpen-AI-Standard.jpg") no-repeat;
  background-position:var(--bX) var(--bY); background-size:cover; background-color:#eaeaea;
  box-shadow:0 2rem 4rem rgba(0,0,0,.15);
  transition:transform .6s ease;
  filter:grayscale(100%) contrast(1.2) brightness(.8);
}
.tilt-card::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(0,0,0,.25) 0%, rgba(0,0,0,.15) 50%, rgba(0,0,0,.35) 100%);
  border-radius:1.6rem; z-index:1; pointer-events:none;
}
.tilt-card::after{
  content:""; width:2rem; height:2rem; border:1px solid rgba(255,255,255,.8);
  position:absolute; z-index:3; opacity:.4; transition:all .3s ease;
  bottom:2rem; left:2rem; border-top-width:0; border-right-width:0;
}
.tilt-card--active{transition:none;}
.wrap:hover .tilt-card{box-shadow:0 3rem 6rem rgba(0,0,0,.25); filter:grayscale(100%) contrast(1.3) brightness(.9);}
.wrap:hover .tilt-card::after{width:calc(100% - 4rem); height:calc(100% - 4rem); opacity:.6;}
/* lets the page still scroll vertically while tilting */
.tilt-card { touch-action: pan-y; }

/* =========================
   About
   ========================= */
.about-section{padding:4rem 2rem; background-color:#fefcf8;}
.about-content{
  max-width:1200px; margin:0 auto;
  display:grid; grid-template-columns:1fr 2fr; gap:4rem; align-items:center;
}
.about-text{
  font-family:'Georgia', serif; line-height:1.6; color:#4a4a4a;
  z-index:2; position:relative; opacity:0; transform:translateX(50px);
  transition:all .8s ease-out;
}
.about-text.animate-in{opacity:1; transform:translateX(0);}
.about-text h2{font-size:2rem; font-weight:300; color:#3a3a3a; margin-bottom:1.5rem;}
.about-text h2 .highlight{font-style:italic; color:#c89f6d;}
.about-text p{font-size:1.1rem; color:#5a5a5a; margin-bottom:1.5rem; line-height:1.6;}
.about-image{position:relative; z-index:3; border-radius:8px; overflow:hidden; box-shadow:0 20px 40px rgba(0,0,0,.1); transform:translateX(-2rem); order:1;}
.about-text{order:2;}
.about-image img{width:100%; height:auto; object-fit:cover; object-position:center;}

/* =========================
   Celebrate
   ========================= */
.celebrate-section{padding:4rem 2rem; background-color:#fefcf8; max-width:1200px; margin:0 auto;}
.celebrate-text{font-family:'Georgia', serif; line-height:1.6; color:#4a4a4a;}
.celebrate-text h2{font-size:2rem; font-weight:300; color:#3a3a3a; margin-bottom:1.5rem;}
.celebrate-text h2 .highlight{font-style:italic; color:#c89f6d;}
.celebrate-text p{font-size:1.1rem; color:#5a5a5a; margin-bottom:1.5rem; line-height:1.6;}

/* =========================
   Portfolio + Gallery
   ========================= */
.portfolio-section{padding:4rem 2rem; background-color:#fefcf8;}
.portfolio-header{text-align:center; margin-bottom:3rem;}
.portfolio-header h2{font-size:2.5rem; font-weight:300; color:#3a3a3a; font-style:italic; margin-bottom:3rem;}
.portfolio-description{max-width:800px; margin:0 auto 1rem; font-size:1.1rem; color:#5a5a5a; line-height:1.6; font-style:italic;}
.portfolio-mission{max-width:600px; margin:0 auto; font-size:.95rem; color:#6a6a6a; line-height:1.6;}
.portfolio-mission .highlight{color:#c89f6d; font-style:italic;}

.gallery{
  display:grid; grid-template-columns:1fr; gap:5px; padding:5px; transition:.3s;
  max-width:1400px; margin:0 auto;
}
.gallery:hover .gallery__image{filter:grayscale(1);}
.gallery__link{overflow:hidden; height:400px; max-height:400px; text-decoration:none;}
.gallery__link:hover .gallery__image{filter:grayscale(0);}
.gallery__link:hover .gallery__caption{opacity:1;}
.gallery__thumb{position:relative; height:100%;}
.gallery__image{display:block; width:100%; height:100%; object-fit:cover; transition:.3s;}
.gallery__image:hover{transform:scale(1.1);}
.gallery__caption{
  position:absolute; bottom:50%; left:50%; transform:translate(-50%,50%);
  padding:15px; width:auto; font-family:'Allura', cursive; font-size:24px; color:#fff;
  opacity:0; background:rgba(0,0,0,.5); border-radius:8px; transition:.3s; text-align:center;
  backdrop-filter:blur(10px); white-space:nowrap;
}

/* =========================
   Partners
   ========================= */
.partners-banner{
  background:linear-gradient(135deg, #fefcf8 0%, #f8f2e8 100%);
  padding:60px 0; border-top:1px solid #e8d5c0; border-bottom:1px solid #e8d5c0;
}
.partners-container{max-width:1200px; margin:0 auto; padding:0 40px; text-align:center;}
.partners-title{
  font-family:'Playfair Display', serif; font-size:28px; font-weight:400; color:#c89f6d;
  margin-bottom:40px; letter-spacing:2px; text-transform:uppercase;
}
.partners-grid{display:flex; justify-content:center; align-items:center; gap:80px; flex-wrap:wrap;}
.partner-logo{height:60px; opacity:.6; filter:grayscale(100%) brightness(1.2) sepia(20%) hue-rotate(30deg); transition:all .3s ease;}
.partner-logo:hover{opacity:.8; filter:grayscale(80%) brightness(1.1) sepia(20%) hue-rotate(30deg);}

/* =========================
   FAQ
   ========================= */
.faq-section{padding:100px 0; background-color:#fefcf8;}
.faq-container{
  max-width:1400px; margin:0 auto; padding:0 40px;
  display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start;
}
.faq-image-section{position:sticky; top:100px;}
.faq-hero-image{
  width:100%; height:600px; object-fit:cover; border-radius:12px;
  box-shadow:0 20px 40px rgba(0,0,0,.3); opacity:1; transition:opacity .5s ease-in-out; position:relative;
}
.faq-hero-image.active{opacity:1;}
.faq-hero-image::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, #f5f5f5 0%, #e8e8e8 100%); z-index:-1;
}
.faq-content{padding-left:40px;}
.faq-header{margin-bottom:60px;}
.faq-title{
  font-family:'Inter', sans-serif; font-size:14px; font-weight:500; letter-spacing:3px;
  text-transform:uppercase; color:#c89f6d; margin-bottom:20px;
}
.current-question{
  font-family:'Playfair Display', serif; font-size:42px; font-weight:400; font-style:italic;
  color:#3a3a3a; line-height:1.2; margin-bottom:30px; transition:opacity .3s ease;
}
.navigation{display:flex; align-items:center; gap:30px; margin-bottom:40px;}
.nav-button{
  background:none; border:none; font-family:'Inter', sans-serif; font-size:12px; font-weight:500; letter-spacing:2px;
  text-transform:uppercase; color:#a99485; cursor:pointer; transition:color .3s ease; padding:0;
}
.nav-button:hover{color:#c89f6d;}
.nav-button.active{color:#3a3a3a;}
.nav-separator{width:1px; height:20px; background-color:#e8d5c0;}
.current-answer{
  font-family:'Inter', sans-serif; font-size:16px; line-height:1.8; color:#5a5a5a; margin-bottom:40px; transition:opacity .3s ease;
}
.faq-navigation{display:flex; gap:20px;}
.nav-arrow{
  width:50px; height:50px; border:1px solid #e8d5c0; background:#fff; border-radius:50%;
  display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all .3s ease; font-size:18px; color:#c89f6d;
}
.nav-arrow:hover{border-color:#c89f6d; background-color:#fefcf8; transform:translateY(-2px);}
.nav-arrow.disabled{opacity:.3; cursor:not-allowed;}
.nav-arrow.disabled:hover{transform:none; border-color:#e8d5c0; background-color:#fff;}

/* =========================
   Testimonials
   ========================= */
.testimonial-section{max-width:1400px; margin:0 auto; padding:80px 120px; position:relative; background-color:#fefcf8;}
.testimonial-container{position:relative; overflow:hidden;}
.testimonial-slide{display:none; opacity:0; transition:opacity .8s ease-in-out;}
.testimonial-slide.active{display:block; opacity:1;}
.testimonial-content{display:grid; grid-template-columns:1fr 450px; gap:0; align-items:start;}
.text-content{padding-right:0; padding-left:120px; max-width:550px;}
.image-content{padding-right:120px; padding-left:0;}
.quote{font-family:'Playfair Display', serif; font-size:42px; line-height:1.2; color:#3a3a3a; margin-bottom:32px; font-weight:400; letter-spacing:-.5px;}
.quote-highlight{font-style:italic; color:#c89f6d;}
.testimonial-text{font-size:15px; line-height:1.7; color:#5a5a5a; margin-bottom:32px; font-weight:300; letter-spacing:-.2px;}
.testimonial-text em{font-style:italic; color:#c89f6d;}
.client-info{font-size:12px; letter-spacing:2px; text-transform:uppercase; color:#a99485; font-weight:500;}
.testimonial-image-frame{
  width:100%; max-width:450px; height:600px; object-fit:cover; border-radius:2px; box-shadow:0 20px 60px rgba(0,0,0,.1);
}
.testimonial-nav-arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  width:50px; height:50px; border:1px solid #e8d5c0; background:rgba(255,255,255,.9);
  border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all .3s ease; z-index:10;
}
.testimonial-nav-arrow:hover{background:#fff; border-color:#c89f6d; transform:translateY(-50%) scale(1.1);}
.testimonial-nav-arrow.testimonial-prev{left:60px;}
.testimonial-nav-arrow.testimonial-next{right:60px;}
.testimonial-nav-arrow svg{width:20px; height:20px; stroke:#c89f6d; transition:stroke .3s ease;}
.testimonial-nav-arrow:hover svg{stroke:#a88761;}
.dots-container{display:flex; justify-content:center; gap:12px; margin-top:60px;}
.dot{width:8px; height:8px; border-radius:50%; background:#e8d5c0; cursor:pointer; transition:all .3s ease;}
.dot.active{background:#c89f6d; transform:scale(1.2);}

/* =========================
   Contact Form
   ========================= */
.inquiry-section{text-align:center; margin:4rem auto; padding:4rem 2rem; background-color:#fefcf8;}
.form-title{font-family:var(--font-sans); font-size:2rem; font-weight:300; color:#3a3a3a; margin-bottom:2rem; line-height:1.3;}
.contact-form{
  max-width:700px; margin:0 auto; padding:2rem; background:#fff; border:1px solid #e8d5c0;
  border-radius:12px; box-shadow:0 10px 30px rgba(0,0,0,.05); text-align:left;
}
.form-label{display:block; margin-bottom:1.5rem; font-size:.95rem; font-weight:400; color:#3a3a3a;}
.form-input{
  width:100%; padding:.9rem 1rem; margin-top:.5rem; border:1px solid #e8d5c0; border-radius:8px; background:#fefcf8;
  font-size:1rem; font-weight:300; color:#2a2a2a; transition:border-color .3s ease, box-shadow .3s ease;
}
.form-input:focus{border-color:#c89f6d; box-shadow:0 0 0 3px rgba(200,159,109,.15); outline:none;}

/* Accordion */
.accordion{border:1px solid #e8d5c0; border-radius:10px; overflow:hidden; margin-bottom:1.5rem; background:#fefcf8;}
.accordion-item{border-bottom:1px solid #e8d5c0;}
.accordion-item:last-child{border-bottom:0;}
.accordion-summary{
  list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between;
  font-weight:400; font-size:.95rem; padding:1rem 1.25rem; color:#3a3a3a;
  background:linear-gradient(to bottom, rgba(254,252,248,.98) 0%, rgba(254,252,248,.9) 100%);
  transition:background .3s ease, color .3s ease;
}
.accordion-summary::-webkit-details-marker{display:none;}
.accordion-item[open] .accordion-summary{color:#c89f6d;}
.accordion-icon{width:20px; height:20px; flex:0 0 20px; color:#a99485; transition:transform .25s ease, color .25s ease;}
.accordion-item[open] .accordion-icon{transform:rotate(180deg); color:#c89f6d;}
.accordion-panel{padding:0 1.25rem 1rem 1.25rem; background:#fff; border-top:1px solid rgba(232,213,192,.4);}

/* Checkbox grid */
.checkbox-grid{display:grid; grid-template-columns:1fr; gap:10px;}
.checkbox-grid label{display:flex; align-items:center; gap:10px; font-size:.98rem; font-weight:300; color:#2a2a2a; cursor:pointer;}
.checkbox-grid input[type="checkbox"]{width:18px; height:18px; border:1px solid #e8d5c0; border-radius:4px; accent-color:#c89f6d;}

/* Buttons */
.btn{padding:1rem 2rem; border:none; border-radius:8px; font-size:1rem; font-weight:400; cursor:pointer; transition:all .3s ease; text-transform:uppercase; letter-spacing:1px; display:block; margin:0 auto;}
.btn-dark{background-color:#3a3a3a; color:#fff;}
.btn-dark:hover{background-color:#c89f6d; transform:translateY(-2px); box-shadow:0 8px 20px rgba(200,159,109,.3);}

/* =========================
   Footer
   ========================= */
.footer{background:linear-gradient(135deg, #fefcf8 0%, #f8f2e8 100%); padding:0; margin:0;}
.footer-hero-section{padding:120px 40px; text-align:center; position:relative; overflow:hidden;}
.footer-hero-section::before{
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(circle at 20% 30%, rgba(200,159,109,.1) 0%, transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(212,165,116,.08) 0%, transparent 50%);
  pointer-events:none;
}
.tagline{font-family:'Playfair Display', serif; font-style:italic; font-size:2.2rem; color:#c89f6d; margin-bottom:8px; line-height:1.3; font-weight:400; position:relative; z-index:2;}
.brand-credit{font-size:.75rem; color:#a99485; letter-spacing:3px; text-transform:uppercase; font-weight:400; margin-bottom:60px; position:relative; z-index:2;}
.portfolio-strip{display:flex; justify-content:center; align-items:center; gap:12px; margin:60px 0; opacity:0; animation:fadeInUp 1.2s ease-out .3s forwards;}
.portfolio-image{width:160px; height:120px; border-radius:8px; object-fit:cover; transition:all .4s ease; filter:grayscale(20%) contrast(1.1); box-shadow:0 8px 30px rgba(0,0,0,.08);}
.portfolio-image:hover{transform:translateY(-8px) scale(1.02); box-shadow:0 20px 40px rgba(0,0,0,.15); filter:grayscale(0%) contrast(1.2);}
.main-footer{background:#fff; padding:80px 40px 40px; border-top:1px solid rgba(200,159,109,.2);}
.footer-content{max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr auto; gap:80px; align-items:center;}
.left-section{text-align:left;}
.photographer-intro{display:flex; align-items:flex-start; gap:30px; margin-bottom:40px;}
.photographer-image{width:120px; height:150px; border-radius:12px; object-fit:cover; box-shadow:0 12px 30px rgba(0,0,0,.1); flex-shrink:0;}
.intro-text{flex:1;}
.intro-quote{font-family:'Playfair Display', serif; font-style:italic; font-size:1.1rem; color:#6b5d52; line-height:1.6; margin-bottom:20px;}
.intro-quote .highlight{font-style:normal; font-weight:600; color:#c89f6d;}
.services-note{font-size:.9rem; color:#8b7a6b; line-height:1.5;}
.brand-section{text-align:center;}
.footer-logo{display:flex; justify-content:center; margin-bottom:8px;}
.footer-logo .nav-logo{height:60px; width:auto;}
.brand-script{font-family:'Playfair Display', serif; font-style:italic; font-size:4rem; color:#c89f6d; margin:-10px 0 15px; opacity:.7;}
.brand-subtitle{font-size:.85rem; color:#8b7a6b; letter-spacing:2px; text-transform:uppercase; font-weight:500; margin-bottom:25px;}
.brand-description{font-family:'Playfair Display', serif; font-style:italic; font-size:1rem; color:#8b7a6b; line-height:1.5; margin-bottom:25px;}
.service-areas{font-size:.7rem; color:#a99485; letter-spacing:2px; text-transform:uppercase; font-weight:400; margin-bottom:25px; white-space:nowrap;}
.contact-phone{font-family:'Playfair Display', serif; font-style:italic; font-size:1rem; color:#c89f6d; text-align:center; margin-top:30px; letter-spacing:1px;}

@keyframes fadeInUp{from{opacity:0; transform:translateY(30px);} to{opacity:1; transform:translateY(0);}}

/* =========================
   Floating Text Us Button
   ========================= */
.text-us-bt {
  background: var(--color-espresso);
  border: 2px solid var(--color-espresso);
  border-radius: 50%;
  box-shadow: 0 8px 20px rgba(42, 42, 42, 0.3);
  cursor: pointer;
  height: 68px;
  text-align: center;
  width: 68px;
  position: fixed;
  right: 8%;
  bottom: 18%;
  z-index: 999;
  transition: all 0.3s ease;
  animation: text-us-pulse 3s infinite;
}

.text-us-bt .text-call {
  height: 68px;
  width: 68px;
  border-radius: 50%;
  position: relative;
  overflow: hidden;
}

.text-us-bt .text-call span {
  text-align: center;
  color: var(--color-espresso);
  opacity: 0;
  font-size: 0;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  line-height: 14px;
  font-weight: 600;
  text-transform: uppercase;
  transition: opacity 0.3s linear, font-size 0.3s linear;
  font-family: var(--font-sans);
  width: 100%;
}

.text-us-bt .text-call:hover span {
  opacity: 1;
  font-size: 11px;
}

.text-us-bt:hover i {
  display: none;
}

.text-us-bt:hover {
  z-index: 1000;
  background: #fff;
  border-color: var(--color-light-taupe);
  transform: scale(1.05);
}

.text-us-bt i {
  color: #fff;
  font-size: 29px;
  transition: all 0.3s ease;
  line-height: 66px;
  animation: icon-pulse 3s infinite;
}

@keyframes text-us-pulse {
  0% {
    box-shadow: 0 8px 20px rgba(42, 42, 42, 0.3), 0 0 0 0 rgba(42, 42, 42, 0.2), 0 0 0 0 rgba(42, 42, 42, 0.2);
  }
  40% {
    box-shadow: 0 8px 20px rgba(42, 42, 42, 0.3), 0 0 0 15px rgba(42, 42, 42, 0.2), 0 0 0 0 rgba(42, 42, 42, 0.2);
  }
  80% {
    box-shadow: 0 8px 20px rgba(42, 42, 42, 0.3), 0 0 0 30px rgba(42, 42, 42, 0), 0 0 0 26.7px rgba(42, 42, 42, 0.067);
  }
  100% {
    box-shadow: 0 8px 20px rgba(42, 42, 42, 0.3), 0 0 0 30px rgba(42, 42, 42, 0), 0 0 0 40px rgba(42, 42, 42, 0);
  }
}

@keyframes icon-pulse {
  0% { opacity: 0; }
  40% { opacity: 1; }
  80% { opacity: 1; }
  100% { opacity: 0; }
}

/* =========================
   Responsive Tweaks
   ========================= */
@media (max-width:1024px){
  .hero-section{padding:0 2rem;}
  .text-content{padding-left:60px;}
  .image-content{padding-right:60px;}
}
@media (max-width:768px){
  .hero-section{flex-direction:column; padding:2rem 1.25rem; text-align:center;}
  .hero-content{padding-right:0; max-width:none;}
  .about-content{grid-template-columns:1fr; gap:2rem;}
  .faq-container{grid-template-columns:1fr; gap:40px;}
  .faq-content{padding-left:0;}
  .testimonial-section{padding:60px 20px;}
  .testimonial-content{grid-template-columns:1fr; gap:24px;}
  .text-content{padding-left:0; max-width:none;}
  .image-content{padding:0;}
  .testimonial-nav-arrow.testimonial-prev{left:20px;}
  .testimonial-nav-arrow.testimonial-next{right:20px;}
}
@media (max-width: 768px) {
  :root { --header-h: 64px; } /* tweak if your header is taller */
  #main-header { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; }
  body { padding-top: var(--header-h); }
}

