/* Bronk-Minn — polish layer (keeps the original design language; loads after styles.css) */
/* sticky header polish */
.site-header{transition:box-shadow .3s,background .3s}
.site-header.is-scrolled{box-shadow:0 10px 30px -22px rgba(37,41,35,.55);background:rgba(243,241,235,.94);-webkit-backdrop-filter:saturate(1.2) blur(10px);backdrop-filter:saturate(1.2) blur(10px)}
/* conveyor progress belt under the header */
.belt-progress{position:absolute;left:0;right:0;bottom:-1px;height:3px;overflow:hidden;pointer-events:none}
.belt-progress .belt-fill{position:absolute;inset:0;background:repeating-linear-gradient(90deg,var(--olive) 0 14px,#7d8869 14px 18px);transform-origin:0 50%;transform:scaleX(0);will-change:transform}
.belt-progress .belt-stone{position:absolute;left:-4px;top:-2px;width:7px;height:7px;background:var(--ink);clip-path:polygon(24% 5%,72% 0,100% 42%,75% 96%,30% 100%,0 60%);will-change:transform}
/* tactile states */
.button{will-change:transform}
.button:active{transform:translateY(1px) scale(.985)}
.header-enquire:active,.filter:active{transform:scale(.97)}
.text-link span,.header-enquire span,.button span,.project-card figcaption>span:last-child,.process-footer a>span{display:inline-block;transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.text-link:hover span,.header-enquire:hover span,.button:hover span,.project-card:hover figcaption>span:last-child,.process-footer a:hover>span{transform:translate(3px,-3px)}
.project-card>a{position:relative}
.project-card>a::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(22,25,21,.28));opacity:0;transition:opacity .3s}
.project-card>a:hover::after{opacity:1}
.project-card img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.project-card a:hover img{transform:scale(1.04)}
.video-card video{border-radius:0;transition:box-shadow .3s}
.video-card:hover video{box-shadow:0 18px 40px -26px rgba(22,25,21,.7)}
.material summary h3{transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.material summary:hover h3{transform:translateX(4px)}
.material-density{display:block;margin-top:3px;font-size:11px;color:var(--olive);letter-spacing:.01em;white-space:nowrap}
.material-density b{font-weight:600;color:var(--ink)}
/* scroll reveal (only when JS + motion allowed) */
.anim .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--rd,0s)}
.anim .reveal.is-in{opacity:1;transform:none}
/* conveyor divider */
.conveyor{position:relative;overflow:hidden;overflow:clip;height:74px;margin-top:-8px;margin-bottom:-8px}
.conveyor>.wrap{height:100%}.conveyor-inner{position:relative;height:100%;overflow:hidden;overflow:clip}
.conveyor-belt{position:absolute;left:0;right:0;top:34px;height:14px;border-top:1.5px solid var(--ink);border-bottom:1.5px solid #8e9483;overflow:hidden}
.conveyor-tread{position:absolute;top:2px;bottom:2px;left:-60px;right:-60px;background:repeating-linear-gradient(90deg,transparent 0 22px,#c5c8bb 22px 24px);will-change:transform}
.conveyor-roller{position:absolute;top:35px;width:13px;height:13px;margin-left:-6.5px;border-radius:50%;background:var(--paper);border:1.5px solid var(--ink);will-change:transform}
.conveyor-roller::before{content:'';position:absolute;left:50%;top:1px;bottom:1px;width:1.5px;margin-left:-.75px;background:var(--ink)}
.conveyor-leg{position:absolute;top:50px;width:1px;height:14px;background:#c3c7b8}
.conveyor-load{position:absolute;left:0;top:18px;width:100%;height:16px;will-change:transform}
.conveyor-load i{position:absolute;bottom:0;width:11px;height:9px;background:#8e9483;clip-path:polygon(24% 5%,72% 0,100% 42%,75% 96%,30% 100%,0 60%)}
.conveyor-load i:nth-child(3n){background:#666e5b;width:9px;height:8px}
.conveyor-load i:nth-child(3n+1){background:#a3a28d;width:13px;height:10px}
.conveyor-next{position:absolute;right:0;top:0;display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:.1em;font-weight:600;text-transform:uppercase;color:var(--muted);background:var(--paper);padding-left:12px}
.conveyor-next span{width:22px;height:22px;border:1px solid #bcc1b2;border-radius:50%;display:grid;place-items:center;font-size:13px;color:var(--ink);transition:transform .2s}
.conveyor-next:hover span{transform:translateY(2px)}
.conveyor-dark .conveyor-next{background:var(--paper-dark)}
/* tipper scene in materials */
.tip-scene{position:relative;width:min(300px,78vw);height:110px;margin:-10px 0 26px auto}
.tip-scene svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.tip-scene .t-line{fill:none;stroke:var(--ink);stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round}
.tip-scene .t-soft{fill:none;stroke:#8e9483;stroke-width:1.2;stroke-linecap:round}
.tip-scene .t-wheel{fill:var(--paper-dark);stroke:var(--ink);stroke-width:1.4}
.tip-scene .t-hub{fill:var(--olive)}
.tip-scene .t-bin{transform-box:view-box;transform-origin:202px 74px;transition:transform 1.1s cubic-bezier(.6,0,.3,1)}
.tip-scene.is-tipping .t-bin{transform:rotate(30deg)}
.tip-scene .t-load{transition:opacity .5s .55s}
.tip-scene.is-tipping .t-load{opacity:0}
.tip-scene .p{opacity:0;transform-box:fill-box;transform-origin:center}
.tip-scene.is-tipping .p{animation:bm-fall .85s cubic-bezier(.45,0,.8,.55) var(--pd,0s) both}
@keyframes bm-fall{0%{opacity:0;transform:translate(0,0) rotate(0)}12%{opacity:1}100%{opacity:1;transform:translate(var(--px),var(--py)) rotate(var(--pr))}}
.tip-scene .t-pile{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(0);transition:transform 1s cubic-bezier(.2,.7,.2,1) .95s}
.tip-scene.is-tipping .t-pile{transform:scaleY(1)}
.tip-scene .t-reset .t-bin{transition-duration:.9s}
.tip-scene .t-cab-window{fill:#c0c9a8;opacity:.55}
@media(max-width:600px){.tip-scene{height:92px;margin:-4px 0 18px auto}.conveyor{height:66px}.conveyor-next{font-size:8px}}
/* lightbox (uses the existing #gallery-dialog markup) */
#gallery-dialog{width:min(1100px,calc(100vw - 24px));max-width:calc(100vw - 24px);overflow-x:hidden;padding:18px 18px 14px;background:#1d201b;color:var(--paper)}
#gallery-dialog .gallery-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:11px;letter-spacing:.1em;color:#b9beb0}
#gallery-dialog .dialog-close{color:var(--paper);border-color:#4b5245}
#gallery-image{width:100%;min-width:0;height:auto;max-height:calc(100dvh - 190px);object-fit:contain;background:#151713}
.gallery-controls{min-width:0;display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:12px}
.gallery-controls button{width:46px;height:46px;border:1px solid #4b5245;background:transparent;color:var(--paper);font-size:20px;flex:none;transition:background .2s}
.gallery-controls button:hover{background:#2c3128}
#gallery-caption{font-size:13px;text-align:center;color:#d8dccf}
/* small fixes */
.video-card figcaption{display:flex;justify-content:space-between;gap:10px}
@media(max-width:600px){.video-grid{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){
 .anim .reveal{opacity:1!important;transform:none!important}
 .conveyor-load,.conveyor-tread,.conveyor-roller{transform:none!important}.belt-progress{display:none}
 .tip-scene .t-bin{transform:none!important}.tip-scene .t-pile{transform:none!important}
 .tip-scene .p{display:none}.tip-scene .t-load{opacity:1!important}
}
.stones-iron i{background:#6f6a5e}.stones-iron i::after{background:#4a4a40}
#gallery-dialog .gallery-bar{position:relative;z-index:2}
#gallery-dialog .dialog-close{display:inline-grid!important;place-items:center;width:44px;height:44px;min-width:44px;flex:none;font-size:26px;line-height:1;color:#fff!important;background:#2c3128;border:1px solid #6b7462;border-radius:50%;opacity:1;visibility:visible;position:static;transform:none}
