@font-face{font-family:Handicrafts;src:url("../fonts/handicrafts-regular.woff2") format("woff2"),url("../fonts/handicrafts-regular.otf") format("opentype");font-weight:400;font-display:swap}
@font-face{font-family:Handicrafts;src:url("../fonts/handicrafts-bold.woff2") format("woff2"),url("../fonts/handicrafts-bold.otf") format("opentype");font-weight:700;font-display:swap}
@font-face{font-family:Handicrafts;src:url("../fonts/handicrafts-black.woff2") format("woff2"),url("../fonts/handicrafts-black.otf") format("opentype");font-weight:900;font-display:swap}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

:root{
  --brown:#56543A;
  --brown-d:#403E2A;
  --gold:#6E6C49;
  --sand:#B4B291;
  --sand-d:#A2A07A;
  --olive:#2B2C1C;
  --sage:#87855F;
  --cream:#EADEC8;
  --paper:#F7F0E4;
  --paper-d:#EFE5D2;
  --text:#2B2C1C;
  --muted:#6F654F;
  --line:rgba(43,44,28,.13);
  --line-strong:rgba(43,44,28,.22);
  --shadow:0 28px 80px rgba(43,44,28,.14);
  --shadow-sm:0 8px 24px rgba(43,44,28,.08);
}

/* ===== Projects archive ===== */
.projects-archive{
  padding:110px 5vw;
  background:var(--paper);
}

.projects-archive-head{
  max-width:760px;
  margin:0 auto 34px;
  text-align:center;
}

.projects-archive-head .kicker{
  justify-content:center;
}

.projects-archive-head h1{
  color:var(--brown);
  font-size:clamp(34px, 5vw, 68px);
  line-height:1.12;
  margin:10px 0 12px;
}

.projects-archive-head p{
  color:var(--muted);
  font-size:18px;
}

.projects-filter-bar{
  max-width:1180px;
  margin:0 auto 18px;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
  padding:16px;
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:var(--shadow-sm);
}

.projects-filter-bar label{
  display:grid;
  gap:7px;
}

.projects-filter-bar span{
  color:var(--brown);
  font-size:13px;
  font-weight:800;
}

.projects-filter-bar select{
  width:100%;
  min-height:46px;
  border:1px solid rgba(135,133,95,.18);
  border-radius:16px;
  background:#F7F0E4;
  color:var(--text);
  padding:0 12px;
  outline:none;
}

.projects-results-meta{
  max-width:1180px;
  margin:0 auto 22px;
  color:var(--muted);
  font-weight:800;
}

.projects-archive-grid{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:22px;
}

.project-archive-card{
  display:grid;
  overflow:hidden;
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:28px;
  box-shadow:var(--shadow-sm);
}

.project-archive-image{
  position:relative;
  display:block;
  min-height:280px;
  color:inherit;
  text-decoration:none;
}

.project-archive-image img{
  width:100%;
  height:100%;
  min-height:280px;
  object-fit:cover;
  display:block;
}

.project-archive-image span{
  position:absolute;
  inset-block-start:18px;
  inset-inline-end:18px;
  padding:8px 14px;
  border-radius:999px;
  background:var(--brown);
  color:var(--sand);
  font-size:13px;
  font-weight:800;
}

.project-archive-body{
  display:grid;
  gap:14px;
  padding:26px;
}

.project-archive-body h2{
  color:var(--brown);
  font-size:28px;
}

.project-archive-body p{
  color:var(--muted);
}

.project-archive-meta{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}

.project-archive-meta div{
  padding:12px;
  border-radius:16px;
  background:#F7F0E4;
}

.project-archive-meta span{
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}

.project-archive-meta strong{
  display:block;
  color:var(--text);
  margin-top:3px;
}

@media(max-width:920px){
  .projects-filter-bar,
  .projects-archive-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .projects-archive{
    padding:70px 16px;
  }

  .projects-archive-head{
    text-align:right;
  }

  .projects-archive-head .kicker{
    justify-content:flex-start;
  }

  .projects-archive-head p{
    font-size:15px;
  }

  .project-archive-image,
  .project-archive-image img{
    min-height:220px;
  }

  .project-archive-body{
    padding:20px;
  }

  .project-archive-meta{
    grid-template-columns:1fr;
  }
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{
  font-family:Handicrafts,Tahoma,Arial,sans-serif;
  background:var(--paper);
  color:var(--text);
  line-height:1.85;
  overflow-x:hidden;
}
a{text-decoration:none;color:inherit;transition:color .25s ease}
img{max-width:100%;display:block}
em{font-style:normal;color:var(--gold)}

/* ===== Reveal animation ===== */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

/* ===== TOPBAR ===== */
.topbar{
  background:var(--olive);
  color:var(--cream);
  font-size:13px;
  font-weight:700;
}
.topbar-inner{
  max-width:1440px;
  margin:0 auto;
  padding:9px 5vw;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.topbar .hours{opacity:.78}
.topbar-contact{display:flex;align-items:center;gap:12px}
.topbar-contact a:hover{color:var(--sand)}
.dot{width:4px;height:4px;border-radius:50%;background:var(--sand);opacity:.55}

/* ===== HEADER ===== */
.header{
  height:84px;
  padding:0 5vw;
  background:rgba(247,240,228,.88);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  position:sticky;
  top:0;
  z-index:50;
  transition:height .3s ease,box-shadow .3s ease;
}
.header.scrolled{height:72px;box-shadow:var(--shadow-sm)}
.logo img{width:148px;transition:width .3s ease}
.header.scrolled .logo img{width:124px}
nav{display:flex;gap:26px;color:var(--muted);font-size:15px;font-weight:700}
nav a{position:relative;padding:6px 0}
nav a:after{
  content:"";
  position:absolute;
  inset-inline:0;
  bottom:0;
  height:2px;
  background:var(--brown);
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .3s ease;
}
nav a:hover{color:var(--brown)}
nav a:hover:after{transform:scaleX(1);transform-origin:left}

.header-cta{
  background:var(--brown);
  color:var(--cream);
  border-radius:999px;
  padding:13px 24px;
  font-weight:700;
  font-size:15px;
  transition:background .25s ease,transform .25s ease;
}
.header-cta:hover{background:var(--brown-d);transform:translateY(-1px)}

.burger{
  display:none;
  width:42px;
  height:42px;
  background:transparent;
  border:1px solid var(--line-strong);
  border-radius:12px;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  cursor:pointer;
}
.burger span{width:18px;height:2px;background:var(--brown);transition:transform .25s ease,opacity .25s ease}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ===== BUTTONS ===== */
.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:var(--brown);
  color:var(--cream);
  border:0;
  border-radius:999px;
  padding:15px 28px;
  font-family:inherit;
  font-weight:700;
  font-size:15px;
  cursor:pointer;
  transition:background .25s ease,transform .25s ease,box-shadow .25s ease;
}
.btn:hover{background:var(--brown-d);transform:translateY(-2px);box-shadow:0 12px 28px rgba(135,133,95,.25)}
.btn.primary{background:var(--brown)}
.btn.ghost{background:transparent;color:var(--brown);border:1px solid rgba(135,133,95,.30)}
.btn.ghost:hover{background:var(--brown);color:var(--cream)}
.btn.full{width:100%;justify-content:center}
.btn span{transition:transform .3s ease}
.btn:hover span{transform:translateX(-4px)}

/* ===== KICKER / EYEBROW ===== */
.eyebrow,.kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--gold);
  font-weight:700;
  font-size:14px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.eyebrow i{
  display:inline-block;
  width:30px;
  height:1px;
  background:var(--gold);
}
.kicker.light{color:var(--sand)}

/* ===== HERO ===== */
.hero{
  position:relative;
  padding:80px 5vw 100px;
  overflow:hidden;
  background:
    radial-gradient(ellipse at top left,rgba(201,170,124,.22),transparent 55%),
    var(--paper);
}
.hero:before{
  content:"";
  position:absolute;
  right:-180px;
  bottom:-180px;
  width:560px;
  aspect-ratio:1;
  background:url("../assets/pattern.svg") center/contain no-repeat;
  opacity:.07;
  pointer-events:none;
  animation:slowSpin 90s linear infinite;
}
.hero:after{
  content:"";
  position:absolute;
  left:-120px;
  top:40%;
  width:260px;
  aspect-ratio:1;
  background:url("../assets/pattern.svg") center/contain no-repeat;
  opacity:.05;
  pointer-events:none;
  animation:slowSpin 70s linear infinite reverse;
}
@keyframes slowSpin{to{transform:rotate(360deg)}}

.hero-grid{
  max-width:1440px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr .92fr;
  gap:60px;
  align-items:center;
  position:relative;
  z-index:1;
}

.hero-text{max-width:760px}
h1{
  color:var(--brown);
  font-size:clamp(44px,6.4vw,90px);
  line-height:1.04;
  letter-spacing:-.045em;
  font-weight:900;
  margin-top:18px;
}
.hero p{
  color:var(--muted);
  font-size:20px;
  margin-top:24px;
  max-width:680px;
}
.hero-actions{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}

.hero-meta{
  display:flex;
  gap:36px;
  margin-top:48px;
  padding-top:30px;
  border-top:1px solid var(--line);
  list-style:none;
  flex-wrap:wrap;
}
.hero-meta li{display:flex;flex-direction:column}
.hero-meta strong{font-size:34px;color:var(--brown);line-height:1;font-weight:900}
.hero-meta span{font-size:13px;color:var(--muted);margin-top:6px}

.hero-visual{position:relative;display:grid;gap:18px}
.hero-card{
  position:relative;
  border-radius:36px;
  overflow:hidden;
  background:var(--cream);
  box-shadow:var(--shadow);
}
.hero-card img{height:540px;width:100%;object-fit:cover;transition:transform 1.2s ease}
.hero-card:hover img{transform:scale(1.04)}
.hero-tag{
  position:absolute;
  top:22px;
  inset-inline-start:22px;
  background:var(--brown);
  color:var(--cream);
  padding:8px 16px;
  border-radius:999px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
}
.hero-note{
  position:absolute;
  inset-inline:24px;
  bottom:24px;
  background:rgba(247,240,228,.92);
  backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.5);
  border-radius:24px;
  padding:18px 22px;
}
.hero-note-eyebrow{display:block;color:var(--gold);font-size:13px;font-weight:700;margin-bottom:4px}
.hero-note strong{display:block;color:var(--brown);font-size:22px;line-height:1.3}

.hero-side{
  background:var(--olive);
  color:var(--cream);
  border-radius:24px;
  padding:22px 24px;
}
.side-eyebrow{display:block;color:var(--sand);font-size:13px;font-weight:700;margin-bottom:4px}
.hero-side h4{font-size:22px;color:var(--cream)}
.hero-side p{color:#d8cfbd;font-size:14px;margin-top:4px}

.scroll-cue{
  position:absolute;
  bottom:30px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  color:var(--muted);
  font-size:13px;
  font-weight:700;
  letter-spacing:.06em;
}
.scroll-cue i{
  display:block;
  width:1px;
  height:42px;
  background:linear-gradient(to bottom,var(--brown),transparent);
  animation:scrollLine 1.8s ease infinite;
}
@keyframes scrollLine{
  0%{transform:scaleY(0);transform-origin:top}
  50%{transform:scaleY(1);transform-origin:top}
  51%{transform:scaleY(1);transform-origin:bottom}
  100%{transform:scaleY(0);transform-origin:bottom}
}

/* ===== SIMPLE VISUAL HOME HERO ===== */
.home-visual-hero{
  padding:34px 5vw 48px;
  background:
    radial-gradient(ellipse at top left,rgba(201,170,124,.16),transparent 55%),
    var(--paper);
  overflow:hidden;
}

.home-hero-statement{
  max-width:1380px;
  margin:0 auto 24px;
  text-align:center;
}

.home-hero-statement h1{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  color:var(--brown);
  font-size:clamp(54px, 5.4vw, 72px);
  line-height:1.08;
  font-weight:900;
  letter-spacing:0;
}

.home-hero-statement h1::before,
.home-hero-statement h1::after{
  content:"";
  width:44px;
  height:8px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--sand),rgba(135,133,95,.72));
}

.home-visual-frame{
  max-width:1380px;
  margin:0 auto;
  border:1px solid rgba(135,133,95,.14);
  border-radius:30px;
  overflow:hidden;
  background:var(--cream);
  box-shadow:0 24px 70px rgba(43,44,28,.12);
}

.home-visual-frame picture,
.home-visual-frame img{
  display:block;
  width:100%;
}

.home-visual-frame img{
  height:clamp(520px, 52vw, 680px);
  object-fit:cover;
  object-position:center center;
}

.home-visual-actions{
  max-width:1380px;
  margin:22px auto 0;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
}

.home-visual-actions .btn{
  min-width:190px;
  justify-content:center;
}

.home-visual-actions .btn.ghost{
  background:rgba(247,240,228,.72);
}

@media(max-width:760px){
  .home-visual-hero{
    padding:16px 16px 30px;
  }

  .home-hero-statement{
    margin-bottom:14px;
  }

  .home-hero-statement h1{
    max-width:100%;
    gap:9px;
    font-size:clamp(34px, 9.2vw, 42px);
    line-height:1.18;
    white-space:normal;
  }

  .home-hero-statement h1::before,
  .home-hero-statement h1::after{
    width:24px;
    height:6px;
  }

  .home-visual-frame{
    border-radius:22px;
    box-shadow:0 16px 42px rgba(43,44,28,.12);
  }

  .home-visual-frame img{
    height:clamp(360px, 104vw, 460px);
    object-position:center center;
  }

  .home-visual-actions{
    margin-top:14px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }

  .home-visual-actions .btn{
    min-width:0;
    min-height:42px;
    padding:10px 12px;
    font-size:14px;
  }
}

@media(max-width:380px){
  .home-visual-actions{
    grid-template-columns:1fr;
  }
}

/* ===== ABOUT PAGE ===== */
.about-hero{
  position:relative;
  padding:92px 5vw 88px;
  overflow:hidden;
  background:
    radial-gradient(ellipse at top left,rgba(201,170,124,.22),transparent 54%),
    var(--paper);
  border-bottom:1px solid var(--line);
}

.about-hero::before{
  content:"";
  position:absolute;
  inset-inline-end:-170px;
  inset-block-end:-210px;
  width:520px;
  aspect-ratio:1;
  background:url("../assets/pattern.svg") center/contain no-repeat;
  opacity:.06;
  pointer-events:none;
}

.about-hero-inner{
  position:relative;
  z-index:1;
  max-width:900px;
  margin:0 auto;
  text-align:center;
}

.about-hero .kicker{
  justify-content:center;
}

.about-hero h1{
  color:var(--brown);
  font-size:clamp(48px, 7vw, 86px);
  line-height:1.08;
  margin:10px 0 16px;
}

.about-hero p{
  max-width:760px;
  margin:0 auto;
  color:var(--muted);
  font-size:20px;
  line-height:1.8;
}

.about-hero-actions{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:28px;
}

.about-hero-actions .btn{
  min-width:180px;
  justify-content:center;
}

/* ===== MANIFESTO ===== */
.manifesto{
  background:var(--brown);
  color:var(--cream);
  padding:26px 0;
  overflow:hidden;
  border-top:1px solid var(--brown-d);
  border-bottom:1px solid var(--brown-d);
}
.manifesto-track{
  display:flex;
  gap:60px;
  width:max-content;
  animation:slide 38s linear infinite;
  white-space:nowrap;
}
.manifesto-track span{
  font-size:clamp(28px,3.5vw,46px);
  font-weight:900;
  letter-spacing:-.02em;
  display:flex;
  align-items:center;
  gap:60px;
}
.manifesto-track span:before{
  content:"✦";
  color:var(--sand);
  font-size:24px;
}
@keyframes slide{to{transform:translateX(50%)}}

/* ===== PILLARS ===== */
.pillars{padding:120px 5vw;max-width:1440px;margin:0 auto}
.pillars-head{margin-bottom:60px;max-width:680px}
.pillars-head h2{
  color:var(--brown);
  font-size:clamp(34px,4.8vw,58px);
  line-height:1.12;
  letter-spacing:-.04em;
  margin-top:14px;
}
.pillars-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.pillars-grid article{
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:32px;
  padding:42px 32px;
  position:relative;
  transition:transform .4s ease,box-shadow .4s ease,background .4s ease;
}
.pillars-grid article:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow);
  background:var(--paper);
}
.pillars-grid .num{
  display:inline-block;
  font-size:54px;
  color:var(--sand);
  font-weight:900;
  line-height:1;
  margin-bottom:18px;
}
.pillars-grid h3{font-size:28px;color:var(--brown);margin-bottom:10px}
.pillars-grid p{color:var(--muted);font-size:16px}

/* ===== SHOWCASE ===== */
.showcase{
  background:var(--paper-d);
  padding:120px 5vw;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.showcase-head{max-width:680px;margin:0 auto 56px;text-align:center}
.showcase-head .kicker{justify-content:center}
.showcase-head h2{
  color:var(--brown);
  font-size:clamp(36px,5vw,64px);
  line-height:1.1;
  letter-spacing:-.04em;
  margin-top:14px;
}
.showcase-head p{color:var(--muted);font-size:18px;margin-top:10px}

.showcase-card{
  max-width:1280px;
  margin:0 auto;
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:40px;
  overflow:hidden;
  display:grid;
  grid-template-columns:.95fr 1fr;
  box-shadow:var(--shadow);
}
.showcase-img{position:relative;min-height:520px}
.showcase-img img{width:100%;height:100%;object-fit:cover}
.badge{
  position:absolute;
  top:24px;
  inset-inline-start:24px;
  background:var(--paper);
  color:var(--brown);
  padding:8px 18px;
  border-radius:999px;
  font-weight:700;
  font-size:13px;
}
.showcase-img-foot{
  position:absolute;
  bottom:24px;
  inset-inline:24px;
  display:flex;
  justify-content:space-between;
  color:var(--cream);
  font-weight:700;
  font-size:14px;
  text-shadow:0 2px 12px rgba(0,0,0,.4);
}

.showcase-info{padding:54px 48px;display:flex;flex-direction:column;justify-content:center}
.mini{color:var(--gold);font-weight:700;font-size:13px;letter-spacing:.04em}
.showcase-info h3{
  font-size:clamp(34px,4vw,48px);
  line-height:1.1;
  color:var(--brown);
  margin:10px 0 14px;
  letter-spacing:-.03em;
}
.showcase-info > p{color:var(--muted);font-size:17px}

.showcase-stats{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  margin:28px 0;
}
.showcase-stats div{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px 18px;
}
.showcase-stats span{display:block;color:var(--muted);font-size:13px}
.showcase-stats strong{display:block;color:var(--text);font-size:17px;margin-top:2px}

.features{list-style:none;margin-bottom:30px;display:grid;gap:10px}
.features li{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--text);
  font-size:15px;
  padding:8px 0;
  border-bottom:1px dashed var(--line);
}
.features li:before{
  content:"";
  width:8px;
  height:8px;
  background:var(--gold);
  border-radius:50%;
  flex-shrink:0;
}
.features li:last-child{border-bottom:0}

.showcase-actions{display:flex;gap:10px;flex-wrap:wrap}

.showcase-projects{
  max-width:1280px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(340px,430px));
  justify-content:center;
  gap:28px;
}

.showcase-head h2{
  width:max-content;
  max-width:100%;
  margin:14px auto 0;
  display:flex;
  direction:rtl;
  unicode-bidi:plaintext;
  flex-direction:row-reverse;
  align-items:center;
  justify-content:center;
  gap:16px;
  letter-spacing:0;
}

.showcase-head h2::after{
  content:"";
  width:58px;
  height:16px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--sand),rgba(135,133,95,.72));
}

.showcase-card{
  width:min(100%,430px);
  max-width:430px;
  margin:0;
  background:linear-gradient(180deg,#fff 0%,var(--cream) 100%);
  border:1px solid rgba(135,133,95,.14);
  border-radius:26px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  box-shadow:0 20px 48px rgba(135,133,95,.16);
  cursor:pointer;
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}

.showcase-card:hover{
  transform:translateY(-6px);
  border-color:rgba(135,133,95,.24);
  box-shadow:0 28px 70px rgba(135,133,95,.22);
}

.showcase-card:focus-visible{
  outline:3px solid rgba(135,133,95,.45);
  outline-offset:4px;
}

.showcase-img{
  position:relative;
  min-height:0;
  height:315px;
  aspect-ratio:auto;
  overflow:hidden;
  background:var(--paper-d);
}

.showcase-img img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s ease;
}

.showcase-card:hover .showcase-img img{transform:scale(1.035)}

.project-status-badge{
  position:absolute;
  top:18px;
  left:18px;
  z-index:2;
  min-width:76px;
  text-align:center;
  background:rgba(135,133,95,.92);
  color:#fff;
  padding:7px 16px;
  border-radius:999px;
  font-weight:800;
  font-size:13px;
  box-shadow:0 10px 24px rgba(0,0,0,.16);
}

.project-status-badge.is-reserved{background:rgba(184,151,94,.94)}
.project-status-badge.is-sold{background:rgba(135,133,95,.88)}

.project-card-mark{
  position:absolute;
  top:22px;
  right:18px;
  z-index:2;
  width:42px;
  height:10px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--brown),#56543A);
  box-shadow:0 8px 18px rgba(0,0,0,.12);
}

