
:root {
  --gold:        #b8965a;
  --gold-light:  #d4af7a;
  --gold-pale:   rgba(184,150,90,.12);
  --cream:       #f5f0e8;
  --charcoal:    #141414;
  --charcoal-2:  #1e1e1e;
  --mid:         #3a3a3a;
  --soft:        #8a8a8a;
  --white:       #ffffff;
  --off-white:   #faf8f4;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'Jost', sans-serif; background: var(--off-white); color: var(--charcoal); overflow-x: hidden; }

/* ── SCROLLBAR ── */
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: var(--charcoal); }
::-webkit-scrollbar-thumb { background: var(--gold); }

/* ── CURSOR ── */
*, a { cursor: none !important; }
#cursor {
  position: fixed; width: 10px; height: 10px;
  background: var(--gold); border-radius: 50%;
  pointer-events: none; z-index: 9999;
  transform: translate(-50%,-50%);
  transition: width .25s, height .25s;
}
#cursor-ring {
  position: fixed; width: 36px; height: 36px;
  border: 1px solid var(--gold); border-radius: 50%;
  pointer-events: none; z-index: 9998;
  transform: translate(-50%,-50%);
  transition: width .25s, height .25s, opacity .3s;
  opacity: .55;
}

/* ════ NAVBAR ════ */
.navbar-custom {
  position: fixed; top: 0; width: 100%; z-index: 1000;
  padding: 1.5rem 3rem;
  transition: background .5s, padding .4s;
}
.navbar-custom.scrolled {
  background: rgba(20,20,20,.94);
  backdrop-filter: blur(20px);
  padding: .9rem 3rem;
  border-bottom: 1px solid rgba(184,150,90,.14);
}
.nav-logo img{
  width: 70px;
  height: auto;
  margin-bottom: 10px;
}
.nav-logo {
  text-align: center;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.45rem; font-weight: 300; letter-spacing: .2em; text-transform: uppercase;
  color: var(--white); text-decoration: none; line-height: 1.1;
}
.nav-logo-sub {
  display: block; font-size: .52rem; letter-spacing: .45em; text-transform: uppercase;
  color: var(--gold); font-family: 'Jost', sans-serif; font-weight: 300;
}
.nav-links { display: flex; gap: 2rem; list-style: none; align-items: center; }
.nav-links a {
  font-size: .68rem; font-weight: 400; letter-spacing: .22em; text-transform: uppercase;
  color: rgba(255,255,255,.7); text-decoration: none; transition: color .3s; position: relative;
}
.nav-links a::after {
  content: ''; position: absolute; bottom: -3px; left: 0;
  width: 0; height: 1px; background: var(--gold); transition: width .35s;
}
.nav-links a:hover { color: var(--white); }
.nav-links a:hover::after { width: 100%; }
.nav-cta {
  font-size: .68rem !important; letter-spacing: .22em;
  color: var(--gold) !important; border: 1px solid var(--gold);
  padding: .45rem 1.3rem; transition: background .3s, color .3s !important;
}
.nav-cta:hover { background: var(--gold) !important; color: var(--charcoal) !important; }
.nav-cta::after { display: none !important; }
.hamburger { display: none; flex-direction: column; gap: 5px; background: none; border: none; padding: .5rem; }
.hamburger span { display: block; width: 24px; height: 1px; background: var(--white); }

/* ════ MOBILE MENU ════ */
.mobile-menu {
  position: fixed; inset: 0; background: rgba(10,10,10,.97);
  z-index: 999; display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none; transition: opacity .4s;
}
.mobile-menu.open { opacity: 1; pointer-events: all; }
.mobile-close-btn {
  position: absolute; top: 2rem; right: 2rem;
  background: none; border: none; color: rgba(255,255,255,.4); font-size: 1.5rem;
}
.mobile-nav { list-style: none; text-align: center; }
.mobile-nav li { margin: 1.4rem 0; }
.mobile-nav a {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.4rem; font-weight: 300; letter-spacing: .1em;
  color: var(--white); text-decoration: none; transition: color .3s;
}
.mobile-nav a:hover { color: var(--gold); }

/* ════ HERO ════ */
#hero {
  position: relative; width: 100%; height: 100vh;
  overflow: hidden; display: flex; align-items: center; justify-content: center;
}
.hero-video-wrap {
  position: absolute; inset: 0; z-index: 0;
}
.hero-video-wrap video {
  width: 100%; height: 100%; object-fit: cover; filter: saturate(.65) brightness(.85);
}
.hero-video-wrap img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; filter: saturate(.65) brightness(.85);
}
.hero-overlay {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(170deg, rgba(10,8,4,.78) 0%, rgba(20,14,6,.55) 55%, rgba(10,8,4,.85) 100%);
}
.hero-content { position: relative; z-index: 2; text-align: center; padding: 80px 1.5rem 0 }
.hero-eyebrow {
  font-size: .66rem; letter-spacing: .45em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 2rem;
  opacity: 0; animation: fadeUp .9s .3s forwards;
}
.hero-heading {
  font-family: 'Cormorant Garamond', serif;
  font-size:70px;
  font-weight: 300; line-height: 1.08; color: var(--white); margin-bottom: 2rem;
  opacity: 0; animation: fadeUp 1.1s .5s forwards;
}
.hero-heading em { font-style: italic; color: var(--gold-light); }
.hero-sub {
  font-size: .88rem; font-weight: 300; letter-spacing: .08em; line-height: 1.8;
  color: rgba(255,255,255,.6); max-width: 540px; margin: 0 auto 2.8rem;
  opacity: 0; animation: fadeUp .9s .78s forwards;
}
.btn-hero {
  display: inline-block; font-size: .7rem; letter-spacing: .32em; text-transform: uppercase;
  color: var(--charcoal); background: var(--gold); padding: 1.05rem 2.8rem;
  border: none; text-decoration: none; transition: background .35s, transform .3s;
  opacity: 0; animation: fadeUp .9s 1s forwards;
}
.btn-hero:hover { background: var(--gold-light); transform: translateY(-2px); color: var(--charcoal); }
.hero-scroll {
  position: absolute; bottom: 2.5rem; left: 50%; transform: translateX(-50%);
  display: flex; flex-direction: column; align-items: center; gap: .5rem;
  opacity: 0; animation: fadeUp .9s 1.3s forwards; z-index: 2;
}
.hero-scroll-label {
  font-size: .58rem; letter-spacing: .4em; text-transform: uppercase;
  color: rgba(255,255,255,.38);
}
.scroll-line {
  width: 1px; height: 54px;
  background: linear-gradient(to bottom, var(--gold), transparent);
  animation: scrollPulse 2s infinite;
}

/* ── VIDEO BANNER (mid-page) ── */
.video-banner {
  position: relative; width: 100%; height: 55vh; overflow: hidden;
}
.video-banner video {
  width: 100%; height: 100%; object-fit: cover; filter: saturate(.6) brightness(.7);
}
.video-banner-img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; filter: saturate(.6) brightness(.7);
}
.video-banner-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to right, rgba(10,8,4,.75) 0%, rgba(10,8,4,.25) 100%);
  display: flex; align-items: center;
  padding: 0 5rem;
}
.video-banner-text {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.8rem, 4.5vw, 4rem);
  font-weight: 300; line-height: 1.2; color: var(--white);
  max-width: 680px;
}
.video-banner-text em { font-style: italic; color: var(--gold-light); }

/* ════ SHARED UTILITIES ════ */
@keyframes scrollPulse {
  0%, 100% { opacity: .38; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(1.12); }
}
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}
.reveal {
  opacity: 0; transform: translateY(42px);
  transition: opacity .9s ease, transform .9s ease;
}
.reveal.visible { opacity: 1; transform: translateY(0); }
.reveal-left {
  opacity: 0; transform: translateX(-42px);
  transition: opacity .9s ease, transform .9s ease;
}
.reveal-left.visible { opacity: 1; transform: translateX(0); }
.reveal-right {
  opacity: 0; transform: translateX(42px);
  transition: opacity .9s ease, transform .9s ease;
}
.reveal-right.visible { opacity: 1; transform: translateX(0); }
.delay-1 { transition-delay: .12s; }
.delay-2 { transition-delay: .24s; }
.delay-3 { transition-delay: .36s; }
.delay-4 { transition-delay: .48s; }
.delay-5 { transition-delay: .6s; }

.section-label {
  font-size: .62rem; letter-spacing: .48em; text-transform: uppercase;
  color: var(--gold); display: flex; align-items: center; gap: .9rem;
}
.section-label::before {
  content: ''; display: block; width: 34px; height: 1px; background: var(--gold);
}
.section-label--light { color: rgba(184,150,90,.85); }
.section-label--light::before { background: rgba(184,150,90,.85); }
.section-label--centered { justify-content: center; }
.section-label--centered::before { display: none; }

.section-heading {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.2rem, 5vw, 4rem);
  font-weight: 300; line-height: 1.15; color: var(--charcoal);
}
.section-heading--light { color: var(--white); }
.section-heading--upper {
  text-transform: uppercase; letter-spacing: .12em;
  font-size: clamp(2rem, 4.5vw, 3.6rem);
}
.section-heading em { font-style: italic; color: var(--gold-light); }
.divider-gold { width: 48px; height: 1px; background: var(--gold); margin: 1.4rem 0; }
.divider-gold--wide { width: 80px; }
.brand-highlight {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.05em; font-weight: 400; letter-spacing: .06em;
  color: var(--gold);
}

