
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;width:100%;overflow-x:hidden}
:root{
  --gold:#c9960c;
  --gold-light:#e8b020;
  --gold-deep:#7b5b08;
  --black:#0c0c0c;
  --dark:#111111;
  --card:#161616;
  --border:#222222;
  --white:#ffffff;
  --off:#f5f0e8;
  --grey:#7a7a7a;
  --light:#b0b0b0;
  --gold-shine:linear-gradient(105deg,var(--gold-deep) 0%,var(--gold) 25%,#fff0b0 45%,var(--gold-light) 56%,var(--gold) 74%,var(--gold-deep) 100%);
  --font-body:'Manrope',sans-serif;
  --font-display:'Cormorant Garamond',serif;
  --font-label:'Cinzel',serif;
  --font-hero:'Archivo Black',Impact,'Arial Black',sans-serif;
}
body{background:var(--black);color:var(--white);font-family:var(--font-body);overflow-x:hidden;max-width:100%;min-width:0;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden;touch-action:none}
.skip-link{
  position:fixed;left:1rem;top:1rem;z-index:1000;
  transform:translateY(-180%);
  background:var(--gold);color:var(--black);
  padding:.8rem 1rem;border-radius:6px;
  font-size:.78rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;text-decoration:none;
  transition:transform .2s ease;
}
.skip-link:focus{transform:translateY(0)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:2px solid var(--gold-light);
  outline-offset:4px;
}
::-webkit-scrollbar{width:3px}
::-webkit-scrollbar-track{background:var(--black)}
::-webkit-scrollbar-thumb{background:var(--gold)}
img{display:block;max-width:100%;height:auto}
button,a,input,select,textarea,.custom-select-trigger{touch-action:manipulation}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:300;
  height:68px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 5vw;
  transition:background .4s,border-color .4s;
}
nav.scrolled{background:rgba(12,12,12,.97);border-bottom:1px solid var(--border);backdrop-filter:blur(16px)}
.nav-logo{display:flex;align-items:center;gap:1rem;text-decoration:none}
.brand-logo-img{
  width:clamp(112px,9vw,148px);
  height:58px;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 0 16px rgba(232,176,32,.18));
  transform:scale(1.34);
  transform-origin:left center;
}
.logo-mark{
  width:36px;height:36px;border:1.5px solid var(--gold);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-size:1.1rem;color:var(--gold);
}
.logo-text{display:flex;flex-direction:column;line-height:1}
.logo-name{font-family:var(--font-body);font-size:.95rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--white)}
.logo-sub{font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--grey);margin-top:2px}
.nav-links{display:flex;gap:2.5rem;list-style:none}
.nav-links a{font-size:.82rem;font-weight:500;letter-spacing:.06em;color:var(--light);text-decoration:none;transition:color .2s}
.nav-links a:hover,.nav-links a.active{color:var(--white)}
body:not(.subpage) nav:not(.scrolled) .nav-links a{
  color:rgba(8,8,8,.78);
  text-shadow:0 1px 14px rgba(255,255,255,.34),0 0 24px rgba(0,0,0,.18);
}
body:not(.subpage) nav:not(.scrolled) .nav-links a:hover,
body:not(.subpage) nav:not(.scrolled) .nav-links a.active{color:#050505}
.nav-phone{
  background:var(--gold);color:var(--black);
  font-size:.8rem;font-weight:600;letter-spacing:.06em;
  padding:.65rem 1.4rem;text-decoration:none;
  display:flex;align-items:center;gap:.5rem;
  transition:background .2s;
}
.nav-phone:hover{background:var(--gold-light)}
.nav-phone svg{width:13px;height:13px}

/* ── HERO ── */
.hero{
  min-height:clamp(720px,92vh,940px);position:relative;overflow:hidden;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding-top:68px;
  --hero-p:0;
  --hero-y:0px;
  --hero-scale:1.035;
  --hero-copy-y:0px;
  --hero-copy-opacity:1;
}
.hero-bg{
  position:absolute;inset:0;
  background:url('assets/hero-luxury-rebuild-generated.webp') center/cover no-repeat;
}
.hero-bg::after{
  display:none;
  content:'';
}
.hero-body{position:relative;z-index:3;padding:0 5vw clamp(3rem,7vh,5.5rem)}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);margin-bottom:2rem;
}
.hero-h1{
  font-family:var(--font-display);
  font-size:clamp(3rem,6.5vw,6.5rem);
  line-height:1.08;font-weight:400;
  color:var(--white);
  max-width:820px;margin-bottom:1.8rem;
}
.hero-h1 em{font-style:italic;color:var(--gold)}
.hero-sub{
  font-size:1rem;color:var(--light);line-height:1.75;
  max-width:620px;margin-bottom:2.5rem;
}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:0}
.btn-gold{
  background:var(--gold);color:var(--black);
  font-size:.82rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  padding:1rem 2rem;text-decoration:none;border:none;cursor:pointer;
  display:inline-flex;align-items:center;gap:.6rem;
  transition:background .2s,transform .15s;
}
.btn-gold:hover{background:var(--gold-light);transform:translateY(-1px)}
.btn-outline{
  background:transparent;color:var(--white);
  border:1px solid rgba(255,255,255,.3);
  font-size:.82rem;font-weight:500;letter-spacing:.08em;
  padding:1rem 2rem;text-decoration:none;cursor:pointer;
  display:inline-flex;align-items:center;gap:.6rem;
  transition:border-color .2s,color .2s;
}
.btn-outline:hover{border-color:var(--white);color:var(--white)}
.btn-outline svg{width:14px;height:14px}
.hero-stats{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(1.25rem,4vw,5rem);
  margin-top:1.15rem;position:relative;z-index:2;
  width:min(100%,980px);
}
.hero-credentials{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(1rem,4vw,5rem);
  width:min(100%,1120px);
  margin-top:clamp(2rem,4vh,3.3rem);
  padding-top:clamp(1.25rem,2.4vw,2rem);
  border-top:1px solid rgba(232,176,32,.3);
}
.hero-credential{
  min-width:0;
  max-width:18rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  justify-self:center;
  overflow-wrap:anywhere;
}
.credential-icon{
  color:var(--gold-light);
  display:inline-flex;
  width:clamp(21px,1.45vw,26px);
  height:clamp(21px,1.45vw,26px);
  margin-bottom:clamp(.75rem,1vw,1rem);
  filter:drop-shadow(0 0 12px rgba(232,176,32,.25));
}
.credential-icon svg{width:100%;height:100%}
.credential-label{
  font-family:var(--font-body);
  font-size:clamp(.68rem,.76vw,.8rem);
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--gold-light);
  margin-bottom:.75rem;
  line-height:1.35;
}
.credential-value{
  font-family:var(--font-display);
  font-size:clamp(1rem,1.35vw,1.22rem);
  font-style:italic;
  line-height:1.3;
  color:rgba(255,255,255,.88);
}
.hero-years .credential-label{
  font-family:var(--font-body);
  font-size:clamp(.68rem,.76vw,.8rem);
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--gold-light);
  margin-bottom:.75rem;
  line-height:1.35;
}
.hero-years .credential-value{
  font-family:var(--font-display);
  font-size:clamp(1rem,1.35vw,1.22rem);
  font-style:italic;
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
  color:rgba(255,255,255,.88);
  line-height:1.3;
}
.hstat{padding:0;min-width:0}
.hstat:last-child{border-right:none}
.hstat-num{
  font-family:var(--font-hero);
  font-size:clamp(2.2rem,4vw,3.5rem);
  font-weight:400;line-height:.92;color:var(--white);margin-bottom:.42rem;
  letter-spacing:0;text-transform:uppercase;
}
.hstat-lbl{font-family:var(--font-label);font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.72)}

/* ── TICKER ── */
.ticker{
  position:relative;
  isolation:isolate;
  border-top:1px solid rgba(232,176,32,.46);border-bottom:1px solid rgba(232,176,32,.26);
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(201,150,12,.16),transparent 18%,transparent 82%,rgba(201,150,12,.16)),
    linear-gradient(180deg,#16120a 0%,#080807 54%,#11100c 100%);
  padding:.78rem 0;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    inset 0 0 78px rgba(232,176,32,.1),
    inset 0 -22px 44px rgba(0,0,0,.42),
    0 18px 45px rgba(0,0,0,.28),
    0 0 52px rgba(232,176,32,.08);
}
.ticker::before,.ticker::after{
  content:'';
  position:absolute;
  top:0;bottom:0;
  width:clamp(96px,26vw,360px);
  z-index:2;
  pointer-events:none;
}
.ticker::before{left:0;background:linear-gradient(90deg,rgba(8,8,7,.98) 0%,rgba(8,8,7,.72) 32%,rgba(8,8,7,.24) 68%,transparent 100%)}
.ticker::after{right:0;background:linear-gradient(270deg,rgba(8,8,7,.98) 0%,rgba(8,8,7,.72) 32%,rgba(8,8,7,.24) 68%,transparent 100%)}
.ticker-track{
  display:flex;white-space:nowrap;width:max-content;min-width:max-content;animation:tick 44s linear infinite;will-change:transform;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 clamp(96px,26vw,360px),#000 calc(100% - clamp(96px,26vw,360px)),transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 clamp(96px,26vw,360px),#000 calc(100% - clamp(96px,26vw,360px)),transparent 100%);
}
.social-strip{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
  width:min(100% - 2rem,1120px);
  margin:clamp(1rem,2.8vw,2rem) auto clamp(2.2rem,4vw,3.8rem);
  padding:clamp(1rem,2.2vw,1.9rem) clamp(1rem,2.8vw,2.4rem);
  background:#111;
  border:1px solid rgba(255,255,255,.045);
  border-radius:16px;
  box-shadow:0 28px 80px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.06);
}
.proof-item{
  min-width:0;
  flex:1 1 0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:clamp(.65rem,1.7vw,1.15rem);
  min-height:74px;
  padding:0 clamp(1rem,2.4vw,2.25rem);
  color:var(--white);
  text-decoration:none;
  transition:transform .25s ease,filter .25s ease;
}
.proof-item + .proof-item{border-left:2px solid #f27c22}
.proof-item:hover{transform:translateY(-2px);filter:brightness(1.08)}
.proof-score{
  font-family:var(--font-hero);
  font-size:clamp(2.35rem,4vw,3.4rem);
  line-height:1;
  letter-spacing:0;
}
.proof-detail{display:flex;flex-direction:column;gap:.14rem;line-height:1}
.proof-stars{
  color:#ffc400;
  font-size:clamp(1.1rem,1.8vw,1.45rem);
  letter-spacing:.12em;
  white-space:nowrap;
}
.proof-facebook{
  color:#1877f2;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(1.65rem,2.8vw,2.55rem);
  font-weight:800;
  letter-spacing:-.05em;
  text-transform:lowercase;
}
.proof-google{
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(1.65rem,2.8vw,2.55rem);
  font-weight:800;
  letter-spacing:-.06em;
}
.proof-google span:nth-child(1),.proof-google span:nth-child(4){color:#4285f4}
.proof-google span:nth-child(2),.proof-google span:nth-child(6){color:#ea4335}
.proof-google span:nth-child(3){color:#fbbc05}
.proof-google span:nth-child(5){color:#34a853}
.proof-completed{cursor:default}
.proof-strong{
  font-family:var(--font-body);
  font-size:clamp(1.05rem,1.55vw,1.55rem);
  font-weight:800;
  line-height:1.1;
  color:var(--white);
}
#why + .ticker{display:none}
.tick-item{
  min-height:42px;
  position:relative;
  font-family:var(--font-label);
  font-size:.72rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
  color:rgba(255,255,255,.9);padding:0 2.45rem;
  display:inline-flex;align-items:center;gap:1.35rem;
  text-shadow:none;
}
.tick-star{
  position:relative;
  width:52px;height:1px;border:0;border-radius:0;
  display:inline-flex;align-items:center;justify-content:center;
  color:transparent;font-size:0;line-height:1;
  background:linear-gradient(90deg,transparent,rgba(232,176,32,.96),transparent);
  box-shadow:0 0 20px rgba(232,176,32,.25);
}
.tick-star::after{
  content:'';
  width:8px;height:8px;
  border:1px solid rgba(232,176,32,.9);
  background:#080808;
  transform:rotate(45deg);
  box-shadow:0 0 16px rgba(232,176,32,.34),inset 0 0 0 1px rgba(255,255,255,.04);
}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── SECTION COMMON ── */
/* HOW WE WORK */
.work-method{
  --work-progress:0;
  scroll-margin-top:86px;
  padding:clamp(2rem,3vw,3.2rem) 5vw clamp(3.1rem,4.6vw,4.9rem);
  background:
    radial-gradient(ellipse at 18% 8%,rgba(232,176,32,.12),transparent 34%),
    radial-gradient(ellipse at 90% 78%,rgba(255,255,255,.05),transparent 36%),
    linear-gradient(180deg,#050505 0%,#0e0c08 48%,#050505 100%);
  border-top:1px solid rgba(232,176,32,.22);
  border-bottom:1px solid rgba(232,176,32,.18);
  overflow:hidden;
}
.work-head{
  display:grid;
  grid-template-columns:minmax(0,.49fr) minmax(340px,.51fr);
  gap:clamp(1.25rem,2.7vw,2.9rem);
  align-items:end;
  margin-bottom:1.55rem;
}
.work-head .eyebrow{grid-column:1/-1;width:max-content}
.work-head p:not(.eyebrow){
  color:#aaa;
  font-size:.94rem;
  line-height:1.72;
  max-width:40rem;
}
.work-head .section-h{
  font-size:clamp(1.85rem,3.05vw,3.15rem);
  line-height:.92;
  max-width:15ch;
}
.work-board{
  --active-step:0;
  display:grid;
  grid-template-columns:minmax(380px,.47fr) minmax(0,.53fr);
  gap:clamp(1.1rem,2.4vw,2.4rem);
  align-items:stretch;
}
.work-visual{
  position:relative;
  min-height:500px;
  height:clamp(500px,44vw,600px);
  display:grid;
  grid-template-rows:repeat(4,1fr);
  gap:.72rem;
  padding:.72rem;
  border:1px solid rgba(232,176,32,.28);
  border-radius:8px;
  overflow:hidden;
  background:#080808;
  box-shadow:0 30px 90px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.06);
  transition:grid-template-rows .65s cubic-bezier(.16,1,.3,1),border-color .35s ease,box-shadow .35s ease;
}
.work-board[data-active-step="1"] .work-visual{grid-template-rows:1.55fr .82fr .82fr .82fr}
.work-board[data-active-step="2"] .work-visual{grid-template-rows:.82fr 1.55fr .82fr .82fr}
.work-board[data-active-step="3"] .work-visual{grid-template-rows:.82fr .82fr 1.55fr .82fr}
.work-board[data-active-step="4"] .work-visual{grid-template-rows:.82fr .82fr .82fr 1.55fr}
.work-visual::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(232,176,32,.12),transparent 24%,transparent 72%,rgba(255,255,255,.08));
  opacity:.55;
}
.work-visual::after{
  display:none;
  content:'';
}
.work-photo{
  position:relative;
  z-index:1;
  min-height:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  border-radius:7px;
  background:#080808;
  opacity:.62;
  filter:saturate(.72) contrast(1.04);
  transform:translateZ(0) scale(.985);
  transition:opacity .55s ease,filter .55s ease,transform .65s cubic-bezier(.16,1,.3,1),border-color .45s ease,box-shadow .45s ease;
}
.work-photo::after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.12) 46%,rgba(0,0,0,.44));
  transition:opacity .45s ease;
}
.work-board[data-active-step="1"] .work-photo-1,
.work-board[data-active-step="2"] .work-photo-2,
.work-board[data-active-step="3"] .work-photo-3,
.work-board[data-active-step="4"] .work-photo-4{
  opacity:1;
  filter:saturate(1.02) contrast(1.08);
  transform:translateZ(0) scale(1);
  border-color:rgba(232,176,32,.44);
  box-shadow:0 18px 58px rgba(0,0,0,.34),0 0 0 1px rgba(232,176,32,.1) inset;
}
.work-board[data-active-step="1"] .work-photo-1::after,
.work-board[data-active-step="2"] .work-photo-2::after,
.work-board[data-active-step="3"] .work-photo-3::after,
.work-board[data-active-step="4"] .work-photo-4::after{
  opacity:.28;
}
.work-img{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  border:0;
  filter:none;
  transform:scale(1.035);
  transition:transform .9s cubic-bezier(.22,1,.36,1),filter .45s ease;
}
.work-photo:hover .work-img,
.work-board[data-active-step="1"] .work-photo-1 .work-img,
.work-board[data-active-step="2"] .work-photo-2 .work-img,
.work-board[data-active-step="3"] .work-photo-3 .work-img,
.work-board[data-active-step="4"] .work-photo-4 .work-img{
  transform:scale(1.085);
}
.work-visual-copy{
  display:none;
}
.work-visual-copy span{
  display:block;
  width:max-content;
  margin-bottom:.85rem;
  padding:.48rem .7rem;
  border:1px solid rgba(232,176,32,.32);
  border-radius:999px;
  background:rgba(8,8,8,.64);
  color:var(--gold-light);
  font-family:var(--font-label);
  font-size:.56rem;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.work-visual-copy strong{
  display:block;
  max-width:14ch;
  color:var(--white);
  font-family:var(--font-hero);
  font-size:clamp(2rem,3.5vw,4.2rem);
  line-height:.86;
  letter-spacing:.01em;
  text-transform:uppercase;
}
.work-visual-copy p{
  max-width:30rem;
  margin-top:1rem;
  color:rgba(255,255,255,.72);
  font-size:.92rem;
  line-height:1.72;
}
.work-process{
  position:relative;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  align-content:stretch;
  padding:clamp(1rem,1.5vw,1.35rem);
  border:1px solid rgba(255,255,255,.08);
  border-radius:8px;
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
  overflow:hidden;
}
.work-process::before,
.work-process::after{
  display:none;
  content:'';
}
.work-process::before{background:rgba(232,176,32,.18)}
.work-process::after{
  background:linear-gradient(to bottom,var(--gold-light),rgba(232,176,32,.12));
  transform:scaleY(var(--work-progress));
  transform-origin:top;
  box-shadow:0 0 22px rgba(232,176,32,.32);
}
.work-process-top{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr;
  gap:.45rem;
  align-items:end;
  margin-bottom:.58rem;
  padding-bottom:.82rem;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.work-process-top span{
  font-family:var(--font-label);
  color:var(--gold-light);
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.work-process-top p{
  color:#aaa;
  font-size:.86rem;
  line-height:1.7;
}
.work-list{
  list-style:none;
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:repeat(4,minmax(0,1fr));
  align-content:stretch;
  gap:.82rem;
  height:100%;
  border:0;
  counter-reset:work;
}
.work-list li{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:86px minmax(0,1fr);
  gap:1.05rem;
  align-items:center;
  min-height:126px;
  padding:1.08rem 1.25rem;
  border:1px solid rgba(255,255,255,.08);
  border-radius:8px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.014)),
    rgba(8,8,8,.34);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  overflow:hidden;
  cursor:pointer;
  transition:background .35s ease,border-color .35s ease,transform .35s ease,box-shadow .35s ease;
}
.work-list li::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(110deg,rgba(232,176,32,.16),transparent 34%,transparent 76%,rgba(255,255,255,.08));
  opacity:.1;
  transition:opacity .35s ease;
}
.work-list li:hover,
.work-list li:focus-visible,
.work-list li.active{
  background:
    linear-gradient(135deg,rgba(232,176,32,.13),rgba(255,255,255,.02)),
    rgba(255,255,255,.024);
  border-color:rgba(232,176,32,.42);
  transform:translateX(6px);
  box-shadow:0 18px 52px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.06);
}
.work-list li:hover::before,
.work-list li:focus-visible::before,
.work-list li.active::before{opacity:.55}
.work-list li:focus-visible{outline:1px solid rgba(232,176,32,.72);outline-offset:3px}
.work-list li.passed{border-color:rgba(232,176,32,.18)}
.work-list span{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:4.15rem;
  height:4.15rem;
  margin-top:0;
  border:1px solid rgba(232,176,32,.34);
  border-radius:50%;
  background:rgba(232,176,32,.08);
  font-family:var(--font-label);
  font-size:1.02rem;
  font-weight:700;
  letter-spacing:.04em;
  color:var(--gold-light);
}
.work-step-copy{position:relative;z-index:1}
.work-step-copy small{
  display:block;
  margin-bottom:.42rem;
  color:var(--gold-light);
  font-family:var(--font-label);
  font-size:.56rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  opacity:.84;
}
.work-list strong{
  position:relative;
  z-index:1;
  display:block;
  font-family:var(--font-hero);
  font-size:clamp(1.18rem,1.55vw,1.55rem);
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.02em;
  color:var(--white);
}
.work-list p{
  position:relative;
  z-index:1;
  margin-top:.42rem;
  color:var(--grey);
  font-size:.84rem;
  line-height:1.62;
}
.eyebrow{
  display:inline-block;
  font-size:.68rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);margin-bottom:1.2rem;
  padding-bottom:.5rem;border-bottom:1px solid var(--gold);
}
.section-h{
  font-family:var(--font-display);
  font-size:clamp(2.2rem,4vw,3.8rem);
  font-weight:400;line-height:1.12;color:var(--white);
}
.section-h em{font-style:italic;color:var(--gold)}