.showcase-img-foot{
  position:absolute;
  bottom:0;
  inset-inline:0;
  display:block;
  padding:22px 24px 24px;
  color:#fff;
  background:linear-gradient(180deg,rgba(26,39,43,.12),rgba(26,39,43,.92));
  text-shadow:none;
}

.showcase-img-foot span{
  display:block;
  margin-bottom:7px;
  color:rgba(255,255,255,.74);
  font-size:12px;
  font-weight:800;
}

.showcase-img-foot h3{
  color:#fff;
  font-size:22px;
  line-height:1.35;
  margin:0;
  letter-spacing:0;
}

.showcase-info{
  padding:18px 18px 20px;
  display:block;
}

.project-progress-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  color:var(--text);
  font-size:13px;
  margin-bottom:9px;
}

.project-progress-head span{color:var(--brown);font-weight:800}
.project-progress-head strong{color:#2B2C1C;font-size:13px}

.project-progress-bar{
  height:9px;
  border-radius:999px;
  overflow:hidden;
  background:#f0ece3;
  border:1px solid rgba(135,133,95,.14);
}

.project-progress-bar span{
  display:block;
  width:var(--project-progress,0%);
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--brown),var(--olive));
  min-width:4px;
}

.showcase-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  margin:16px 0 12px;
  border-top:1px solid rgba(135,133,95,.14);
}

.showcase-stats div{
  background:transparent;
  border:0;
  border-bottom:1px solid rgba(135,133,95,.12);
  border-radius:0;
  padding:10px 2px;
  min-width:0;
}