/* ════ ABOUT US ════ */
#about { background: var(--off-white); padding: 9rem 0; overflow: hidden; }
.about-kicker {
  font-size: .62rem; letter-spacing: .5em; text-transform: uppercase;
  color: var(--gold); margin-bottom: .6rem;
}
.about-heading {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.6rem, 5.5vw, 4.8rem);
  font-weight: 300; letter-spacing: .12em; text-transform: uppercase;
  color: var(--charcoal); line-height: 1.05;
}
.about-body {
  font-size: .92rem; font-weight: 300; line-height: 2;
  color: var(--mid); margin-top: 1.8rem; max-width: 520px;
}
.about-body p { margin-bottom: 1.4rem; }
.about-body p:last-child { margin-bottom: 0; }
.about-media {
  position: relative; height: 100%; min-height: 560px; overflow: hidden;
}
.about-media-img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; filter: saturate(.85); transition: transform 1.2s ease;
  display: block;
}
.about-media:hover .about-media-img { transform: scale(1.04); }
.about-media-video {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; filter: saturate(.75);
}
.about-media-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(10,8,4,.55) 0%, transparent 55%);
}
.about-media-badge {
  position: absolute; bottom: 2rem; left: 2rem;
  border: 1px solid rgba(184,150,90,.5); padding: 1.2rem 1.6rem;
  backdrop-filter: blur(10px); background: rgba(10,8,4,.45);
}
.about-media-badge-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.4rem; font-weight: 300; color: var(--white); line-height: 1;
}
.about-media-badge-label {
  font-size: .6rem; letter-spacing: .35em; text-transform: uppercase;
  color: var(--gold); margin-top: .3rem;
}
.about-stats-row { display: flex; gap: 2.5rem; margin-top: 2.8rem; align-items: center; }
.about-stat-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.6rem; font-weight: 300; color: var(--charcoal); line-height: 1;
}
.about-stat-num span { color: var(--gold); }
.about-stat-label { font-size: .6rem; letter-spacing: .3em; text-transform: uppercase; color: var(--soft); margin-top: .2rem; }
.about-stat-divider { width: 1px; height: 3.5rem; background: rgba(26,26,26,.15); }

/* ════ DESIGN PHILOSOPHY ════ */
#design-philosophy { background: var(--charcoal); padding: 9rem 0; overflow: hidden; position: relative; }
.dp-bg-word {
  position: absolute; bottom: -2rem; right: -1rem;
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(7rem, 16vw, 15rem); font-weight: 300;
  color: rgba(255,255,255,.025); pointer-events: none; user-select: none;
  white-space: nowrap; letter-spacing: .05em; line-height: 1;
}
.dp-heading {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.4rem, 5.5vw, 4.8rem);
  font-weight: 300; letter-spacing: .14em; text-transform: uppercase;
  color: var(--white); line-height: 1.05;
}
.dp-intro {
  font-size: .9rem; font-weight: 300; line-height: 2;
  color: rgba(255,255,255,.52); max-width: 640px; margin-top: 1.6rem;
}
.dp-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 5rem; }
.dp-card {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(184,150,90,.1);
  padding: 2.8rem 2.2rem;
  transition: background .4s, border-color .4s, transform .4s;
  position: relative; overflow: hidden;
}
.dp-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0;
  height: 1px; background: var(--gold);
  transform: scaleX(0); transform-origin: left;
  transition: transform .5s ease;
}
.dp-card:hover { background: rgba(184,150,90,.06); border-color: rgba(184,150,90,.3); transform: translateY(-4px); }
.dp-card:hover::before { transform: scaleX(1); }
.dp-card-icon {
  width: 3rem; height: 3rem; border: 1px solid rgba(184,150,90,.35);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 1.8rem; font-size: 1rem; color: var(--gold);
  transition: background .4s, border-color .4s;
}
.dp-card:hover .dp-card-icon { background: var(--gold-pale); border-color: var(--gold); }
.dp-card-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.45rem; font-weight: 400; color: var(--white); margin-bottom: .8rem;
}
.dp-card-body {
  font-size: .8rem; font-weight: 300; line-height: 1.9;
  color: rgba(255,255,255,.45);
}
.dp-full-text {
  max-width: 860px; margin: 4.5rem auto 0;
  padding: 3rem; border: 1px solid rgba(184,150,90,.12);
  background: rgba(255,255,255,.02);
  text-align: center;
}
.dp-full-text p {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.05rem, 2vw, 1.3rem);
  font-weight: 300; font-style: italic; line-height: 1.9;
  color: rgba(255,255,255,.55);
}
.dp-full-text p strong {
  font-style: normal; font-weight: 400; color: var(--gold);
}

/* ════ OLD PHILOSOPHY (renamed) ════ */
#philosophy { background: var(--charcoal-2); padding: 8rem 0; position: relative; overflow: hidden; }
.philosophy-bg-text {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(6rem, 18vw, 16rem); font-weight: 300;
  color: rgba(255,255,255,.025); white-space: nowrap;
  pointer-events: none; user-select: none; letter-spacing: .05em;
}
.philosophy-big {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 5vw, 4rem); font-weight: 300; line-height: 1.2; color: var(--white);
}
.philosophy-big em { font-style: italic; color: var(--gold-light); }
.philosophy-body { font-size: .88rem; font-weight: 300; line-height: 1.95; color: rgba(255,255,255,.48); max-width: 380px; }
.philosophy-img-wrap { position: relative; overflow: hidden; }
.philosophy-img-wrap img {
  width: 100%; height: 500px; object-fit: cover; display: block;
  filter: saturate(.8) brightness(.88); transition: transform 1s ease;
}
.philosophy-img-wrap:hover img { transform: scale(1.04); }
.philosophy-img-label {
  position: absolute; bottom: 0; left: 0; right: 0;
  background: linear-gradient(transparent, rgba(10,10,10,.85));
  padding: 2.5rem 2rem 1.5rem;
}
.philosophy-img-caption { font-size: .63rem; letter-spacing: .3em; text-transform: uppercase; color: var(--gold); margin: 0; }
.stats-row { display: flex; gap: 2rem; margin-top: 2.5rem; align-items: center; }
.stat-block { display: flex; flex-direction: column; }
.stat-number { font-family: 'Cormorant Garamond', serif; font-size: 2.8rem; font-weight: 300; color: var(--white); }
.stat-accent { color: var(--gold); }
.stat-label { font-size: .63rem; letter-spacing: .3em; text-transform: uppercase; color: var(--soft); }
.stat-divider { width: 1px; background: rgba(255,255,255,.1); align-self: stretch; }

/* ════ SERVICES ════ */
#services { background: var(--off-white); padding: 8rem 0; }
.services-intro-body { font-size: .85rem; font-weight: 300; line-height: 1.9; color: var(--soft); }
.services-grid { display: grid; grid-template-columns: 1.2fr .8fr; grid-template-rows: auto auto; gap: 1.2rem; }
.service-block { position: relative; overflow: hidden; background: var(--charcoal); }
.service-block--tall { grid-row: span 2; }
.service-block img {
  width: 100%; height: 100%; object-fit: cover; min-height: 280px; display: block;
  transition: transform .8s ease, filter .8s ease; filter: brightness(.7) saturate(.7);
}
.service-block:hover img { transform: scale(1.06); filter: brightness(.52) saturate(.88); }
.service-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top,rgba(0,0,0,.88),rgba(0,0,0,.08) 60%);
  padding: 2rem; display: flex; flex-direction: column; justify-content: flex-end; transition: background .5s;
}
.service-block:hover .service-overlay { background: linear-gradient(to top,rgba(0,0,0,.94),rgba(0,0,0,.3) 60%); }
.service-num {
  font-family: 'Cormorant Garamond', serif; font-size: .9rem; color: var(--gold); letter-spacing: .2em;
  opacity: 0; transform: translateY(10px); transition: opacity .4s .1s, transform .4s .1s;
}
.service-block:hover .service-num { opacity: 1; transform: translateY(0); }
.service-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.4rem, 2.8vw, 2.2rem); font-weight: 300; color: var(--white); margin: .4rem 0;
}
.service-desc {
  font-size: .78rem; font-weight: 300; color: rgba(255,255,255,.58);
  max-height: 0; overflow: hidden; opacity: 0; transition: max-height .5s ease, opacity .4s;
}
.service-block:hover .service-desc { max-height: 110px; opacity: 1; }
.service-arrow {
  display: inline-flex; align-items: center; gap: .5rem;
  font-size: .63rem; letter-spacing: .3em; text-transform: uppercase; color: var(--gold); margin-top: .8rem;
  opacity: 0; transform: translateX(-8px); transition: opacity .4s .2s, transform .4s .2s;
}
.service-block:hover .service-arrow { opacity: 1; transform: translateX(0); }

/* ════ PORTFOLIO ════ */
#portfolio { background: var(--charcoal); padding: 8rem 0; overflow: hidden; }
.portfolio-drag-hint {
  font-size: .63rem; letter-spacing: .3em; text-transform: uppercase;
  color: rgba(255,255,255,.28); display: flex; align-items: center; gap: .6rem;
}
.portfolio-drag-hint i { color: var(--gold); }
.portfolio-scroll-wrap {
  overflow-x: auto; padding-bottom: 1.5rem;
  scrollbar-width: thin; scrollbar-color: var(--gold) transparent; cursor: grab;
}
.portfolio-scroll-wrap:active { cursor: grabbing; }
.portfolio-track { display: flex; gap: 1.4rem; width: max-content; }
.project-card { position: relative; overflow: hidden; flex-shrink: 0; width: clamp(280px, 28vw, 400px); }
.project-card img {
  width: 100%; height: 420px; object-fit: cover; display: block;
  filter: saturate(.72); transition: transform .7s ease, filter .7s ease;
}
.project-card video{
  width: 100%; height: 420px; object-fit: cover; display: block;
  filter: saturate(.72); transition: transform .7s ease, filter .7s ease;
}
.project-card:hover img { transform: scale(1.06); filter: saturate(1); }
.project-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top,rgba(0,0,0,.88),transparent 52%);
  padding: 1.8rem; display: flex; flex-direction: column; justify-content: flex-end;
}
.project-tag { font-size: .58rem; letter-spacing: .38em; text-transform: uppercase; color: var(--gold); margin-bottom: .4rem; }
.project-title { font-family: 'Cormorant Garamond', serif; font-size: 1.7rem; font-weight: 300; color: var(--white); line-height: 1.2; }
.project-year { font-size: .63rem; letter-spacing: .2em; color: rgba(255,255,255,.38); margin-top: .5rem; }

