@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Montserrat:wght@300;400;500;600;700&display=swap");
:root {
  --navy: #001e50;
  --ink: #415065;
  --muted: #7b8795;
  --pale: rgba(214, 224, 240, 0.2);
  --line: #d6dde4;
  --rose: #b77b8c;
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Montserrat", Arial, sans-serif;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  color: var(--ink);
  background: #fff;
  font-family: var(--sans);
  font-size: 14px;
  line-height: 1.6;
}
a {
  color: inherit;
  text-decoration: none;
}
button,
input,
select {
  font: inherit;
}
.directory-shell {
  overflow: hidden;
}
.directory-header {
  height: 67px;
  padding: 0 clamp(24px, 8.7vw, 120px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #f8fafb;
  border-bottom: 1px solid #cbd4dc;
  position: relative;
  z-index: 10;
}
.wordmark {
  display: flex;
  flex-direction: column;
  line-height: 0.86;
}
.wordmark span {
  font-family: var(--serif);
  font-size: 26px;
  letter-spacing: -0.05em;
  color: var(--navy);
}
.wordmark small {
  font-size: 8px;
  letter-spacing: 0.27em;
  color: #a82c45;
  margin: 5px 0 0 12px;
}
.directory-header nav {
  display: flex;
  gap: 25px;
  align-items: center;
  font-size: 10px;
  text-transform: uppercase;
  color: #4e5865;
}
.directory-header nav a {
  padding: 25px 0 22px;
  border-bottom: 2px solid transparent;
}
.directory-header nav a:hover {
  color: var(--navy);
  border-color: var(--rose);
}
.nav-check,
.menu-toggle {
  display: none;
}
.directory-hero {
  min-height: 80vh;
  background: url("images/hero.png") center/cover;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-align: center;
}
.directory-hero__overlay {
  position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.60);
}
.directory-hero__content {
  position: relative;
  z-index: 1;
  max-width: 960px;
  padding: 50px 24px;
}
.crumbs {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0 0 22px;
}
.crumbs span {
  margin: 0 5px;
}
.directory-hero h1 {
  font-size: clamp(42px, 5vw, 70px);
  font-weight: 300;
  line-height: 1.02;
  letter-spacing: 0.02em;
  margin: 0 0 18px;
  text-transform: uppercase;
  font-family: "Graphie-Thin";
  color: white;
}
.directory-hero h1 strong {
  font-weight: 700;
}
.directory-hero__content > p:not(.crumbs) {
  margin: 0 auto 25px;
  font-size: 12px;
  line-height: 1.5;
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 24px;
  border: 1px solid transparent;
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 0.02em;
}
.button-primary {
  background: var(--navy);
  color: #fff;
}
.button-primary:hover {
  background: #0b3b84;
}
.button-light {
  border: 1px solid #fff;
  color: #fff;
  background: transparent;
}
.button-light:hover {
  background: #fff;
  color: var(--navy);
}
.directory-intro {
  background: var(--pale);
  min-height: 240px;
  padding: 100px 8vw;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(40px, 9vw, 140px);
}
.directory-intro > div:first-child {
  max-width: 900px;
}
.eyebrow {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #30496e;
  margin: 0 0 12px;
}
.eyebrow span {
  color: var(--navy);
}