.showcase-stats div:nth-child(odd){border-inline-start:1px solid rgba(135,133,95,.10)}
.showcase-stats span{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}
.showcase-stats strong{display:block;color:#2B2C1C;font-size:14px;font-weight:900;line-height:1.35}

.project-card-desc{
  color:var(--muted);
  font-size:13px;
  line-height:1.65;
  margin:4px 0 12px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.project-card-features{
  list-style:none;
  display:flex;
  flex-wrap:nowrap;
  gap:8px;
  margin:0 0 14px;
  padding:0;
  overflow-x:auto;
  scrollbar-width:none;
}

.project-card-features::-webkit-scrollbar{
  display:none;
}

.project-card-features li{
  flex:0 0 auto;
  max-width:82%;
  border:1px solid rgba(135,133,95,.18);
  background:rgba(234,222,200,.45);
  color:var(--brown);
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.showcase-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:5px;
  margin-top:4px;
}

.showcase-actions .project-detail-btn{
  width:100%;
  min-height:46px;
  justify-content:space-between;
  border-radius:9px;
  padding:12px 18px;
  background:#A2A07A;
  color:#2B2C1C;
  box-shadow:none;
}

.showcase-actions .project-detail-btn:hover{
  background:var(--brown);
  color:var(--cream);
}

.project-units-link{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-height:26px;
  color:var(--brown);
  font-size:13px;
  font-weight:900;
  text-decoration:none;
  border-radius:999px;
}

.project-units-link:hover{background:rgba(135,133,95,.08)}

/* ===== PROJECTS GRID ===== */
.projects{padding:120px 5vw;max-width:1440px;margin:0 auto}
.projects-head{margin-bottom:50px;max-width:680px}
.projects-head h2{
  color:var(--brown);
  font-size:clamp(34px,4.8vw,58px);
  line-height:1.12;
  letter-spacing:-.04em;
  margin-top:14px;
}
.projects-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.proj-card{
  background:var(--cream);
  border-radius:28px;
  overflow:hidden;
  border:1px solid var(--line);
  display:flex;
  flex-direction:column;
  transition:transform .4s ease,box-shadow .4s ease;
}
.proj-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.proj-img{position:relative;height:260px;overflow:hidden}
.proj-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease}
.proj-card:hover .proj-img img{transform:scale(1.07)}
.proj-img .pill{
  position:absolute;
  top:16px;
  inset-inline-start:16px;
  background:var(--paper);
  color:var(--brown);
  border-radius:999px;
  padding:6px 14px;
  font-weight:700;
  font-size:12px;
}
.proj-body{padding:26px;display:flex;flex-direction:column;flex:1}
.proj-loc{color:var(--gold);font-size:13px;font-weight:700;letter-spacing:.03em}
.proj-body h3{font-size:26px;color:var(--brown);margin:6px 0 10px;line-height:1.2}
.proj-body p{color:var(--muted);font-size:15px;flex:1}
.proj-foot{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:20px;
  margin-top:20px;
  border-top:1px solid var(--line);
}
.proj-foot span{color:var(--muted);font-size:14px}
.proj-foot strong{color:var(--brown)}
.proj-foot a{color:var(--brown);font-weight:700;font-size:14px}

/* ===== SERVICES ===== */
.services{
  background:var(--olive);
  color:var(--cream);
  padding:120px 5vw;
  position:relative;
  overflow:hidden;
}
.services:before{
  content:"";
  position:absolute;
  right:-120px;
  top:-120px;
  width:340px;
  aspect-ratio:1;
  background:url("../assets/pattern.svg") center/contain no-repeat;
  opacity:.06;
  filter:invert(1);
}
.services-head{max-width:680px;margin:0 auto 60px;text-align:center;position:relative;z-index:1}
.services-head .kicker{justify-content:center}
.services-head h2{
  color:var(--cream);
  font-size:clamp(34px,4.8vw,58px);
  line-height:1.12;
  letter-spacing:-.04em;
  margin-top:14px;
}
.services-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  position:relative;
  z-index:1;
  max-width:1440px;
  margin:0 auto;
}
.services-grid article{
  background:rgba(234,222,200,.06);
  border:1px solid rgba(234,222,200,.14);
  border-radius:28px;
  padding:36px 28px;
  transition:background .35s ease,transform .35s ease;
}
.services-grid article:hover{background:rgba(234,222,200,.12);transform:translateY(-6px)}
.serv-num{
  display:inline-grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:50%;
  background:var(--sand);
  color:var(--olive);
  font-weight:900;
  font-size:18px;
  margin-bottom:18px;
}
.services-grid h3{font-size:23px;color:var(--cream);margin-bottom:8px}
.services-grid p{color:#d8cfbd;font-size:15px}

/* ===== PROCESS ===== */
.process{padding:120px 5vw;max-width:1440px;margin:0 auto}
.process-head{margin-bottom:60px;max-width:680px}
.process-head h2{
  color:var(--brown);
  font-size:clamp(34px,4.8vw,58px);
  line-height:1.12;
  letter-spacing:-.04em;
  margin-top:14px;
}
.process-steps{
  list-style:none;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  border-top:2px solid var(--brown);
}
.process-steps li{
  padding:30px 22px 32px;
  border-inline-start:1px solid var(--line);
  position:relative;
  transition:background .35s ease;
}
.process-steps li:first-child{border-inline-start:0}
.process-steps li:hover{background:var(--cream)}
.step-num{
  display:block;
  font-size:42px;
  font-weight:900;
  color:var(--sand);
  line-height:1;
  margin-bottom:18px;
}
.process-steps h3{font-size:22px;color:var(--brown);margin-bottom:8px}
.process-steps p{color:var(--muted);font-size:15px}

/* ===== STATS ===== */
.stats{
  background:var(--sage);
  color:var(--cream);
  padding:70px 5vw;
}
.stats-inner{
  max-width:1440px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  text-align:center;
}
.stats article strong{
  display:block;
  font-size:clamp(48px,5.5vw,72px);
  font-weight:900;
  line-height:1;
  letter-spacing:-.03em;
}
.stats article span{
  display:block;
  margin-top:10px;
  font-size:15px;
  opacity:.86;
}

/* ===== PARTNERS ===== */
.partners{padding:100px 0 110px;background:var(--cream);overflow:hidden}
.partners-head{max-width:680px;margin:0 auto 40px;text-align:center;padding:0 5vw}
.partners-head .kicker{justify-content:center}
.partners-head h2{
  color:var(--brown);
  font-size:clamp(32px,4.4vw,52px);
  line-height:1.12;
  letter-spacing:-.04em;
  margin-top:14px;
}
.marquee{
  overflow:hidden;
  mask-image:linear-gradient(to left,transparent,#000 10%,#000 90%,transparent);
  -webkit-mask-image:linear-gradient(to left,transparent,#000 10%,#000 90%,transparent);
}
.track{
  display:flex;
  gap:18px;
  width:max-content;
  animation:move 30s linear infinite;
}
.track img{
  width:180px;
  height:100px;
  padding:24px;
  object-fit:contain;
  border-radius:24px;
  background:var(--paper);
  border:1px solid var(--line);
  filter:sepia(.4) saturate(.9) hue-rotate(352deg);
  transition:filter .3s ease,transform .3s ease;
}
.track img:hover{filter:none;transform:scale(1.05)}
@keyframes move{to{transform:translateX(50%)}}

/* ===== TESTIMONIALS ===== */
.quotes{padding:120px 5vw;max-width:1440px;margin:0 auto}
.quotes-head{max-width:680px;margin:0 auto 56px;text-align:center}
.quotes-head .kicker{justify-content:center}
.quotes-head h2{
  color:var(--brown);
  font-size:clamp(34px,4.8vw,58px);
  line-height:1.12;
  letter-spacing:-.04em;
  margin-top:14px;
}
.quotes-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.quotes-grid figure{
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:28px;
  padding:36px 32px;
  position:relative;
  transition:transform .4s ease,box-shadow .4s ease;
}
.quotes-grid figure:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.quotes-grid figure:before{
  content:"❞";
  position:absolute;
  top:18px;
  inset-inline-end:24px;
  color:var(--sand);
  font-size:56px;
  line-height:1;
  font-family:Georgia,serif;
}
.quotes-grid blockquote{
  color:var(--text);
  font-size:18px;
  line-height:1.75;
  margin-bottom:24px;
}
.quotes-grid figcaption{padding-top:20px;border-top:1px solid var(--line)}
.quotes-grid figcaption strong{display:block;color:var(--brown);font-size:17px}
.quotes-grid figcaption span{color:var(--muted);font-size:14px}
.quote-clone{display:none}

/* ===== ABOUT ===== */
.about{
  background:var(--paper-d);
  padding:120px 5vw;
  border-top:1px solid var(--line);
}
.about-grid{
  max-width:1440px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:60px;
  align-items:center;
}
.about-text h2{
  color:var(--brown);
  font-size:clamp(34px,4.8vw,58px);
  line-height:1.12;
  letter-spacing:-.04em;
  margin:14px 0 22px;
}
.about-text > p{color:var(--muted);font-size:18px;max-width:580px}
.about-pillars{
  display:grid;
  gap:22px;
  margin-top:36px;
}
.about-pillars > div{
  padding:20px 24px;
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:20px;
}
.about-pillars strong{display:block;color:var(--brown);font-size:19px;margin-bottom:4px}
.about-pillars p{color:var(--muted);font-size:15px}

/* ===== BLOG ===== */
.blog{padding:120px 5vw;max-width:1440px;margin:0 auto}
.blog-head{margin-bottom:50px;max-width:680px}
.blog-head h2{
  color:var(--brown);
  font-size:clamp(34px,4.8vw,58px);
  line-height:1.12;
  letter-spacing:-.04em;
  margin-top:14px;
}
.blog-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}
.blog-grid article{
  background:var(--cream);
  border-radius:28px;
  overflow:hidden;
  border:1px solid var(--line);
  display:flex;
  flex-direction:column;
  transition:transform .4s ease,box-shadow .4s ease;
}
.blog-grid article:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.blog-grid img{height:200px;width:100%;object-fit:cover;transition:transform 1s ease}
.blog-grid article:hover img{transform:scale(1.06)}
.blog-body{padding:24px;display:flex;flex-direction:column;flex:1}
.blog-meta{color:var(--gold);font-size:13px;font-weight:700;margin-bottom:8px}
.blog-grid h3{font-size:20px;line-height:1.4;color:var(--brown);flex:1;margin-bottom:16px}
.blog-grid a{color:var(--brown);font-weight:700;font-size:14px}

/* ===== FAQ ===== */
.faq{
  background:var(--cream);
  padding:120px 5vw;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.faq-head{max-width:680px;margin:0 auto 50px;text-align:center}
.faq-head .kicker{justify-content:center}
.faq-head h2{
  color:var(--brown);
  font-size:clamp(34px,4.8vw,58px);
  line-height:1.12;
  letter-spacing:-.04em;
  margin-top:14px;
}
.faq-list{max-width:920px;margin:0 auto;display:grid;gap:12px}
details{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:20px;
  overflow:hidden;
  transition:background .25s ease;
}
details[open]{background:var(--paper-d)}
summary{
  list-style:none;
  cursor:pointer;
  padding:22px 26px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  font-weight:700;
  font-size:17px;
  color:var(--brown);
}
summary::-webkit-details-marker{display:none}
summary i{
  width:30px;
  height:30px;
  border-radius:50%;
  background:var(--brown);
  color:var(--cream);
  position:relative;
  flex-shrink:0;
  transition:transform .3s ease,background .3s ease;
}
summary i:before,summary i:after{
  content:"";
  position:absolute;
  background:var(--cream);
  inset-inline-start:50%;
  top:50%;
  transition:transform .3s ease;
}
summary i:before{width:12px;height:2px;transform:translate(-50%,-50%)}
summary i:after{width:2px;height:12px;transform:translate(-50%,-50%)}
details[open] summary i{background:var(--sand);transform:rotate(180deg)}
details[open] summary i:after{transform:translate(-50%,-50%) scaleY(0)}
details p{
  padding:0 26px 24px;
  color:var(--muted);
  font-size:16px;
  line-height:1.85;
}

/* ===== INTEREST FORM ===== */
.interest{
  padding:120px 5vw;
  max-width:1440px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:60px;
  align-items:start;
}
.interest-text h2{
  color:var(--brown);
  font-size:clamp(36px,5vw,64px);
  line-height:1.1;
  letter-spacing:-.04em;
  margin:14px 0 16px;
}
.interest-text > p{color:var(--muted);font-size:18px;max-width:420px}
.interest-perks{
  list-style:none;
  margin-top:32px;
  display:grid;
  gap:12px;
}
.interest-perks li{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--text);
  font-weight:700;
}
.interest-perks li:before{
  content:"✓";
  width:24px;
  height:24px;
  background:var(--brown);
  color:var(--cream);
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:13px;
  flex-shrink:0;
}

.interest-form{
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:32px;
  padding:36px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  box-shadow:var(--shadow-sm);
}
.field{display:flex;flex-direction:column;gap:8px}
.field.full{grid-column:1/-1}
.field label{color:var(--brown);font-weight:700;font-size:14px}
input,select,textarea{
  border:1px solid var(--line);
  background:var(--paper);
  border-radius:14px;
  padding:14px 16px;
  font-family:inherit;
  font-size:15px;
  color:var(--text);
  resize:vertical;
  transition:border-color .25s ease,background .25s ease;
}
input:focus,select:focus,textarea:focus{
  outline:0;
  border-color:var(--brown);
  background:#fff;
}
.interest-form button{grid-column:1/-1;border-radius:14px;padding:18px}

/* ===== NEWSLETTER ===== */
.newsletter{background:var(--brown);color:var(--cream);padding:60px 5vw}
.newsletter-inner{
  max-width:1440px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:center;
}
.newsletter h2{
  color:var(--cream);
  font-size:clamp(28px,3.6vw,42px);
  line-height:1.15;
  letter-spacing:-.03em;
  margin-top:10px;
}
.news-form{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  background:rgba(234,222,200,.08);
  padding:8px;
  border-radius:18px;
  border:1px solid rgba(234,222,200,.14);
}
.news-form input{
  background:transparent;
  border:0;
  color:var(--cream);
  padding:14px 18px;
}
.news-form input::placeholder{color:#d8cfbd}
.news-form input:focus{background:transparent}
.news-form button{
  background:var(--sand);
  color:var(--olive);
  border:0;
  border-radius:12px;
  padding:14px 24px;
  font-family:inherit;
  font-weight:700;
  cursor:pointer;
  transition:background .25s ease;
}
.news-form button:hover{background:var(--cream)}

/* ===== FOOTER ===== */
footer{background:var(--olive);color:var(--cream)}
.footer-top{
  max-width:1440px;
  margin:0 auto;
  padding:80px 5vw 50px;
  display:grid;
  grid-template-columns:1.4fr .8fr .8fr 1fr;
  gap:50px;
}
.footer-brand img{
  width:160px;
  margin-bottom:20px;
  filter:brightness(0) invert(1);
}
.footer-brand p{color:#d8cfbd;font-size:15px;max-width:340px;margin-bottom:24px}
.footer-brand p.footer-legalname{color:#fff;font-weight:700;font-size:16px;margin-bottom:4px}
.footer-brand p.footer-cr{color:#b9b09c;font-size:13px;margin-bottom:18px}
.footer-legal{display:block;color:#b9b09c;font-size:13px}
.footer-icons{display:flex;gap:10px}
.footer-icons a{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--cream);
  background:rgba(234,222,200,.08);
  border:1px solid rgba(234,222,200,.14);
  transition:background .25s ease,transform .25s ease;
}
.footer-icons a:hover{background:var(--sand);color:var(--olive);transform:translateY(-3px)}
.footer-icons svg{width:18px;height:18px;fill:currentColor}

.footer-col h5{
  color:var(--sand);
  font-size:14px;
  font-weight:700;
  margin-bottom:18px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.footer-col a,.footer-col span{
  display:block;
  color:#d8cfbd;
  font-size:15px;
  padding:5px 0;
  transition:color .25s ease;
}
.footer-col a:hover{color:var(--sand)}

.footer-bottom{
  border-top:1px solid rgba(234,222,200,.12);
  padding:22px 5vw;
  display:flex;
  justify-content:space-between;
  gap:14px;
  font-size:13px;
  color:#C7C6AD;
  flex-wrap:wrap;
}

/* ===== RESPONSIVE ===== */
@media(max-width:1080px){
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .pillars-grid,.projects-grid,.quotes-grid,.blog-grid{grid-template-columns:repeat(2,1fr)}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .process-steps{grid-template-columns:repeat(2,1fr)}
  .process-steps li{border-inline-start:0;border-top:1px solid var(--line)}
  .process-steps li:nth-child(2){border-inline-start:1px solid var(--line)}
  .process-steps li:nth-child(-n+2){border-top:0}
  .showcase-card,.about-grid,.interest,.newsletter-inner{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr 1fr;gap:40px}
  .stats-inner{grid-template-columns:repeat(2,1fr);gap:36px}
  .hero-card img{height:420px}
  .showcase-img{min-height:360px}
  .scroll-cue{display:none}
}

@media(max-width:760px){
  nav{
    position:fixed;
    inset:84px 0 auto 0;
    background:var(--paper);
    border-bottom:1px solid var(--line);
    flex-direction:column;
    padding:24px 5vw;
    gap:18px;
    transform:translateY(-110%);
    transition:transform .4s ease;
    z-index:40;
  }
  nav.open{transform:translateY(0)}
  .burger{display:flex}
  .header-cta{display:none}
  .topbar .hours{display:none}
  .topbar-inner{justify-content:center}
  .pillars-grid,.projects-grid,.quotes-grid,.blog-grid,.services-grid,.process-steps,.showcase-stats,.interest-form,.about-pillars{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr;gap:36px}
  .stats-inner{grid-template-columns:1fr 1fr;gap:30px}
  .news-form{grid-template-columns:1fr}
  .hero{padding:60px 20px 80px}
  .pillars,.projects,.showcase,.services,.process,.quotes,.about,.blog,.faq,.interest{padding:80px 20px}
  .stats,.partners,.newsletter{padding-inline:20px}
  .showcase-info,.interest-form{padding:28px}
  .hero-meta{gap:24px}
  .hero-meta strong{font-size:26px}
  .footer-bottom{flex-direction:column;align-items:center;text-align:center}
}

@media(max-width:760px){
  .pillars{
    padding:56px 16px 64px;
    overflow:hidden;
  }

  .pillars-head{
    margin-bottom:22px;
    max-width:none;
  }

  .pillars-head h2{
    margin-top:8px;
    font-size:clamp(26px,8vw,34px);
    line-height:1.25;
    letter-spacing:0;
  }

  .pillars-grid{
    display:flex;
    grid-template-columns:none;
    gap:14px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding:2px 0 10px;
    scrollbar-width:none;
  }

  .pillars-grid::-webkit-scrollbar{
    display:none;
  }

  .pillars-grid article{
    flex:0 0 82vw;
    max-width:360px;
    min-height:224px;
    padding:24px;
    border-radius:24px;
    scroll-snap-align:start;
  }

  .pillars-grid article:hover{
    transform:none;
  }

  .pillars-grid .num{
    font-size:38px;
    margin-bottom:18px;
  }

  .pillars-grid h3{
    font-size:24px;
    margin-bottom:8px;
  }

  .pillars-grid p{
    font-size:15px;
    line-height:1.8;
  }
}

@media(max-width:760px){
  .services{
    padding:56px 16px 64px;
  }

  .services:before{
    right:-90px;
    top:-80px;
    width:260px;
  }

  .services-head{
    margin:0 0 24px;
    max-width:none;
    text-align:right;
  }

  .services-head .kicker{
    justify-content:flex-start;
  }

  .services-head h2{
    margin-top:8px;
    font-size:clamp(27px,8vw,35px);
    line-height:1.25;
    letter-spacing:0;
  }

  .services-grid{
    display:flex;
    grid-template-columns:none;
    gap:14px;
    max-width:none;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding:2px 0 10px;
    scrollbar-width:none;
  }

  .services-grid::-webkit-scrollbar{
    display:none;
  }

  .services-grid article{
    flex:0 0 82vw;
    max-width:360px;
    min-height:224px;
    padding:24px;
    border-radius:24px;
    scroll-snap-align:start;
  }

  .services-grid article:hover{
    transform:none;
  }

  .serv-num{
    width:44px;
    height:44px;
    margin-bottom:18px;
  }

  .services-grid h3{
    font-size:23px;
    margin-bottom:8px;
  }

  .services-grid p{
    font-size:15px;
    line-height:1.8;
  }
}

@media(max-width:760px){
  .process{
    padding:56px 16px 64px;
    overflow:hidden;
  }

  .process-head{
    margin-bottom:24px;
    max-width:none;
  }

  .process-head h2{
    margin-top:8px;
    font-size:clamp(27px,8vw,35px);
    line-height:1.25;
    letter-spacing:0;
  }

  .process-steps{
    display:flex;
    grid-template-columns:none;
    gap:14px;
    border-top:0;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding:2px 0 10px;
    scrollbar-width:none;
  }

  .process-steps::-webkit-scrollbar{
    display:none;
  }

  .process-steps li,
  .process-steps li:first-child,
  .process-steps li:nth-child(2),
  .process-steps li:nth-child(-n+2){
    flex:0 0 82vw;
    max-width:360px;
    min-height:224px;
    padding:24px;
    border:1px solid var(--line);
    border-radius:24px;
    background:var(--cream);
    scroll-snap-align:start;
  }

  .process-steps li:hover{
    background:var(--cream);
  }

  .step-num{
    font-size:38px;
    margin-bottom:18px;
  }

  .process-steps h3{
    font-size:23px;
    margin-bottom:8px;
  }

  .process-steps p{
    font-size:15px;
    line-height:1.8;
  }
}

@media(max-width:760px){
  .quotes{
    padding:56px 0 64px;
    overflow:hidden;
  }

  .quotes-head{
    margin:0 16px 24px;
    max-width:none;
  }

  .quotes-head h2{
    margin-top:8px;
    font-size:clamp(27px,8vw,35px);
    line-height:1.25;
    letter-spacing:0;
  }

  .quotes-grid{
    display:flex;
    grid-template-columns:none;
    gap:14px;
    width:max-content;
    padding:0 16px;
    animation:quotesMarquee 34s linear infinite;
    will-change:transform;
  }

  .quotes-grid:hover{
    animation-play-state:paused;
  }

  .quotes-grid .quote-clone{
    display:block;
  }

  .quotes-grid figure{
    flex:0 0 82vw;
    width:82vw;
    max-width:360px;
    min-height:238px;
    padding:24px;
    border-radius:24px;
  }

  .quotes-grid figure:hover{
    transform:none;
    box-shadow:none;
  }

  .quotes-grid figure:before{
    top:16px;
    inset-inline-end:20px;
    font-size:42px;
  }

  .quotes-grid blockquote{
    font-size:16px;
    line-height:1.8;
    margin-bottom:20px;
  }

  .quotes-grid figcaption{
    padding-top:16px;
  }

  .quotes-grid figcaption strong{
    font-size:16px;
  }
}

@media(max-width:760px){
  .about{
    padding:56px 16px 64px;
    overflow:hidden;
  }

  .about-grid{
    gap:24px;
    min-width:0;
  }

  .about-text{
    min-width:0;
  }

  .about-text h2{
    margin:8px 0 14px;
    font-size:clamp(27px,8vw,35px);
    line-height:1.25;
    letter-spacing:0;
  }

  .about-text > p{
    max-width:none;
    font-size:15px;
    line-height:1.9;
  }

  .about-pillars{
    display:flex;
    grid-template-columns:none;
    gap:14px;
    width:100%;
    max-width:100%;
    margin-top:22px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding:2px 0 10px;
    scrollbar-width:none;
  }

  .about-pillars::-webkit-scrollbar{
    display:none;
  }

  .about-pillars > div{
    flex:0 0 78vw;
    max-width:340px;
    min-height:148px;
    padding:20px;
    border-radius:20px;
    scroll-snap-align:start;
  }

  .about-pillars strong{
    font-size:18px;
  }

  .about-pillars p{
    font-size:14px;
    line-height:1.8;
  }

}

.mobile-auto-clone{
  display:none !important;
}

@media(max-width:760px){
  .auto-marquee-row{
    width:max-content !important;
    max-width:none !important;
    overflow:visible !important;
    scroll-snap-type:none !important;
    animation:mobileCardMarquee 36s linear infinite;
    will-change:transform;
  }

  .auto-marquee-row:hover{
    animation-play-state:paused;
  }

  .auto-marquee-row > .mobile-auto-clone{
    display:block !important;
  }
}

@keyframes mobileCardMarquee{
  to{transform:translateX(50%)}
}

@keyframes quotesMarquee{
  to{transform:translateX(50%)}
}

@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}

/* English numerals polish */
.kicker,
.num,
.step-num,
.serv-num,
.hero-meta strong,
.stats strong,
.blog-meta,
.side-eyebrow,
.topbar-contact a,
.showcase-img-foot span,
[dir="ltr"]{
  font-variant-numeric: tabular-nums;
  unicode-bidi: plaintext;
}



/* ===== FINAL HEMMA POLISH: header/footer + English numerals ===== */
.topbar{background:var(--brown)!important;color:var(--cream)!important}
.header{background:var(--sage)!important;border-bottom:1px solid rgba(234,222,200,.18)!important;box-shadow:0 10px 28px rgba(43,44,28,.08)}
.header.scrolled{background:rgba(135,133,95,.97)!important;box-shadow:0 12px 34px rgba(43,44,28,.14)}
.logo img,.footer-brand img{filter:brightness(0) saturate(100%) invert(91%) sepia(13%) saturate(571%) hue-rotate(346deg) brightness(101%) contrast(88%)!important}
.header nav{color:var(--cream)!important}
.header nav a{color:var(--cream)!important}
.header nav a:hover{color:var(--sand)!important}
.header nav a:after{background:var(--sand)!important}
.header-cta{background:var(--cream)!important;color:var(--brown)!important}
.header-cta:hover{background:var(--sand)!important;color:var(--brown)!important}
.burger{border-color:rgba(234,222,200,.32)!important}
.burger span{background:var(--cream)!important}
footer{background:var(--sage)!important;color:var(--cream)!important}
.footer-icons a:hover{background:var(--sand)!important;color:var(--sage)!important}
.blog-head p{color:var(--muted);font-size:18px;margin-top:10px}
.kicker,.num,.step-num,.serv-num,.hero-meta strong,.stats strong,.blog-meta,.side-eyebrow,.topbar-contact a,.showcase-img-foot span,[dir="ltr"]{font-variant-numeric:tabular-nums;unicode-bidi:plaintext}
@media(max-width:760px){
  nav{background:var(--brown)!important;border-bottom:1px solid rgba(234,222,200,.16)!important}
  nav a{color:var(--cream)!important}
  nav a:hover{color:var(--sand)!important}
}

/* hide old projects grid if cached */
.projects{
  display:none !important;
}

.showcase-head h2{
  color:#56543A;
}


/* =========================================================
   PROJECT DETAILS PAGE
========================================================= */

.project-hero{
  position:relative;
  padding:78px 5vw 88px;
  background:
    radial-gradient(ellipse at top right,rgba(201,170,124,.20),transparent 56%),
    var(--paper);
  overflow:hidden;
}

.project-hero::before{
  content:"";
  position:absolute;
  left:-170px;
  bottom:-210px;
  width:520px;
  aspect-ratio:1;
  background:url("../assets/pattern.svg") center/contain no-repeat;
  opacity:.055;
  pointer-events:none;
}

.project-hero-inner{
  max-width:1440px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr .95fr;
  gap:60px;
  align-items:center;
  position:relative;
  z-index:1;
}

.breadcrumb{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--muted);
  font-size:14px;
  font-weight:700;
  margin-bottom:22px;
}

.breadcrumb a{
  color:var(--brown);
}

.project-hero h1{
  color:var(--brown);
  font-size:clamp(44px,6vw,82px);
  line-height:1.06;
  letter-spacing:-.045em;
  margin-top:16px;
}

.project-hero-copy p{
  color:var(--muted);
  font-size:20px;
  max-width:720px;
  margin-top:24px;
}

.project-hero-actions{
  display:flex;
  gap:12px;
  margin-top:34px;
  flex-wrap:wrap;
}

.project-highlights{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:38px;
}

.project-highlights article{
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:22px;
  padding:18px;
}

.project-highlights span{
  display:block;
  color:var(--muted);
  font-size:13px;
}

.project-highlights strong{
  display:block;
  color:var(--brown);
  font-size:18px;
  margin-top:4px;
}

.project-hero-media{
  position:relative;
  border-radius:38px;
  overflow:hidden;
  box-shadow:var(--shadow);
  background:var(--cream);
}

.project-hero-media img{
  width:100%;
  height:620px;
  object-fit:cover;
}

.project-status{
  position:absolute;
  top:24px;
  inset-inline-start:24px;
  background:var(--brown);
  color:var(--cream);
  border-radius:999px;
  padding:8px 18px;
  font-weight:700;
  font-size:13px;
}

.project-media-card{
  position:absolute;
  inset-inline:24px;
  bottom:24px;
  padding:20px 24px;
  border-radius:24px;
  background:rgba(247,240,228,.92);
  backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.52);
}

.project-media-card span{
  color:var(--gold);
  font-size:13px;
  font-weight:700;
}

.project-media-card strong{
  display:block;
  color:var(--brown);
  font-size:24px;
  line-height:1.35;
  margin-top:4px;
}

.project-summary{
  padding:0 5vw 90px;
  background:var(--paper);
}

.summary-grid{
  max-width:1220px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:1px;
  overflow:hidden;
  border-radius:28px;
  border:1px solid var(--line);
  background:var(--line);
}

.summary-grid article{
  background:var(--cream);
  padding:24px 20px;
  text-align:center;
}

.summary-grid span{
  display:block;
  color:var(--muted);
  font-size:13px;
}

.summary-grid strong{
  display:block;
  color:var(--brown);
  font-size:18px;
  margin-top:6px;
}

.project-section-head{
  max-width:780px;
  margin:0 auto 46px;
  text-align:center;
}

.project-section-head .kicker{
  justify-content:center;
}

.project-section-head h2{
  color:var(--brown);
  font-size:clamp(34px,5vw,58px);
  line-height:1.12;
  letter-spacing:-.04em;
  margin-top:14px;
}

.project-section-head p{
  color:var(--muted);
  font-size:18px;
  margin-top:10px;
}

.project-gallery{
  padding:112px 5vw;
  background:var(--paper-d);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.project-about{
  padding:112px 5vw;
  background:var(--paper);
}

.project-about-grid{
  max-width:1220px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:36px;
  align-items:center;
}

.project-about-text h2{
  color:var(--brown);
  font-size:clamp(34px,5vw,58px);
  line-height:1.12;
  letter-spacing:-.04em;
  margin:14px 0 20px;
}

.project-about-text p{
  color:var(--muted);
  font-size:18px;
  margin-bottom:16px;
  max-width:760px;
}

.project-about-card{
  background:var(--brown);
  color:var(--cream);
  border-radius:34px;
  padding:38px;
  box-shadow:var(--shadow);
}

.project-about-card span{
  color:var(--sand);
  font-weight:700;
}

.project-about-card strong{
  display:block;
  font-size:76px;
  line-height:1;
  margin:18px 0;
  letter-spacing:-.04em;
}

.booking-progress{
  height:9px;
  background:rgba(234,222,200,.18);
  border-radius:999px;
  overflow:hidden;
  margin-bottom:18px;
}

.booking-progress i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:var(--sand);
}

.project-about-card p{
  color:#d8cfbd;
}

.units-section{
  padding:112px 5vw;
  background:var(--cream);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.unit-filters{
  max-width:1220px;
  margin:0 auto 20px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.unit-filters button{
  border:1px solid var(--line);
  background:var(--paper);
  color:var(--brown);
  border-radius:999px;
  padding:10px 18px;
  font-family:inherit;
  font-weight:700;
  cursor:pointer;
  transition:background .25s ease, color .25s ease;
}

.unit-filters button.active,
.unit-filters button:hover{
  background:var(--brown);
  color:var(--cream);
}

.units-table-wrap{
  max-width:1220px;
  margin:0 auto;
  overflow:auto;
  border-radius:28px;
  border:1px solid var(--line);
  background:var(--paper);
  box-shadow:var(--shadow-sm);
}

.units-table{
  width:100%;
  border-collapse:collapse;
  min-width:860px;
}

.units-table th,
.units-table td{
  padding:18px 20px;
  text-align:right;
  border-bottom:1px solid var(--line);
  white-space:nowrap;
}

.units-table th{
  background:var(--brown);
  color:var(--cream);
  font-size:14px;
}

.units-table td{
  color:var(--text);
  background:var(--paper);
}

.units-table tbody tr:hover td{
  background:#fff;
}

.units-table a{
  color:var(--brown);
  font-weight:700;
}

.status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:74px;
  border-radius:999px;
  padding:6px 12px;
  font-size:13px;
  font-weight:700;
}

.status.available{
  background:rgba(135,133,95,.16);
  color:var(--sage);
}

.status.reserved{
  background:rgba(143,98,39,.16);
  color:var(--gold);
}

.features-guarantees{
  padding:112px 5vw;
  background:var(--paper);
}

.fg-grid{
  max-width:1220px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}

.fg-box{
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:32px;
  padding:36px;
  box-shadow:var(--shadow-sm);
}

.fg-box h3{
  color:var(--brown);
  font-size:28px;
  margin-bottom:20px;
}

.fg-box ul{
  list-style:none;
  display:grid;
  gap:14px;
}

.fg-box li{
  display:flex;
  gap:10px;
  color:var(--muted);
}

.fg-box li::before{
  content:"";
  width:8px;
  height:8px;
  background:var(--gold);
  border-radius:50%;
  margin-top:12px;
  flex-shrink:0;
}

.nearby-section{
  padding:112px 5vw;
  background:var(--olive);
  color:var(--cream);
  position:relative;
  overflow:hidden;
}

.nearby-section::before{
  content:"";
  position:absolute;
  right:-150px;
  bottom:-180px;
  width:440px;
  aspect-ratio:1;
  background:url("../assets/pattern.svg") center/contain no-repeat;
  opacity:.06;
  filter:invert(1);
}

.nearby-section .project-section-head{
  position:relative;
}

.nearby-section .project-section-head h2{
  color:var(--cream);
}

.nearby-section .project-section-head p{
  color:#d8cfbd;
}

.nearby-grid{
  max-width:1220px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  position:relative;
}

.nearby-grid article{
  background:rgba(234,222,200,.07);
  border:1px solid rgba(234,222,200,.14);
  border-radius:28px;
  padding:30px;
  transition:transform .3s ease, background .3s ease;
}

.nearby-grid article:hover{
  transform:translateY(-5px);
  background:rgba(234,222,200,.12);
}

.nearby-grid span{
  display:inline-grid;
  place-items:center;
  width:54px;
  height:54px;
  border-radius:50%;
  background:var(--sand);
  color:var(--olive);
  font-weight:900;
  margin-bottom:18px;
}

.nearby-grid strong{
  display:block;
  font-size:22px;
  color:var(--cream);
  margin-bottom:8px;
}

.nearby-grid p{
  color:#d8cfbd;
}

.project-cta{
  padding:90px 5vw;
  background:var(--brown);
  color:var(--cream);
}

.project-cta-inner{
  max-width:1220px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr auto;
  gap:32px;
  align-items:center;
}

.project-cta h2{
  color:var(--cream);
  font-size:clamp(34px,5vw,56px);
  line-height:1.12;
  letter-spacing:-.04em;
  margin:12px 0;
}

.project-cta p{
  color:#d8cfbd;
  max-width:620px;
}

.cta-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.project-cta .btn.primary{
  background:var(--sand);
  color:var(--olive);
}

.project-cta .btn.ghost{
  color:var(--cream);
  border-color:rgba(234,222,200,.28);
}

.project-interest{
  border-top:1px solid var(--line);
}

@media(max-width:1080px){
  .project-hero-inner,
  .project-about-grid,
  .project-cta-inner{
    grid-template-columns:1fr;
  }

  .project-hero-media img{
    height:430px;
  }

  .summary-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .nearby-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:760px){
  .project-hero,
  .project-gallery,
  .project-about,
  .units-section,
  .features-guarantees,
  .nearby-section{
    padding:74px 20px;
  }

  .project-summary{
    padding:0 20px 70px;
  }

  .project-highlights,
  .fg-grid,
  .nearby-grid{
    grid-template-columns:1fr;
  }

  .project-hero-media img{
    height:330px;
  }

  .project-media-card{
    inset-inline:16px;
    bottom:16px;
    padding:16px;
  }

  .summary-grid{
    grid-template-columns:1fr;
  }

  .project-about-card strong{
    font-size:58px;
  }

  .fg-box{
    padding:26px;
  }

  .project-cta{
    padding:70px 20px;
  }

  .cta-actions{
    flex-direction:column;
  }

  .cta-actions .btn{
    justify-content:center;
  }
}

/* Ethmar project states */
.status.sold{
  background:rgba(135,133,95,.14);
  color:#56543A;
}

.nearby-grid{
  grid-template-columns:repeat(3,1fr);
}

@media(max-width:1080px){
  .nearby-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:760px){
  .nearby-grid{
    grid-template-columns:1fr;
  }
}

/* Extended units table */
.extended-units-table{
  min-width:1380px;
}

.extended-units-table th:nth-child(7),
.extended-units-table th:nth-child(8){
  min-width:210px;
}

.unit-features{
  color:#56543A !important;
  font-weight:700;
  white-space:normal !important;
  min-width:190px;
  line-height:1.7;
}

.unit-specs{
  white-space:normal !important;
  min-width:310px;
  max-width:380px;
  line-height:1.75;
  color:#56543A !important;
}

.units-table td:last-child{
  min-width:130px;
}

.status.sold{
  background:rgba(135,133,95,.14);
  color:#56543A;
}

@media(max-width:760px){
  .extended-units-table{
    min-width:1280px;
  }

  .unit-specs{
    min-width:280px;
  }
}

/* ===== Fix units table: no bottom horizontal scrollbar + clear booking button ===== */

.units-table-wrap{
  overflow:visible !important;
  border-radius:28px !important;
}

.units-table,
.extended-units-table{
  width:100% !important;
  min-width:0 !important;
  table-layout:fixed !important;
}

.units-table th,
.units-table td{
  white-space:normal !important;
  vertical-align:middle !important;
  line-height:1.75 !important;
}

.extended-units-table th:nth-child(1),
.extended-units-table td:nth-child(1){
  width:8%;
}

.extended-units-table th:nth-child(2),
.extended-units-table td:nth-child(2){
  width:7%;
}

.extended-units-table th:nth-child(3),
.extended-units-table td:nth-child(3){
  width:10%;
}

.extended-units-table th:nth-child(4),
.extended-units-table td:nth-child(4){
  width:7%;
}

.extended-units-table th:nth-child(5),
.extended-units-table td:nth-child(5){
  width:10%;
}

.extended-units-table th:nth-child(6),
.extended-units-table td:nth-child(6){
  width:8%;
}

.extended-units-table th:nth-child(7),
.extended-units-table td:nth-child(7){
  width:13%;
}

.extended-units-table th:nth-child(8),
.extended-units-table td:nth-child(8){
  width:25%;
}

.extended-units-table th:nth-child(9),
.extended-units-table td:nth-child(9){
  width:12%;
}

.unit-features,
.unit-specs{
  min-width:0 !important;
  max-width:none !important;
  white-space:normal !important;
}

.unit-booking-btn{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:42px;
  padding:10px 14px;
  border-radius:999px;
  background:#56543A;
  color:#EADEC8 !important;
  font-weight:800;
  font-size:13px;
  text-align:center;
  line-height:1.3 !important;
  box-shadow:0 8px 18px rgba(135,133,95,.16);
  transition:background .2s ease, transform .2s ease;
}

.unit-waitlist-btn{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:42px;
  padding:10px 14px;
  border-radius:999px;
  background:#87855F;
  color:#F7F0E4 !important;
  font-weight:800;
  font-size:13px;
  text-align:center;
  line-height:1.3 !important;
  box-shadow:0 8px 18px rgba(135,133,95,.16);
  transition:background .2s ease, transform .2s ease;
}

.unit-booking-btn:hover{
  background:#6E6C49;
  transform:translateY(-1px);
}

.unit-waitlist-btn:hover{
  background:#6f6d4c;
  transform:translateY(-1px);
}

.units-table tbody tr:nth-child(even) td{
  background:#F3E9D8;
}

.units-table tbody tr:hover td{
  background:#fffaf1 !important;
}

/* Mobile: turn unit rows into clean cards instead of horizontal scrolling */
@media(max-width:860px){
  .units-table-wrap{
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  .units-table,
  .units-table thead,
  .units-table tbody,
  .units-table tr,
  .units-table th,
  .units-table td{
    display:block !important;
    width:100% !important;
  }

  .units-table thead{
    display:none !important;
  }

  .units-table tbody{
    display:grid !important;
    gap:16px !important;
  }

  .units-table tr{
    background:#EADEC8 !important;
    border:1px solid rgba(43,44,28,.13);
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 12px 26px rgba(43,44,28,.08);
  }

  .units-table td{
    display:grid !important;
    grid-template-columns:120px 1fr;
    gap:12px;
    padding:12px 18px !important;
    border-bottom:1px solid rgba(43,44,28,.10) !important;
    background:transparent !important;
  }

  .units-table td:last-child{
    display:block !important;
    padding:18px !important;
    border-bottom:0 !important;
  }

  .units-table td::before{
    color:#56543A;
    font-weight:900;
  }

  .units-table td:nth-child(1)::before{content:"الوحدة"}
  .units-table td:nth-child(2)::before{content:"النوع"}
  .units-table td:nth-child(3)::before{content:"المساحة"}
  .units-table td:nth-child(4)::before{content:"الغرف"}
  .units-table td:nth-child(5)::before{content:"السعر"}
  .units-table td:nth-child(6)::before{content:"الحالة"}
  .units-table td:nth-child(7)::before{content:"المميزات"}
  .units-table td:nth-child(8)::before{content:"المواصفات"}

  .unit-booking-btn{
    width:100%;
    min-height:48px;
    font-size:15px;
  }
}

/* ===== Remove rooms column layout fix ===== */

.extended-units-table th:nth-child(1),
.extended-units-table td:nth-child(1){
  width:8% !important;
}

.extended-units-table th:nth-child(2),
.extended-units-table td:nth-child(2){
  width:7% !important;
}

.extended-units-table th:nth-child(3),
.extended-units-table td:nth-child(3){
  width:10% !important;
}

.extended-units-table th:nth-child(4),
.extended-units-table td:nth-child(4){
  width:11% !important;
}

.extended-units-table th:nth-child(5),
.extended-units-table td:nth-child(5){
  width:8% !important;
}

.extended-units-table th:nth-child(6),
.extended-units-table td:nth-child(6){
  width:14% !important;
}

.extended-units-table th:nth-child(7),
.extended-units-table td:nth-child(7){
  width:28% !important;
}

.extended-units-table th:nth-child(8),
.extended-units-table td:nth-child(8){
  width:14% !important;
}

@media(max-width:860px){
  .units-table td:nth-child(1)::before{content:"الوحدة" !important}
  .units-table td:nth-child(2)::before{content:"النوع" !important}
  .units-table td:nth-child(3)::before{content:"المساحة" !important}
  .units-table td:nth-child(4)::before{content:"السعر" !important}
  .units-table td:nth-child(5)::before{content:"الحالة" !important}
  .units-table td:nth-child(6)::before{content:"المميزات" !important}
  .units-table td:nth-child(7)::before{content:"المواصفات" !important}
}

/* sold units should not have booking CTA */
.unit-sold-note{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:42px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(135,133,95,.10);
  color:#56543A;
  font-weight:800;
  font-size:13px;
  text-align:center;
  line-height:1.3;
  cursor:not-allowed;
}

tr[data-status="مباعة"] .unit-booking-btn{
  display:none !important;
}

tr[data-status="مباعة"] td{
  opacity:.78;
}

tr[data-status="مباعة"] td:last-child{
  opacity:1;
}

@media(max-width:860px){
  .unit-sold-note{
    min-height:48px;
    font-size:15px;
  }
}

/* ===== Refined features + guarantees with icons ===== */

.refined-fg-grid{
  max-width:1220px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.15fr .95fr;
  gap:22px;
}

.fg-box{
  background:linear-gradient(180deg,#F2E8D8 0%, #EADEC8 100%);
  border:1px solid rgba(43,44,28,.10);
  border-radius:32px;
  padding:34px;
  box-shadow:0 18px 40px rgba(43,44,28,.06);
  position:relative;
  overflow:hidden;
}

.fg-box::before{
  content:"";
  position:absolute;
  top:-70px;
  left:-70px;
  width:180px;
  height:180px;
  background:url("../assets/pattern.svg") center/contain no-repeat;
  opacity:.035;
  pointer-events:none;
}

.fg-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:22px;
}

.fg-head h3{
  margin:0;
  color:#56543A;
  font-size:34px;
  line-height:1.15;
}

.fg-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:78px;
  height:34px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(143,98,39,.10);
  color:#6E6C49;
  font-size:13px;
  font-weight:800;
}

.fg-items{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.fg-items-compact{
  grid-template-columns:1fr;
}

.fg-item{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:16px;
  border-radius:22px;
  background:rgba(255,255,255,.34);
  border:1px solid rgba(43,44,28,.08);
  min-height:84px;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.fg-item:hover{
  transform:translateY(-2px);
  background:#fffaf1;
  box-shadow:0 12px 24px rgba(43,44,28,.06);
}

.fg-icon{
  width:52px;
  height:52px;
  border-radius:16px;
  display:grid;
  place-items:center;
  flex:0 0 52px;
  background:linear-gradient(145deg,rgba(143,98,39,.16),rgba(135,133,95,.08));
  border:1px solid rgba(143,98,39,.16);
  color:#6E5326;
}

.fg-icon svg{
  width:27px;
  height:27px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.fg-item p{
  margin:0;
  color:#2B2C1C;
  font-weight:700;
  line-height:1.7;
  font-size:16px;
}

.fg-box-guarantees .fg-item{
  min-height:72px;
}

@media(max-width:1080px){
  .refined-fg-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .fg-box{
    padding:24px;
    border-radius:26px;
  }

  .fg-head{
    flex-direction:column;
    align-items:flex-start;
    margin-bottom:18px;
  }

  .fg-head h3{
    font-size:28px;
  }

  .fg-items{
    grid-template-columns:1fr;
  }

  .fg-item{
    padding:14px;
    border-radius:18px;
  }

  .fg-icon{
    width:44px;
    height:44px;
    border-radius:14px;
    flex-basis:44px;
  }

  .fg-icon svg{
    width:20px;
    height:20px;
  }

  .fg-item p{
    font-size:15px;
  }
}

/* ===== DOTX requested edits ===== */

/* Hide small section numbering labels where needed */
.showcase-head .kicker,
.pillars-head .kicker,
.projects-head .kicker,
.services-head .kicker,
.process-head .kicker,
.partners-head .kicker,
.blog-head .kicker,
.faq-head .kicker,
.quotes-head .kicker,
.about-text .kicker{
  letter-spacing:0;
}

/* Rent future section */
.rent-future{
  padding:90px 5vw;
  background:#EADEC8;
  color:#2B2C1C;
  border-top:1px solid rgba(43,44,28,.13);
  border-bottom:1px solid rgba(43,44,28,.13);
}

.rent-inner{
  max-width:1220px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr auto;
  gap:28px;
  align-items:center;
  background:#F7F0E4;
  border:1px solid rgba(43,44,28,.13);
  border-radius:34px;
  padding:42px;
  position:relative;
  overflow:hidden;
}

.rent-inner::before{
  content:"";
  position:absolute;
  left:-90px;
  bottom:-120px;
  width:300px;
  aspect-ratio:1;
  background:url("../assets/pattern.svg") center/contain no-repeat;
  opacity:.05;
}

.rent-inner h2{
  color:#56543A;
  font-size:clamp(34px,5vw,56px);
  line-height:1.12;
  margin:10px 0;
}

.rent-inner p{
  color:#6F654F;
  max-width:680px;
  font-size:18px;
}

/* Marketer form */
.marketer-join{
  padding:110px 5vw;
  background:#F7F0E4;
  display:grid;
  grid-template-columns:.9fr 1.2fr;
  gap:50px;
  align-items:start;
  max-width:1440px;
  margin:0 auto;
}

.marketer-text h2{
  color:#56543A;
  font-size:clamp(36px,5vw,62px);
  line-height:1.1;
  margin:12px 0 16px;
}

.marketer-text p{
  color:#6F654F;
  max-width:520px;
  font-size:18px;
}

.marketer-form{
  background:#EADEC8;
  border:1px solid rgba(43,44,28,.13);
  border-radius:32px;
  padding:34px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  box-shadow:0 12px 30px rgba(43,44,28,.08);
}

.marketer-form .full{
  grid-column:1/-1;
}

@media(max-width:900px){
  .rent-inner,
  .marketer-join{
    grid-template-columns:1fr;
  }

  .marketer-form{
    grid-template-columns:1fr;
  }
}

/* ===== Marketer join section forced ===== */
.marketer-join{
  padding:110px 5vw;
  background:#F7F0E4;
  display:grid;
  grid-template-columns:.9fr 1.2fr;
  gap:50px;
  align-items:start;
  max-width:1440px;
  margin:0 auto;
}

.marketer-text h2{
  color:#56543A;
  font-size:clamp(36px,5vw,62px);
  line-height:1.1;
  margin:12px 0 16px;
}

.marketer-text p{
  color:#6F654F;
  max-width:520px;
  font-size:18px;
}

.marketer-form{
  background:#EADEC8;
  border:1px solid rgba(43,44,28,.13);
  border-radius:32px;
  padding:34px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  box-shadow:0 12px 30px rgba(43,44,28,.08);
}

.marketer-form .full{
  grid-column:1/-1;
}

@media(max-width:900px){
  .marketer-join{
    grid-template-columns:1fr;
    padding:80px 20px;
  }

  .marketer-form{
    grid-template-columns:1fr;
  }
}

/* remove stats section if cached */
.stats{
  display:none !important;
}


/* ===== Unified interest / marketer / developer form ===== */

.unified-interest{
  align-items:start;
}

.unified-form{
  position:relative;
}

.conditional-field{
  transition:opacity .2s ease, transform .2s ease;
}

.conditional-field.is-hidden{
  display:none !important;
}

.unified-form select,
.unified-form input,
.unified-form textarea{
  min-height:52px;
}

.unified-form textarea{
  min-height:118px;
}

.unified-form #requestType{
  background:#fffaf1;
  border-color:rgba(135,133,95,.32);
  color:#56543A;
  font-weight:800;
}

.unified-form .field.full:first-child{
  background:rgba(143,98,39,.08);
  border:1px solid rgba(135,133,95,.10);
  border-radius:20px;
  padding:16px;
}

@media(max-width:900px){
  .unified-interest{
    grid-template-columns:1fr;
  }
}

/* contact form title only */
.contact-title-only{
  display:flex;
  align-items:center;
  min-height:100%;
}

.contact-title-only h2{
  margin:0 !important;
  color:#56543A;
  font-size:clamp(48px,7vw,92px);
  line-height:1.05;
  letter-spacing:-.05em;
}

.contact-title-only .kicker,
.contact-title-only p,
.contact-title-only ul{
  display:none !important;
}

@media(max-width:900px){
  .contact-title-only{
    min-height:auto;
  }

  .contact-title-only h2{
    font-size:44px;
  }
}

/* ===== Units grouped by building ===== */

.unit-blocks{
  max-width:1220px;
  margin:0 auto;
  display:grid;
  gap:28px;
}

.unit-block{
  background:#F7F0E4;
  border:1px solid rgba(43,44,28,.13);
  border-radius:32px;
  overflow:hidden;
  box-shadow:0 14px 34px rgba(43,44,28,.07);
}

.unit-block-head{
  padding:24px 28px;
  background:#56543A;
  color:#EADEC8;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.unit-block-head span{
  color:#B4B291;
  font-size:13px;
  font-weight:800;
}

.unit-block-head h3{
  margin:4px 0 0;
  font-size:42px;
  line-height:1;
  letter-spacing:.04em;
  color:#EADEC8;
}

.unit-block-stats{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.unit-block-stats span{
  min-width:86px;
  min-height:38px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(234,222,200,.10);
  color:#EADEC8;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
}

.unit-block-stats strong{
  color:#B4B291;
  font-size:16px;
}

.unit-block .units-table-wrap{
  border-radius:0 !important;
  border:0 !important;
  box-shadow:none !important;
}

.block-units-table{
  border-radius:0 !important;
}

.block-units-table th{
  background:#87855F !important;
}

.block-units-table tr:last-child td{
  border-bottom:0 !important;
}

.unit-block.is-empty{
  display:none !important;
}

@media(max-width:860px){
  .unit-block{
    border-radius:26px;
  }

  .unit-block-head{
    flex-direction:column;
    align-items:flex-start;
    padding:22px;
  }

  .unit-block-head h3{
    font-size:36px;
  }

  .unit-block-stats{
    width:100%;
  }

  .unit-block-stats span{
    flex:1;
  }
}

/* unit status colors */
.status.available{
  background:#87855F !important;
  color:#EADEC8 !important;
}

.status.sold{
  background:#56543A !important;
  color:#EADEC8 !important;
}

.status.reserved{
  background:#6E6C49 !important;
  color:#F7F0E4 !important;
}

.status.hidden{
  background:#6F654F !important;
  color:#F7F0E4 !important;
}

/* optional softer row tint */
tr[data-status="متاح"] td{
  border-bottom-color:rgba(135,133,95,.16) !important;
}

tr[data-status="محجوزة"] td{
  border-bottom-color:rgba(143,98,39,.18) !important;
}

tr[data-status="مباعة"] td{
  border-bottom-color:rgba(135,133,95,.18) !important;
}


/* ===== Smooth plan preview modal ===== */

.units-table td:last-child{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:150px;
}

.unit-plan-btn{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:40px;
  padding:9px 14px;
  border-radius:999px;
  background:#87855F;
  color:#EADEC8 !important;
  font-weight:800;
  font-size:13px;
  text-align:center;
  line-height:1.3 !important;
  box-shadow:0 8px 18px rgba(135,133,95,.16);
  transition:background .2s ease, transform .2s ease;
}

.unit-plan-btn:hover{
  background:#56543A;
  transform:translateY(-1px);
}

.plan-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}

.plan-modal.is-open{
  display:flex;
}

.plan-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(43,44,28,.72);
  backdrop-filter:blur(10px);
}

.plan-modal-panel{
  position:relative;
  width:min(920px,96vw);
  max-height:92vh;
  background:#F7F0E4;
  border:1px solid rgba(234,222,200,.28);
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 30px 100px rgba(0,0,0,.28);
  animation:planModalIn .22s ease both;
}

@keyframes planModalIn{
  from{opacity:0;transform:translateY(18px) scale(.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

.plan-modal-close{
  position:absolute;
  top:14px;
  inset-inline-end:14px;
  z-index:2;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:#56543A;
  color:#EADEC8;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}

.plan-modal-head{
  padding:22px 28px;
  background:#56543A;
  color:#EADEC8;
}

.plan-modal-head span{
  display:block;
  color:#B4B291;
  font-size:13px;
  font-weight:800;
}

.plan-modal-head strong{
  display:block;
  font-size:26px;
  line-height:1.2;
  margin-top:4px;
}

.plan-modal-body{
  padding:18px;
  background:#EADEC8;
  max-height:calc(92vh - 96px);
  overflow:auto;
}

.plan-modal-body img{
  width:100%;
  height:auto;
  display:block;
  border-radius:20px;
  background:#EADEC8;
}

body.modal-open{
  overflow:hidden;
}

@media(max-width:860px){
  .units-table td:last-child{
    display:flex !important;
    flex-direction:column;
    gap:10px;
  }

  .unit-plan-btn{
    min-height:48px;
    font-size:15px;
  }

  .plan-modal{
    padding:12px;
  }

  .plan-modal-panel{
    border-radius:22px;
  }

  .plan-modal-head{
    padding:18px 20px;
  }

  .plan-modal-body{
    padding:10px;
  }
}

/* final smooth project gallery */
.project-hero-media{
  min-height:520px;
  background:#EADEC8;
}

.project-hero-media img{
  display:block !important;
  width:100% !important;
  height:620px !important;
  object-fit:cover !important;
  object-position:center !important;
}

@media(max-width:1080px){
  .project-hero-media{
    min-height:auto;
  }

  .project-hero-media img{
    height:430px !important;
  }
}

@media(max-width:760px){
  .project-hero-media img{
    height:330px !important;
  }
}

/* hard performance containment */
.project-summary,
.project-gallery,
.project-about,
.units-section,
.features-guarantees,
.nearby-section,
.project-cta,
.project-interest,
footer{
  content-visibility:auto;
  contain-intrinsic-size:900px;
}


.plan-modal-body img{
  max-width:100% !important;
  height:auto !important;
}

/* restore original plan preview quality */
.plan-modal-panel{
  width:min(1120px,96vw) !important;
  max-height:94vh !important;
}

.plan-modal-body{
  background:#15120c !important;
  max-height:calc(94vh - 96px) !important;
  overflow:auto !important;
  padding:14px !important;
}

.plan-modal-body img{
  width:auto !important;
  max-width:100% !important;
  height:auto !important;
  max-height:none !important;
  margin:0 auto !important;
  object-fit:contain !important;
  image-rendering:auto !important;
  border-radius:18px !important;
}

@media(max-width:760px){
  .plan-modal-body{
    padding:8px !important;
  }

  .plan-modal-body img{
    width:100% !important;
  }
}

/* ===== Final clean Ethmar gallery ===== */

.project-gallery.ethmar-gallery-section{
  padding:110px 5vw;
  background:#F7F0E4 !important;
  border-top:1px solid rgba(43,44,28,.12);
  border-bottom:1px solid rgba(43,44,28,.12);
  overflow:hidden;
}

.ethmar-gallery-head{
  max-width:820px;
  margin:0 auto 42px;
  text-align:center;
}

.ethmar-gallery-head h2{
  color:#56543A;
  font-size:clamp(36px,5vw,64px);
  line-height:1.05;
  letter-spacing:-.045em;
  margin:10px 0 12px;
}

.ethmar-gallery-head p{
  color:#6F654F;
  font-size:18px;
  line-height:1.9;
  margin:0 auto;
  max-width:680px;
}

.ethmar-gallery-grid{
  max-width:1220px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.45fr 1fr 1fr;
  grid-auto-rows:240px;
  gap:16px;
}

.ethmar-gallery-card{
  position:relative;
  border:0;
  padding:0;
  border-radius:28px;
  overflow:hidden;
  background:#EADEC8;
  cursor:zoom-in;
  box-shadow:0 16px 38px rgba(43,44,28,.08);
  isolation:isolate;
}

.ethmar-gallery-card.is-main{
  grid-row:span 2;
}

.ethmar-gallery-card img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  transform:scale(1.01);
  transition:transform .45s ease, filter .45s ease;
}

.ethmar-gallery-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(43,44,28,0) 48%,rgba(43,44,28,.72) 100%);
  pointer-events:none;
}

.ethmar-gallery-card span{
  position:absolute;
  right:18px;
  bottom:18px;
  z-index:2;
  display:inline-flex;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(247,240,228,.90);
  color:#56543A;
  font-weight:900;
  font-size:14px;
  backdrop-filter:blur(8px);
}

.ethmar-gallery-card:hover img{
  transform:scale(1.055);
  filter:saturate(1.04) contrast(1.03);
}

.ethmar-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:26px;
}

.ethmar-lightbox.is-open{
  display:flex;
}

.ethmar-lightbox-bg{
  position:absolute;
  inset:0;
  background:rgba(43,44,28,.84);
  backdrop-filter:blur(14px);
}

.ethmar-lightbox-panel{
  position:relative;
  z-index:1;
  width:min(1180px,96vw);
  max-height:90vh;
  border-radius:30px;
  overflow:hidden;
  background:#15120c;
  box-shadow:0 34px 100px rgba(0,0,0,.40);
  animation:ethmarLightboxIn .22s ease both;
}

@keyframes ethmarLightboxIn{
  from{opacity:0;transform:translateY(14px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

.ethmar-lightbox-panel img{
  width:100%;
  max-height:90vh;
  display:block;
  object-fit:contain;
  background:#15120c;
}

.ethmar-lightbox-close{
  position:absolute;
  top:16px;
  left:16px;
  z-index:3;
  width:44px;
  height:44px;
  border:0;
  border-radius:50%;
  background:#EADEC8;
  color:#56543A;
  font-size:30px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 14px 30px rgba(0,0,0,.25);
}

.ethmar-lightbox-title{
  position:absolute;
  right:20px;
  bottom:18px;
  z-index:3;
  padding:12px 16px;
  border-radius:18px;
  background:rgba(15,13,8,.62);
  color:#EADEC8;
  font-weight:900;
  backdrop-filter:blur(10px);
}

@media(max-width:980px){
  .ethmar-gallery-grid{
    grid-template-columns:1fr 1fr;
    grid-auto-rows:220px;
  }

  .ethmar-gallery-card.is-main{
    grid-column:span 2;
    grid-row:span 2;
  }
}

@media(max-width:620px){
  .project-gallery.ethmar-gallery-section{
    padding:76px 20px;
  }

  .ethmar-gallery-grid{
    grid-template-columns:1fr;
    grid-auto-rows:245px;
    gap:14px;
  }

  .ethmar-gallery-card.is-main{
    grid-column:auto;
    grid-row:auto;
  }

  .ethmar-gallery-card{
    border-radius:24px;
  }

  .ethmar-lightbox{
    padding:12px;
  }

  .ethmar-lightbox-panel{
    border-radius:22px;
  }

  .ethmar-lightbox-close{
    width:40px;
    height:40px;
    font-size:26px;
  }

  .ethmar-lightbox-title{
    right:12px;
    left:12px;
    bottom:12px;
    text-align:center;
  }
}

/* ===== NEW LIGHTWEIGHT LUXURY GALLERY ===== */
.ethmar-gallery-section {
  padding: 80px 5%;
  background: var(--bg);
}

.ethmar-gallery-head {
  text-align: center;
  max-width: 600px;
  margin: 0 auto 40px auto;
}
.ethmar-gallery-head .kicker {
  display: block;
  font-size: 14px;
  font-weight: 800;
  color: var(--brand-light);
  margin-bottom: 8px;
}
.ethmar-gallery-head h2 {
  font-size: 32px;
  color: var(--brand);
  margin-bottom: 16px;
}
.ethmar-gallery-head p {
  color: var(--text-muted);
  font-size: 16px;
}

.ethmar-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 240px;
  gap: 16px;
  max-width: 1200px;
  margin: 0 auto;
}

.ethmar-gallery-card {
  position: relative;
  background: var(--bg-alt);
  border-radius: var(--radius);
  overflow: hidden;
  border: 0;
  padding: 0;
  cursor: zoom-in;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-appearance: none;
}

.ethmar-gallery-card.is-main {
  grid-column: span 2;
  grid-row: span 2;
}

.ethmar-gallery-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.ethmar-gallery-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.6) 0%, transparent 40%);
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}

.ethmar-gallery-card span {
  position: absolute;
  bottom: 20px;
  right: 24px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  z-index: 2;
  opacity: 0;
  transform: translateY(10px);
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}

@media (hover: hover) {
  .ethmar-gallery-card:hover img {
    transform: scale(1.05);
  }
  .ethmar-gallery-card:hover::after {
    opacity: 1;
  }
  .ethmar-gallery-card:hover span {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 900px) {
  .ethmar-gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 200px;
  }
  .ethmar-gallery-card.is-main {
    grid-column: span 2;
    grid-row: span 2;
  }
  .ethmar-gallery-card:nth-child(6) {
    grid-column: span 2;
  }
}

@media (max-width: 600px) {
  .ethmar-gallery-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 240px;
  }
  .ethmar-gallery-card.is-main {
    grid-column: span 1;
    grid-row: span 1;
  }
  .ethmar-gallery-card:nth-child(6) {
    grid-column: span 1;
  }
}

/* ===== Mobile stability fixes ===== */
@media(max-width:1080px){
  html,
  body{
    max-width:100%;
    overflow-x:hidden;
  }

  .units-section{
    content-visibility:visible !important;
    contain-intrinsic-size:auto !important;
  }
}

@media(max-width:860px){
  .units-table-wrap,
  .units-table,
  .extended-units-table,
  .unit-block{
    max-width:100% !important;
  }

  .units-table tbody tr[style*="display: none"]{
    display:none !important;
  }

  .units-table td{
    grid-template-columns:minmax(88px, 34%) minmax(0, 1fr) !important;
    box-sizing:border-box;
    min-width:0 !important;
    overflow-wrap:anywhere;
  }

  .units-table td:nth-child(8)::before{
    content:"الإجراء" !important;
  }

  .units-table td:last-child{
    width:100% !important;
    min-width:0 !important;
    display:flex !important;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    box-sizing:border-box;
  }

  .unit-booking-btn,
  .unit-waitlist-btn,
  .unit-plan-btn,
  .unit-sold-note{
    width:100% !important;
    min-width:0 !important;
    min-height:48px;
    padding:12px 14px;
    box-sizing:border-box;
    white-space:normal;
  }

  .unit-block-head,
  .unit-block-stats{
    min-width:0;
  }

  .unit-block-stats span{
    min-width:0;
    white-space:normal;
  }
}

@media(max-width:760px){
  nav{
    pointer-events:none;
  }

  nav.open{
    pointer-events:auto;
  }

  .burger{
    position:relative;
    z-index:80;
  }

  .showcase-card,
  .showcase-img,
  .showcase-info,
  .project-hero,
  .project-hero-inner,
  .project-hero-media,
  .project-gallery,
  .ethmar-gallery-grid,
  .unit-blocks,
  .interest-form,
  footer{
    max-width:100%;
  }

  .showcase-actions,
  .project-hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  .showcase-actions .btn,
  .project-hero-actions .btn{
    width:100%;
    justify-content:center;
    text-align:center;
  }

  .plan-modal,
  .ethmar-lightbox{
    padding:10px !important;
  }

  .plan-modal-panel,
  .ethmar-lightbox-panel{
    width:calc(100vw - 20px) !important;
    max-width:calc(100vw - 20px) !important;
    max-height:calc(100dvh - 20px) !important;
    border-radius:20px !important;
  }

  .plan-modal-body{
    max-height:calc(100dvh - 88px) !important;
    padding:8px !important;
  }

  .plan-modal-body img{
    width:100% !important;
    max-width:100% !important;
  }

  .ethmar-lightbox-panel img{
    max-height:calc(100dvh - 20px) !important;
  }
}

@media(max-width:620px){
  .ethmar-gallery-grid{
    grid-auto-rows:220px !important;
  }

  .ethmar-gallery-card span{
    opacity:1 !important;
    transform:none !important;
    right:14px;
    bottom:14px;
    max-width:calc(100% - 28px);
    padding:8px 12px;
    border-radius:999px;
    background:rgba(15,13,8,.62);
    color:#EADEC8;
    font-size:14px;
    line-height:1.3;
  }
}

/* ===== Mobile units cards + header hardening ===== */
.mobile-units-list{
  display:none;
}

@media(max-width:860px){
  .unit-block .units-table-wrap{
    display:none !important;
  }

  .mobile-units-list{
    display:grid;
    gap:14px;
    padding:16px;
    max-width:100%;
    overflow:hidden;
  }

  .mobile-unit-card[style*="display: none"]{
    display:none !important;
  }

  .mobile-unit-card{
    display:grid;
    gap:14px;
    width:100%;
    min-width:0;
    padding:16px;
    border:1px solid rgba(43,44,28,.12);
    border-radius:20px;
    background:#F7F0E4;
    box-shadow:0 10px 24px rgba(43,44,28,.08);
    overflow:hidden;
  }

  .mobile-unit-card *{
    min-width:0;
  }

  .mobile-unit-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    padding-bottom:12px;
    border-bottom:1px solid rgba(43,44,28,.10);
  }

  .mobile-unit-top span:not(.status){
    display:block;
    color:#6E6C49;
    font-size:12px;
    font-weight:900;
  }

  .mobile-unit-top strong{
    display:block;
    margin-top:2px;
    color:#56543A;
    font-size:24px;
    line-height:1.1;
  }

  .mobile-unit-details{
    display:grid;
    gap:10px;
    margin:0;
  }

  .mobile-unit-details div{
    display:grid;
    grid-template-columns:minmax(92px, .35fr) minmax(0, 1fr);
    gap:12px;
    align-items:start;
    padding:10px 0;
    border-bottom:1px solid rgba(43,44,28,.08);
  }

  .mobile-unit-details div:last-child{
    border-bottom:0;
  }

  .mobile-unit-details dt{
    color:#56543A;
    font-size:13px;
    font-weight:900;
    line-height:1.5;
  }

  .mobile-unit-details dd{
    margin:0;
    color:#2B2C1C;
    font-size:14px;
    font-weight:700;
    line-height:1.7;
    white-space:normal;
    overflow-wrap:break-word;
    word-break:normal;
  }

  .mobile-unit-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    padding-top:2px;
  }

  .mobile-unit-actions .unit-booking-btn,
  .mobile-unit-actions .unit-waitlist-btn,
  .mobile-unit-actions .unit-plan-btn,
  .mobile-unit-actions .unit-sold-note{
    width:100% !important;
    min-height:48px;
    padding:12px 14px;
    white-space:normal;
  }
}

@media(max-width:520px){
  .mobile-units-list{
    padding:12px;
  }

  .mobile-unit-card{
    padding:14px;
    border-radius:18px;
  }

  .mobile-unit-details div{
    grid-template-columns:1fr;
    gap:4px;
  }
}

@media(max-width:760px){
  html{
    scroll-padding-top:88px;
  }

  .topbar{
    font-size:12px;
  }

  .topbar-inner{
    min-height:34px;
    padding:6px 16px;
    overflow:hidden;
  }

  .topbar-contact{
    width:100%;
    justify-content:center;
    gap:8px;
    white-space:nowrap;
    overflow:hidden;
  }

  .topbar-contact a{
    font-size:12px;
  }

  .header,
  .header.scrolled{
    height:72px !important;
    min-height:72px !important;
    padding:0 16px !important;
    gap:10px !important;
    flex-wrap:nowrap !important;
    align-items:center;
    overflow:visible;
  }

  .logo{
    order:1;
    display:flex;
    align-items:center;
    flex:0 1 auto;
    min-width:0;
  }

  .logo img,
  .header.scrolled .logo img{
    width:118px !important;
    max-width:38vw;
  }

  .header-cta{
    display:none !important;
  }

  .burger{
    order:4;
    display:flex !important;
    flex:0 0 44px;
    width:44px !important;
    height:44px !important;
    border-radius:12px !important;
  }

  .header nav{
    position:absolute !important;
    top:100% !important;
    inset-inline:0 !important;
    width:auto !important;
    max-height:calc(100dvh - 72px);
    padding:14px 16px 18px !important;
    display:flex !important;
    flex-direction:column !important;
    gap:6px !important;
    background:#56543A !important;
    border-top:1px solid rgba(234,222,200,.12);
    border-bottom:1px solid rgba(234,222,200,.16) !important;
    box-shadow:0 18px 34px rgba(43,44,28,.18);
    transform:translateY(-12px) !important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    z-index:70;
    overflow:auto;
  }

  .header nav.open{
    transform:translateY(0) !important;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  .header nav a{
    min-height:48px;
    padding:12px 10px;
    border-radius:12px;
    display:flex;
    align-items:center;
    color:#EADEC8 !important;
    font-size:16px;
    line-height:1.4;
  }

  .header nav a:after{
    display:none;
  }

  .header nav a:hover{
    background:rgba(234,222,200,.10);
    color:#B4B291 !important;
  }
}

/* ===== Mobile horizontal experience ===== */
.mobile-nav-panel,
.mobile-snap-dots,
.mobile-snap-counter{
  display:none;
}

@media(min-width:761px) and (max-width:860px){
  .unit-block .units-table-wrap{
    display:block !important;
  }

  .mobile-units-list{
    display:none !important;
  }
}

@media(max-width:760px){
  .project-summary,
  .project-gallery.ethmar-gallery-section,
  .project-about,
  .units-section,
  .features-guarantees,
  .nearby-section,
  .project-interest{
    padding:56px 16px !important;
  }

  .project-section-head,
  .ethmar-gallery-head{
    margin-bottom:24px !important;
  }

  .project-section-head h2,
  .ethmar-gallery-head h2{
    font-size:34px !important;
    line-height:1.15 !important;
  }

  .project-section-head p,
  .ethmar-gallery-head p{
    font-size:15px !important;
    line-height:1.7 !important;
  }

  .header nav > a{
    display:none !important;
  }

  .mobile-nav-panel{
    display:grid;
    gap:14px;
  }

  .mobile-nav-links{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .mobile-nav-links a{
    min-height:46px !important;
    padding:11px 12px !important;
    background:rgba(234,222,200,.08);
    justify-content:flex-start;
  }

  .mobile-nav-contact{
    display:flex;
    justify-content:space-between;
    gap:10px;
    padding-top:12px;
    border-top:1px solid rgba(234,222,200,.14);
  }

  .mobile-nav-contact a{
    min-height:auto !important;
    padding:0 !important;
    font-size:12px !important;
    color:#B4B291 !important;
  }

  .ethmar-gallery-grid,
  .fg-items,
  .nearby-grid,
  .mobile-units-list{
    display:flex !important;
    align-items:stretch;
    gap:14px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    max-width:100%;
    padding:0 0 8px !important;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:0;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }

  .ethmar-gallery-grid::-webkit-scrollbar,
  .fg-items::-webkit-scrollbar,
  .nearby-grid::-webkit-scrollbar,
  .mobile-units-list::-webkit-scrollbar{
    display:none;
  }

  .ethmar-gallery-card,
  .ethmar-gallery-card.is-main,
  .ethmar-gallery-card:nth-child(6){
    flex:0 0 86vw !important;
    width:86vw !important;
    height:240px !important;
    min-height:240px !important;
    max-width:86vw !important;
    grid-column:auto !important;
    grid-row:auto !important;
    scroll-snap-align:start;
  }

  .ethmar-gallery-card span{
    opacity:1 !important;
    transform:none !important;
    max-width:calc(100% - 28px);
  }

  .refined-fg-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .fg-box{
    padding:18px !important;
    border-radius:22px !important;
  }

  .fg-head{
    margin-bottom:14px !important;
  }

  .fg-head h3{
    font-size:22px !important;
  }

  .fg-items{
    grid-template-columns:none !important;
  }

  .fg-item{
    flex:0 0 68vw !important;
    max-width:68vw;
    min-height:132px;
    scroll-snap-align:start;
  }

  .nearby-grid{
    grid-template-columns:none !important;
  }

  .nearby-grid article,
  .nearby-item{
    flex:0 0 82vw !important;
    width:82vw !important;
    max-width:82vw !important;
    min-height:170px;
    scroll-snap-align:start;
  }

  .unit-blocks{
    gap:18px !important;
  }

  .unit-block{
    border-radius:24px !important;
  }

  .unit-block-head{
    padding:18px !important;
    gap:14px !important;
  }

  .unit-block-head h3{
    font-size:34px !important;
  }

  .unit-block-stats{
    gap:8px !important;
  }

  .unit-block-stats span{
    min-width:0 !important;
    min-height:34px !important;
    padding:7px 10px !important;
    font-size:12px;
  }

  .mobile-units-list{
    padding:14px !important;
  }

  .mobile-unit-card{
    flex:0 0 86vw !important;
    width:86vw !important;
    max-width:86vw !important;
    scroll-snap-align:start;
  }

  .mobile-unit-details{
    gap:6px !important;
  }

  .mobile-unit-details div{
    grid-template-columns:minmax(76px, .32fr) minmax(0, 1fr) !important;
    gap:8px !important;
    padding:7px 0 !important;
  }

  .mobile-unit-details dt{
    font-size:12px !important;
  }

  .mobile-unit-details dd{
    font-size:13px !important;
    line-height:1.55 !important;
  }

  .mobile-unit-top strong{
    font-size:22px !important;
  }

  .mobile-snap-dots{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    margin:10px auto 0;
  }

  .mobile-snap-dots span{
    width:7px;
    height:7px;
    border-radius:999px;
    background:rgba(135,133,95,.26);
    transition:width .2s ease, background .2s ease;
  }

  .mobile-snap-dots span.active{
    width:20px;
    background:#56543A;
  }

  .mobile-snap-counter{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:64px;
    min-height:30px;
    margin:0 14px 14px auto;
    padding:5px 12px;
    border-radius:999px;
    background:rgba(135,133,95,.10);
    color:#56543A;
    font-weight:900;
    font-size:13px;
  }
}

/* ===== Rendered DOM mobile snap correction ===== */
.mobile-unit-slider{
  display:none;
}

@media(max-width:760px){
  .unit-block .units-table-wrap{
    display:none !important;
  }

  .mobile-units-list{
    display:none !important;
  }

  .mobile-unit-slider{
    display:block;
    max-width:100%;
    overflow:hidden;
  }

  .mobile-unit-track{
    display:flex;
    gap:14px;
    max-width:100%;
    padding:14px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }

  .mobile-unit-track::-webkit-scrollbar{
    display:none;
  }

  .mobile-unit-track .mobile-unit-card{
    flex:0 0 86vw !important;
    width:86vw !important;
    max-width:86vw !important;
    min-height:0;
    scroll-snap-align:start;
  }

  .mobile-unit-summary{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin:0;
  }

  .mobile-unit-summary div{
    padding:10px 12px;
    border-radius:14px;
    background:rgba(234,222,200,.55);
  }

  .mobile-unit-summary dt{
    color:#6E6C49;
    font-size:12px;
    font-weight:900;
    line-height:1.3;
  }

  .mobile-unit-summary dd{
    margin:4px 0 0;
    color:#2B2C1C;
    font-size:15px;
    font-weight:900;
    line-height:1.4;
    white-space:normal;
  }

  .mobile-unit-brief{
    display:grid;
    gap:5px;
    padding:12px 0 2px;
    border-top:1px solid rgba(43,44,28,.10);
  }

  .mobile-unit-brief span{
    color:#56543A;
    font-size:13px;
    font-weight:900;
  }

  .mobile-unit-brief p,
  .mobile-unit-brief small{
    margin:0;
    color:#6F654F;
    font-size:13px;
    line-height:1.55;
    font-weight:700;
    white-space:normal;
    overflow-wrap:break-word;
  }

  .mobile-unit-counter{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:64px;
    min-height:30px;
    margin:0 14px 14px auto;
    padding:5px 12px;
    border-radius:999px;
    background:rgba(135,133,95,.10);
    color:#56543A;
    font-weight:900;
    font-size:13px;
  }

  .fg-item{
    flex-basis:82vw !important;
    max-width:82vw !important;
  }

  .ethmar-gallery-grid,
  .fg-items,
  .nearby-grid,
  .mobile-unit-track{
    overscroll-behavior-inline:contain;
  }
}

@media(min-width:761px) and (max-width:860px){
  .unit-block .units-table-wrap{
    display:none !important;
  }

  .mobile-units-list{
    display:none !important;
  }

  .mobile-unit-slider{
    display:block;
    max-width:100%;
    overflow:hidden;
  }

  .mobile-unit-track{
    display:flex;
    gap:14px;
    max-width:100%;
    padding:14px;
    box-sizing:border-box;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }

  .mobile-unit-track::-webkit-scrollbar{
    display:none;
  }

  .mobile-unit-track .mobile-unit-card{
    flex:0 0 86vw !important;
    width:86vw !important;
    max-width:86vw !important;
    min-height:0;
    scroll-snap-align:start;
  }

  .mobile-unit-summary{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin:0;
  }

  .mobile-unit-summary div{
    padding:10px 12px;
    border-radius:14px;
    background:rgba(234,222,200,.55);
  }

  .mobile-unit-summary dt{
    color:#6E6C49;
    font-size:12px;
    font-weight:900;
    line-height:1.3;
  }

  .mobile-unit-summary dd{
    margin:4px 0 0;
    color:#2B2C1C;
    font-size:15px;
    font-weight:900;
    line-height:1.4;
    white-space:normal;
  }

  .mobile-unit-brief{
    display:grid;
    gap:5px;
    padding:12px 0 2px;
    border-top:1px solid rgba(43,44,28,.10);
  }

  .mobile-unit-brief span{
    color:#56543A;
    font-size:13px;
    font-weight:900;
  }

  .mobile-unit-brief p,
  .mobile-unit-brief small{
    margin:0;
    color:#6F654F;
    font-size:13px;
    line-height:1.55;
    font-weight:700;
    white-space:normal;
    overflow-wrap:break-word;
  }

  .mobile-unit-counter{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:64px;
    min-height:30px;
    margin:0 14px 14px auto;
    padding:5px 12px;
    border-radius:999px;
    background:rgba(135,133,95,.10);
    color:#56543A;
    font-weight:900;
    font-size:13px;
  }
}

/* ===== Campaign landing page ===== */
.landing-body{
  min-height:100vh;
  background:var(--paper);
}

.landing-loading{
  min-height:100vh;
  display:grid;
  place-content:center;
  gap:10px;
  padding:32px;
  text-align:center;
}

.landing-hero{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(0, .92fr) minmax(0, 1fr);
  background:var(--paper);
}

.landing-visual{
  position:relative;
  min-height:100vh;
  overflow:hidden;
}

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

.landing-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(43,44,28,.08), rgba(43,44,28,.34));
}

.landing-visual span{
  position:absolute;
  inset-block-start:24px;
  inset-inline-start:24px;
  z-index:1;
  padding:9px 16px;
  border-radius:999px;
  background:var(--brown);
  color:var(--sand);
  font-weight:900;
}

.landing-copy{
  display:grid;
  align-content:center;
  gap:18px;
  padding:54px min(6vw, 78px);
}

.landing-logo img{
  width:128px;
  height:auto;
}

.landing-copy h1{
  color:var(--brown);
  font-size:clamp(38px, 5.8vw, 76px);
  line-height:1.08;
}

.landing-copy p{
  color:var(--muted);
  font-size:18px;
}

.landing-stats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}

.landing-stats div{
  padding:14px;
  border-radius:18px;
  background:var(--cream);
  border:1px solid var(--line);
}

.landing-stats span{
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
}

.landing-stats strong{
  display:block;
  color:var(--text);
  margin-top:3px;
}

.landing-features{
  list-style:none;
  display:grid;
  gap:10px;
}

.landing-features li{
  padding:12px 14px;
  border-radius:18px;
  background:rgba(234,222,200,.65);
  color:var(--text);
  font-weight:800;
}

.landing-form{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  padding:18px;
  border-radius:24px;
  background:rgba(255,255,255,.52);
  border:1px solid var(--line);
}

.landing-form label{
  display:grid;
  gap:7px;
}

.landing-form span{
  color:var(--brown);
  font-size:13px;
  font-weight:900;
}

.landing-form input,
.landing-form textarea{
  width:100%;
  min-width:0;
  border:1px solid rgba(135,133,95,.18);
  border-radius:16px;
  background:var(--paper);
  color:var(--text);
  padding:12px;
  outline:none;
}

.landing-form .full{
  grid-column:1 / -1;
  margin:0;
}

@media(max-width:900px){
  .landing-hero{
    grid-template-columns:1fr;
  }

  .landing-visual{
    min-height:42vh;
  }

  .landing-copy{
    padding:34px 18px 48px;
  }
}

@media(max-width:620px){
  .landing-stats,
  .landing-form{
    grid-template-columns:1fr;
  }
}

.home-snap-indicator{
  display:none;
}

@media(max-width:760px){
  body.home-page{
    overflow-x:hidden;
  }

  .home-page .topbar{
    display:none;
  }

  .home-page .header{
    min-height:64px;
    height:64px;
    padding:9px 16px !important;
    align-items:center;
    gap:12px;
  }

  .home-page .logo{
    flex:0 0 auto;
  }

  .home-page .logo img{
    width:92px !important;
    height:auto;
  }

  .home-page .burger{
    display:flex !important;
    width:42px;
    height:42px;
    margin-inline-start:auto;
    border:1px solid rgba(234,222,200,.16);
    border-radius:14px;
  }

  .home-page .header-cta{
    display:none !important;
  }

  .home-page nav{
    inset:64px 12px auto 12px !important;
    max-height:calc(100dvh - 78px);
    padding:14px !important;
    border:1px solid rgba(234,222,200,.16) !important;
    border-radius:0 0 22px 22px;
    overflow-y:auto;
    box-shadow:0 18px 42px rgba(43,44,28,.18);
  }

  .home-page .mobile-nav-panel{
    gap:12px;
  }

  .home-page .mobile-nav-links{
    grid-template-columns:1fr;
    gap:7px;
  }

  .home-page .mobile-nav-links a{
    min-height:42px !important;
    padding:10px 12px !important;
    border-radius:14px;
    font-size:15px !important;
    font-weight:800;
  }

  .home-page .mobile-nav-contact{
    display:grid;
    justify-content:stretch;
    gap:4px;
    padding-top:10px;
  }

  .home-page .mobile-nav-contact a{
    font-size:12px !important;
    text-align:right;
  }

  .home-page .hero{
    min-height:auto;
    padding:38px 16px 44px !important;
  }

  .home-page .hero-grid{
    gap:20px !important;
  }

  .home-page .hero h1{
    font-size:clamp(31px, 9vw, 42px);
    line-height:1.14;
  }

  .home-page .hero p{
    max-width:none;
    font-size:15px;
    line-height:1.75;
    margin-top:14px;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }

  .home-page .hero-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:20px;
  }

  .home-page .hero-actions .btn{
    min-height:42px;
    padding:10px 12px;
    justify-content:center;
    font-size:14px;
  }

  .home-page .hero-meta{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:8px;
    margin-top:22px;
    padding-top:18px;
  }

  .home-page .hero-meta li{
    min-width:0;
    align-items:center;
    text-align:center;
  }

  .home-page .hero-meta strong{
    font-size:22px !important;
  }

  .home-page .hero-meta span{
    font-size:11px;
  }

  .home-page .hero-card{
    min-height:120px !important;
    border-radius:24px;
  }

  .home-page .hero-note{
    inset:auto 14px 14px 14px;
    padding:16px;
    border-radius:20px;
  }

  .home-page .hero-note strong{
    font-size:18px;
  }

  .home-page .scroll-cue{
    display:none;
  }

  .home-page .manifesto{
    padding:10px 0;
  }

  .home-page .manifesto-track span{
    font-size:18px;
    padding-inline:18px;
  }

  .home-page .pillars,
  .home-page .showcase,
  .home-page .services,
  .home-page .process,
  .home-page .partners,
  .home-page .quotes,
  .home-page .about,
  .home-page .blog,
  .home-page .faq,
  .home-page .interest,
  .home-page .newsletter{
    padding:52px 16px !important;
  }

  .home-page .showcase-head,
  .home-page .services-head,
  .home-page .process-head,
  .home-page .partners-head,
  .home-page .quotes-head,
  .home-page .blog-head,
  .home-page .faq-head,
  .home-page .pillars-head{
    margin-bottom:20px !important;
    text-align:right;
  }

  .home-page .showcase-head .kicker,
  .home-page .services-head .kicker,
  .home-page .process-head .kicker,
  .home-page .partners-head .kicker,
  .home-page .quotes-head .kicker,
  .home-page .blog-head .kicker,
  .home-page .faq-head .kicker,
  .home-page .pillars-head .kicker{
    justify-content:flex-start;
  }

  .home-page .showcase-head h2,
  .home-page .services-head h2,
  .home-page .process-head h2,
  .home-page .partners-head h2,
  .home-page .quotes-head h2,
  .home-page .blog-head h2,
  .home-page .faq-head h2,
  .home-page .pillars-head h2,
  .home-page .about-text h2,
  .home-page .interest-text h2{
    font-size:clamp(27px, 7vw, 34px) !important;
    line-height:1.2 !important;
    margin-top:6px;
  }

  .home-page .showcase-head p,
  .home-page .blog-head p,
  .home-page .about-text > p{
    font-size:14px !important;
    line-height:1.7;
  }

  .home-page #projectsContainer,
  .home-page .services-grid,
  .home-page .process-steps,
  .home-page .blog-grid,
  .home-page .pillars-grid,
  .home-page .about-pillars{
    display:flex !important;
    grid-template-columns:none !important;
    align-items:stretch;
    gap:14px !important;
    overflow-x:auto;
    overflow-y:hidden;
    max-width:100%;
    padding:2px 0 10px !important;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    animation:none !important;
  }

  .home-page #projectsContainer::-webkit-scrollbar,
  .home-page .services-grid::-webkit-scrollbar,
  .home-page .process-steps::-webkit-scrollbar,
  .home-page .blog-grid::-webkit-scrollbar,
  .home-page .pillars-grid::-webkit-scrollbar,
  .home-page .about-pillars::-webkit-scrollbar{
    display:none;
  }

  .home-page .showcase-card{
    flex:0 0 86vw;
    width:86vw;
    max-width:86vw;
    display:flex;
    flex-direction:column;
    grid-template-columns:none !important;
    border-radius:22px;
    scroll-snap-align:start;
    box-shadow:0 16px 36px rgba(135,133,95,.14);
  }

  .home-page .showcase-img{
    min-height:0 !important;
    height:250px;
    aspect-ratio:auto;
  }

  .home-page .project-status-badge{
    top:14px;
    left:14px;
    min-width:66px;
    padding:6px 13px;
    font-size:12px;
  }

  .home-page .project-card-mark{
    top:18px;
    right:14px;
    width:34px;
  }

  .home-page .showcase-img-foot{
    padding:18px;
  }

  .home-page .showcase-img-foot h3{
    font-size:19px;
    line-height:1.4;
  }

  .home-page .showcase-info{
    padding:14px !important;
  }

  .home-page .project-progress-head{
    font-size:12px;
    margin-bottom:7px;
  }

  .home-page .showcase-info > p,
  .home-page .project-card-desc{
    font-size:12px;
    line-height:1.6;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }

  .home-page .showcase-stats{
    grid-template-columns:1fr 1fr !important;
    gap:0;
    margin:13px 0 10px;
  }

  .home-page .showcase-stats div{
    padding:10px 2px;
  }

  .home-page .showcase-stats strong{
    font-size:13px;
  }

  .home-page .project-card-features{
    flex-wrap:nowrap;
    overflow-x:auto;
    scrollbar-width:none;
    padding-bottom:1px;
  }

  .home-page .project-card-features::-webkit-scrollbar{
    display:none;
  }

  .home-page .project-card-features li{
    flex:0 0 auto;
    max-width:78%;
  }

  .home-page .showcase-actions .project-detail-btn{
    min-height:42px;
    padding:10px 15px;
  }

  /* ── Homepage projects: peek carousel (neighbours visible both sides) ── */
  .home-page #projectsContainer{
    gap:16px !important;
    padding:4px 11vw 10px !important;       /* side padding lets cards center */
    scroll-snap-type:x mandatory !important;
    scroll-padding-inline:11vw !important;
  }

  .home-page .showcase-card{
    flex:0 0 78vw !important;
    width:78vw !important;
    max-width:360px !important;
    scroll-snap-align:center !important;     /* active card centers, neighbours peek */
    border-radius:22px;
    transition:opacity .35s ease, transform .35s ease;
  }

  /* keep the full rich card; just tidy spacing */
  .home-page .showcase .showcase-img{height:210px !important;min-height:0 !important}
  .home-page .showcase-info{padding:16px !important}

  .home-page .features{
    display:flex;
    gap:8px;
    overflow-x:auto;
    scrollbar-width:none;
    padding-bottom:2px;
  }

  .home-page .features::-webkit-scrollbar{
    display:none;
  }

  .home-page .features li{
    flex:0 0 auto;
    max-width:72%;
    padding:7px 10px;
    border-radius:999px;
    background:rgba(135,133,95,.08);
    font-size:13px;
    white-space:nowrap;
  }

  .home-page .services-grid article,
  .home-page .blog-grid article,
  .home-page .pillars-grid article,
  .home-page .about-pillars > div{
    flex:0 0 72vw;
    width:72vw;
    max-width:72vw;
    min-height:190px;
    scroll-snap-align:start;
  }

  .home-page .process-steps li{
    flex:0 0 82vw;
    width:82vw;
    max-width:82vw;
    min-height:220px;
    scroll-snap-align:start;
    border:1px solid var(--line) !important;
    border-radius:24px;
  }

  .home-page .services-grid article,
  .home-page .pillars-grid article,
  .home-page .about-pillars > div{
    padding:22px !important;
    border-radius:24px !important;
  }

  .home-page .blog-grid article{
    border-radius:24px;
  }

  .home-page .blog-grid img{
    height:150px;
  }

  .home-page .blog-body{
    padding:18px;
  }

  .home-page .blog-grid h3{
    font-size:17px;
  }

  .home-snap-dots{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:6px;
    min-height:18px;
    margin-top:4px;
  }

  .home-snap-dots span{
    width:7px;
    height:7px;
    border-radius:999px;
    background:rgba(135,133,95,.24);
    transition:width .2s ease, background .2s ease;
  }

  .home-snap-dots span.active{
    width:20px;
    background:#56543A;
  }

  .home-snap-counter{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:64px;
    min-height:30px;
    margin:4px 0 0 auto;
    padding:5px 12px;
    border-radius:999px;
    background:rgba(135,133,95,.10);
    color:#56543A;
    font-size:13px;
    font-weight:900;
  }

  .home-page .partners{
    padding-block:40px !important;
  }

  .home-page .partners-head{
    margin-bottom:16px !important;
    padding-inline:16px !important;
  }

  .home-page .marquee{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }

  .home-page .marquee::-webkit-scrollbar{
    display:none;
  }

  .home-page .marquee .track{
    animation:none !important;
    width:max-content;
    gap:12px;
    padding-inline:16px;
  }

  .home-page .marquee img{
    width:112px;
    height:68px;
    padding:12px;
    border-radius:18px;
  }

  .home-page .faq-list{
    gap:8px;
  }

  .home-page .faq-list details{
    border-radius:18px;
  }

  .home-page .faq-list summary{
    min-height:54px;
    padding:14px 16px;
  }

  .home-page .faq-list details p{
    padding:0 16px 16px;
    font-size:14px;
    line-height:1.7;
  }

  .home-page .interest{
    gap:18px;
  }

  .home-page .interest-text{
    margin:0 !important;
  }

  .home-page .contact-title-only{
    display:block;
    min-height:auto;
  }

  .home-page .interest-form{
    padding:18px !important;
    gap:10px;
    border-radius:24px;
  }

  .home-page .field,
  .home-page .interest-form label{
    gap:4px;
  }

  .home-page .field label{
    font-size:12px;
    line-height:1.3;
  }

  .home-page .interest-form input,
  .home-page .interest-form select,
  .home-page .interest-form textarea{
    min-height:36px !important;
    padding:7px 10px;
    border-radius:12px;
    font-size:13px;
  }

  .home-page .interest-form textarea,
  .home-page .unified-form textarea{
    min-height:58px !important;
  }

  .home-page .unified-form .field.full:first-child{
    padding:10px;
    border-radius:16px;
  }

  .home-page .interest-form button{
    min-height:42px;
    padding:10px !important;
  }

  .home-page .newsletter{
    display:none;
  }

  .home-page footer{
    max-width:100%;
    overflow:hidden;
    content-visibility:visible !important;
    contain:none !important;
    contain-intrinsic-size:auto !important;
  }

  .home-page .footer-top{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    padding:28px 16px 16px !important;
    text-align:center;
  }

  .home-page .footer-brand img{
    width:86px;
    margin:0 auto 8px;
  }

  .home-page .footer-brand p{
    max-width:280px;
    margin:0 auto 12px;
    font-size:13px;
    line-height:1.65;
  }

  .home-page .footer-icons{
    justify-content:center;
    gap:8px;
  }

  .home-page .footer-icons a{
    width:36px;
    height:36px;
  }

  .home-page .footer-col{
    display:none;
  }

  .home-page .footer-col:last-of-type{
    display:grid;
    gap:5px;
  }

  .home-page .footer-col:last-of-type h5,
  .home-page .footer-col:last-of-type span{
    display:none;
  }

  .home-page .footer-col:last-of-type a{
    font-size:13px;
    line-height:1.5;
  }

  .home-page .footer-bottom{
    display:grid;
    gap:4px;
    padding:12px 16px 18px !important;
    text-align:center;
    font-size:12px;
  }
}