/* ════ PROCESS ════ */
#process { background: var(--off-white); padding: 8rem 0; }
.process-steps { display: grid; grid-template-columns: repeat(4,1fr); position: relative; }
.process-steps::before {
  content: ''; position: absolute; top: 2.3rem; left: 12.5%; right: 12.5%; height: 1px;
  background: linear-gradient(to right, transparent, var(--gold) 20%, var(--gold) 80%, transparent);
}
.process-step { text-align: center; padding: 0 1.5rem; position: relative; }
.step-circle {
  width: 4.5rem; height: 4.5rem; border-radius: 50%; border: 1px solid var(--gold);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 1.5rem; background: var(--off-white);
  position: relative; z-index: 1; transition: background .3s;
}
.process-step:hover .step-circle { background: var(--gold); }
.step-icon { font-size: 1.1rem; color: var(--gold); transition: color .3s; }
.process-step:hover .step-icon { color: var(--white); }
.step-num { position: absolute; top: -8px; right: -8px; font-size: .58rem; color: var(--gold-light); letter-spacing: .1em; }
.step-title { font-family: 'Cormorant Garamond', serif; font-size: 1.3rem; font-weight: 400; margin-bottom: .6rem; color: var(--charcoal); }
.step-desc { font-size: .78rem; font-weight: 300; line-height: 1.85; color: var(--soft); }

/* ════ TESTIMONIALS ════ */
#testimonials { background: var(--cream); padding: 8rem 0; overflow: hidden; }
.testimonial-slider { position: relative; }
.testimonial-track { display: flex; transition: transform .7s cubic-bezier(.25,.46,.45,.94); }
.testimonial-slide { min-width: 100%; padding: 0 2rem; text-align: center; }
.quote-mark {
  font-family: 'Cormorant Garamond', serif; font-size: 5rem; line-height: .8;
  color: var(--gold); opacity: .32; display: block; margin-bottom: .5rem;
}
.testimonial-text {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.3rem, 3vw, 2rem); font-weight: 300; font-style: italic;
  line-height: 1.6; color: var(--charcoal); max-width: 760px; margin: 0 auto 2rem;
}
.testimonial-client { font-size: .68rem; letter-spacing: .38em; text-transform: uppercase; color: var(--gold); }
.testimonial-role { font-size: .72rem; font-weight: 300; color: var(--soft); margin-top: .3rem; }
.slider-dots { display: flex; justify-content: center; gap: .6rem; margin-top: 2.5rem; }
.dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--soft); border: none; padding: 0; transition: background .3s, transform .3s;
}
.dot.active { background: var(--gold); transform: scale(1.4); }

/* ════ CTA ════ */
#cta { position: relative; padding: 10rem 0; overflow: hidden; }
.cta-bg {
  position: absolute; inset: 0;
  background-image: url('https://images.unsplash.com/photo-1618219908412-a29a1bb7b86e?w=1800&q=80');
  background-size: cover; background-position: center;
  filter: brightness(.28) saturate(.5);
}
.cta-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to right,rgba(8,5,2,.88),rgba(20,14,6,.45));
}
.cta-content { position: relative; z-index: 2; }
.cta-heading {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.5rem, 6vw, 5.5rem); font-weight: 300; line-height: 1.15; color: var(--white);
}
.cta-heading em { font-style: italic; color: var(--gold-light); }
.btn-cta-outline {
  display: inline-block; font-size: .7rem; letter-spacing: .32em; text-transform: uppercase;
  color: var(--gold); border: 1px solid var(--gold); padding: 1rem 2.6rem;
  text-decoration: none; transition: background .35s, color .35s, transform .3s; margin-top: 2.5rem;
}
.btn-cta-outline:hover { background: var(--gold); color: var(--charcoal); transform: translateY(-2px); }
.cta-contact { display: flex; flex-direction: column; gap: .55rem; }
.cta-contact-item {
  font-size: .74rem; letter-spacing: .18em; text-transform: uppercase;
  color: rgba(255,255,255,.42); display: flex; align-items: center; gap: .8rem;
}
.cta-contact-item--spaced { margin-top: .8rem; }
.cta-contact-item i { color: var(--gold); font-size: .8rem; }
.cta-contact-item a { color: inherit; text-decoration: none; transition: color .3s; }
.cta-contact-item a:hover { color: var(--gold); }

/* ════ FOOTER ════ */
footer { background: #0c0c0c; padding: 4.5rem 0 2rem; border-top: 1px solid rgba(184,150,90,.1); }
.footer-logo { font-family: 'Cormorant Garamond', serif; font-size: 1.6rem; font-weight: 300; letter-spacing: .18em; color: var(--white); line-height: 1.1; }
.footer-logo .logo-dot { color: var(--gold); }
.footer-logo-sub { font-size: .52rem; letter-spacing: .45em; text-transform: uppercase; color: var(--gold); font-family: 'Jost', sans-serif; font-weight: 300; }
.footer-tagline { font-size: .7rem; letter-spacing: .22em; text-transform: uppercase; color: var(--soft); margin-top: .4rem; }
.footer-about { font-size: .8rem; font-weight: 300; color: var(--soft); line-height: 1.85; margin-top: 1.2rem; max-width: 280px; }
.footer-heading { font-size: .63rem; letter-spacing: .38em; text-transform: uppercase; color: var(--gold); margin-bottom: 1.2rem; }
.footer-links { list-style: none; padding: 0; }
.footer-links li { margin-bottom: .6rem; }
.footer-links a { font-size: .8rem; font-weight: 300; color: rgba(255,255,255,.42); text-decoration: none; transition: color .3s, padding-left .3s; }
.footer-links a:hover { color: var(--gold); padding-left: .4rem; }
.footer-socials { display: flex; gap: 1rem; margin-top: 1rem; }
.social-btn {
  width: 38px; height: 38px; border: 1px solid rgba(184,150,90,.28);
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.42); text-decoration: none; font-size: .85rem;
  transition: border-color .3s, color .3s, background .3s;
}
.social-btn:hover { border-color: var(--gold); color: var(--gold); background: rgba(184,150,90,.07); }
.footer-newsletter-body { font-size: .78rem; font-weight: 300; color: var(--soft); line-height: 1.7; margin-bottom: 1rem; }
.newsletter-form { display: flex; border-bottom: 1px solid rgba(184,150,90,.28); }
.newsletter-input {
  background: none; border: none; outline: none;
  font-family: 'Jost', sans-serif; font-size: .78rem; font-weight: 300;
  color: var(--white); padding: .5rem 0; flex: 1; letter-spacing: .05em;
}
.newsletter-btn { background: none; border: none; color: var(--gold); font-size: .8rem; transition: transform .3s; }
.newsletter-btn:hover { transform: translateX(4px); }
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.05); padding-top: 1.5rem; margin-top: 3rem;
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .5rem;
}
.footer-copy { font-size: .7rem; font-weight: 300; letter-spacing: .1em; color: rgba(255,255,255,.22); }

/* ════ RESPONSIVE ════ */
@media (max-width: 991px) {
  .nav-links { display: none; }
  .hamburger { display: flex; }
  .navbar-custom, .navbar-custom.scrolled { padding: 1.1rem 1.5rem; }
  .services-grid { grid-template-columns: 1fr; }
  .service-block--tall { grid-row: span 1; }
  .process-steps { grid-template-columns: repeat(2,1fr); gap: 2.5rem; }
  .process-steps::before { display: none; }
  .dp-cards { grid-template-columns: 1fr; }
  .about-media { min-height: 380px; }
  .video-banner-overlay { padding: 0 2rem; }
  #cursor, #cursor-ring { display: none; }
  *, a { cursor: default !important; }
}
@media (max-width: 767px) {
  .dp-cards { grid-template-columns: 1fr; }
  .about-stats-row { flex-wrap: wrap; gap: 1.5rem; }
  .hero-heading {font-size: 50px;}
}
@media (max-width: 576px) {
  .process-steps { grid-template-columns: 1fr; }
}


/* #abous us css */

/* ════════════════════════════════════════════════
   DESIGN TOKENS  (identical to homepage)
════════════════════════════════════════════════ */
:root {
  --gold:       #b8965a;
  --gold-light: #d4af7a;
  --gold-pale:  rgba(184,150,90,.12);
  --cream:      #f5f0e8;
  --charcoal:   #141414;
  --charcoal-2: #1e1e1e;
  --mid:        #3a3a3a;
  --soft:       #8a8a8a;
  --white:      #ffffff;
  --off-white:  #faf8f4;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;background:var(--off-white);color:var(--charcoal);overflow-x:hidden}

/* ── SCROLLBAR ── */
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--charcoal)}
::-webkit-scrollbar-thumb{background:var(--gold)}

/* ── CURSOR ── */
*,a{cursor:none!important}
#cursor{position:fixed;width:10px;height:10px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .25s,height .25s}
#cursor-ring{position:fixed;width:36px;height:36px;border:1px solid var(--gold);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .25s,height .25s,opacity .3s;opacity:.55}

/* ════ NAVBAR (identical) ════ */
.navbar-custom{position:fixed;top:0;width:100%;z-index:1000;padding:1.5rem 3rem;transition:background .5s,padding .4s}
.navbar-custom.scrolled{background:rgba(20,20,20,.94);backdrop-filter:blur(20px);padding:.9rem 3rem;border-bottom:1px solid rgba(184,150,90,.14)}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:300;letter-spacing:.2em;text-transform:uppercase;color:var(--white);text-decoration:none;line-height:1.1}
.nav-logo-sub{display:block;font-size:.52rem;letter-spacing:.45em;text-transform:uppercase;color:var(--gold);font-family:'Jost',sans-serif;font-weight:300}
.nav-links{display:flex;gap:2rem;list-style:none;align-items:center}
.nav-links a{font-size:.68rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.7);text-decoration:none;transition:color .3s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:1px;background:var(--gold);transition:width .35s}
.nav-links a:hover{color:var(--white)}
.nav-links a:hover::after{width:100%}
.nav-links a.active{color:var(--gold)}
.nav-links a.active::after{width:100%}
.nav-cta{font-size:.68rem!important;letter-spacing:.22em;color:var(--gold)!important;border:1px solid var(--gold);padding:.45rem 1.3rem;transition:background .3s,color .3s!important}
.nav-cta:hover{background:var(--gold)!important;color:var(--charcoal)!important}
.nav-cta::after{display:none!important}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:.5rem}
.hamburger span{display:block;width:24px;height:1px;background:var(--white)}

/* ── MOBILE MENU (identical) ── */
.mobile-menu{position:fixed;inset:0;background:rgba(10,10,10,.97);z-index:999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s}
.mobile-menu.open{opacity:1;pointer-events:all}
.mobile-close-btn{position:absolute;top:2rem;right:2rem;background:none;border:none;color:rgba(255,255,255,.4);font-size:1.5rem}
.mobile-nav{list-style:none;text-align:center}
.mobile-nav li{margin:1.4rem 0}
.mobile-nav a{font-family:'Cormorant Garamond',serif;font-size:2.4rem;font-weight:300;letter-spacing:.1em;color:var(--white);text-decoration:none;transition:color .3s}
.mobile-nav a:hover{color:var(--gold)}

