:root{
  --black:#080808;
  --black-2:#111111;
  --black-3:#181818;
  --white:#f4f1ea;
  --muted:#aaa69d;
  --gold:#caa344;
  --gold-2:#e0bf66;
  --line:rgba(255,255,255,.16);
  --line-dark:rgba(8,8,8,.14);
  --pad:clamp(22px,5vw,78px);
  --radius:2px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--white);
  color:var(--black);
  font-family:"Manrope",sans-serif;
  overflow-x:hidden;
}
body.menu-open{overflow:hidden}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
button{font:inherit}
::selection{background:var(--gold);color:#000}

.page-loader{
  position:fixed;inset:0;z-index:9999;
  background:var(--black);color:var(--white);
  display:grid;place-items:center;overflow:hidden;
}
.page-loader__brand{display:flex;flex-direction:column;align-items:center;gap:8px;letter-spacing:.12em}
.page-loader__brand span{font:800 clamp(38px,7vw,92px)/.85 "Barlow Condensed",sans-serif}
.page-loader__brand small{font-size:10px;color:var(--gold);letter-spacing:.34em}
.page-loader__line{
  position:absolute;left:0;bottom:0;height:3px;width:0;
  background:var(--gold);
}

.site-header{
  position:absolute;z-index:80;top:0;left:0;width:100%;
  height:92px;padding:0 var(--pad);
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  color:var(--white);
}
.brand{display:inline-flex;flex-direction:column;width:max-content}
.brand__main{font:900 29px/.83 "Barlow Condensed",sans-serif;letter-spacing:.035em}
.brand__sub{font-size:7px;letter-spacing:.27em;color:var(--gold);margin-top:8px}
.desktop-nav{display:flex;gap:34px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.desktop-nav a{position:relative}
.desktop-nav a:after{content:"";position:absolute;left:0;bottom:-8px;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:.35s}
.desktop-nav a:hover:after{transform:scaleX(1);transform-origin:left}
.header-cta{justify-self:end;display:inline-flex;align-items:center;gap:18px;font-size:11px;font-weight:800;letter-spacing:.1em}
.header-cta svg{width:35px;height:35px;padding:9px;border:1px solid rgba(255,255,255,.5);border-radius:50%;fill:none;stroke:currentColor;stroke-width:1.4}
.menu-toggle{display:none;background:none;border:0;color:white;padding:10px}
.menu-toggle span{display:block;width:28px;height:1px;background:currentColor;margin:7px 0;transition:.3s}

.mobile-menu{
  position:fixed;z-index:70;inset:0;background:var(--black);
  color:var(--white);display:flex;flex-direction:column;justify-content:center;
  padding:100px 28px 35px;transform:translateY(-100%);visibility:hidden;
}
.mobile-menu nav{display:flex;flex-direction:column}
.mobile-menu nav a{font:800 clamp(48px,14vw,78px)/1 "Barlow Condensed";text-transform:uppercase;border-bottom:1px solid var(--line);padding:8px 0}
.mobile-menu__bottom{margin-top:auto;display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--muted)}

.hero{
  position:relative;min-height:100svh;background:var(--black);color:var(--white);
  overflow:hidden;padding:160px var(--pad) 70px;
}
.hero:before{
  content:"";position:absolute;inset:0;
  background:
  radial-gradient(circle at 72% 28%,rgba(202,163,68,.12),transparent 28%),
  linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px),
  linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:auto,120px 120px,120px 120px;
  opacity:.55;
}
.hero__giant{
  position:absolute;left:-2vw;bottom:-8vh;z-index:0;
  font:900 clamp(220px,36vw,620px)/.7 "Barlow Condensed",sans-serif;
  color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.06);
  white-space:nowrap;letter-spacing:-.05em;
}
.hero__copy{position:relative;z-index:5;width:min(760px,60vw)}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:.22em;color:var(--gold);text-transform:uppercase}
.hero-title{margin:20px 0 24px;font:800 clamp(68px,8.7vw,150px)/.76 "Barlow Condensed",sans-serif;letter-spacing:-.035em;text-transform:uppercase}
.hero-title__line{display:block;white-space:nowrap}
.hero-title__accent{color:var(--gold)}
.hero-intro{width:min(520px,75%);font-size:14px;line-height:1.8;color:#c7c4bd}
.hero-actions{display:flex;align-items:center;gap:30px;margin-top:35px}
.btn{
  display:inline-flex;align-items:center;justify-content:space-between;gap:32px;
  min-height:58px;padding:0 20px 0 24px;border:1px solid transparent;
  font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  transition:transform .3s,background .3s,color .3s;
}
.btn--gold{background:var(--gold);color:#080808}
.btn--gold:hover{background:var(--gold-2);transform:translateY(-3px)}
.btn__arrow{display:grid;place-items:center;width:31px;height:31px;border:1px solid rgba(0,0,0,.45);border-radius:50%;font-size:15px}
.text-link{font-size:10px;font-weight:800;letter-spacing:.14em;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:7px}
.text-link span{color:var(--gold);padding-left:7px}

.hero-card{position:absolute;z-index:3;margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.11);box-shadow:0 18px 50px rgba(0,0,0,.35)}
.hero-card img{filter:saturate(.6) contrast(1.08)}
.hero-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.48))}
.hero-card--one{width:22vw;height:30vw;right:9vw;top:13vh;transform:rotate(2deg)}
.hero-card--two{width:15vw;height:21vw;right:0;bottom:6vh;transform:rotate(-2deg)}
.hero-card--three{width:17vw;height:12vw;left:53vw;bottom:7vh;transform:rotate(1deg)}
.hero-scroll{position:absolute;z-index:4;right:var(--pad);bottom:28px;display:flex;align-items:center;gap:11px;font-size:8px;letter-spacing:.2em}
.hero-scroll i{display:block;width:42px;height:1px;background:var(--gold);position:relative;overflow:hidden}