@media(min-width:761px){
  .home-page .showcase .showcase-img{
    min-height:0;
    height:315px;
  }
}

@media(max-width:760px){
  body.about-page{
    overflow-x:hidden;
  }

  .about-page .topbar{
    display:none;
  }

  .about-page .header{
    min-height:64px;
    height:64px;
    padding:9px 16px !important;
    align-items:center;
    gap:12px;
  }

  .about-page .logo{
    flex:0 0 auto;
  }

  .about-page .logo img{
    width:92px !important;
    height:auto;
  }

  .about-page .burger{
    display:flex !important;
    width:42px;
    height:42px;
    margin-inline-start:auto;
    border:1px solid rgba(234,222,200,.16);
    border-radius:14px;
  }

  .about-page .header-cta{
    display:none !important;
  }

  .about-page nav{
    inset:64px 12px auto 12px !important;
    max-height:calc(100dvh - 78px);
    padding:14px !important;
    border:1px solid rgba(234,222,200,.16) !important;
    border-radius:0 0 22px 22px;
    overflow-y:auto;
    box-shadow:0 18px 42px rgba(43,44,28,.18);
  }

  .about-page .mobile-nav-panel{
    gap:12px;
  }

  .about-page .mobile-nav-links{
    grid-template-columns:1fr;
    gap:7px;
  }

  .about-page .mobile-nav-links a{
    min-height:42px !important;
    padding:10px 12px !important;
    border-radius:14px;
    font-size:15px !important;
    font-weight:800;
  }

  .about-page .mobile-nav-contact{
    display:grid;
    justify-content:stretch;
    gap:4px;
    padding-top:10px;
  }

  .about-page .mobile-nav-contact a{
    font-size:12px !important;
    text-align:right;
  }

  .about-page .about-hero{
    padding:50px 16px 54px;
  }

  .about-page .about-hero-inner{
    text-align:right;
  }

  .about-page .about-hero .kicker{
    justify-content:flex-start;
  }

  .about-page .about-hero h1{
    font-size:clamp(38px, 11vw, 48px);
    margin:8px 0 10px;
  }

  .about-page .about-hero p{
    font-size:15px;
    line-height:1.75;
  }

  .about-page .about-hero-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:20px;
  }

  .about-page .about-hero-actions .btn{
    min-width:0;
    min-height:42px;
    padding:10px 12px;
    font-size:14px;
  }

  .about-page .manifesto{
    padding:10px 0;
  }

  .about-page .manifesto-track span{
    font-size:18px;
    padding-inline:18px;
  }

  .about-page .about,
  .about-page .pillars,
  .about-page .services,
  .about-page .process,
  .about-page .partners,
  .about-page .quotes,
  .about-page .blog,
  .about-page .faq{
    padding:52px 16px !important;
  }

  .about-page .about-grid{
    grid-template-columns:1fr;
    gap:22px;
  }

  .about-page .about-text h2,
  .about-page .pillars-head h2,
  .about-page .services-head h2,
  .about-page .process-head h2,
  .about-page .partners-head h2,
  .about-page .quotes-head h2,
  .about-page .blog-head h2,
  .about-page .faq-head h2{
    font-size:clamp(27px, 7vw, 34px) !important;
    line-height:1.2 !important;
    margin-top:6px;
  }

  .about-page .pillars-head,
  .about-page .services-head,
  .about-page .process-head,
  .about-page .partners-head,
  .about-page .quotes-head,
  .about-page .blog-head,
  .about-page .faq-head{
    margin-bottom:20px !important;
    text-align:right;
  }

  .about-page .pillars-head .kicker,
  .about-page .services-head .kicker,
  .about-page .process-head .kicker,
  .about-page .quotes-head .kicker,
  .about-page .blog-head .kicker,
  .about-page .faq-head .kicker{
    justify-content:flex-start;
  }

  .about-page .services-grid,
  .about-page .process-steps,
  .about-page .quotes-grid,
  .about-page .blog-grid,
  .about-page .pillars-grid,
  .about-page .about-pillars{
    display:flex !important;
    grid-template-columns:none !important;
    align-items:stretch;
    gap:14px !important;
    width:auto !important;
    overflow-x:auto;
    overflow-y:hidden;
    max-width:100%;
    padding:2px 0 10px !important;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    animation:none !important;
  }

  .about-page .services-grid::-webkit-scrollbar,
  .about-page .process-steps::-webkit-scrollbar,
  .about-page .quotes-grid::-webkit-scrollbar,
  .about-page .blog-grid::-webkit-scrollbar,
  .about-page .pillars-grid::-webkit-scrollbar,
  .about-page .about-pillars::-webkit-scrollbar{
    display:none;
  }

  .about-page .services-grid article,
  .about-page .blog-grid article,
  .about-page .pillars-grid article,
  .about-page .about-pillars > div{
    flex:0 0 72vw;
    width:72vw;
    max-width:72vw;
    min-height:190px;
    scroll-snap-align:start;
  }

  .about-page .process-steps li,
  .about-page .quotes-grid figure{
    flex:0 0 82vw;
    width:82vw;
    max-width:82vw;
    scroll-snap-align:start;
  }

  .about-page .quotes-grid .quote-clone{
    display:none !important;
  }

  .about-page .partners{
    padding-block:40px !important;
  }

  .about-page .partners-head{
    margin-bottom:16px !important;
  }

  .about-page .marquee{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    scroll-snap-type:x proximity;
  }

  .about-page .marquee::-webkit-scrollbar{
    display:none;
  }

  .about-page .marquee .track{
    animation:none !important;
    width:max-content;
    gap:12px;
    padding-inline:0;
  }

  .about-page .marquee img{
    width:112px;
    height:68px;
    padding:14px;
    border-radius:18px;
    scroll-snap-align:start;
  }

  .about-page .faq-list{
    gap:8px;
  }

  .about-page .faq-list details{
    border-radius:18px;
  }

  .about-page .faq-list summary{
    padding:16px;
    font-size:15px;
  }

  .about-page .faq-list details p{
    padding:0 16px 16px;
    font-size:14px;
  }

  .about-page footer{
    max-width:100%;
    overflow:hidden;
    content-visibility:visible !important;
    contain:none !important;
    contain-intrinsic-size:auto !important;
  }

  .about-page .footer-top{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    padding:28px 16px 16px !important;
    text-align:center;
  }

  .about-page .footer-brand img{
    width:86px;
    margin:0 auto 8px;
  }

  .about-page .footer-brand p{
    max-width:280px;
    margin:0 auto 12px;
    font-size:13px;
    line-height:1.65;
  }

  .about-page .footer-icons{
    justify-content:center;
    gap:8px;
  }

  .about-page .footer-icons a{
    width:36px;
    height:36px;
  }

  .about-page .footer-col{
    display:none;
  }

  .about-page .footer-col:last-of-type{
    display:grid;
    gap:5px;
  }

  .about-page .footer-col:last-of-type h5,
  .about-page .footer-col:last-of-type span{
    display:none;
  }

  .about-page .footer-col:last-of-type a{
    font-size:13px;
    line-height:1.5;
  }

  .about-page .footer-bottom{
    display:grid;
    gap:4px;
    padding:12px 16px 18px !important;
    text-align:center;
    font-size:12px;
  }
}

