:root{
  --h421-bg:#050505;
  --h421-panel:#0b0a08;
  --h421-panel2:#100d09;
  --h421-gold:#dda83d;
  --h421-gold2:#f2ca63;
  --h421-text:#f5eee2;
  --h421-muted:#a99779;
  --h421-line:rgba(221,168,61,.24);
  --h421-shell:1180px;
}

/* ===== PAGE FOUNDATION ===== */
html{overflow-x:hidden}
body.home-v41-page{
  margin:0;
  overflow-x:hidden;
  background:var(--h421-bg);
  color:var(--h421-text);
}
.home-v41{
  width:100%;
  overflow:hidden;
}
.home-v41__shell{
  width:min(var(--h421-shell),calc(100% - 40px))!important;
  margin-inline:auto!important;
}
.home-v41 img{max-width:100%}

/* ===== DYNAMIC HERO SLIDER: ONE FIXED FRAME FOR EVERY SLIDE ===== */
.home-v420__slider{
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  overflow:hidden!important;
  background:#050505!important;
  border-top:0!important;
  border-bottom:1px solid rgba(221,168,61,.30)!important;
  isolation:isolate;
}
.home-v420__stage{
  position:relative!important;
  width:100%!important;
  height:clamp(520px,calc(100vh - 106px),680px)!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
  background:#050505!important;
}
.home-v420__slide{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  background:#050505!important;
  opacity:0;
  visibility:hidden;
  transform:scale(1.01);
  transition:opacity .68s ease,transform 1s cubic-bezier(.2,.75,.2,1),visibility .68s!important;
}
.home-v420__slide.is-active{
  opacity:1!important;
  visibility:visible!important;
  transform:scale(1)!important;
}

/* blurred stage fill behind contained images = no overflow/no ugly empty bars */
.home-v420__backdrop{
  position:absolute!important;
  inset:-28px!important;
  width:auto!important;
  height:auto!important;
  background-position:center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  filter:blur(22px) brightness(.36) saturate(.92)!important;
  transform:scale(1.08)!important;
  opacity:.86!important;
  z-index:0!important;
}
.home-v420__backdrop:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.18)),
    radial-gradient(circle at 72% 30%,rgba(221,168,61,.08),transparent 34%);
}
.home-v420__image{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:auto!important;
  max-width:none!important;
  max-height:none!important;
}
.home-v420__slide[data-fit="contain"] .home-v420__image{
  object-fit:contain!important;
  object-position:center center!important;
}
.home-v420__slide[data-fit="cover"] .home-v420__image{
  object-fit:cover!important;
  object-position:center center!important;
}