.directory-intro h2 span,
.section-heading h2 span {
  font-weight: 600;
  color: #d6e0f0;
}
.directory-intro p:not(.eyebrow) {
  font-size: 12px;
  line-height: 1.55;
  margin: 0;
}
.intro-stat {
  text-align: center;
  border-left: 1px solid #b7c5d1;
  padding-left: clamp(35px, 5vw, 75px);
}
.intro-stat strong {
  display: block;
  font: 500 55px/1 var(--serif);
  color: var(--navy);
}
.intro-stat span {
  display: block;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.explore {
  padding: 100px 8vw 100px;
}
.section-heading {
  text-align: center;
  max-width: 960px;
  margin: 0 auto;
}
.section-heading > div > p:last-child {
  font-size: 12px;
  margin: 0;
}
.uae-search {
  position: relative;
  max-width: 760px;
  height: 48px;
  margin: 32px auto 42px;
  border: 1px solid #cbd5df;
  border-radius: 24px;
  display: flex;
  align-items: center;
  padding: 0 14px;
  background: #fff;
}
.uae-search > span {
  font-size: 9px;
  border: 1px solid #d8dde2;
  border-radius: 12px;
  padding: 4px 10px;
  margin-right: 10px;
}
.uae-search input {
  border: 0;
  outline: 0;
  flex: 1;
  font: 12px var(--sans);
  min-width: 0;
}
.uae-search strong {
  font-size: 4rem;
  color: var(--navy);
}
.suggestions {
  position: absolute;
  left: 0;
  right: 0;
  top: 53px;
  background: #fff;
  z-index: 9;
  border: 1px solid #d5dce3;
  box-shadow: 0 8px 18px #122b4b18;
}
.suggestions a {
  display: block;
  padding: 10px 14px;
  font-size: 11px;
  border-bottom: 1px solid #eee;
}
.suggestions a:hover {
  background: var(--pale);
}
.path-grid,
.project-grid {
  max-width: 1080px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.path-card,
.project-card {
  background: #fff;
  box-shadow: 0 5px 16px #122b4b12;
}
.path-card {
  display: flex;
  flex-direction: column;
  min-height: 190px;
}
.path-card:hover,
.project-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px #122b4b20;
}
.path-type {
  color: #a82c45;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.path-card h3,
.project-card h3 {
  font-size: 18px;
  color: var(--navy);
  margin: 12px 0 7px;
}
.path-card p {
  font-size: 11px;
  line-height: 1.5;
  margin: 0 0 15px;
}
.path-card > span:last-child {
  margin-top: auto;
  color: var(--navy);
  font-size: 10px;
  text-transform: uppercase;
}
.project-card {
  overflow: hidden;
}
.project-card img {
  width: 100%;
  aspect-ratio: 1.65;
  object-fit: cover;
  display: block;
}

.project-card h3 {
  margin: 0 0 13px;
}
.project-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  border-top: 1px solid var(--line);
  padding-top: 11px;
}
.project-meta span {
  display: flex;
  flex-direction: column;
}
.project-meta small {
color: #001e50;
    font-size: 13px;
    text-transform: uppercase;
}
.project-meta strong {
  font-size: 15px;
  color: var(--navy);
  font-weight: 600;
}
.project-card .button {
  margin-top: 15px;
  min-height: 32px;
  font-size: 13px;
  padding: 8px 28px;
}
.button-outline {
  border-color: var(--navy);
  color: var(--navy);
}
.button-outline:hover {
  background: var(--navy);
  color: #fff;
}
.directory-note {
  background: var(--navy);
  color: #fff;
  text-align: center;
  padding: 70px 20px;
}
.directory-note .eyebrow {
  color: #fff;
}
.directory-note h2 {
  font: 300 clamp(31px, 3.5vw, 50px) / 1.05 var(--sans);
  margin: 0 0 16px;
}
.directory-note h2 strong {
  font-weight: 700;
}
.directory-note > p:not(.eyebrow) {
  color: #cbd6e4;
  font-size: 12px;
  margin: 0 auto 24px;
}
.contact {
  background: var(--pale);
  padding: 55px 8vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
.contact .eyebrow {
  font-size: 24px;
  line-height: 1.05;
  margin-bottom: 13px;
}
.contact > div > p:last-child {
  font-size: 11px;
  max-width: 460px;
  margin: 0;
}
.contact .button {
  flex: none;
}
footer {
  padding: 28px 8vw;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  color: #526071;
  font-size: 10px;
}
@media (max-width: 800px) {
  .directory-header {
    height: 57px;
    padding: 0 20px;
  }
  .menu-toggle {
    display: block;
    font-size: 23px;
    cursor: pointer;
  }
  .directory-header nav {
    display: none;
  }
  .nav-check:checked ~ nav {
    display: flex;
    position: absolute;
    top: 57px;
    left: 0;
    right: 0;
    background: #f8fafb;
    padding: 8px 20px 15px;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    box-shadow: 0 8px 18px #0002;
  }
  .directory-header nav a {
    padding: 10px 0;
    border-bottom: 1px solid var(--line);
  }
  .directory-intro {
    padding: 45px 25px;
    gap: 35px;
  }
  .path-grid,
  .project-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .contact {
    padding: 45px 25px;
    flex-direction: column;
    align-items: flex-start;
  }
  footer {
    padding: 24px 25px;
    flex-wrap: wrap;
  }
}
@media (max-width: 520px) {
  .directory-hero {
    min-height: 410px;
  }
  .directory-hero h1 {
    font-size: 34px;
  }
  .directory-hero__content > p:not(.crumbs) {
    font-size: 10px;
  }
  .directory-intro {
    display: block;
    text-align: center;
  }
  .intro-stat {
    border-left: 0;
    border-top: 1px solid #b7c5d1;
    margin-top: 28px;
    padding: 25px 0 0;
  }
  .explore {
    padding: 45px 17px 55px;
  }
  .path-grid,
  .project-grid {
    grid-template-columns: 1fr;
  }
  .directory-note {
    padding: 52px 22px;
  }
  .contact .eyebrow {
    font-size: 28px;
  }
  footer {
    font-size: 9px;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .path-card,
  .project-card {
    transition: transform 0.16s, box-shadow 0.16s;
  }
}
.path-card__image {
  width: 100%;
  height: 220px;
  overflow: hidden;
}

.path-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ==========================================
   OFFPLAN PAGINATION
========================================== */

.offplan-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 40px;
  margin-bottom: 30px;
}

.pagination-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 14px;
  border: 1px solid #d8d8d8;
  border-radius: 6px;
  background: #ffffff;
  color: #222222;
  text-decoration: none;
  font-size: 14px;
  transition: all 0.2s ease;
}

.pagination-btn:hover,
.pagination-btn.active {
  background: #142b49;
  border-color: #142b49;
  color: #ffffff;
}
.eyebrow.light{
    font-family: 'Graphie Book' !important;
    color: white !important;
    max-width: 600px;
    margin: 0 auto 25px;
    line-height: 21px !important;
    font-size: 21px !important;
    font-weight: 600 !important;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.directory-hero__content>p:not(.crumbs) {
    font-size: 16px;
    font-family: 'Graphie Book' !important;
    color: white !important;
    margin: 0 auto 25px;
    line-height: 21px !important;
}
.path-type {
    color: #ed6862 !important;
}

.mlr-4 {
    padding-right: 25px;
    padding-left: 25px;
    text-align: left;
}
.bold_button, .graphie_bold {
    font-family: 'Graphie Bold' !important;
}
.path-type {
    color: #a82c45;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.mtb-2 {
    margin-top: 1rem !important;
    margin-bottom: 2rem !important;
}
.bold_style {
    font-family: 'Graphie Book' !important;
    font-size: 18px !important;
}
.graphie_light {
    font-family: 'Graphie-Light' !important;
    font-size: 16px !important;
    line-height: 21px !important;
}
.brand_color {
    color: #001e50 !important;
}
.path-card>span:last-child {
    margin-top: auto;
    color: var(--navy);
    font-size: 12px;
    text-transform: uppercase;
    font-family: "Graphie Bold" !important;
}
.uae-search {
    position: relative;
    max-width: 760px;
    height: 60px;
    margin: 32px auto 42px;
    border: 1px solid #cbd5df;
    border-radius: 30px;
    display: flex;
    align-items: center;
    padding: 0 25px;
    background: #fff;
}
h2{
    text-transform: uppercase !important;
}
.path-type {
    color: #a82c45;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.bold_style {
    font-family: 'Graphie Book' !important;
    font-size: 18px !important;
}

.mtb-2 {
    margin-top: 1rem !important;
    margin-bottom: 2rem !important;
}
.mlr-4 {
    padding-right: 25px;
    padding-left: 25px;
    text-align: left;
}
.path-card h3, .project-card h3 {
    font-size: 18px;
    color: var(--navy);
    margin: 12px 0 7px;
}
input::placeholder{
    color: #001e50 !important;
    font-family: 'Graphie Book' !important;
    font-size:16px !important;
}

.button-primary{
    background-color: #001e50 !important;
    color: #fff;
    border: none;
    font-weight: 800;
    padding: 1.5rem 4rem !important;
    font-size: small !important;
    text-decoration: none !important;
    font-family: 'Graphie Bold' !important;
}
.bold-title-light {
    font-family: 'Graphie Bold' !important;
    font-size: inherit;
    font-weight: inherit;
    font-style: inherit;
    color: #d6e0f0;
}
.heroTitle {
    font-size: clamp(42px, 5vw, 70px);
    font-weight: 300;
    line-height: 1.02;
    letter-spacing: .02em;
    margin: 0 0 18px;
    text-transform: uppercase;
    font-family: 'Graphie-Thin';
}
.eyebrow {
    font-family: 'Graphie Book' !important;
    font-size: 21px !important;
    font-weight: 600 !important;
    color: #001e50 !important;
    text-align: center !important;
}
.directory-intro h2{
    font-family: 'Graphie Book' !important;
    font: 600 clamp(30px, 3.4vw, 48px) / 1.05 var(--sans);
    color: #001e50;
    margin: 0 0 16px;
    text-transform: uppercase !important;
    text-align: center !important;
}
.book_family{
    font-family: 'Graphie Book' !important;
    line-height: 21px !important;
    font-size: 1.6rem !important;
}

.mt-7{
    margin-top:5rem !important;
}
.mb-3m{
  margin-bottom:3rem !important;
}
.plr-25{
  margin-right: 25px !important;
  margin-left: 25px !important;
}
.pt-10 {
    padding-top: 10rem;
}
.explore_style{
  display: flex;
    align-content: flex-end;
    align-items: flex-end;
}
.s-main-menu {
    background-color: rgba(0, 0, 0, 0.35) !important;
    position: relative;
    z-index: 999999;
}
.project-meta strong{
  line-height: 21px !important;
}