/* Fonts --------------------------------------------------- */
@font-face{
  font-family:"Apple Garamond";
  src:
    url("fonts/AppleGaramond.ttf") format("ttf"),
    url("fonts/applegaramond.woff") format("woff");
  font-weight:500; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Apple Garamond Light";
  src:
    url("fonts/AppleGaramond-Light.ttf") format("ttf"),
    url("fonts/applegaramond-Light.woff") format("woff");
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Lato";
  src:
    url("fonts/Lato-bold.ttf") format("ttf");
  font-weight:700; font-style:normal; font-display:swap;
}

/* Theme tokens ------------------------------------------- */
:root{
  --gold:#897643;
  --para:#4e4e4e;
  --black:#000000;
  --cream:#f4f1ea;
  --dark:#0b0b0b;
}
@media (min-width: 1200px) {
    .h2, h2 {
        font-size: 2.8rem !important;
    }
}
 .navbar {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: transparent;
    backdrop-filter: blur(5px);
    padding: 1rem 0;
    z-index: 999;
  }

  /* Button */
  .btn-gold {
    border: 1px solid #cbb67b;
    color: #cbb67b;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 0.5px;
    padding: 8px 18px;
    transition: all 0.3s ease;
  }
  .btn-gold:hover {
    background-color: #cbb67b;
    color: #000;
  }

  /* Toggle icon */
  .navbar-toggler {
    border: none;
    background: transparent;
    padding: 0;
    margin-left: 10px;
  }
  .navbar-toggler img {
    width: 28px;
    height: auto;
    transition: transform 0.3s ease;
  }
  .navbar-toggler:hover img {
    transform: scale(1.1);
  }

  /* Dropdown panel */
  .navbar-collapse {
    position: absolute;
    top: 100%;
    right: 0;
    background-color: rgba(0, 0, 0, 0.95);
    padding: 1.5rem 2rem;
    width: auto;
    min-width: 250px;
    border-radius: 0 0 0 8px;
    text-align: right;
  }

  /* Close button inside dropdown */
  .close-btn {
    background: none;
    border: none;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 600;
    position: absolute;
    top: 10px;
    right: 15px;
    cursor: pointer;
  }
  .close-btn:hover {
    color: #cbb67b;
  }

  /* Menu links */
  .navbar-nav .nav-link {
    color: #fff;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: color 0.3s ease;
	font-family:"Lato", Serif;
	font-size:12px;
  }
  .navbar-nav .nav-link:hover,
  .navbar-nav .nav-link.active {
    color: #cbb67b;
  }

  /* Align items right */
  .nav-right {
    margin-left: auto;
  }
@media (max-width:425px){
	.hero-title{
		font-size: 3.2rem !important;
        line-height: 3.5rem !important;
	}
	.mb-100{
		padding-bottom:100px !important;
	}
	.award-list{margin: 10px 0 0 20px !important;}
	.banner-title{
		font-size:2rem !important;
	}
	.laurel-text {
    font-size: 1rem !important;
	line-height: 1.5rem !important;
	}
	.laurel-text::before{
		left:0px !important;
		height:100px !important;
	}
	.laurel-text::after{
		right:0px !important;
		height: 100px !important;
	}
	.cta-title
 {
    font-size: 2.5rem !important;
    line-height: 2.8rem !important;
 }
	.para-big {
    font-size: 18px !important;
    line-height: 22px !important;
	}
	.promo-text{
		        max-width: 270px !important;
        padding: 30px 30px !important;
        font-size: 14px !important;
        line-height: 20px !important;
    }
	
	.promo-text::before{
		bottom:-40px !important;
	}
	.promo-text::after{
		bottom:-40px !important;
	}
	
	.promo-gold{padding-top:150px !important;}
		#contact .container{
	padding-bottom: 180px !important;
}
.fw-medium{font-size:14px !important;}
	.smallcaps{padding:10px 20px 0px !important;}
	
