.excavator-stage{position:absolute;z-index:0;left:38%;right:-2%;top:145px;bottom:170px;pointer-events:none;opacity:0;transition:opacity .6s}
.excavator-stage canvas{width:100%;height:100%;display:block}
.animation-ready .excavator-stage{opacity:1}
.hero.animation-ready{background:#10171c}
.animation-ready .hero-media{opacity:.075}
.animation-ready .hero-media img{animation:none;filter:grayscale(1)}
.animation-ready .hero-shade{background:radial-gradient(ellipse at 76% 45%,#4c422719,transparent 65%),linear-gradient(90deg,#10171cee 15%,#10171c40 52%,transparent)!important}
.animation-ready .hero-content{pointer-events:none;z-index:1}
.animation-ready .hero-content a{pointer-events:auto}
.animation-ready .hero-frame,.animation-ready #hero-image-credit{display:none}
.animation-ready h1{font-size:clamp(78px,7.7vw,124px);max-width:740px}
.animation-ready .hero-description{max-width:340px}
.scene-controls{position:absolute;z-index:3;right:56px;bottom:118px;width:330px;padding:18px 20px;border:1px solid #ffffff26;background:#172024d9;backdrop-filter:blur(12px)}
.scene-topline{display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:1.5px;color:#9daaad}
.scene-topline>span:last-child{color:var(--orange);letter-spacing:1px}
.scene-controls h2{font:600 18px/1.25 Barlow,Arial,sans-serif;letter-spacing:-.2px;color:#f6f5ef;margin:10px 0 14px}
.scene-controls input[type=range]{appearance:none;width:100%;height:3px;margin:7px 0 17px;padding:0;background:#68757366;accent-color:var(--orange);cursor:pointer;display:block}
.scene-controls input[type=range]::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border-radius:50%;background:var(--orange);border:2px solid #172024;box-shadow:0 0 0 1px var(--orange)}
.scene-controls input[type=range]::-moz-range-thumb{width:9px;height:9px;border-radius:50%;background:var(--orange);border:2px solid #172024}
.scene-bottomline{display:flex;align-items:center;gap:18px}
.scene-bottomline button{display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:5px 0;color:#e0e4df;font-size:11px;font-weight:600;min-height:30px}
.scene-bottomline button:hover{color:var(--orange)}
.scene-bottomline button>span:first-child{color:var(--orange);font-size:13px;min-width:12px;text-align:center}
.scene-bottomline time{margin-left:auto;font-size:9px;letter-spacing:1px;color:#9daaad;font-variant-numeric:tabular-nums}
.scene-badge{position:absolute;right:56px;top:148px;color:#94a29f;font-size:8px;letter-spacing:1.7px;display:none;z-index:2}
.animation-ready .scene-badge{display:flex;align-items:center;gap:8px}
.scene-badge:before{content:'';width:5px;height:5px;background:var(--orange);border-radius:50%}
.scene-bottomline #scene-expand{margin-left:auto;font-size:14px;padding:5px 7px;color:var(--orange)}
.scene-bottomline #scene-expand+time{margin-left:0}
.scene-dialog-open{overflow:hidden}
.scene-dialog{position:fixed;width:min(1180px,calc(100vw - 32px));height:min(800px,92svh);max-height:92svh;margin:auto;border:1px solid #59615a;background:radial-gradient(ellipse at 50% 50%,#273039,#11191e 70%);color:#f6f5ef;padding:0;overflow:hidden}
.scene-dialog::backdrop{background:#080d12ec;backdrop-filter:blur(12px)}
.scene-dialog>p{position:absolute;top:24px;left:28px;font-size:10px;letter-spacing:2px;color:#abb6b4}
.scene-dialog #scene-close{position:absolute;z-index:5;right:20px;top:16px;width:42px;height:42px;font-size:29px;line-height:1;color:#fff;background:#172024;border:1px solid #ffffff4d}
.scene-dialog .excavator-stage{inset:48px 0 160px;opacity:1}
.scene-dialog .scene-controls{bottom:20px;left:50%;right:auto;transform:translateX(-50%);width:min(400px,calc(100% - 36px));padding:14px 18px}
.scene-dialog .scene-controls h2{font-size:18px;margin:8px 0}
.scene-dialog .scene-controls input[type=range]{margin:8px 0 10px}
@media(min-width:1600px){.scene-controls,.scene-badge{right:max(56px,calc((100vw - 1408px)/2))}.excavator-stage{right:2%}}
@media(max-width:1100px) and (min-width:761px){.excavator-stage{left:35%;right:-5%;top:200px;bottom:180px}.animation-ready h1{font-size:clamp(76px,8.5vw,100px)}.scene-controls{right:36px;width:285px;bottom:108px}.scene-badge{right:36px;top:155px}.animation-ready .hero-actions{max-width:430px;gap:16px;flex-wrap:wrap}}
@media(max-width:760px){.hero.animation-ready{min-height:1160px;max-height:none;justify-content:flex-start}.animation-ready .hero-content{padding-bottom:550px}.animation-ready h1{font-size:clamp(62px,12.8vw,95px);line-height:.93;max-width:100%}.animation-ready .hero-shade{background:linear-gradient(0deg,#10171c 4%,#10171c40 45%,#10171ccc)!important}.excavator-stage{left:-6%;right:-6%;top:610px;bottom:238px}.scene-controls{left:20px;right:20px;bottom:105px;width:auto;padding:13px 15px}.scene-controls h2{font-size:16px;margin:8px 0 9px}.scene-topline{font-size:7px;letter-spacing:1.25px}.scene-controls input[type=range]{margin:6px 0 8px}.scene-bottomline button{min-height:32px}.scene-badge{top:590px;left:20px;right:auto;font-size:7px;letter-spacing:1.3px}.animation-ready .hero-media{opacity:.1}.animation-ready .hero-registration{margin-top:20px}}
@media(max-width:420px){.hero.animation-ready{min-height:1085px}.animation-ready .hero-content{padding-top:154px;padding-bottom:500px}.animation-ready h1{font-size:clamp(52px,15.2vw,64px)}.excavator-stage{top:560px;bottom:240px}.scene-badge{top:552px}.animation-ready .hero-description{max-width:320px}}
@media(max-width:350px){.hero.animation-ready{min-height:1150px}.animation-ready h1{font-size:50px}.excavator-stage{top:610px}.scene-badge{top:608px}.scene-bottomline{gap:16px}.scene-controls h2{font-size:15px}}
@media(max-width:760px){.scene-dialog{width:calc(100vw - 18px);height:82svh}.scene-dialog>p{left:18px;font-size:8px;max-width:220px;line-height:1.8}.scene-dialog #scene-close{right:12px;top:14px;width:36px;height:36px}.scene-dialog .excavator-stage{inset:74px -4% 175px}.scene-dialog .scene-controls{bottom:18px;padding:13px 15px}.scene-dialog .scene-controls h2{font-size:17px}}
@media(prefers-reduced-motion:reduce){.excavator-stage{transition:none}}
/* Let mobile content determine the scene position, including larger text sizes. */
@media(max-width:760px){
  .hero.animation-ready{min-height:0;padding-bottom:100px;justify-content:flex-start}
  .animation-ready .hero-content{order:0;padding-bottom:0;margin-bottom:25px}
  .animation-ready>.scene-badge{order:1;position:relative;inset:auto;margin:0 20px 0}
  .animation-ready>.excavator-stage{order:2;position:relative;inset:auto;width:112%;height:340px;flex:0 0 340px;margin:-7px -6% -14px}
  .animation-ready>.scene-controls{order:3;position:relative;inset:auto;width:calc(100% - 40px);margin:0 20px 0}
  .animation-ready .hero-bottom{bottom:25px}
}