/* ── SERVICES ── */
#services{padding:8rem 5vw;background:var(--black)}
.svc-intro{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;margin-bottom:5rem}
.svc-intro-right{padding-top:1rem;font-size:1rem;color:var(--grey);line-height:1.8;max-width:500px}
.service-section-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.58fr);
  gap:clamp(1.5rem,4vw,4rem);
  align-items:end;
  margin-bottom:clamp(2rem,4vw,3.5rem);
}
.service-section-head .eyebrow{
  grid-column:1/-1;
  width:max-content;
  margin-bottom:0;
}
.service-section-head .section-h{
  max-width:820px;
}
.section-h-gold{
  color:var(--gold-light);
  background-image:var(--gold-shine);
  background-size:230% 100%;
  background-position:0% 50%;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:0 0 22px rgba(232,176,32,.18);
  animation:goldTextShine 7.5s ease-in-out infinite;
}
.service-section-copy{
  max-width:520px;
  color:#aaa;
  font-size:.98rem;
  line-height:1.85;
}
.svc-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.svc-card-stack{display:flex;flex-direction:column;gap:1.5rem}
.svc-card-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.5rem;
  margin-top:1.5rem;
}

/* large featured card */
.svc-card{position:relative;overflow:hidden;cursor:pointer}
.svc-card-img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;display:block}
.svc-card:hover .svc-card-img{transform:scale(1.04)}
.svc-card-over{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(12,12,12,.95) 0%,rgba(12,12,12,.2) 60%,transparent 100%);
}
.svc-card-body{position:absolute;bottom:0;left:0;right:0;padding:2rem}
.svc-card-num{
  font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);margin-bottom:.8rem;
}
.svc-card-title{
  font-family:var(--font-display);font-size:1.6rem;font-weight:400;
  color:var(--white);margin-bottom:.6rem;line-height:1.2;
}
.svc-card-desc{font-size:.85rem;color:var(--light);line-height:1.6}
.svc-card-big{grid-row:span 2}
.svc-card-big .svc-card-img{height:100%;min-height:500px}
.svc-card-sm .svc-card-img{height:260px}
.svc-more{
  display:flex;align-items:center;justify-content:space-between;
  padding:2rem 0;border-top:1px solid var(--border);margin-top:1.5rem;
  flex-wrap:wrap;gap:1rem;
}
.svc-more-text{font-size:.9rem;color:var(--grey)}
.svc-more-link{
  font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold);text-decoration:none;display:flex;align-items:center;gap:.5rem;
  transition:gap .2s;
}
.svc-more-link:hover{gap:.8rem}
.home-services-action .svc-more-link-featured{
  flex:0 0 auto;
  min-height:48px;
  padding:.9rem 1.25rem;
  border:1px solid rgba(232,176,32,.62);
  border-radius:6px;
  color:#070707;
  -webkit-text-fill-color:#070707;
  font-family:var(--font-body);
  font-weight:900;
  letter-spacing:.08em;
  background:linear-gradient(135deg,var(--gold-light),var(--gold) 58%,var(--gold-deep));
  background-clip:border-box;
  -webkit-background-clip:border-box;
  text-shadow:none;
  animation:none;
  box-shadow:0 14px 42px rgba(201,150,12,.18),inset 0 1px 0 rgba(255,255,255,.28);
  position:relative;
  overflow:hidden;
  justify-content:center;
}
.home-services-action .svc-more-link-featured::before{
  content:'';
  position:absolute;
  top:-45%;
  bottom:-45%;
  left:-55%;
  width:42%;
  transform:skewX(-20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);
  animation:buttonShine 2.8s ease-in-out infinite;
}
.home-services-action .svc-more-link-featured:hover{
  gap:1rem;
  transform:translateY(-1px);
  box-shadow:0 18px 56px rgba(201,150,12,.26),inset 0 1px 0 rgba(255,255,255,.32);
}
.svc-list{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.9rem;margin-top:1.35rem;
}
.svc-pill{
  min-height:0;display:grid;grid-template-rows:auto 1fr;overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  border-radius:8px;background:rgba(255,255,255,.025);
  color:var(--light);font-family:var(--font-label);
  font-size:.68rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;
  text-decoration:none;
  transition:transform .35s ease,border-color .35s ease,background .35s ease;
}
.svc-pill:hover{transform:translateY(-4px);border-color:rgba(232,176,32,.34);background:rgba(255,255,255,.04)}
.svc-pill img{width:100%;height:118px;object-fit:cover;filter:saturate(.9) contrast(1.04);transition:transform .75s cubic-bezier(.22,1,.36,1),filter .45s ease}
.svc-pill:hover img{transform:scale(1.055);filter:saturate(1.02) contrast(1.08)}
.svc-pill span{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.85rem .95rem}
.svc-pill span::after{content:'+';color:var(--gold);font-family:var(--font-body);font-size:.9rem}
body:not(.subpage) #services{padding:3rem 5vw 3.25rem}
body:not(.subpage) #services .svc-intro{margin-bottom:2rem}
body:not(.subpage) #services .svc-cards,
body:not(.subpage) #services .svc-list,
body:not(.subpage) #services .svc-more,
body:not(.subpage) #services > div[style]{display:none}
.cap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.55rem}
.cap-card{display:block;text-decoration:none;color:var(--white)}
.cap-image{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:8px;aspect-ratio:1.18/1;background:var(--card)}
.cap-image::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.18),rgba(0,0,0,.08) 44%,rgba(0,0,0,.52));transition:background .45s ease}
.cap-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.04);transition:transform .9s cubic-bezier(.22,1,.36,1),filter .5s ease}
.cap-card:hover .cap-image img{transform:scale(1.055);filter:saturate(1.04) contrast(1.08)}
.cap-tag,.cap-time{position:absolute;top:1.1rem;z-index:2;font-family:var(--font-label);font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.cap-tag{left:1.1rem;background:var(--gold-light);color:#080808;padding:.55rem .82rem;border-radius:4px}
.cap-time{right:1.1rem;background:rgba(8,8,8,.78);color:var(--white);padding:.55rem .82rem;border-radius:4px;border:1px solid rgba(255,255,255,.08)}
.cap-title{font-family:var(--font-hero);font-size:clamp(1.08rem,1.25vw,1.45rem);line-height:1.05;letter-spacing:.01em;text-transform:uppercase;margin-top:1rem;color:var(--white)}
.cap-copy{font-size:.86rem;line-height:1.7;color:var(--grey);margin-top:.55rem;max-width:34rem}
.cap-actions{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);margin-top:3rem;padding-top:1.8rem;gap:1rem}
.cap-actions p{font-size:.9rem;color:var(--grey);line-height:1.7}

body:not(.subpage) #services.home-services{
  display:block;
  padding:clamp(2.9rem,3.8vw,4.15rem) 5vw;
  background:
    linear-gradient(180deg,#090909 0%,#050505 100%);
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(232,176,32,.18);
}
.home-services-head{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(1rem,2.2vw,2.25rem);
  align-items:start;
  margin-bottom:1.15rem;
}
.home-services-copy{
  color:var(--grey);
  font-size:.9rem;
  line-height:1.72;
  max-width:42rem;
}
.home-service-grid{
  display:flex;
  gap:.78rem;
  margin:0 -5vw;
  padding:.2rem 5vw 1.55rem;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;
  scroll-padding:5vw;
  scrollbar-width:auto;
  scrollbar-color:var(--gold) rgba(255,255,255,.08);
  -webkit-overflow-scrolling:touch;
}
.home-service-grid::-webkit-scrollbar{height:24px}
.home-service-grid::-webkit-scrollbar-track{background:rgba(255,255,255,.075);border:7px solid transparent;background-clip:padding-box;border-radius:999px}
.home-service-grid::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--gold),var(--gold-light),var(--gold));border:6px solid transparent;background-clip:padding-box;border-radius:999px}
.home-service-card{
  position:relative;
  flex:0 0 clamp(250px,23vw,340px);
  min-width:0;
  display:grid;
  grid-template-rows:auto auto auto;
  gap:.48rem;
  padding:.62rem;
  overflow:hidden;
  color:var(--white);
  text-decoration:none;
  border:1px solid rgba(255,255,255,.08);
  border-radius:8px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.014)),
    rgba(255,255,255,.018);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 14px 42px rgba(0,0,0,.18);
  transition:transform .35s ease,border-color .35s ease,background .35s ease,box-shadow .35s ease;
}
.home-service-card::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(135deg,rgba(255,255,255,.14),transparent 24%,transparent 68%,rgba(232,176,32,.18));
  opacity:.26;
  transition:opacity .35s ease;
}
.home-service-card > *{
  position:relative;
  z-index:1;
}
.home-service-card:hover{
  transform:translateY(-4px);
  border-color:rgba(232,176,32,.42);
  background:
    linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018)),
    rgba(255,255,255,.024);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 56px rgba(0,0,0,.26);
}
.home-service-card:hover::before{opacity:.58}
.home-service-card img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  height:auto;
  object-fit:cover;
  border-radius:6px;
  filter:saturate(.92) contrast(1.04) brightness(.86);
  box-shadow:0 12px 32px rgba(0,0,0,.24);
  transition:transform .75s cubic-bezier(.22,1,.36,1),filter .45s ease;
}
.home-service-card:hover img{transform:scale(1.025);filter:saturate(1.03) contrast(1.08) brightness(.94)}
.home-service-icon{
  position:absolute;
  top:.95rem;
  left:.95rem;
  z-index:2;
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(232,176,32,.54);
  border-radius:8px;
  color:var(--gold-light);
  background:linear-gradient(145deg,rgba(8,8,8,.84),rgba(35,27,10,.82));
  box-shadow:0 12px 28px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(8px);
}
.home-service-icon svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.home-service-card span{
  font-family:var(--font-label);
  color:var(--gold);
  font-size:.56rem;
  font-weight:700;
  letter-spacing:.18em;
  margin-top:.1rem;
}
.home-service-card h3{
  font-family:var(--font-hero);
  font-size:clamp(.96rem,1vw,1.08rem);
  line-height:.98;
  text-transform:uppercase;
  letter-spacing:.02em;
  margin:0;
  color:var(--white);
}
.home-service-card p{
  color:var(--grey);
  font-size:.76rem;
  line-height:1.48;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.home-services-action{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.25rem;
  margin-top:1rem;
  padding-top:.95rem;
  border-top:1px solid rgba(255,255,255,.1);
}
.home-services-action p{
  color:var(--grey);
  font-size:.9rem;
  line-height:1.65;
}
.home-services-action p strong{
  color:var(--white);
  font-weight:800;
}

/* Why Us */
#why.why-hero{
  padding:clamp(4.3rem,6vw,6.8rem) 5vw;
  background:
    radial-gradient(ellipse at 70% 24%,rgba(232,176,32,.15),transparent 36%),
    linear-gradient(180deg,#070707 0%,#10100d 56%,#060606 100%);
  border-top:1px solid rgba(232,176,32,.24);
  border-bottom:1px solid rgba(255,255,255,.08);
  display:grid;
  grid-template-columns:minmax(360px,.48fr) minmax(420px,.52fr);
  gap:clamp(2.5rem,5vw,6rem);
  align-items:center;
  overflow:hidden;
}
.why-copy-block{min-width:0}
#why .section-h{
  font-size:clamp(2.15rem,3.9vw,4.1rem);
  line-height:.91;
  max-width:12ch;
}
.why-lead{
  max-width:46rem;
  color:var(--light);
  font-size:.96rem;
  line-height:1.78;
  margin-top:1.25rem;
}
.why-proof-line{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.65rem;
  margin:2rem 0;
  border:0;
  background:transparent;
  border-radius:8px;
  overflow:visible;
}
.why-proof-line span{
  min-width:0;
  padding:1rem 1.05rem;
  background:rgba(255,255,255,.035);
  border-radius:6px;
  color:var(--white);
  font-family:var(--font-label);
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.why-proof-line strong{
  display:block;
  color:var(--white);
  line-height:1.18;
}
.why-proof-line small{
  display:block;
  margin-top:.55rem;
  color:rgba(255,255,255,.62);
  font-family:var(--font-body);
  font-size:.76rem;
  font-weight:500;
  line-height:1.55;
  letter-spacing:0;
  text-transform:none;
}
.why-actions{display:flex;gap:1rem;flex-wrap:wrap}
.why-proof-system{
  grid-template-columns:minmax(360px,.52fr) minmax(360px,.48fr);
}
.why-proof-stats span{
  position:relative;
  overflow:hidden;
  padding:1.15rem 1.15rem 1.15rem 1.25rem;
  border:1px solid rgba(232,176,32,.2);
  background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(8,8,8,.82));
  box-shadow:0 18px 42px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.055);
}
.why-proof-stats strong{
  color:var(--gold-light);
  background-image:var(--gold-shine);
  background-size:230% 100%;
  background-position:0% 50%;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  font-family:var(--font-hero);
  font-size:clamp(1.15rem,1.6vw,1.75rem);
  letter-spacing:.01em;
  text-shadow:0 0 24px rgba(232,176,32,.22);
  animation:goldTextShine 7.5s ease-in-out infinite;
}
.why-difference{
  position:relative;
  overflow:hidden;
  min-width:0;
  padding:clamp(1.2rem,2vw,1.75rem);
  border:1px solid rgba(232,176,32,.22);
  border-radius:10px;
  background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(8,8,8,.84));
  box-shadow:0 30px 86px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.055);
}
.why-difference-head{
  display:grid;
  grid-template-columns:1fr;
  gap:.65rem;
  align-items:start;
  margin-bottom:1.25rem;
  padding-bottom:1rem;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.why-difference-head span{
  color:var(--gold-light);
  font-family:var(--font-label);
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.why-difference-head strong{
  width:100%;
  max-width:none;
  color:var(--white);
  background:none;
  -webkit-text-fill-color:currentColor;
  font-family:var(--font-hero);
  font-size:clamp(1.35rem,2.05vw,2.35rem);
  line-height:.92;
  text-align:left;
  letter-spacing:.005em;
  text-transform:uppercase;
  text-shadow:0 18px 48px rgba(0,0,0,.45);
}
.why-check-list{list-style:none;display:grid;gap:.8rem}
.why-check-list li{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:.8rem 1rem;
  padding:1rem 1.1rem;
  border:1px solid rgba(255,255,255,.08);
  border-radius:8px;
  background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(8,8,8,.46));
  align-items:start;
}
.why-check-list li span{
  width:38px;
  height:38px;
  border:1px solid rgba(232,176,32,.46);
  border-radius:12px;
  background:
    radial-gradient(circle at 34% 24%,rgba(255,255,255,.16),transparent 36%),
    rgba(232,176,32,.09);
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.15rem;
  line-height:1;
  box-shadow:0 0 22px rgba(232,176,32,.12),inset 0 1px 0 rgba(255,255,255,.08);
}
.why-check-list li span::after{
  display:none;
}
.why-check-list strong{
  display:block;
  align-self:end;
  color:var(--gold-light);
  background-image:var(--gold-shine);
  background-size:230% 100%;
  background-position:0% 50%;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  font-family:var(--font-label);
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
  text-shadow:0 0 18px rgba(232,176,32,.18);
  animation:goldTextShine 7.5s ease-in-out infinite;
}
.why-check-list small{
  display:block;
  grid-column:2;
  margin-top:.18rem;
  color:rgba(255,255,255,.62);
  font-size:.84rem;
  line-height:1.48;
  max-width:100%;
}
.why-stage{min-width:0}
.why-stage-frame{
  position:relative;
  min-height:340px;
  overflow:hidden;
  border:1px solid rgba(232,176,32,.34);
  border-radius:10px;
  background:#070707;
  box-shadow:0 30px 90px rgba(0,0,0,.48);
}
.why-stage-frame.why-logo-frame{
  min-height:clamp(360px,42vw,560px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.why-logo-frame::before,
.why-logo-frame::after{display:none}
.why-stage-frame::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(rgba(232,176,32,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(232,176,32,.048) 1px,transparent 1px),
    linear-gradient(to top,rgba(0,0,0,.82),transparent 58%);
  background-size:78px 78px,78px 78px,auto;
}
.why-stage-frame::after{
  content:'';
  position:absolute;
  top:0;
  bottom:0;
  left:24%;
  z-index:3;
  width:2px;
  background:linear-gradient(to bottom,transparent,rgba(232,176,32,.9),transparent);
  box-shadow:0 0 28px rgba(232,176,32,.42);
  animation:whyScan 5.8s ease-in-out infinite alternate;
}
.why-stage-frame img{
  width:100%;
  height:100%;
  min-height:340px;
  object-fit:cover;
  filter:saturate(.92) contrast(1.06) brightness(.72);
  transform:scale(1.03);
}
.why-stage-frame .why-stage-logo{
  position:absolute;
  right:1.1rem;
  top:1.1rem;
  z-index:4;
  width:clamp(82px,8vw,132px);
  height:auto;
  min-height:0;
  object-fit:contain;
  border-radius:8px;
  filter:drop-shadow(0 18px 30px rgba(0,0,0,.48));
  transform:none;
  opacity:.96;
}
.why-stage-frame .why-logo-img{
  width:100%;
  height:100%;
  max-height:clamp(330px,38vw,520px);
  min-height:0;
  object-fit:contain;
  filter:drop-shadow(0 26px 55px rgba(0,0,0,.55));
  transform:none;
}
.why-stage-tag,.why-stage-note{
  position:absolute;
  z-index:4;
  left:1.2rem;
}
.why-stage-tag{
  top:1.2rem;
  padding:.58rem .75rem;
  border-radius:4px;
  background:var(--gold-light);
  color:#080808;
  font-family:var(--font-label);
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.why-stage-note{
  right:1.2rem;
  bottom:1.2rem;
  max-width:27rem;
  color:var(--white);
  font-family:var(--font-hero);
  font-size:2rem;
  line-height:.95;
  text-transform:uppercase;
}
.why-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  margin-top:1rem;
  background:rgba(232,176,32,.18);
  border:1px solid rgba(232,176,32,.18);
  border-radius:10px;
  overflow:hidden;
}
.why-card{
  min-width:0;
  min-height:210px;
  padding:1.35rem;
  border-radius:8px;
  background:
    linear-gradient(135deg,rgba(232,176,32,.08),transparent 46%),
    #080808;
  transition:transform .35s ease,background .35s ease;
}
.why-card:hover{
  transform:translateY(-4px);
  background:
    linear-gradient(135deg,rgba(232,176,32,.13),transparent 48%),
    #0c0c0c;
}
.why-num{
  display:block;
  font-family:var(--font-label);
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.18em;
  color:var(--gold);
  margin-bottom:1.35rem;
}
.why-title{
  font-family:var(--font-hero);
  font-size:1.18rem;
  font-weight:900;
  color:var(--white);
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.02em;
  margin:0 0 .85rem;
}
.why-text{
  font-size:.86rem;
  color:var(--grey);
  line-height:1.7;
}
@keyframes whyScan{from{left:18%}to{left:82%}}
body:not(.subpage) > #projects{display:block}

/* FAQ */
#faq{padding:clamp(5rem,7vw,8rem) 5vw;background:var(--dark);border-top:1px solid var(--border)}
.faq-layout{width:min(100%,1720px);margin:0 auto;display:grid;grid-template-columns:minmax(520px,.42fr) minmax(0,.58fr);gap:clamp(2.75rem,4vw,4.5rem);align-items:start}
.faq-kicker-line{display:flex;align-items:center;gap:1rem;margin-bottom:1.8rem}
.faq-kicker-line::before{content:'';width:58px;height:2px;background:var(--gold-light);flex:0 0 auto}
.faq-kicker-line .eyebrow{border-bottom:0;margin-bottom:0;padding-bottom:0;color:var(--gold-light)}
.faq-title{font-family:var(--font-hero);font-size:clamp(3rem,4.65vw,5.15rem);font-weight:900;line-height:.86;text-transform:uppercase;letter-spacing:.01em;color:var(--white);margin-bottom:2.2rem;max-width:100%}
.faq-copy{font-size:.98rem;color:var(--light);line-height:1.8;max-width:34rem}
.faq-list{border-top:1px solid rgba(255,255,255,.11);min-width:0}
.faq-item{
  border-bottom:1px solid rgba(255,255,255,.11);
  overflow:hidden;
  position:relative;
  transition:height .48s cubic-bezier(.22,1,.36,1),border-color .48s ease;
  will-change:height;
}
.faq-item::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:0;
  background:
    radial-gradient(ellipse at 24% 50%,rgba(232,176,32,.09),transparent 62%),
    linear-gradient(90deg,transparent 0%,rgba(232,176,32,.018) 12%,rgba(232,176,32,.06) 34%,rgba(255,255,255,.014) 67%,transparent 100%);
  transition:opacity .5s ease;
}
.faq-item[open],.faq-item.is-opening{
  border-color:rgba(232,176,32,.28);
}
.faq-item[open]::before,.faq-item.is-opening::before{opacity:1}
.faq-item summary{position:relative;z-index:1;list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.65rem 0;color:var(--white);font-family:var(--font-hero);font-size:clamp(1rem,1.35vw,1.45rem);font-weight:900;line-height:1.1;text-transform:uppercase;letter-spacing:.02em;overflow-wrap:anywhere}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';color:var(--white);font-family:var(--font-body);font-size:1.45rem;font-weight:300;line-height:1;transition:transform .42s cubic-bezier(.22,1,.36,1),color .25s ease}
.faq-item[open] summary::after,.faq-item.is-opening summary::after{transform:rotate(45deg);color:var(--gold-light)}
.faq-answer{
  position:relative;z-index:1;
  color:var(--light);font-size:.95rem;line-height:1.8;max-width:720px;padding:0 3rem 1.55rem 0;
  opacity:0;transform:translateY(-8px);filter:blur(4px);
  transition:opacity .36s ease .08s,transform .42s cubic-bezier(.22,1,.36,1) .06s,filter .42s ease .06s;
}
.faq-item[open] .faq-answer,.faq-item.is-opening .faq-answer{opacity:1;transform:translateY(0);filter:blur(0)}
.faq-item.is-closing .faq-answer{opacity:0;transform:translateY(-8px);filter:blur(4px);transition-delay:0s}
@media (min-width:901px) and (max-width:1450px){
  .faq-layout{
    grid-template-columns:minmax(360px,.42fr) minmax(520px,.58fr);
    gap:clamp(2rem,3vw,3.25rem);
  }
  .faq-item summary{
    min-height:82px;
    grid-template-columns:minmax(0,1fr) 2rem;
    padding:1.25rem 0;
    font-size:clamp(1.05rem,1.55vw,1.35rem);
  }
  .faq-item summary::after{
    justify-self:end;
  }
}

/* ── TICKER 2 — large scrolling services ── */
.ticker2{
  position:relative;
  isolation:isolate;
  border-top:1px solid rgba(232,176,32,.34);border-bottom:1px solid rgba(232,176,32,.34);
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(201,150,12,.14),transparent 22%,transparent 78%,rgba(201,150,12,.12)),
    linear-gradient(180deg,rgba(255,255,255,.04),transparent 48%,rgba(0,0,0,.32)),
    linear-gradient(180deg,#12100b 0%,#050505 100%);
  padding:1.05rem 0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),inset 0 0 86px rgba(232,176,32,.1),inset 0 -28px 54px rgba(0,0,0,.42),0 0 52px rgba(232,176,32,.07);
}
.ticker2::before,.ticker2::after{
  content:'';
  position:absolute;
  top:0;bottom:0;
  width:clamp(96px,26vw,360px);
  z-index:2;
  pointer-events:none;
}
.ticker2::before{left:0;background:linear-gradient(90deg,rgba(5,5,5,.98) 0%,rgba(5,5,5,.72) 32%,rgba(5,5,5,.24) 68%,transparent 100%)}
.ticker2::after{right:0;background:linear-gradient(270deg,rgba(5,5,5,.98) 0%,rgba(5,5,5,.72) 32%,rgba(5,5,5,.24) 68%,transparent 100%)}
.ticker2-track{
  display:flex;white-space:nowrap;width:max-content;min-width:max-content;animation:tick 44s linear infinite;will-change:transform;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 clamp(96px,26vw,360px),#000 calc(100% - clamp(96px,26vw,360px)),transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 clamp(96px,26vw,360px),#000 calc(100% - clamp(96px,26vw,360px)),transparent 100%);
}
.tick2-item{
  position:relative;
  min-height:48px;
  font-family:var(--font-label);
  font-size:clamp(.76rem,1.05vw,1.02rem);font-weight:700;line-height:1;
  text-transform:uppercase;letter-spacing:.24em;
  color:rgba(255,255,255,.84);
  padding:0 clamp(1.65rem,3vw,3rem);
  display:inline-flex;align-items:center;gap:clamp(1rem,2vw,2rem);
  transition:color .35s ease;
  text-shadow:none;
}
.tick2-item:hover{color:var(--gold-light);text-shadow:none}
.tick2-item .star2{
  position:relative;
  color:transparent;font-style:normal;font-size:0;
  width:54px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(232,176,32,.96),transparent);
  filter:drop-shadow(0 0 18px rgba(232,176,32,.34));
}
.tick2-item .star2::after{
  content:'';
  position:absolute;
  left:50%;top:50%;
  width:8px;height:8px;
  border:1px solid rgba(232,176,32,.9);
  background:#080808;
  transform:translate(-50%,-50%) rotate(45deg);
  box-shadow:0 0 18px rgba(232,176,32,.3);
}
.tick-star,.tick2-item .star2{display:none}
.tick-icon{
  width:21px;
  height:21px;
  flex:0 0 21px;
  border-radius:0;
  border:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--gold-light);
  background:transparent;
  box-shadow:none;
}
.tick-icon svg{width:21px;height:21px;filter:none}

