/* ============================================================
   style.css – Shri Prestige Infra
   ============================================================ */

/* ----- reset & base ----- */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'DM Sans', sans-serif;
  background: #f8f6f2;
  color: #1c2520;
  overflow-x: hidden;
  line-height: 1.6;
}

h1, h2, h3, h4, .heading-font {
  font-family: 'Cormorant Garamond', serif;
}
p{
 color: #5c7066;;
}
img {
  max-width: 100%;
  display: block;
}

a {
  text-decoration: none;
  color: inherit;
}

button {
  cursor: pointer;
  font-family: inherit;
  border: none;
  background: none;
}

.container {
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 1.5rem;
}

@media (min-width: 768px) {
  .container {
    padding: 0 3rem;
  }
}

.text-accent {
  color: #c5a367;
}
.bg-accent {
  background-color: #c5a367;
}
.border-accent {
  border-color: #c5a367;
}

.section {
    padding: 3rem 0;
    border-bottom: 1px dotted #0202021f;
}
.section-label {
  color: #c5a367;
  font-size: 0.75rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  font-weight: 500;
  margin-bottom: 0.5rem;
}
.section-label.center {
  text-align: center;
}
.section-title {
  font-size: 2rem;
  margin-bottom: 1.5rem;
}
.section-title.center {
  text-align: center;
}
@media (min-width: 768px) {
  .section-title {
    font-size: 2.8rem;
  }
}

/* ----- scroll progress ----- */
#scrollProgress {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  z-index: 2000;
  background: rgba(28, 37, 32, 0.08);
  pointer-events: none;
}
#scrollProgress .bar {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, #c5a367, #d4b87a);
  transition: width 0.1s linear;
  box-shadow: 0 0 10px rgba(197, 163, 103, 0.3);
}

/* ----- header ----- */
#siteHeader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: rgba(28, 37, 32, 0.95);
  backdrop-filter: blur(12px);
  padding: 0.75rem 1.5rem;
  transition: background 0.3s, box-shadow 0.3s;
}
#siteHeader .header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 80rem;
  margin: 0 auto;
}
#siteHeader .logo {
  height: 2rem;
}
#desktopNav {
  display: none;
  align-items: center;
  gap: 2rem;
}
#desktopNav button {
  background: transparent;
  border: 0;
  color: #e6e2d8;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color 0.2s;
  font-family: 'DM Sans', sans-serif;
}
#desktopNav button:hover {
  color: #c5a367;
}
#desktopNav .btn-enquire {
  background: #c5a367;
  color: #1c2520;
  padding: 0.5rem 1.25rem;
  border-radius: 0.375rem;
  font-weight: 600;
}
#desktopNav .btn-enquire:hover {
  background: #d4b87a;
  color: #1c2520;
}
.hamburger {
  background: transparent;
  border: 0;
  color: #e6e2d8;
  font-size: 1.5rem;
  cursor: pointer;
  display: block;
}
@media (min-width: 768px) {
  #desktopNav {
    display: flex;
  }
  .hamburger {
    display: none;
  }
}

/* ----- mobile menu ----- */
#mobileMenu {
  display: none;
  position: fixed;
  top: 4.5rem;
  left: 0;
  right: 0;
  z-index: 999;
  background: rgba(28, 37, 32, 0.98);
  padding: 1rem 1.5rem 1.5rem;
  border-top: 1px solid rgba(249, 247, 242, 0.08);
}
#mobileMenu.is-open {
  display: grid;
  gap: 0.25rem;
}
#mobileMenu button {
  width: 100%;
  padding: 0.75rem 0.5rem;
  text-align: left;
  background: transparent;
  border: 0;
  color: #e6e2d8;
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  font-family: 'DM Sans', sans-serif;
}
#mobileMenu button:hover {
  color: #c5a367;
}
#mobileMenu .mobile-enquire {
  margin-top: 0.5rem;
  background: #c5a367;
  color: #1c2520;
  text-align: center;
  padding: 0.75rem;
  font-weight: 600;
}