/* ════ ANIMATIONS & REVEAL ════ */
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes scrollPulse{0%,100%{opacity:.38;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.12)}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes countUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes lineGrow{from{height:0}to{height:100%}}
@keyframes rotateSlow{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}

.reveal{opacity:0;transform:translateY(44px);transition:opacity .9s ease,transform .9s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-left{opacity:0;transform:translateX(-44px);transition:opacity .9s ease,transform .9s ease ; font-size: 47px;}
.reveal-left.visible{opacity:1;transform:translateX(0)}
.reveal-right{opacity:0;transform:translateX(44px);transition:opacity .9s ease,transform .9s ease}
.reveal-right.visible{opacity:1;transform:translateX(0)}
.reveal-scale{opacity:0;transform:scale(.93);transition:opacity .9s ease,transform .9s ease}
.reveal-scale.visible{opacity:1;transform:scale(1)}
.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}
.delay-4{transition-delay:.4s}.delay-5{transition-delay:.5s}.delay-6{transition-delay:.6s}

/* ════ SHARED COMPONENTS ════ */
.section-label{font-size:.62rem;letter-spacing:.48em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:.9rem}
.section-label::before{content:'';display:block;width:34px;height:1px;background:var(--gold)}
.section-label--light{color:rgba(184,150,90,.85)}
.section-label--light::before{background:rgba(184,150,90,.85)}
.section-label--centered{justify-content:center}
.section-label--centered::before{display:none}

.section-heading{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,5vw,4rem);font-weight:300;line-height:1.15;color:var(--charcoal)}
.section-heading--light{color:var(--white)}
.section-heading--upper{text-transform:uppercase;letter-spacing:.12em;font-size:clamp(2rem,4.5vw,3.6rem)}
.section-heading em{font-style:italic;color:var(--gold-light)}

.divider-gold{width:48px;height:1px;background:var(--gold);margin:1.4rem 0}
.divider-gold--wide{width:80px}
.brand-highlight{font-family:'Cormorant Garamond',serif;font-size:1.05em;font-weight:400;letter-spacing:.06em;color:var(--gold)}

.btn-gold{display:inline-block;font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:var(--charcoal);background:var(--gold);padding:1.05rem 2.8rem;text-decoration:none;transition:background .35s,transform .3s;border:none}
.btn-gold:hover{background:var(--gold-light);transform:translateY(-2px);color:var(--charcoal)}
.btn-outline-gold{display:inline-block;font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold);padding:1rem 2.6rem;text-decoration:none;transition:background .35s,color .35s,transform .3s}
.btn-outline-gold:hover{background:var(--gold);color:var(--charcoal);transform:translateY(-2px)}

/* ════ HERO ════ */
#about-hero{position:relative;width:100%;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center}
.about-hero-bg{position:absolute;inset:0;z-index:0}
.about-hero-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.6) brightness(.75)}
.about-hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(170deg,rgba(10,8,4,.82) 0%,rgba(20,14,6,.52) 55%,rgba(10,8,4,.9) 100%)}
.about-hero-content{position:relative;z-index:2;text-align:center;padding:80px 2rem 0}
.about-hero-eyebrow{font-size:.65rem;letter-spacing:.5em;text-transform:uppercase;color:var(--gold);margin-bottom:1.8rem;opacity:0;animation:fadeUp .9s .3s forwards}
.about-hero-heading{font-family:'Cormorant Garamond',serif;font-size:70px;font-weight:300;line-height:1.05;color:var(--white);margin-bottom:1.8rem;opacity:0;animation:fadeUp 1.1s .5s forwards}
.about-hero-heading em{font-style:italic;color:var(--gold-light)}
.about-hero-sub{font-size:.88rem;font-weight:300;letter-spacing:.08em;line-height:1.85;color:rgba(255,255,255,.58);max-width:560px;margin:0 auto 2.8rem;opacity:0;animation:fadeUp .9s .78s forwards}
.about-hero-breadcrumb{display:flex;align-items:center;justify-content:center;gap:.8rem;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.35);opacity:0;animation:fadeUp .8s 1.1s forwards}
.about-hero-breadcrumb a{color:rgba(255,255,255,.35);text-decoration:none;transition:color .3s}
.about-hero-breadcrumb a:hover{color:var(--gold)}
.about-hero-breadcrumb span{color:var(--gold)}
.hero-scroll{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:0;animation:fadeUp .9s 1.3s forwards;z-index:2}
.hero-scroll-label{font-size:.58rem;letter-spacing:.4em;text-transform:uppercase;color:rgba(255,255,255,.38)}
.scroll-line{width:1px;height:54px;background:linear-gradient(to bottom,var(--gold),transparent);animation:scrollPulse 2s infinite}

/* ════ ABOUT STUDIO SECTION ════ */
#studio{background:var(--off-white);padding:9rem 0;overflow:hidden}
.studio-img-wrap{position:relative;overflow:hidden}
.studio-img-main{width:100%;height:580px;object-fit:cover;filter:saturate(.85);transition:transform 1.2s ease;display:block}
.studio-img-wrap:hover .studio-img-main{transform:scale(1.04)}
.studio-img-accent{position:absolute;bottom:-2rem;right:-2rem;width:180px;height:220px;object-fit:cover;border:4px solid var(--off-white);filter:saturate(.8);transition:transform 1s ease}
.studio-img-wrap:hover .studio-img-accent{transform:scale(1.03) translate(-4px,4px)}
.studio-img-label{position:absolute;top:2rem;left:2rem;background:rgba(20,20,20,.72);backdrop-filter:blur(12px);border:1px solid rgba(184,150,90,.25);padding:.9rem 1.4rem}
.studio-img-label-text{font-size:.6rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold)}
.studio-tag{display:inline-flex;align-items:center;gap:.6rem;font-size:.62rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-bottom:2.5rem}
.studio-tag::before{content:'';width:20px;height:1px;background:var(--gold)}
.studio-heading{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3.4rem);font-weight:300;line-height:1.18;color:var(--charcoal)}
.studio-heading em{font-style:italic;color:var(--gold-light)}
.studio-body{font-size:.9rem;font-weight:300;line-height:2;color:var(--mid);margin-top:1.8rem}
.studio-body p{margin-bottom:1.4rem}
.studio-body p:last-child{margin-bottom:0}
.studio-features{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:2.5rem}
.studio-feature{display:flex;align-items:flex-start;gap:.9rem}
.studio-feature-icon{width:2.4rem;height:2.4rem;border:1px solid rgba(184,150,90,.3);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.8rem;color:var(--gold);transition:background .3s,border-color .3s}
.studio-feature:hover .studio-feature-icon{background:var(--gold-pale);border-color:var(--gold)}
.studio-feature-text{font-size:.78rem;font-weight:300;line-height:1.7;color:var(--soft)}
.studio-feature-title{font-size:.78rem;font-weight:500;color:var(--charcoal);letter-spacing:.05em;margin-bottom:.2rem}

/* ════ STATS ════ */
#stats{background:var(--charcoal);padding:7rem 0;position:relative;overflow:hidden}
.stat-card {height: 280px;}
.stats-bg-word{position:absolute;bottom:-1rem;right:-1rem;font-family:'Cormorant Garamond',serif;font-size:clamp(8rem,20vw,18rem);font-weight:300;color:rgba(255,255,255,.025);pointer-events:none;user-select:none;white-space:nowrap;letter-spacing:.05em;line-height:1}
.stat-card{background:rgba(255,255,255,.03);border:1px solid rgba(184,150,90,.1);padding:3rem 2.4rem;position:relative;overflow:hidden;transition:background .4s,border-color .4s,transform .4s}
.stat-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .5s ease}
.stat-card:hover{background:rgba(184,150,90,.06);border-color:rgba(184,150,90,.3);transform:translateY(-6px)}
.stat-card:hover::after{transform:scaleX(1)}
.stat-card-num{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,6vw,5rem);font-weight:300;color:var(--white);line-height:1}
.stat-card-num span{color:var(--gold)}
.stat-card-label{font-size:.65rem;letter-spacing:.4em;text-transform:uppercase;color:var(--soft);margin-top:.6rem}
.stat-card-desc{font-size:.78rem;font-weight:300;line-height:1.7;color:rgba(255,255,255,.3);margin-top:.8rem;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.06)}
.stat-card-icon{position:absolute;top:2rem;right:2rem;font-size:1.1rem;color:rgba(184,150,90,.2);transition:color .4s}
.stat-card:hover .stat-card-icon{color:var(--gold)}

/* ════ FOUNDER VISION ════ */
#founder{background:var(--off-white);padding:9rem 0;overflow:hidden}
.founder-img-col{position:relative}
.founder-img-main{width:100%;height:640px;object-fit:cover;object-position:top;filter:saturate(.82);display:block}
.founder-img-frame{position:absolute;inset:1.5rem;border:1px solid rgba(184,150,90,.3);pointer-events:none;z-index:2}
.founder-img-frame::before{content:'';position:absolute;top:-.5rem;left:-.5rem;right:-.5rem;bottom:-.5rem;border:1px solid rgba(184,150,90,.1)}
.founder-gold-badge{position:absolute;bottom:3rem;left:-2rem;background:var(--gold);padding:1.5rem 2rem;z-index:3}
.founder-gold-badge-year{font-family:'Cormorant Garamond',serif;font-size:2.2rem;font-weight:300;color:var(--charcoal);line-height:1}
.founder-gold-badge-label{font-size:.58rem;letter-spacing:.35em;text-transform:uppercase;color:rgba(20,20,20,.7);margin-top:.2rem}
.founder-quote-block{margin-top:2.5rem;padding:2rem 2.2rem;border-left:2px solid var(--gold);background:rgba(184,150,90,.05)}
.founder-quote-text{font-family:'Cormorant Garamond',serif;font-size:clamp(1.2rem,2vw,1.55rem);font-weight:300;font-style:italic;line-height:1.65;color:var(--charcoal)}
.founder-quote-author{font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-top:1rem}
.founder-signature{font-family:'Cormorant Garamond',serif;font-size:2.4rem;font-weight:300;color:var(--gold);font-style:italic;line-height:1;margin-top:2rem}