/* ── ABOUT ── */
#about{padding:5.6rem 5vw;background:var(--dark)}
.about-grid{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1fr);gap:3.5rem;align-items:center}
.about-img-wrap{position:relative}
.about-img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center;display:block}
.about-img[src*="mbc-normal"]{
  object-fit:contain;
  background:#040404;
  padding:clamp(.75rem,1.7vw,1.4rem);
  max-height:520px;
}
.about-badge{
  position:absolute;bottom:-1px;right:-1px;
  background:var(--black);border:1px solid var(--border);
  padding:2rem 2.5rem;
}
.about-badge-num{
  font-family:var(--font-display);font-size:3rem;font-weight:400;
  color:var(--gold);line-height:1;margin-bottom:.3rem;
}
.about-badge-lbl{font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--grey)}
.about-content .eyebrow{display:block}
.about-h{margin-bottom:1rem}
.about-text{font-size:.95rem;color:var(--grey);line-height:1.78;margin-bottom:1.35rem}
.about-checks{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem;margin-bottom:1.8rem}
.about-checks li{display:flex;align-items:flex-start;gap:.7rem;font-size:.88rem;color:var(--light);line-height:1.5}
.about-checks li::before{
  content:'';width:18px;height:18px;flex-shrink:0;margin-top:1px;
  border:1.5px solid var(--gold);border-radius:50%;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9960c' stroke-width='2.5'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/11px no-repeat;
}
.about-btns{display:flex;gap:1rem;flex-wrap:wrap}
.btn-dark{
  background:transparent;color:var(--white);
  border:1px solid rgba(255,255,255,.25);
  font-size:.8rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  padding:.9rem 1.8rem;text-decoration:none;
  display:inline-flex;align-items:center;gap:.5rem;
  transition:border-color .2s;
}
.btn-dark:hover{border-color:var(--white)}

/* ── PROJECTS ── */
#projects{padding:5.2rem 5vw;background:var(--black);overflow:hidden}
.proj-head{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end;margin-bottom:2.4rem}
.proj-head-right{font-size:.95rem;color:var(--grey);line-height:1.8;max-width:420px}
.proj-head-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-self:end;
  gap:1.1rem;
  max-width:430px;
}
.proj-all-btn{
  min-width:220px;
  justify-content:center;
  width:max-content;
}
.proj-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.proj-wheel{
  display:flex;
  gap:1.15rem;
  margin:0 -5vw;
  padding:1.25rem 5vw 2.05rem;
  overflow-x:auto;
  overflow-y:visible;
  overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;
  scroll-padding:5vw;
  touch-action:pan-x pan-y;
  scrollbar-width:auto;
  scrollbar-color:var(--gold) rgba(255,255,255,.08);
  -webkit-overflow-scrolling:touch;
}
.proj-wheel::-webkit-scrollbar{display:block;height:24px}
.proj-wheel::-webkit-scrollbar-track{background:rgba(255,255,255,.075);border:7px solid transparent;background-clip:padding-box;border-radius:999px}
.proj-wheel::-webkit-scrollbar-thumb{
  background:linear-gradient(90deg,var(--gold),var(--gold-light),var(--gold));
  border:6px solid transparent;
  background-clip:padding-box;
  border-radius:999px;
  box-shadow:0 0 18px rgba(201,150,12,.35);
}
.proj-card{position:relative;overflow:hidden;cursor:pointer}
.proj-card-img{width:100%;object-fit:cover;display:block;transition:transform .6s ease}
.proj-card:hover .proj-card-img{transform:scale(1.04)}
.proj-card:nth-child(1) .proj-card-img{height:520px}
.proj-card:nth-child(2) .proj-card-img{height:520px}
.proj-card:nth-child(3) .proj-card-img{height:360px}
.proj-card:nth-child(4) .proj-card-img{height:360px}
.proj-card:nth-child(5) .proj-card-img{height:400px}
.proj-card:nth-child(6) .proj-card-img{height:400px}
.proj-over{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(12,12,12,.92) 0%,transparent 55%);
  opacity:0;transition:opacity .3s;
}
.proj-card:hover .proj-over{opacity:1}
.proj-info{
  position:absolute;bottom:0;left:0;right:0;padding:1.8rem;
  transform:translateY(6px);transition:transform .3s;
}
.proj-card:hover .proj-info{transform:translateY(0)}
.proj-cat{font-size:.65rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem}
.proj-name{font-family:var(--font-display);font-size:1.2rem;font-weight:400;color:var(--white)}
.proj-wheel .proj-card{
  flex:0 0 clamp(300px,38vw,560px);
  min-height:clamp(360px,48vw,570px);
  scroll-snap-align:center;
  border-radius:12px;
  isolation:isolate;
}
.proj-wheel .proj-card:nth-child(n) .proj-card-img{
  height:100%;
  min-height:inherit;
  object-position:center top;
}
.proj-wheel .proj-over{opacity:.82}
.proj-wheel .proj-card:hover .proj-over{opacity:.96}
.proj-wheel .proj-info{
  padding:clamp(1.25rem,2vw,2rem);
  transform:none;
}
.proj-wheel .proj-card:hover .proj-info{transform:translateY(-8px)}
.proj-wheel .proj-name{font-size:clamp(1.15rem,1.4vw,1.45rem)}
.project-cinema{
  perspective:none;
  transform-style:flat;
  scroll-behavior:smooth;
  background:
    radial-gradient(ellipse at 22% 0%,rgba(232,176,32,.12),transparent 42%),
    linear-gradient(90deg,rgba(232,176,32,.08),transparent 18%,transparent 82%,rgba(232,176,32,.08));
}
.project-cinema .proj-card{
  overflow:hidden;
  transform:translateY(0) scale(1);
  border-color:rgba(232,176,32,.18);
  background:#070707;
  transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .45s ease,border-color .35s ease,filter .35s ease;
  box-shadow:0 26px 70px rgba(0,0,0,.36),0 0 0 1px rgba(255,255,255,.025) inset;
}
.project-cinema .proj-card:nth-child(even),
.project-cinema .proj-card:nth-child(3n){transform:translateY(0) scale(1)}
.project-cinema .proj-card:hover{
  transform:translateY(-10px) scale(1.018);
  z-index:3;
  border-color:rgba(232,176,32,.45);
  box-shadow:0 34px 95px rgba(0,0,0,.5),0 0 46px rgba(232,176,32,.18),0 0 0 1px rgba(255,226,129,.16) inset;
}
.project-cinema .proj-card:nth-child(odd){
  margin-top:clamp(.2rem,1.6vw,1rem);
}
.project-cinema .proj-card:nth-child(3n){
  margin-top:0;
}
.project-cinema .proj-card-img{
  transition:transform .7s cubic-bezier(.22,1,.36,1),filter .5s ease;
}
.project-cinema .proj-card:hover .proj-card-img{
  transform:scale(1.045);
  filter:saturate(1.08) contrast(1.08) brightness(.94);
}
.project-cinema .proj-card::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(110deg,transparent 8%,rgba(255,245,190,.16) 45%,transparent 62%);
  opacity:0;
  transform:translateX(-60%);
  animation:projectGlint 6.2s ease-in-out infinite;
}
.project-cinema .proj-card:nth-child(2)::before{animation-delay:.8s}
.project-cinema .proj-card:nth-child(3)::before{animation-delay:1.6s}
.project-cinema .proj-card:nth-child(4)::before{animation-delay:2.4s}
@keyframes projectGlint{
  0%,46%{opacity:0;transform:translateX(-70%)}
  52%{opacity:.55}
  64%,100%{opacity:0;transform:translateX(70%)}
}

