@font-face{font-family:'Bricolage Grotesque';src:url('./assets/fonts/BricolageGrotesque-Variable.ttf') format('truetype');font-weight:200 800;font-display:swap}@font-face{font-family:Figtree;src:url('./assets/fonts/Figtree-Variable.ttf') format('truetype');font-weight:300 900;font-display:swap}
:root{--bg:#fff;--panel:#f2f5f5;--text:#000;--muted:#545e60;--accent:#00c1d5;--line:#d8dfe0;--font:Figtree,sans-serif;--display:'Bricolage Grotesque',sans-serif;color-scheme:light}header{height:124px;background:#ffffffee;border-bottom:1px solid #dce1e2;padding:10px 5vw}.brand img{display:block;width:244px;height:auto}.nav-cta{background:#000;color:#fff;border:0;font-weight:600;padding:15px 22px}.nav-cta:hover{color:#fff;background:#173a3e}.stage{background:radial-gradient(ellipse at 75% 40%,#e8f5f6 0%,#f1f5f5 40%,#fff 75%)}.scene-vignette{background:linear-gradient(90deg,#ffffffd9,transparent 56%),linear-gradient(0deg,#fff 0%,transparent 18%)}.scene-fallback{mix-blend-mode:normal}.hero-copy{max-width:48%;top:26%;left:5vw}h1{font-size:clamp(42px,5vw,80px);font-weight:800;line-height:1.02;letter-spacing:-.045em}h1 span,h2 span{color:#000}.hero-description{color:#526064;font-size:17px}.primary{color:#000}.primary:hover{background:#20cbdc}.button{font-weight:600;border-radius:0}.eyebrow{font-size:10px;letter-spacing:.14em}.machine-tag{font-size:10px;color:#3f5154;right:5%;top:24%}.machine-tag small{color:#526064}.stage-footer{color:#404f53}.scroll-note{color:#4c5a5e}.stage-controls button{color:#77868a;border-color:#b9c6c8}.stage-controls button.active{color:#000;border-color:#00c1d5}.stage-controls button.active span{color:#000}.model-note{color:#5d6b6f}.intro{background:#fff}.section{padding:90px 6vw}.section-label{color:#536367}h2{font-size:clamp(38px,4.2vw,65px);font-weight:800;line-height:1.02;letter-spacing:-.04em}.intro-main>p{color:#526064}.steps h3{font-family:var(--display);font-size:25px;font-weight:800}.steps p,.fine-print{color:#526064}.equipment{background:#f2f5f5}.equipment-photo{background:#e1e9e9}.equipment-copy>p{color:#526064}.photo-label,.photo-caption{color:#405358}.hire{background:#fff}.hire-aside{border-color:#b9ccce}.hire-aside span{color:#42575b}.hire-aside p{color:#526064}input,select,textarea{background:#f5f7f7;color:#000;border-color:#c9d3d5}input::placeholder,textarea::placeholder{color:#6d7b7e}.form-heading span,.form-note{color:#526064}.brief-result{background:#e6f9fb;color:#000}.brief-result p{color:#385357}.dark{background:#000;color:#fff}details p{color:#526064}summary span{color:#00717d}footer{background:#fff}.chapter-copy{max-width:42%;top:28%;left:5vw}.chapter-copy h2{font-size:clamp(40px,5.2vw,73px);font-weight:800;line-height:1.02}.chapter-copy>p:last-child{color:#526064}.progress-track{background:#e6eded}
@media(max-width:1000px){header{height:110px}.brand img{width:220px}h1{font-size:clamp(43px,5.4vw,67px)}.hero-copy{max-width:48%;top:25%}.hero-description{font-size:15px}.chapter-copy h2{font-size:52px}.chapter-copy{top:26%;max-width:42%}.machine-tag{top:22%}}@media(max-width:760px){header{height:113px;padding:10px 6vw}.brand img{width:205px}.nav-cta{padding:11px 12px;font-size:11px;white-space:nowrap}nav{gap:0}.stage{min-height:760px;background:radial-gradient(ellipse at 60% 57%,#e5f4f5,#fff 77%)}.hero-copy{top:145px;left:6vw;max-width:90%}h1{max-width:none;font-size:43px;line-height:1.02;margin:16px 0}h1 br:last-of-type{display:inline}h1>span:after{display:none}.hero-description{font-size:14px;line-height:1.5}.hero-copy .button{font-size:12px;padding:12px 15px}.chapter-copy{top:145px;max-width:88%}.chapter-copy h2{font-size:43px;max-width:350px}.chapter-copy h2 br{display:inline}.chapter-copy>p:last-child{font-size:14px;max-width:290px}.scene-vignette{background:linear-gradient(0deg,#fff,transparent 17%)}.machine-tag{top:auto;bottom:100px;right:6%;font-size:8px}.section{padding:60px 6vw}.equipment-copy h2,h2{font-size:40px}.steps h3{font-size:25px}.scene-fallback{top:44%;height:39%}footer .brand img{width:205px}footer{flex-wrap:wrap}.model-note{display:none}}
header{position:fixed;backdrop-filter:blur(16px)}header.rigging-active:after{content:'';position:absolute;left:var(--rigging-x,73.5%);bottom:-3px;width:60px;height:5px;background:#131b1e;transform:translateX(-50%);border-radius:0 0 3px 3px}.scene canvas{touch-action:pan-y;cursor:grab}.scene canvas:active{cursor:grabbing}.inspect-tools{position:absolute;z-index:4;right:5vw;top:145px;display:flex;gap:14px;align-items:center;font-size:10px;color:#53666c}.inspect-tools button{border:0;border-bottom:1px solid #799298;background:transparent;padding:3px 0;color:#28454d;font-size:10px}.machine-tag{top:auto;bottom:130px;right:5vw;font-size:9px}.chapter-copy{pointer-events:none}.scene-vignette{pointer-events:none}.hero-copy{pointer-events:none}.hero-copy a{pointer-events:auto}.photo-label,.photo-caption{font-size:10px}.equipment-photo{overflow:hidden}.stage-controls button{font-weight:600}.stage-controls button.active{border-top:3px solid var(--accent)}.stage-footer{bottom:25px}.model-note{max-width:160px;line-height:1.5;text-align:right}
@media(min-width:600px) and (max-width:1000px){.hero-copy,.chapter-copy{max-width:43%;top:29%}.hero-copy h1,.chapter-copy h2{font-size:clamp(35px,5vw,51px)}.hero-description,.chapter-copy>p:last-child{font-size:13px}.stage{min-height:720px}.scene-vignette{background:linear-gradient(90deg,#ffffffcf,transparent 55%),linear-gradient(0deg,#fff,transparent 15%)}.inspect-tools{right:4vw;top:126px;font-size:9px}.machine-tag{right:4vw;bottom:120px}.story{height:330svh}}@media(max-width:599px){.inspect-tools{top:auto;bottom:117px;right:6vw;font-size:9px}.machine-tag{display:none}header{height:113px}.stage-controls{gap:10px}.hero-copy h1{font-size:41px}.chapter-copy h2{font-size:41px}.hero-copy{top:144px}.chapter-copy{top:144px}}

header.rigging-active:after{display:none}.inspect-tools{top:auto;bottom:112px;right:5vw}.machine-tag{bottom:157px}@media(max-width:599px){.inspect-tools{bottom:113px;right:6vw}}
.equipment-photo{background:#e9f0f1;padding:45px 18px 30px}.equipment-photo img{width:100%;max-height:500px;object-fit:contain;mix-blend-mode:normal}.equipment-photo .photo-label{top:20px}.equipment-photo .photo-caption{bottom:18px}.scene-fallback{mix-blend-mode:normal}
.hero-description .hero-detail{display:block;margin-top:10px}@media(max-width:599px){.hero-copy,.chapter-copy{max-width:44.5%;top:150px}.hero-copy h1,.chapter-copy h2{font-size:32px;line-height:1.03}.hero-copy .eyebrow,.chapter-copy .eyebrow{font-size:8px;line-height:1.6;letter-spacing:.1em;gap:8px}.hero-copy .line{width:14px;flex-shrink:0}.hero-description{font-size:13px;line-height:1.5}.hero-description .hero-detail{display:none}.hero-copy .button{font-size:11px;gap:12px;padding:11px 12px}.chapter-copy>p:last-child{font-size:12px;line-height:1.6;max-width:100%}.inspect-tools{font-size:9px}.inspect-tools button{font-size:9px}}
.rl-marker{position:absolute;z-index:3;display:flex;align-items:center;gap:8px;width:100px;transform:translate(-100%,-50%);pointer-events:none;color:#000}.rl-marker span{font:600 13px/1 var(--font);letter-spacing:.08em;background:#ffffffee;padding:5px 6px}.rl-marker i{display:block;height:2px;flex:1;background:#00c1d5;position:relative}.rl-marker i:after{content:'';position:absolute;width:5px;height:5px;border-radius:50%;background:#00c1d5;right:-2px;top:-1.5px}.rl-marker[hidden]{display:none}@media(max-width:599px){.rl-marker{width:66px;gap:5px}.rl-marker span{font-size:11px;padding:4px}.rl-marker i{height:2px}}
.rl-marker{width:250px;gap:9px}.rl-marker span{background:none;padding:0;font-size:12px;letter-spacing:0;white-space:nowrap}.rl-marker i{min-width:25px}@media(max-width:599px){.rl-marker{width:210px;gap:7px}.rl-marker span{background:none;padding:0;font-size:10px;letter-spacing:0}}
@media(max-width:599px){.inspect-tools{left:6vw;right:auto;bottom:110px}}
/* The pointer sits beneath the transparent WebGL surface, so solid machine parts occlude it. */
.rl-marker{z-index:0}
/* A single reveal: no static equipment photo during normal 3D startup. */
.scene-fallback{display:none}.scene-fallback[hidden]{display:none!important}.scene.scene-failed .scene-fallback{display:block}.scene canvas{opacity:0;transition:opacity .22s ease;pointer-events:none}.stage[data-scene-state="ready"] .scene canvas{opacity:1;pointer-events:auto}.stage .stage-footer,.stage .progress-track,.stage .inspect-tools,.stage .machine-tag,.stage .rl-marker{opacity:0;visibility:hidden;transition:opacity .22s ease}.stage[data-scene-state="ready"] .stage-footer,.stage[data-scene-state="ready"] .progress-track,.stage[data-scene-state="ready"] .inspect-tools,.stage[data-scene-state="ready"] .machine-tag,.stage[data-scene-state="ready"] .rl-marker{opacity:1;visibility:visible}.scene-status{position:absolute;z-index:3;top:48%;left:73.5%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:13px;color:#526064;font:500 11px/1.4 var(--font);letter-spacing:.03em;pointer-events:none;white-space:nowrap}.scene-status[hidden]{display:none}.scene-loading-line{width:76px;height:2px;background:#d2e3e6;overflow:hidden}.scene-loading-line:after{content:'';display:block;width:30px;height:2px;background:#00c1d5;animation:scene-loading 1.25s ease-in-out infinite alternate}.stage[data-scene-state="failed"] .scene-status{top:auto;bottom:118px;transform:translateX(-50%);font-size:10px}.story.scene-unavailable{height:100svh;min-height:760px}@keyframes scene-loading{from{transform:translateX(0)}to{transform:translateX(46px)}}@media(prefers-reduced-motion:reduce){.scene canvas,.stage .stage-footer,.stage .progress-track,.stage .inspect-tools,.stage .machine-tag,.stage .rl-marker{transition:none}.scene-loading-line:after{animation:none;transform:translateX(23px)}}
/* Compact navigation leaves more room for the suspended machine. */
header{height:88px}header .brand{flex:0 0 auto;line-height:0}header .brand-logo{display:block;width:auto;height:64px;flex:none;aspect-ratio:1309/582}@media(max-width:599px){header{height:78px}header .brand-logo{height:54px}.hero-copy,.chapter-copy{top:128px}}
.steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}@media(min-width:761px) and (max-width:1100px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.steps{grid-template-columns:1fr}}
/* Clear service-led copy and an immediate phone route for hire enquiries. */
.hero-secondary{display:block;width:fit-content;margin-top:18px;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:5px;pointer-events:auto}.hero-copy .hero-description{max-width:330px}.intro-explanation{align-self:end;max-width:460px}.intro-explanation p,.local-layout p{font-size:16px;line-height:1.8;color:#526064}.local-hire{background:#eef8f9}.local-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:9%}.local-layout h2{font-size:clamp(36px,4vw,60px)}.contact-phone{display:inline-block;margin-top:8px;font-size:23px;font-weight:700;color:#000}.faq details a{color:#005661;text-decoration:underline;text-underline-offset:3px}.footer-contact{display:flex;flex-direction:column;gap:8px}.footer-contact p{display:block}.footer-contact>a{font-weight:700;font-size:16px}.hero-copy h1{font-size:clamp(44px,5vw,78px)}
@media(min-width:600px) and (max-width:1000px){.hero-copy h1{font-size:clamp(34px,5vw,50px)}}
@media(max-width:760px){.local-layout{grid-template-columns:1fr;gap:12px}.intro-explanation p,.local-layout p{font-size:15px}.footer-contact{width:100%}}
@media(max-width:599px){.hero-copy h1{font-size:32px;line-height:1.03}.hero-copy h1 br{display:initial}.hero-copy .hero-description{font-size:12px}.hero-secondary{font-size:10px;line-height:1.6;margin-top:14px}.hero-copy .button{gap:10px}.local-layout h2{font-size:36px}.footer-contact p{line-height:1.5}}
.fleet-links{display:grid;gap:14px;margin:26px 0}.fleet-links>a{position:relative;display:flex;flex-direction:column;gap:5px;border-top:2px solid #00c1d5;background:#fff;padding:18px 42px 18px 18px}.fleet-links span{font-size:10px;font-weight:700;letter-spacing:.1em;color:#006b77}.fleet-links strong{font-family:var(--display);font-size:21px;line-height:1.2}.fleet-links small{font-size:12px;color:#526064;line-height:1.55}.fleet-links b{position:absolute;right:17px;top:20px;font-size:22px}.fleet-links>a:hover{background:#e7f9fb}
/* Responsive review: readable labels and comfortable interaction targets. */
.button.primary.submit{background:#000;color:#fff}.button.primary.submit:hover{background:#173a3e;color:#fff}.nav-cta,.stage-controls button,.inspect-tools button,.hero-secondary,summary,footer>a:last-child,.footer-contact>a{min-height:44px}.nav-cta,.stage-controls button,.hero-secondary,footer>a:last-child,.footer-contact>a{display:flex;align-items:center}.inspect-tools button{font-size:12px}.inspect-tools{font-size:11px}.rl-marker{width:min(250px,var(--rl-available-width,250px))}.rl-marker span{min-width:0;white-space:normal;line-height:1.25}.rl-marker i{min-width:12px}
@media(max-width:599px){.rl-marker{width:min(210px,var(--rl-available-width,210px))}}
/* Keep all animation controls inside short phone and laptop viewports. */
.stage{min-height:0}
@media(max-height:620px){.hero-copy,.chapter-copy{top:108px}.hero-copy h1,.chapter-copy h2{font-size:clamp(27px,4vw,40px);margin:12px 0}.hero-description,.chapter-copy>p:last-child{font-size:12px;line-height:1.45}.hero-secondary{margin-top:5px}.inspect-tools{bottom:75px}.machine-tag{display:none}.stage-footer{bottom:12px}}
.wa-coverage{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.wa-coverage h2{font-size:clamp(35px,4.1vw,58px)}.wa-coverage p{color:#526064;line-height:1.8}.wa-coverage address,.footer-contact address{font-style:normal;font-size:14px;line-height:1.6;color:#405358}.wa-coverage address{margin:24px 0}.wa-coverage figure{margin:0}.wa-coverage img{display:block;width:100%;height:auto}.wa-coverage figcaption{font-size:12px;text-align:center;color:#526064;margin-top:6px}
@media(max-width:760px){.wa-coverage{grid-template-columns:1fr;gap:28px}.wa-coverage h2{font-size:36px}.wa-coverage figure{max-width:500px;width:100%;justify-self:center}}
.equipment-intro{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:end;margin-bottom:35px}.equipment-intro>p{color:#526064;line-height:1.8;max-width:510px}.fleet-catalog{display:grid;grid-template-columns:1fr 1fr;gap:34px}.fleet-catalog article{min-width:0;background:#fff}.equipment-image-link{display:block;padding:22px;background:#fff}.equipment-image-link img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}.catalog-copy{padding:26px 28px 30px;border-top:2px solid #00c1d5}.catalog-copy h3{font:800 36px/1.1 var(--display);letter-spacing:-.025em;margin:12px 0 16px}.catalog-copy p:not(.eyebrow){color:#526064;font-size:15px;line-height:1.75}.catalog-copy .text-link{min-height:44px;align-items:center}.catalog-copy .eyebrow{color:#006b77}
@media(max-width:760px){.equipment-intro{grid-template-columns:1fr;gap:5px;margin-bottom:25px}.equipment-intro h2{margin-bottom:14px}.fleet-catalog{grid-template-columns:1fr;gap:25px}.catalog-copy{padding:23px}.catalog-copy h3{font-size:32px}}
@media(max-height:620px){.hero-copy>.eyebrow,.hero-secondary{display:none}.hero-copy{top:104px}}
.scroll-cue{position:absolute;z-index:4;left:5vw;bottom:89px;display:flex;align-items:center;gap:10px;color:#405358;font-size:12px;font-weight:600;opacity:0;visibility:hidden;pointer-events:none}.scroll-arrow{display:inline-block;color:#007986;font-size:24px;line-height:1;animation:scroll-cue-nudge 1.8s ease-in-out infinite}.stage[data-scene-state="ready"] .scroll-cue{opacity:1;visibility:visible}.stage.story-complete .scroll-cue{visibility:hidden;opacity:0}.stage[data-scene-state="ready"] .inspect-tools{opacity:0;visibility:hidden}.stage[data-scene-state="ready"] .scene.rotated~.inspect-tools{opacity:1;visibility:visible}.inspect-tools{left:auto;right:5vw;bottom:78px}@keyframes scroll-cue-nudge{0%,100%{transform:translateY(-3px)}50%{transform:translateY(3px)}}
@media(max-width:599px){.scroll-cue{left:6vw;bottom:85px;font-size:11px}.inspect-tools{left:auto;right:6vw;bottom:73px}}
@media(max-height:620px){.scroll-cue{bottom:72px}.inspect-tools{bottom:60px}}
@media(prefers-reduced-motion:reduce){.scroll-cue{display:none}.scroll-arrow{animation:none}}
.scroll-icon{display:block;flex:none}.scroll-wheel{animation:scroll-wheel-move 1.8s ease-in-out infinite}.scroll-chevron{animation:scroll-chevron-move 1.8s ease-in-out infinite}.scroll-cue{bottom:78px;gap:9px}@keyframes scroll-wheel-move{0%{transform:translateY(0);opacity:0}20%{opacity:1}75%,100%{transform:translateY(7px);opacity:0}}@keyframes scroll-chevron-move{0%,100%{transform:translateY(0);opacity:.45}50%{transform:translateY(2px);opacity:1}}@media(max-height:620px){.scroll-cue{bottom:62px}}@media(prefers-reduced-motion:reduce){.scroll-wheel,.scroll-chevron{animation:none}}
.rl-marker{align-items:flex-end;transform:translate(-100%,0)}.rl-marker span{transform:translateY(50%)}.rl-marker i{height:18px;background:none}.rl-marker i svg{display:block;width:100%;height:100%;overflow:visible}.rl-marker i:after{top:-2.5px}
.footer-contact .contact-email{font-size:13px;overflow-wrap:anywhere}.brief-result>.button{width:fit-content;max-width:100%}.brief-result #email-brief{color:#000;background:#00c1d5}