.lead-para, .para{padding:0px 20px !important;}
#our-history .divider{ margin:20px !important;}
	
}
@media (min-width:600px) and (max-width:768px){
	.doc-box{
		width:50% !important;
		margin: 0px auto !important;
		}
}
@media (min-width:425px) and (max-width:768px){
		

.laurel-text{
	font-size: 1.5rem !important;
    line-height: 2rem !important;
}

.hero-title{
		font-size: 3.2rem !important;
        line-height: 3.5rem !important;
	}
	.lead-para {
    max-width: 100% !important;
}
.carousel-item img{
	padding:10px !important;
}
.award-heading::before{
	top:20 !important;
}
.award-heading::after{
	top:20 !important;
}
	#contact .container{
	padding-bottom: 180px !important;
}
	    .para-big
 {
        font-size: 18px !important;
        line-height: 22px !important;
    }
}

@media (min-width:1024px){
	.contact-img{
		margin-top:0px !important;
	}
	

}

/* Full-width dark bar like before */
.site-topbar{
  position: relative;      /* NOT fixed */
  width: 100%;
  background: transparent;
  z-index: 3;
}
.hero{
margin-top:-80px;}
.hero .overlay {
  position: absolute;
  inset: 0;
  background: url("images/bg-black.png") center center / cover no-repeat;
     z-index: revert-layer;
}
/* Remove the old float; use flex (already in HTML above) */
.site-topbar .container > .d-flex{ float:none; }

