:root{
  --scan-bim-redesign-cyan:#00d9ff;
  --scan-bim-redesign-cyan-soft:#8af0ff;
  --scan-bim-redesign-text:#f2fbff;
  --scan-bim-redesign-muted:#a9dfe8;
}

body.scan-bim-redesign{
  background:#01070b;
}

.scan-bim-redesign main#bim{
  overflow:visible;
  padding:0 0 64px;
}

.scan-bim-redesign #bim > .wrap{
  position:relative;
  z-index:1;
  width:100%;
  max-width:1180px;
  padding:clamp(50px,7vw,92px) 20px 24px;
}

.scan-bim-redesign-hero{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  min-height:clamp(820px,calc(100svh - 68px),1040px);
  isolation:isolate;
  overflow:hidden;
  background:#02090d;
}

.scan-bim-redesign-hero__image{
  position:absolute;
  inset:0 0 0 auto;
  z-index:-4;
  width:68%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:brightness(.62) contrast(1.22) saturate(.82);
  transform:scale(1.035);
}

.scan-bim-redesign-hero__veil{
  position:absolute;
  inset:0;
  z-index:-3;
  background:
    linear-gradient(90deg,#01070b 0%,rgba(1,7,11,.98) 23%,rgba(1,7,11,.77) 48%,rgba(1,7,11,.26) 76%,rgba(1,7,11,.12) 100%),
    linear-gradient(0deg,rgba(1,7,11,.98) 0%,transparent 36%,rgba(1,7,11,.22) 100%),
    radial-gradient(circle at 78% 32%,rgba(0,217,255,.15),transparent 34%);
}

.scan-bim-redesign-hero__grid{
  position:absolute;
  inset:0;
  z-index:-2;
  opacity:.2;
  background-image:
    linear-gradient(rgba(116,232,255,.18) 1px,transparent 1px),
    linear-gradient(90deg,rgba(116,232,255,.18) 1px,transparent 1px);
  background-size:clamp(54px,7vw,104px) clamp(54px,7vw,104px);
  -webkit-mask-image:linear-gradient(90deg,#000,transparent 80%);
  mask-image:linear-gradient(90deg,#000,transparent 80%);
}

.scan-bim-redesign-hero__contours{
  position:absolute;
  top:-12%;
  left:-18%;
  z-index:-1;
  width:128%;
  height:122%;
  margin:0;
  opacity:.64;
  pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.96) 18%,rgba(0,0,0,.56) 29%,rgba(0,0,0,.18) 38%,transparent 48%);
  mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.96) 18%,rgba(0,0,0,.56) 29%,rgba(0,0,0,.18) 38%,transparent 48%);
}

.scan-bim-redesign-hero__content{
  position:relative;
  z-index:2;
  width:100%;
  max-width:1180px;
  margin-inline:auto;
  padding:clamp(76px,11vh,126px) 20px clamp(52px,8vh,88px);
}

.scan-bim-redesign-hero__copy{
  max-width:820px;
}

.scan-bim-redesign-kicker{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 12px;
  margin:0;
  color:#b9f7ff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.scan-bim-redesign-kicker::before{
  content:"";
  width:42px;
  height:1px;
  background:var(--scan-bim-redesign-cyan);
  box-shadow:0 0 12px rgba(0,224,255,.85);
}

.scan-bim-redesign-kicker span + span::before{
  content:"·";
  margin-right:12px;
  color:var(--scan-bim-redesign-cyan);
}

.scan-bim-redesign-hero h1{
  max-width:14ch;
  margin:18px 0 22px;
  color:var(--scan-bim-redesign-text);
  font-size:clamp(46px,7.1vw,102px);
  font-weight:800;
  line-height:.91;
  letter-spacing:-.06em;
  text-wrap:balance;
}

.scan-bim-redesign-title-phrase{
  display:block;
}

.scan-bim-redesign-title-phrase--rtl-line{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:flex-start;
  gap:.2em;
  direction:rtl;
  unicode-bidi:isolate;
}

.scan-bim-redesign-title-phrase--outline{
  max-width:18ch;
  margin-top:.12em;
  font-size:.54em;
  line-height:1.02;
  letter-spacing:-.045em;
  color:transparent;
  -webkit-text-stroke:1.4px #aef7ff;
  paint-order:stroke fill;
  text-shadow:0 0 8px rgba(202,250,255,.18),0 0 22px rgba(0,234,255,.34),0 0 44px rgba(110,231,183,.16);
}