/* ── TESTIMONIALS ── */
/* Service areas */
.service-areas{
  padding:6.5rem 5vw;
  background:linear-gradient(180deg,rgba(8,8,8,.98),rgba(13,12,9,.98));
}
.service-area-head{
  display:grid;
  grid-template-columns:minmax(0,.58fr) minmax(280px,.42fr);
  gap:3rem;
  align-items:end;
  margin-bottom:2rem;
}
.service-area-head .eyebrow{
  grid-column:1/-1;
  margin-bottom:0;
}
.service-area-head p:not(.eyebrow){
  color:var(--grey);
  font-size:.96rem;
  line-height:1.8;
  max-width:560px;
}
.service-area-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.service-area-grid article{
  min-height:180px;
  padding:1.4rem;
  border:1px solid rgba(232,176,32,.18);
  background:linear-gradient(145deg,rgba(232,176,32,.07),rgba(255,255,255,.018));
}
.service-area-grid h3{
  margin-bottom:.8rem;
  color:var(--white);
  font-family:var(--font-display);
  font-size:1.1rem;
  font-weight:500;
}
.service-area-grid p{
  color:var(--grey);
  font-size:.88rem;
  line-height:1.75;
}

#testimonials{
  padding:5.2rem 5vw;background:var(--dark);
  text-align:center;
}
.test-head{margin-bottom:2.25rem}
.test-eyebrow{display:block;font-size:.68rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem}
.test-h{font-family:var(--font-display);font-size:clamp(1.8rem,3.5vw,3rem);font-weight:400;color:var(--white);max-width:700px;margin:0 auto}
.test-carousel{max-width:800px;margin:0 auto;position:relative}
.test-quote-icon{font-size:2.35rem;color:var(--gold);margin-bottom:1.1rem;opacity:.8;font-family:var(--font-display)}
.test-slides{overflow:hidden}
.test-slide{display:none}
.test-slide.active{display:block}
.test-q{
  font-family:var(--font-display);
  font-size:clamp(1.2rem,2.5vw,1.8rem);
  font-weight:400;font-style:italic;
  color:var(--white);line-height:1.55;
  margin-bottom:1.6rem;
}
.test-author{font-size:.88rem;font-weight:600;letter-spacing:.04em;color:var(--white);margin-bottom:.3rem}
.test-source{font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--grey)}
.test-controls{display:flex;align-items:center;justify-content:center;gap:1.25rem;margin-top:1.8rem}
.test-btn{
  width:44px;height:44px;border:1px solid var(--border);background:transparent;
  color:var(--white);cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:border-color .2s,background .2s;font-size:1rem;
}
.test-btn:hover{border-color:var(--gold);background:rgba(201,150,12,.1)}
.test-dots{display:flex;gap:.6rem;align-items:center}
.test-dot{
  width:28px;height:2px;background:var(--border);cursor:pointer;
  transition:background .2s,width .2s;
  border:0;
  padding:0;
  font:inherit;
}
.test-dot.active{background:var(--gold);width:44px}

/* ── CTA ── */
#cta{
  padding:8rem 5vw;background:var(--black);
  text-align:center;
  border-top:1px solid var(--border);
}
.cta-eyebrow{display:block;font-size:.68rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem}
.cta-h{
  font-family:var(--font-display);
  font-size:clamp(2rem,5vw,4.5rem);
  font-weight:400;color:var(--white);
  max-width:800px;margin:0 auto 1.5rem;line-height:1.1;
}
.cta-h em{font-style:italic;color:var(--gold)}
.cta-sub{font-size:.95rem;color:var(--grey);max-width:520px;margin:0 auto 3rem;line-height:1.75}
.cta-btns{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}