@media(max-width:380px){
  .about-page .about-hero-actions{
    grid-template-columns:1fr;
  }
}

/* ===== Refined project interest section ===== */
.project-interest{
  position:relative;
  isolation:isolate;
  max-width:min(1220px, calc(100% - 40px));
  margin:96px auto;
  padding:18px !important;
  grid-template-columns:minmax(300px, .88fr) minmax(440px, 1.12fr);
  gap:18px;
  align-items:stretch;
  background:
    radial-gradient(circle at 8% 12%, rgba(201,170,124,.34), transparent 32%),
    linear-gradient(135deg, #F7F0E4 0%, #EFE5D2 48%, #E7D6BB 100%);
  border:1px solid rgba(135,133,95,.14);
  border-radius:36px;
  box-shadow:0 24px 70px rgba(43,44,28,.11);
  overflow:hidden;
  content-visibility:visible !important;
  contain:none !important;
  contain-intrinsic-size:auto !important;
}

.project-interest:before{
  content:"";
  position:absolute;
  inset:auto auto -86px -72px;
  width:260px;
  aspect-ratio:1;
  background:url("../assets/pattern.svg") center/contain no-repeat;
  opacity:.08;
  pointer-events:none;
  z-index:-1;
}

.project-interest-copy{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:100%;
  padding:42px;
  color:var(--cream);
  background:
    linear-gradient(160deg, rgba(135,133,95,.96), rgba(74,42,22,.96)),
    var(--brown);
  border-radius:28px;
  overflow:hidden;
}

.project-interest-copy:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, transparent, rgba(234,222,200,.09));
  pointer-events:none;
}