/* Standard text slide */
.home-v420__overlay{
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  background:
    linear-gradient(90deg,rgba(5,5,5,.10) 0%,rgba(5,5,5,.22) 35%,rgba(5,5,5,.76) 67%,rgba(5,5,5,.95) 100%)!important;
}
.home-v420__content{
  position:absolute!important;
  z-index:4!important;
  top:50%!important;
  right:max(5vw,54px)!important;
  width:min(540px,44vw)!important;
  transform:translateY(-50%)!important;
  padding:0!important;
  text-align:right!important;
}
.home-v420__content[hidden]{display:none!important}
.home-v420__eyebrow{
  display:block!important;
  margin:0 0 12px!important;
  color:var(--h421-gold2)!important;
  font:700 8px Arial,sans-serif!important;
  letter-spacing:.20em!important;
  direction:ltr!important;
}
.home-v420__content h1,
.home-v420__content h2{
  margin:0!important;
  color:var(--h421-text)!important;
  font-size:clamp(31px,3.5vw,48px)!important;
  line-height:1.42!important;
  font-weight:900!important;
  letter-spacing:-.45px!important;
}
.home-v420__content h1 em,
.home-v420__content h2 em{
  display:block!important;
  margin-top:2px!important;
  color:var(--h421-gold2)!important;
  font-style:normal!important;
}
.home-v420__content p{
  max-width:560px!important;
  margin:15px 0 0!important;
  color:#c8b99c!important;
  font-size:10.5px!important;
  line-height:2!important;
}
.home-v420__actions{
  display:flex!important;
  gap:9px!important;
  flex-wrap:wrap!important;
  margin-top:22px!important;
}
.home-v420__actions a{
  min-height:42px!important;
  padding:0 17px!important;
  border:1px solid rgba(221,168,61,.46)!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(6,6,6,.68)!important;
  color:#efe3ca!important;
  font-size:9.2px!important;
  font-weight:800!important;
  text-decoration:none!important;
  backdrop-filter:blur(10px);
}
.home-v420__actions a.primary{
  border-color:transparent!important;
  background:linear-gradient(180deg,#efc45a,#d59a2d)!important;
  color:#171006!important;
}

/* Artwork slides must stay artwork: no duplicated text layer */
.home-v420__slide[data-mode="artwork"] .home-v420__overlay,
.home-v420__slide[data-mode="artwork"] .home-v420__content{
  display:none!important;
}

/* Image-design button hotspots */
.home-v420__hotspots{
  position:absolute!important;
  inset:0!important;
  z-index:5!important;
}
.home-v420__hotspots a{
  position:absolute!important;
  display:block!important;
  border-radius:999px!important;
}
.home-v420__hotspots a:focus-visible{
  outline:2px solid #f2ca63;
  outline-offset:3px;
}

/* Controls consistently inside slider */
.home-v420__status{
  position:absolute!important;
  z-index:12!important;
  right:50%!important;
  bottom:16px!important;
  transform:translateX(50%)!important;
  min-height:34px!important;
  padding:6px 10px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  border:1px solid rgba(221,168,61,.28)!important;
  border-radius:999px!important;
  background:rgba(4,4,4,.68)!important;
  backdrop-filter:blur(12px)!important;
}
.home-v420__counter{
  color:#89775b!important;
  font:700 8px Arial,sans-serif!important;
  direction:ltr!important;
}
.home-v420__counter b{color:#f2ca63!important}
.home-v420__dots{display:flex!important;align-items:center!important;gap:6px!important}
.home-v420__dots button{
  width:20px!important;
  height:5px!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:#5b503d!important;
  cursor:pointer!important;
}
.home-v420__dots button.is-active{
  width:36px!important;
  background:linear-gradient(90deg,#d69e31,#f2ca63)!important;
}
.home-v420__progress{
  width:70px!important;
  height:2px!important;
  border-radius:999px!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.12)!important;
}
.home-v420__progress span{
  display:block!important;
  width:0;
  height:100%!important;
  background:linear-gradient(90deg,#d99f32,#f2ca63)!important;
}
.home-v420__arrow{
  position:absolute!important;
  z-index:13!important;
  top:50%!important;
  width:42px!important;
  height:42px!important;
  margin-top:-21px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(221,168,61,.40)!important;
  border-radius:50%!important;
  background:rgba(4,4,4,.66)!important;
  color:#f0c763!important;
  font-size:26px!important;
  cursor:pointer!important;
  backdrop-filter:blur(10px)!important;
}
.home-v420__arrow--prev{right:18px!important}
.home-v420__arrow--next{left:18px!important}

/* ===== METRICS ===== */
.home-v41__metrics{
  background:#080807!important;
  border-top:0!important;
  border-bottom:1px solid #302514!important;
}
.home-v41__metric-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
.home-v41__metric-grid>div{
  min-width:0!important;
  padding:19px 9px!important;
  text-align:center!important;
  border-left:1px solid #282116!important;
}
.home-v41__metric-grid>div:last-child{border-left:0!important}
.home-v41__metric-grid b{
  display:block!important;
  color:#efc45a!important;
  font:800 18px Arial,sans-serif!important;
  direction:ltr!important;
}
.home-v41__metric-grid span{
  display:block!important;
  margin-top:5px!important;
  color:#9f8d70!important;
  font-size:8.4px!important;
  line-height:1.5!important;
}

/* ===== ALL CONTENT SECTIONS: SAME RHYTHM ===== */
.home-v41__section{
  width:100%!important;
  padding:52px 0!important;
  background:#070707!important;
}
.home-v41__section:nth-of-type(even){background:#090807!important}
.home-v41__section-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin-bottom:18px!important;
}
.home-v41__section-head.centered{
  display:block!important;
  text-align:center!important;
}
.home-v41__section-head span{
  display:block!important;
  color:#d7a43d!important;
  font:700 7.4px Arial,sans-serif!important;
  letter-spacing:.18em!important;
  direction:ltr!important;
}
.home-v41__section-head h2{
  margin:6px 0 0!important;
  color:#f2eadc!important;
  font-size:23px!important;
  line-height:1.55!important;
  font-weight:800!important;
}
.home-v41__section-head p{
  margin:7px 0 0!important;
  color:#9f8e70!important;
  font-size:9px!important;
  line-height:1.9!important;
}
.home-v41__section-head>a{
  flex:0 0 auto!important;
  color:#d8ab48!important;
  font-size:8.5px!important;
  text-decoration:none!important;
}

/* Services */
.home-v41__services{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
}
.home-v41__services>a{
  min-width:0!important;
  min-height:178px!important;
  padding:17px!important;
  border:1px solid #392c17!important;
  border-radius:16px!important;
  background:linear-gradient(150deg,#0f0d09,#080807)!important;
}
.home-v41__services i{
  font:700 8px Arial,sans-serif!important;
  color:#7d5e25!important;
}
.home-v41__services b{
  display:block!important;
  margin:24px 0 7px!important;
  color:#f0c966!important;
  font-size:12.5px!important;
  line-height:1.6!important;
}
.home-v41__services span{
  display:block!important;
  color:#a89779!important;
  font-size:8.6px!important;
  line-height:1.9!important;
}

/* Demo */
.home-v41__demo{
  background:linear-gradient(90deg,#0b0906,#11100c,#0b0906)!important;
}
.home-v41__demo-grid{
  display:grid!important;
  grid-template-columns:minmax(290px,.85fr) minmax(0,1.15fr)!important;
  gap:16px!important;
  width:min(1040px,100%)!important;
  max-width:none!important;
  margin:auto!important;
}
.home-v41__demo-form,
.home-v41__demo-info{
  min-width:0!important;
  padding:20px!important;
  border:1px solid #554019!important;
  border-radius:18px!important;
  background:#0a0907!important;
}
.home-v41__demo-form h3{
  margin:7px 0 13px!important;
  font-size:14px!important;
}
.home-v41__demo-form input{
  width:100%!important;
  height:44px!important;
  font-size:9.5px!important;
}
.home-v41__demo-form button{
  height:44px!important;
  font-size:9px!important;
}
.home-v41__demo-info{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}
.home-v41__demo-info>div{
  min-width:0!important;
  padding:12px!important;
}
.home-v41__demo-info b{font-size:9.2px!important}
.home-v41__demo-info span{font-size:7.8px!important}

/* Projects */
.home-v41__projects{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
}
.home-v41__projects>a{
  min-width:0!important;
  min-height:160px!important;
  padding:16px!important;
  border:1px solid #382b17!important;
  border-radius:16px!important;
  background:linear-gradient(145deg,#0f0d09,#080807)!important;
}
.home-v41__projects strong{
  display:block!important;
  margin-top:26px!important;
  color:#f1eadc!important;
  font-size:11.5px!important;
  line-height:1.65!important;
}
.home-v41__projects span{
  display:block!important;
  margin-top:7px!important;
  color:#9e8c70!important;
  font:7.3px Arial,sans-serif!important;
  line-height:1.7!important;
  direction:ltr!important;
  text-align:right!important;
}

/* Articles */
.home-v41__article-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
}
.home-v41__article-grid>a{
  min-width:0!important;
  overflow:hidden!important;
  border:1px solid #392b17!important;
  border-radius:16px!important;
  background:#0c0b09!important;
}
.home-v41__article-grid img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/9!important;
  object-fit:cover!important;
  background:#111!important;
}
.home-v41__article-grid b{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  min-height:48px!important;
  padding:12px 12px 0!important;
  font-size:10px!important;
  line-height:1.8!important;
}
.home-v41__article-grid span{
  display:block!important;
  padding:7px 12px 12px!important;
  color:#9b8869!important;
  font-size:7.4px!important;
}

/* CTA */
.home-v41__final{
  padding:0 0 46px!important;
  background:#060606!important;
}
.home-v41__final-box{
  min-height:112px!important;
  padding:22px 24px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:22px!important;
  border:1px solid #62491c!important;
  border-radius:20px!important;
  background:linear-gradient(125deg,#11100c,#080706)!important;
}
.home-v41__final-box h2{
  max-width:720px!important;
  margin:6px 0 0!important;
  font-size:18px!important;
  line-height:1.7!important;
}
.home-v41__final-box a{
  min-height:38px!important;
  padding:0 14px!important;
  font-size:8.4px!important;
}

/* Footer */
.home-v41__footer{
  padding:22px 0!important;
  border-top:1px solid #443318!important;
  background:#030303!important;
}
.home-v41__footer>.home-v41__shell{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
}
.home-v41__footer nav{
  display:flex!important;
  gap:12px!important;
  flex-wrap:wrap!important;
}

/* ===== RESPONSIVE ===== */
@media(max-width:1020px){
  .home-v41__shell{width:min(var(--h421-shell),calc(100% - 28px))!important}
  .home-v420__stage{height:560px!important}
  .home-v41__services,
  .home-v41__projects,
  .home-v41__article-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .home-v41__demo-grid{grid-template-columns:1fr 1.2fr!important}
}
@media(max-width:760px){
  .home-v41__shell{width:calc(100% - 24px)!important}
  .home-v420__stage{height:560px!important}
  .home-v420__slide[data-fit="contain"] .home-v420__image{object-fit:contain!important}
  .home-v420__hotspots{display:none!important}
  .home-v420__overlay{
    display:block!important;
    background:linear-gradient(180deg,rgba(5,5,5,.04),rgba(5,5,5,.16) 45%,rgba(5,5,5,.88) 72%,#050505 100%)!important;
  }
  .home-v420__content{
    top:auto!important;
    right:12px!important;
    left:12px!important;
    bottom:58px!important;
    width:auto!important;
    transform:none!important;
    padding:15px!important;
    border:1px solid rgba(221,168,61,.28)!important;
    border-radius:17px!important;
    background:rgba(5,5,5,.78)!important;
    backdrop-filter:blur(12px)!important;
  }
  /* artwork stays clean on mobile too */
  .home-v420__slide[data-mode="artwork"] .home-v420__overlay,
  .home-v420__slide[data-mode="artwork"] .home-v420__content{
    display:none!important;
  }
  .home-v420__content h1,
  .home-v420__content h2{font-size:24px!important}
  .home-v420__content p{font-size:9.2px!important}
  .home-v420__status{
    right:12px!important;
    left:auto!important;
    bottom:12px!important;
    transform:none!important;
  }
  .home-v420__progress{display:none!important}
  .home-v420__arrow{
    top:auto!important;
    bottom:12px!important;
    width:34px!important;
    height:34px!important;
    margin:0!important;
    font-size:22px!important;
  }
  .home-v420__arrow--prev{right:auto!important;left:52px!important}
  .home-v420__arrow--next{left:12px!important}

  .home-v41__metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .home-v41__metric-grid>div{border-bottom:1px solid #282116!important}
  .home-v41__section{padding:42px 0!important}
  .home-v41__section-head{display:block!important}
  .home-v41__section-head>a{display:inline-block!important;margin-top:8px!important}
  .home-v41__section-head h2{font-size:20px!important}
  .home-v41__demo-grid{grid-template-columns:1fr!important}
  .home-v41__demo-info{grid-template-columns:1fr!important}
  .home-v41__final-box{display:block!important}
  .home-v41__final-box>div:last-child{margin-top:14px!important;flex-wrap:wrap!important}
  .home-v41__footer>.home-v41__shell{display:block!important}
  .home-v41__footer nav{margin-top:12px!important}
}
@media(max-width:520px){
  .home-v420__stage{height:520px!important}
  .home-v41__services,
  .home-v41__projects,
  .home-v41__article-grid{grid-template-columns:1fr!important}
  .home-v41__metric-grid{grid-template-columns:1fr 1fr!important}
}