/* ── CONTACT FORM ── */
#contact{padding:8rem 5vw;background:var(--dark)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8rem;align-items:start}
.contact-left .eyebrow{display:block}
.contact-sub{font-size:.95rem;color:var(--grey);line-height:1.8;margin-bottom:3rem}
.contact-details{display:flex;flex-direction:column;gap:1.4rem}
.c-item{display:flex;align-items:center;gap:1rem;font-size:.9rem}
.c-icon{
  width:40px;height:40px;border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  color:var(--gold);flex-shrink:0;
}
.c-icon svg{width:16px;height:16px}
.c-link{color:var(--white);text-decoration:none;transition:color .2s}
.c-link:hover{color:var(--gold)}
.form{display:flex;flex-direction:column;gap:1rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-group{display:flex;flex-direction:column;gap:.4rem}
.form-label{font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--grey)}
input,textarea,select{
  background:transparent;border:none;border-bottom:1px solid var(--border);
  color:var(--white);font-family:var(--font-body);font-size:.92rem;
  padding:.9rem 0;width:100%;outline:none;
  transition:border-color .2s;-webkit-appearance:none;border-radius:0;
}
input::placeholder,textarea::placeholder{color:#3a3a3a}
input:focus,textarea:focus,select:focus{border-color:var(--gold)}
select{cursor:pointer;background:var(--dark)}
select option{background:var(--dark)}
.native-select-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.custom-select{
  position:relative;
  width:100%;
}
.custom-select-trigger{
  position:relative;
  width:100%;
  min-height:58px;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 12px;
  align-items:center;
  gap:.9rem;
  padding:.95rem 1rem;
  border:1px solid rgba(232,176,32,.26);
  border-radius:10px;
  background:
    linear-gradient(135deg,rgba(232,176,32,.14),rgba(255,255,255,.035) 44%,rgba(8,8,8,.92)),
    #0a0a0a;
  color:var(--white);
  font:inherit;
  text-align:left;
  cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 48px rgba(0,0,0,.2);
  transition:border-color .28s ease,box-shadow .28s ease,background .28s ease,transform .28s ease;
}
.custom-select-trigger::after{
  content:'';
  width:9px;
  height:9px;
  border-right:1px solid var(--gold-light);
  border-bottom:1px solid var(--gold-light);
  transform:rotate(45deg);
  transform-origin:center;
  transition:transform .32s cubic-bezier(.22,1,.36,1);
}
.custom-select-trigger:hover,
.custom-select-trigger:focus-visible,
.custom-select.is-open .custom-select-trigger{
  border-color:rgba(232,176,32,.58);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 18px 55px rgba(201,150,12,.14);
  outline:none;
}
.custom-select.is-open .custom-select-trigger{transform:translateY(-1px)}
.custom-select.is-open .custom-select-trigger::after{transform:rotate(225deg) translate(-1px,-1px)}
.custom-select-text{
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:.95rem;
  line-height:1.2;
}
.custom-select-trigger:not(.has-value) .custom-select-text{color:rgba(255,255,255,.72)}
.custom-select-hint{
  display:none;
  color:rgba(232,176,32,.72);
  font-family:var(--font-label);
  font-size:.56rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  white-space:nowrap;
}
.custom-select-icon{
  position:relative;
  width:30px;
  height:30px;
  border:1px solid rgba(232,176,32,.38);
  border-radius:8px;
  background:linear-gradient(135deg,rgba(232,176,32,.14),rgba(255,255,255,.035));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
  flex:0 0 auto;
}
.custom-select-icon::before,
.custom-select-icon::after{
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  border-color:var(--gold-light);
  transform:translate(-50%,-50%);
}
.service-icon-home::before{width:13px;height:9px;border:1px solid var(--gold-light);border-top:0;top:58%}
.service-icon-home::after{width:11px;height:11px;border-left:1px solid var(--gold-light);border-top:1px solid var(--gold-light);top:42%;transform:translate(-50%,-50%) rotate(45deg)}
.service-icon-wet::before{width:11px;height:15px;border-radius:10px 10px 10px 2px;background:var(--gold-light);transform:translate(-50%,-50%) rotate(42deg);opacity:.92}
.service-icon-kitchen::before{width:15px;height:12px;border:1px solid var(--gold-light);border-radius:2px}
.service-icon-kitchen::after{width:1px;height:12px;background:var(--gold-light);box-shadow:5px 0 0 rgba(232,176,32,.62),-5px 0 0 rgba(232,176,32,.62)}
.service-icon-pool::before{width:17px;height:8px;border-top:2px solid var(--gold-light);border-bottom:2px solid rgba(232,176,32,.55);border-radius:50%}
.service-icon-commercial::before{width:13px;height:16px;border:1px solid var(--gold-light);border-radius:2px;box-shadow:inset 0 5px 0 rgba(232,176,32,.18),inset 0 -5px 0 rgba(232,176,32,.18)}
.service-icon-commercial::after{width:2px;height:2px;background:var(--gold-light);box-shadow:5px 0 0 var(--gold-light),-5px 0 0 var(--gold-light),0 5px 0 var(--gold-light),5px 5px 0 var(--gold-light),-5px 5px 0 var(--gold-light)}
.service-icon-spark::before{width:2px;height:18px;background:var(--gold-light);transform:translate(-50%,-50%) rotate(25deg);box-shadow:0 0 14px rgba(232,176,32,.55)}
.service-icon-spark::after{width:13px;height:13px;border-left:1px solid var(--gold-light);border-bottom:1px solid var(--gold-light);transform:translate(-50%,-50%) rotate(-20deg)}
.service-icon-design::before{width:18px;height:5px;border:1px solid var(--gold-light);border-radius:2px;transform:translate(-50%,-50%) rotate(-28deg)}
.service-icon-design::after{width:1px;height:5px;background:var(--gold-light);box-shadow:4px 0 0 rgba(232,176,32,.6),-4px 0 0 rgba(232,176,32,.6);transform:translate(-50%,-50%) rotate(-28deg)}
.service-icon-trade::before{width:17px;height:4px;background:var(--gold-light);border-radius:2px;transform:translate(-50%,-50%) rotate(-35deg)}
.service-icon-trade::after{width:7px;height:7px;border:1px solid var(--gold-light);border-radius:2px;transform:translate(-5px,-1px) rotate(-35deg)}
.service-icon-menu::before{width:15px;height:1px;background:var(--gold-light);box-shadow:0 -5px 0 rgba(232,176,32,.78),0 5px 0 rgba(232,176,32,.78)}
.custom-select-icon::before,
.custom-select-icon::after{display:none}
.custom-select-icon svg{
  position:absolute;
  inset:6px;
  width:18px;
  height:18px;
  color:var(--gold-light);
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.custom-select-menu{
  position:absolute;
  z-index:90;
  top:calc(100% + .55rem);
  left:0;
  right:0;
  max-height:min(340px,52vh);
  overflow:auto;
  padding:.45rem;
  border:1px solid rgba(232,176,32,.34);
  border-radius:10px;
  background:linear-gradient(180deg,rgba(18,18,16,.98),rgba(6,6,6,.98));
  box-shadow:0 28px 80px rgba(0,0,0,.52),0 0 0 1px rgba(255,255,255,.035) inset;
  opacity:0;
  pointer-events:none;
  transform:translateY(-10px) scale(.98);
  transform-origin:top;
  transition:opacity .24s ease,transform .32s cubic-bezier(.22,1,.36,1);
}
.custom-select-menu::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 28%,rgba(232,176,32,.12));
}
.custom-select.is-open .custom-select-menu{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}
.custom-select-option{
  position:relative;
  z-index:1;
  width:100%;
  min-height:44px;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 10px;
  align-items:center;
  gap:.75rem;
  border:0;
  border-radius:7px;
  padding:.72rem .8rem;
  background:transparent;
  color:rgba(255,255,255,.78);
  font-family:var(--font-body);
  font-size:.9rem;
  line-height:1.25;
  text-align:left;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.custom-select-option::after{
  content:'';
  width:6px;
  height:6px;
  border:1px solid rgba(232,176,32,.55);
  transform:rotate(45deg);
  opacity:0;
  transition:opacity .2s ease,background .2s ease,box-shadow .2s ease;
}
.custom-select-option:hover,
.custom-select-option:focus-visible,
.custom-select-option.is-selected{
  background:linear-gradient(90deg,rgba(232,176,32,.15),rgba(255,255,255,.035));
  color:var(--white);
  outline:none;
  transform:translateX(2px);
}
.custom-select-option.is-selected::after{
  background:var(--gold-light);
  opacity:1;
  box-shadow:0 0 16px rgba(232,176,32,.45);
}
.custom-select-option.is-disabled{
  color:rgba(255,255,255,.38);
  cursor:default;
  transform:none;
}
.custom-select-option.is-disabled .custom-select-icon{opacity:.42}
.custom-select.is-invalid .custom-select-trigger{
  border-color:rgba(232,176,32,.9);
  box-shadow:0 0 0 3px rgba(232,176,32,.15),0 18px 55px rgba(201,150,12,.12);
}
@media(max-width:560px){
  .custom-select-trigger{
    min-height:54px;
    grid-template-columns:30px minmax(0,1fr) 12px;
    padding:.9rem .85rem;
  }
  .custom-select-hint{display:none}
  .custom-select-menu{max-height:55vh}
}
textarea{resize:none;height:100px}
.form-submit{
  background:var(--gold);color:var(--black);
  font-family:var(--font-body);font-size:.82rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;
  padding:1.1rem 2rem;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:.5rem;
  margin-top:.5rem;transition:background .2s;width:100%;
}
.form-submit:hover{background:var(--gold-light)}
.form-note{font-size:.75rem;color:#3a3a3a;text-align:center;margin-top:.5rem}
.form-success{
  display:none;text-align:center;padding:3rem;
  border:1px solid var(--border);
}
.fs-icon{font-size:2.5rem;color:var(--gold);margin-bottom:1rem}
.fs-title{font-family:var(--font-display);font-size:1.8rem;color:var(--white);margin-bottom:.5rem}
.fs-sub{font-size:.88rem;color:var(--grey)}

/* ── FOOTER ── */
footer{background:var(--black);border-top:1px solid var(--border);padding:5rem 5vw 3rem}
.foot-top{display:grid;grid-template-columns:minmax(280px,1.5fr) minmax(160px,.75fr) minmax(320px,1.05fr);gap:clamp(2.5rem,5vw,5.5rem);margin-bottom:4rem;padding-bottom:4rem;border-bottom:1px solid var(--border)}
.foot-logo{display:flex;align-items:center;gap:.8rem;text-decoration:none;margin-bottom:1.2rem}
.foot-logo,.foot-logo:visited,.foot-logo:hover{color:var(--white)}
.foot-logo-img{
  width:clamp(190px,17vw,280px);
  height:112px;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 0 16px rgba(232,176,32,.16));
  transform:scale(1.48);
  transform-origin:left center;
}
.foot-logo-mark{width:32px;height:32px;border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1rem;color:var(--gold)}
.foot-logo-name{font-size:.9rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--white)}
.foot-tagline{font-size:.85rem;color:var(--grey);line-height:1.7;margin-bottom:1rem}
.foot-since{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:#333}
.foot-col-title{font-size:.65rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem}
.foot-links{list-style:none;display:flex;flex-direction:column;gap:.7rem}
.foot-links a{font-size:.85rem;color:var(--grey);text-decoration:none;transition:color .2s}
.foot-links a:hover{color:var(--white)}
.foot-contact{list-style:none;display:flex;flex-direction:column;gap:.9rem}
.foot-contact li{display:flex;align-items:center;gap:.7rem;font-size:.85rem;color:var(--grey)}
.foot-contact a{color:var(--grey);text-decoration:none;transition:color .2s}
.foot-contact a:hover{color:var(--white)}
.foot-contact svg{width:13px;height:13px;color:var(--gold);flex-shrink:0}
.foot-social{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin-top:1.1rem;
}
.foot-social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  min-height:32px;
  padding:0;
  border:1px solid rgba(232,176,32,.34);
  border-radius:50%;
  background:rgba(232,176,32,.055);
  color:rgba(255,255,255,.72);
  text-decoration:none;
  transition:color .2s,border-color .2s,background .2s,transform .2s,box-shadow .2s;
}
.foot-social svg{
  width:18px;
  height:18px;
  fill:currentColor;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.foot-social-instagram svg{fill:none}
.foot-social a:hover{
  color:var(--gold-light);
  border-color:rgba(232,176,32,.7);
  background:rgba(232,176,32,.14);
  box-shadow:0 0 24px rgba(232,176,32,.16);
  transform:translateY(-1px);
}
.foot-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.foot-copy{font-size:.75rem;color:#333}

/* ── MOBILE CTA BAR ── */
.mob-bar{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;
  grid-template-columns:1fr 1fr;
}
.mob-call{background:var(--gold);color:var(--black);font-size:.85rem;font-weight:600;letter-spacing:.06em;padding:1.1rem;text-align:center;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:.5rem}
.mob-quote{background:var(--dark);color:var(--gold);border-top:1px solid var(--gold);font-size:.85rem;font-weight:600;letter-spacing:.06em;padding:1.1rem;text-align:center;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:.5rem}
.mobile-menu-btn,.mobile-menu-panel{display:none}

/* ── REVEAL ── */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .42s ease,transform .48s ease}
.reveal.vis{opacity:1;transform:none}
.reveal-left{opacity:0;transform:translateX(-18px);transition:opacity .42s ease,transform .48s ease}
.reveal-left.vis{opacity:1;transform:none}
.reveal-right{opacity:0;transform:translateX(18px);transition:opacity .42s ease,transform .48s ease}
.reveal-right.vis{opacity:1;transform:none}

/* Premium motion and architectural polish */
body::before{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 1px),
    radial-gradient(ellipse at -12% 4%,rgba(201,150,12,.105),transparent 52%),
    radial-gradient(ellipse at 92% 18%,rgba(255,255,255,.035),transparent 34%);
  background-size:72px 72px,72px 72px,100% 100%,100% 100%;
  opacity:.42;
}
.scroll-progress{
  position:fixed;top:0;left:0;z-index:900;height:2px;width:100%;
  transform:scaleX(0);transform-origin:left;
  pointer-events:none;
  background:linear-gradient(90deg,var(--gold-deep),var(--gold),var(--gold-light),var(--gold));
  box-shadow:0 0 18px rgba(232,176,32,.42);
}
.lux-spotlight{
  position:fixed;inset:0;z-index:250;pointer-events:none;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,20%),rgba(232,176,32,.075),transparent 58%);
  mix-blend-mode:screen;opacity:.75;
}
.hero,.ticker,section,footer,.mob-bar{position:relative;z-index:2}
body > section:not(.hero),
footer{
  isolation:isolate;
  overflow:hidden;
  border-top:1px solid rgba(232,176,32,.2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
body > section:not(.hero)::before,
footer::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 18% 12%,rgba(201,150,12,.11),transparent 38%),
    radial-gradient(ellipse at 78% 74%,rgba(232,176,32,.075),transparent 36%),
    linear-gradient(180deg,rgba(255,255,255,.018),transparent 28%,rgba(201,150,12,.025));
}
body > section:not(.hero)::after,
footer::after{
  content:'';
  position:absolute;
  left:5vw;
  right:5vw;
  top:0;
  z-index:2;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(232,176,32,.5),rgba(255,255,255,.16),transparent);
  box-shadow:0 0 22px rgba(232,176,32,.22);
}
body > section:not(.hero) > *,
footer > *{
  position:relative;
  z-index:1;
}
nav{position:fixed;top:0;left:0;right:0;z-index:600;height:74px}
nav::after{
  content:'';position:absolute;left:5vw;right:5vw;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(201,150,12,.5),transparent);
  opacity:0;transform:scaleX(.7);transition:opacity .45s ease,transform .45s ease;
}
nav.scrolled::after{opacity:1;transform:scaleX(1)}
.logo-mark,.foot-logo-mark{font-family:var(--font-label);border-radius:3px;box-shadow:inset 0 0 0 1px rgba(232,176,32,.08)}
.logo-name,.foot-logo-name{font-family:var(--font-label);font-weight:600;letter-spacing:.14em}
.logo-sub,.hstat-lbl,.foot-since{font-family:var(--font-body);font-weight:600}
.nav-links a,.nav-phone,.hero-eyebrow,.eyebrow,.test-eyebrow,.cta-eyebrow,.btn-gold,.btn-outline,.btn-dark,.form-submit,.foot-col-title,.svc-card-num,.proj-cat,.svc-more-link{
  font-family:var(--font-label);font-weight:600;letter-spacing:.16em;
}
.nav-links a{position:relative}
.nav-links a::after{
  content:'';position:absolute;left:0;right:0;bottom:-.55rem;height:1px;
  background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .35s ease;
}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1);transform-origin:left}
.nav-phone,.btn-gold,.form-submit,.mobile-menu-quote,.mob-quote{
  background:
    linear-gradient(110deg,transparent 0%,rgba(255,255,255,.36) 16%,transparent 32%) -160% 0/240% 100% no-repeat,
    linear-gradient(135deg,#f7c32d,var(--gold) 48%,#8f6806);
  color:#090909;
  box-shadow:0 20px 62px rgba(201,150,12,.3),0 0 0 1px rgba(255,226,129,.32) inset;
  transition:background-position .75s cubic-bezier(.22,1,.36,1),box-shadow .28s ease,transform .28s ease;
  animation:goldSurfaceShine 6.4s ease-in-out infinite;
}
.nav-phone:hover,.btn-gold:hover,.form-submit:hover,.mobile-menu-quote:hover,.mob-quote:hover{
  background-position:160% 0,0 0;
  box-shadow:0 24px 72px rgba(232,176,32,.38),0 0 0 1px rgba(255,245,190,.45) inset;
}
.nav-phone{
  min-width:140px;
  min-height:48px;
  justify-content:center;
  padding:.9rem 2rem;
  border:1px solid rgba(255,226,129,.38);
  border-radius:8px;
  font-size:.86rem;
  box-shadow:0 18px 52px rgba(201,150,12,.24),inset 0 1px 0 rgba(255,255,255,.28);
}
.nav-phone,.btn-gold,.btn-outline,.btn-dark,.form-submit,.test-btn,.c-icon,.about-badge,.form-success{border-radius:6px}
.nav-phone{border-radius:8px}
.btn-gold,.btn-outline,.btn-dark,.form-submit,.nav-phone{position:relative;overflow:hidden;isolation:isolate}
.btn-gold::after,.btn-outline::after,.btn-dark::after,.form-submit::after,.nav-phone::after{
  content:'';position:absolute;inset:-40% -70%;z-index:-1;
  background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.34),transparent 65%);
  transform:translateX(-70%) rotate(8deg);transition:transform .75s cubic-bezier(.22,1,.36,1);
}
.btn-gold:hover::after,.btn-outline:hover::after,.btn-dark:hover::after,.form-submit:hover::after,.nav-phone:hover::after{transform:translateX(70%) rotate(8deg)}
.btn-gold:hover,.btn-outline:hover,.btn-dark:hover,.form-submit:hover,.nav-phone:hover{transform:translateY(-2px)}
.form-submit::before{
  content:'';
  position:absolute;
  inset:-70% -30%;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(110deg,transparent 36%,rgba(255,255,255,.42) 48%,rgba(255,240,176,.34) 52%,transparent 64%);
  transform:translateX(-125%) rotate(7deg);
  animation:buttonShine 3.4s ease-in-out infinite;
  mix-blend-mode:screen;
}
.form-submit{box-shadow:0 22px 60px rgba(201,150,12,.24),0 0 0 1px rgba(255,226,129,.24) inset}
.mob-call,
.home-services-action .svc-more-link-featured{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  animation:goldSurfaceShine 6.4s ease-in-out infinite;
}
.mob-call::after,
.home-services-action .svc-more-link-featured::after{
  content:'';
  position:absolute;
  inset:-45% -80%;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.35) 48%,rgba(255,240,176,.28) 52%,transparent 64%);
  transform:translateX(-72%) rotate(8deg);
  animation:goldBoxSweep 5.4s ease-in-out infinite;
}
.mob-call > *,
.home-services-action .svc-more-link-featured > *{
  position:relative;
  z-index:1;
}
.hero{isolation:isolate}
.hero::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  display:block;
  pointer-events:none;
  background:
    linear-gradient(115deg,rgba(0,0,0,.18) 0 34%,transparent 34% 100%),
    linear-gradient(90deg,rgba(0,0,0,.8),rgba(0,0,0,.54) 35%,rgba(0,0,0,.18) 70%,rgba(0,0,0,.58));
  mix-blend-mode:normal;
}
.hero::after{
  content:'';
  position:absolute;
  left:5vw;
  right:5vw;
  bottom:0;
  z-index:4;
  height:1px;
  background:linear-gradient(90deg,var(--gold-deep),var(--gold-light),transparent);
  transform:scaleX(var(--hero-p));
  transform-origin:left;
  opacity:.75;
  box-shadow:0 0 24px rgba(232,176,32,.36);
}
.hero-bg{
  z-index:0;
  transform:translate3d(0,var(--hero-y,0),0) scale(var(--hero-scale,1.035));
  animation:heroBreath 18s ease-in-out infinite alternate;
  will-change:transform,filter;
}
.hero-bg::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 18%,rgba(255,255,255,.075) 46%,transparent 62%);
  transform:translateX(-120%);animation:heroSheen 9s ease-in-out 1.2s infinite;
}
.hero-body{
  transform:translate3d(0,var(--hero-copy-y),0);
  opacity:var(--hero-copy-opacity);
  will-change:transform,opacity;
}
.hero-h1,.section-h,.about-h,.test-h,.test-q,.cta-h,.fs-title,.svc-card-title,.proj-name,.about-badge-num{
  font-family:var(--font-display);font-weight:500;letter-spacing:.01em;
}
.hero-stats .hstat-num{
  font-family:var(--font-hero);
  letter-spacing:0;
}
.hero-stats .hstat-lbl{
  font-family:var(--font-label);
}
.section-h,.about-h,.test-h,.cta-h{
  font-family:var(--font-hero);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.01em;
  line-height:.88;
}
.section-h em,.about-h em,.cta-h em{font-family:inherit;font-style:normal}
.svc-card-title,.proj-name{font-family:var(--font-hero);font-weight:900;text-transform:uppercase;letter-spacing:.01em;line-height:1}
.hero-h1{
  font-family:var(--font-hero);
  font-size:clamp(2.55rem,5.1vw,5.85rem);
  line-height:.86;
  max-width:980px;
  text-transform:uppercase;
  letter-spacing:.01em;
  text-shadow:0 22px 70px rgba(0,0,0,.48);
}
.hero-h1 span{display:block}
.hero-h1 span:first-child{
  transform:translate3d(calc(var(--hero-p) * -18px),0,0);
}
.hero-h1 .hero-outline{
  color:transparent;
  -webkit-text-stroke:1.35px var(--gold-light);
  text-stroke:1.35px var(--gold-light);
  text-shadow:none;
  margin-top:.12em;
  transform:translate3d(calc(var(--hero-p) * 18px),0,0);
}
.hero-h1 em,.section-h em,.about-h em{
  color:var(--gold-light);
  background:linear-gradient(135deg,var(--gold-light),var(--gold) 45%,#fff0b7 78%,var(--gold));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.cta-h em{font-style:italic;color:var(--gold);background:none;-webkit-background-clip:initial;background-clip:initial}
.hero-eyebrow,
.eyebrow,
.test-eyebrow,
.cta-eyebrow,
.faq-kicker-line .eyebrow,
.svc-card-num,
.svc-more-link,
.proj-cat,
.foot-col-title,
.work-list span,
.work-process-top span,
.work-step-copy small,
.home-service-card span,
.why-num,
.cta-h em,
.section-h em,
.about-h em,
.test-quote-icon,
.fs-icon,
.about-badge-num,
.page-title span,
.foot-logo-mark{
  color:var(--gold-light);
  background-image:var(--gold-shine);
  background-size:230% 100%;
  background-position:0% 50%;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:0 0 22px rgba(232,176,32,.18);
  animation:goldTextShine 7.5s ease-in-out infinite;
}
.page-title span{
  -webkit-text-stroke:1.15px rgba(255,226,129,.58);
  text-stroke:1.15px rgba(255,226,129,.58);
  filter:drop-shadow(0 0 18px rgba(232,176,32,.22));
}
.cta-h em{
  display:inline-block;
  padding-right:.09em;
  margin-right:-.03em;
  line-height:1;
}
.hero-sub,.svc-intro-right,.about-text,.proj-head-right,.contact-sub,.cta-sub,.svc-card-desc,.foot-tagline{
  font-weight:400;line-height:1.9;color:#aaa;
}
.hstat{transition:background .35s ease,transform .35s ease}
.hstat:hover{background:rgba(255,255,255,.025);transform:translateY(-4px)}
.svc-card,.proj-card,.about-img-wrap{
  border-radius:10px;border:1px solid rgba(255,255,255,.065);
  box-shadow:0 24px 80px rgba(0,0,0,.28);
}
.svc-card::after,.proj-card::after,.about-img-wrap::after{
  content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.16),transparent 22%,transparent 72%,rgba(201,150,12,.16));
  opacity:.22;transition:opacity .45s ease;
}
.svc-card:hover::after,.proj-card:hover::after,.about-img-wrap:hover::after{opacity:.58}
.svc-card-img,.proj-card-img,.about-img{filter:saturate(.92) contrast(1.04);transition:transform 1.05s cubic-bezier(.22,1,.36,1),filter .8s ease}
.svc-card:hover .svc-card-img,.proj-card:hover .proj-card-img,.about-img-wrap:hover .about-img{transform:scale(1.055);filter:saturate(1.04) contrast(1.08)}
.svc-card-over,.proj-over{background:linear-gradient(to top,rgba(7,7,7,.96) 0%,rgba(7,7,7,.48) 48%,rgba(7,7,7,.05) 100%)}
.svc-card-body,.proj-info{transition:transform .5s cubic-bezier(.22,1,.36,1)}
.svc-card:hover .svc-card-body,.proj-card:hover .proj-info{transform:translateY(-8px)}
.ticker-track,.ticker2-track{will-change:transform;animation-duration:44s}
.test-slide{animation:testFade .55s ease both}
.test-q{letter-spacing:.015em}
input,textarea,select{font-family:var(--font-body);border-bottom-color:rgba(255,255,255,.14)}