.project-interest-copy .kicker{
  color:#DEDCC2;
}

.project-interest-copy h2{
  color:var(--cream);
  max-width:520px;
  margin:18px 0 16px;
  font-size:clamp(38px, 4.4vw, 64px);
  letter-spacing:0;
}

.project-interest-copy > p{
  max-width:540px;
  color:#E4D6C0;
  font-size:18px;
  line-height:1.9;
}

.project-interest-perks{
  margin-top:30px;
  gap:10px;
}

.project-interest-perks li{
  color:#FFF8EA;
  font-weight:800;
}

.project-interest-perks li:before{
  background:#DEDCC2;
  color:var(--brown);
}

.project-interest-contact{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:34px;
  padding:16px 18px;
  border:1px solid rgba(234,222,200,.18);
  border-radius:18px;
  background:rgba(234,222,200,.08);
  color:#E4D6C0;
  font-size:14px;
}

.project-interest-contact a{
  color:#D9D7B0;
  font-size:20px;
  font-weight:900;
  text-decoration:none;
}

.project-interest-form{
  align-content:start;
  grid-template-columns:1fr;
  gap:18px;
  padding:38px;
  border:1px solid rgba(135,133,95,.13);
  border-radius:28px;
  background:#FFF8EA;
  box-shadow:0 18px 50px rgba(43,44,28,.10);
}