/* ════ PHILOSOPHY CARDS ════ */
#philosophy{background:var(--charcoal-2);padding:9rem 0;position:relative;overflow:hidden}
.phil-bg-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Cormorant Garamond',serif;font-size:clamp(6rem,18vw,16rem);font-weight:300;color:rgba(255,255,255,.025);white-space:nowrap;pointer-events:none;user-select:none;letter-spacing:.05em}
.phil-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(184,150,90,.08);margin-top:5rem}
.phil-card{background:var(--charcoal-2);padding:3rem 2.5rem;position:relative;overflow:hidden;transition:background .4s}
.phil-card-top-line{position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .55s ease}
.phil-card:hover{background:rgba(184,150,90,.07)}
.phil-card:hover .phil-card-top-line{transform:scaleX(1)}
.phil-card-num{font-family:'Cormorant Garamond',serif;font-size:3.5rem;font-weight:300;color:rgba(184,150,90,.12);line-height:1;margin-bottom:1.5rem;transition:color .4s}
.phil-card:hover .phil-card-num{color:rgba(184,150,90,.3)}
.phil-card-icon{width:3rem;height:3rem;border:1px solid rgba(184,150,90,.25);display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:.9rem;margin-bottom:1.4rem;transition:background .3s,border-color .3s}
.phil-card:hover .phil-card-icon{background:var(--gold-pale);border-color:var(--gold)}
.phil-card-title{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:300;color:var(--white);margin-bottom:.9rem}
.phil-card-body{font-size:.8rem;font-weight:300;line-height:1.9;color:rgba(255,255,255,.42)}

/* ════ TIMELINE ════ */
#timeline{background:var(--off-white);padding:9rem 0}
.timeline-wrap{position:relative;padding-left:3rem}
.timeline-axis{position:absolute;left:0;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,var(--gold) 10%,var(--gold) 90%,transparent)}
.timeline-item{position:relative;padding:0 0 4.5rem 3rem}
.timeline-item:last-child{padding-bottom:0}
.timeline-dot{position:absolute;left:-3rem;top:.3rem;width:14px;height:14px;border-radius:50%;border:1px solid var(--gold);background:var(--off-white);transform:translateX(-6px);transition:background .3s,transform .3s}
.timeline-item:hover .timeline-dot{background:var(--gold);transform:translateX(-6px) scale(1.3)}
.timeline-year{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:300;color:var(--gold);letter-spacing:.2em;margin-bottom:.5rem}
.timeline-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.4rem,2.5vw,2rem);font-weight:300;color:var(--charcoal);margin-bottom:.8rem;line-height:1.2}
.timeline-title em{font-style:italic;color:var(--gold-light)}
.timeline-body{font-size:.84rem;font-weight:300;line-height:1.9;color:var(--soft);max-width:520px}
.timeline-img{width:100%;height:260px;object-fit:cover;filter:saturate(.8);display:block;transition:transform .8s ease,filter .5s ease}
.timeline-img-wrap{overflow:hidden}
.timeline-img-wrap:hover .timeline-img{transform:scale(1.04);filter:saturate(1)}

/* ════ TEAM ════ */
#team{background:var(--charcoal);padding:9rem 0;overflow:hidden}
.team-card{position:relative;overflow:hidden;background:var(--charcoal-2)}
.team-card-img{width:100%;height:400px;object-fit:cover;object-position:top;filter:saturate(.7) brightness(.9);transition:transform .8s ease,filter .6s ease;display:block}
.team-card:hover .team-card-img{transform:scale(1.06);filter:saturate(.95) brightness(.85)}
.team-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,8,4,.95) 0%,rgba(10,8,4,.2) 55%,transparent 100%);padding:2rem;display:flex;flex-direction:column;justify-content:flex-end;transition:background .4s}
.team-card:hover .team-card-overlay{background:linear-gradient(to top,rgba(10,8,4,.98) 0%,rgba(10,8,4,.4) 55%,transparent 100%)}
.team-card-role{font-size:.6rem;letter-spacing:.38em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem}
.team-card-name{font-family:'Cormorant Garamond',serif;font-size:1.65rem;font-weight:300;color:var(--white);line-height:1.2}
.team-card-bio{font-size:.76rem;font-weight:300;line-height:1.75;color:rgba(255,255,255,.5);margin-top:.7rem;max-height:0;overflow:hidden;transition:max-height .5s ease,opacity .4s;opacity:0}
.team-card:hover .team-card-bio{max-height:120px;opacity:1}
.team-card-socials{display:flex;gap:.6rem;margin-top:.9rem;opacity:0;transform:translateY(8px);transition:opacity .4s .1s,transform .4s .1s}
.team-card:hover .team-card-socials{opacity:1;transform:translateY(0)}
.team-social-btn{width:32px;height:32px;border:1px solid rgba(184,150,90,.3);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);font-size:.75rem;text-decoration:none;transition:background .3s,border-color .3s,color .3s}
.team-social-btn:hover{background:var(--gold);border-color:var(--gold);color:var(--charcoal)}

/* ════ WHY CHOOSE US ════ */
#why{background:var(--cream);padding:9rem 0;overflow:hidden}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.why-card{padding:2.8rem;border:1px solid rgba(184,150,90,.15);background:var(--white);position:relative;overflow:hidden;transition:border-color .4s,box-shadow .4s,transform .4s}
.why-card::before{content:'';position:absolute;top:0;left:0;width:2px;height:0;background:var(--gold);transition:height .5s ease}
.why-card:hover{border-color:rgba(184,150,90,.4);box-shadow:0 20px 60px rgba(184,150,90,.08);transform:translateY(-4px)}
.why-card:hover::before{height:100%}
.why-card-icon{width:3.5rem;height:3.5rem;border:1px solid rgba(184,150,90,.25);display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--gold);margin-bottom:1.5rem;transition:background .3s,border-color .3s}
.why-card:hover .why-card-icon{background:var(--gold-pale);border-color:var(--gold)}
.why-card-title{font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:400;color:var(--charcoal);margin-bottom:.7rem}
.why-card-body{font-size:.8rem;font-weight:300;line-height:1.9;color:var(--soft)}
.why-media{position:relative;overflow:hidden}
.why-media-img{width:100%;height:100%;min-height:400px;object-fit:cover;filter:saturate(.8);display:block;transition:transform 1.2s ease}
.why-media:hover .why-media-img{transform:scale(1.04)}
.why-media-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,8,4,.6) 0%,transparent 60%);display:flex;align-items:flex-end;padding:2.5rem}
.why-media-quote{font-family:'Cormorant Garamond',serif;font-size:clamp(1.2rem,2vw,1.6rem);font-weight:300;font-style:italic;color:var(--white);line-height:1.45}
.why-media-quote em{color:var(--gold-light);font-style:italic}

/* ════ TESTIMONIALS (identical style) ════ */
#testimonials{background:var(--off-white);padding:8rem 0;overflow:hidden}
.testimonial-slider{position:relative}
.testimonial-track{display:flex;transition:transform .7s cubic-bezier(.25,.46,.45,.94)}
.testimonial-slide{min-width:100%;padding:0 2rem;text-align:center}
.quote-mark{font-family:'Cormorant Garamond',serif;font-size:5rem;line-height:.8;color:var(--gold);opacity:.32;display:block;margin-bottom:.5rem}
.testimonial-text{font-family:'Cormorant Garamond',serif;font-size:clamp(1.3rem,3vw,2rem);font-weight:300;font-style:italic;line-height:1.6;color:var(--charcoal);max-width:760px;margin:0 auto 2rem}
.testimonial-client{font-size:.68rem;letter-spacing:.38em;text-transform:uppercase;color:var(--gold)}
.testimonial-role{font-size:.72rem;font-weight:300;color:var(--soft);margin-top:.3rem}
.slider-dots{display:flex;justify-content:center;gap:.6rem;margin-top:2.5rem}
.dot{width:6px;height:6px;border-radius:50%;background:var(--soft);border:none;padding:0;transition:background .3s,transform .3s}
.dot.active{background:var(--gold);transform:scale(1.4)}
.testi-nav-btn{background:none;border:1px solid rgba(184,150,90,.2);width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:var(--soft);font-size:.85rem;transition:border-color .3s,color .3s,background .3s}
.testi-nav-btn:hover{border-color:var(--gold);color:var(--gold);background:var(--gold-pale)}

/* ════ CTA SECTION (identical) ════ */
#cta{position:relative;padding:10rem 0;overflow:hidden}
.cta-bg{position:absolute;inset:0;background-image:url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?w=1600&q=80');background-size:cover;background-position:center;filter:brightness(.28) saturate(.5)}
.cta-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(8,5,2,.9),rgba(20,14,6,.45))}
.cta-content{position:relative;z-index:2}
.cta-heading{font-family:'Cormorant Garamond',serif;font-size:clamp(2.5rem,6vw,5.5rem);font-weight:300;line-height:1.15;color:var(--white)}
.cta-heading em{font-style:italic;color:var(--gold-light)}
.btn-cta-outline{display:inline-block;font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold);padding:1rem 2.6rem;text-decoration:none;transition:background .35s,color .35s,transform .3s;margin-top:2.5rem}
.btn-cta-outline:hover{background:var(--gold);color:var(--charcoal);transform:translateY(-2px)}
.cta-contact{display:flex;flex-direction:column;gap:.55rem}
.cta-contact-item{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.42);display:flex;align-items:center;gap:.8rem}
.cta-contact-item--spaced{margin-top:.8rem}
.cta-contact-item i{color:var(--gold);font-size:.8rem}
.cta-contact-item a{color:inherit;text-decoration:none;transition:color .3s}
.cta-contact-item a:hover{color:var(--gold)}