.intro-strip{
  padding:18px var(--pad);display:flex;gap:22px;align-items:center;white-space:nowrap;overflow:hidden;
  border-bottom:1px solid var(--line-dark);font:700 11px/1 "Barlow Condensed";letter-spacing:.13em;
}
.intro-strip span{color:var(--gold)}

.section-shell{padding:clamp(90px,11vw,165px) var(--pad)}
.section-kicker{display:flex;align-items:center;gap:18px;margin-bottom:70px}
.section-kicker span{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line-dark);border-radius:50%;font-size:9px;color:#6f6b63}
.section-kicker p{margin:0;font-size:10px;font-weight:800;letter-spacing:.18em}
.section-kicker--dark span{border-color:var(--line);color:#bbb}
.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(50px,8vw,140px);align-items:start}
.display-title{margin:0;font:800 clamp(60px,7.5vw,128px)/.82 "Barlow Condensed";letter-spacing:-.04em;text-transform:uppercase}
.display-title em{font-style:normal;color:var(--gold)}
.body-copy{max-width:590px;margin:35px 0 0;font-size:14px;line-height:1.9;color:#5d5a54}
.circle-link{margin-top:45px;width:116px;height:116px;border:1px solid #b2aea6;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:9px;font-size:9px;font-weight:800;letter-spacing:.12em;transition:.35s}
.circle-link b{color:var(--gold);font-size:18px}
.circle-link:hover{background:var(--black);color:white;border-color:var(--black);transform:rotate(-8deg)}
.about-visual{position:relative;height:min(700px,67vw);margin-top:14px;overflow:visible}
.about-visual>img{filter:saturate(.65)}
.number-card{
  position:absolute;left:-72px;bottom:-35px;width:210px;background:var(--black);color:white;padding:30px;
  display:flex;flex-direction:column;gap:8px;
}
.number-card strong{font:800 54px/1 "Barlow Condensed";color:var(--gold)}
.number-card span{font-size:10px;line-height:1.5;color:#bdbab2}

.gold-marquee{background:var(--gold);color:#090909;overflow:hidden;transform:rotate(-2deg);width:104%;margin-left:-2%;position:relative;z-index:8}
.gold-marquee__track{display:flex;width:max-content;align-items:center;gap:28px;padding:17px 0;animation:marquee 24s linear infinite;font:800 22px/1 "Barlow Condensed";letter-spacing:.06em}
.gold-marquee__track i{font-style:normal}
@keyframes marquee{to{transform:translateX(-50%)}}

.section-dark{background:var(--black);color:var(--white)}
.services{margin-top:-25px;padding-top:150px}
.services-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:end;margin-bottom:70px}
.display-title--light{color:white}
.body-copy--light{color:#aaa79f}
.services-list{border-top:1px solid var(--line)}
.service-row{
  position:relative;display:grid;grid-template-columns:70px 1fr 1fr 45px;align-items:center;gap:22px;
  padding:28px 4px;border-bottom:1px solid var(--line);transition:.35s;overflow:hidden;
}
.service-row:before{content:"";position:absolute;inset:0;background:var(--gold);transform:translateX(-102%);transition:transform .45s ease}
.service-row>*{position:relative;z-index:1}
.service-row__num{font-size:9px;color:#777}
.service-row h3{margin:0;font:700 clamp(27px,3vw,48px)/1 "Barlow Condensed";text-transform:uppercase}
.service-row p{margin:0;font-size:11px;line-height:1.6;color:#939087;max-width:450px}
.service-row__icon{justify-self:end;font-size:23px;color:var(--gold)}
.service-row:hover{color:#080808;padding-left:18px;padding-right:18px}
.service-row:hover:before{transform:translateX(0)}
.service-row:hover p,.service-row:hover .service-row__num,.service-row:hover .service-row__icon{color:#080808}

.stats{display:grid;grid-template-columns:repeat(3,1fr);padding-top:75px;padding-bottom:75px;border-bottom:1px solid var(--line-dark)}
.stat{display:grid;grid-template-columns:auto auto 1fr;align-items:end;gap:4px;padding:25px 7vw 25px 0;border-right:1px solid var(--line-dark)}
.stat:last-child{border-right:0;padding-left:7vw}
.stat:nth-child(2){padding-left:7vw}
.stat strong{font:800 clamp(70px,8vw,120px)/.72 "Barlow Condensed";letter-spacing:-.03em}
.stat b{font:700 35px/1 "Barlow Condensed";color:var(--gold)}
.stat span{font-size:10px;line-height:1.5;color:#716e67;margin-left:15px}

.work-heading{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:end;margin-bottom:70px}
.projects{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(22px,3vw,48px)}
.project{margin:0}
.project--wide{grid-row:span 2}
.project__media{height:400px;overflow:hidden}
.project--wide .project__media{height:730px}
.project__media img{transition:transform .9s cubic-bezier(.2,.7,.2,1);filter:saturate(.72)}
.project:hover img{transform:scale(1.055)}
.project__meta{display:flex;justify-content:space-between;gap:25px;align-items:flex-end;padding:16px 0 26px;border-bottom:1px solid var(--line-dark)}
.project__meta span{font-size:8px;letter-spacing:.14em;color:#77736c}
.project__meta h3{margin:0;font:700 26px/1 "Barlow Condensed";text-transform:uppercase;text-align:right}

.quality{position:relative;min-height:820px;background:var(--black);color:white;display:grid;grid-template-columns:58% 42%;overflow:hidden}
.quality__photo{height:820px;overflow:hidden}
.quality__photo img{filter:saturate(.55) brightness(.72)}
.quality__panel{align-self:center;background:var(--white);color:var(--black);padding:70px 9vw 70px 70px;margin-left:-80px;position:relative;z-index:3}
.quality__panel h2{margin:13px 0 25px;font:800 clamp(55px,6.7vw,110px)/.83 "Barlow Condensed";letter-spacing:-.035em}
.quality__panel h2 em{font-style:normal;color:var(--gold)}
.quality__panel>p:last-of-type{font-size:13px;line-height:1.8;color:#65615a;max-width:520px}
.quality-points{margin-top:35px;border-top:1px solid var(--line-dark)}
.quality-points div{display:flex;gap:30px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line-dark)}
.quality-points span{font-size:9px;color:#8a867e}
.quality-points b{font:700 18px/1 "Barlow Condensed";text-transform:uppercase}
.quality__badge{
  position:absolute;left:calc(58% - 145px);bottom:54px;z-index:5;width:145px;height:145px;border-radius:50%;
  background:var(--gold);color:#080808;display:grid;place-items:center;align-content:center;text-align:center;box-shadow:0 15px 45px rgba(0,0,0,.25)
}
.quality__badge span{font:900 55px/.8 "Barlow Condensed"}
.quality__badge small{font-size:6px;letter-spacing:.18em;margin-top:9px}

.contact-cta{background:var(--white)}
.contact-cta__title{max-width:1080px;margin:18px 0 55px;font:800 clamp(68px,9.5vw,160px)/.76 "Barlow Condensed";letter-spacing:-.04em;text-transform:uppercase}
.contact-cta__title em{font-style:normal;color:var(--gold)}
.contact-cta__grid{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center}
.btn--large{min-width:295px;min-height:70px}

.site-footer{background:var(--black);color:var(--white);padding:60px var(--pad) 25px;overflow:hidden}
.site-footer__top{display:flex;justify-content:space-between;align-items:center;padding-bottom:40px;border-bottom:1px solid var(--line)}
.back-top{font-size:9px;font-weight:800;letter-spacing:.15em;color:#c5c1b7}
.site-footer__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;padding:46px 0}
.site-footer__grid>div{display:flex;flex-direction:column;gap:10px}
.footer-label{font-size:8px;letter-spacing:.2em;color:var(--gold)}
.site-footer__grid a,.site-footer__grid p{margin:0;font-size:12px;color:#cbc8c0}
.site-footer__giant{font:900 clamp(110px,19vw,300px)/.68 "Barlow Condensed";letter-spacing:-.055em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.12);margin:38px -1vw 44px;white-space:nowrap}
.site-footer__bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;font-size:8px;letter-spacing:.09em;color:#6e6b65;text-transform:uppercase}

/* reveal fallback */
.reveal,.reveal-image,.reveal-lines{will-change:transform,opacity}

@media (max-width: 1050px){
  .desktop-nav,.header-cta{display:none}
  .site-header{grid-template-columns:1fr auto}
  .menu-toggle{display:block;justify-self:end}
  .hero{min-height:980px}
  .hero__copy{width:75vw}
  .hero-card--one{width:30vw;height:43vw;right:6vw;top:45vh}
  .hero-card--two{width:23vw;height:30vw;right:-3vw;bottom:5vh}
  .hero-card--three{width:24vw;height:17vw;left:42vw;bottom:4vh}
  .services-heading,.work-heading{grid-template-columns:1fr}
  .service-row{grid-template-columns:55px 1fr 1fr 35px}
  .quality__panel{padding-right:5vw}
}

@media (max-width: 760px){
  :root{--pad:22px}
  .site-header{height:76px}
  .brand__main{font-size:24px}
  .brand__sub{font-size:5.5px;margin-top:6px}
  .hero{min-height:920px;padding-top:122px;padding-bottom:45px}
  .hero:before{background-size:auto,72px 72px,72px 72px}
  .hero__copy{width:100%}
  .hero-title{font-size:clamp(62px,20vw,92px);line-height:.79;margin-top:15px}
  .hero-title__line{white-space:normal}
  .hero-intro{width:80%;font-size:12px;line-height:1.7}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:20px}
  .btn{min-height:54px}
  .hero__giant{font-size:240px;bottom:1vh;left:-18vw}
  .hero-card--one{width:47vw;height:61vw;right:-8vw;top:57vh}
  .hero-card--two{width:35vw;height:47vw;right:37vw;bottom:4vh}
  .hero-card--three{width:31vw;height:23vw;left:-4vw;bottom:15vh}
  .hero-scroll{display:none}

  .intro-strip{font-size:9px;gap:14px;padding-top:14px;padding-bottom:14px}
  .section-shell{padding-top:90px;padding-bottom:90px}
  .section-kicker{margin-bottom:42px}
  .about-grid{grid-template-columns:1fr;gap:65px}
  .display-title{font-size:clamp(58px,18vw,88px)}
  .body-copy{font-size:12px;line-height:1.8}
  .about-visual{height:125vw;margin-left:12vw}
  .number-card{left:-12vw;bottom:-25px;width:180px;padding:24px}
  .number-card strong{font-size:46px}
  .gold-marquee__track{font-size:18px;padding:14px 0}
  .services{padding-top:115px}
  .services-heading{gap:22px;margin-bottom:45px}
  .service-row{grid-template-columns:38px 1fr 28px;gap:12px;padding:24px 0}
  .service-row p{grid-column:2/4;font-size:10px;padding-right:10px;margin-top:-7px}
  .service-row h3{font-size:32px}
  .service-row__icon{grid-column:3;grid-row:1}

  .stats{grid-template-columns:1fr;padding-top:55px;padding-bottom:55px}
  .stat,.stat:nth-child(2),.stat:last-child{border-right:0;border-bottom:1px solid var(--line-dark);padding:27px 0}
  .stat:last-child{border-bottom:0}
  .stat strong{font-size:88px}
  .work-heading{gap:20px;margin-bottom:46px}
  .projects{grid-template-columns:1fr}
  .project--wide{grid-row:auto}
  .project__media,.project--wide .project__media{height:115vw;max-height:620px}
  .project__meta h3{font-size:23px}
  .quality{display:block;min-height:auto;padding-top:0}
  .quality__photo{height:118vw;max-height:700px}
  .quality__panel{margin:-58px 20px 0;padding:45px 24px 42px;position:relative}
  .quality__panel h2{font-size:65px}
  .quality__badge{width:112px;height:112px;left:auto;right:24px;bottom:auto;top:calc(118vw - 90px)}
  .quality__badge span{font-size:44px}
  .contact-cta__title{font-size:clamp(64px,19vw,96px)}
  .contact-cta__grid{grid-template-columns:1fr;gap:30px}
  .btn--large{min-width:0;width:100%}
  .site-footer__grid{grid-template-columns:1fr 1fr;gap:30px 18px}
  .site-footer__giant{font-size:31vw;margin-top:55px}
  .site-footer__bottom{flex-direction:column;gap:10px}
}

@media (max-width: 420px){
  .hero{min-height:850px}
  .hero-title{font-size:61px}
  .hero-intro{width:92%}
  .hero-card--one{top:60vh}
  .hero-card--three{bottom:13vh}
  .display-title{font-size:58px}
  .quality__panel h2{font-size:57px}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}


/* =========================================================
   JEFFERSONX LOGOS — SHARED HOME + REVIEWS
   These rules are intentionally isolated from the global img rule.
   ========================================================= */
.jx-loader-brand{
  width:auto !important;
  height:auto !important;
  max-width:none !important;
  overflow:visible !important;
}
.page-loader .jx-loader-logo{
  display:block !important;
  width:220px !important;
  height:auto !important;
  max-width:58vw !important;
  max-height:220px !important;
  min-width:0 !important;
  object-fit:contain !important;
}
.site-header .jx-header-brand{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  width:64px !important;
  min-width:64px !important;
  max-width:64px !important;
  height:68px !important;
  max-height:68px !important;
  overflow:hidden !important;
}
.site-header .jx-header-logo{
  display:block !important;
  width:58px !important;
  min-width:58px !important;
  max-width:58px !important;
  height:64px !important;
  max-height:64px !important;
  object-fit:contain !important;
}
@media (max-width:760px){
  .page-loader .jx-loader-logo{
    width:175px !important;
    max-width:62vw !important;
    max-height:180px !important;
  }
  .site-header .jx-header-brand{
    width:52px !important;
    min-width:52px !important;
    max-width:52px !important;
    height:58px !important;
    max-height:58px !important;
  }
  .site-header .jx-header-logo{
    width:48px !important;
    min-width:48px !important;
    max-width:48px !important;
    height:54px !important;
    max-height:54px !important;
  }
}

/* =========================================================
   FINAL MOBILE NAVIGATION — PURE CSS STATE
   IMPORTANT: This menu does not depend on GSAP or JS to open.
   ========================================================= */
.jx-menu-state{
  position:fixed !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
  clip-path:inset(50%) !important;
}
.jx-menu-toggle{display:none}
.jx-mobile-menu{display:none}

@media (max-width:1050px){
  .site-header{
    z-index:10020 !important;
  }

  .jx-menu-toggle{
    display:flex !important;
    position:relative !important;
    z-index:10030 !important;
    justify-self:end !important;
    width:48px !important;
    height:48px !important;
    padding:0 !important;
    border:0 !important;
    align-items:center !important;
    justify-content:center !important;
    flex-direction:column !important;
    gap:8px !important;
    color:#f4f1ea !important;
    cursor:pointer !important;
    touch-action:manipulation !important;
    -webkit-tap-highlight-color:transparent !important;
    user-select:none !important;
  }

  .jx-menu-toggle span{
    display:block !important;
    width:29px !important;
    height:1px !important;
    margin:0 !important;
    background:currentColor !important;
    transform-origin:center !important;
    transition:transform .28s ease, opacity .2s ease !important;
  }

  .jx-mobile-menu{
    display:flex !important;
    position:fixed !important;
    inset:0 !important;
    z-index:10010 !important;
    width:100vw !important;
    height:100vh !important;
    height:100dvh !important;
    min-height:100vh !important;
    padding:105px 24px 30px !important;
    background:#080808 !important;
    color:#f4f1ea !important;
    flex-direction:column !important;
    justify-content:center !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain !important;

    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translate3d(0,-100%,0) !important;
    transition:
      transform .46s cubic-bezier(.77,0,.18,1),
      opacity .22s ease,
      visibility 0s linear .46s !important;
  }

  .jx-mobile-menu nav{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    margin:auto 0 !important;
  }

  .jx-mobile-menu nav a{
    display:block !important;
    padding:8px 0 !important;
    border-bottom:1px solid rgba(255,255,255,.16) !important;
    color:#f4f1ea !important;
    font:800 clamp(47px,13.5vw,76px)/.95 "Barlow Condensed",sans-serif !important;
    letter-spacing:-.02em !important;
    text-transform:uppercase !important;
    opacity:1 !important;
    transform:none !important;
    pointer-events:auto !important;
  }

  .jx-mobile-menu nav a:first-child{
    border-top:1px solid rgba(255,255,255,.16) !important;
  }

  .jx-mobile-menu nav a[href*="reviews"]{
    color:#caa344 !important;
  }

  .jx-mobile-menu .mobile-menu__bottom{
    display:flex !important;
    flex-direction:column !important;
    gap:8px !important;
    margin-top:28px !important;
    padding-top:18px !important;
    border-top:1px solid rgba(255,255,255,.10) !important;
    color:#aaa69d !important;
    font-size:11px !important;
    line-height:1.55 !important;
  }

  .jx-mobile-menu .mobile-menu__bottom a{
    color:#aaa69d !important;
    pointer-events:auto !important;
  }

  /* The checkbox itself opens the menu. No JavaScript required. */
  .jx-menu-state:checked ~ .jx-mobile-menu{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translate3d(0,0,0) !important;
    transition-delay:0s !important;
  }

  .jx-menu-state:checked ~ .site-header .jx-menu-toggle span:first-child{
    transform:translateY(4.5px) rotate(45deg) !important;
  }
  .jx-menu-state:checked ~ .site-header .jx-menu-toggle span:last-child{
    transform:translateY(-4.5px) rotate(-45deg) !important;
  }

  /* Hide the obsolete menu controls if an old copy remains in cache/markup. */
  .menu-toggle,.mobile-menu{
    display:none !important;
  }
}


/* =========================================================
   FINAL FULL-BLEED HERO CAROUSEL
   Replaces the small collage hero with a photographic,
   full-screen carousel inspired by the supplied reference.
   ========================================================= */
.hero.hero--full-carousel{
  position:relative !important;
  min-height:100svh !important;
  height:max(720px,100svh) !important;
  padding:0 var(--pad) !important;
  display:flex !important;
  align-items:center !important;
  overflow:hidden !important;
  isolation:isolate !important;
  background:#070707 !important;
}
.hero.hero--full-carousel:before{display:none !important}

.jx-hero-carousel{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  background:#080808;
}
.jx-hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transform:scale(1.025);
  transition:opacity 1.05s ease, visibility 1.05s ease, transform 6.2s linear;
  will-change:opacity,transform;
}
.jx-hero-slide.is-active{
  opacity:1;
  visibility:visible;
  transform:scale(1);
  z-index:1;
}
.jx-hero-slide img{
  display:block;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  filter:saturate(.82) contrast(1.04) brightness(.92);
}
.jx-hero-shade{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(5,5,5,.90) 0%,rgba(5,5,5,.76) 30%,rgba(5,5,5,.35) 62%,rgba(5,5,5,.18) 100%),
    linear-gradient(180deg,rgba(5,5,5,.48) 0%,rgba(5,5,5,.06) 38%,rgba(5,5,5,.42) 100%),
    radial-gradient(circle at 82% 45%,rgba(202,163,68,.08),transparent 35%);
  pointer-events:none;
}
.jx-hero-grid{
  position:absolute;
  inset:0;
  z-index:2;
  opacity:.19;
  pointer-events:none;
  background-image:
    linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:120px 120px;
  mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.55) 50%,transparent 92%);
}
.hero.hero--full-carousel .hero__copy{
  position:relative !important;
  z-index:4 !important;
  width:min(770px,65vw) !important;
  margin-top:46px !important;
}
.hero.hero--full-carousel .hero-title{
  margin:18px 0 25px !important;
  font-size:clamp(72px,7.6vw,132px) !important;
  line-height:.78 !important;
  text-shadow:0 8px 34px rgba(0,0,0,.24);
}
.hero.hero--full-carousel .hero-intro{
  width:min(570px,86%) !important;
  color:#d1cec6 !important;
  text-shadow:0 2px 14px rgba(0,0,0,.55);
}
.hero.hero--full-carousel .hero__giant,
.hero.hero--full-carousel .hero-card{display:none !important}

.jx-hero-controls{
  position:absolute;
  z-index:5;
  right:clamp(20px,3.2vw,52px);
  top:50%;
  transform:translateY(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
}
.jx-hero-dots{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.jx-hero-dots button{
  appearance:none;
  width:11px;
  height:11px;
  border:1px solid rgba(255,255,255,.62);
  border-radius:50%;
  padding:0;
  background:rgba(255,255,255,.18);
  cursor:pointer;
  transition:transform .25s ease,background .25s ease,border-color .25s ease;
}
.jx-hero-dots button.is-active{
  background:var(--gold);
  border-color:var(--gold);
  transform:scale(1.35);
  box-shadow:0 0 0 6px rgba(202,163,68,.13);
}
.jx-hero-arrow{
  appearance:none;
  width:38px;
  height:38px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:50%;
  background:rgba(5,5,5,.25);
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  font-size:15px;
  backdrop-filter:blur(5px);
  transition:.25s ease;
}
.jx-hero-arrow:hover{border-color:var(--gold);color:var(--gold);background:rgba(5,5,5,.48)}

.jx-hero-caption{
  position:absolute;
  left:var(--pad);
  bottom:28px;
  z-index:5;
  display:flex;
  align-items:center;
  gap:13px;
  color:#d0ccc3;
  font-size:8px;
  font-weight:800;
  letter-spacing:.19em;
}
.jx-hero-caption__num{color:var(--gold)}
.jx-hero-caption__line{display:block;width:46px;height:1px;background:rgba(255,255,255,.38)}
.hero.hero--full-carousel .hero-scroll{right:var(--pad);bottom:28px;z-index:5}

@media (max-width:1050px){
  .hero.hero--full-carousel{
    min-height:760px !important;
    height:100svh !important;
    padding-top:76px !important;
  }
  .hero.hero--full-carousel .hero__copy{
    width:min(740px,82vw) !important;
    margin-top:20px !important;
  }
  .hero.hero--full-carousel .hero-title{font-size:clamp(68px,10vw,105px) !important}
}

@media (max-width:760px){
  .hero.hero--full-carousel{
    min-height:720px !important;
    height:100svh !important;
    max-height:none !important;
    padding:90px 20px 72px !important;
    align-items:center !important;
  }
  .jx-hero-shade{
    background:
      linear-gradient(180deg,rgba(5,5,5,.50) 0%,rgba(5,5,5,38) 28%,rgba(5,5,5,.30) 72%,rgba(5,5,5,.20) 100%),
      linear-gradient(90deg,rgba(5,5,5,.50) 0%,rgba(5,5,5,.20) 100%)!important;
  }
  .jx-hero-grid{background-size:72px 72px;opacity:.14;mask-image:none}
  .jx-hero-slide img{
    object-position:center center !important;
    filter:saturate(.96) contrast(1.02) brightness(1.08)!important;
  }
  .hero.hero--full-carousel .hero__copy{
    width:100% !important;
    margin-top:0 !important;
  }
  .hero.hero--full-carousel .hero-title{
    font-size:clamp(58px,16.7vw,80px) !important;
    line-height:.80 !important;
    margin:14px 0 20px !important;
    max-width:100% !important;
  }
  .hero.hero--full-carousel .hero-title__line{white-space:normal !important}
  .hero.hero--full-carousel .hero-intro{
    width:100% !important;
    max-width:430px !important;
    font-size:12px !important;
    line-height:1.65 !important;
  }
  .hero.hero--full-carousel .hero-actions{
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:19px !important;
    margin-top:28px !important;
  }
  .hero.hero--full-carousel .btn{min-width:245px}
  .jx-hero-controls{
    right:17px;
    top:auto;
    bottom:25px;
    transform:none;
    flex-direction:row;
    gap:10px;
  }
  .jx-hero-dots{flex-direction:row;gap:8px}
  .jx-hero-dots button{width:8px;height:8px}
  .jx-hero-arrow{width:32px;height:32px;font-size:13px}
  .jx-hero-caption{
    left:20px;
    bottom:29px;
    max-width:145px;
    gap:8px;
  }
  .jx-hero-caption__line{width:22px}
  .hero.hero--full-carousel .hero-scroll{display:none !important}
}

@media (max-width:420px){
  .hero.hero--full-carousel{min-height:700px !important;padding-top:84px !important}
  .hero.hero--full-carousel .hero-title{font-size:clamp(54px,16.5vw,69px) !important}
  .hero.hero--full-carousel .eyebrow{font-size:9px !important}
  .jx-hero-caption{display:none}
}

@media (prefers-reduced-motion:reduce){
  .jx-hero-slide{transition:opacity .25s ease !important;transform:none !important}
}