.project-form-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  padding-bottom:18px;
  border-bottom:1px solid rgba(135,133,95,.13);
}

.project-form-head span{
  color:var(--gold);
  font-size:14px;
  font-weight:900;
}

.project-form-head strong{
  color:var(--brown);
  font-size:30px;
  line-height:1.1;
}

.project-interest-form .form-row{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}

.project-interest-form .form-type{
  grid-template-columns:1fr;
}

.project-interest-form label{
  min-width:0;
}

.project-interest-form .field{
  gap:9px;
}

.project-interest-form .field span{
  color:var(--brown);
  font-size:14px;
  font-weight:900;
}

.project-interest-form input,
.project-interest-form textarea{
  width:100%;
  background:#FFF8EA;
  border-color:rgba(135,133,95,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}

.project-interest-form textarea{
  min-height:116px;
}

.project-interest-form input:focus,
.project-interest-form textarea:focus{
  border-color:rgba(135,133,95,.55);
  box-shadow:0 0 0 4px rgba(201,170,124,.18);
}

.project-interest-form .radio-label{
  display:flex;
  align-items:center;
  gap:10px;
  width:max-content;
  max-width:100%;
  padding:12px 16px;
  color:var(--brown);
  font-weight:900;
  background:rgba(135,133,95,.08);
  border:1px solid rgba(135,133,95,.13);
  border-radius:999px;
}

.project-interest-form .radio-label input{
  width:auto;
  accent-color:var(--brown);
}

.project-interest-form .radio-label i{
  display:none;
}

.project-interest-form .btn{
  min-height:58px;
  margin-top:4px;
  border-radius:18px;
  font-size:17px;
  box-shadow:0 14px 28px rgba(135,133,95,.20);
}

@media(max-width:980px){
  .project-interest{
    max-width:calc(100% - 32px);
    margin:72px auto;
    grid-template-columns:1fr;
  }

  .project-interest-copy{
    min-height:auto;
  }
}

@media(max-width:760px){
  .project-interest{
    max-width:calc(100% - 24px);
    margin:56px auto;
    padding:12px !important;
    border-radius:26px;
  }

  .project-interest-copy,
  .project-interest-form{
    padding:24px;
    border-radius:20px;
  }

  .project-interest-copy h2{
    font-size:34px;
    line-height:1.18;
  }

  .project-interest-copy > p{
    font-size:15px;
  }

  .project-interest-contact{
    display:grid;
    justify-items:start;
    margin-top:24px;
  }

  .project-form-head{
    display:grid;
    gap:6px;
  }

  .project-form-head strong{
    font-size:24px;
  }

  .project-interest-form .form-row{
    grid-template-columns:1fr;
  }
}

/* ===== Compact project page pass ===== */
#projectContainer{
  overflow:hidden;
}

#projectContainer .project-summary,
#projectContainer .project-gallery,
#projectContainer .project-about,
#projectContainer .units-section,
#projectContainer .features-guarantees,
#projectContainer .nearby-section,
#projectContainer .project-cta,
#projectContainer .project-interest{
  content-visibility:visible !important;
  contain:none !important;
  contain-intrinsic-size:auto !important;
}

#projectContainer .project-hero{
  padding:56px 5vw 58px;
}

#projectContainer .project-hero::before{
  width:360px;
  left:-130px;
  bottom:-160px;
}

#projectContainer .project-hero-inner{
  max-width:1220px;
  gap:34px;
}

#projectContainer .breadcrumb{
  margin-bottom:14px;
}

#projectContainer .project-hero h1{
  max-width:640px;
  margin:12px 0 0;
  font-size:clamp(38px, 5vw, 66px);
  letter-spacing:0;
}

.project-location{
  margin-top:12px;
  color:var(--muted);
  font-size:18px;
  font-weight:800;
}

#projectContainer .project-hero-facts{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  margin-top:22px;
}

#projectContainer .project-hero-facts article{
  padding:14px 16px;
  border-radius:18px;
}

#projectContainer .project-hero-facts strong{
  font-size:17px;
  line-height:1.35;
}

#projectContainer .project-hero-actions{
  margin-top:22px;
}

#projectContainer .project-hero-media{
  border-radius:28px;
}

#projectContainer .project-hero-media img{
  height:500px !important;
}

#projectContainer .project-media-card{
  inset-inline:18px;
  bottom:18px;
  padding:16px 18px;
  border-radius:18px;
  backdrop-filter:none;
}

#projectContainer .project-media-card strong{
  font-size:20px;
}

#projectContainer .project-summary{
  padding:0 5vw 48px;
}

#projectContainer .summary-grid{
  max-width:1220px;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  border-radius:22px;
}

#projectContainer .summary-grid article{
  padding:16px 14px;
}

#projectContainer .summary-grid strong{
  font-size:16px;
  line-height:1.45;
}

#projectContainer .project-gallery.ethmar-gallery-section,
#projectContainer .project-about,
#projectContainer .units-section,
#projectContainer .features-guarantees,
#projectContainer .nearby-section{
  padding:72px 5vw;
}

#projectContainer .project-section-head,
#projectContainer .ethmar-gallery-head{
  max-width:680px;
  margin:0 auto 26px;
}

#projectContainer .project-section-head .kicker,
#projectContainer .ethmar-gallery-head .kicker,
#projectContainer .project-section-head p,
#projectContainer .ethmar-gallery-head p{
  display:none !important;
}

#projectContainer .project-section-head h2,
#projectContainer .ethmar-gallery-head h2{
  margin:0;
  font-size:clamp(30px, 4vw, 48px);
  line-height:1.15;
  letter-spacing:0;
}

#projectContainer .ethmar-gallery-grid{
  grid-template-columns:1.2fr 1fr 1fr 1fr;
  grid-auto-rows:200px;
}

#projectContainer .project-about-grid.project-about-brief{
  max-width:900px;
  display:block;
}

#projectContainer .project-about-text h2{
  margin:10px 0 14px;
  font-size:clamp(30px, 4vw, 46px);
  letter-spacing:0;
}

#projectContainer .project-about-text p{
  max-width:820px;
  margin:0;
  font-size:18px;
  line-height:1.9;
}

#projectContainer .unit-filters{
  margin-bottom:18px;
  justify-content:center;
}

#projectContainer .unit-filters button{
  min-height:42px;
  padding:9px 16px;
}

#projectContainer .unit-blocks{
  gap:22px;
}

#projectContainer .unit-block{
  border-radius:24px;
}

#projectContainer .unit-block-head{
  padding:22px 24px;
}

#projectContainer .unit-block-stats span{
  min-height:36px;
  padding:8px 12px;
}

#projectContainer .units-table th,
#projectContainer .units-table td{
  padding:14px 16px;
}

#projectContainer .refined-fg-grid,
#projectContainer .fg-grid{
  gap:18px;
}

#projectContainer .fg-box{
  padding:28px;
  border-radius:24px;
}

#projectContainer .fg-head{
  margin-bottom:16px;
}

#projectContainer .fg-box h3,
#projectContainer .fg-head h3{
  font-size:24px;
  margin-bottom:0;
}

#projectContainer .fg-items{
  gap:12px;
}

#projectContainer .fg-item{
  min-height:auto;
}

#projectContainer .nearby-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
}

#projectContainer .nearby-grid article,
#projectContainer .nearby-item{
  padding:22px;
  border-radius:22px;
}

#projectContainer .nearby-grid span,
#projectContainer .nearby-time{
  width:46px;
  height:46px;
  margin-bottom:12px;
}

#projectContainer .nearby-grid strong,
#projectContainer .nearby-info h3{
  font-size:19px;
  line-height:1.35;
}

#projectContainer .nearby-grid p,
#projectContainer .nearby-info p{
  margin:6px 0 0;
  font-size:14px;
  line-height:1.6;
}

#projectContainer .project-interest{
  max-width:min(1220px, calc(100% - 40px));
  margin:72px auto;
  grid-template-columns:minmax(280px, .82fr) minmax(420px, 1.18fr);
}

#projectContainer .project-interest-copy{
  padding:30px;
  border-radius:24px;
}

#projectContainer .project-interest-copy h2{
  max-width:none;
  margin:14px 0 12px;
  font-size:clamp(32px, 4vw, 48px);
  line-height:1.16;
}

#projectContainer .project-interest-copy > p{
  max-width:430px;
  font-size:16px;
  line-height:1.8;
}

#projectContainer .project-interest-contact{
  margin-top:22px;
}

#projectContainer .project-interest-form{
  padding:30px;
  border-radius:24px;
}

#projectContainer .project-form-head{
  padding-bottom:14px;
}

#projectContainer .project-form-head strong{
  font-size:25px;
}

#projectContainer .project-interest-form textarea{
  min-height:92px;
}

#projectContainer .project-interest-form .btn{
  min-height:54px;
}

@media(min-width:981px){
  #projectContainer .project-hero-inner{
    grid-template-columns:minmax(0, .96fr) minmax(360px, .86fr) !important;
  }

  #projectContainer .refined-fg-grid{
    grid-template-columns:1.08fr .92fr !important;
  }
}

@media(max-width:980px){
  #projectContainer .project-hero{
    padding:52px 24px 54px;
  }

  #projectContainer .project-hero-inner,
  #projectContainer .project-interest{
    grid-template-columns:1fr !important;
  }

  #projectContainer .project-hero-media img{
    height:380px !important;
  }

  #projectContainer .summary-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  #projectContainer .nearby-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  #projectContainer .ethmar-gallery-grid{
    grid-template-columns:1fr 1fr;
    grid-auto-rows:200px;
  }
}

@media(max-width:760px){
  #projectContainer .project-hero,
  #projectContainer .project-gallery.ethmar-gallery-section,
  #projectContainer .project-about,
  #projectContainer .units-section,
  #projectContainer .features-guarantees,
  #projectContainer .nearby-section{
    padding:48px 16px !important;
  }

  #projectContainer .project-hero{
    padding-top:34px !important;
  }

  #projectContainer .breadcrumb{
    display:none;
  }

  #projectContainer .eyebrow{
    font-size:12px;
  }

  #projectContainer .project-hero h1{
    font-size:36px;
    line-height:1.15;
  }

  .project-location{
    font-size:15px;
  }

  #projectContainer .project-hero-facts{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
    margin-top:18px;
  }

  #projectContainer .project-hero-facts article{
    padding:12px;
    border-radius:16px;
  }

  #projectContainer .project-hero-facts span{
    font-size:12px;
  }

  #projectContainer .project-hero-facts strong{
    font-size:14px;
  }

  #projectContainer .project-hero-media img{
    height:240px !important;
  }

  #projectContainer .project-status{
    top:14px;
    inset-inline-start:14px;
  }

  #projectContainer .project-media-card{
    inset-inline:12px;
    bottom:12px;
    padding:12px;
  }

  #projectContainer .project-media-card strong{
    font-size:16px;
  }

  #projectContainer .project-summary{
    padding:0 16px 34px !important;
  }

  #projectContainer .summary-grid{
    grid-template-columns:1fr 1fr;
    border-radius:18px;
  }

  #projectContainer .summary-grid article{
    padding:13px 10px;
  }

  #projectContainer .summary-grid span{
    font-size:12px;
  }

  #projectContainer .summary-grid strong{
    font-size:14px;
  }

  #projectContainer .project-section-head,
  #projectContainer .ethmar-gallery-head{
    margin-bottom:20px !important;
  }

  #projectContainer .project-section-head h2,
  #projectContainer .ethmar-gallery-head h2{
    font-size:30px !important;
  }

  #projectContainer .project-about-text h2{
    font-size:30px;
  }

  #projectContainer .project-about-text p{
    font-size:15px;
    line-height:1.85;
  }

  #projectContainer .unit-filters{
    justify-content:flex-start;
    gap:8px;
    overflow-x:auto;
    flex-wrap:nowrap;
    padding-bottom:4px;
    scrollbar-width:none;
  }

  #projectContainer .unit-filters::-webkit-scrollbar{
    display:none;
  }

  #projectContainer .unit-filters button{
    flex:0 0 auto;
    min-height:38px;
    padding:8px 13px;
    font-size:13px;
  }

  #projectContainer .unit-block-head{
    padding:16px !important;
  }

  #projectContainer .unit-block-head h3{
    font-size:30px !important;
  }

  #projectContainer .mobile-unit-track{
    padding:12px;
  }

  #projectContainer .mobile-unit-track .mobile-unit-card{
    flex-basis:82vw !important;
    width:82vw !important;
    max-width:82vw !important;
  }

  #projectContainer .fg-box{
    padding:18px !important;
  }

  #projectContainer .fg-item{
    flex-basis:76vw !important;
    max-width:76vw !important;
    min-height:118px;
  }

  #projectContainer .nearby-grid article,
  #projectContainer .nearby-item{
    flex-basis:78vw !important;
    width:78vw !important;
    max-width:78vw !important;
    min-height:152px;
    padding:20px;
  }

  #projectContainer .ethmar-gallery-card,
  #projectContainer .ethmar-gallery-card.is-main,
  #projectContainer .ethmar-gallery-card:nth-child(6){
    flex-basis:82vw !important;
    width:82vw !important;
    max-width:82vw !important;
    height:220px !important;
    min-height:220px !important;
  }

  #projectContainer .project-interest{
    max-width:calc(100% - 24px);
    margin:48px auto;
    padding:10px !important;
    border-radius:24px;
  }

  #projectContainer .project-interest-copy,
  #projectContainer .project-interest-form{
    padding:16px;
  }

  #projectContainer .project-interest-copy h2{
    font-size:30px;
  }

  #projectContainer .project-interest-copy > p{
    font-size:14px;
  }

  #projectContainer .project-interest-contact{
    margin-top:16px;
    padding:11px 12px;
  }

  #projectContainer .project-interest-form .form-row{
    gap:10px;
  }

  #projectContainer .project-interest-form .form-row:not(.form-type){
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  #projectContainer .project-form-head strong{
    font-size:20px;
  }

  #projectContainer .project-form-head{
    padding-bottom:10px;
  }

  #projectContainer .project-interest-form input,
  #projectContainer .project-interest-form textarea{
    min-height:44px;
    padding:10px 12px;
    font-size:13px;
  }

  #projectContainer .project-interest-form textarea{
    min-height:64px;
  }

  #projectContainer .project-interest-form .btn{
    min-height:48px;
    padding:12px !important;
  }
}

@media(min-width:761px) and (max-width:860px){
  #projectContainer .project-hero,
  #projectContainer .project-gallery.ethmar-gallery-section,
  #projectContainer .project-about,
  #projectContainer .units-section,
  #projectContainer .features-guarantees,
  #projectContainer .nearby-section{
    padding:54px 24px !important;
  }

  #projectContainer .project-hero-media img{
    height:300px !important;
  }

  #projectContainer .ethmar-gallery-grid,
  #projectContainer .fg-items,
  #projectContainer .nearby-grid{
    display:flex !important;
    align-items:stretch;
    gap:14px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    max-width:100%;
    padding:0 0 8px !important;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }

  #projectContainer .ethmar-gallery-grid::-webkit-scrollbar,
  #projectContainer .fg-items::-webkit-scrollbar,
  #projectContainer .nearby-grid::-webkit-scrollbar{
    display:none;
  }

  #projectContainer .ethmar-gallery-card,
  #projectContainer .ethmar-gallery-card.is-main,
  #projectContainer .ethmar-gallery-card:nth-child(6){
    flex:0 0 48vw !important;
    width:48vw !important;
    max-width:48vw !important;
    height:220px !important;
    min-height:220px !important;
    grid-column:auto !important;
    grid-row:auto !important;
    scroll-snap-align:start;
  }

  #projectContainer .refined-fg-grid{
    grid-template-columns:1fr !important;
  }

  #projectContainer .fg-item{
    flex:0 0 38vw !important;
    max-width:38vw !important;
    min-height:122px;
    scroll-snap-align:start;
  }

  #projectContainer .nearby-grid{
    grid-template-columns:none !important;
  }

  #projectContainer .nearby-grid article,
  #projectContainer .nearby-item{
    flex:0 0 42vw !important;
    width:42vw !important;
    max-width:42vw !important;
    min-height:150px;
    scroll-snap-align:start;
  }
}

@media(max-width:420px){
  #projectContainer .project-hero-facts,
  #projectContainer .summary-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  #projectContainer .project-hero h1{
    font-size:34px;
  }
}

@media(min-width:861px){
  #projectContainer .units-table{
    min-width:1240px;
  }

  #projectContainer .units-table th,
  #projectContainer .units-table td{
    padding:10px 12px;
    font-size:13px;
    line-height:1.45;
    vertical-align:middle;
  }

  #projectContainer .unit-features,
  #projectContainer .unit-specs{
    white-space:nowrap !important;
  }

  #projectContainer .units-table td:last-child{
    min-width:220px;
    display:flex !important;
    flex-direction:row;
    align-items:center;
    gap:6px;
  }

  #projectContainer .unit-booking-btn,
  #projectContainer .unit-waitlist-btn,
  #projectContainer .unit-plan-btn,
  #projectContainer .unit-sold-note{
    flex:1 1 0;
    min-height:34px;
    padding:7px 10px;
    font-size:12px;
    box-shadow:none;
    white-space:nowrap;
  }
}


