@import url('https://fonts.googleapis.com/css2?family=Imperial+Script&family=Inter:wght@300;400;500;600&family=Playfair+Display:wght@400&display=swap');
:root{--bg:#080808;--fg:#f5f3ee;--gold:#c9a66b}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font-family:Inter,Arial,sans-serif}
.site-header{
  position:fixed;
  z-index:100;
  top:0;
  left:0;
  width:100%;
  height:82px;
  padding:0 48px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  border-bottom:1px solid rgba(255,255,255,.10);
  background:linear-gradient(to bottom,rgba(5,5,5,.90),rgba(5,5,5,.38),transparent);
  backdrop-filter:blur(10px);
  transition:height .45s ease,background .45s ease,border-color .45s ease;
}
.mobile-menu-button{display:none}
.mobile-menu-panel{display:none}
.site-header.scrolled{
  height:70px;
  background:rgba(7,7,7,.94);
  border-bottom-color:rgba(255,255,255,.14);
}

.nav{
  display:flex;
  align-items:center;
  gap:32px;
  min-width:0;
}
.nav-left{justify-content:flex-start}
.nav-right{justify-content:flex-end}

.nav a{
  position:relative;
  padding:10px 0;
  color:rgba(245,243,238,.90);
  font-family:Inter,"Helvetica Neue",Arial,sans-serif;
  font-size:11px;
  font-weight:500;
  letter-spacing:.105em;
  line-height:1;
  text-decoration:none;
  text-transform:uppercase;
  white-space:nowrap;
  transition:color .35s ease,opacity .35s ease,transform .35s ease;
}
.nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:3px;
  width:100%;
  height:1px;
  background:#c9a66b;
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .42s cubic-bezier(.22,1,.36,1);
}
.nav a:hover{
  color:#c9a66b;
  transform:translateY(-1px);
}
.nav a:hover::after{
  transform:scaleX(1);
  transform-origin:left;
}

.logo{
  width:132px;
  height:54px;
  display:grid;
  place-items:center;
  text-decoration:none;
}
.logo img{
  width:116px;
  max-height:46px;
  object-fit:contain;
}
.logo-holder{
  width:116px;
  height:40px;
  display:grid;
  place-items:center;
  border:1px solid rgba(201,166,107,.70);
  color:#c9a66b;
  font-size:10px;
  font-weight:500;
  letter-spacing:.30em;
}

.header-icon{
  width:30px;
  height:34px;
  margin-left:1px;
  padding:0;
  display:grid;
  place-items:center;
  border:0;
  background:transparent;
  color:#f5f3ee;
  cursor:pointer;
  transition:color .3s ease,transform .35s ease;
}
.header-icon svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
}
.header-icon:hover{
  color:#c9a66b;
  transform:translateY(-1px);
}

.header-cta{
  position:relative;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-left:3px;
  padding:13px 17px !important;
  border:1px solid rgba(201,166,107,.78);
  color:#f5f3ee !important;
  z-index:0;
}
.header-cta::after{display:none !important}
.header-cta::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:#c9a66b;
  transform:translateX(-102%);
  transition:transform .45s cubic-bezier(.22,1,.36,1);
}
.header-cta:hover{
  color:#111 !important;
  transform:translateY(-1px);
}
.header-cta:hover::before{transform:translateX(0)}
.header-cta span{
  color:#c9a66b;
  transition:color .3s ease,transform .4s cubic-bezier(.22,1,.36,1);
}
.header-cta:hover span{
  color:#111;
  transform:translateX(4px);
}

