/* A translucent header reveals the banner while preserving the black JM. */
:root{--header-height:132px}
.header{position:fixed;inset:0 0 auto;background:rgba(243,245,248,.80);border-bottom:1px solid rgba(255,255,255,.4);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.header-inner{height:132px}
.brand-logo{display:flex;width:238px;height:106px;align-items:center;justify-content:center;flex-shrink:0}
.brand-logo img{position:static;display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.header .brand-logo--shine{position:relative;isolation:isolate}
.logo-shine{position:absolute;inset:0;pointer-events:none;-webkit-mask:url('assets/jet-metal-logo-transparent.png') center/contain no-repeat;mask:url('assets/jet-metal-logo-transparent.png') center/contain no-repeat;mask-mode:alpha}
.logo-shine-streak{position:absolute;top:-50%;left:0;width:28%;height:200%;opacity:0;background:linear-gradient(90deg,transparent 0%,rgba(217,233,255,.08) 20%,rgba(236,245,255,.5) 39%,rgba(255,255,255,.95) 49%,rgba(255,255,255,.82) 54%,rgba(218,233,255,.2) 70%,transparent 100%);transform:translateX(400%) skewX(-18deg)}
@media(prefers-reduced-motion:reduce){.logo-shine{display:none}}
.builders-impact{position:relative;display:inline-block;vertical-align:baseline;isolation:isolate}
.builders-word{position:relative;display:inline-block;z-index:1;transform-origin:50% 100%}
.builders-dust{position:absolute;inset:auto -5% -.035em;height:.45em;pointer-events:none;z-index:0}
.dust-puff,.dust-speck{position:absolute;bottom:0;opacity:0;transform-origin:center bottom;pointer-events:none}
.dust-puff{width:.68em;height:.3em;margin-left:-.34em;background:radial-gradient(ellipse at 50% 65%,rgba(194,209,227,.48),rgba(133,159,190,.2) 42%,transparent 72%)}
.dust-speck{width:.035em;height:.025em;border-radius:50%;background:#b9c9dd}
@media(prefers-reduced-motion:no-preference){
  .builders-impact.is-pending .builders-word{opacity:0;transform:translate3d(0,-1.25em,0) scale(1.14) rotate(-2deg);animation:builders-reveal-fallback 1ms step-end 3200ms forwards}
  .builders-impact.is-slamming .builders-word{animation:builders-slam 740ms linear 180ms both}
  .builders-impact.is-slamming .dust-puff{animation:builders-dust-puff 600ms ease-out 520ms both}
  .builders-impact.is-slamming .dust-speck{animation:builders-dust-speck 520ms cubic-bezier(.12,.65,.3,1) 520ms both}
}
@keyframes builders-slam{
  0%{opacity:0;transform:translate3d(0,-1.25em,0) scale(1.14) rotate(-2deg);animation-timing-function:cubic-bezier(.4,0,.9,.35)}
  18%{opacity:1;transform:translate3d(0,-1.1em,0) scale(1.1) rotate(-1deg);animation-timing-function:cubic-bezier(.4,0,1,1)}
  46%{opacity:1;transform:translate3d(0,.055em,0) scale(1.045,.88) rotate(.35deg);animation-timing-function:ease-out}
  60%{opacity:1;transform:translate3d(0,-.045em,0) scale(.992,1.045) rotate(-.2deg);animation-timing-function:ease-in-out}
  76%{opacity:1;transform:translate3d(0,.012em,0) scale(1.01,.98);animation-timing-function:ease-in-out}
  88%{opacity:1;transform:translate3d(0,-.007em,0) scale(1,1.01);animation-timing-function:ease-out}
  100%{opacity:1;transform:none}
}
@keyframes builders-reveal-fallback{to{opacity:1;transform:none}}
@keyframes builders-dust-puff{
  0%{opacity:0;transform:translate3d(0,0,0) scale(.22,.3)}
  12%{opacity:.8}
  55%{opacity:.3}
  100%{opacity:0;transform:translate3d(var(--dust-x),var(--dust-y),0) scale(1.9,1.4)}
}
@keyframes builders-dust-speck{
  0%{opacity:0;transform:translate3d(0,0,0) scale(.4)}
  8%{opacity:.65}
  100%{opacity:0;transform:translate3d(var(--dust-x),var(--dust-y),0) scale(.1)}
}
@media(prefers-reduced-motion:reduce){.builders-word{opacity:1;transform:none;animation:none!important}.builders-dust{display:none}}
nav{color:var(--ink)}
nav>a:hover{color:var(--blue)}
.nav-contact{color:var(--ink);border-color:#b8c1d0}
.nav-contact:hover{color:white}
.menu-toggle{border-color:#aeb7c6}
.menu-toggle span{background:var(--ink)}
.footer{background:var(--paper);color:var(--muted);border-top:1px solid var(--line)}
.footer-top{border-bottom-color:var(--line)}
.footer-top>div>a{color:var(--ink)}
.footer-bottom{color:var(--muted)}
.footer-bottom a:hover{color:var(--blue)}
html{scroll-padding-top:145px}
.hero{padding-top:var(--header-height);min-height:calc(680px + var(--header-height))}
.hero-image{left:auto;top:var(--header-height);bottom:auto;aspect-ratio:4/3;width:min(55%,calc((680px + var(--header-height)) * 1.333333));opacity:1}
.hero-image>img{object-fit:contain;object-position:right top}
.hero-image:after{top:0;background:linear-gradient(90deg,var(--black) 0%,rgba(8,10,14,.45) 17%,transparent 45%),linear-gradient(0deg,var(--black),transparent 22%)}
@media(min-width:1700px){.hero{min-height:max(calc(760px + var(--header-height)),calc(var(--header-height) + min(40.5vw,calc(760px + var(--header-height)))))}.hero-image{width:min(54%,calc((760px + var(--header-height)) * 1.333333))}}
@media(max-width:1100px){:root{--header-height:124px}.brand-logo{width:212px;height:102px}.header-inner{height:124px}.hero{min-height:calc(660px + var(--header-height))}.hero-image{width:min(62%,calc((660px + var(--header-height)) * 1.333333))}.hero-image:after{background:linear-gradient(90deg,var(--black),rgba(8,10,14,.55) 35%,transparent 70%),linear-gradient(0deg,var(--black),transparent 22%)}}
@media(max-width:800px){:root{--header-height:118px}.header-inner{height:118px}.brand-logo{width:205px;height:97px}nav{top:118px;background:rgba(243,245,248,.97);border-bottom-color:var(--line)}html{scroll-padding-top:130px}.footer-top .brand-logo{width:238px;height:108px}.hero{min-height:auto}.hero-image{left:0;width:100%}.hero-image>img{object-position:right top}.hero-image:after{background:linear-gradient(90deg,rgba(8,10,14,.91),rgba(8,10,14,.67)),linear-gradient(0deg,var(--black),transparent 60%)}}
@media(max-width:420px){.brand-logo{width:190px;height:95px}}
.builders-intro h2{font-size:28px}
@media(max-width:800px){.builders-intro h2{font-size:25px}}
.logo-group{flex-shrink:0}
.builder-logo:focus-visible{outline-offset:-6px}
@keyframes marquee{to{transform:translateX(calc(-1 * var(--marquee-distance,0px)))}}
@media(prefers-reduced-motion:reduce){.logo-group[aria-hidden="true"]{display:none}}
.sky-mask{position:absolute;width:0;height:0;pointer-events:none}
.hero-sky{position:absolute;inset:0;overflow:hidden;clip-path:url(#hero-sky-clip);pointer-events:none;isolation:isolate}
.cloud-layer{position:absolute;left:0;top:0;width:250%;height:100%;background:url('assets/north-texas-cloud-sky.png') center/100% 100% no-repeat;animation:sky-drift 160s linear infinite;will-change:transform}
.cloud-layer--alternate{opacity:0;animation:sky-drift 160s linear -80s infinite,sky-crossfade 160s linear -80s infinite}
@keyframes sky-drift{from{transform:translateX(0)}to{transform:translateX(-20%)}}
@keyframes sky-crossfade{0%,70%,100%{opacity:0}20%,50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.cloud-layer{animation:none;transform:none;will-change:auto}.cloud-layer--alternate{display:none}}

/* Keep expanded navigation comfortable on smaller desktop screens. */
@media(min-width:801px) and (max-width:1100px){.header-inner{gap:18px}.header .brand-logo{width:180px}nav{gap:12px;font-size:11px}.nav-contact{padding:10px 12px}}