/* If your theme added offset for fixed headers, remove it */
body, .hero-section{
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.mtb-100{
	margin-top:100px;
margin-bottom:100px
}
 .carousel-item img {
      width: 100%;
      height: 300px;
      object-fit: cover;
      border-radius: 10px;
	  padding:30px;
    }
/* Base ---------------------------------------------------- */
body{
  font-family:"Apple Garamond Light", serif;
  color:var(--black);
  background:#111;
  font-size:16px;
  line-height:26px;
}
.text-gold{
	color:var(--gold);
}
img{display:block; max-width:100%; height:auto}
.smallcaps{
  font-family: 'Lato', sans-serif;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    font-weight: 700;
    color: #fff;
	    line-height: 20px;
    font-size: 14px;
    padding: 0px;
}
.subtitle{
	font-family: 'Lato', sans-serif;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    font-weight: 700;
    color: #c8c3b8;
    font-size: 14px;
    padding: 0px 0px 10px;
}
.dark-smallcaps{
	color: #000000 !important;
	font-size:16px;
}
.muted{opacity:.8}

/* Header -------------------------------------------------- */
.bg-gradient-dark{
  background:linear-gradient(180deg, rgba(0,0,0,.86), rgba(0,0,0,.25) 70%, transparent);
  border-bottom:1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(6px) saturate(120%);
}
.logo-crest{height:36px}
.brand-text{line-height:1; color:#fff; font-size:.72rem; letter-spacing:.22em}
.btn-icon{
  border:1px solid rgba(255,255,255,.3);
  border-radius:.8rem; padding:.6rem .7rem;
}
.menu-bars,
.menu-bars::before,
.menu-bars::after{
  content:""; display:block; width:18px; height:2px; background:#fff; position:relative;
}
.menu-bars::before{top:-5px; position:relative}
.menu-bars::after{top:5px; position:relative}
/* Sections ------------------------------------------------ */
.section-cream{background:#fff; padding:50px 0 0px}
.section-history{background:#fff; padding:50px 0 }
#our-partnerships .para-big{padding-bottom:100px;}
.section-dark{background:#0e0e0e; color:#eae7e0; padding:50px 0}
.hero{min-height:72vh; padding-top:84px; position:relative; background:#000}
.hero-bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:grayscale(.3) brightness(.7)}
.hero-crest{height:150px; width:auto; text-align:center; margin:0px auto}
.hero-title{color:#fff; font-size:5.2rem;}
.divider{width:72px; height:2px; background: #897643; margin: 20px 0px;}

.gold-line{background:var(--gold)}
.lead-para,.para{color:var(--para)}
.lead-para{max-width: 550px;}
.focus-sub{color:#d8d5cf; padding: 20px 0px;}
.float-right{float:right;}
.margin-auto{ margin:0px auto;}
.display-4{line-height:1;}
.margin-100{margin-top:-100px;}
.award-strip{
	position:absolute;
	top:0;
	right:80px;
}

.award-strip img {
    width: auto;
    height: 370px;
}
/* Focus cards -------------------------------------------- */
.focus-card{
  padding:24px;
}
.focus-card .gold{color:var(--gold)}
.focus-card .para{color:#c8c3b8}

/* Legacy banner ------------------------------------------ */
.banner-legacy{position:relative; background:#000; padding:190px 0}
.banner-img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.banner-title{color: #fff;
    margin-top: 8px;
    font-size: 2.8rem;}
@media (max-width:529px){
	.banner-legacy{
	padding: 30px 0 !important;
	}
	.flagship{
		padding:30px 0px !important;
	}
}
/* History ------------------------------------------------- */
.doc-box figcaption{color: #897643;
    margin: 0px 20px;
    padding: 0px;}

/* Flagship ------------------------------------------------ */
.flagship{position:relative; display: flex;
    align-items: center;
    padding: 150px 0px;
    background: #000;}
.flagship-bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(.6)}
.flagship-title{color:#fff; margin-top:6px}

/* Mid award strip ---------------------------------------- */
.mid-award{background:#111; color:#eae7e0; padding:80px 0; border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08)}
.laurel-text{font-family:"Apple Garamond", serif; font-size:2rem; line-height: 2.5rem; position: relative; padding: 10px 50px; max-width: 550px;
    margin: 0px auto;}
.laurel-text::before {
  content: "";
  position: absolute;
  left:0px;
  top: 45px;
  transform: translateY(-50%);
  width: 80px;
  height: 180px;
  background: url("images/arrow-left.png") no-repeat center center;
  background-size: contain;
}

/* Right image */
.laurel-text::after {
  content: "";
  position: absolute;
  right: 0px;
  top: 45px;
  transform: translateY(-50%);
  width:80px;
  height: 180px;
  background: url("images/arrow-right.png") no-repeat center center;
  background-size: contain;
}
.para-big{
	font-size: 24px;
    line-height: 35px;
    max-width: 850px;
    margin: 0px auto;
	padding: 10px 20px;
}
#our-promise .para-big{ margin-left: 0px !important;
    margin-right: 0px !important;
    padding: 0px !important;
}
.para-awards{
	color: #fff;
    margin-bottom: 40px;
}
/* Stats --------------------------------------------------- */
.stats-row .stat-number{    font-size: 70px;
    font-weight: 500;
    color: var(--gold);}
.stats-row .stat-label{color: var(--gold);
    padding:30px 10px 40px;
	font-family: 'Lato', sans-serif;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    font-weight: 700;
	    line-height: 20px;
    font-size: 14px;}
.stats-row{padding-top: 30px;}
.color-white{
color:#fff;     padding-bottom: 40px;}
/* Partners strip ----------------------------------------- */
.partners-strip{background:var(--gold); color:#1d160a; padding:56px 0}
.partners-list{list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:42px; justify-content:center; align-items:center}
.partners-list img{height:auto; width:150px; filter:brightness(0) invert(1) grayscale(1); opacity:.95}
.dots span{display:inline-block; width:6px; height:6px; background:#fff; opacity:.45; border-radius:50%; margin:0 4px}

/* Awards lists ------------------------------------------- */
.award-col{padding:20px; position:relative;}
.award-heading{color: #fff;
    font-weight: 500;
    text-align: center;
    font-size: 24px;
    line-height: 28px;
    letter-spacing: 0.1px;
	max-width: 280px;
    margin: 0px auto;
    position: relative;}
.award-list{margin: 10px 0 0 50px;
    color: #d0cabd;
    font-size: 14px;}
.award-heading::before{ content: "";
  position: absolute;
  left:0px;
  top: 30px;
  transform: translateY(-50%);
  width:35px;
  height: 120px;
  background: url("images/arrow-left.png") no-repeat center center;
  background-size: contain;
}
.award-heading::after{ 
      content: "";
    position: absolute;
    right: 0px;
    top: 30px;
    transform: translateY(-50%);
    width: 35px;
    height: 120px;
    background: url(images/arrow-right.png) no-repeat center center;
    background-size: contain;
}
@media (min-width:426px)and (max-width:991px){
	.award-col{
		padding:0px !important;
	}
	.award-list{
		margin: 0px auto;
        max-width: 220px;
        padding: 20px;
	}
	
	.award-heading {
    font-size: 20px !important;
    line-height: 25px !important;
	}
	
}
.promo-text{
	color: #fff;
    font-size: 20px;
    line-height: 22px;
    padding: 40px 20px;
	max-width: 400px;
    position: relative;
}
.promo-text::before{
	content: "";
    position: absolute;
    left: -20px;
    bottom: -50px;
    transform: translateY(-50%);
    width: 50px;
    height: 120px;
    background: url(images/arrow-left-white.png) no-repeat center center;
    background-size: contain;
}
.promo-text::after{ 
      content: "";
    position: absolute;
    right: -20px;
    bottom: -50px;
    transform: translateY(-50%);
    width: 50px;
    height: 120px;
    background: url(images/arrow-right-white.png) no-repeat center center;
    background-size: contain;
}

.text-white-50{
	color:#fff !important;
	position:relative;
}
/* Partnerships ------------------------------------------- */
.partner-logo{height:34px; filter:grayscale(1); opacity:.9}

/* Promo gold --------------------------------------------- */
.promo-gold{background:var(--gold); color:#1e1609; 
 position: relative;
    padding-top: 450px; /* Push content below the handshake */
    padding-bottom: 80px;
    z-index: 1;}
.promo-top{opacity:.85}
.laurel-line{height:1px; width:120px; background:#1e1609}

/* CTA ----------------------------------------------------- */
.cta-title{color:var(--gold); margin-top:18px; margin-top: 18px;
    font-size: 3rem;
    line-height: 3rem;
    letter-spacing: 0px;}
.phone{color:#6c675d}
.phone-dot{display:inline-block; width:10px; height:10px; border-radius:50%; background:var(--gold)}
#mediaCarousel{margin-top:50px;}
.icon-circle {
  background-color: #9d8453;
  color: white;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
}
.section-dark img{
	margin:0px auto;
}
/* Buttons ------------------------------------------------- */
 .handshake-overlay {
    position: absolute;
    content: "";
    background: url('images/handshake.png') center center no-repeat;
   background-size: cover;
    width: 100%;
    height: 850px;
    top: 0;
    left: 0;
    transform: translateY(-50%);
    z-index: 2;
    pointer-events: none;
  }

  @media (max-width: 768px) {
    .handshake-overlay {
      height: 400px;
      background-size: cover;
    }
	.promo-gold{
		padding-top:230px !important;
	}
	
	.focus-card{padding:10px !important;}
	.banner-subtitle{font-size:8px; letter-spacing:1px;}
  }
 @media (min-width:1665px){
	 .handshake-overlay{
		 height:1100px !important;
	 }
	 .promo-gold{
		 padding-top:600px !important;
	 }
 } 
.btn-gold{
 position: relative;
    overflow: hidden;
    color: #897643;
    border: 1px solid var(--gold);
    font-weight: 500;
    font-size: 12px;
    font-family: 'lato', serif;
    letter-spacing: .1em;
    text-transform: uppercase;
    border-radius: 0px;
    padding: 10px 30px;
	}
.btn-gold::before{
  content:""; position:absolute; inset:0; background:rgba(255,255,255,.15);
  transform:translateX(-100%); transition:transform .35s ease;
}
.btn-gold:hover::before{ transform:translateX(0) }

.btn-ghost{
  position: relative;
    overflow: hidden;
    color: #fff;
	background-color:var(--gold);
    border: 1px solid var(--gold);
    font-weight: 500;
    font-size: 12px;
    font-family: 'lato', serif;
    letter-spacing: .1em;
    text-transform: uppercase;
    border-radius: 0px;
    padding: 10px 30px;
}
.btn-ghost::before{
   content:""; position:absolute; inset:0; background:rgba(255,255,255,.15);
  transform:translateX(-100%); transition:transform .35s ease;
}
.btn-ghost:hover{ color:#1f1708; border:1px solid var(--gold); color: var(--gold);}
.btn-ghost:hover::before{ transform:translateX(0) }
.btn-contact{
	position: relative;
    overflow: hidden;
    color: #fff;
	background-color:var(--gold);
    border: 1px solid var(--gold);
    font-weight: 500;
    font-size: 12px;
    font-family: 'lato', serif;
    letter-spacing: .1em;
    text-transform: uppercase;
    border-radius: 0px;
    padding: 10px 65px;
}
.btn-contact::before{
   content:""; position:absolute; inset:0; background:rgba(255,255,255,.15);
  transform:translateX(-100%); transition:transform .35s ease;
}
.btn-contact:hover{ color:#1f1708; border:1px solid var(--gold); color: var(--gold);}
.btn-contact:hover::before{ transform:translateX(0) }
.contact-img{ margin-top:-200px;}
/* Utilities ---------------------------------------------- */
.gold{color:var(--gold)}
.divider-line {
  position: absolute;
  top: 20%;
  right: 0;
  width: 1px;
  height: 60%;
  background-color: #897643; /* gold */
  opacity: 0.7;
}/* multi-item layout */
.project-image{
  height: 300px;
  object-fit: cover;
}

/*Villa Carousel with modal */
.carousel-item img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 0 !important;
  }

  /* Dots styling */
  .carousel-indicators [data-bs-target] {
    background-color: #b8a165;
  }

  /* Arrow color and style */
  .carousel-control-prev-icon,
  .carousel-control-next-icon {
    filter: invert(75%) sepia(55%) saturate(300%) hue-rotate(10deg);
  }

  /* Popup modal image */
  .modal-dialog {
    max-width: 90%;
  }

  .modal-content {
    background-color: black;
    border: none;
  }

  .modal-body img {
    width: 100%;
    border-radius: 0;
  }
   .carousel-indicators {
    bottom: -50px;
  }

  .carousel-indicators [data-bs-target] {
    width: 10px;
    height: 10px;
    background-color: #b8a165;
    border-radius: 50%;
    opacity: 0.7;
  }

  .carousel-indicators .active {
    opacity: 1;
    background-color: #d4b76b;
  }


/*Book carousel*/

 .media-strip {
   
  }
  .media-strip .swiper {
    padding: 0 40px; /* room for arrows inside */
  }
  .media-item img{
    display:block;
    width:100%;
    height:auto;          /* keep consistent height */
    object-fit:cover;      /* crop nicely */
    border-radius:0;       /* sharp edges */
  }

  /* Make arrows visible over dark bg */
  .swiper-button-next, .swiper-button-prev {
    color:#d4b76b;         /* gold-ish */
  }
  .swiper-pagination-bullet { background:#888; opacity:1; }
  .swiper-pagination-bullet-active { background:#d4b76b; }
  .swiper-button-prev,
.swiper-button-next {
  color: #c2a76e !important; /* gold color */
  transform: scale(0.6); /* smaller size */
  width: 30px !important;
  height: 30px !important;
}
#booksSwiper {
  padding-bottom: 30px; /* space for dots */
}
.books-pagination {
  bottom: 5px !important; /* visible inside area */
}
.books-pagination .swiper-pagination-bullet {
  background-color: #b59756 !important; /* Gold color */
  opacity: 0.5; /* Slightly transparent for inactive dots */
}

/* Highlight the active dot */
.books-pagination .swiper-pagination-bullet-active {
  background-color: #b59756 !important; /* Gold */
  opacity: 1; /* Fully visible */
}
.award-strip-mobile{
	position: absolute;
    top: 0px;
    right: 0px;
	max-width: 120px;
}
.award-strip-mobile .stat-label{
	padding: 15px 10px 40px !important;
}
.stats-row{ position:relative;}
@media(min-width:720px){
	.award-strip-mobile{display:none}
}
@media (max-width:721px){
	.stats-row .col-md-4{width: 80% !important;
    text-align: left !important;}
	.stats-row .stat-number{font-size:50px; padding-left: 10px;}
}