/* ----- hero ----- */
#hero {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
}
.hero-bg {
  position: absolute;
  inset: 0;
  background: url('https://media.base44.com/images/public/6a30ea198a863ca1ab5a2f15/5b820ea30_generated_ae5a1003.png') center/cover no-repeat;
}
.hero-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(28, 37, 32, 0.7), rgba(28, 37, 32, 0.4) 40%, rgba(28, 37, 32, 0.8));
}
.hero-content {
  position: relative;
  z-index: 10;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  padding: 6rem 1.5rem 2rem;
}
.hero-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 80rem;
  margin: 0 auto;
  width: 100%;
}
.hero-main .tag {
  color: #c5a367;
  font-size: 0.75rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  margin-bottom: 1rem;
  font-weight: 500;
}
.hero-main h1 {
  font-size: 2.5rem;
  color: #f9f7f2;
  line-height: 1.1;
  margin-bottom: 1.5rem;
}
.hero-main h1 span {
  color: #c5a367;
}
.hero-main p {
  color: rgba(249, 247, 242, 0.8);
  max-width: 36rem;
  margin-bottom: 2.5rem;
  font-size: 1rem;
}
.btn-primary {
  background: #c5a367;
  color: #1c2520;
  border: 0;
  padding: 0.75rem 2rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: 0.2s;
  font-size: 0.9rem;
}
.btn-primary:hover {
  background: #d4b87a;
}
.destinations-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin-top: 2rem;
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
.destinations-grid button {
  background: rgba(28, 37, 32, 0.4);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(249, 247, 242, 0.1);
  padding: 2rem 0.75rem;
  border-radius: 0.375rem;
  text-align: left;
  color: #f9f7f2;
  cursor: pointer;
  transition: 0.3s;
  font-family: 'DM Sans', sans-serif;
}
.destinations-grid button:hover {
  background: rgba(197, 163, 103, 0.15);
  border-color: #c5a367;
}
.destinations-grid h4 {
  font-size: 20px;
  font-weight: 600;
  font-family: 'Cormorant Garamond', serif;
}
.destinations-grid span {
    font-size: 20px;
}
.destinations-grid p {
  font-size: 15px;
  opacity: 0.6;
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .hero-main h1 {
    font-size: 4rem;
  }
  .destinations-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
  }
}
@media (min-width: 1024px) {
  .hero-main h1 {
    font-size: 4.5rem;
  }
}

