/* Larger, stronger reading sizes and the supplied printer hero image. */
.hero-grid{display:none}
.hero{background:#101010}
.printer-scene{position:absolute;inset:0;width:auto;height:auto;margin:0;z-index:1;perspective:none;overflow:hidden;pointer-events:none}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;filter:brightness(.83) contrast(1.04);transform:scale(1.02);animation:camera-drift 18s ease-in-out infinite alternate}
.image-shade{position:absolute;inset:0;background:linear-gradient(90deg,#101010 0%,rgba(16,16,16,.96) 24%,rgba(16,16,16,.76) 39%,rgba(16,16,16,.18) 62%,rgba(16,16,16,.08) 100%),linear-gradient(0deg,rgba(10,10,10,.62),transparent 42%)}
@keyframes camera-drift{0%{transform:scale(1.02);object-position:52% 52%}100%{transform:scale(1.09);object-position:57% 49%}}
.moving-head{position:absolute;left:68%;top:23%;width:7.4%;height:16%;z-index:2;border:1px solid rgba(183,180,171,.55);border-radius:3px;background:linear-gradient(110deg,#111 0%,#2b2b2b 35%,#080808 68%,#242424 100%);box-shadow:0 5px 16px #000,0 0 10px rgba(255,101,30,.2);animation:head-travel 4.4s cubic-bezier(.45,0,.55,1) infinite alternate}
.head-window{position:absolute;left:25%;right:25%;top:34%;height:12%;background:linear-gradient(#ffb35b,#ff5b1d 50%,#a9240b);box-shadow:0 0 12px #ff6721,0 0 24px rgba(255,77,13,.7)}
.head-nozzle{position:absolute;left:44%;bottom:-12%;width:12%;height:15%;background:linear-gradient(90deg,#4d4a46,#f1c47d 45%,#222);clip-path:polygon(0 0,100% 0,62% 100%,38% 100%);filter:drop-shadow(0 2px 4px #ff6a25)}
.head-glow{position:absolute;left:49%;bottom:-40%;height:32%;width:2px;background:#ff7727;box-shadow:0 0 7px 3px #ff641d;animation:extrusion-glow .42s ease-in-out infinite alternate}
@keyframes head-travel{0%{left:68%}100%{left:82%}}
@keyframes extrusion-glow{to{opacity:.25;transform:scaleY(.5)}}
.extrusion-beam{position:absolute;z-index:1;left:71.6%;top:39.3%;width:17%;height:2px;background:linear-gradient(90deg,transparent,#f78943,transparent);opacity:.66;filter:blur(1px);animation:beam-pulse .7s ease-in-out infinite alternate}
@keyframes beam-pulse{to{opacity:.16;filter:blur(3px)}}
.scene-label{z-index:2;right:6%;top:8%;font-size:11px;text-shadow:0 2px 12px #000}
.scene-label b{font-size:13px}
.scene-caption{z-index:2;left:53%;right:6%;bottom:30px;color:#ddd;font-size:10px;text-shadow:0 1px 8px #000}
.hero-copy{position:relative;z-index:3}
.hero-index{z-index:3}
body{font-size:16px}
.site-header nav a,.header-cta{font-size:14px}
.eyebrow{font-size:11px}
.hero-lede{font-size:17px;line-height:1.8;max-width:470px}
.button{font-size:14px}
.text-link{font-size:13px}
.hero-footnote{font-size:10px}
.section-kicker{font-size:11px}
.intro-layout>p,.materials-lede,.statement-content>p:not(.eyebrow),.process-head>p,.process-steps p,.enquiry-copy>p:not(.eyebrow){font-size:15px}
.card-top{font-size:10px}
.service-card h3{font-size:18px}
.service-card p{font-size:13px;line-height:1.75}
.service-card>a{font-size:12px}
.material-list h3,.process-steps h3{font-size:17px}
.material-list p{font-size:13px}
.material-no{font-size:12px}
.fine-print{font-size:12px}
.contact-lines a{font-size:14px}
.contact-lines a span{font-size:10px}
.enquiry-form{padding:34px}
.form-heading{font-size:10px}
.enquiry-form label{font-size:12px}
.enquiry-form input:not([type=radio]):not([type=checkbox]):not([type=file]),.enquiry-form select,.enquiry-form textarea{font-size:14px;padding:14px}
.choice{font-size:11px;min-height:46px}
.upload-label b{font-size:12px}
.upload-label small{font-size:10px}
.upload-button{font-size:10px}
.consent{font-size:11px!important}
.form-privacy{font-size:10px}
.footer-links{font-size:12px}
.site-footer p{font-size:12px}
.footer-copy,.back-top{font-size:10px}
@media(max-width:1050px){.hero-lede{font-size:16px}.service-card h3{font-size:17px}.service-card p{font-size:12px}.enquiry-form{padding:28px}}
@media(max-width:720px){
  .hero{min-height:850px}
  .hero-image{object-position:61% 52%;filter:brightness(.78) contrast(1.04)}
  .image-shade{background:linear-gradient(180deg,rgba(16,16,16,.45),rgba(16,16,16,.68) 48%,rgba(16,16,16,.25) 100%),linear-gradient(90deg,rgba(16,16,16,.84),rgba(16,16,16,.15))}
  .moving-head{left:68%;top:52%;width:10%;height:10%;animation-name:head-travel-mobile}
  @keyframes head-travel-mobile{0%{left:68%}100%{left:82%}}
  .extrusion-beam{left:71%;top:61%;width:17%}
  .scene-label{top:auto;bottom:400px;right:24px;font-size:9px}
  .scene-label b{font-size:11px}
  .scene-caption{left:24px;right:24px;bottom:22px;font-size:8px}
  .hero-lede{font-size:15px}
  .text-link{font-size:11px}
  .section-kicker{font-size:8px}
  .intro-layout>p,.materials-lede,.statement-content>p:not(.eyebrow),.process-head>p,.process-steps p,.enquiry-copy>p:not(.eyebrow){font-size:13px}
  .service-card h3{font-size:14px}
  .service-card p{font-size:11px}
  .service-card>a{font-size:10px}
  .card-top{font-size:8px}
  .material-list h3,.process-steps h3{font-size:14px}
  .material-list p{font-size:11px}
  .enquiry-form{padding:22px 16px}
  .form-heading{font-size:8px}
  .enquiry-form label{font-size:11px}
  .enquiry-form input:not([type=radio]):not([type=checkbox]):not([type=file]),.enquiry-form select,.enquiry-form textarea{font-size:13px;padding:12px}
  .choice{font-size:10px;min-height:39px}
  .upload-label b{font-size:11px}
  .upload-label small{font-size:8px}
  .upload-button{font-size:8px}
  .site-footer p,.footer-links{font-size:10px}
}

/* Decorative and household work, plus a genuine-customer-feedback invite. */
.decor-art .decor-pedestal{position:absolute;left:61px;bottom:18px;width:85px;height:13px;background:linear-gradient(90deg,#49443d,#a99a82 45%,#4b463f);clip-path:polygon(8% 0,92% 0,100% 100%,0 100%);box-shadow:0 8px 18px rgba(0,0,0,.18)}
.decor-art .decor-statue{position:absolute;left:83px;top:20px;width:45px;height:76px;background:linear-gradient(110deg,#413d38,#a79a86 45%,#51483e);clip-path:polygon(50% 0,75% 9%,83% 27%,69% 40%,82% 52%,100% 100%,0 100%,18% 53%,32% 40%,17% 27%,25% 9%);filter:drop-shadow(0 5px 5px rgba(0,0,0,.25))}
.decor-art .decor-vase{position:absolute;right:34px;bottom:30px;width:35px;height:59px;background:linear-gradient(100deg,#8d3e21,#f47a37 52%,#8d3e21);clip-path:polygon(28% 0,72% 0,72% 24%,100% 43%,88% 100%,12% 100%,0 43%,28% 24%);box-shadow:0 0 15px rgba(230,91,32,.18)}
.decor-art .decor-spark{position:absolute;left:153px;top:20px;color:#e75b20;font-size:18px}
.feedback{background:#171716;color:#f4f1eb}
.feedback .section-kicker{color:#a5a198;border-color:rgba(255,255,255,.17)}
.feedback-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:10%;align-items:end;padding:53px 0 47px}
.feedback .eyebrow{color:#aaa69e;margin:0 0 16px}
.feedback h2{font-size:clamp(45px,5.4vw,72px);line-height:1.01;letter-spacing:-.065em;font-weight:600;margin:0}
.feedback h2 em{color:var(--orange)}
.feedback-copy p{max-width:470px;color:#b7b3ac;line-height:1.85;font-size:15px}
.feedback-copy .button{margin-top:7px}
.feedback-carousel{max-width:900px;margin:0 auto}
.feedback-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.feedback-quote{margin:0;border:1px solid rgba(255,255,255,.16);border-top:2px solid rgba(255,106,37,.78);padding:24px 34px 30px;min-height:250px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,rgba(255,255,255,.04),transparent 70%);animation:review-enter .35s ease both}
.feedback-quote[hidden]{display:none}
@keyframes review-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.quote-mark{color:var(--orange);font-family:Georgia,serif;font-size:64px;line-height:.8;height:48px}
.feedback-quote blockquote{margin:10px 0 0;color:#f2efe9;font-size:clamp(18px,2.25vw,25px);line-height:1.65;letter-spacing:-.025em}
.feedback-controls{display:flex;align-items:center;gap:10px;margin-top:15px}
.feedback-controls[hidden]{display:none}
.feedback-controls button{height:46px;min-width:46px;padding:0 13px;color:#f2efe9;background:#22211f;border:1px solid rgba(255,255,255,.2);font:14px var(--mono);cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.feedback-controls button:hover,.feedback-controls button:focus-visible{background:var(--orange);border-color:var(--orange);color:#17110e;outline:none}
.feedback-status{min-width:78px;text-align:center;color:#aaa69e;font:11px var(--mono);letter-spacing:.12em}
.feedback-controls .feedback-toggle{margin-left:auto;min-width:92px;font-size:10px;letter-spacing:.08em}
@media(max-width:720px){
  .feedback-layout{grid-template-columns:1fr;gap:24px;padding:39px 0 32px}
  .feedback h2{font-size:clamp(44px,11vw,60px)}
  .feedback-copy p{font-size:13px}
  .feedback-quote{min-height:240px;padding:22px 20px 26px}
  .feedback-quote blockquote{font-size:17px}
  .feedback-controls{gap:8px}
  .feedback-controls button{height:42px;min-width:42px}
  .feedback-controls .feedback-toggle{min-width:80px}
}