/* ════ FOOTER (identical) ════ */
footer{background:#0c0c0c;padding:4.5rem 0 2rem;border-top:1px solid rgba(184,150,90,.1)}
.footer-logo{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:300;letter-spacing:.18em;color:var(--white);line-height:1.1}
.footer-logo .logo-dot{color:var(--gold)}
.footer-logo-sub{font-size:.52rem;letter-spacing:.45em;text-transform:uppercase;color:var(--gold);font-family:'Jost',sans-serif;font-weight:300}
.footer-tagline{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--soft);margin-top:.4rem}
.footer-about{font-size:.8rem;font-weight:300;color:var(--soft);line-height:1.85;margin-top:1.2rem;max-width:280px}
.footer-heading{font-size:.63rem;letter-spacing:.38em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem}
.footer-links{list-style:none;padding:0}
.footer-links li{margin-bottom:.6rem}
.footer-links a{font-size:.8rem;font-weight:300;color:rgba(255,255,255,.42);text-decoration:none;transition:color .3s,padding-left .3s}
.footer-links a:hover{color:var(--gold);padding-left:.4rem}
.footer-socials{display:flex;gap:1rem;margin-top:1rem}
.social-btn{width:38px;height:38px;border:1px solid rgba(184,150,90,.28);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.42);text-decoration:none;font-size:.85rem;transition:border-color .3s,color .3s,background .3s}
.social-btn:hover{border-color:var(--gold);color:var(--gold);background:rgba(184,150,90,.07)}
.footer-newsletter-body{font-size:.78rem;font-weight:300;color:var(--soft);line-height:1.7;margin-bottom:1rem}
.newsletter-form{display:flex;border-bottom:1px solid rgba(184,150,90,.28)}
.newsletter-input{background:none;border:none;outline:none;font-family:'Jost',sans-serif;font-size:.78rem;font-weight:300;color:var(--white);padding:.5rem 0;flex:1;letter-spacing:.05em}
.newsletter-btn{background:none;border:none;color:var(--gold);font-size:.8rem;transition:transform .3s}
.newsletter-btn:hover{transform:translateX(4px)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.05);padding-top:1.5rem;margin-top:3rem;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem}
.footer-copy{font-size:.7rem;font-weight:300;letter-spacing:.1em;color:rgba(255,255,255,.22)}

/* ════ UTILITY CLASSES (replacing any inline styles) ════ */
.founder-body{font-size:.9rem;font-weight:300;line-height:2;color:var(--mid)}
.section-side-note{font-size:.84rem;font-weight:300;line-height:1.9;color:var(--soft)}
.section-side-note--light{font-size:.84rem;font-weight:300;line-height:1.9;color:rgba(255,255,255,.4)}
.timeline-img--small{height:200px}
.testi-overflow-wrap{overflow:hidden}
.breadcrumb-sep{font-size:.5rem}

/* ════ GLASSMORPHISM PANEL ════ */
.glass-panel{background:rgba(255,255,255,.06);backdrop-filter:blur(18px);border:1px solid rgba(184,150,90,.18);padding:2.5rem}
.glass-panel--dark{background:rgba(10,8,4,.55);backdrop-filter:blur(18px);border:1px solid rgba(184,150,90,.2)}

/* ════ RESPONSIVE ════ */
@media(max-width:991px){
  .nav-links{display:none}
  .hamburger{display:flex}
  .navbar-custom,.navbar-custom.scrolled{padding:1.1rem 1.5rem}
  .phil-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .studio-img-accent{display:none}
  .founder-gold-badge{left:1rem}
  #cursor,#cursor-ring{display:none}
  *,a{cursor:default!important}
}
@media(max-width:767px){
  .stats-row-grid{grid-template-columns:repeat(2,1fr)}
  .timeline-wrap{padding-left:2rem}
  .timeline-item{padding-left:2rem}
}
@media(max-width:576px){
  .stats-row-grid{grid-template-columns:1fr}
}

/* video */
.video-container {
    position: relative;
}

.video-overlay-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80px;
    height: 80px;
    background: rgba(0, 0, 0, 0.75);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s ease;
    opacity: 1;
}

.video-overlay-button.hidden {
    opacity: 0;
    pointer-events: none;
}

.play-icon {
    color: white;
    font-size: 34px;
}