.scan-bim-redesign-hero h1 .scan-bim-glow-word{
  display:inline-block;
  color:inherit;
  text-shadow:0 0 7px rgba(255,255,255,.2),0 0 22px rgba(0,234,255,.22),0 0 44px rgba(110,231,183,.12);
}

.scan-bim-redesign-title-phrase--outline .scan-bim-glow-word{
  color:transparent;
}

.scan-bim-glow-letter{
  display:inline-block;
  transition:color .2s ease,text-shadow .25s ease,-webkit-text-stroke .25s ease;
  will-change:color,text-shadow;
}

.scan-bim-glow-letter:hover{
  color:#fff;
  text-shadow:0 0 8px rgba(255,255,255,.72),0 0 22px rgba(0,234,255,.66),0 0 42px rgba(110,231,183,.4);
}

.scan-bim-redesign-title-phrase--outline .scan-bim-glow-letter:hover{
  color:transparent;
  -webkit-text-stroke:1.6px #e4fdff;
  text-shadow:0 0 8px rgba(255,255,255,.72),0 0 22px rgba(0,234,255,.78),0 0 44px rgba(110,231,183,.44);
}

.scan-bim-redesign-hero__lede{
  max-width:66ch;
  margin:0;
  color:#d8eaf1;
  font-size:clamp(17px,2vw,20px);
  line-height:1.5;
  text-shadow:0 2px 18px rgba(0,0,0,.8);
}

.scan-bim-redesign-facts{
  display:flex;
  flex-wrap:wrap;
  gap:8px 20px;
  margin-top:26px;
}

.scan-bim-redesign-facts span{
  padding:3px 0;
  color:#d7f8ff;
  font-size:12px;
  font-weight:700;
  text-shadow:0 1px 10px rgba(0,0,0,.72);
}

.scan-bim-redesign .pill{
  min-width:min(100%,250px);
  padding:13px 14px 13px 16px;
  border:1px solid rgba(138,240,255,.72);
  border-radius:3px 20px 3px 20px;
  color:#eaf8ff;
  background:transparent;
  box-shadow:0 0 24px rgba(0,217,255,.12),inset 0 0 0 1px rgba(255,255,255,.05);
  text-shadow:0 1px 12px rgba(0,0,0,.78);
  isolation:isolate;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}

.scan-bim-redesign .pill::before{
  display:none;
}

.scan-bim-redesign .pill::after{
  content:"";
  position:absolute;
  inset:auto;
  top:-55%;
  left:-64px;
  z-index:0;
  width:34px;
  height:210%;
  border-radius:0;
  background:linear-gradient(90deg,transparent,rgba(174,247,255,.26),transparent);
  transform:skewX(-17deg);
  transition:left .52s cubic-bezier(.2,.75,.25,1);
  pointer-events:none;
}

.scan-bim-redesign .pill .dot,
.scan-bim-redesign .pill .lab{
  position:relative;
  z-index:1;
}

.scan-bim-redesign .cta-row .pill .dot{
  display:block;
  width:14px;
  height:14px;
  border:1px solid var(--scan-bim-redesign-cyan-soft);
  background:transparent;
  box-shadow:none;
}

.scan-bim-redesign .pill .dot::after{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:50%;
  background:var(--scan-bim-redesign-cyan);
  box-shadow:0 0 10px rgba(0,217,255,.9);
}

.scan-bim-redesign .pill .lab{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex:1;
  gap:20px;
}

.scan-bim-redesign .pill .lab::after{
  content:"→";
  color:var(--scan-bim-redesign-cyan-soft);
  font-size:1.05rem;
  line-height:1;
  transition:transform .22s ease;
}

.scan-bim-redesign .pill:hover{
  transform:translateY(-2px);
  border-color:var(--scan-bim-redesign-cyan-soft);
  background:transparent;
  box-shadow:0 0 32px rgba(0,217,255,.24),inset 0 0 0 1px rgba(255,255,255,.1);
}

.scan-bim-redesign .pill:hover::after{
  left:calc(100% + 30px);
}

.scan-bim-redesign .pill:hover .lab::after{
  transform:translateX(3px);
}

.scan-bim-redesign .pill:focus-visible{
  outline:2px solid var(--scan-bim-redesign-cyan-soft);
  outline-offset:4px;
}

.scan-bim-redesign-actions{
  justify-content:flex-start;
  margin:24px 0 0;
}