.why-stage-frame.why-logo-frame{
  overflow:visible;
  background:
    radial-gradient(ellipse at 50% 50%,rgba(8,45,70,.5),rgba(8,22,34,.28) 42%,transparent 70%),
    radial-gradient(ellipse at 50% 50%,rgba(232,176,32,.12),transparent 58%);
}
.why-stage-frame.why-logo-frame::before{
  display:block;
  content:'';
  position:absolute;
  inset:7% 4%;
  z-index:0;
  border-radius:48%;
  background:radial-gradient(ellipse at 50% 50%,rgba(7,45,72,.62),rgba(5,16,26,.28) 48%,transparent 74%);
  filter:blur(20px);
  box-shadow:none;
  animation:none;
}
.why-stage-frame.why-logo-frame::after{
  display:block;
  content:'';
  position:absolute;
  inset:16% 8%;
  z-index:0;
  width:auto;
  left:8%;
  top:16%;
  bottom:16%;
  border-radius:50%;
  background:radial-gradient(ellipse at 50% 50%,rgba(232,176,32,.12),transparent 68%);
  box-shadow:none;
  animation:none;
}
.why-stage-frame .why-logo-img{
  position:relative;
  z-index:1;
  -webkit-mask-image:radial-gradient(ellipse at center,#000 58%,rgba(0,0,0,.82) 78%,transparent 100%);
  mask-image:radial-gradient(ellipse at center,#000 58%,rgba(0,0,0,.82) 78%,transparent 100%);
}
.about-logo-wrap{
  overflow:visible;
  width:min(100%,520px);
  justify-self:center;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.about-logo-wrap::before{
  content:'';
  position:absolute;
  inset:8%;
  z-index:0;
  border-radius:50%;
  pointer-events:none;
  background:radial-gradient(ellipse at 50% 54%,rgba(10,47,70,.52),rgba(201,150,12,.1) 40%,transparent 72%);
  filter:blur(22px);
}
.about-logo-wrap::after{display:none!important}
.about-logo-wrap .about-img{
  position:relative;
  z-index:1;
  padding:0!important;
  background:transparent!important;
  object-fit:contain;
  max-height:500px;
  filter:drop-shadow(0 28px 60px rgba(0,0,0,.45));
}
.about-logo-wrap .about-badge{display:none}
input:focus,textarea:focus,select:focus{box-shadow:0 10px 28px rgba(201,150,12,.06)}
.form-submit:disabled{
  cursor:wait;
  opacity:.72;
  transform:none;
}
.reveal,.reveal-left,.reveal-right,.motion-item{
  --reveal-x:0px;
  --reveal-y:24px;
  --reveal-r:0deg;
  opacity:0;
  transform:translate3d(var(--reveal-x),var(--reveal-y),0) scale(.985) rotate(var(--reveal-r));
  filter:blur(7px) saturate(.9);
  transition:
    opacity .42s cubic-bezier(.22,1,.36,1),
    transform .5s cubic-bezier(.16,1,.3,1),
    filter .45s ease,
    border-color .28s ease,
    box-shadow .28s ease;
  transition-delay:var(--stagger,0s);
  will-change:opacity,transform,filter;
}
.reveal-left{--reveal-x:-28px;--reveal-y:12px;--reveal-r:-.35deg}
.reveal-right{--reveal-x:28px;--reveal-y:12px;--reveal-r:.35deg}
.motion-item{--reveal-y:20px}
.svc-card.motion-item,
.proj-card.motion-item,
.home-service-card.motion-item,
.cap-card.motion-item,
.service-detail-card.motion-item{
  --reveal-y:26px;
}
.reveal.vis,.reveal-left.vis,.reveal-right.vis,.motion-item.in-view{
  opacity:1;
  transform:translate3d(0,0,0) scale(1) rotate(0deg);
  filter:blur(0) saturate(1);
}
.motion-item:not(.in-view) img{
  transform:scale(1.035);
  filter:saturate(.9) contrast(.98) brightness(.8);
}
.motion-item img{
  transition:transform .55s cubic-bezier(.16,1,.3,1),filter .45s ease;
}
.svc-card.motion-item.in-view,
.proj-card.motion-item.in-view,
.home-service-card.motion-item.in-view,
.cap-card.motion-item.in-view,
.service-detail-card.motion-item.in-view,
.why-card.motion-item.in-view{
  box-shadow:0 22px 80px rgba(0,0,0,.24);
}
.count-up{
  display:inline-block;
  min-width:2ch;
  font-variant-numeric:tabular-nums;
}
.count-up.counted{
  animation:numberSettle .72s cubic-bezier(.16,1,.3,1);
}
@keyframes heroBreath{from{filter:saturate(.92) contrast(1)}to{filter:saturate(1.02) contrast(1.08)}}
@keyframes heroSheen{0%,58%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
@keyframes goldTextShine{
  0%,18%{background-position:0% 50%;text-shadow:0 0 14px rgba(232,176,32,.12)}
  48%{background-position:100% 50%;text-shadow:0 0 28px rgba(232,176,32,.26)}
  100%{background-position:0% 50%;text-shadow:0 0 14px rgba(232,176,32,.12)}
}
@media(prefers-reduced-motion:reduce){
  .hero-bg,
  .hero-bg::before{
    animation:none!important;
  }
}
@keyframes buttonShine{
  0%,42%{transform:translateX(-125%) rotate(7deg);opacity:0}
  52%{opacity:.95}
  74%,100%{transform:translateX(125%) rotate(7deg);opacity:0}
}
@keyframes goldSurfaceShine{
  0%,22%{background-position:-160% 0,0 0}
  50%{background-position:160% 0,0 0}
  100%{background-position:-160% 0,0 0}
}
@keyframes goldBoxSweep{
  0%,42%{opacity:0;transform:translateX(-72%) rotate(8deg)}
  52%{opacity:1}
  72%,100%{opacity:0;transform:translateX(72%) rotate(8deg)}
}
@keyframes numberSettle{
  0%{transform:translateY(10px) scale(.92);filter:blur(4px)}
  55%{transform:translateY(-4px) scale(1.045);filter:blur(0)}
  100%{transform:translateY(0) scale(1);filter:blur(0)}
}
@keyframes testFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
  .lux-spotlight{display:none}
  .faq-item{height:auto!important}
}

/* ── RESPONSIVE ── */
@media(max-width:1360px){
  .faq-layout{grid-template-columns:1fr;gap:2rem}
  .faq-title{font-size:clamp(3rem,9vw,5.5rem);max-width:12ch}
  .faq-copy{max-width:44rem}
  .faq-item summary{font-size:clamp(1rem,2.4vw,1.35rem)}
}

@media(max-width:900px){
  .nav-links{display:none}
  .brand-logo-img{width:96px;height:50px}
  .hero-stats,.svc-intro,.about-grid,.proj-head,.contact-grid,.foot-top,.home-services-head,.work-head,.service-area-head{grid-template-columns:1fr}
  .hero-credentials{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1.25rem 1.5rem;
    margin-top:1.8rem;
    padding-top:1.3rem;
  }
  .hero-credential{
    width:100%;
    max-width:none;
    justify-self:stretch;
    align-items:flex-start;
    text-align:left;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
  }
  .credential-icon{margin-bottom:.65rem}
  .credential-label{font-size:.67rem;letter-spacing:.1em;margin-bottom:.5rem}
  .credential-value{font-size:1rem}
  .svc-cards,.svc-card-row,.proj-grid,.work-board,.service-area-grid{grid-template-columns:1fr}
  .cap-grid{grid-template-columns:1fr 1fr}
  #why.why-hero{grid-template-columns:1fr;gap:2rem}
  .why-stage-frame{min-height:300px}
  .why-stage-frame img{min-height:300px}
  .why-grid,.home-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .why-card{min-height:0}
  .work-visual{min-height:390px;height:430px}
  .work-img{min-height:0}
  .work-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:none;
    height:auto;
    align-content:start;
  }
  .work-list li{
    grid-template-columns:64px minmax(0,1fr);
    padding:1rem;
    min-height:112px;
  }
  .work-list span{
    width:3.2rem;
    height:3.2rem;
    font-size:.82rem;
  }
  .faq-layout{grid-template-columns:1fr;gap:1.6rem}
  .faq-title{font-size:clamp(2.65rem,12vw,4.7rem);margin-bottom:1.5rem}
  .faq-answer{font-size:.86rem}
  .faq-item summary{padding:1.35rem 0}
  .svc-card-big .svc-card-img{min-height:340px}
  .proj-card:nth-child(n) .proj-card-img{height:280px}
  .hstat{padding:1.5rem 5vw}
  .about-checks{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .foot-top{grid-template-columns:1fr 1fr;gap:2.5rem}
  .foot-top > div:first-child,
  .foot-top > div:last-child{grid-column:1/-1}
  .mob-bar{display:grid}
  section,#services,#about,#projects,#testimonials,#cta,#contact,.service-areas{padding:4.4rem 1.5rem}
  #cta{padding:5rem 1.5rem}
  footer{padding:4rem 1.5rem 6rem}
  .about-badge{right:0;bottom:-40px}
  .lux-spotlight{display:none}
  .hero-h1{font-size:clamp(2.1rem,10.8vw,3.6rem);line-height:.9;letter-spacing:0}
  .hero-h1 .hero-outline{-webkit-text-stroke:1px var(--gold-light);text-stroke:1px var(--gold-light)}
  .hero-sub{font-size:.98rem}
  .svc-card,.proj-card,.about-img-wrap{border-radius:8px}
}

/* Mobile-first refinement only: keeps desktop unchanged */
@media(max-width:900px){
  html{scroll-padding-top:74px}
  body{padding-bottom:calc(62px + env(safe-area-inset-bottom))}
  .scroll-progress{top:0}
  nav{
    height:64px;
    padding:0 1rem;
    gap:.75rem;
    background:linear-gradient(to bottom,rgba(12,12,12,.94),rgba(12,12,12,.68));
    backdrop-filter:blur(14px);
  }
  .nav-logo{gap:.7rem;min-width:0}
  .logo-mark{width:32px;height:32px;font-size:.92rem;flex:0 0 auto}
  .logo-text{min-width:0}
  .logo-name{font-size:.72rem;letter-spacing:.12em;white-space:nowrap}
  .logo-sub{font-size:.48rem;letter-spacing:.16em;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .nav-phone{
    min-width:104px;
    min-height:44px;
    padding:.75rem 1rem;
    font-size:.72rem;
    letter-spacing:.14em;
    flex:0 0 auto;
  }
  .hero{
    min-height:auto;
    justify-content:flex-start;
    padding-top:64px;
    padding-bottom:0;
  }
  .hero-bg{
    background-position:center top;
    transform:none!important;
    animation:none;
  }
  .hero-bg::before{display:none}
  .hero-bg::after{
    display:none;
    background:none;
  }
.hero-body{
    padding:clamp(7rem,22vh,10rem) 1.2rem 3rem;
  }
  .hero-eyebrow{
    font-size:.58rem;
    letter-spacing:.16em;
    line-height:1.65;
    margin-bottom:1.35rem;
    max-width:92vw;
  }
  .hero-h1{
    max-width:100%;
    font-size:clamp(1.9rem,8.8vw,3.2rem);
    line-height:.92;
    overflow-wrap:normal;
  }
  .hero-h1 .hero-outline{
    -webkit-text-stroke:.9px var(--gold-light);
    text-stroke:.9px var(--gold-light);
    margin-top:.16em;
  }
  .hero-sub{
    max-width:34rem;
    margin-bottom:1.6rem;
    font-size:.94rem;
    line-height:1.75;
  }
  .hero-btns{
    display:flex;
    align-items:flex-start;
    gap:.8rem;
  }
  .btn-gold,.btn-outline,.btn-dark,.form-submit{
    width:100%;
    min-height:48px;
    justify-content:center;
    padding:.95rem 1rem;
    font-size:.72rem;
    line-height:1.2;
    text-align:center;
  }
  .hero-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1.15rem 1rem;
    margin-top:.9rem;
  }
  .hero-btns .btn-gold{
    width:auto;
    min-width:0;
    max-width:100%;
    padding:.95rem 1.25rem;
    white-space:nowrap;
  }
  .hstat{
    padding:0;
    border-bottom:0;
  }
  .hstat:nth-child(2n){border-right:none}
  .hstat-num{font-size:clamp(1.75rem,8vw,2.5rem)}
  .hstat-lbl{font-size:.56rem;letter-spacing:.16em;line-height:1.35}
  .ticker,.ticker2{padding:.75rem 0}
  .tick-item{font-size:.78rem;gap:1.5rem;padding:0 1.5rem}
  .tick2-item{font-size:.78rem;gap:1.5rem;padding:0 1.5rem}
  .social-strip{
    width:calc(100% - 1.4rem);
    flex-direction:column;
    align-items:stretch;
    padding:0;
    margin:1rem auto 2.5rem;
    overflow:hidden;
  }
  .proof-item{
    justify-content:flex-start;
    min-height:74px;
    padding:1rem 1.2rem;
  }
  .proof-item + .proof-item{border-left:0;border-top:1px solid rgba(242,124,34,.72)}
  #why.why-hero{padding:4.5rem 1.2rem}
  .why-proof-line{grid-template-columns:1fr 1fr}
  .why-stage-note{font-size:1.38rem}
  .work-method{padding:2.65rem 1.2rem 3.7rem}
  .work-head{gap:1.25rem}
  .work-head .eyebrow{grid-column:auto}
  .work-board{gap:1rem}
  .work-visual{min-height:380px;height:420px}
  .work-img{min-height:0}
  .work-list li{min-height:112px;padding:1rem}
  body:not(.subpage) #services.home-services{padding:3.3rem 1.2rem}
  .home-services-head{gap:1.25rem}
  .home-services-action{display:grid;grid-template-columns:1fr;align-items:start}
  section,#services,#about,#projects,#testimonials,#cta,#contact,.service-areas{
    padding:4.5rem 1.2rem;
  }
  #about{padding:3.8rem 1.2rem}
  #projects{padding:3.8rem 1.2rem}
  #testimonials{padding:3.8rem 1.2rem}
  .section-h,.about-h{
    font-size:clamp(2.15rem,11vw,3.35rem);
    line-height:1.04;
  }
  .eyebrow,.test-eyebrow,.cta-eyebrow{
    font-size:.58rem;
    letter-spacing:.18em;
    margin-bottom:1rem;
  }
  .svc-intro,.proj-head,.contact-grid,.service-area-head{
    gap:1.5rem;
    margin-bottom:2rem;
  }
  .proj-head-actions{
    justify-self:start;
    max-width:none;
    width:100%;
  }
  .proj-all-btn{
    width:fit-content;
  }
  .svc-intro-right,.proj-head-right,.contact-sub,.about-text,.cta-sub,.service-area-head p:not(.eyebrow){
    max-width:none;
    font-size:.94rem;
    line-height:1.75;
  }
  .service-area-grid{
    gap:.85rem;
  }
  .service-area-grid article{
    min-height:0;
    padding:1.1rem;
  }
  .svc-cards,.proj-grid{gap:1rem}
  .svc-card-big .svc-card-img{min-height:0;height:330px}
  .svc-card-sm .svc-card-img{height:260px}
  .svc-card-body,.proj-info{padding:1.25rem}
  .svc-card-title{font-size:1.42rem}
  .svc-card-desc{font-size:.84rem}
  .svc-more{
    align-items:flex-start;
    padding:1.5rem 0 0;
    margin-top:1rem;
  }
  .svc-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.65rem;
  }
  .svc-pill{
    font-size:.6rem;
    letter-spacing:.1em;
  }
  .svc-pill img{height:96px}
  .svc-pill span{min-height:48px;padding:.75rem .8rem}
  .svc-more-link{min-height:44px;align-items:center}
  .cap-grid{gap:1rem}
  .cap-image{aspect-ratio:1.12/1}
  .cap-tag,.cap-time{top:.85rem;font-size:.54rem;padding:.45rem .58rem}
  .cap-tag{left:.85rem}
  .cap-time{right:.85rem}
  .cap-title{font-size:1rem;margin-top:.8rem}
  .cap-copy{font-size:.82rem}
  .cap-actions{display:grid;grid-template-columns:1fr;align-items:start;margin-top:2rem;padding-top:1.4rem}
  .why-card{min-height:0;padding:1.25rem 0}
  .why-title{font-size:1.15rem}
  .about-grid{gap:2rem}
  .about-img{aspect-ratio:1/1}
  .about-badge{
    position:relative;
    right:auto;
    bottom:auto;
    margin:-1px 0 0 auto;
    width:min(78%,260px);
    padding:1.35rem 1.5rem;
  }
  .about-badge-num{font-size:2.2rem}
  .about-badge-lbl{font-size:.56rem;line-height:1.35}
  .about-checks{gap:.8rem;margin-bottom:1.75rem}
  .about-checks li{font-size:.86rem}
  .about-btns{display:grid;grid-template-columns:1fr;gap:.8rem}
  .proj-head{align-items:start}
  .proj-wheel{
    display:flex;
    grid-template-columns:none;
    gap:.85rem;
    margin:0 -1.2rem;
    padding:.2rem 1.2rem 1rem;
    overflow-x:auto;
    overflow-y:hidden;
  }
  .proj-card:nth-child(n) .proj-card-img{height:300px}
  .proj-wheel .proj-card{flex:0 0 min(82vw,430px);min-height:340px}
  .proj-wheel .proj-card:nth-child(n) .proj-card-img{height:100%;min-height:inherit}
  .proj-over{opacity:1}
  .proj-info{transform:none}
  .test-head{margin-bottom:2.3rem}
  .test-h{font-size:clamp(1.95rem,9vw,2.7rem);line-height:1.08}
  .test-quote-icon{font-size:2.3rem;margin-bottom:1.2rem}
  .test-q{font-size:clamp(1.22rem,6.4vw,1.75rem);line-height:1.45;margin-bottom:1.7rem}
  .test-controls{gap:.9rem;margin-top:2rem}
  .test-btn{width:46px;height:46px}
  .test-dot{width:22px}
  .test-dot.active{width:34px}
  #cta{padding:4.5rem 1.2rem}
  .cta-h{font-size:clamp(2rem,10vw,3.35rem);line-height:1.04}
  .cta-btns{display:grid;grid-template-columns:1fr;width:100%;max-width:420px;margin:0 auto}
  #contact{scroll-margin-top:74px}
  .contact-details{gap:1rem;margin-bottom:1rem}
  .c-item{align-items:flex-start;font-size:.88rem;line-height:1.45}
  .c-icon{width:42px;height:42px}
  .form{gap:1.05rem}
  input,textarea,select{
    min-height:48px;
    font-size:16px;
    padding:.85rem 0;
  }
  textarea{min-height:120px}
  .form-note{line-height:1.5}
  .form-success{padding:2rem 1.25rem}
  footer{padding:4rem 1.2rem calc(6rem + env(safe-area-inset-bottom))}
  .foot-top{
    grid-template-columns:1fr;
    gap:2rem;
    margin-bottom:2.5rem;
    padding-bottom:2.5rem;
  }
  .foot-bottom{align-items:flex-start}
  .mob-bar{
    display:grid;
    min-height:calc(58px + env(safe-area-inset-bottom));
    padding-bottom:env(safe-area-inset-bottom);
    box-shadow:0 -18px 42px rgba(0,0,0,.42);
  }
  .mob-call,.mob-quote{
    min-height:58px;
    padding:.95rem .7rem;
    font-size:.75rem;
    letter-spacing:.1em;
  }
}

@media(max-width:1200px) and (min-width:901px){
  .why-grid,.home-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:560px){
  .logo-sub{display:block;font-size:.41rem;letter-spacing:.12em;max-width:132px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .hero-body{padding-top:clamp(6.5rem,20vh,8.5rem);padding-bottom:1rem}
  .hero-h1{font-size:clamp(1.6rem,8.7vw,2.65rem)}
  .hero-sub{font-size:.9rem}
  .hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-credentials{grid-template-columns:1fr;gap:.9rem}
  .hero-credential{padding:0}
  .credential-label{font-size:.64rem}
  .credential-value{font-size:.96rem;line-height:1.35}
  .why-proof-line,.why-grid,.home-service-grid{grid-template-columns:1fr}
  .why-stage-frame,.why-stage-frame img{min-height:300px}
  .work-visual{min-height:330px;height:360px}
  .work-img{min-height:0}
  .work-visual-copy{bottom:1rem}
  .work-visual-copy strong{font-size:clamp(1.72rem,12vw,2.6rem)}
  .work-visual-copy p{font-size:.84rem;line-height:1.55}
  .work-process{padding:.8rem}
  .work-process::before,.work-process::after{display:none}
  .work-process-top{grid-template-columns:1fr;gap:.55rem}
  .work-list{grid-template-columns:1fr}
  .work-list li{grid-template-columns:58px minmax(0,1fr);gap:.7rem;min-height:0;padding:.9rem}
  .work-list span{width:2.85rem;height:2.85rem;font-size:.72rem}
  .work-list strong{font-size:1.12rem}
  .hstat{padding:0}
  .cap-grid{grid-template-columns:1fr}
  .why-card{padding:1.2rem}
  .why-title{font-size:1.08rem}
  .why-stage-note{font-size:1.18rem}
  .faq-answer{padding-right:0}
  .cap-image{aspect-ratio:1.28/1}
  .svc-list{grid-template-columns:1fr}
  .svc-pill img{height:128px}
  .proj-wheel{display:flex;grid-template-columns:none}
  .svc-card-big .svc-card-img,.proj-card:nth-child(n) .proj-card-img{height:270px}
  .proj-wheel .proj-card{flex-basis:86vw;min-height:310px}
  .proj-wheel .proj-card:nth-child(n) .proj-card-img{height:100%;min-height:inherit}
  .svc-card-sm .svc-card-img{height:235px}
  .section-h,.about-h,.cta-h{font-size:clamp(1.9rem,10vw,2.85rem)}
  .foot-logo-name{font-size:.8rem}
}

@media(max-width:380px){
  nav{padding:0 .8rem}
  .logo-name{font-size:.66rem}
  .logo-sub{font-size:.36rem;max-width:112px}
  .nav-phone{padding:.7rem .85rem;font-size:.66rem}
  .hero-h1{font-size:clamp(1.42rem,8.2vw,2.22rem)}
  .hero-eyebrow{font-size:.52rem}
  .hstat-num{font-size:1.65rem}
  .hstat-lbl{font-size:.5rem}
}

@media(max-width:900px){
  .nav-phone{display:none}
  .mobile-menu-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.55rem;
    min-height:44px;
    padding:.72rem .92rem;
    border:0;
    border-radius:6px;
    background:linear-gradient(135deg,var(--gold-light),var(--gold) 58%,var(--gold-deep));
    color:#090909;
    font-family:var(--font-label);
    font-size:.68rem;
    font-weight:600;
    letter-spacing:.13em;
    cursor:pointer;
    box-shadow:0 16px 40px rgba(201,150,12,.13);
    transform:translateZ(0);
    transition:transform .28s cubic-bezier(.16,1,.3,1),box-shadow .28s ease,filter .28s ease;
  }
  .mobile-menu-btn:hover{transform:translateY(-1px);box-shadow:0 18px 46px rgba(201,150,12,.18)}
  .mobile-menu-btn.is-open{transform:translateY(-1px) scale(.985);filter:saturate(1.06)}
  .mobile-menu-icon{
    display:grid;
    gap:3px;
    width:16px;
  }
  .mobile-menu-icon span{
    display:block;
    height:1.5px;
    background:currentColor;
    border-radius:10px;
    transition:transform .42s cubic-bezier(.16,1,.3,1),opacity .2s ease;
  }
  .mobile-menu-btn.is-open .mobile-menu-icon span:nth-child(1){transform:translateY(4.5px) rotate(45deg)}
  .mobile-menu-btn.is-open .mobile-menu-icon span:nth-child(2){opacity:0}
  .mobile-menu-btn.is-open .mobile-menu-icon span:nth-child(3){transform:translateY(-4.5px) rotate(-45deg)}
  .mobile-menu-panel{
    position:fixed;
    top:calc(64px + .75rem);
    left:clamp(.85rem,4vw,1.4rem);
    right:clamp(.85rem,4vw,1.4rem);
    z-index:590;
    display:flex;
    flex-direction:column;
    gap:.28rem;
    padding:.75rem;
    background:
      linear-gradient(135deg,rgba(232,176,32,.12),transparent 36%),
      linear-gradient(180deg,rgba(18,18,16,.98),rgba(6,6,6,.98));
    border:1px solid rgba(232,176,32,.34);
    border-radius:12px;
    box-shadow:0 28px 80px rgba(0,0,0,.62),inset 0 1px 0 rgba(255,255,255,.06);
    backdrop-filter:blur(22px);
    opacity:0;
    transform:translate3d(0,-18px,0) scale(.94);
    transform-origin:top right;
    clip-path:inset(0 0 100% 0 round 12px);
    filter:blur(10px) saturate(.9);
    pointer-events:none;
    will-change:transform,opacity,clip-path,filter;
    transition:
      transform .56s cubic-bezier(.16,1,.3,1),
      opacity .26s ease-out,
      clip-path .58s cubic-bezier(.16,1,.3,1),
      filter .42s ease-out;
  }
  .mobile-menu-panel.open{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    clip-path:inset(0 0 0 0 round 12px);
    filter:blur(0) saturate(1);
    pointer-events:auto;
  }
  .mobile-menu-panel a{
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:.95rem 1rem;
    color:var(--white)!important;
    text-decoration:none;
    font-family:var(--font-label);
    font-size:.76rem;
    font-weight:600;
    letter-spacing:.14em;
    text-transform:uppercase;
    border-bottom:1px solid rgba(255,255,255,.07);
    border-radius:8px;
    background:rgba(255,255,255,.028);
    opacity:0;
    transform:translate3d(0,-12px,0) scale(.975);
    transition:
      opacity .28s ease-out,
      transform .5s cubic-bezier(.16,1,.3,1),
      background .22s ease,
      color .22s ease;
  }
  .mobile-menu-panel.open a{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
  }
  .mobile-menu-panel.open a:nth-child(1){transition-delay:.07s}
  .mobile-menu-panel.open a:nth-child(2){transition-delay:.105s}
  .mobile-menu-panel.open a:nth-child(3){transition-delay:.14s}
  .mobile-menu-panel.open a:nth-child(4){transition-delay:.175s}
  .mobile-menu-panel.open a:nth-child(5){transition-delay:.21s}
  .mobile-menu-panel.open a:nth-child(6){transition-delay:.245s}
  .mobile-menu-panel:not(.open) a{transition-delay:0s}
  .mobile-menu-panel a:hover{background:rgba(201,150,12,.12);color:var(--gold-light)!important}
  .mobile-menu-panel a:last-child{border-bottom:0}
  .mobile-menu-panel a::after{content:'+';color:var(--gold);font-family:var(--font-body);font-size:.9rem}
  .mobile-menu-panel .mobile-menu-quote{
    margin-top:.45rem;
    background:linear-gradient(135deg,var(--gold-light),var(--gold) 58%,var(--gold-deep));
    color:#090909;
    border-bottom:0;
    border-radius:8px;
    justify-content:center;
  }
  .mobile-menu-panel .mobile-menu-quote::after{content:''}
}

@media(max-width:380px){
  .mobile-menu-btn{padding:.7rem .82rem;font-size:.64rem}
  .mobile-menu-panel{left:.8rem;right:.8rem}
}

@media(max-width:900px) and (prefers-reduced-motion:reduce){
  .mobile-menu-panel,
  .mobile-menu-panel a,
  .mobile-menu-icon span{
    transition-duration:.001ms!important;
  }
}

/* Homepage services */
body:not(.subpage) #services.home-services{
  display:block!important;
  position:relative;
  z-index:2;
  min-height:0;
  padding:clamp(2.9rem,3.8vw,4.15rem) 5vw!important;
  overflow:visible;
  background:
    radial-gradient(circle at 20% 12%,rgba(201,150,12,.14),transparent 34%),
    radial-gradient(circle at 84% 72%,rgba(232,176,32,.09),transparent 32%),
    linear-gradient(180deg,#080808 0%,#0d0b07 54%,#070707 100%)!important;
  border-top:1px solid rgba(232,176,32,.24);
  border-bottom:1px solid rgba(232,176,32,.2);
}
body:not(.subpage) #services.home-services::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:160px 160px;
  opacity:.26;
  mask-image:linear-gradient(to bottom,transparent,black 16%,black 84%,transparent);
}
body:not(.subpage) #services.home-services .home-services-head{
  display:grid!important;
}
body:not(.subpage) #services.home-services .home-service-grid{
  display:flex!important;
}
body:not(.subpage) #services.home-services .home-services-action{
  display:flex!important;
}
@media(max-width:900px){
  body:not(.subpage) #services.home-services{
    padding:3.3rem 1.2rem!important;
  }
  body:not(.subpage) #services.home-services .home-services-action{
    display:grid!important;
    grid-template-columns:1fr;
  }
}