/* ===== Rentals page ===== */
.rentals-hero{padding:92px 5vw 54px;background:#F7F0E4;overflow:hidden}.rentals-hero-inner{max-width:980px;margin:0 auto;text-align:center}.rentals-hero h1{font-size:clamp(44px,7vw,86px);line-height:1.05;color:#56543A;margin:12px 0 14px;letter-spacing:-.04em}.rentals-hero p{max-width:680px;margin:0 auto;color:#6F654F;font-size:18px;line-height:1.9}.rentals-hero-actions{margin-top:26px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.rentals-listing-section{padding:70px 5vw 110px;background:#F7F0E4}.rentals-section-head{max-width:1180px;margin:0 auto 24px}.rentals-section-head h2{font-size:clamp(32px,4vw,54px);color:#56543A;margin:8px 0}.rentals-filters{max-width:1180px;margin:0 auto 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.rentals-filters select{min-height:48px;border:1px solid rgba(135,133,95,.18);background:#fffaf2;color:#56543A;border-radius:16px;padding:0 14px;font-family:inherit;font-weight:800}.rentals-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.rental-card{background:#fffaf2;border:1px solid rgba(135,133,95,.12);border-radius:28px;overflow:hidden;box-shadow:0 16px 38px rgba(43,44,28,.08)}.rental-media{position:relative;height:230px;background:#EADEC8;overflow:hidden}.rental-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.rental-card:hover .rental-media img{transform:scale(1.045)}.rental-status{position:absolute;top:14px;inset-inline-start:14px;background:#87855F;color:#fff8ec;border-radius:999px;padding:7px 13px;font-size:13px;font-weight:900}.rental-body{padding:20px}.rental-body h3{color:#56543A;font-size:22px;line-height:1.35;margin:0 0 8px}.rental-location{color:#87855F;font-weight:900;margin:0 0 14px}.rental-price{display:flex;align-items:baseline;gap:8px;color:#56543A;margin-bottom:14px}.rental-price strong{font-size:28px}.rental-price span{color:#6F654F;font-weight:800}.rental-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.rental-meta span{background:#F7F0E4;border-radius:14px;padding:9px 10px;color:#56543A;font-weight:800;font-size:13px}.rental-desc{color:#6F654F;line-height:1.75;margin:0 0 14px}.rental-features{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.rental-features span{background:#EADEC8;color:#56543A;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}.rental-actions .btn{width:100%;justify-content:center}.rentals-empty,.rentals-error{max-width:1180px;margin:20px auto 0;padding:18px;border-radius:18px;background:#EADEC8;color:#56543A;font-weight:900;text-align:center}@media(max-width:980px){.rentals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rentals-filters{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.rentals-hero{padding:58px 20px 36px}.rentals-hero h1{font-size:40px}.rentals-hero p{font-size:16px}.rentals-listing-section{padding:46px 20px 72px}.rentals-filters{display:flex;overflow-x:auto;gap:10px;padding-bottom:8px}.rentals-filters select{flex:0 0 72%;min-width:210px}.rentals-grid{grid-template-columns:1fr;gap:16px}.rental-media{height:220px}.rental-card{border-radius:24px}.rental-body{padding:18px}.rental-price strong{font-size:24px}}

/* ===== Chrome rentals responsive fix ===== */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

img,
svg,
video {
  max-width: 100%;
  height: auto;
}

.rentals-hero,
.rentals-filters,
.rentals-grid,
.rental-card,
.rental-body,
.rental-meta,
.rental-features,
.rental-actions {
  min-width: 0;
}

.rentals-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  gap: 18px;
}

.rental-card {
  width: 100%;
  overflow: hidden;
}

.rental-media {
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
}

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

.rentals-filters {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.rentals-filters select,
.rentals-filters input,
.rentals-filters button {
  max-width: 100%;
}

.rental-actions {
  width: 100%;
}

.rental-actions a,
.rental-actions button,
.rental-whatsapp,
.rental-btn {
  width: 100%;
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: normal;
}

@media (max-width: 760px) {
  .rentals-grid {
    grid-template-columns: 1fr;
  }

  .rentals-filters {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 8px;
    -webkit-overflow-scrolling: touch;
  }

  .rentals-filters > * {
    flex: 0 0 auto;
    min-width: 150px;
  }

  .rental-card {
    border-radius: 22px;
  }

  .rental-body {
    padding: 16px;
  }

  .rental-meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .rental-features {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
  }
}

@media (max-width: 430px) {
  .rentals-hero,
  .rentals-section,
  .page-section {
    padding-inline: 14px;
  }

  .rental-meta {
    grid-template-columns: 1fr;
  }

  .rentals-filters > * {
    min-width: 135px;
  }
}

/* Rafah 50: disabled plan preview when plan mapping is not approved */
.unit-plan-disabled {
  opacity: .55;
  cursor: not-allowed;
  pointer-events: none;
  filter: grayscale(.25);
}

/* Rafah 50 full plan images - no cropped previews */
.unit-plan-disabled {
  opacity: .55;
  cursor: not-allowed;
  pointer-events: none;
  filter: grayscale(.25);
}
.plan-modal-body img {
  width: 100%;
  height: auto;
  max-height: 82vh;
  object-fit: contain;
  background: #fff;
}

/* Fix Arabic unit labels مثل أ/8 وح/2 */
.unit-code,
.unit-code bdi {
  direction: auto;
  unicode-bidi: isolate;
  white-space: nowrap;
}

/* =========================================================
   ===== About page redesign (scoped: .about-page-main / .abt-*) =====
   تطوير وتسويق عقاري — تصميم فاخر RTL · Mobile first · بدون overflow أفقي
========================================================= */
.about-page-main{overflow-x:hidden}
.about-page-main *{box-sizing:border-box}
.about-page-main .btn{max-width:100%}

/* عناوين الأقسام المشتركة */
.abt-section{padding:56px 20px}
.abt-head{max-width:760px;margin:0 auto 32px;text-align:center}
.abt-head .kicker{display:inline-block;color:var(--sage);font-weight:800;font-size:13px;letter-spacing:.06em}
.abt-head h2{color:var(--brown);font-size:clamp(24px,5vw,38px);line-height:1.22;margin:8px 0 0;letter-spacing:-.01em}
.abt-head p{color:var(--muted);font-size:16px;line-height:1.95;margin-top:12px}

/* 1) HERO */
.abt-hero{position:relative;overflow:hidden;padding:64px 20px 56px;background:linear-gradient(160deg,var(--paper) 0%,var(--cream) 100%)}
.abt-hero::before{content:"";position:absolute;inset-inline-start:-160px;bottom:-200px;width:480px;max-width:80vw;aspect-ratio:1;background:url("../assets/pattern.svg") center/contain no-repeat;opacity:.05;pointer-events:none}
.abt-hero-inner{position:relative;z-index:1;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:26px;align-items:center}
.abt-hero-copy .kicker{color:var(--sage);font-weight:800;font-size:13px;letter-spacing:.06em}
.abt-hero h1{color:var(--brown);font-size:clamp(38px,10vw,64px);line-height:1.05;margin:8px 0 0;letter-spacing:-.02em}
.abt-hero-sub{color:var(--brown);font-weight:800;font-size:clamp(17px,4.6vw,23px);line-height:1.5;margin-top:14px}
.abt-hero-desc{color:var(--muted);font-size:16px;line-height:1.95;margin-top:14px;max-width:640px}
.abt-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.abt-hero-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow-sm)}
.abt-hero-card-label{display:block;color:var(--sage);font-weight:800;font-size:13px;letter-spacing:.05em;margin-bottom:14px}
.abt-hero-card ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.abt-hero-card li{display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:13px 14px;color:var(--brown);font-weight:800;font-size:15px}
.abt-hero-card li span{flex:0 0 auto;width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--brown);color:var(--cream);font-size:13px;font-weight:800}

/* 2) همة باختصار */
.abt-intro-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:16px}
.abt-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow-sm)}
.abt-card-badge{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--cream);color:var(--brown);font-weight:900;font-size:15px;margin-bottom:14px}
.abt-card h3{color:var(--brown);font-size:20px;margin:0 0 8px}
.abt-card p{color:var(--muted);font-size:15px;line-height:1.85;margin:0}

/* 3) ماذا نفعل؟ */
.abt-dual-section{background:var(--paper)}
.abt-dual{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:16px}
.abt-dual-col{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px}
.abt-dual-col:nth-child(2){background:var(--brown);border-color:var(--brown)}
.abt-dual-tag{display:inline-block;font-weight:800;font-size:15px;padding:8px 14px;border-radius:999px;background:var(--cream);color:var(--brown);margin-bottom:16px}
.abt-dual-col:nth-child(2) .abt-dual-tag{background:var(--sage);color:var(--cream)}
.abt-list{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.abt-list li{position:relative;padding-inline-start:26px;color:var(--text);font-size:15px;line-height:1.7}
.abt-dual-col:nth-child(2) .abt-list li{color:var(--cream)}
.abt-list li::before{content:"";position:absolute;inset-inline-start:0;top:.55em;width:9px;height:9px;border-radius:50%;background:var(--sage)}
.abt-dual-col:nth-child(2) .abt-list li::before{background:var(--cream)}

/* 4 + 5) رؤيتنا ورسالتنا */
.abt-statements{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:16px}
.abt-statement{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow-sm);border-top:4px solid var(--sage)}
.abt-statement .kicker{display:block;color:var(--sage);font-weight:800;font-size:13px;letter-spacing:.06em;margin-bottom:10px}
.abt-statement p{color:var(--text);font-size:17px;line-height:1.95;margin:0}

/* 6) قيمنا */
.abt-values-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.abt-value-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;text-align:center}
.abt-value-card h3{color:var(--brown);font-size:18px;margin:0 0 6px}
.abt-value-card p{color:var(--muted);font-size:13.5px;line-height:1.7;margin:0}

/* 7) منهجية العمل — Timeline */
.abt-process-list{max-width:820px;margin:0 auto;padding:0;list-style:none;display:grid;gap:14px}
.abt-process-step{position:relative;display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}
.abt-step-num{flex:0 0 auto;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--brown);color:var(--cream);font-weight:900;font-size:17px}
.abt-step-body h3{color:var(--brown);font-size:18px;margin:0 0 6px}
.abt-step-body p{color:var(--muted);font-size:15px;line-height:1.8;margin:0}

/* 8) لماذا همة؟ */
.abt-why{background:var(--paper)}
.abt-why-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:12px}
.abt-why-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px}
.abt-why-card p{margin:0;color:var(--brown);font-weight:700;font-size:15.5px;line-height:1.6}
.abt-tick{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--sage);position:relative}
.abt-tick::after{content:"";position:absolute;top:6px;inset-inline-start:9px;width:6px;height:11px;border:solid var(--cream);border-width:0 2px 2px 0;transform:rotate(45deg)}

/* 9) CTA */
.abt-cta{padding:56px 20px}
.abt-cta-inner{max-width:920px;margin:0 auto;text-align:center;background:linear-gradient(160deg,var(--brown),var(--brown-d));color:var(--cream);border-radius:28px;padding:44px 26px;box-shadow:var(--shadow)}
.abt-cta-inner h2{color:var(--cream);font-size:clamp(22px,4.6vw,34px);line-height:1.3;margin:0}
.abt-cta-inner p{color:var(--cream);opacity:.9;font-size:16px;line-height:1.85;margin:14px auto 0;max-width:560px}
.abt-cta-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:24px}
.abt-cta-actions .btn.ghost{color:var(--cream);border-color:rgba(234,222,200,.5)}
.abt-cta-actions .btn.ghost:hover{background:var(--cream);color:var(--brown)}

/* ===== Tablet ===== */
@media(min-width:760px){
  .abt-section{padding:72px 32px}
  .abt-hero{padding:84px 32px 72px}
  .abt-hero-inner{grid-template-columns:1.25fr .75fr;gap:40px}
  .abt-intro-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .abt-dual{grid-template-columns:repeat(2,minmax(0,1fr))}
  .abt-statements{grid-template-columns:repeat(2,minmax(0,1fr))}
  .abt-why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .abt-cta-inner{padding:56px 40px}
}

/* ===== Desktop ===== */
@media(min-width:1024px){
  .abt-section{padding:88px 40px}
  .abt-values-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}

/* =========================================================
   ===== Unified footer redesign (scoped: .site-footer) =====
   فوتر موحّد لكل الصفحات · هوية ساج · Mobile first · بدون overflow أفقي
   الخلفية واللون يأتيان من قاعدة footer{} (ساج/كريمي) للحفاظ على الهوية
========================================================= */
.site-footer{overflow-x:hidden;content-visibility:visible;contain-intrinsic-size:auto}
.site-footer *{box-sizing:border-box}

.site-footer .footer-inner{
  max-width:1200px;margin:0 auto;padding:64px 5vw 32px;
  display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:48px;align-items:start;
}

/* العمود 1: الشعار + الوصف + السوشال */
.site-footer .footer-brand{display:flex;flex-direction:column;align-items:flex-start}
.site-footer .footer-brand .footer-logo{width:150px;max-width:60%;height:auto;margin:0 0 16px}
.site-footer .footer-brand .footer-description{color:var(--cream);opacity:.92;font-size:15px;line-height:1.85;max-width:340px;margin:0 0 18px}
.site-footer .footer-social{display:flex;gap:10px;flex-wrap:wrap}
.site-footer .footer-social a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--cream);background:rgba(247,240,228,.10);border:1px solid rgba(247,240,228,.18);transition:background .25s ease,transform .25s ease}
.site-footer .footer-social a:hover{background:var(--cream);color:var(--brown);transform:translateY(-3px)}
.site-footer .footer-social svg{width:18px;height:18px;fill:currentColor}

/* العمودان 2 و 3: روابط + تواصل */
.site-footer .footer-links,
.site-footer .footer-contact{display:flex;flex-direction:column;gap:2px;min-width:0}
.site-footer .footer-links h5,
.site-footer .footer-contact h5{color:var(--cream);font-size:14px;font-weight:800;letter-spacing:.04em;margin:0 0 14px}
.site-footer .footer-links a,
.site-footer .footer-contact a,
.site-footer .footer-contact span{display:block;color:var(--cream);opacity:.9;font-size:15px;padding:6px 0;text-decoration:none;transition:opacity .2s ease,color .2s ease}
.site-footer .footer-links a:hover,
.site-footer .footer-contact a:hover{opacity:1;color:#fff}
.site-footer .footer-chip-link{display:inline-block;width:auto;opacity:1;margin-top:12px;padding:8px 16px;border-radius:999px;background:rgba(247,240,228,.12);border:1px solid rgba(247,240,228,.20);color:var(--cream);font-weight:800;font-size:13px}
.site-footer .footer-chip-link:hover{background:var(--cream);color:var(--brown)}

/* الشريط السفلي */
.site-footer .footer-bottom{
  max-width:1200px;margin:0 auto;border-top:1px solid rgba(247,240,228,.16);
  padding:18px 5vw;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  font-size:13px;color:var(--cream);opacity:.85;
}

/* ===== الجوال والتابلت ≤768px ===== */
@media(max-width:768px){
  .site-footer .footer-inner{
    grid-template-columns:1fr;gap:24px;padding:48px 18px 18px;
    text-align:center;justify-items:center;
  }
  .site-footer .footer-brand{align-items:center}
  .site-footer .footer-brand .footer-logo{width:128px;margin:0 0 12px}
  .site-footer .footer-brand .footer-description{
    max-width:300px;margin:0 0 14px;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  }
  .site-footer .footer-social{justify-content:center}

  /* روابط سريعة: شبكة chips بعمودين */
  .site-footer .footer-links{
    width:100%;max-width:360px;display:grid;grid-template-columns:1fr 1fr;gap:8px;
  }
  .site-footer .footer-links h5{grid-column:1 / -1;margin:0 0 4px}
  .site-footer .footer-links a{
    padding:11px 8px;border-radius:12px;background:rgba(247,240,228,.10);
    border:1px solid rgba(247,240,228,.16);font-weight:700;font-size:14px;opacity:1;
  }
  .site-footer .footer-links a:hover{background:rgba(247,240,228,.18)}

  /* بطاقة التواصل */
  .site-footer .footer-contact{
    width:100%;max-width:360px;align-items:center;
    background:rgba(247,240,228,.08);border:1px solid rgba(247,240,228,.16);
    border-radius:16px;padding:16px;gap:2px;
  }
  .site-footer .footer-contact h5{margin:0 0 8px}
  .site-footer .footer-contact a{font-size:16px;font-weight:800;padding:4px 0;opacity:1}
  .site-footer .footer-contact span{font-size:13px;opacity:.8}
  .site-footer .footer-chip-link{margin:10px auto 0}

  .site-footer .footer-bottom{
    flex-direction:column;align-items:center;text-align:center;gap:6px;
    padding:16px 18px;font-size:12px;
  }
}

@media(max-width:430px){
  .site-footer .footer-inner{padding:40px 16px 16px}
  .site-footer .footer-links a{font-size:13px;padding:10px 6px}
  .site-footer .footer-brand .footer-logo{width:118px}
}

/* مسافة متوازنة بين نموذج التواصل والفوتر على الجوال (دون تغيير وظيفة الفورم) */
@media(max-width:768px){
  .interest{padding-bottom:44px}
}

/* ===== Project without media support ===== */
.card-media-placeholder{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
  padding:24px;
  box-sizing:border-box;
  background:
    radial-gradient(120% 120% at 100% 0%, rgba(135,133,95,.22), transparent 60%),
    linear-gradient(150deg, var(--paper) 0%, var(--cream) 100%);
  border:1px solid rgba(135,133,95,.28);
}
.card-media-placeholder .cmp-mark{
  font-size:.72rem;
  letter-spacing:.14em;
  font-weight:700;
  color:var(--sage);
  text-transform:uppercase;
}
.card-media-placeholder strong{
  font-size:clamp(1.15rem,3.4vw,1.7rem);
  line-height:1.35;
  color:var(--brown);
  font-weight:800;
  max-width:90%;
}
.card-media-placeholder .cmp-type{
  font-size:.86rem;
  color:var(--brown-d);
  opacity:.78;
}
/* keep the card image area filled so there is no large empty gap */
.showcase-img.showcase-img-noimage{overflow:hidden}
.project-archive-image.project-archive-image-noimage{position:relative;overflow:hidden;display:block}

/* Project hero text fallback (no main image) */
.project-hero-media-text{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:360px;
  background:
    radial-gradient(130% 130% at 100% 0%, rgba(135,133,95,.25), transparent 62%),
    linear-gradient(150deg, var(--paper) 0%, var(--cream) 100%);
}
.project-hero-textmedia{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  text-align:center;
  padding:48px 28px;
  width:100%;
  box-sizing:border-box;
}
.project-hero-textmedia .phtm-mark{
  font-size:.8rem;
  letter-spacing:.16em;
  font-weight:700;
  color:var(--sage);
  text-transform:uppercase;
}
.project-hero-textmedia strong{
  font-size:clamp(1.6rem,4.5vw,2.6rem);
  line-height:1.3;
  color:var(--brown);
  font-weight:800;
}
.project-hero-textmedia .phtm-type{
  font-size:1rem;
  color:var(--brown-d);
  opacity:.8;
}
@media(max-width:768px){
  .project-hero-media-text{min-height:240px}
  .project-hero-textmedia{padding:36px 20px}
}

/* ===== Project FAQ (SEO) ===== */
.project-faq{padding:40px 5vw 10px;max-width:1180px;margin:0 auto}
.project-faq .project-section-head{margin-bottom:18px}
.project-faq-list{display:flex;flex-direction:column;gap:12px;max-width:900px}
.project-faq-item{background:#fffaf2;border:1px solid rgba(135,133,95,.16);border-radius:18px;padding:6px 18px}
.project-faq-item summary{cursor:pointer;list-style:none;padding:14px 0;font-weight:900;color:#56543A;font-size:17px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.project-faq-item summary::-webkit-details-marker{display:none}
.project-faq-item summary::after{content:"+";color:#87855F;font-size:22px;line-height:1}
.project-faq-item[open] summary::after{content:"−"}
.project-faq-item p{margin:0 0 16px;color:#6F654F;line-height:1.9;font-size:15px}
@media(max-width:760px){.project-faq{padding:28px 20px 4px}.project-faq-item summary{font-size:15px}}

/* Project location map button */
.project-map-cta{max-width:1180px;margin:0 auto 22px;display:flex;justify-content:center}
.project-map-btn{display:inline-flex;align-items:center;gap:10px}
.project-map-btn svg{flex-shrink:0}

/* ── Floating action buttons (WhatsApp + back-to-top) ── */
.floating-btn{
  position:fixed;
  z-index:90;
  display:flex;
  align-items:center;
  justify-content:center;
  width:54px;
  height:54px;
  border-radius:50%;
  border:0;
  cursor:pointer;
  box-shadow:0 10px 28px rgba(43,44,28,.28);
  transition:transform .25s ease,opacity .3s ease,visibility .3s ease;
}
.floating-btn:hover{transform:translateY(-3px)}
.floating-btn svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.floating-wa{
  bottom:22px;
  right:22px;
  background:#25D366;
  color:#fff;
}
.floating-wa svg{fill:#fff;stroke:none}

.floating-top{
  bottom:22px;
  left:22px;
  background:var(--brown,#56543A);
  color:#fff8ec;
  opacity:0;
  visibility:hidden;
}
.floating-top.is-visible{opacity:1;visibility:visible}

@media(max-width:760px){
  .floating-btn{width:50px;height:50px}
  .floating-btn svg{width:24px;height:24px}
  /* iPhone home-bar / notch safe area */
  .floating-wa{bottom:calc(16px + env(safe-area-inset-bottom,0px));right:14px}
  .floating-top{bottom:calc(16px + env(safe-area-inset-bottom,0px));left:14px}
}

/* ── Project cards: simple motion (staggered rise + slow image drift) ── */
#projectsContainer .showcase-card.reveal{
  opacity:0;
  transform:none;
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
#projectsContainer .showcase-card.reveal.in{
  opacity:1;
  animation:cardRise .7s cubic-bezier(.2,.7,.2,1) var(--d,0ms) backwards;
}
@keyframes cardRise{
  from{opacity:0;transform:translateY(26px)}
  to{opacity:1;transform:none}
}

#projectsContainer .showcase-img img{
  animation:cardDrift 18s ease-in-out infinite alternate;
  will-change:transform;
}
@keyframes cardDrift{
  from{transform:scale(1.02)}
  to{transform:scale(1.09) translate3d(-1.5%,1.5%,0)}
}
@media(prefers-reduced-motion:reduce){
  #projectsContainer .showcase-card.reveal{opacity:1}
  #projectsContainer .showcase-img img{animation:none}
}
