/* Genesis Construction — opening Intro overlay */
html.intro-skip .site-intro{display:none!important}
html.intro-pending,html.intro-pending body{overflow:hidden}
.site-intro{
  position:fixed;inset:0;z-index:12000;
  display:flex;align-items:stretch;justify-content:stretch;
  background:#07101a;
  color:#F4F5F2;
  animation:siteIntroIn .45s ease both;
}
.site-intro[hidden]{display:none!important}
.site-intro.is-leaving{animation:siteIntroOut .38s ease forwards;pointer-events:none}
@keyframes siteIntroIn{from{opacity:0}to{opacity:1}}
@keyframes siteIntroOut{from{opacity:1}to{opacity:0}}

.site-intro__stage{
  position:relative;flex:1;overflow:hidden;
  display:flex;align-items:flex-end;justify-content:flex-start;
}
.site-intro__video{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center bottom;
  background:#0a1828;
}
.site-intro__veil{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(7,16,26,.35) 0%,rgba(7,16,26,.15) 35%,rgba(7,16,26,.72) 72%,rgba(7,16,26,.92) 100%),
    linear-gradient(90deg,rgba(7,16,26,.55) 0%,rgba(7,16,26,.05) 55%,rgba(7,16,26,.25) 100%);
  pointer-events:none;
}
.site-intro__copy{
  position:relative;z-index:2;
  max-width:min(560px,92vw);
  padding:clamp(28px,6vh,72px) clamp(22px,5vw,64px);
}
.site-intro__brand{
  margin:0 0 10px;
  font:700 12px/1.2 Manrope,system-ui,sans-serif;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--construction-amber,#DA962B);
}
.site-intro__title{
  margin:0 0 12px;
  font:800 clamp(28px,5vw,48px)/1.05 "Barlow Condensed",Manrope,sans-serif;
  letter-spacing:.02em;text-wrap:balance;
  text-shadow:0 12px 40px rgba(0,0,0,.45);
}
.site-intro__sub{
  margin:0 0 22px;max-width:36em;
  font:500 15px/1.55 Manrope,system-ui,sans-serif;
  color:rgba(244,245,242,.88);
}
.site-intro__actions{display:flex;flex-wrap:wrap;gap:10px}
.site-intro__btn{
  appearance:none;border:0;cursor:pointer;
  border-radius:10px;padding:12px 18px;
  font:700 14px/1 Manrope,system-ui,sans-serif;
  transition:transform .15s ease,background .15s ease,color .15s ease;
}
.site-intro__btn:hover{transform:translateY(-1px)}
.site-intro__btn:focus-visible{outline:2px solid #DA962B;outline-offset:3px}
.site-intro__btn--primary{
  background:var(--construction-gold,#C8922A);color:#101820;
}
.site-intro__btn--primary:hover{background:var(--construction-amber,#DA962B)}
.site-intro__btn--ghost{
  background:rgba(255,255,255,.08);color:#F4F5F2;
  border:1px solid rgba(255,255,255,.18);
}
.site-intro__btn--ghost:hover{background:rgba(255,255,255,.14)}
.site-intro__x{
  position:absolute;top:14px;right:14px;z-index:3;
  width:42px;height:42px;border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(7,16,26,.45);color:#fff;
  font:700 26px/1 Manrope,sans-serif;
  cursor:pointer;backdrop-filter:blur(6px);
}
.site-intro__x:hover{background:rgba(7,16,26,.7)}
.site-intro__x:focus-visible{outline:2px solid #DA962B;outline-offset:3px}

body.site-intro-lock{overflow:hidden;touch-action:none}

@media (max-width:720px){
  .site-intro__copy{padding:24px 18px 32px}
  .site-intro__actions{width:100%}
  .site-intro__btn{flex:1 1 auto;text-align:center}
}
@media (prefers-reduced-motion:reduce){
  .site-intro,.site-intro.is-leaving{animation:none}
  .site-intro__btn{transition:none}
}