.scan-bim-redesign-stats .scan-bim-steps{
  width:min(300px,100%);
  margin:26px 0 0;
}

.scan-bim-redesign-stats .scan-bim-step{
  min-height:0;
  padding:16px 18px;
  border:1px solid rgba(138,240,255,.24);
  border-left:2px solid var(--scan-bim-redesign-cyan);
  border-radius:0 16px 0 16px;
  background:rgba(2,12,17,.67);
  box-shadow:none;
  text-align:left;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.scan-bim-redesign-stats .scan-bim-num{
  color:#fff;
  font-size:clamp(25px,3.2vw,38px);
  text-shadow:none;
}

.scan-bim-redesign-stats .scan-bim-lbl{
  color:var(--scan-bim-redesign-muted);
}

.scan-bim-redesign #bim > .page-contour-field{
  position:sticky;
  top:0;
  z-index:0;
  display:block;
  width:100%;
  height:100svh;
  margin-bottom:-100svh;
  opacity:.34;
  pointer-events:none;
  mix-blend-mode:screen;
}

/* City pages reuse the root Scan to BIM hero while retaining their
   page-owned localized copy, metadata, schema, and supporting sections. */
.scan-bim-city-page.scan-bim-city-ready .scan-bim-hero-card,
.scan-bim-city-page.scan-bim-city-ready .scan-bim-city-legacy-intro{
  display:none !important;
}

.scan-bim-city-page .scan-bim-redesign-hero h1{
  max-width:16ch;
  font-size:clamp(44px,6vw,88px);
}

.scan-bim-city-page .scan-bim-redesign-title-phrase--outline{
  max-width:23ch;
  font-size:.5em;
}

.scan-bim-city-page .scan-bim-redesign-hero__lede{
  max-width:780px;
}

.scan-bim-city-page #bim > .wrap{
  margin-inline:auto;
}

.scan-bim-city-page .scan-bim-overview{
  margin-top:0;
}

.scan-bim-redesign .scan-bim-overview,
.scan-bim-redesign .section{
  border:1px solid rgba(138,240,255,.2);
  border-radius:0 22px 0 22px;
  background:rgba(2,12,17,.54);
  box-shadow:none;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.scan-bim-redesign .card,
.scan-bim-redesign .scan-bim-proof,
.scan-bim-redesign .scan-bim-spec-panel{
  border-color:rgba(138,240,255,.2);
  border-radius:0 16px 0 16px;
  background:rgba(2,12,17,.56);
  box-shadow:none;
}

html[dir="rtl"] .scan-bim-redesign-hero__copy{
  text-align:right;
}

html[dir="rtl"] .scan-bim-redesign-hero h1{
  max-width:18ch;
  line-height:1.08;
  letter-spacing:0;
}

html[dir="rtl"] .scan-bim-redesign-kicker,
html[dir="rtl"] .scan-bim-redesign-facts,
html[dir="rtl"] .scan-bim-redesign-actions{
  justify-content:flex-start;
}

html[dir="rtl"] .scan-bim-redesign-title-phrase--outline{
  letter-spacing:0;
}

@media(max-width:760px){
  .scan-bim-redesign-hero{
    min-height:900px;
    align-items:flex-end;
  }

  .scan-bim-redesign-hero__image{
    inset:0 0 auto;
    width:100%;
    height:62%;
    object-position:center;
  }

  .scan-bim-redesign-hero__veil{
    background:
      linear-gradient(0deg,#01070b 0%,rgba(1,7,11,.92) 47%,rgba(1,7,11,.34) 76%,rgba(1,7,11,.18) 100%),
      radial-gradient(circle at 68% 18%,rgba(0,217,255,.16),transparent 34%);
  }

  .scan-bim-redesign-hero__content{
    padding:116px 16px 52px;
  }

  .scan-bim-redesign-hero h1{
    max-width:100%;
    font-size:clamp(42px,14vw,66px);
  }

  .scan-bim-redesign-title-phrase--outline{
    max-width:100%;
    font-size:.51em;
  }

  .scan-bim-redesign-actions .pill{
    width:100%;
  }

  .scan-bim-redesign #bim > .wrap{
    padding-inline:16px;
  }
}

@media(prefers-reduced-motion:reduce){
  .scan-bim-glow-letter,
  .scan-bim-redesign .pill,
  .scan-bim-redesign .pill::after,
  .scan-bim-redesign .pill .lab::after{
    transition:none;
  }
}