/* ----- about ----- */
.about-grid {
  display: grid;
  gap: 3rem;
}
@media (min-width: 1024px) {
  .about-grid {
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
  }
}
.about-img {
  position: relative;
}
.about-img img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  border-radius: 0.375rem;
}
@media (min-width: 768px) {
  .about-img img {
    height: 450px;
  }
}
.about-img .badge {
  position: absolute;
  bottom: -1.5rem;
  right: -0.5rem;
  background: #1c2520;
  padding: 1rem 2rem;
  border-radius: 0.375rem;
}
.about-img .badge h4 {
  color: #c5a367;
  font-size: 2rem;
}
.about-img .badge p {
  color: #e6e2d8;
  font-size: 0.65rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.about-desc {
  font-size: 1rem;
  opacity: 0.8;
  margin-bottom: 2rem;
}
.feature-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
.feature-card {
  border: 1px solid #e2dbd1;
  padding: 1.5rem;
  border-radius: 0.375rem;
}
.feature-card svg {
  color: #c5a367;
  margin-bottom: 0.5rem;
}
.feature-card h4 {
  font-size: 1.1rem;
  margin-bottom: 0.25rem;
}
.feature-card p {
  font-size: 0.85rem;
  opacity: 0.7;
}

/* ----- dark bg sections ----- */
.dark-bg {
  background: #1c2520;
  color: #f9f7f2;
}
.dark-bg .section-title {
  color: #f9f7f2;
}

.cards-3 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media (min-width: 768px) {
  .cards-3 {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1024px) {
  .cards-3 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.card-premium {
  background: rgba(249, 247, 242, 0.03);
  border: 1px solid rgba(197, 163, 103, 0.15);
  padding: 2rem;
  border-radius: 0.375rem;
  transition: 0.3s;
}
.card-premium:hover {
  border-color: rgba(197, 163, 103, 0.3);
}
.card-premium svg {
  color: #c5a367;
  margin-bottom: 1rem;
}
.card-premium h3 {
  color: #f9f7f2;
  font-size: 1.1rem;
  margin-bottom: 0.5rem;
  font-family: 'Cormorant Garamond', serif;
}
.card-premium p {
  color: rgba(249, 247, 242, 0.6);
  font-size: 0.9rem;
}

/* ----- services ----- */
.services-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 768px) {
  .services-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1024px) {
  .services-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.service-card {
  border: 1px solid #e2dbd1;
  padding: 1.5rem;
  border-radius: 0.375rem;
  transition: 0.2s;
}
.service-card:hover {
  border-color: #c5a367;
}
.service-card .flex {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}
.service-card .num {
  font-size: 2.5rem;
  font-weight: 700;
  opacity: 0.15;
}
.service-card svg {
  flex-shrink: 0;
}
.service-card h3 {
  font-size: 1.1rem;
  margin: 0.5rem 0 0.25rem;
  font-family: 'Cormorant Garamond', serif;
}
.service-card p {
  font-size: 0.9rem;
  opacity: 0.8;
}

/* ----- destinations ----- */
.dest-block {
  display: grid;
  gap: 2rem;
  margin-top: 2rem;
}
@media (min-width: 1024px) {
  .dest-block {
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: start;
  }
}
.dest-block .img-wrap img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  border-radius: 0.375rem;
  transition: 0.5s;
}
.dest-block .img-wrap img:hover {
  transform: scale(1.02);
}
.dest-block h2 {
  font-size: 2rem;
  margin-bottom: 0.25rem;
  font-family: 'Cormorant Garamond', serif;
}
.dest-block .sub {
  color: #c5a367;
  font-style: italic;
  font-size: 1.1rem;
  margin-bottom: 1rem;
}
.dest-block ul {
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  margin: 1.5rem 0;
}
.dest-block ul li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
}
.dest-block ul li svg {
  color: #c5a367;
  flex-shrink: 0;
}
.dest-cta {
  background: transparent;
  border: 0;
  color: #c5a367;
  font-weight: 600;
  font-size: 0.8rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition: 0.2s;
  font-family: 'DM Sans', sans-serif;
}
.dest-cta:hover {
  color: #1c2520;
}
.dest-block.rtl .img-wrap {
  order: 1;
}
.dest-block.rtl .content {
  order: 2;
}
@media (min-width: 1024px) {
  .dest-block.rtl .img-wrap {
    order: 2;
  }
  .dest-block.rtl .content {
    order: 1;
  }
}

/* ----- benefits (dark) ----- */
.benefits-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
@media (min-width: 768px) {
  .benefits-grid {
    grid-template-columns: repeat(5, 1fr);
  }
}
.benefit-item {
  text-align: center;
  padding: 1rem;
}
.benefit-item .icon {
  background: rgba(197, 163, 103, 0.12);
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.75rem;
}
.benefit-item .icon svg {
  color: #c5a367;
  width: 1.5rem;
}
.benefit-item h4 {
  color: #f9f7f2;
  font-size: 1rem;
  margin-bottom: 0.25rem;
  font-family: 'Cormorant Garamond', serif;
}
.benefit-item p {
  color: rgba(249, 247, 242, 0.6);
  font-size: 0.8rem;
}

/* ----- process ----- */
.process-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media (min-width: 768px) {
  .process-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1024px) {
  .process-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.process-item {
  position: relative;
  padding-left: 1.5rem;
  border-left: 2px solid #e2dbd1;
}
.process-item .dot {
  position: absolute;
  left: -5px;
  top: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #c5a367;
}
.process-item .num {
  font-size: 2rem;
  font-weight: 700;
  opacity: 0.15;
  display: block;
}
.process-item h3 {
  font-size: 1.1rem;
  margin: 0.25rem 0 0.25rem;
  font-family: 'Cormorant Garamond', serif;
}
.process-item p {
  font-size: 0.9rem;
  opacity: 0.8;
}

/* ----- testimonials ----- */
.testimonial-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media (min-width: 768px) {
  .testimonial-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.testimonial-card {
  background: #f8f6f2;
  border: 1px solid #e2dbd1;
  padding: 2rem;
  border-radius: 0.375rem;
}
.testimonial-card svg {
  opacity: 0.2;
  margin-bottom: 1rem;
}
.testimonial-card p {
  font-style: italic;
  margin-bottom: 1.5rem;
  font-size: 1rem;
}
.testimonial-card .name {
  font-weight: 600;
}
.testimonial-card .role {
  font-size: 0.7rem;
  opacity: 0.6;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* ----- FAQ ----- */
.faq-list {
  margin-top: 2rem;
}
.faq-item {
  border-bottom: 1px solid #e2dbd1;
  padding: 1rem 0;
}
.faq-item button {
  background: transparent;
  border: 0;
  width: 100%;
  text-align: left;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1rem;
  font-weight: 600;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  padding: 0.5rem 0;
}
.faq-item button svg {
  transition: 0.2s;
  flex-shrink: 0;
}
.faq-item .answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.faq-item.open .answer {
  max-height: 200px;
  padding-top: 0.5rem;
}
.faq-item.open button svg {
  transform: rotate(180deg);
}

/* ----- contact ----- */
.contact-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
}
@media (min-width: 1024px) {
  .contact-grid {
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
  }
}
.contact-info .info-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.contact-info .icon {
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: rgba(197, 163, 103, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.contact-info .icon svg {
  color: #c5a367;
  width: 1.25rem;
}
.contact-info .label {
  font-size: 0.6rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  opacity: 0.6;
}
.contact-form label {
  display: block;
  font-size: 0.6rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 0.25rem;
  opacity: 0.7;
}
.contact-form input,
.contact-form select,
.contact-form textarea {
  width: 100%;
  background: transparent;
  border: 0;
  border-bottom: 2px solid #e2dbd1;
  padding: 0.75rem 0;
  font-family: 'DM Sans', sans-serif;
  outline: none;
  transition: border 0.2s;
  font-size: 0.95rem;
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  border-color: #c5a367;
}
.contact-form .row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 640px) {
  .contact-form .row {
    grid-template-columns: 1fr 1fr;
  }
}
.btn-submit {
  background: #c5a367;
  color: #1c2520;
  border: 0;
  padding: 0.75rem 2rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  border-radius: 0.375rem;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  transition: 0.2s;
  margin-top: 1rem;
  font-size: 0.9rem;
}
.btn-submit:hover {
  background: #d4b87a;
}

/* ----- CTA section ----- */
.cta-section {
  background: #1c2520;
  padding: 4rem 0;
  text-align: center;
}
.cta-section h2 {
  color: #f9f7f2;
  font-size: 2.5rem;
  margin-bottom: 1.5rem;
}
.cta-group {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}
.cta-group .btn {
  padding: 0.75rem 2rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: 0.2s;
  font-size: 0.8rem;
  text-transform: uppercase;
}
.cta-group .btn-primary {
  background: #c5a367;
  color: #1c2520;
}
.cta-group .btn-primary:hover {
  background: #d4b87a;
}
.cta-group .btn-outline {
  background: transparent;
  border: 1px solid rgba(197, 163, 103, 0.5);
  color: #c5a367;
}
.cta-group .btn-outline:hover {
  background: rgba(197, 163, 103, 0.1);
}

/* ----- footer ----- */
footer {
  background: #0f1713;
  color: rgba(249, 247, 242, 0.5);
  padding: 3rem 0 1.5rem;
  position: relative;
  overflow: hidden;
}
footer .bg-text {
  position: absolute;
  font-size: 6rem;
  font-weight: 700;
  opacity: 0.03;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  white-space: nowrap;
  font-family: 'Cormorant Garamond', serif;
}
footer .footer-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  position: relative;
  z-index: 2;
}
@media (min-width: 768px) {
  footer .footer-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
footer h4 {
  color: #c5a367;
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
footer a,
footer button {
  background: transparent;
  border: 0;
  color: rgba(249, 247, 242, 0.5);
  font-size: 0.85rem;
  display: block;
  margin-bottom: 0.5rem;
  cursor: pointer;
  transition: 0.2s;
  text-align: left;
  font-family: 'DM Sans', sans-serif;
}
footer a:hover,
footer button:hover {
  color: #f9f7f2;
}
footer .footer-bottom {
  border-top: 1px solid rgba(197, 163, 103, 0.1);
  padding-top: 1.5rem;
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  font-size: 0.8rem;
}
@media (min-width: 768px) {
  footer .footer-bottom {
    flex-direction: row;
    justify-content: space-between;
  }
}
footer .footer-bottom div {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
footer .to-top {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: rgba(197, 163, 103, 0.15);
  border: 0;
  color: #c5a367;
  cursor: pointer;
  transition: 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
}
footer .to-top:hover {
  background: rgba(197, 163, 103, 0.25);
}

/* ----- reveal animations ----- */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* responsive tweaks */
@media (max-width: 480px) {
  .hero-main h1 {
    font-size: 2rem;
  }
  .section-title {
    font-size: 1.8rem;
  }
  .feature-grid {
    grid-template-columns: 1fr;
  }
  .dest-block ul {
    grid-template-columns: 1fr;
  }
}

/* ===== FINAL REFERENCE MATCH PASS: TYPOGRAPHY + FOOTER ===== */
body{font-family:'DM Sans',sans-serif;letter-spacing:.01em;}
h1,h2,h3,h4,.heading-font{font-family:'Cormorant Garamond',serif;font-weight:600;letter-spacing:-.02em;}
.section-title{font-weight:600;line-height:1.04;letter-spacing:-.035em;}
.hero-main h1{font-weight:600;line-height:.95;letter-spacing:-.045em;}
p{font-size:1rem;line-height:1.7;}
.site-footer{background:#101814;color:#c8c7bf;padding:0 0 1.35rem;position:relative;overflow:hidden;}
.footer-wrap{position:relative;z-index:2;}
.footer-topline{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid rgba(197,163,103,.2);color:#bca06a;font-size:.62rem;font-weight:600;letter-spacing:.18em;}
.site-footer .footer-grid{grid-template-columns:1.35fr .75fr .75fr 1.1fr;gap:3rem;padding:3.7rem 0 3rem;}
.site-footer .footer-brand img{height:2.7rem;width:auto;margin-bottom:1.2rem;}
.site-footer .footer-brand p{max-width:21rem;color:rgba(249,247,242,.58);font-size:.92rem;line-height:1.75;}
.footer-badge{display:inline-block;margin-top:1.45rem;padding:.45rem .65rem;border:1px solid rgba(197,163,103,.35);color:#c5a367;font-size:.58rem;letter-spacing:.12em;}
.site-footer h4{font-family:'DM Sans',sans-serif;color:#c5a367;font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:1.25rem;}
.site-footer a,.site-footer button{font-family:'DM Sans',sans-serif;color:rgba(249,247,242,.62);font-size:.82rem;line-height:1.35;margin:0 0 .72rem;padding:0;letter-spacing:.01em;}
.site-footer a:hover,.site-footer button:hover{color:#d8b877;transform:translateX(2px);}
.footer-contact .footer-phone{display:block;font-family:'Cormorant Garamond',serif;color:#f2eee5;letter-spacing:-.02em;margin-bottom:.8rem;}
.footer-contact p{font-size:.82rem;color:rgba(249,247,242,.5);margin-top:.3rem;}
.footer-enquire{display:inline-flex!important;align-items:center;gap:.8rem;margin-top:1.25rem!important;padding:.75rem 1rem!important;border:1px solid rgba(197,163,103,.5)!important;color:#c5a367!important;font-size:.7rem!important;letter-spacing:.12em!important;text-transform:uppercase;}
.footer-enquire span{font-size:1rem;}
.site-footer .footer-bottom{border-top:1px solid rgba(249,247,242,.1);padding-top:1.25rem;margin-top:0;color:rgba(249,247,242,.4);font-size:.68rem;}
.site-footer .footer-bottom div{gap:1.25rem;}
.site-footer .footer-bottom button{font-size:.68rem;margin:0;}
.site-footer .to-top{margin-left:.3rem!important;width:2.25rem;height:2.25rem;background:#c5a367;color:#111a16;border-radius:0;font-size:1rem!important;}
.footer-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.11;pointer-events:none;}
.footer-orb-a{width:22rem;height:22rem;background:#c5a367;right:-10rem;top:-9rem;}
.footer-orb-b{width:15rem;height:15rem;background:#42665b;left:-8rem;bottom:-8rem;}
@media(max-width:1023px){.site-footer .footer-grid{grid-template-columns:1.3fr 1fr;gap:2.5rem;}.footer-topline{gap:1rem;}.footer-contact{grid-column:span 2;}}
@media(max-width:767px){.footer-topline{display:none;}.site-footer .footer-grid{grid-template-columns:1fr;gap:2.2rem;padding:3rem 0 2.5rem;}.footer-contact{grid-column:auto;}.site-footer .footer-bottom{align-items:flex-start;}.site-footer .footer-bottom div{flex-wrap:wrap;gap:.9rem;}.footer-contact .footer-phone{font-size:1.55rem;}}


/* ===== REFINED TYPOGRAPHY + MOTION MATCH PASS ===== */
body{font-family:'Manrope',sans-serif;font-size:16px;line-height:1.7;letter-spacing:0;color:#26342e;}
h1,h2,h3,h4,.heading-font{font-family:'Playfair Display',serif;font-weight:500;letter-spacing:-.035em;line-height:1.08;}
.section-label{font-family:'Manrope',sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.22em;}
.section-title{font-size:clamp(2.25rem,4vw,4.35rem);font-weight:500;line-height:1.06;margin-bottom:1.25rem;}
#desktopNav button,#mobileMenu button{font-family:'Manrope',sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.12em;}
#desktopNav .btn-enquire{font-weight:800;}
p{font-size:1rem;line-height:1.8;}
.hero-main h1{font-size:clamp(3.3rem,7vw,6.4rem);line-height:.98;font-weight:500;}
.hero-main p{font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.75;}
.reveal{opacity:0;transform:translate3d(0,42px,0);filter:blur(2px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1),filter .9s cubic-bezier(.16,1,.3,1);will-change:transform,opacity,filter;}
.reveal.visible{opacity:1;transform:translate3d(0,0,0);filter:blur(0);}
.reveal:nth-child(2){transition-delay:.08s}.reveal:nth-child(3){transition-delay:.16s}.reveal:nth-child(4){transition-delay:.24s}
#siteHeader{transition:background .55s cubic-bezier(.16,1,.3,1),box-shadow .55s cubic-bezier(.16,1,.3,1),padding .55s cubic-bezier(.16,1,.3,1);}
a,button{transition:color .35s cubic-bezier(.16,1,.3,1),background-color .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1),opacity .35s cubic-bezier(.16,1,.3,1);}
.site-footer,.site-footer a,.site-footer button{font-family:'Manrope',sans-serif;}
.site-footer h4,.footer-contact .footer-phone{font-family:'Playfair Display',serif;}
@media(min-width:768px){.section-title{font-size:clamp(2.8rem,4.2vw,4.6rem);}p{font-size:1.02rem;}}
@media(max-width:767px){body{font-size:15px}.hero-main h1{font-size:3rem}.section-title{font-size:2.35rem}.section{padding:4rem 0;}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}}


/* ===== FINAL CONSOLIDATED TYPOGRAPHY + MOTION CORRECTION ===== */
:root{--display-font:"Libre Baskerville",Georgia,serif;--body-font:"DM Sans",Arial,sans-serif;}
body{font-family:var(--body-font);font-size:16px;line-height:1.65;font-weight:400;letter-spacing:0;color:#26342e;}
h1,h2,h3,h4,.heading-font{font-family:var(--display-font);font-weight:400;letter-spacing:-.018em;line-height:1.12;}
p{font-family:var(--body-font);font-size:.98rem;line-height:1.72;font-weight:400;}
.section-label,#desktopNav button,#mobileMenu button,.site-footer,.site-footer a,.site-footer button{font-family:var(--body-font);}
.section-label{font-size:.68rem;font-weight:600;letter-spacing:.20em;}
.section-title{font-family:var(--display-font);font-size:clamp(2.1rem,3.5vw,3.65rem);font-weight:400;line-height:1.12;letter-spacing:-.022em;}
.hero-main h1{font-family:var(--display-font);font-size:clamp(3.1rem,6vw,5.5rem);font-weight:400;line-height:1.02;letter-spacing:-.028em;}
.hero-main p{font-size:1.02rem;line-height:1.72;}
#desktopNav button{font-size:.68rem;font-weight:600;letter-spacing:.10em;}
.site-footer h4,.footer-contact .footer-phone{font-family:var(--display-font);font-weight:400;}
/* Reference-style restrained motion: no blur, shorter travel, softer timing */
.reveal{opacity:0;transform:translateY(24px);filter:none;transition:opacity .7s ease,transform .7s cubic-bezier(.22,.61,.36,1);will-change:transform,opacity;}
.reveal.visible{opacity:1;transform:translateY(0);filter:none;}
.reveal:nth-child(2){transition-delay:.05s}.reveal:nth-child(3){transition-delay:.10s}.reveal:nth-child(4){transition-delay:.15s}.reveal:nth-child(5){transition-delay:.20s}.reveal:nth-child(6){transition-delay:.25s}
a,button{transition:color .25s ease,background-color .25s ease,border-color .25s ease,transform .25s ease,opacity .25s ease;}
@media(min-width:768px){p{font-size:1rem}.section-title{font-size:clamp(2.4rem,3.6vw,3.85rem)}}
@media(max-width:767px){body{font-size:15px}.hero-main h1{font-size:3rem}.section-title{font-size:2.15rem}.section{padding:3.5rem 0;}}