.hero{height:100vh;min-height:650px;position:relative;overflow:hidden;display:flex;align-items:center}
.hero video,.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-bg{background:url('../img/hero%202.mp4') center/cover no-repeat;filter:brightness(.65)}
.hero video{z-index:1;filter:brightness(.66) saturate(.82)}
.hero:after{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,#000c 0%,#0005 50%,#0001),linear-gradient(0deg,#0006,transparent 45%)}
.hero-content{position:relative;z-index:3;width:min(1200px,calc(100% - 96px));margin:76px auto 0;animation:heroIn 1.2s cubic-bezier(.22,1,.36,1)}
.eyebrow{font-size:10px;letter-spacing:.30em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(56px,7.3vw,108px);font-weight:400;line-height:.9;letter-spacing:-.035em}
.hero-sub{margin-top:27px;font-size:10px;letter-spacing:.38em;color:#f5f3eecf}
.hero-btn{display:inline-flex;gap:17px;margin-top:32px;padding:14px 19px;border:1px solid #c9a66bd9;color:var(--fg);text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font-size:9px;transition:.35s}
.hero-btn:hover{background:var(--gold);color:#111}.hero-btn:hover span{color:#111}
.slide-index{position:absolute;z-index:4;left:48px;bottom:31px;display:flex;gap:14px;font-size:9px;letter-spacing:.15em}.active{color:var(--gold)}.slide-line{width:42px;height:1px;background:#fff8}
.scroll{position:absolute;z-index:4;right:34px;bottom:32px;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.3em;font-size:8px;color:#fffa}.scroll:after{content:"";display:block;height:44px;width:1px;background:var(--gold);margin:13px auto 0;animation:pulse 1.8s infinite}
.about{min-height:92vh;display:grid;grid-template-columns:42% 58%;background:#f5f3ee;color:#111;overflow:hidden}
.about-copy{padding:120px 7vw;display:flex;flex-direction:column;justify-content:center}.about-title{font-family:"Playfair Display",Georgia,serif;font-weight:400;font-size:clamp(46px,5.5vw,82px);line-height:.95;letter-spacing:-.035em}
.about-text{max-width:430px;margin-top:29px;font-size:14px;line-height:1.85;color:#555}
.about-link{margin-top:34px;width:max-content;padding:13px 17px;border:1px solid #222;color:#111;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:9px}
.about-visual{position:relative;min-height:92vh;overflow:hidden;background:#191919}.about-visual img,.about-video{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.06);transition:1.4s cubic-bezier(.22,1,.36,1);filter:brightness(.82)}
.about-visual.visible img{transform:scale(1)}.caption{position:absolute;left:34px;bottom:30px;color:white;font-size:9px;letter-spacing:.18em;text-transform:uppercase}.caption strong{display:block;color:var(--gold);margin-bottom:7px}
.reveal{opacity:0;transform:translateY(35px);transition:1s cubic-bezier(.22,1,.36,1)}.reveal.visible{opacity:1;transform:none}
@keyframes heroIn{from{opacity:0;transform:translateY(45px)}to{opacity:1;transform:none}}@keyframes pulse{0%,100%{transform:scaleY(.65);opacity:.45}50%{transform:scaleY(1);opacity:1}}
@media(max-width:1050px){
  .site-header{padding:0 24px}
  .nav{gap:18px}
  .nav-left a:nth-child(n+3),
  .nav-right a:nth-child(n+3){display:none}
  .header-icon{display:grid}
  .hero-content{width:calc(100% - 48px)}
  .about{grid-template-columns:1fr}
  .about-copy{min-height:55vh}
  .about-visual{min-height:65vh}
}
@media(max-width:820px){
  .nav-left,.nav-right{display:none!important}
  .site-header{grid-template-columns:1fr auto 1fr;align-items:center;padding:0 18px}
  .site-header .logo{justify-self:center;display:grid;place-items:center;width:auto;height:auto}
  .site-header .logo img{width:100px;max-height:38px}
  .mobile-menu-button{display:flex;justify-self:start;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:42px;height:42px;border:1px solid rgba(201,166,107,.65);background:transparent;cursor:pointer;transition:all .3s ease;z-index:110}
  .mobile-menu-button span{display:block;width:18px;height:1.5px;background:#f5f3ee;transition:transform .3s ease,opacity .3s ease}
  .mobile-menu-button.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .mobile-menu-button.open span:nth-child(2){opacity:0}
  .mobile-menu-button.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
  .mobile-menu-panel{position:fixed;inset:64px 0 auto 0;display:block;padding:16px 18px 22px;background:rgba(7,7,7,.96);border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 18px 35px rgba(0,0,0,.28);clip-path:inset(0 0 100% 0);transition:clip-path .35s ease,opacity .35s ease;opacity:0;z-index:99;pointer-events:none}
  .mobile-menu-panel.open{clip-path:inset(0 0 0 0);opacity:1;pointer-events:auto}
  .mobile-menu-inner{display:flex;flex-direction:column;gap:14px;padding-top:10px}
  .mobile-menu-inner a{color:rgba(245,243,238,.92);text-decoration:none;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08)}
  .mobile-menu-inner .mobile-menu-cta{display:inline-flex;justify-content:center;margin-top:8px;padding:14px 18px;border:1px solid rgba(201,166,107,.8);color:#f5f3ee;background:transparent;letter-spacing:.12em}
}
@media(max-width:650px){
  .site-header{height:64px;padding:0 16px}
  .site-header.scrolled{height:60px}
  .nav{gap:12px}
  .nav-left a:nth-child(n+2),
  .nav-right a{display:none}
  .header-icon{display:none}
  .logo{width:100px}
  .logo-holder,.logo img{width:88px}
  .hero h1{font-size:15vw}
  .hero-sub{letter-spacing:.2em}
  .about-copy{padding:90px 28px}
  .mobile-menu-panel{inset:56px 0 auto 0}
}

/* Keep the mobile navigation aligned consistently across the main site. */
@media (max-width:820px){
  .site-header{grid-template-columns:1fr auto 1fr!important}
  .site-header .nav-left,.site-header .nav-right{display:none!important}
  .site-header .logo{grid-column:2;grid-row:1;justify-self:center}
  .site-header .mobile-menu-button{grid-column:1;grid-row:1;justify-self:start}
}


/* =========================================================
   MARK GROUPS — OUR EXPERTISE
   Complete stylesheet
   ========================================================= */

.expertise{
  position:relative;
  z-index:1;
  width:100%;
  min-height:100vh;
  padding:120px 48px 125px;
  background:#080808;
  color:#f5f3ee;
  overflow:hidden;
}

.expertise-heading{
  width:min(1400px,100%);
  margin:0 auto 58px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:70px;
}

  .expertise-eyebrow{
  margin-bottom:16px;
  color:#c9a66b;
  font-family:"Imperial Script","Brush Script MT",cursive;
  font-size:clamp(52px,5.4vw,88px);
  font-weight:400;
  letter-spacing:.01em;
  line-height:.85;
  text-transform:none;
  position:relative;
  display:inline-block;
}
.expertise-eyebrow::before{
  content:none;
}
.expertise-eyebrow::before{
  content:"";
  width:34px;
  height:1px;
  background:#c9a66b;
  display:block;
  transform-origin:left;
  animation:expertiseLineIn 1s cubic-bezier(.22,1,.36,1) both;
}



.expertise-heading h2{
  margin:0;
  color:#f5f3ee;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(56px,6vw,94px);
  font-weight:400;
  line-height:.91;
  letter-spacing:-.035em;
}

.expertise-heading h2 em{
  display:block;
  color:#8c8a85;
  font-style:normal;
}

.expertise-heading > p{
  width:min(390px,100%);
  margin:0 0 4px;
  color:rgba(245,243,238,.58);
  font-family:Inter,Arial,sans-serif;
  font-size:12px;
  font-weight:300;
  line-height:1.85;
}

/* Four cards — always a true 4-column luxury strip on desktop */
.expertise-grid{
  width:min(1400px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:2px;
}

.expertise-card{
  position:relative;
  height:570px;
  min-width:0;
  display:block;
  overflow:hidden;
  isolation:isolate;
  color:#fff;
  background:#151515;
  text-decoration:none;
  cursor:pointer;
}

.expertise-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:5;
  border:1px solid rgba(255,255,255,.10);
  pointer-events:none;
  transition:border-color .55s ease;
}

.expertise-card:hover::before{
  border-color:rgba(201,166,107,.72);
}

/* Image holder */
.expertise-image{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
  background-color:#181818;
  transition:
    transform 1.15s cubic-bezier(.22,1,.36,1),
    filter .8s ease;
  filter:brightness(.62) saturate(.72);
}
.expertise-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.image-interiors{
  background-image:url("../img/renovation.png");
}

.image-construction{
  background-image:url("../img/Construction%20.jpg");
}

.image-furniture{
  background-image:url("../img/furniture.jpg");
}

.image-realestate{
  background-image:url("../img/real%20estate.jpg");
}

.expertise-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 40%,rgba(201,166,107,.07),transparent 35%),
    linear-gradient(135deg,rgba(255,255,255,.025),transparent 50%);
  pointer-events:none;
}

.image-holder-label{
  position:absolute;
  left:50%;
  top:50%;
  z-index:2;
  transform:translate(-50%,-50%);
  padding:10px 14px;
  border:1px solid rgba(201,166,107,.55);
  color:#c9a66b;
  background:rgba(0,0,0,.18);
  font-size:8px;
  font-weight:500;
  letter-spacing:.22em;
  line-height:1;
  text-transform:uppercase;
  white-space:nowrap;
  transition:
    opacity .45s ease,
    transform .6s cubic-bezier(.22,1,.36,1);
}

/* Cinematic overlay */
.expertise-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,
      rgba(0,0,0,.10) 0%,
      rgba(0,0,0,.04) 38%,
      rgba(0,0,0,.76) 72%,
      rgba(0,0,0,.94) 100%);
  transition:background .65s ease;
}

.expertise-card:hover .expertise-image{
  transform:scale(1.075);
  filter:brightness(.80) saturate(.88);
}

.expertise-card:hover .expertise-overlay{
  background:
    linear-gradient(180deg,
      rgba(0,0,0,.03) 0%,
      rgba(0,0,0,.01) 35%,
      rgba(0,0,0,.66) 69%,
      rgba(0,0,0,.94) 100%);
}

.expertise-card:hover .image-holder-label{
  opacity:0;
  transform:translate(-50%,-62%);
}

/* Card number */
.expertise-number{
  position:absolute;
  top:24px;
  left:25px;
  z-index:3;
  color:rgba(255,255,255,.62);
  font-size:9px;
  font-weight:500;
  letter-spacing:.18em;
  line-height:1;
  transition:color .4s ease,transform .4s ease;
}

.expertise-card:hover .expertise-number{
  color:#c9a66b;
  transform:translateY(-2px);
}

/* Bottom content */
.expertise-content{
  position:absolute;
  right:25px;
  bottom:27px;
  left:28px;
  z-index:3;
  transform:translateY(9px);
  transition:transform .65s cubic-bezier(.22,1,.36,1);
}

.expertise-card:hover .expertise-content{
  transform:translateY(0);
}

.expertise-kicker{
  margin-bottom:11px;
  color:#c9a66b;
  font-size:8px;
  font-weight:500;
  letter-spacing:.24em;
  line-height:1;
}

.expertise-content h3{
  margin:0;
  color:#fff;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(25px,2vw,32px);
  font-weight:400;
  line-height:1;
  letter-spacing:-.02em;
}

.expertise-content p{
  margin-top:10px;
  color:rgba(255,255,255,.73);
  font-size:11px;
  font-weight:300;
  letter-spacing:.02em;
  line-height:1.4;
}

.expertise-arrow{
  position:absolute;
  right:0;
  bottom:0;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.38);
  color:#c9a66b;
  font-size:16px;
  line-height:1;
  transition:
    background .4s ease,
    color .4s ease,
    border-color .4s ease,
    transform .5s cubic-bezier(.22,1,.36,1);
}

.expertise-card:hover .expertise-arrow{
  border-color:#c9a66b;
  background:#c9a66b;
  color:#111;
  transform:translateX(4px);
}

/* Scroll reveal */
.expertise .reveal{
  opacity:0;
  transform:translateY(38px);
  transition:
    opacity 1s cubic-bezier(.22,1,.36,1),
    transform 1s cubic-bezier(.22,1,.36,1);
}

.expertise .reveal.visible{
  opacity:1;
  transform:translateY(0);
}

/* The expertise section starts immediately after hero */
.section-transition{
  width:100%;
  height:1px;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(201,166,107,.48),
    transparent
  );
  opacity:.8;
}

/* Tablet */
@media(max-width:1100px){
  .expertise{
    padding:100px 28px 105px;
  }

  .expertise-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:24px;
    margin-bottom:40px;
  }

  .expertise-heading > p{
    max-width:520px;
  }

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

  .expertise-card{
    height:510px;
  }
}

/* Mobile */
@media(max-width:650px){
  .expertise{
    padding:82px 15px 90px;
  }

  .expertise-heading h2{
    font-size:48px;
  }

  .expertise-grid{
    grid-template-columns:1fr;
    gap:2px;
  }

  .expertise-card{
    height:480px;
  }

  .expertise-content h3{
    font-size:28px;
  }
}


/* =========================================================
   SELECTED WORKS
   ========================================================= */
.selected-works{
  position:relative;
  padding:125px 48px 85px;
  background:#080808;
  color:#f5f3ee;
  overflow:hidden;
}
.works-heading{
  width:min(1400px,100%);
  margin:0 auto 55px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:70px;
}
.works-eyebrow{
  margin-bottom:18px;
  color:#c9a66b;
  font-size:10px;
  font-weight:500;
  letter-spacing:.30em;
  line-height:1;
}
.works-title-block h2{
  margin:0;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(56px,5.7vw,90px);
  font-weight:400;
  line-height:.88;
  letter-spacing:-.035em;
}
.works-title-block h2 em{
  color:#898783;
  font-style:normal;
}
.works-intro{
  width:min(365px,100%);
  margin-bottom:3px;
}
.works-intro p{
  color:rgba(245,243,238,.58);
  font-size:12px;
  font-weight:300;
  line-height:1.85;
}
.works-link{
  position:relative;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  gap:13px;
  margin-top:25px;
  padding:13px 17px;
  border:1px solid rgba(201,166,107,.72);
  color:#f5f3ee;
  text-decoration:none;
  text-transform:uppercase;
  font-size:9px;
  letter-spacing:.15em;
  transition:color .4s ease,transform .35s ease;
}
.works-link::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:#c9a66b;
  transform:translateX(-102%);
  transition:transform .45s cubic-bezier(.22,1,.36,1);
}
.works-link span,.works-link{
  isolation:isolate;
}
.works-link span{
  transition:transform .4s cubic-bezier(.22,1,.36,1);
}
.works-link:hover::before{transform:translateX(0)}
.works-link:hover{color:#111;transform:translateY(-2px)}
.works-link:hover span{transform:translateX(5px)}

.works-grid{
  width:min(1400px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.32fr .86fr .86fr;
  grid-template-rows:285px 285px;
  gap:3px;
}
.work-card{
  position:relative;
  display:block;
  min-width:0;
  overflow:hidden;
  color:#fff;
  background:#151515;
  text-decoration:none;
  isolation:isolate;
}
.work-card-large{
  grid-row:1 / span 2;
}
.work-image{
  position:absolute;
  inset:0;
  background-position:center;
  background-size:cover;
  background-color:#191919;
  filter:brightness(.66) saturate(.75);
  transition:transform 1.15s cubic-bezier(.22,1,.36,1),filter .8s ease;
}
.work-image-1{background-image:url("../img/Nitchel%20grand%20project%20img/hero%20image.png")}
.work-image-2{background-image:url("../img/4bhk%20villa%20project.png")}
.work-image-3{background-image:url("../img/Kbhp%20site%20project.jpeg")}
.work-image-4{background-image:url("../img/maruthi%20signature%20projec.png")}
.work-image-holder{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  padding:9px 12px;
  border:1px solid rgba(201,166,107,.52);
  color:#c9a66b;
  background:rgba(0,0,0,.15);
  font-size:8px;
  letter-spacing:.20em;
  white-space:nowrap;
  transition:opacity .45s ease,transform .55s cubic-bezier(.22,1,.36,1);
}
.work-shade{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(0,0,0,.04) 25%,rgba(0,0,0,.86) 100%);
  transition:.6s ease;
}
.work-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:5;
  border:1px solid rgba(255,255,255,.09);
  pointer-events:none;
  transition:border-color .5s ease;
}
.work-card:hover .work-image{
  transform:scale(1.075);
  filter:brightness(.80) saturate(.88);
}
.work-card:hover .work-shade{
  background:linear-gradient(180deg,rgba(0,0,0,.02) 15%,rgba(0,0,0,.78) 100%);
}
.work-card:hover .work-image-holder{
  opacity:0;
  transform:translate(-50%,-60%);
}
.work-card:hover::after{
  border-color:rgba(201,166,107,.68);
}
.work-meta{
  position:absolute;
  z-index:3;
  right:25px;
  bottom:23px;
  left:25px;
  transform:translateY(7px);
  transition:transform .6s cubic-bezier(.22,1,.36,1);
}
.work-card:hover .work-meta{transform:none}
.work-type{
  margin-bottom:9px;
  color:#c9a66b;
  font-size:7px;
  font-weight:500;
  letter-spacing:.20em;
}
.work-meta h3{
  margin:0;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(22px,2.2vw,34px);
  font-weight:400;
  line-height:.95;
  letter-spacing:-.02em;
}
.work-meta p{
  margin-top:8px;
  color:rgba(255,255,255,.67);
  font-size:10px;
  font-weight:300;
}
.work-arrow{
  position:absolute;
  right:0;
  bottom:0;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.38);
  color:#c9a66b;
  font-size:16px;
  transition:.45s cubic-bezier(.22,1,.36,1);
}
.work-card:hover .work-arrow{
  background:#c9a66b;
  border-color:#c9a66b;
  color:#111;
  transform:translate(3px,-2px);
}
.works-footer{
  width:min(1400px,100%);
  margin:25px auto 0;
  padding-top:15px;
  display:flex;
  justify-content:space-between;
  border-top:1px solid rgba(255,255,255,.13);
  color:rgba(255,255,255,.42);
  font-size:8px;
  letter-spacing:.20em;
}
.selected-works .reveal{
  opacity:0;
  transform:translateY(38px);
  transition:opacity 1s cubic-bezier(.22,1,.36,1),transform 1s cubic-bezier(.22,1,.36,1);
}
.selected-works .reveal.visible{
  opacity:1;
  transform:none;
}
@media(max-width:1050px){
  .selected-works{padding:100px 25px 75px}
  .works-heading{align-items:flex-start;flex-direction:column;gap:25px}
  .works-grid{
    grid-template-columns:1fr 1fr;
    grid-template-rows:360px 300px 300px;
  }
  .work-card-large{grid-row:auto;grid-column:1 / span 2}
}
@media(max-width:650px){
  .selected-works{padding:85px 15px 65px}
  .works-title-block h2{font-size:50px}
  .works-grid{
    grid-template-columns:1fr;
    grid-template-rows:430px 360px 360px 360px;
  }
  .work-card-large{grid-column:auto}
}


/* =========================================================
   OUR LEGACY — INTERACTIVE TIMELINE
   ========================================================= */
.legacy{
  position:relative;
  min-height:0;
  padding:125px 48px 42px;
  background:#f4f2ed;
  color:#111;
  overflow:hidden;
}
.legacy-head{
  width:min(1400px,100%);
  margin:0 auto 82px;
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:80px;
  align-items:end;
}
.legacy-eyebrow{
  grid-column:1;
  margin-bottom:18px;
  color:#9a733c;
  font-size:15px;
  font-weight:500;
  letter-spacing:.30em;
  text-transform:uppercase;
}
.legacy-head h2{
  grid-column:1;
  margin:0;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(58px,5.8vw,92px);
  font-weight:400;
  line-height:.90;
  letter-spacing:-.035em;
}
.legacy-head h2 em{
  color:#77736c;
  font-style:normal;
}
.legacy-head p{
  grid-column:2;
  max-width:390px;
  margin:0 0 5px auto;
  color:#65625d;
  font-size:15px;
  font-weight:300;
  line-height:1.9;
}

/* Horizontal timeline */
.timeline-wrap{
  position:relative;
  width:min(1400px,100%);
  height:470px;
  margin:0 auto;
}
.timeline-line{
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:1px;
  background:#bbb8b1;
  transform-origin:left;
  transform:scaleX(0);
  transition:transform 1.5s cubic-bezier(.22,1,.36,1);
}
.timeline-wrap.visible .timeline-line{
  transform:scaleX(1);
}
.timeline-item{
  position:absolute;
  top:50%;
  width:18%;
  height:100%;
  transform:translateY(-50%);
}
.timeline-item:nth-of-type(2){left:0}
.timeline-item:nth-of-type(3){left:20.5%}
.timeline-item:nth-of-type(4){left:41%}
.timeline-item:nth-of-type(5){left:61.5%}
.timeline-item:nth-of-type(6){left:82%}

.timeline-dot{
  position:absolute;
  left:50%;
  top:50%;
  width:42px;
  height:42px;
  border:1px solid #a9a59e;
  border-radius:50%;
  transform:translate(-50%,-50%) scale(.5);
  display:grid;
  place-items:center;
  background:#f4f2ed;
  transition:transform .55s cubic-bezier(.22,1,.36,1),border-color .4s ease,box-shadow .5s ease;
  z-index:4;
}
.timeline-dot::before,
.timeline-dot::after{
  content:"";
  position:absolute;
  border:1px solid #c1beb7;
  border-radius:50%;
}
.timeline-dot::before{inset:-7px}
.timeline-dot::after{inset:-14px}
.timeline-dot span{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#c9a66b;
  transform:scale(0);
  transition:transform .45s ease;
}
.timeline-wrap.visible .timeline-dot{
  transform:translate(-50%,-50%) scale(1);
}
.timeline-wrap.visible .timeline-dot span{
  transform:scale(1);
}
.timeline-item:hover .timeline-dot{
  border-color:#c9a66b;
  box-shadow:0 0 0 8px rgba(201,166,107,.08);
  transform:translate(-50%,-50%) scale(1.08);
}

/* Year */
.timeline-year{
  position:absolute;
  left:50%;
  font-family:"Playfair Display",Georgia,serif;
  font-size:32px;
  font-weight:400;
  line-height:1;
  transform:translateX(-50%);
  transition:color .35s ease,transform .5s cubic-bezier(.22,1,.36,1);
  white-space:nowrap;
}
.timeline-top .timeline-year{
  top:164px;
  bottom:auto;
}
.timeline-bottom .timeline-year{
  top:268px;
}
.timeline-item:hover .timeline-year{
  color:#9a733c;
  transform:translateX(-50%) scale(1.06);
}

/* Connector stem */
.timeline-item::before{
  content:"";
  position:absolute;
  left:50%;
  width:1px;
  background:#aaa69e;
  transform:translateX(-50%) scaleY(0);
  transform-origin:center;
  transition:transform .8s cubic-bezier(.22,1,.36,1);
}
.timeline-top::before{
  top:210px;
  height:25px;
  transform-origin:bottom;
}
.timeline-bottom::before{
  top:255px;
  height:25px;
  transform-origin:top;
}
.timeline-wrap.visible .timeline-item::before{
  transform:translateX(-50%) scaleY(1);
}

/* Copy */
.timeline-copy{
  position:absolute;
  left:50%;
  width:175px;
  text-align:center;
  transform:translateX(-50%);
  color:#66625c;
  font-size:13px;
  letter-spacing:.13em;
  text-transform:uppercase;
  transition:color .35s ease,transform .5s cubic-bezier(.22,1,.36,1);
}
.timeline-top .timeline-copy{
  top:112px;
  bottom:auto;
}
.timeline-bottom .timeline-copy{
  top:320px;
}
.timeline-copy strong{
  display:block;
  color:#33312d;
  font-size:13px;
  font-weight:500;
  line-height:1.05;
  margin-bottom:5px;
}
.timeline-copy span{
  display:block;
  line-height:1.15;
  font-size:13px;
}
.timeline-item:hover .timeline-copy{
  color:#9a733c;
  transform:translateX(-50%) translateY(-4px);
}
.timeline-item:hover .timeline-copy strong{color:#9a733c}

/* Image holder above/below the timeline */
.timeline-image{
  position:absolute;
  left:50%;
  width:150px;
  height:94px;
  overflow:hidden;
  background:#ddd9d1;
  transform:translateX(-50%) scale(.96);
  opacity:.92;
  transition:transform .65s cubic-bezier(.22,1,.36,1),opacity .45s ease,box-shadow .5s ease;
}
.timeline-top .timeline-image{top:0}
.timeline-bottom .timeline-image{bottom:0}
.timeline-image-holder{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  text-align:center;
  border:1px solid #cbc7bf;
  color:#928d85;
  font-size:10px;
  line-height:1.2;
  letter-spacing:.16em;
}
.timeline-image-holder img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.timeline-item:hover .timeline-image{
  transform:translateX(-50%) scale(1.06);
  opacity:1;
  box-shadow:0 14px 35px rgba(0,0,0,.10);
}
.timeline-item:hover .timeline-image-holder{
  border-color:#c9a66b;
  color:#9a733c;
}

/* Reveal */
.legacy .reveal{
  opacity:0;
  transform:translateY(38px);
  transition: opacity 1s cubic-bezier(.22,1,.36,1), transform 1s cubic-bezier(.22,1,.36,1);
}
.legacy .reveal.visible{
  opacity:1;
  transform:translateY(0);
}
.legacy-bottom{
  width:min(1400px,100%);
  margin:10px auto 0;
  padding-top:17px;
  border-top:1px solid #c7c3bb;
  display:flex;
  justify-content:space-between;
  color:#77736c;
  font-size:10px;
  letter-spacing:.18em;
}

/* Tablet/mobile */
@media(max-width:1050px){
  .timeline-wrap{overflow:visible}
  .legacy{padding:100px 25px 70px}
  .legacy-head{grid-template-columns:1fr;gap:22px;margin-bottom:55px}
  .legacy-head p{grid-column:1;margin:0;max-width:520px}
  .timeline-wrap{overflow:visible;height:480px}
  .timeline-item{width:19%;min-width:150px}
  .timeline-item:nth-of-type(2){left:0}
  .timeline-item:nth-of-type(3){left:20.5%}
  .timeline-item:nth-of-type(4){left:41%}
  .timeline-item:nth-of-type(5){left:61.5%}
  .timeline-item:nth-of-type(6){left:82%}
}
@media(max-width:650px){
  .legacy{padding:85px 15px 60px}
  .legacy-head h2{font-size:50px}
  .timeline-wrap{height:450px}
  .timeline-item{width:190px}
  .timeline-item:nth-of-type(2){left:0}
  .timeline-item:nth-of-type(3){left:200px}
  .timeline-item:nth-of-type(4){left:400px}
  .timeline-item:nth-of-type(5){left:600px}
  .timeline-item:nth-of-type(6){left:800px}
  .legacy-bottom{font-size:7px}
}


/* =========================================================
   OUR IMPACT — COUNTING STRIP
   ========================================================= */
.impact{
  position:relative;
  padding:0 48px;
  min-height:150px;
  display:flex;
  align-items:center;
  background:#080808;
  color:#f5f3ee;
  overflow:hidden;
}
.impact::before{
  content:"";
  position:absolute;
  left:48px;
  right:48px;
  top:0;
  height:1px;
  background:rgba(255,255,255,.13);
}
.impact-label{
  position:absolute;
  left:48px;
  top:22px;
  color:#c9a66b;
  font-size:15px;
  font-weight:500;
  letter-spacing:.27em;
  line-height:1;
  text-transform:uppercase;
}
.impact-grid{
  width:min(1400px,100%);
  margin:0 auto;
  padding-top:27px;
  display:grid;
  grid-template-columns:1.15fr repeat(4,1fr);
  align-items:center;
}
.impact-intro{
  padding-left:0;
}
.impact-intro h2{
  margin:0;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(34px,3.8vw,52px);
  font-weight:400;
  line-height:.83;
  letter-spacing:-.025em;
}
.impact-intro h2 em{
  color:#88857f;
  font-style:normal;
}
.impact-stat{
  min-height:68px;
  padding-left:30px;
  border-left:1px solid rgba(255,255,255,.18);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.impact-number{
  color:#c9a66b;
  font-family:"Playfair Display",Georgia,serif;
  font-size:43px;
  font-weight:400;
  line-height:.9;
  letter-spacing:-.025em;
  font-variant-numeric:tabular-nums;
}
.impact-number span{
  font-size:.72em;
  margin-left:1px;
}
.impact-caption{
  margin-top:8px;
  color:rgba(245,243,238,.70);
  font-size:15px;
  font-weight:300;
  letter-spacing:.025em;
  line-height:1.25;
}
.impact .reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .85s cubic-bezier(.22,1,.36,1), transform .85s cubic-bezier(.22,1,.36,1);
}
.impact .reveal.visible{
  opacity:1;
  transform:none;
}
@media(max-width:900px){
  .impact{padding:25px}
  .impact::before{left:25px;right:25px}
  .impact-label{left:25px}
  .impact-grid{
    grid-template-columns:1fr 1fr;
    gap:24px 0;
    padding-top:34px;
  }
  .impact-intro{grid-column:1 / -1}
  .impact-stat{padding-left:22px}
}
@media(max-width:600px){
  .impact{padding:25px 18px}
  .impact::before{left:18px;right:18px}
  .impact-label{left:18px}
  .impact-grid{grid-template-columns:1fr 1fr}
  .impact-number{font-size:31px}
  .impact-intro h2{font-size:28px}
}


/* No timeline slider / scrollbar */
.legacy,
.timeline-wrap{
  overflow-x:visible;
  scrollbar-width:none;
}
.legacy::-webkit-scrollbar,
.timeline-wrap::-webkit-scrollbar{
  display:none;
}

/* =========================================================
   WHY CHOOSE MARK
   ========================================================= */
.why-mark{
  position:relative;
  padding:125px 48px 88px;
  background:#f4f2ed;
  color:#111;
  overflow:hidden;
}
.why-top{
  width:min(1400px,100%);
  margin:0 auto 42px;
}
.why-eyebrow{
  color:#24221f;
  font-size:15px;
  font-weight:600;
  letter-spacing:.26em;
  text-transform:uppercase;
}
.why-grid{
  width:min(1400px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.28fr repeat(5,.82fr);
  border-top:1px solid #c9c5bd;
  border-bottom:1px solid #c9c5bd;
}
.why-intro{
  padding:31px 35px 34px 0;
}
.why-mark-count{
  display:block;
  margin-bottom:18px;
  color:#9a733c;
  font-size:8px;
  letter-spacing:.18em;
}
.why-intro h2{
  margin:0;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(52px,4.2vw,72px);
  font-weight:400;
  line-height:.88;
  letter-spacing:-.035em;
}
.why-intro h2 em{
  color:#77736d;
  font-style:normal;
}
.why-item{
  position:relative;
  min-height:215px;
  padding:36px 28px 32px;
  border-left:1px solid #d3cfc7;
  transition:background .45s ease,transform .45s cubic-bezier(.22,1,.36,1);
}
.why-item:hover{
  background:#ebe8e1;
  transform:translateY(-3px);
}
.why-icon{
  height:46px;
  color:#151515;
  font-family:Georgia,serif;
  font-size:38px;
  line-height:1;
  transition:color .35s ease,transform .45s cubic-bezier(.22,1,.36,1);
}
.why-item:hover .why-icon{
  color:#a37b40;
  transform:scale(1.08);
}
.why-number{
  position:absolute;
  top:32px;
  right:20px;
  color:#aaa59d;
  font-size:10px;
  letter-spacing:.16em;
}
.why-item h3{
  margin:32px 0 13px;
  font-size:15px;
  font-weight:600;
  letter-spacing:.18em;
}
.why-item p{
  max-width:215px;
  color:#66615a;
  font-size:15px;
  font-weight:300;
  line-height:1.5;
}
.why-statement{
  grid-column:1 / -1;
  padding:37px 0 39px;
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:baseline;
  gap:0 10px;
  border-top:1px solid #d3cfc7;
}
.statement-line{
  color:#3d3934;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(30px,3vw,46px);
  font-weight:400;
  line-height:1;
  letter-spacing:-.02em;
}
.statement-line.gold{color:#a37b40}
.why-footer{
  width:min(1400px,100%);
  margin:18px auto 0;
  display:flex;
  justify-content:space-between;
  color:#858078;
  font-size:7px;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.why-mark .reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .9s cubic-bezier(.22,1,.36,1), transform .9s cubic-bezier(.22,1,.36,1);
}
.why-mark .reveal.visible{
  opacity:1;
  transform:none;
}
@media(max-width:1050px){
  .why-mark{padding:90px 25px 65px}
  .why-grid{grid-template-columns:1fr 1fr 1fr}
  .why-intro{grid-column:1 / -1}
  .why-statement{grid-column:1 / -1}
}
@media(max-width:650px){
  .why-mark{padding:75px 18px 55px}
  .why-grid{grid-template-columns:1fr 1fr}
  .why-intro{grid-column:1 / -1}
  .why-item{min-height:175px;padding:28px 18px}
  .why-icon{font-size:0;height:34px}
  .why-item h3{font-size:13px}
  .why-item p{font-size:13px}
  .why-statement{justify-content:flex-start;gap:4px 7px}
  .statement-line{font-size:25px}
  .why-footer{font-size:6px}
}


/* Refined oversized principle icons */
.why-icon{
  width:42px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  font-size:0;
}
.why-icon::before{
  display:block;
  width:25px;
  height:25px;
  content:"";
  border:1.7px solid currentColor;
  transform:rotate(45deg);
}
.why-item:nth-child(3) .why-icon::before{
  width:24px;
  height:4px;
  border-width:1.7px 0 0 0;
  transform:rotate(-28deg);
}
.why-item:nth-child(4) .why-icon::before{
  width:22px;
  height:22px;
  border-radius:50%;
  border:1.7px solid currentColor;
  box-shadow:0 0 0 5px transparent, inset 0 0 0 5px transparent;
}
.why-item:nth-child(5) .why-icon::before{
  width:22px;
  height:22px;
  border:1.7px solid currentColor;
  transform:rotate(45deg);
}
.why-item:nth-child(6) .why-icon::before{
  width:21px;
  height:21px;
  border-radius:50%;
  border:1.7px solid currentColor;
  box-shadow:inset 0 0 0 5px #f4f2ed;
}


/* =========================================================
   GLOBAL LUXURY TYPE SCALE — LEGACY + IMPACT
   ========================================================= */
@media(min-width:1051px){
  .legacy-eyebrow,
  .impact-label{font-size:15px}

  .legacy-head p,
  .timeline-copy,
  .timeline-copy strong,
  .timeline-copy span,
  .impact-caption{font-size:14px}

  .timeline-image{width:180px;height:115px}
  .timeline-image-holder{font-size:10px}
  .legacy-bottom{font-size:10px}
}

@media(max-width:1050px){
  .legacy-eyebrow,
  .impact-label{font-size:13px}

  .legacy-head p,
  .timeline-copy,
  .timeline-copy strong,
  .timeline-copy span,
  .impact-caption{font-size:13px}
}

@media(max-width:650px){
  .legacy-eyebrow,
  .impact-label{font-size:12px}

  .legacy-head p,
  .timeline-copy,
  .timeline-copy strong,
  .timeline-copy span,
  .impact-caption{font-size:12px}

  .timeline-year{font-size:32px}
  .timeline-image{width:135px;height:86px}
}


/* =========================================================
   LEGACY TIMELINE — FINAL POSITION LOCK
   ========================================================= */
.legacy .timeline-item{height:470px}
.legacy .timeline-top .timeline-image{top:0;bottom:auto}
.legacy .timeline-bottom .timeline-image{top:auto;bottom:-8px}

.legacy .timeline-top .timeline-copy{
  top:122px;
  bottom:auto;
}
.legacy .timeline-top .timeline-year{
  top:178px;
  bottom:auto;
}
.legacy .timeline-bottom .timeline-year{
  top:260px;
  bottom:auto;
}
.legacy .timeline-bottom .timeline-copy{
  top:310px;
  bottom:auto;
}

.legacy .timeline-image{
  width:180px;
  height:115px;
}

@media(max-width:650px){
  .legacy .timeline-item{height:450px}
  .legacy .timeline-top .timeline-copy{top:108px}
  .legacy .timeline-top .timeline-year{top:158px}
  .legacy .timeline-bottom .timeline-year{top:258px}
  .legacy .timeline-bottom .timeline-copy{top:306px}
  .legacy .timeline-image{width:155px;height:98px}
}


/* Final timeline hierarchy: company/era label and year are separate rows */
.timeline-copy{
  line-height:1.35;
  z-index:6;
}
.timeline-copy strong{
  display:block;
  white-space:nowrap;
}
.timeline-copy span{
  display:block;
}
.timeline-year{
  z-index:7;
  background:#f4f2ed;
  padding:0 5px;
}
.timeline-image{
  z-index:2;
}


/* =========================================================
   OFFICIAL PARTNERS — MARQUE LOGO SLIDER
   ========================================================= */
.partners{
  position:relative;
  padding:82px 48px 35px;
  background:#f4f2ed;
  color:#111;
  overflow:hidden;
  border-top:1px solid #d0ccc4;
}
.partners-head{
  width:min(1440px,100%);
  margin:0 auto 28px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
}
.partners-eyebrow{
  font-size:15px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.partners-head p{
  margin:5px 0 0;
  color:#77736d;
  font-size:11px;
  letter-spacing:.01em;
}
.partners-controls{
  display:flex;
  gap:7px;
}
.partner-arrow{
  width:34px;
  height:30px;
  border:0;
  border-bottom:1px solid #a8a39b;
  background:transparent;
  color:#25231f;
  cursor:pointer;
  font-size:17px;
  transition:background .35s ease,color .35s ease,transform .35s ease;
}
.partner-arrow:hover{
  background:#c9a66b;
  color:#111;
  transform:translateY(-2px);
}
.partner-viewport{
  width:min(1440px,100%);
  margin:0 auto;
  overflow:hidden;
  border-top:1px solid #cbc7bf;
  border-bottom:1px solid #cbc7bf;
}
.partner-track{
  width:max-content;
  min-width:100%;
  display:flex;
  align-items:stretch;
  animation:partnerMarquee 30s linear infinite;
  will-change:transform;
}
.partner-viewport:hover .partner-track{
  animation-play-state:paused;
}
.partner-logo{
  width:180px;
  height:76px;
  flex:0 0 180px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 25px;
  border-right:1px solid #d1cdc5;
  color:#242320;
  text-align:center;
  filter:grayscale(1);
  transition:background .45s ease,color .45s ease,filter .45s ease,transform .45s cubic-bezier(.22,1,.36,1);
}
.partner-logo span{
  font-family:Arial,sans-serif;
  font-size:15px;
  font-weight:700;
  line-height:1;
  letter-spacing:-.025em;
}
.partner-logo small{
  font-size:7px;
  font-weight:400;
  letter-spacing:.08em;
}
.partner-logo:hover{
  background:#ebe8e1;
  filter:grayscale(0);
  transform:translateY(-2px);
}
.partner-logo:hover span{
  color:#9a733c;
}
.partners-footer{
  width:min(1440px,100%);
  margin:13px auto 0;
  display:flex;
  justify-content:space-between;
  color:#858078;
  font-size:8px;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.partners .reveal{
  opacity:0;
  transform:translateY(25px);
  transition:opacity:.9s cubic-bezier(.22,1,.36,1),transform:.9s cubic-bezier(.22,1,.36,1);
}
.partners .reveal.visible{
  opacity:1;
  transform:none;
}
@keyframes partnerMarquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media(max-width:900px){
  .partners{padding:70px 25px 30px}
  .partners-head{align-items:flex-start}
  .partners-eyebrow{font-size:13px}
  .partner-logo{width:155px;flex-basis:155px}
}
@media(max-width:600px){
  .partners{padding:60px 18px 25px}
  .partners-head{gap:20px}
  .partners-controls{display:none}
  .partner-logo{width:135px;flex-basis:135px;height:68px}
  .partner-logo span{font-size:12px}
  .partners-footer{font-size:6px}
}


/* =========================================================
   CLIENT REVIEWS
   ========================================================= */
.reviews{
  position:relative;
  padding:72px 48px;
  background:#f4f2ed;
  color:#111;
  overflow:hidden;
  border-top:1px solid #d0ccc4;
}
.reviews-shell{
  width:min(1440px,100%);
  min-height:650px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.05fr 1.15fr;
  background:#eeece6;
}
.reviews-copy{
  position:relative;
  min-width:0;
  min-height:650px;
  padding:48px 55px 38px;
  display:flex;
  flex-direction:column;
}
.reviews-eyebrow{
  color:#24221f;
  font-size:15px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.reviews-slides{
  position:relative;
  flex:1;
  min-height:500px;
  margin-top:30px;
}
.review-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transform:translateX(35px);
  transition:opacity .7s cubic-bezier(.22,1,.36,1),
             transform .8s cubic-bezier(.22,1,.36,1),
             visibility .7s;
}
.review-slide.active{
  opacity:1;
  visibility:visible;
  transform:translateX(0);
}
.review-slide blockquote{
  max-width:580px;
  margin:0;
  font-family:"Playfair Display",Georgia,serif;
  color:#171614;
  font-size:clamp(22px,2vw,31px);
  font-weight:400;
  line-height:1.22;
  letter-spacing:-.018em;
}
.review-client{
  margin-top:31px;
  display:flex;
  align-items:center;
  gap:15px;
}
.review-avatar{
  width:43px;
  height:43px;
  border-radius:50%;
  border:1px solid #c6c1b8;
  display:grid;
  place-items:center;
  color:#9a733c;
  font-size:10px;
  letter-spacing:.1em;
  background:#e4e1da;
}
.review-client strong{
  display:block;
  font-size:11px;
  font-weight:600;
  letter-spacing:.12em;
}
.review-client span{
  display:block;
  margin-top:5px;
  color:#77736d;
  font-size:11px;
}
.reviews-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:auto;
  padding-top:15px;
  border-top:1px solid #cbc7bf;
}
.review-counter{
  color:#6e6a63;
  font-size:9px;
  letter-spacing:.16em;
}
.review-counter span{
  color:#9a733c;
}
.review-controls{
  display:flex;
  gap:5px;
}
.review-controls button{
  width:35px;
  height:30px;
  border:0;
  border-bottom:1px solid #9d9890;
  background:transparent;
  color:#24221f;
  cursor:pointer;
  font-size:17px;
  transition:background .35s ease,color .35s ease,transform .35s ease;
}
.review-controls button:hover{
  background:#c9a66b;
  color:#111;
  transform:translateY(-2px);
}
.reviews-image{
  position:relative;
  min-height:650px;
  overflow:hidden;
  background:#1a1a19;
}
.reviews-image-holder{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:rgba(255,255,255,.48);
  font-size:10px;
  letter-spacing:.22em;
  background:
    linear-gradient(120deg,rgba(0,0,0,.12),rgba(0,0,0,.55)),
    #242422;
  transition:transform 1.1s cubic-bezier(.22,1,.36,1);
}
.reviews-image:hover .reviews-image-holder{
  transform:scale(1.035);
}
.reviews-image-holder img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.reviews-image-holder video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.reviews .reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity:.9s cubic-bezier(.22,1,.36,1),
             transform:.9s cubic-bezier(.22,1,.36,1);
}
.reviews .reveal.visible{
  opacity:1;
  transform:none;
}
@media(max-width:900px){
  .reviews{padding:60px 25px}
  .reviews-shell{grid-template-columns:1fr}
  .reviews-copy{min-height:620px;padding:42px 35px 30px}
  .reviews-slides{min-height:460px}
  .reviews-image{min-height:300px}
}
@media(max-width:600px){
  .reviews{padding:50px 18px}
  .reviews-copy{min-height:560px;padding:35px 25px 25px}
  .reviews-eyebrow{font-size:12px}
  .reviews-slides{min-height:405px}
  .review-slide blockquote{font-size:23px}
  .reviews-image{min-height:240px}
}


/* =========================================================
   FINAL CTA + FOOTER
   ========================================================= */
.mark-footer{
  position:relative;
  padding:0 48px 23px;
  background:#090909;
  color:#f4f2ed;
  overflow:hidden;
}
.mark-footer::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:5px;
  background:#f4f2ed;
}
.footer-top{
  width:min(1440px,100%);
  min-height:245px;
  margin:0 auto;
  padding:48px 0 30px;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
}
.footer-cta{
  display:flex;
  align-items:center;
  gap:30px;
}
.footer-cta-title{
  font-family:"Playfair Display",Georgia,serif;
  color:#f4f2ed;
  font-size:clamp(31px,3vw,46px);
  font-weight:400;
  line-height:.88;
  letter-spacing:-.025em;
}
.footer-cta-title em{
  color:#8e8a83;
  font-style:normal;
}
.footer-project-btn{
  position:relative;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  gap:14px;
  padding:13px 17px;
  border:1px solid #b28b52;
  color:#f4f2ed;
  text-decoration:none;
  font-size:9px;
  font-weight:500;
  letter-spacing:.16em;
  white-space:nowrap;
  isolation:isolate;
  transition:color .4s ease,transform .4s cubic-bezier(.22,1,.36,1);
}
.footer-project-btn::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:#c9a66b;
  transform:translateX(-103%);
  transition:transform .5s cubic-bezier(.22,1,.36,1);
}
.footer-project-btn span{
  transition:transform .4s cubic-bezier(.22,1,.36,1);
}
.footer-project-btn:hover{
  color:#111;
  transform:translateY(-2px);
}
.footer-project-btn:hover::before{transform:translateX(0)}
.footer-project-btn:hover span{transform:translateX(5px)}

.footer-brand{
  justify-self:end;
  width:360px;
  text-align:center;
  border-left:1px solid rgba(255,255,255,.22);
  padding-left:55px;
}
.footer-logo-holder{
  margin:0 auto 7px;
  font-family:Arial,sans-serif;
  font-size:42px;
  font-weight:800;
  letter-spacing:.05em;
}
.footer-brand-name{
  font-size:15px;
  font-weight:600;
  letter-spacing:.28em;
}
.footer-brand-name small{
  display:block;
  margin-top:3px;
  font-size:9px;
  font-weight:500;
  letter-spacing:.42em;
}
.footer-origin{
  margin-top:16px;
  color:#c9a66b;
  font-size:9px;
  letter-spacing:.25em;
}
.footer-tagline{
  margin-top:8px;
  color:#8b8780;
  font-size:9px;
  letter-spacing:.20em;
}

.footer-divider{
  width:min(1440px,100%);
  margin:0 auto;
  border-top:1px solid rgba(255,255,255,.20);
}
.footer-bottom{
  width:min(1440px,100%);
  margin:0 auto;
  min-height:68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.footer-nav{
  display:flex;
  align-items:center;
  gap:30px;
  flex-wrap:wrap;
}
.footer-nav a{
  position:relative;
  color:#b5b1aa;
  text-decoration:none;
  font-size:11px;
  font-weight:500;
  letter-spacing:.07em;
  transition:color .35s ease;
}
.footer-nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-7px;
  width:100%;
  height:1px;
  background:#c9a66b;
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .4s cubic-bezier(.22,1,.36,1);
}
.footer-nav a:hover{
  color:#f4f2ed;
}
.footer-nav a:hover::after{
  transform:scaleX(1);
  transform-origin:left;
}
.footer-socials{
  display:flex;
  gap:15px;
}
.footer-socials a{
  width:19px;
  height:19px;
  display:grid;
  place-items:center;
  color:#a9a59d;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  text-decoration:none;
  font-size:10px;
  transition:background .35s ease,color .35s ease,transform .35s ease,border-color .35s ease;
}
.footer-socials a:hover{
  background:#c9a66b;
  color:#111;
  border-color:#c9a66b;
  transform:translateY(-2px);
}
.footer-legal{
  width:min(1440px,100%);
  margin:0 auto;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.10);
  display:flex;
  justify-content:space-between;
  color:#69655f;
  font-size:9px;
  letter-spacing:.16em;
}
.mark-footer .reveal{
  opacity:0;
  transform:translateY(30px);
  transition:opacity:1s cubic-bezier(.22,1,.36,1),transform:1s cubic-bezier(.22,1,.36,1);
}
.mark-footer .reveal.visible{
  opacity:1;
  transform:none;
}
@media(max-width:900px){
  .mark-footer{padding:0 25px 20px}
  .footer-top{
    grid-template-columns:1fr;
    gap:45px;
    padding:55px 0 38px;
  }
  .footer-cta{align-items:flex-start;flex-direction:column}
  .footer-brand{
    justify-self:start;
    width:100%;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.18);
    padding:35px 0 0;
  }
  .footer-bottom{padding:20px 0}
  .footer-nav{gap:17px 24px}
}
@media(max-width:600px){
  .mark-footer{padding:0 18px 18px}
  .footer-cta-title{font-size:34px}
  .footer-project-btn{font-size:8px}
  .footer-nav{gap:14px 19px}
  .footer-nav a{font-size:7px}
  .footer-bottom{align-items:flex-start;flex-direction:column;gap:25px}
  .footer-legal{font-size:6px}
}


/* MARK GROUPS footer logo */
.footer-logo-holder{
  width:220px;
  height:76px;
  margin:0 auto 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
}
.footer-logo-holder img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.footer-socials a{
  font-size:17px;
  font-weight:600;
}
.social-instagram{font-family:Arial,sans-serif}
.social-youtube{font-size:14px !important}
.social-facebook{font-family:Arial,sans-serif;font-size:18px !important}


@media(max-width:600px){
  .footer-logo-holder{
    width:190px;
    height:68px;
  }
  .footer-brand-name{font-size:13px}
  .footer-nav a{font-size:9px}
  .footer-legal{font-size:7px}
}
