:root{--yellow:#f6c515;--soft-yellow:#fff0a0;--ink:#111315;--steel:#626a70;--muted:#555d62;--line:#c5c2b8;--paper:#f7f5ef;--white:#fff;--display:"DIN 2014","Bahnschrift Condensed","Arial Narrow",sans-serif;--body:"DIN 2014","Bahnschrift",Arial,sans-serif;--pad:clamp(1.25rem,4vw,4.5rem);--header:5.25rem;--ease:cubic-bezier(.22,.72,.18,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:#fff}body{margin:0;color:var(--ink);background:#fff;font-family:var(--body)}body.dialog-open,body.menu-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}.skip-link{position:fixed;z-index:200;top:.7rem;left:.7rem;padding:.7rem 1rem;background:var(--yellow);transform:translateY(-160%)}.skip-link:focus{transform:none}
.site-header{position:fixed;z-index:90;inset:0 0 auto;min-height:var(--header);display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:.85rem var(--pad);background:rgba(255,255,255,.94);border-bottom:1px solid transparent;transition:.25s ease;backdrop-filter:blur(12px)}.site-header.is-solid{min-height:4.6rem;border-color:var(--line)}.brand{width:clamp(9.5rem,14vw,12rem);height:3.25rem;overflow:hidden}.brand img{width:100%;height:100%;object-fit:contain}.primary-nav{display:flex;align-items:center;gap:clamp(.7rem,1.55vw,1.5rem);font-family:var(--display);font-size:.72rem;font-weight:800;letter-spacing:.085em;text-transform:uppercase}.primary-nav a{position:relative;padding:.8rem 0}.primary-nav a:after{content:"";position:absolute;right:0;bottom:.35rem;left:0;height:2px;background:var(--yellow);transform:scaleX(0);transform-origin:left;transition:transform .2s}.primary-nav a:hover:after,.primary-nav a:focus-visible:after{transform:scaleX(1)}.nav-contact{min-height:2.85rem;padding:0 1.15rem;border:1px solid var(--ink);background:var(--yellow);font-family:var(--display);font-size:.76rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}.menu-toggle{display:none;align-items:center;gap:.65rem;border:0;background:transparent;font-family:var(--display);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.menu-icon,.menu-icon:before,.menu-icon:after{display:block;width:1.45rem;height:2px;background:currentColor;transition:.2s}.menu-icon{position:relative}.menu-icon:before,.menu-icon:after{content:"";position:absolute;left:0}.menu-icon:before{top:-.4rem}.menu-icon:after{top:.4rem}.menu-toggle[aria-expanded=true] .menu-icon{background:transparent}.menu-toggle[aria-expanded=true] .menu-icon:before{top:0;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon:after{top:0;transform:rotate(-45deg)}
.scene-rail{position:fixed;z-index:80;top:50%;right:clamp(.65rem,1.8vw,1.8rem);display:grid;gap:.55rem;transform:translateY(-50%)}.rail-line{position:absolute;z-index:-1;top:.6rem;bottom:.6rem;left:50%;width:1px;background:var(--line)}.scene-rail a{position:relative;width:1.45rem;height:1.45rem;display:grid;place-items:center;border:1px solid var(--steel);border-radius:50%;background:#fff;transition:.2s}.scene-rail a:after{content:"";width:.3rem;height:.3rem;border-radius:50%;background:var(--steel)}.scene-rail a span{position:absolute;right:2rem;font-family:var(--display);font-size:.62rem;font-weight:800;opacity:0;transition:.2s}.scene-rail a:hover span,.scene-rail a:focus-visible span,.scene-rail a.is-active span{opacity:1}.scene-rail a.is-active{border-color:var(--ink);background:var(--yellow);transform:scale(1.12)}.scene-rail a.is-active:after{background:var(--ink)}
.scene{position:relative;min-height:100svh;overflow:hidden;isolation:isolate;background:#fff;border-bottom:1px solid var(--line)}.kicker{margin:0 0 .9rem;font-family:var(--display);font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.lede{max-width:36rem;margin:1.4rem 0 2rem;color:var(--muted);font-size:clamp(.95rem,1.4vw,1.15rem);line-height:1.65}.button{min-height:3.25rem;display:inline-flex;align-items:center;justify-content:space-between;gap:1.6rem;padding:0 1.2rem;border:1px solid var(--ink);border-radius:0;font-family:var(--display);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:.2s}.button:hover{transform:translateY(-2px)}.button--yellow{background:var(--yellow)}.button--yellow:hover{background:var(--soft-yellow)}.button--dark{background:var(--ink);color:#fff}.button--outline{background:#fff}.button--outline:hover{background:var(--ink);color:#fff}.button--large{min-width:min(100%,20rem);min-height:4rem}.text-action{width:max-content;padding:.65rem 0;border:0;border-bottom:2px solid var(--yellow);background:transparent;font-family:var(--display);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.scene-index{position:absolute;right:var(--pad);bottom:1.1rem;display:flex;align-items:center;gap:.65rem;font-family:var(--display);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}.scene-index span{display:grid;width:1.8rem;height:1.8rem;place-items:center;background:var(--yellow);font-weight:800}.scene-index strong{font-weight:700;color:var(--muted)}
.scene--hero{display:grid;grid-template-columns:minmax(22rem,.8fr) minmax(30rem,1.2fr);align-items:center;padding:calc(var(--header) + 2rem) var(--pad) 3rem}.hero-copy{position:relative;z-index:2;padding-left:clamp(0rem,3vw,3rem)}.hero-copy h1{margin:0;font-family:var(--display);font-size:clamp(4.4rem,8.8vw,9.2rem);font-weight:800;line-height:.78;letter-spacing:-.045em;text-transform:uppercase}.hero-copy h1 span{color:var(--yellow);-webkit-text-stroke:1px var(--ink)}.hero-media{align-self:stretch;display:grid;place-items:center;margin:0}.hero-media img{width:100%;height:100%;max-height:calc(100svh - var(--header));object-fit:contain}.scroll-cue{position:absolute;bottom:1.25rem;left:var(--pad);display:flex;gap:.8rem;font-family:var(--display);font-size:.65rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem}.section-heading h2,.service-copy h2,.machines-heading h2,.footer-callout h2{margin:0;font-family:var(--display);font-size:clamp(3.2rem,6.4vw,6.8rem);font-weight:800;line-height:.82;letter-spacing:-.035em;text-transform:uppercase}.section-heading h2 span,.service-copy h2 span,.machines-heading h2 span,.footer-callout h2 span{color:var(--yellow);-webkit-text-stroke:1px var(--ink)}.section-heading>p{max-width:29rem;margin:0;color:var(--muted);line-height:1.6}.scene--parts{display:grid;grid-template-rows:auto 1fr auto;padding:calc(var(--header) + 1.5rem) var(--pad) 3.4rem}.parts-explorer{min-height:28rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(15rem,22rem);align-items:center;gap:clamp(1.5rem,4vw,4rem)}.parts-image-wrap{position:relative;align-self:center}.parts-image-wrap>img{width:100%;height:auto}.part-hotspot{position:absolute;width:clamp(1.15rem,1.8vw,1.65rem);aspect-ratio:1;border:2px solid #fff;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 2px var(--ink),0 0 0 8px rgba(246,197,21,.14);cursor:pointer;transition:.25s}.part-hotspot:hover,.part-hotspot:focus-visible,.part-hotspot[aria-pressed=true]{transform:scale(1.35);box-shadow:0 0 0 2px var(--ink),0 0 0 14px rgba(246,197,21,.25)}.part-hotspot span{position:absolute;bottom:calc(100% + .75rem);left:50%;padding:.35rem .5rem;border:1px solid var(--ink);background:#fff;font-family:var(--display);font-size:.62rem;font-weight:800;letter-spacing:.08em;white-space:nowrap;text-transform:uppercase;opacity:0;transform:translate(-50%,.4rem);transition:.2s}.part-hotspot:hover span,.part-hotspot:focus-visible span,.part-hotspot[aria-pressed=true] span{opacity:1;transform:translate(-50%,0)}.hotspot--shoes{top:26%;left:40%}.hotspot--carrier{top:39%;left:53%}.hotspot--idler{top:55%;left:14%}.hotspot--rollers{top:70%;left:36%}.hotspot--guards{top:59%;left:52%}.hotspot--frame{top:55%;left:61%}.hotspot--sprocket{top:56%;left:80%}.hotspot--links{top:48%;left:91%}.part-readout{padding:1.5rem;border-left:3px solid var(--yellow);background:#fff}.part-readout>span{color:var(--muted);font-size:.63rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.part-readout strong{display:block;margin:.35rem 0 .7rem;font-family:var(--display);font-size:1.6rem;text-transform:uppercase}.part-readout p{margin:0 0 1.2rem;color:var(--muted);font-size:.86rem;line-height:1.55}.scene-actions{display:flex;gap:.8rem}.part-search{position:absolute;z-index:10;right:var(--pad);bottom:6.5rem;left:var(--pad);padding:1.15rem;border:1px solid var(--ink);background:#fff;box-shadow:1rem 1rem 0 rgba(17,19,21,.12)}.part-search[hidden]{display:none}.part-search label{display:block;margin-bottom:.55rem;font-family:var(--display);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.part-search div{display:grid;grid-template-columns:1fr auto}.part-search input{min-width:0;min-height:3.25rem;padding:0 .85rem;border:1px solid var(--ink);border-right:0}.part-search p{margin:.6rem 0 0;color:var(--muted);font-size:.7rem}
.scene--service{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;padding:calc(var(--header) + 1rem) var(--pad) 3rem}.service-media{align-self:stretch;display:grid;place-items:center;margin:0}.service-media img{width:100%;height:100%;max-height:calc(100svh - var(--header) - 5rem);object-fit:contain}.service-copy{position:relative;z-index:2;max-width:39rem;padding:clamp(1rem,3vw,3rem);border-left:3px solid var(--yellow)}.service-copy>p:not(.kicker){max-width:34rem;margin:1.5rem 0 2rem;color:var(--muted);line-height:1.65}.service-steps{position:absolute;bottom:2rem;left:var(--pad);display:flex;gap:.6rem}.service-steps span{padding:.5rem .7rem;border:1px solid var(--line);font-family:var(--display);font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.scene--machines{display:grid;grid-template-rows:auto 1fr auto;padding:calc(var(--header) + 1rem) var(--pad) 3.5rem}.machines-heading{position:absolute;z-index:2;top:calc(var(--header) + 1rem);left:var(--pad)}.machines-heading h2{font-size:clamp(2.7rem,5vw,5rem)}.machines-media{min-height:0;display:grid;place-items:center;margin:0}.machines-media img{width:100%;height:100%;max-height:65svh;object-fit:contain}.machine-actions{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,8vw,9rem);padding:0 clamp(1rem,7vw,7rem)}.machine-actions article{padding-top:1rem;border-top:2px solid var(--ink)}.machine-actions h3{margin:0;font-family:var(--display);font-size:clamp(1.7rem,2.8vw,3rem);text-transform:uppercase}.machine-actions article>p:not(.kicker){max-width:28rem;color:var(--muted);line-height:1.5}
.site-footer{min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--header) + 2rem) var(--pad) 1.2rem}.footer-callout{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2rem;padding-bottom:clamp(2rem,6vh,5rem);border-bottom:1px solid var(--ink)}.footer-callout .kicker{grid-column:1/-1}.footer-callout h2{font-size:clamp(4rem,9vw,9rem)}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:clamp(2rem,4vw,5rem);padding:clamp(2.5rem,6vh,5rem) 0}.footer-grid>div,.footer-grid nav{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem}.footer-brand img{width:13rem}.footer-grid p{max-width:25rem;margin:0;color:var(--muted);line-height:1.55}.footer-grid strong{margin-bottom:.45rem;font-family:var(--display);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.footer-grid a,.footer-grid button,.footer-grid span{color:var(--muted);font-size:.82rem}.footer-grid button{padding:0;border:0;border-bottom:2px solid var(--yellow);background:transparent;cursor:pointer}.footer-bottom{display:flex;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase}
.enquiry-dialog{width:min(72rem,calc(100% - 2rem));max-height:calc(100svh - 2rem);padding:0;border:1px solid var(--ink);background:#fff}.enquiry-dialog::backdrop{background:rgba(17,19,21,.68);backdrop-filter:blur(6px)}.dialog-shell{position:relative;display:grid;grid-template-columns:.82fr 1.18fr;min-height:35rem}.dialog-close{position:absolute;z-index:2;top:1rem;right:1rem;width:2.8rem;height:2.8rem;border:1px solid var(--ink);background:#fff;font-size:1.7rem;cursor:pointer}.dialog-intro{padding:clamp(2rem,5vw,5rem);background:var(--yellow)}.dialog-intro h2{margin:0;font-family:var(--display);font-size:clamp(3.5rem,6vw,6rem);line-height:.82;text-transform:uppercase}.dialog-intro>p:last-child{max-width:29rem;margin-top:2rem;line-height:1.6}.enquiry-form{align-content:center;display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:clamp(2rem,5vw,5rem)}.field{display:grid;gap:.45rem}.field--wide{grid-column:1/-1}.field label{font-family:var(--display);font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;min-height:3rem;padding:.75rem;border:1px solid var(--line);border-radius:0;background:#fff}.field input[aria-invalid=true],.field select[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#a02f20;box-shadow:0 0 0 1px #a02f20}.form-status{min-height:1.2rem;margin:0;color:#8c281d;font-size:.78rem}.form-status.is-success{color:#245f32}
@media(max-width:900px){:root{--header:4.7rem}.site-header{padding-inline:1.15rem;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.brand{position:relative;z-index:2;width:9.5rem}.menu-toggle{position:relative;z-index:2;display:flex}.primary-nav{position:fixed;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;padding:7.5rem 3rem 2.5rem;background:#fff;font-size:1rem;line-height:1.2;transform:translateX(100%);transition:transform .4s var(--ease)}.primary-nav a{margin:0 0 1.75rem;padding:.35rem 0;letter-spacing:.11em}.primary-nav a:after{bottom:0;height:3px}.primary-nav .nav-contact{min-height:3rem;margin-top:.15rem;padding:0 1.2rem;font-size:.72rem}.primary-nav.is-open{transform:none}.scene-rail{right:.45rem}.scene-rail a{width:1.15rem;height:1.15rem}.scene-rail a span{display:none}.scene--hero{grid-template-columns:1fr;padding-top:calc(var(--header) + 1rem)}.hero-copy{align-self:end;grid-row:2;padding:0 0 3rem}.hero-media{grid-row:1;max-height:54svh}.hero-media img{max-height:54svh}.parts-explorer{grid-template-columns:1fr}.part-readout{display:none}.scene--service{grid-template-columns:1fr;align-content:center}.service-media{max-height:55svh}.service-copy{margin-top:-3rem;background:rgba(255,255,255,.94)}.service-steps{display:none}.machines-heading{position:relative;top:auto;left:auto}.machines-media img{max-height:52svh}.footer-callout{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.dialog-shell{grid-template-columns:1fr}.dialog-intro{padding:2rem}.dialog-intro>p:last-child{display:none}.enquiry-form{padding:2rem}}
@media(max-width:600px){:root{--pad:1.1rem}.scene{min-height:100svh}.scene-index{display:none}.scene--hero{grid-template-rows:45svh 1fr;padding-bottom:1.5rem}.hero-copy h1{font-size:clamp(3.55rem,18vw,5rem)}.hero-media{max-height:45svh}.hero-media img{max-height:45svh}.lede{margin:1rem 0 1.25rem;font-size:.88rem}.scroll-cue{display:none}.section-heading{display:block}.section-heading h2,.service-copy h2,.machines-heading h2{font-size:clamp(2.8rem,14vw,4.2rem)}.section-heading>p{display:none}.scene--parts{grid-template-rows:auto 1fr auto;padding-top:calc(var(--header) + 1rem)}.parts-explorer{min-height:19rem}.parts-image-wrap{transform:scale(1.08)}.part-hotspot{width:1rem;box-shadow:0 0 0 1px var(--ink),0 0 0 5px rgba(246,197,21,.18)}.part-hotspot span{display:none}.scene-actions{display:grid;grid-template-columns:1fr 1fr}.scene-actions .button{min-width:0;gap:.25rem;padding-inline:.65rem;font-size:.68rem}.part-search{bottom:5.5rem}.part-search div{grid-template-columns:1fr}.part-search input{border-right:1px solid var(--ink);border-bottom:0}.scene--service{align-content:start;padding:calc(var(--header) + .5rem) var(--pad) 2rem}.service-media{height:52svh}.service-media img{object-position:center top}.service-copy{margin-top:-5rem;padding:1.2rem;border-left:3px solid var(--yellow)}.service-copy>p:not(.kicker){margin:1rem 0 1.3rem;font-size:.82rem}.scene--machines{padding-top:calc(var(--header) + 1rem)}.machines-heading h2{font-size:2.7rem}.machines-media{min-height:38svh}.machines-media img{width:130%;max-width:none;height:auto}.machine-actions{grid-template-columns:1fr 1fr;gap:1.1rem;padding:0}.machine-actions h3{font-size:1.25rem}.machine-actions article>p:not(.kicker){font-size:.72rem}.text-action{font-size:.62rem}.site-footer{padding-top:calc(var(--header) + 1rem)}.footer-callout{gap:1.5rem}.footer-callout h2{font-size:clamp(3.4rem,17vw,5rem)}.footer-grid{grid-template-columns:1fr 1fr;gap:2rem 1.1rem;padding:2rem 0}.footer-brand,.footer-grid>div:last-child{grid-column:1/-1}.enquiry-dialog{width:100%;max-height:100svh;margin:0}.dialog-shell{min-height:100svh}.dialog-intro h2{font-size:3rem}.enquiry-form{grid-template-columns:1fr;padding:1.4rem}.field,.field--wide{grid-column:1}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.site-footer>.scene-index{top:calc(var(--header) + 1.25rem);bottom:auto}

/* First composition refinement: sketch-led hero, restrained dimensional type, simplified parts. */
.section-heading h2 span,.service-copy h2 span,.machines-heading h2 span,.footer-callout h2 span{color:var(--yellow);-webkit-text-stroke:0;text-shadow:1px 1px 0 #d6a900,2px 2px 0 #b88900}
.scene--hero{display:block;padding:var(--header) var(--pad) 2rem}
.hero-media{position:absolute;z-index:0;inset:calc(var(--header) - .5rem) 4vw 1rem 1vw;margin:0;display:grid;place-items:center}
.hero-media img{width:100%;height:100%;max-height:none;object-fit:contain;object-position:center}
.hero-name{position:absolute;z-index:2;top:clamp(6.5rem,13vh,9rem);right:clamp(6rem,9vw,11rem);text-align:right}
.hero-name .kicker{margin-bottom:.35rem}
.hero-name h1{margin:0;font-family:var(--display);font-size:clamp(4.3rem,8vw,8.5rem);font-weight:800;line-height:.72;letter-spacing:-.055em;text-transform:uppercase}
.hero-name h1 span{color:var(--yellow);text-shadow:1px 1px 0 #d6a900,2px 2px 0 #b88900}
.hero-copy{position:absolute;z-index:3;top:43%;left:clamp(4rem,12vw,13rem);width:clamp(17rem,25vw,27rem);padding:1rem 1.1rem;background:rgba(255,255,255,.92);border-left:3px solid var(--yellow)}
.hero-quote{margin:0;font-family:var(--display);font-size:clamp(1.55rem,2.5vw,2.6rem);font-weight:700;line-height:.95;text-transform:uppercase}.hero-quote strong{color:var(--yellow);text-shadow:1px 1px 0 #d6a900,2px 2px 0 #b88900}
.hero-copy .lede{margin:.8rem 0 1.1rem;font-size:.86rem;line-height:1.5}
.parts-explorer--simple{grid-template-columns:minmax(0,1fr);place-items:center}.parts-explorer--simple .parts-image-wrap{width:min(100%,78rem)}
.part-hotspot span{bottom:calc(100% + .65rem);padding:.34rem .48rem;background:#fff;box-shadow:2px 2px 0 var(--yellow)}
.scene--machines{grid-template-rows:auto minmax(0,1fr) auto;gap:.5rem}
.machines-heading{position:relative;top:auto;left:auto;z-index:2}.machines-heading h2{font-size:clamp(3.4rem,6vw,6rem)}
.machines-intro{max-width:42rem!important;margin:.8rem 0 0!important;color:var(--muted);font-size:.95rem;line-height:1.55}
.machines-media{margin-top:-1rem;overflow:visible}.machines-media img{width:112%;max-width:none;height:100%;max-height:58svh;object-fit:contain}
.machine-actions{position:relative;z-index:2;background:#fff}

@media(max-width:900px){.scene--hero{display:grid;grid-template-rows:48svh 1fr;padding-top:var(--header)}.hero-media{position:relative;inset:auto;grid-row:1}.hero-name{top:calc(var(--header) + 1rem);right:3.2rem}.hero-name h1{font-size:clamp(3.1rem,12vw,5rem)}.hero-copy{position:relative;top:auto;left:auto;grid-row:2;align-self:start;width:min(100%,28rem);margin-top:-2rem}.parts-explorer--simple{display:grid}.machines-media img{width:120%;max-height:50svh}}
@media(max-width:600px){.scene--hero{grid-template-rows:43svh 1fr}.hero-media img{width:118%;max-width:none}.hero-name{top:calc(var(--header) + .75rem);right:2rem}.hero-name h1{font-size:2.85rem}.hero-name .kicker{font-size:.55rem}.hero-copy{margin-top:-1rem;padding:.85rem}.hero-quote{font-size:1.65rem}.parts-explorer--simple .parts-image-wrap{width:100%}.machines-heading h2{font-size:3.2rem}.machines-intro{font-size:.8rem}.machines-media{min-height:34svh;margin-top:0}.machines-media img{width:142%;max-height:42svh}.machine-actions{padding-top:.6rem}}

/* Second correction: full hero machine, restored parts readout, labels above each machine. */
.hero-media{inset:calc(var(--header) + 1rem) 7vw 1.5rem 3vw}
.hero-media img{width:92%;height:92%;object-fit:contain;object-position:center bottom}
.hero-name{top:clamp(6.5rem,12vh,8.5rem)}
.hero-copy{top:39%;left:clamp(3rem,10vw,10rem)}
.parts-explorer--simple{grid-template-columns:minmax(0,1fr) minmax(15rem,21rem);place-items:center;gap:clamp(1.5rem,3vw,3rem)}
.parts-explorer--simple .parts-image-wrap{width:100%}
.part-readout{display:block;padding:1.35rem;border-left:3px solid var(--yellow);background:#fff}
.part-readout>span{color:var(--muted);font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.part-readout strong{display:block;margin:.35rem 0 .65rem;font-family:var(--display);font-size:1.55rem;text-transform:uppercase}.part-readout p{margin:0 0 1rem;color:var(--muted);font-size:.84rem;line-height:1.5}.part-buy{min-width:9rem}
.part-hotspot span{min-width:max-content;max-width:9rem;white-space:nowrap}
.machine-visual{position:relative;min-height:0;display:grid;place-items:center;padding-top:3.9rem}
.machines-media{width:100%;height:100%;margin:0;overflow:visible}.machines-media img{width:120%;max-width:none;height:100%;max-height:60svh;object-fit:contain}
.machine-visual-label{position:absolute;z-index:3;top:.15rem;width:42%;display:flex;align-items:baseline;justify-content:center;gap:.75rem;text-align:center}
.machine-visual-label--buy{left:3%}.machine-visual-label--sell{right:3%}.machine-visual-label strong{color:var(--yellow);font-family:var(--display);font-size:clamp(2.5rem,5vw,5rem);font-weight:800;line-height:.8;text-transform:uppercase;text-shadow:1px 1px 0 #d6a900,2px 2px 0 #b88900}.machine-visual-label span{color:var(--muted);font-size:.72rem}

@media(max-width:900px){.hero-media{inset:auto}.hero-media img{width:100%;height:100%}.hero-copy{top:auto;left:auto}.parts-explorer--simple{grid-template-columns:1fr}.part-readout{width:min(100%,31rem);justify-self:start}.machine-visual{padding-top:3.25rem}.machines-media img{width:125%}.machine-visual-label span{display:none}}
@media(max-width:600px){.hero-media img{width:105%;height:100%}.parts-explorer--simple{gap:.4rem}.part-readout{padding:.8rem 1rem}.part-readout p{display:none}.part-readout strong{margin-bottom:.7rem;font-size:1.2rem}.part-buy{min-height:2.7rem}.machine-visual{padding-top:2.9rem}.machine-visual-label strong{font-size:2.5rem}.machines-media img{width:150%;max-height:43svh}}

/* Hero image fit: use the tightly cropped delivery asset, never crop the machine itself. */
.hero-media{inset:calc(var(--header) + 3rem) 5vw 2.5rem 4vw;place-items:end center}
.hero-media img{width:min(84vw,88rem);height:auto;max-height:72svh;object-fit:contain;object-position:center bottom}
.hero-copy{top:42%;left:clamp(3rem,9vw,9rem)}
@media(max-width:900px){.hero-media{inset:auto;place-items:center}.hero-media img{width:min(100%,56rem);height:auto;max-height:46svh}.hero-copy{top:auto;left:auto}}
@media(max-width:600px){.hero-media img{width:108%;height:auto;max-height:39svh}}

/* Approved purpose-built hero composition. */
.hero-media{inset:calc(var(--header) + 2rem) 4vw 1.75rem 3vw;place-items:center}
.hero-media img{width:min(90vw,104rem);height:auto;max-height:76svh;object-fit:contain;object-position:center}
.hero-copy{top:43%;left:clamp(4rem,11vw,12rem)}
@media(max-width:900px){.hero-media{inset:auto;place-items:center}.hero-media img{width:108%;height:auto;max-height:47svh}.hero-copy{top:auto;left:auto}}
@media(max-width:600px){.hero-media img{width:119%;max-width:none;height:auto;max-height:40svh}}

/* Definitive hero composition: artwork is the background; copy uses its designed negative space. */
.scene--hero{
  min-height:100svh;
  padding:var(--header) var(--pad) 2rem;
}
.hero-media{
  position:absolute;
  z-index:0;
  inset:calc(var(--header) + 1rem) 3.5vw 1rem 3.5vw;
  display:grid;
  place-items:center;
  margin:0;
  pointer-events:none;
}
.hero-media img{
  width:min(88vw,100rem);
  height:auto;
  max-height:78svh;
  object-fit:contain;
  object-position:center;
}
.hero-name{
  top:clamp(6.4rem,12vh,8.2rem);
  right:clamp(6.5rem,9vw,10.5rem);
}
.hero-copy{
  position:absolute;
  z-index:3;
  top:44%;
  left:clamp(21rem,24vw,29rem);
  width:clamp(18rem,22vw,25rem);
  padding:0 0 0 1.15rem;
  background:transparent;
  border-left:3px solid var(--yellow);
}
.hero-copy .lede{max-width:25rem;color:#3f464b}
.hero-direct-contact{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.2rem 0 .65rem;padding:.6rem 0;border-top:1px solid rgba(17,19,21,.22);border-bottom:1px solid rgba(17,19,21,.22);font-family:var(--display);text-transform:uppercase}
.hero-direct-contact span{color:var(--muted);font-size:.62rem;font-weight:800;letter-spacing:.12em}
.hero-direct-contact a{color:var(--ink);font-size:1rem;font-weight:800;letter-spacing:.04em;text-decoration:none}
.hero-contact-actions{display:flex;align-items:center;gap:1rem}
.hero-contact-actions .button{flex:0 0 auto}
.hero-whatsapp-cta{padding:.55rem 0;border-bottom:2px solid var(--yellow);color:var(--ink);font-family:var(--display);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}

@media(max-width:1100px) and (min-width:901px){
  .hero-media img{width:94vw;max-height:72svh}
  .hero-copy{left:8vw;top:47%;width:21rem}
  .hero-name{right:5rem}
}
@media(max-width:900px){
  .scene--hero{display:grid;grid-template-rows:minmax(18rem,48svh) 1fr;padding-top:var(--header)}
  .hero-media{position:relative;inset:auto;grid-row:1;place-items:center;margin:0 -1rem}
  .hero-media img{width:108%;height:auto;max-height:46svh}
  .hero-copy{position:relative;top:auto;left:auto;grid-row:2;align-self:start;width:min(100%,28rem);margin:-1rem 0 0;padding:.85rem 0 .85rem 1rem;background:transparent}
}
@media(min-width:901px){.scene--parts .section-heading>p{margin-right:clamp(3rem,8vw,9rem)}}
@media(max-width:600px){
  .scene--hero{grid-template-rows:43svh 1fr}
  .hero-media img{width:119%;max-width:none;height:auto;max-height:40svh}
}
@media(max-width:600px){.hero-direct-contact{padding:.45rem 0}.hero-direct-contact a{font-size:.9rem}.hero-contact-actions{gap:.7rem}.hero-whatsapp-cta{font-size:.62rem}}

.form-status{display:grid;gap:.55rem}
.form-status.is-success{padding:1rem;color:var(--ink);background:#fff8d7;border-left:4px solid var(--ink)}
.form-status strong,.form-status span{display:block}
.form-success-actions{display:flex!important;flex-wrap:wrap;gap:.55rem;margin-top:.25rem}
.form-success-actions a{display:inline-flex;min-height:40px;align-items:center;padding:.45rem .7rem;color:var(--ink);background:var(--yellow);border:1px solid var(--ink);font-family:var(--display);font-size:.68rem;font-weight:800;text-decoration:none;text-transform:uppercase}
.form-upload-warning{color:#8a3d00}
.enquiry-form button[disabled]{cursor:wait;opacity:.68;transform:none}
.form-trap{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}

/* Full-screen hero scale with a protected glass copy panel. */
@media(min-width:901px){
  .hero-media{
    inset:calc(var(--header) + .25rem) 10vw .5rem 0vw;
    place-items:center;
  }
  .hero-media img{
    width: min(104vw, 124rem);
    max-height: 91svh;
    height:auto;
  }
  .hero-copy{
    top:45%;
    left:clamp(9rem,13vw,15rem);
    width:clamp(20rem,24vw,28rem);
    padding:1.15rem 1.25rem 1.2rem 1.4rem;
    border:1px solid rgba(197,194,184,.72);
    border-left:3px solid var(--yellow);
    background:rgba(255,255,255,.80);
    box-shadow:0 .9rem 2.4rem rgba(17,19,21,.08);
    -webkit-backdrop-filter:blur(13px) saturate(115%);
    backdrop-filter:blur(13px) saturate(115%);
  }
  .hero-copy .lede{color:#30363a}
}
@media(max-width:1100px) and (min-width:901px){
  .hero-media img{width:100vw;max-height:82svh}
  .hero-copy{left:3.5vw;top:48%;width:22rem}
}
@media(max-width:900px){
  .hero-copy{
    padding:1rem 1rem 1.05rem 1.15rem;
    border:1px solid rgba(197,194,184,.72);
    border-left:3px solid var(--yellow);
    background:rgba(255,255,255,.78);
    box-shadow:0 .7rem 1.8rem rgba(17,19,21,.07);
    -webkit-backdrop-filter:blur(10px) saturate(112%);
    backdrop-filter:blur(10px) saturate(112%);
  }
}

/* Buy / sell composition: larger paired machinery with labels centred over each excavator. */
@media(min-width:901px){
  .machine-visual{
    padding-top:4.4rem;
  }
  .machines-media img{
    width:136%;
    max-height:66svh;
  }
  .machine-visual-label{
    width:30%;
  }
  .machine-visual-label--buy{
    left:18%;
  }
  .machine-visual-label--sell{
    right:18%;
  }
}

/* Hero copy reveal: the glass panel mechanically unfolds from its yellow rail. */
@keyframes hero-panel-unfold{
  from{clip-path:inset(0 100% 0 0)}
  to{clip-path:inset(0 0 0 0)}
}
@keyframes hero-copy-settle{
  from{opacity:0;transform:translateX(-.8rem)}
  to{opacity:1;transform:translateX(0)}
}
@supports (clip-path:inset(0)){
  .hero-copy{
    animation:hero-panel-unfold .72s cubic-bezier(.22,1,.36,1) .18s both;
    will-change:clip-path;
  }
  .hero-copy>.hero-quote,
  .hero-copy>.lede,
  .hero-copy>.button{
    opacity:0;
    animation:hero-copy-settle .42s cubic-bezier(.22,1,.36,1) both;
  }
  .hero-copy>.hero-quote{animation-delay:.52s}
  .hero-copy>.lede{animation-delay:.64s}
  .hero-copy>.button{animation-delay:.76s}
}
@media(prefers-reduced-motion:reduce){
  .hero-copy,
  .hero-copy>.hero-quote,
  .hero-copy>.lede,
  .hero-copy>.button{
    animation:none!important;
    clip-path:none!important;
    opacity:1!important;
    transform:none!important;
  }
}

/* Restrained word reveal for section headings; the hero panel uses only its masked unfold. */
@keyframes reveal-word-in{
  0%{opacity:0;transform:translateY(-.8rem)}
  100%{opacity:1;transform:translateY(0)}
}
@keyframes supporting-text-in{
  from{opacity:0;transform:translateY(.55rem)}
  to{opacity:1;transform:translateY(0)}
}
.reveal-word{display:inline-block}
.word-reveal .reveal-word{
  opacity:0;
  transform:translateY(-.8rem);
  will-change:opacity,transform;
}
.word-reveal.is-text-visible .reveal-word{
  animation:reveal-word-in .46s cubic-bezier(.22,1,.36,1) var(--word-delay, 0ms) both;
}
.supporting-text-reveal,
.action-reveal{opacity:0;transform:translateY(.55rem)}
.supporting-text-reveal.is-text-visible{
  animation:supporting-text-in .42s cubic-bezier(.22,1,.36,1) .12s both;
}
.action-reveal.is-text-visible{
  animation:supporting-text-in .38s cubic-bezier(.22,1,.36,1) .24s both;
}

/* Component terminology remains visible; mobile receives a compact legend. */
.part-hotspot span{
  opacity:1;
  transform:translate(-50%,0);
}
.parts-label-list{display:none}

@supports (clip-path:inset(0)){
  .hero-copy>.hero-quote{opacity:1;animation:none}
}
@media(max-width:600px){
  .part-hotspot span{display:none}
  .parts-label-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.35rem .75rem;
    width:100%;
    margin:.45rem 0 .8rem;
    padding:0;
    list-style:none;
    color:var(--ink);
    font-family:var(--display);
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
  }
  .parts-label-list li{padding:.38rem .45rem;border-left:2px solid var(--yellow);background:var(--paper)}
}
@media(prefers-reduced-motion:reduce){
  .word-reveal .reveal-word,
  .supporting-text-reveal,
  .action-reveal{
    animation:none!important;
    filter:none!important;
    opacity:1!important;
    transform:none!important;
  }
}

/* Word wrappers must not inherit the yellow emphasis selector unless nested inside its semantic span. */
.section-heading h2>.reveal-word,
.service-copy h2>.reveal-word,
.machines-heading h2>.reveal-word,
.footer-callout h2>.reveal-word{
  color:var(--ink);
  text-shadow:none;
  -webkit-text-stroke:0;
}

/* Final enquiry states and consent. */
.field label span{color:var(--muted);font-size:.62rem}
.consent{display:flex;align-items:flex-start;gap:.65rem;color:var(--muted);font-size:.76rem;line-height:1.4;cursor:pointer}
.consent input{flex:0 0 auto;width:1rem;height:1rem;margin:.08rem 0 0;accent-color:var(--yellow)}
.consent input[aria-invalid=true]{outline:2px solid #a02f20;outline-offset:2px}

.home-mobile-actions{
  position:fixed;
  z-index:250;
  inset:auto 0 0;
  display:none;
  grid-template-columns:repeat(3,1fr);
  background:#fff;
  border-top:1px solid rgba(0,0,0,.18);
}
.home-mobile-actions a{
  min-height:54px;
  display:grid;
  place-items:center;
  color:#111;
  text-decoration:none;
  text-transform:uppercase;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.06em;
}
.home-mobile-actions a:nth-child(2){color:#fff;background:#20b35a}
.home-mobile-actions a:nth-child(3){background:#ffc400}
@media(max-width:700px){
  body{padding-bottom:54px}
  .home-mobile-actions{display:grid}
}