/* Separate page layout */
.page-hero{
  position:relative;
  z-index:2;
  padding:9rem 5vw 4rem;
  background:
    linear-gradient(135deg,rgba(201,150,12,.12),transparent 34%),
    linear-gradient(to bottom,var(--dark),var(--black));
  border-bottom:1px solid var(--border);
}
.page-hero-inner{max-width:980px}
.page-kicker{
  display:inline-block;
  font-family:var(--font-label);
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
  padding-bottom:.55rem;
  border-bottom:1px solid var(--gold);
  margin-bottom:1.35rem;
}
.page-title{
  font-family:var(--font-hero);
  font-size:clamp(2.5rem,5vw,5.4rem);
  line-height:.92;
  text-transform:uppercase;
  letter-spacing:.01em;
  max-width:900px;
  margin-bottom:1.2rem;
}
.page-title span{
  color:transparent;
  -webkit-text-stroke:1.15px var(--gold-light);
  text-stroke:1.15px var(--gold-light);
}
.page-copy{
  max-width:620px;
  color:#aaa;
  font-size:1rem;
  line-height:1.8;
}
body.subpage #services,
body.subpage #about,
body.subpage #projects,
body.subpage #contact{
  padding-top:clamp(2.8rem,4.2vw,4rem);
  scroll-margin-top:86px;
}
body.subpage .nav-links a.active{color:var(--white)}
@media(max-width:900px){
  .page-hero{padding:7rem 1.2rem 3rem}
  .page-title{font-size:clamp(2rem,9vw,3.5rem)}
  .page-copy{font-size:.94rem;line-height:1.75}
  .service-section-head{
    grid-template-columns:1fr;
    gap:1.1rem;
  }
  .service-section-copy{
    max-width:none;
  }
}

/* Responsive hardening: keeps the desktop design intact while improving phones/tablets. */
main,
header,
section,
footer,
nav{
  max-width:100%;
}

.btn-gold,
.btn-outline,
.btn-dark,
.nav-phone,
.form-submit,
.mobile-menu-btn,
.mobile-menu-panel a,
.mob-call,
.mob-quote,
.svc-more-link,
.c-link{
  min-height:44px;
}

input,
select,
textarea,
.custom-select-trigger,
.custom-select-option{
  min-height:48px;
}

.home-service-grid,
.proj-wheel{
  max-width:100vw;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
}

.home-service-card,
.proj-wheel .proj-card{
  scroll-snap-align:start;
}

.form-success{
  min-height:11rem;
  align-items:center;
  justify-content:center;
}

@media(max-width:1280px) and (min-width:1025px){
  nav{padding-inline:3.6vw}
  .nav-links{gap:clamp(1.25rem,2.1vw,2rem)}
  .nav-phone{padding:.78rem 1.2rem}
  .hero-h1{font-size:clamp(3rem,6.1vw,5.6rem)}
  .section-h{font-size:clamp(3rem,6vw,5.2rem)}
  .why-hero{gap:clamp(2rem,4vw,4rem)}
  .why-difference-head strong{font-size:clamp(1.65rem,2.6vw,2.5rem)}
  .contact-grid{gap:clamp(4rem,6vw,6.5rem)}
}

@media(max-width:1024px) and (min-width:901px){
  nav{padding-inline:3vw}
  .nav-links{gap:1.15rem}
  .nav-links a{font-size:.76rem}
  .nav-phone{padding:.72rem 1rem;font-size:.68rem}
  .hero{min-height:760px}
  .hero-h1{font-size:clamp(3rem,6.6vw,4.65rem)}
  .section-h,
  .about-h{font-size:clamp(2.7rem,6.2vw,4.35rem)}
  .why-difference-head strong{
    font-size:clamp(1.45rem,3.2vw,2.15rem);
    line-height:.96;
  }
  .home-service-card{flex-basis:clamp(260px,31vw,320px)}
  .proj-wheel .proj-card{flex-basis:min(44vw,500px)}
  .contact-grid{gap:3.8rem}
  .faq-layout{grid-template-columns:minmax(360px,.42fr) minmax(0,.58fr);gap:2.5rem}
}