/* gallery css */

    /* ════════════════════════════════════════
       DESIGN TOKENS — exact match to reference
    ════════════════════════════════════════ */
    :root {
      --gold:       #b8965a;
      --gold-light: #d4af7a;
      --gold-pale:  rgba(184,150,90,.12);
      --cream:      #f5f0e8;
      --charcoal:   #141414;
      --charcoal-2: #1e1e1e;
      --mid:        #3a3a3a;
      --soft:       #8a8a8a;
      --white:      #ffffff;
      --off-white:  #faf8f4;
    }

    *,*::before,*::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body { font-family: 'Jost', sans-serif; background: var(--off-white); color: var(--charcoal); overflow-x: hidden; }

    /* ── SCROLLBAR ── */
    ::-webkit-scrollbar { width: 4px; }
    ::-webkit-scrollbar-track { background: var(--charcoal); }
    ::-webkit-scrollbar-thumb { background: var(--gold); }

    /* ── CURSOR ── */
    *, a { cursor: none !important; }
    #gal-cursor {
      position: fixed; width: 10px; height: 10px;
      background: var(--gold); border-radius: 50%;
      pointer-events: none; z-index: 9999;
      transform: translate(-50%,-50%);
      transition: width .25s, height .25s;
    }
    #gal-cursor-ring {
      position: fixed; width: 36px; height: 36px;
      border: 1px solid var(--gold); border-radius: 50%;
      pointer-events: none; z-index: 9998;
      transform: translate(-50%,-50%);
      transition: width .25s, height .25s, opacity .3s;
      opacity: .55;
    }

    /* ════ NAVBAR ════ */
    .gal-navbar {
      position: fixed; top: 0; width: 100%; z-index: 1000;
      padding: 1.5rem 3rem;
      transition: background .5s, padding .4s;
      display: flex; align-items: center; justify-content: space-between;
    }
    .gal-navbar.scrolled {
      background: rgba(20,20,20,.94);
      backdrop-filter: blur(20px);
      padding: .9rem 3rem;
      border-bottom: 1px solid rgba(184,150,90,.14);
    }
    .gal-nav-logo {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.45rem; font-weight: 300; letter-spacing: .2em; text-transform: uppercase;
      color: var(--white); text-decoration: none; line-height: 1.1; text-align: center;
    }
    .gal-nav-logo-sub {
      display: block; font-size: .52rem; letter-spacing: .45em; text-transform: uppercase;
      color: var(--gold); font-family: 'Jost', sans-serif; font-weight: 300;
    }
    .gal-nav-links { display: flex; gap: 2rem; list-style: none; align-items: center; }
    .gal-nav-links a {
      font-size: .68rem; font-weight: 400; letter-spacing: .22em; text-transform: uppercase;
      color: rgba(255,255,255,.7); text-decoration: none; transition: color .3s; position: relative;
    }
    .gal-nav-links a::after {
      content: ''; position: absolute; bottom: -3px; left: 0;
      width: 0; height: 1px; background: var(--gold); transition: width .35s;
    }
    .gal-nav-links a:hover { color: var(--white); }
    .gal-nav-links a:hover::after { width: 100%; }
    .gal-nav-links a.gal-active { color: var(--gold); }
    .gal-nav-links a.gal-active::after { width: 100%; }
    .gal-nav-cta {
      font-size: .68rem !important; letter-spacing: .22em;
      color: var(--gold) !important; border: 1px solid var(--gold);
      padding: .45rem 1.3rem; transition: background .3s, color .3s !important;
    }
    .gal-nav-cta:hover { background: var(--gold) !important; color: var(--charcoal) !important; }
    .gal-nav-cta::after { display: none !important; }
    .gal-hamburger { display: none; flex-direction: column; gap: 5px; background: none; border: none; padding: .5rem; }
    .gal-hamburger span { display: block; width: 24px; height: 1px; background: var(--white); }

    /* ════ MOBILE MENU ════ */
    .gal-mobile-menu {
      position: fixed; inset: 0; background: rgba(10,10,10,.97);
      z-index: 999; display: flex; align-items: center; justify-content: center;
      opacity: 0; pointer-events: none; transition: opacity .4s;
    }
    .gal-mobile-menu.open { opacity: 1; pointer-events: all; }
    .gal-mobile-close {
      position: absolute; top: 2rem; right: 2rem;
      background: none; border: none; color: rgba(255,255,255,.4); font-size: 1.5rem;
    }
    .gal-mobile-nav { list-style: none; text-align: center; }
    .gal-mobile-nav li { margin: 1.4rem 0; }
    .gal-mobile-nav a {
      font-family: 'Cormorant Garamond', serif;
      font-size: 2.4rem; font-weight: 300; letter-spacing: .1em;
      color: var(--white); text-decoration: none; transition: color .3s;
    }
    .gal-mobile-nav a:hover { color: var(--gold); }

    /* ════ ANIMATIONS ════ */
    @keyframes fadeUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
    @keyframes scrollPulse { 0%,100% { opacity:.38; transform:scaleY(1); } 50% { opacity:1; transform:scaleY(1.12); } }

    .gal-reveal { opacity: 0; transform: translateY(44px); transition: opacity .9s ease, transform .9s ease; }
    .gal-reveal.visible { opacity: 1; transform: translateY(0); }
    .gal-reveal-left { opacity: 0; transform: translateX(-44px); transition: opacity .9s ease, transform .9s ease; }
    .gal-reveal-left.visible { opacity: 1; transform: translateX(0); }
    .gal-reveal-right { opacity: 0; transform: translateX(44px); transition: opacity .9s ease, transform .9s ease; }
    .gal-reveal-right.visible { opacity: 1; transform: translateX(0); }
    .gal-delay-1 { transition-delay: .12s; }
    .gal-delay-2 { transition-delay: .24s; }
    .gal-delay-3 { transition-delay: .36s; }
    .gal-delay-4 { transition-delay: .48s; }

    /* ════ SHARED COMPONENTS ════ */
    .gal-section-label {
      font-size: .62rem; letter-spacing: .48em; text-transform: uppercase;
      color: var(--gold); display: flex; align-items: center; gap: .9rem;
    }
    .gal-section-label::before { content: ''; display: block; width: 34px; height: 1px; background: var(--gold); }
    .gal-section-label--light { color: rgba(184,150,90,.85); }
    .gal-section-label--light::before { background: rgba(184,150,90,.85); }
    .gal-section-label--centered { justify-content: center; }
    .gal-section-label--centered::before { display: none; }

    .gal-heading {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(2.2rem, 5vw, 4rem);
      font-weight: 300; line-height: 1.15; color: var(--charcoal);
    }
    .gal-heading--light { color: var(--white); }
    .gal-heading em { font-style: italic; color: var(--gold-light); }

    .gal-divider { width: 48px; height: 1px; background: var(--gold); margin: 1.4rem 0; }

    .gal-btn-gold {
      display: inline-block; font-size: .7rem; letter-spacing: .32em; text-transform: uppercase;
      color: var(--charcoal); background: var(--gold); padding: 1.05rem 2.8rem;
      text-decoration: none; border: none; transition: background .35s, transform .3s;
    }
    .gal-btn-gold:hover { background: var(--gold-light); transform: translateY(-2px); color: var(--charcoal); }
    .gal-btn-outline {
      display: inline-block; font-size: .7rem; letter-spacing: .32em; text-transform: uppercase;
      color: var(--gold); border: 1px solid var(--gold); padding: 1rem 2.6rem;
      text-decoration: none; transition: background .35s, color .35s, transform .3s;
    }
    .gal-btn-outline:hover { background: var(--gold); color: var(--charcoal); transform: translateY(-2px); }

    /* ════ HERO ════ */
    #gal-hero {
      position: relative; width: 100%; height: 100vh;
      overflow: hidden; display: flex; align-items: center; justify-content: center;
    }
    .gal-hero-bg {
      position: absolute; inset: 0; z-index: 0;
    }
    .gal-hero-bg img {
      width: 100%; height: 100%; object-fit: cover; filter: saturate(.6) brightness(.75);
    }
    .gal-hero-overlay {
      position: absolute; inset: 0; z-index: 1;
      background: linear-gradient(170deg, rgba(10,8,4,.82) 0%, rgba(20,14,6,.52) 55%, rgba(10,8,4,.9) 100%);
    }
    .gal-hero-content {
      position: relative; z-index: 2; text-align: center; padding: 80px 2rem 0;
    }
    .gal-hero-eyebrow {
      font-size: .65rem; letter-spacing: .5em; text-transform: uppercase;
      color: var(--gold); margin-bottom: 1.8rem;
      opacity: 0; animation: fadeUp .9s .3s forwards;
    }
    .gal-hero-heading {
      font-family: 'Cormorant Garamond', serif;
      font-size: 70px; font-weight: 300; line-height: 1.05;
      color: var(--white); margin-bottom: 1.8rem;
      opacity: 0; animation: fadeUp 1.1s .5s forwards;
    }
    .gal-hero-heading em { font-style: italic; color: var(--gold-light); }
    .gal-hero-sub {
      font-size: .88rem; font-weight: 300; letter-spacing: .08em; line-height: 1.85;
      color: rgba(255,255,255,.58); max-width: 560px; margin: 0 auto 2.8rem;
      opacity: 0; animation: fadeUp .9s .78s forwards;
    }
    .gal-hero-breadcrumb {
      display: flex; align-items: center; justify-content: center; gap: .8rem;
      font-size: .62rem; letter-spacing: .3em; text-transform: uppercase;
      color: rgba(255,255,255,.35);
      opacity: 0; animation: fadeUp .8s 1.1s forwards;
    }
    .gal-hero-breadcrumb a { color: rgba(255,255,255,.35); text-decoration: none; transition: color .3s; }
    .gal-hero-breadcrumb a:hover { color: var(--gold); }
    .gal-hero-breadcrumb span { color: var(--gold); }
    .gal-scroll-cue {
      position: absolute; bottom: 2.5rem; left: 50%; transform: translateX(-50%);
      display: flex; flex-direction: column; align-items: center; gap: .5rem;
      opacity: 0; animation: fadeUp .9s 1.3s forwards; z-index: 2;
    }
    .gal-scroll-label {
      font-size: .58rem; letter-spacing: .4em; text-transform: uppercase;
      color: rgba(255,255,255,.38);
    }
    .gal-scroll-line {
      width: 1px; height: 54px;
      background: linear-gradient(to bottom, var(--gold), transparent);
      animation: scrollPulse 2s infinite;
    }

    /* ════ FILTER TABS ════ */
    .gal-filter-wrap {
      display: flex; gap: .8rem; flex-wrap: wrap; margin-bottom: 3rem;
    }
    .gal-filter-tab {
      font-family: 'Jost', sans-serif;
      font-size: .62rem; font-weight: 400; letter-spacing: .3em; text-transform: uppercase;
      background: none; border: 1px solid rgba(184,150,90,.2);
      color: var(--soft); padding: .55rem 1.5rem;
      transition: border-color .3s, color .3s, background .3s;
    }
    .gal-filter-tab:hover { border-color: var(--gold); color: var(--gold); }
    .gal-filter-tab.gal-tab-active {
      border-color: var(--gold); color: var(--charcoal);
      background: var(--gold);
    }
    /* light filter tabs for dark bg */
    .gal-filter-tab--dark { color: rgba(255,255,255,.4); border-color: rgba(184,150,90,.2); }
    .gal-filter-tab--dark:hover { border-color: var(--gold); color: var(--gold); }
    .gal-filter-tab--dark.gal-tab-active { color: var(--charcoal); background: var(--gold); border-color: var(--gold); }

    /* ════ VIDEO SECTION ════ */
    #gal-videos { background: var(--charcoal); padding: 9rem 0; overflow: hidden; position: relative; }
    .gal-vid-bg-word {
      position: absolute; bottom: -2rem; right: -1rem;
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(6rem, 14vw, 13rem); font-weight: 300;
      color: rgba(255,255,255,.025); pointer-events: none; user-select: none;
      white-space: nowrap; letter-spacing: .05em; line-height: 1;
    }

    /* Featured video */
    .gal-featured-vid {
      position: relative; overflow: hidden; background: var(--charcoal-2);
      margin-bottom: 1.4rem;
    }
    .gal-featured-vid img {
      width: 100%; height: 520px; object-fit: cover; display: block;
      filter: saturate(.65) brightness(.8);
      transition: transform .8s ease, filter .6s ease;
    }
    .gal-featured-vid:hover img { transform: scale(1.04); filter: saturate(.85) brightness(.65); }
    .gal-featured-overlay {
      position: absolute; inset: 0;
      background: linear-gradient(to top, rgba(0,0,0,.88) 0%, rgba(0,0,0,.12) 55%, transparent 100%);
      display: flex; flex-direction: column; justify-content: flex-end;
      padding: 3rem;
    }
    .gal-vid-play-btn {
      position: absolute; top: 50%; left: 50%;
      transform: translate(-50%, -60%);
      width: 72px; height: 72px;
      border: 1px solid rgba(184,150,90,.6); border-radius: 50%;
      background: rgba(10,8,4,.55); backdrop-filter: blur(10px);
      display: flex; align-items: center; justify-content: center;
      transition: border-color .3s, background .3s, transform .3s;
    }
    .gal-featured-vid:hover .gal-vid-play-btn {
      border-color: var(--gold); background: rgba(184,150,90,.15);
      transform: translate(-50%, -60%) scale(1.1);
    }
    .gal-vid-play-btn i { color: var(--gold); font-size: 1.2rem; margin-left: 4px; }
    .gal-vid-tag { font-size: .6rem; letter-spacing: .38em; text-transform: uppercase; color: var(--gold); margin-bottom: .5rem; }
    .gal-vid-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(1.6rem, 3vw, 2.5rem); font-weight: 300; color: var(--white); line-height: 1.2;
    }
    .gal-vid-meta { font-size: .65rem; letter-spacing: .22em; color: rgba(255,255,255,.35); margin-top: .5rem; }
    .gal-vid-duration {
      position: absolute; top: 1.5rem; right: 1.5rem;
      background: rgba(10,8,4,.7); backdrop-filter: blur(8px);
      border: 1px solid rgba(184,150,90,.25);
      font-size: .65rem; letter-spacing: .18em; color: var(--gold);
      padding: .35rem .85rem;
    }

    /* Small video cards */
    .gal-vid-card {
      position: relative; overflow: hidden; background: var(--charcoal-2);
      cursor: none;
    }
    .gal-vid-card img {
      width: 100%; height: 240px; object-fit: cover; display: block;
      filter: saturate(.65) brightness(.82);
      transition: transform .7s ease, filter .6s ease;
    }
    .gal-vid-card:hover img { transform: scale(1.06); filter: saturate(.85) brightness(.65); }
    .gal-vid-card-overlay {
      position: absolute; inset: 0;
      background: linear-gradient(to top, rgba(0,0,0,.88) 0%, transparent 55%);
      padding: 1.4rem; display: flex; flex-direction: column; justify-content: flex-end;
    }
    .gal-vid-card-play {
      position: absolute; top: 50%; left: 50%;
      transform: translate(-50%, -55%);
      width: 50px; height: 50px;
      border: 1px solid rgba(184,150,90,.5); border-radius: 50%;
      background: rgba(10,8,4,.5);
      display: flex; align-items: center; justify-content: center;
      transition: border-color .3s, background .3s, transform .3s;
    }
    .gal-vid-card:hover .gal-vid-card-play {
      border-color: var(--gold); background: rgba(184,150,90,.18);
      transform: translate(-50%,-55%) scale(1.1);
    }
    .gal-vid-card-play i { color: var(--gold); font-size: .85rem; margin-left: 3px; }

    /* ════ VIDEO MODAL ════ */
    .gal-vid-modal {
      display: none; position: fixed; inset: 0;
      background: rgba(0,0,0,.92); z-index: 9999;
      align-items: center; justify-content: center;
    }
    .gal-vid-modal.gal-open { display: flex; }
    .gal-vid-modal-box {
      position: relative; width: 90%; max-width: 920px;
      background: #000; border: 1px solid rgba(184,150,90,.15);
    }
    .gal-vid-modal-box iframe { width: 100%; aspect-ratio: 16/9; border: none; display: block; }
    .gal-vid-modal-close {
      position: absolute; top: -3rem; right: 0;
      background: none; border: 1px solid rgba(184,150,90,.3);
      color: var(--gold); width: 36px; height: 36px;
      display: flex; align-items: center; justify-content: center;
      font-size: .9rem; transition: background .3s;
    }
    .gal-vid-modal-close:hover { background: var(--gold); color: var(--charcoal); }

    /* ════ PHOTO SECTION ════ */
    #gal-photos { background: var(--off-white); padding: 9rem 0; overflow: hidden; }

    /* Masonry columns */
    .gal-masonry { columns: 3; column-gap: 1.2rem; }
    .gal-photo-item {
      break-inside: avoid; margin-bottom: 1.2rem;
      position: relative; overflow: hidden;
      background: var(--charcoal-2);
    }
    .gal-photo-item img {
      width: 100%; display: block;
      filter: saturate(.8); transition: transform .8s ease, filter .6s ease;
    }
    .gal-photo-item:hover img { transform: scale(1.06); filter: saturate(1) brightness(.82); }

    .gal-photo-caption {
      position: absolute; inset: 0;
      background: linear-gradient(to top, rgba(10,8,4,.88) 0%, rgba(10,8,4,.1) 55%, transparent 100%);
      display: flex; flex-direction: column; justify-content: flex-end;
      padding: 1.6rem;
      opacity: 0; transition: opacity .4s;
    }
    .gal-photo-item:hover .gal-photo-caption { opacity: 1; }
    .gal-photo-caption-tag { font-size: .6rem; letter-spacing: .38em; text-transform: uppercase; color: var(--gold); margin-bottom: .4rem; }
    .gal-photo-caption-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.1rem; font-weight: 300; color: var(--white); line-height: 1.3;
    }

    .gal-photo-zoom {
      position: absolute; top: 1rem; right: 1rem;
      width: 36px; height: 36px;
      border: 1px solid rgba(184,150,90,.4); background: rgba(10,8,4,.55); backdrop-filter: blur(8px);
      display: flex; align-items: center; justify-content: center;
      color: var(--gold); font-size: .8rem;
      opacity: 0; transform: translateY(-6px); transition: opacity .3s, transform .3s;
    }
    .gal-photo-item:hover .gal-photo-zoom { opacity: 1; transform: translateY(0); }

    /* ════ LIGHTBOX ════ */
    .gal-lightbox {
      display: none; position: fixed; inset: 0;
      background: rgba(0,0,0,.94); z-index: 9999;
      align-items: center; justify-content: center;
    }
    .gal-lightbox.gal-open { display: flex; }
    .gal-lightbox-img {
      max-width: 86vw; max-height: 84vh; display: block;
      border: 1px solid rgba(184,150,90,.15);
    }
    .gal-lb-close {
      position: absolute; top: 2rem; right: 2rem;
      background: none; border: 1px solid rgba(184,150,90,.3);
      color: var(--gold); width: 44px; height: 44px;
      display: flex; align-items: center; justify-content: center;
      font-size: 1rem; transition: background .3s, border-color .3s;
    }
    .gal-lb-close:hover { background: var(--gold); color: var(--charcoal); border-color: var(--gold); }
    .gal-lb-arrow {
      position: absolute; top: 50%; transform: translateY(-50%);
      background: none; border: 1px solid rgba(184,150,90,.3);
      color: var(--gold); width: 48px; height: 48px;
      display: flex; align-items: center; justify-content: center;
      font-size: .9rem; transition: background .3s, border-color .3s;
    }
    .gal-lb-arrow:hover { background: var(--gold); color: var(--charcoal); border-color: var(--gold); }
    .gal-lb-prev { left: 2rem; }
    .gal-lb-next { right: 2rem; }
    .gal-lb-counter {
      position: absolute; bottom: 2rem; left: 50%; transform: translateX(-50%);
      font-size: .62rem; letter-spacing: .3em; text-transform: uppercase;
      color: rgba(255,255,255,.3);
    }
    .gal-lb-info {
      position: absolute; bottom: 3.5rem; left: 50%; transform: translateX(-50%);
      text-align: center;
    }
    .gal-lb-info-tag { font-size: .6rem; letter-spacing: .38em; text-transform: uppercase; color: var(--gold); }
    .gal-lb-info-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.05rem; font-weight: 300; color: rgba(255,255,255,.55); margin-top: .2rem;
    }

    /* ════ VIDEO BANNER (mid divider) ════ */
    .gal-vid-banner {
      position: relative; width: 100%; height: 52vh; overflow: hidden;
    }
    .gal-vid-banner img {
      width: 100%; height: 100%; object-fit: cover; filter: saturate(.6) brightness(.65);
    }
    .gal-vid-banner-overlay {
      position: absolute; inset: 0;
      background: linear-gradient(to right, rgba(10,8,4,.78) 0%, rgba(10,8,4,.22) 100%);
      display: flex; align-items: center; padding: 0 6rem;
    }
    .gal-vid-banner-text {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(1.8rem, 4vw, 3.6rem); font-weight: 300; line-height: 1.2; color: var(--white);
      max-width: 700px;
    }
    .gal-vid-banner-text em { font-style: italic; color: var(--gold-light); }

    /* ════ STATS STRIP ════ */
    #gal-stats { background: var(--charcoal-2); padding: 6rem 0; position: relative; overflow: hidden; }
    .gal-stats-bg-word {
      position: absolute; bottom: -1rem; right: -1rem;
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(7rem, 16vw, 14rem); font-weight: 300;
      color: rgba(255,255,255,.025); pointer-events: none; user-select: none;
      white-space: nowrap; letter-spacing: .05em; line-height: 1;
    }
    .gal-stat-card {
      background: rgba(255,255,255,.03); border: 1px solid rgba(184,150,90,.1);
      padding: 3rem 2.4rem; position: relative; overflow: hidden;
      transition: background .4s, border-color .4s, transform .4s;
    }
    .gal-stat-card::after {
      content: ''; position: absolute; bottom: 0; left: 0; right: 0;
      height: 1px; background: var(--gold);
      transform: scaleX(0); transform-origin: left; transition: transform .5s ease;
    }
    .gal-stat-card:hover { background: rgba(184,150,90,.06); border-color: rgba(184,150,90,.3); transform: translateY(-6px); }
    .gal-stat-card:hover::after { transform: scaleX(1); }
    .gal-stat-num {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(3rem, 6vw, 5rem); font-weight: 300; color: var(--white); line-height: 1;
    }
    .gal-stat-num span { color: var(--gold); }
    .gal-stat-label { font-size: .65rem; letter-spacing: .4em; text-transform: uppercase; color: var(--soft); margin-top: .6rem; }
    .gal-stat-desc {
      font-size: .78rem; font-weight: 300; line-height: 1.7; color: rgba(255,255,255,.28);
      margin-top: .8rem; padding-top: .8rem; border-top: 1px solid rgba(255,255,255,.06);
    }
    .gal-stat-icon { position: absolute; top: 2rem; right: 2rem; font-size: 1.1rem; color: rgba(184,150,90,.2); transition: color .4s; }
    .gal-stat-card:hover .gal-stat-icon { color: var(--gold); }

    /* ════ CTA ════ */
    #gal-cta { position: relative; padding: 10rem 0; overflow: hidden; }
    .gal-cta-bg {
      position: absolute; inset: 0;
      background-image: url('https://images.unsplash.com/photo-1618219908412-a29a1bb7b86e?w=1800&q=80');
      background-size: cover; background-position: center;
      filter: brightness(.28) saturate(.5);
    }
    .gal-cta-overlay {
      position: absolute; inset: 0;
      background: linear-gradient(to right, rgba(8,5,2,.88), rgba(20,14,6,.45));
    }
    .gal-cta-content { position: relative; z-index: 2; }
    .gal-cta-heading {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(2.5rem, 6vw, 5rem); font-weight: 300; line-height: 1.15; color: var(--white);
    }
    .gal-cta-heading em { font-style: italic; color: var(--gold-light); }

    /* ════ FOOTER ════ */
    .gal-footer { background: #0c0c0c; padding: 4.5rem 0 2rem; border-top: 1px solid rgba(184,150,90,.1); }
    .gal-footer-logo {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.6rem; font-weight: 300; letter-spacing: .18em; color: var(--white); line-height: 1.1;
    }
    .gal-footer-logo span { color: var(--gold); }
    .gal-footer-logo-sub { font-size: .52rem; letter-spacing: .45em; text-transform: uppercase; color: var(--gold); font-family: 'Jost', sans-serif; font-weight: 300; }
    .gal-footer-tagline { font-size: .7rem; letter-spacing: .22em; text-transform: uppercase; color: var(--soft); margin-top: .4rem; }
    .gal-footer-about { font-size: .8rem; font-weight: 300; color: var(--soft); line-height: 1.85; margin-top: 1.2rem; max-width: 280px; }
    .gal-footer-heading { font-size: .63rem; letter-spacing: .38em; text-transform: uppercase; color: var(--gold); margin-bottom: 1.2rem; }
    .gal-footer-links { list-style: none; padding: 0; }
    .gal-footer-links li { margin-bottom: .6rem; }
    .gal-footer-links a { font-size: .8rem; font-weight: 300; color: rgba(255,255,255,.42); text-decoration: none; transition: color .3s, padding-left .3s; }
    .gal-footer-links a:hover { color: var(--gold); padding-left: .4rem; }
    .gal-footer-socials { display: flex; gap: 1rem; margin-top: 1rem; }
    .gal-social-btn {
      width: 38px; height: 38px; border: 1px solid rgba(184,150,90,.28);
      display: flex; align-items: center; justify-content: center;
      color: rgba(255,255,255,.42); text-decoration: none; font-size: .85rem;
      transition: border-color .3s, color .3s, background .3s;
    }
    .gal-social-btn:hover { border-color: var(--gold); color: var(--gold); background: rgba(184,150,90,.07); }
    .gal-footer-bottom {
      border-top: 1px solid rgba(255,255,255,.05); padding-top: 1.5rem; margin-top: 3rem;
      display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .5rem;
    }
    .gal-footer-copy { font-size: .7rem; font-weight: 300; letter-spacing: .1em; color: rgba(255,255,255,.22); }

    /* ════ RESPONSIVE ════ */
    @media (max-width: 991px) {
      .gal-nav-links { display: none; }
      .gal-hamburger { display: flex; }
      .gal-navbar, .gal-navbar.scrolled { padding: 1.1rem 1.5rem; }
      .gal-masonry { columns: 2; }
      .gal-vid-banner-overlay { padding: 0 2.5rem; }
      #gal-cursor, #gal-cursor-ring { display: none; }
      *, a { cursor: default !important; }
    }
    @media (max-width: 576px) {
      .gal-masonry { columns: 1; }
      .gal-hero-heading { font-size: 2.6rem; }
    }