@media(max-width:900px){
  body{padding-inline:0}
  .lux-spotlight{display:none}
  .hero{min-height:100svh;justify-content:flex-end}
  #mainContent.hero,
  .hero{
    padding-left:0!important;
    padding-right:0!important;
  }
  .hero-body{
    width:100%;
    padding-inline:clamp(1rem,4vw,1.4rem);
  }
  .hero-h1{
    max-width:100%;
    font-size:clamp(2rem,9vw,3.25rem);
    line-height:1.02;
    overflow-wrap:normal;
  }
  .hero-h1 span{
    max-width:100%;
  }
  .hero-sub{
    max-width:38rem;
    font-size:clamp(.9rem,3.5vw,1rem);
    line-height:1.62;
  }
  .hero-btns{
    display:grid;
    grid-template-columns:1fr;
    gap:.78rem;
    width:min(100%,28rem);
  }
  .hero-btns .btn-gold,
  .hero-btns .btn-outline,
  .why-actions .btn-gold,
  .why-actions .btn-outline,
  .cta-actions .btn-gold,
  .cta-actions .btn-outline{
    width:100%;
    justify-content:center;
    text-align:center;
  }
  .hero-credentials{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem;
    width:100%;
  }
  .hero-credential{max-width:none}
  .ticker,
  .ticker2{
    max-width:100vw;
    overflow:hidden;
  }
  .home-service-grid,
  .proj-wheel{
    margin-inline:calc(-1 * clamp(1rem,4vw,1.2rem));
    padding-inline:clamp(1rem,4vw,1.2rem);
    padding-bottom:1.15rem;
    scroll-padding-inline:clamp(1rem,4vw,1.2rem);
    scrollbar-width:auto;
    touch-action:pan-x pan-y;
  }
  .home-service-grid::-webkit-scrollbar,
  .proj-wheel::-webkit-scrollbar{height:30px}
  .home-service-grid::-webkit-scrollbar-track,
  .proj-wheel::-webkit-scrollbar-track{border-block:8px solid transparent}
  .home-service-grid::-webkit-scrollbar-thumb,
  .proj-wheel::-webkit-scrollbar-thumb{border-block:8px solid transparent}
  .home-service-card{flex:0 0 min(82vw,360px)}
  .proj-wheel .proj-card{
    flex-basis:min(82vw,430px);
    min-height:clamp(315px,80vw,430px);
  }
  .svc-card:hover .svc-card-img,
  .proj-card:hover .proj-card-img,
  .about-img-wrap:hover .about-img,
  .home-service-card:hover img,
  .work-photo:hover .work-img{
    transform:none;
  }
  .custom-select-menu{
    max-height:min(58vh,430px);
    overscroll-behavior:contain;
  }
  .form-row{grid-template-columns:1fr}
  input,
  textarea,
  select{font-size:16px}
  textarea{min-height:116px}
  .form-note{line-height:1.5}
  .faq-item summary{
    min-height:60px;
    grid-template-columns:minmax(0,1fr) 34px;
    align-items:center;
  }
  .faq-item summary::after{
    min-width:34px;
    min-height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .mobile-menu-panel{
    max-height:calc(100dvh - 5.7rem - env(safe-area-inset-bottom));
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .mobile-menu-panel .mobile-menu-quote{
    min-height:52px;
  }
  .foot-top{
    gap:2.35rem;
  }
}

@media(max-width:768px){
  #services,
  #about,
  #projects,
  #testimonials,
  #how-work,
  #faq,
  #cta,
  #contact,
  .why-hero{
    padding-left:clamp(1rem,4vw,1.2rem);
    padding-right:clamp(1rem,4vw,1.2rem);
  }
  .section-h,
  .about-h{
    font-size:clamp(2.15rem,10vw,3.4rem);
    line-height:.94;
  }
  .hero-credentials{
    margin-top:1.35rem;
    padding-top:1.1rem;
  }
  .home-service-grid,
  .proj-wheel{
    margin-inline:-1rem;
    padding-inline:1rem;
  }
  .why-difference-head strong{
    font-size:clamp(1.55rem,8vw,2.6rem);
    line-height:.94;
  }
  .work-board{
    gap:1.1rem;
  }
  .work-list li{
    align-items:center;
  }
  .contact-prep{margin-top:1.35rem}
  .form-success{min-height:10rem;padding:1.5rem 1rem}
  .foot-logo-img{height:98px}
}

@media(max-width:430px){
  .hero{
    min-height:100svh;
    padding-top:64px;
    padding-left:0!important;
    padding-right:0!important;
  }
  nav{padding-inline:.9rem 1rem}
  .mobile-menu-btn{
    padding:.68rem .78rem;
    font-size:.6rem;
    gap:.45rem;
  }
  .hero-body{
    padding-top:clamp(6.25rem,20vh,8rem);
    padding-bottom:1rem;
  }
  .hero-eyebrow{
    gap:.35rem;
    font-size:.58rem;
    letter-spacing:.16em;
    flex-wrap:wrap;
    margin-bottom:1.05rem;
  }
  .hero-h1{
    font-size:clamp(1.85rem,8.4vw,2.35rem);
    margin-bottom:1rem;
  }
  .hero-h1 .hero-outline{
    -webkit-text-stroke:.78px var(--gold-light);
    text-stroke:.78px var(--gold-light);
  }
  .hero-sub{margin-bottom:1.25rem}
  .hero-credentials{
    grid-template-columns:1fr;
  }
  .credential-label{font-size:.66rem}
  .credential-value{font-size:.98rem}
  .btn-gold,
  .btn-outline,
  .btn-dark,
  .form-submit,
  .svc-more-link{
    width:100%;
    justify-content:center;
    text-align:center;
    white-space:normal;
  }
  .home-service-card,
  .proj-wheel .proj-card{
    flex-basis:min(88vw,360px);
  }
  .proj-wheel .proj-card{
    min-height:310px;
  }
  .home-service-icon{
    width:40px;
    height:40px;
  }
  .why-proof-line span,
  .why-check-list li{
    padding:1rem;
  }
  .why-check-list li{
    grid-template-columns:42px minmax(0,1fr);
    gap:.78rem;
  }
  .why-check-list li span{
    width:36px;
    height:36px;
  }
  .work-list li{
    grid-template-columns:54px minmax(0,1fr);
    gap:.72rem;
  }
  .work-list span{
    width:3.2rem;
    height:3.2rem;
  }
  .contact-details .c-item{
    align-items:flex-start;
  }
  .c-item{
    overflow-wrap:anywhere;
  }
  .foot-social{
    gap:.7rem;
    flex-wrap:wrap;
  }
}

@media(max-width:390px){
  .section-h,
  .about-h{
    font-size:clamp(1.95rem,10.5vw,2.7rem);
  }
  .hero-h1{font-size:clamp(1.72rem,8vw,2rem)}
  .home-service-card,
  .proj-wheel .proj-card{
    flex-basis:89vw;
  }
  .proj-info{padding:1rem}
}

@media(max-width:375px){
  .brand-logo-img{width:88px;height:46px}
  .mobile-menu-btn{
    padding:.66rem .72rem;
    font-size:.58rem;
    letter-spacing:.15em;
  }
  .hero-eyebrow{font-size:.54rem}
  .home-service-card p,
  .proj-head-right,
  .why-lead,
  .contact-sub,
  .page-copy{
    font-size:.88rem;
  }
}

@media(max-width:340px){
  .hero-h1{font-size:1.72rem}
  .section-h,
  .about-h{font-size:1.82rem}
  .btn-gold,
  .btn-outline,
  .btn-dark,
  .form-submit,
  .svc-more-link{
    font-size:.64rem;
    letter-spacing:.09em;
    padding-inline:.9rem;
  }
  .work-list strong{font-size:1rem}
  .work-list p{font-size:.78rem}
  .mobile-menu-panel{left:.65rem;right:.65rem}
}

@media(max-width:900px),(hover:none){
  .project-cinema .proj-card:hover,
  .home-service-card:hover,
  .work-list li:hover{
    transform:none;
  }
}

/* Final mobile nav guard: prevents the logo/menu pair from pushing off-screen. */
@media(max-width:900px){
  nav{
    width:100%;
    height:64px;
    padding-inline:clamp(.8rem,4vw,1.1rem)!important;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    column-gap:.75rem;
  }
  .nav-logo{min-width:0;width:max-content}
  .brand-logo-img{width:92px;height:48px;transform:scale(1.12)}
  .mobile-menu-btn{justify-self:end;max-width:7.5rem;white-space:nowrap}
}

@media(max-width:430px){
  .brand-logo-img{width:84px;height:44px;transform:scale(1.08)}
  .mobile-menu-btn{padding:.64rem .72rem;font-size:.58rem;gap:.4rem}
  .mobile-menu-icon{width:14px}
}

/* Final small-screen guard: keep the menu button inside the viewport and avoid cramped hero proof copy. */
@media(max-width:900px){
  nav{
    width:auto!important;
    overflow:visible;
  }
  .nav-logo{
    max-width:calc(100vw - 8.6rem);
    padding-right:.4rem;
  }
  .mobile-menu-btn{
    display:inline-flex!important;
    position:relative!important;
    top:auto!important;
    right:auto!important;
    justify-self:end;
    width:48px!important;
    min-width:48px!important;
    max-width:48px!important;
    height:44px!important;
    padding:0!important;
    gap:0;
    font-size:0!important;
    letter-spacing:0;
    background:linear-gradient(135deg,var(--gold-light),var(--gold) 58%,var(--gold-deep))!important;
    transform:none;
    z-index:700;
  }
  .mobile-menu-icon{width:18px}
  .mobile-menu-btn:hover{transform:translateY(-1px)}
  .mobile-menu-btn.is-open{transform:translateY(-1px) scale(.985)}
}

@media(max-width:900px){
  .mobile-menu-btn:hover,
  .mobile-menu-btn.is-open{
    transform:none!important;
  }

  .mobile-menu-panel{
    position:fixed!important;
    top:72px!important;
    left:clamp(.75rem,4vw,1rem)!important;
    right:clamp(.75rem,4vw,1rem)!important;
    bottom:auto!important;
    width:auto!important;
    min-height:0!important;
    height:auto!important;
    max-height:76dvh!important;
    padding:.75rem!important;
    border:1px solid rgba(232,176,32,.34)!important;
    border-radius:12px!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    transform-origin:top center!important;
    transform:translate3d(0,-10px,0) scale(.98)!important;
    clip-path:inset(0 0 100% 0 round 12px)!important;
  }

  .mobile-menu-panel.open{
    transform:translate3d(0,0,0) scale(1)!important;
    clip-path:inset(0 0 0 0 round 12px)!important;
  }

  .mobile-menu-panel a{
    min-height:48px!important;
    flex:0 0 auto!important;
  }
}

@media(max-width:560px){
  .hero-credentials{grid-template-columns:1fr}
  .hero-credential{
    width:100%;
    max-width:none;
  }
  .credential-label,
  .credential-value{
    display:block;
    max-width:100%;
    white-space:normal;
    overflow-wrap:break-word;
  }
}

/* Contact list alignment */
.contact-details{
  gap:.7rem;
}
.c-item{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  align-items:center;
  gap:.85rem;
  min-height:44px;
  line-height:1.25;
}
.c-icon{
  width:44px;
  height:44px;
  align-self:center;
  justify-self:center;
}
.c-item .c-link,
.c-item span{
  display:flex;
  align-items:center;
  min-height:44px;
  min-width:0;
  overflow-wrap:anywhere;
}
footer .foot-contact{
  display:flex;
  flex-direction:column;
  gap:.68rem;
  margin:0;
  padding:0;
}
footer .foot-contact li{
  position:relative;
  display:flex;
  align-items:center;
  min-height:32px;
  padding-left:30px;
  line-height:1.25;
}
footer .foot-contact svg{
  position:absolute;
  left:0;
  top:50%;
  display:block;
  width:16px;
  height:16px;
  transform:translateY(-50%);
  margin:0;
}
footer .foot-contact a,
footer .foot-contact span{
  display:flex;
  align-items:center;
  min-height:32px;
  min-width:0;
  margin:0;
  padding:0;
  line-height:1.25;
  overflow-wrap:anywhere;
}

/* Final form and contact refinements */
.custom-select.is-multi .custom-select-menu{
  max-height:min(380px,55vh);
}
.custom-select.is-multi .custom-select-option::after{
  width:14px;
  height:14px;
  border-radius:4px;
  transform:none;
  opacity:.62;
}
.custom-select.is-multi .custom-select-option.is-selected::after{
  background:var(--gold);
  border-color:var(--gold-light);
  opacity:1;
}
.custom-select.is-multi .custom-select-option.is-selected::before{
  content:'';
  position:absolute;
  right:1.02rem;
  top:50%;
  width:7px;
  height:4px;
  border-left:1.5px solid #080808;
  border-bottom:1.5px solid #080808;
  transform:translateY(-62%) rotate(-45deg);
  z-index:2;
}
.contact-details{
  display:flex;
  flex-direction:column;
  gap:.78rem;
  margin:0;
  padding:0;
}
.contact-details .c-item{
  position:relative;
  display:flex;
  align-items:center;
  min-height:50px;
  padding-left:62px;
  gap:0;
  line-height:1.25;
}
.contact-details .c-icon{
  position:absolute;
  left:0;
  top:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  transform:translateY(-50%);
  margin:0;
}
.contact-details .c-link,
.contact-details .c-item span{
  display:flex;
  align-items:center;
  min-height:44px;
  min-width:0;
  margin:0;
  padding:0;
  line-height:1.25;
  overflow-wrap:anywhere;
}

/* Latest annotation refinements */
.hero-h1 .hero-outline{
  -webkit-text-stroke:0 !important;
  text-stroke:0 !important;
  color:transparent !important;
  background:linear-gradient(105deg,#9d6b00 0%,#e0aa18 28%,#fff0a3 46%,#b98504 64%,#ffd76a 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 12px rgba(232,176,32,.36));
  text-shadow:none;
}
.proj-head-actions[aria-hidden="true"]{
  display:none;
}
.proj-bottom-action{
  width:100%;
  max-width:calc(var(--max) + 10vw);
  margin:1.35rem auto 0;
  padding:0 5vw;
  display:flex;
  justify-content:flex-end;
}
.proj-bottom-action .proj-all-btn{
  min-width:260px;
  justify-content:center;
}
.why-lead{
  max-width:50rem;
}
.why-check-list li{
  min-height:150px;
  grid-template-columns:56px minmax(0,1fr);
  align-content:center;
  gap:.8rem 1.15rem;
}
.why-check-list .why-emoji{
  width:44px;
  height:44px;
}
.work-list span{
  font-size:1.22rem;
}
body:not(.subpage) #mainNav:not(.scrolled) .nav-links a{
  color:rgba(255,255,255,.9);
  text-shadow:0 1px 12px rgba(255,255,255,.18),0 0 18px rgba(232,176,32,.08);
}
body:not(.subpage) #mainNav:not(.scrolled) .nav-links a.active{
  color:#fff;
  text-shadow:0 0 18px rgba(255,255,255,.24);
}
.custom-select.is-multi .custom-select-option{
  grid-template-columns:30px minmax(0,1fr) 20px;
  padding-right:.95rem;
}
.custom-select.is-multi .custom-select-option::after{
  width:16px;
  height:16px;
  border-radius:4px;
  transform:none;
}
.custom-select.is-multi .custom-select-option.is-selected::before{
  content:"";
  position:absolute;
  right:1.18rem;
  top:50%;
  z-index:3;
  width:5px;
  height:9px;
  border-right:2px solid #111;
  border-bottom:2px solid #111;
  border-left:0;
  transform:translateY(-58%) rotate(45deg);
}
@media(max-width:760px){
  .proj-bottom-action{
    justify-content:stretch;
  }
  .proj-bottom-action .proj-all-btn{
    width:100%;
    min-width:0;
  }
}
/* Final contact alignment override: footer and contact blocks */
footer .foot-contact {
  display: grid;
  gap: 0.9rem;
}

footer .foot-contact li {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  column-gap: 0.75rem;
  min-height: 24px;
  color: var(--grey);
}

footer .foot-contact svg {
  grid-column: 1;
  justify-self: center;
  align-self: center;
  width: 16px;
  height: 16px;
  margin: 0;
  transform: none;
  color: var(--gold);
}

footer .foot-contact a,
footer .foot-contact span {
  grid-column: 2;
  align-self: center;
  display: block;
  line-height: 1.25;
  margin: 0;
  padding: 0;
  overflow-wrap: anywhere;
}

.contact-details .c-item,
body.subpage .contact-details .c-item {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  align-items: center;
  column-gap: 1rem;
}

.contact-details .c-icon,
body.subpage .contact-details .c-icon {
  position: static;
  grid-column: 1;
  justify-self: center;
  align-self: center;
  transform: none;
  margin: 0;
}

.contact-details .c-link,
.contact-details .c-item span,
body.subpage .contact-details .c-link,
body.subpage .contact-details .c-item span {
  grid-column: 2;
  align-self: center;
  min-height: 0;
  display: block;
  line-height: 1.25;
}

/* Annotation fixes */
footer .foot-contact {
  display: grid !important;
  gap: 0.72rem !important;
}

footer .foot-contact li {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 0.82rem !important;
  min-height: 28px !important;
  padding: 0 !important;
}

footer .foot-contact svg {
  position: static !important;
  grid-column: 1 !important;
  justify-self: center !important;
  align-self: center !important;
  width: 15px !important;
  height: 15px !important;
  transform: none !important;
}

footer .foot-contact a,
footer .foot-contact span {
  grid-column: 2 !important;
  align-self: center !important;
  min-height: 0 !important;
  display: block !important;
  line-height: 1.22 !important;
}

.custom-select.is-multi .custom-select-option.is-selected::before {
  content: none !important;
  display: none !important;
}

.why-check-list {
  gap: 0.62rem;
}

.why-check-list li {
  min-height: 0 !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  align-items: center !important;
  align-content: center !important;
  gap: 0.45rem 0.9rem !important;
  padding: 0.86rem 0.95rem !important;
}

.why-check-list .why-emoji,
.why-check-list li span {
  width: 36px !important;
  height: 36px !important;
  border-radius: 9px !important;
  font-size: 1rem !important;
}

.why-check-list small {
  margin-top: 0.12rem !important;
  line-height: 1.42 !important;
}

#projects {
  padding-bottom: 2.6rem !important;
}

.proj-wheel {
  padding-bottom: 1.1rem !important;
}

.proj-bottom-action {
  margin: 0.8rem auto 0 !important;
  padding: 0 5vw !important;
}

.proj-bottom-action .proj-all-btn {
  min-height: 50px;
  padding: 0.95rem 1.35rem;
  border: 1px solid rgba(232,176,32,.72);
  border-radius: 6px;
  background: linear-gradient(135deg,var(--gold-light),var(--gold) 58%,var(--gold-deep));
  color: #070707 !important;
  -webkit-text-fill-color: #070707 !important;
  font-weight: 900;
  box-shadow: 0 14px 42px rgba(201,150,12,.2), inset 0 1px 0 rgba(255,255,255,.3);
}

.work-list {
  grid-template-rows: repeat(4,minmax(142px,auto)) !important;
  height: auto !important;
}

.work-list li {
  min-height: 142px !important;
  align-items: start !important;
  padding: 1rem 1.1rem !important;
}

.work-list p {
  line-height: 1.5 !important;
}

@media(max-width:760px) {
  #projects {
    padding-bottom: 2.2rem !important;
  }

  .proj-bottom-action {
    padding-inline: 0 !important;
  }

  .work-list {
    grid-template-rows: none !important;
  }

  .test-carousel {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .test-controls {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) 44px !important;
    align-items: center !important;
    gap: .55rem !important;
    margin-top: 1.65rem !important;
  }

  .test-btn {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    justify-self: center !important;
  }

  .test-dots {
    min-width: 0 !important;
    width: 100% !important;
    justify-content: center !important;
    gap: .28rem !important;
    overflow: hidden !important;
  }

  .test-dot {
    width: 7px !important;
    height: 7px !important;
    flex: 0 0 7px !important;
    border-radius: 999px !important;
  }

  .test-dot.active {
    width: 18px !important;
    flex-basis: 18px !important;
  }
}

/* Latest annotation fixes */
.contact-details,
body.subpage .contact-details {
  align-items: flex-start !important;
  width: 100% !important;
  max-width: 430px !important;
  margin-left: 0 !important;
}

.contact-details .c-item,
body.subpage .contact-details .c-item {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  column-gap: 1.05rem !important;
  align-items: center !important;
  min-height: 54px !important;
  padding-left: 0 !important;
}

.contact-details .c-icon,
body.subpage .contact-details .c-icon {
  position: static !important;
  grid-column: 1 !important;
  transform: none !important;
}

/* Use the full Why Us width instead of leaving an empty second column. */
@media(min-width:1101px) {
  #why.why-proof-system {
    display: block;
  }

  #why .why-copy-block {
    display: grid;
    grid-template-columns: minmax(320px,.83fr) minmax(560px,1.17fr);
    grid-template-rows: auto auto auto auto;
    column-gap: clamp(2.5rem,4.6vw,5.5rem);
    align-items: start;
  }

  #why .why-copy-block > .eyebrow {
    grid-column: 1;
    grid-row: 1;
  }

  #why .why-copy-block > .section-h {
    grid-column: 1;
    grid-row: 2;
  }

  #why .why-copy-block > .why-lead {
    grid-column: 1;
    grid-row: 3;
  }

  #why .why-copy-block > .why-actions {
    grid-column: 1;
    grid-row: 4;
    margin-top: clamp(1.65rem,2.4vw,2.2rem);
  }

  #why .why-proof-stats {
    grid-column: 2;
    grid-row: 2 / span 3;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: clamp(.68rem,1vw,.9rem);
    align-self: start;
    margin: 0;
  }

  #why .why-proof-stats span {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: clamp(128px,9.4vw,152px);
  }
}

@media(min-width:901px) and (max-width:1100px) {
  #why.why-proof-system {
    grid-template-columns: 1fr;
  }

  #why .why-proof-stats {
    max-width: 760px;
    margin: clamp(1.6rem,3vw,2rem) 0;
  }
}
