:root{--bg:#f5f4ee;--ink:#20231f;--lime:#d6ee36;--muted:#686c64;--line:#d8d9d1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #648011;outline-offset:5px}.wrap{max-width:1440px;width:calc(100% - 96px);margin:auto}.header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}.brand{font-size:32px;font-weight:900;letter-spacing:-1.5px;display:flex;align-items:center;gap:12px}.brand i{width:19px;height:30px;transform:skew(-32deg);background:var(--lime);display:block}.header nav{display:flex;gap:32px;font-size:14px;font-weight:600}.phone{font-size:18px;font-weight:700}.menu{display:none}.hero{display:grid;grid-template-columns:48% 52%;padding-top:30px;padding-bottom:34px;min-height:500px}.hero-copy{padding:35px 24px 30px 0;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}h1{font-size:clamp(42px,4.8vw,76px);line-height:1.01;letter-spacing:-3.5px;margin:0;font-weight:900}.hero-copy p{font-size:21px;line-height:1.45;margin:25px 0 32px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--lime);border:0;color:var(--ink);padding:19px 25px;font-size:16px;font-weight:700;min-height:56px;transition:background .2s,transform .2s}.btn:hover{background:#c6df21;transform:translateY(-2px)}.btn span{font-size:25px;line-height:1}.hero-media{position:relative;min-height:420px;overflow:hidden}.hero-media img{width:100%;height:100%;object-fit:cover;position:absolute}.hero-media>span{position:absolute;bottom:16px;left:16px;background:var(--bg);padding:10px 14px;font-size:11px;font-weight:700}.types{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:40px;padding:22px 0;font-size:17px;font-weight:700}.types b{color:#9ebd09;font-size:28px}.types a:hover{text-decoration:underline}.catalog{padding-top:66px;padding-bottom:48px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px}h2{font-size:clamp(30px,3.2vw,46px);letter-spacing:-1.7px;line-height:1.1;margin:0}#count{font-size:13px;color:var(--muted)}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0}.filters button{padding:13px 22px;border:1px solid var(--line);background:transparent;font-size:14px;color:var(--ink)}.filters button.active{background:var(--lime);border-color:var(--lime);font-weight:700}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#fff;padding:14px;display:flex;flex-direction:column}.card[hidden]{display:none}.card img{width:100%;aspect-ratio:1.75;object-fit:cover;display:block}.card-body{padding:20px 8px 8px;display:flex;flex-direction:column;flex:1}.category{font-size:11px;color:var(--muted);margin:0 0 8px}.card h3{font-size:23px;letter-spacing:-.6px;margin:0 0 22px}.spec{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e8e8e3;font-size:13px}.spec b{text-align:right}.card .btn{width:100%;margin-top:22px;padding:14px 16px;font-size:13px;min-height:47px}.note{font-size:12px;color:var(--muted);line-height:1.6;margin:20px 0 0}.rent{padding:22px 0 70px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:32px}.steps article{border-top:1px solid var(--line);padding-top:20px}.steps span{font-size:13px;color:var(--muted)}.steps h3{font-size:20px;margin:18px 0 10px}.steps p{color:var(--muted);font-size:15px;line-height:1.6;max-width:320px}.contact{background:var(--ink);color:var(--bg);padding:60px 0 32px}.contact-top{display:grid;grid-template-columns:1fr 1fr;gap:45px}.contact h2{font-size:clamp(40px,5.2vw,72px);letter-spacing:-3px}.contact-top p{font-size:14px;color:#bec1b6;line-height:1.5}.contact-phone{font-size:clamp(22px,2.4vw,34px);display:block;font-weight:700;margin:22px 0 24px}.contact .btn{min-width:280px}.contact-bottom{border-top:1px solid #51554c;margin-top:45px;padding-top:25px;display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-bottom p{font-size:13px;line-height:1.6;color:#c5c7bf}.map{border-bottom:1px solid var(--lime);padding-bottom:10px;font-size:14px}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:30px 0}footer .brand{font-size:22px}footer .brand i{height:21px;width:13px}footer p,footer>a:last-child{font-size:11px;line-height:1.6;color:var(--muted)}dialog{border:0;padding:30px;width:500px;max-width:calc(100% - 32px);max-height:90vh;color:var(--ink);background:var(--bg)}dialog::backdrop{background:#10150cc2;backdrop-filter:blur(4px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:28px}.dialog-head button{background:transparent;border:0;padding:7px;font-size:20px}dialog h2{font-size:31px;margin-bottom:25px}dialog label{display:block;font-size:12px;margin:18px 0 8px}select,textarea{width:100%;padding:14px;border:1px solid #c8cbbf;background:white;color:var(--ink);border-radius:0;font-size:14px}textarea{resize:vertical}#recommend{border-left:3px solid #abc31f;padding:0 15px;margin-top:20px;font-size:14px;line-height:1.6}dialog .btn{width:100%;margin-top:18px;justify-content:center}.dialog-call{display:block;font-size:15px;font-weight:700;margin-top:18px}#copy-status{font-size:12px;color:#486205;min-height:16px;margin:8px 0}dialog .note{font-size:11px}a,button{touch-action:manipulation}@media(min-width:1600px){.hero{min-height:565px}}@media(max-width:1050px){.wrap{width:calc(100% - 48px)}.header nav{gap:17px;font-size:12px}.phone{font-size:14px}.brand{font-size:27px}.hero{min-height:440px}.hero-media{min-height:380px}h1{letter-spacing:-2px}.types{font-size:14px;gap:25px}.cards{gap:12px}.card{padding:10px}.card h3{font-size:20px}.spec{font-size:11px}.card .btn{padding:12px 9px;font-size:12px}}@media(max-width:700px){.wrap{width:calc(100% - 36px)}.header{height:76px;gap:12px;position:relative}.brand{font-size:26px}.brand i{width:14px;height:24px}.phone{margin-left:auto;font-size:12px}.menu{display:block;background:none;border:0;font-size:24px;padding:6px}.header nav{display:none;position:absolute;top:75px;left:-18px;right:-18px;background:var(--bg);z-index:5;padding:24px;box-shadow:0 12px 15px #0001;font-size:15px}.header nav.open{display:flex;flex-direction:column;gap:24px}.hero{grid-template-columns:1fr;padding:0 0 25px}.hero-copy{padding:35px 0 30px}h1{font-size:52px;letter-spacing:-2.6px}.hero-copy p{font-size:18px;margin:20px 0 24px}.hero-media{min-height:280px}.hero-copy .btn{width:100%}.types{gap:10px;font-size:10px;padding:17px 0;justify-content:space-between}.types b{font-size:19px}.catalog{padding-top:40px;padding-bottom:30px}h2{font-size:32px;letter-spacing:-1.2px}.filters{gap:8px;margin:22px 0}.filters button{padding:12px 14px;font-size:12px}.cards{grid-template-columns:1fr;gap:20px}.card{padding:12px}.card h3{font-size:25px}.spec{font-size:14px}.card .btn{font-size:14px;min-height:50px}.category{font-size:12px}.card img{aspect-ratio:1.6}.steps{grid-template-columns:1fr;gap:15px;margin-top:25px}.steps h3{margin-top:12px}.steps p{max-width:none}.rent{padding-bottom:40px}.contact{padding:36px 0 25px}.contact-top{grid-template-columns:1fr;gap:15px}.contact h2{font-size:49px;letter-spacing:-2px}.contact-phone{font-size:27px}.contact .btn{width:100%}.contact-bottom{align-items:flex-start;flex-direction:column;gap:15px;margin-top:30px}.contact-bottom p{margin:0}footer{align-items:flex-start;flex-direction:column;gap:10px;padding:25px 0}footer p{margin:0}dialog{padding:22px}.dialog-call{font-size:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Full-machine framing for the updated CASE campaign images. */
.hero-media{background:#292a29}.hero-media img{object-fit:contain}.hero-media>span{bottom:12px;font-size:10px;padding:8px 11px}.card img[src*="case-catalog"]{object-fit:contain;background:#e3e2de}@media(max-width:700px){.hero-media{min-height:0;aspect-ratio:3/2}.hero-media>span{font-size:9px;left:10px;bottom:10px;padding:6px 9px}}

.card-price{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px}.card-price b{font-size:23px;letter-spacing:-.5px}.card-price span{font-size:10px;color:var(--muted);max-width:95px;text-align:right}.card .btn{margin-top:15px}.about{padding:30px 0 70px;display:grid;grid-template-columns:1.25fr 1fr;gap:90px}.about h2{font-size:37px}.about p{font-size:15px;line-height:1.7;color:var(--muted);max-width:640px}.about .about-lead{font-size:20px;color:var(--ink);line-height:1.6;margin-top:26px}.about-facts{padding-top:7px}.about-facts>div{padding:22px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}.about-facts b{font-size:20px}.about-facts span{font-size:14px;color:var(--muted)}.offers{padding-bottom:70px}.offers h2{font-size:37px}.source-link{font-size:12px;border-bottom:1px solid var(--ink);padding:6px 0;white-space:nowrap}.offer-main{background:var(--lime);padding:40px;margin-top:30px;display:grid;grid-template-columns:1.6fr 1fr;gap:40px}.offer-label{font-size:12px;font-weight:700}.offer-main h3{font-size:40px;letter-spacing:-1.6px;line-height:1.1;margin:18px 0}.offer-main p{font-size:16px;line-height:1.6}.offer-main .btn{background:var(--ink);color:white;margin-top:15px}.offer-side{display:flex;flex-direction:column;justify-content:center;align-items:center;border-left:1px solid #9fb823}.offer-side strong{font-size:100px;line-height:1;letter-spacing:-5px}.offer-side>span{font-size:14px;line-height:1.6;margin-top:20px;text-align:center}.service-prices{margin-top:20px}.service-prices article{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:25px 0;border-bottom:1px solid var(--line)}.service-prices h3{font-size:20px;margin:0 0 8px}.service-prices p{font-size:13px;color:var(--muted);margin:0;line-height:1.5}.service-prices b{font-size:24px;white-space:nowrap}.service-prices a{font-size:14px;font-weight:700;white-space:nowrap}@media(max-width:1050px){.header nav{gap:18px}.about{gap:40px}.offer-main h3{font-size:34px}}@media(max-width:700px){.about{grid-template-columns:1fr;gap:22px;padding:10px 0 40px}.about h2,.offers h2{font-size:30px}.about .about-lead{font-size:18px}.about p{font-size:14px}.about-facts>div{padding:18px 0}.offers{padding-bottom:40px}.offers .section-head{align-items:flex-start;flex-direction:column;gap:12px}.offer-main{grid-template-columns:1fr;padding:25px;gap:25px;margin-top:22px}.offer-main h3{font-size:33px}.offer-main p{font-size:14px}.offer-main .btn{width:100%;padding:16px;font-size:13px;gap:15px}.offer-side{border-left:0;border-top:1px solid #9fb823;flex-direction:row;gap:24px;padding-top:20px;justify-content:flex-start;align-items:center}.offer-side strong{font-size:70px;letter-spacing:-3px}.offer-side>span{text-align:left;font-size:12px;margin:0}.service-prices article{align-items:flex-start;flex-direction:column;gap:15px;padding:22px 0}.service-prices h3{font-size:19px}.service-prices b{font-size:22px}.card-price b{font-size:25px}.card-price span{font-size:11px;max-width:none}}

.discount-offer{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:32px;margin-top:18px;border:1px solid var(--line);background:white}.discount-offer>div>span{font-size:11px;color:var(--muted)}.discount-offer h3{font-size:28px;letter-spacing:-.8px;margin:12px 0}.discount-offer p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}.discount-offer .btn{white-space:nowrap}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:45px;border-top:1px solid #51554c;padding-top:25px;margin-top:40px}.contact-details h3{font-size:20px;margin:0 0 20px}.hours{max-width:360px}.hours p{display:flex;justify-content:space-between;font-size:15px}.hours p b{font-weight:400;color:#c5c7bf}.hours small{font-size:11px;color:#b9bdb2;line-height:1.6;display:block;max-width:290px;margin-top:18px}.socials a{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:13px 15px;border:1px solid #666b5f;font-size:14px;margin:0 8px 8px 0}.socials a:hover{border-color:var(--lime);color:var(--lime)}.copy-btn{width:100%;background:transparent;border:1px solid var(--line);padding:13px;font-size:13px}.request-help{font-size:12px;line-height:1.6;color:var(--muted);margin:12px 0 16px}.card img[src*="sdlg-catalog"]{object-fit:contain;background:#e3e2de}@media(max-width:700px){.discount-offer{align-items:stretch;flex-direction:column;padding:25px;gap:20px}.discount-offer h3{font-size:27px}.contact-details{grid-template-columns:1fr;gap:30px;margin-top:30px}.hours{max-width:none}.socials a{padding:12px;font-size:13px;gap:18px}.request-help{font-size:11px}}

/* Motion language: one quiet entrance, then deliberate interaction feedback. */
:root{--ease-out:cubic-bezier(.22,1,.36,1)}
@media(prefers-reduced-motion:no-preference){
 .hero-copy h1{animation:hero-copy-in 1s var(--ease-out) both;animation-delay:.08s}
 .hero-copy>p{animation:hero-copy-in 1s var(--ease-out) both;animation-delay:.2s}
 .hero-copy>.btn{animation:hero-copy-in .9s var(--ease-out) both;animation-delay:.32s}
 .hero-media{animation:hero-frame-in 1.25s var(--ease-out) both;animation-delay:.12s}
 .hero-media img{animation:hero-photo-in 1.7s var(--ease-out) backwards;transform:translate3d(var(--photo-x,0px),var(--photo-y,0px),0);transition:transform .65s var(--ease-out)}
 .hero-media>span{animation:hero-copy-in .9s var(--ease-out) both;animation-delay:.65s}
 .motion-ready .reveal{opacity:0;transform:translate3d(0,26px,0);transition:opacity .8s var(--ease-out),transform .9s var(--ease-out);transition-delay:var(--reveal-delay,0ms)}
 .motion-ready .reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}
 .card img{transition:transform .8s var(--ease-out),filter .8s var(--ease-out)}
 .card{transition:box-shadow .5s var(--ease-out),transform .6s var(--ease-out),opacity .8s var(--ease-out)}
 .card .card-body{position:relative;background:#fff}
 .btn{position:relative;overflow:hidden;transition:background .25s,transform .35s var(--ease-out),box-shadow .35s}
 .btn span{display:inline-block;transition:transform .35s var(--ease-out)}
 .btn:active{transform:translateY(0) scale(.985)}
 .header nav a{position:relative;padding:8px 0}
 .header nav a:after{content:'';position:absolute;bottom:1px;left:0;width:100%;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out)}
 .header nav a:hover:after,.header nav a:focus-visible:after{transform:scaleX(1)}
 .brand i{transition:transform .5s var(--ease-out)}
 .brand:hover i{transform:skew(-32deg) translateY(-3px)}
 .filters button{transition:background .25s,border-color .25s,transform .25s var(--ease-out)}
 .filters button:active{transform:scale(.97)}
 dialog[open]{animation:dialog-in .38s var(--ease-out) both}
 dialog[open]::backdrop{animation:backdrop-in .3s ease-out both}
 @media(hover:hover) and (pointer:fine){
  .card:hover img{transform:scale(1.035);filter:brightness(1.035)}
  .motion-ready .card.is-visible:hover{transform:translate3d(0,-5px,0);box-shadow:0 16px 38px #20231f0c;transition-delay:0ms}
  .btn:hover{box-shadow:0 8px 20px #20231f12}
  .btn:hover span{transform:translate(3px,-3px)}
 }
 @media(max-width:700px){
  .hero-copy h1{animation-duration:.8s}
  .hero-copy>p{animation-delay:.12s}
  .hero-copy>.btn{animation-delay:.2s}
  .hero-media{animation-duration:1s;animation-delay:.15s}
  .motion-ready .reveal{transform:translate3d(0,16px,0);transition-duration:.65s}
 }
}
.card{overflow:hidden}
@keyframes hero-copy-in{from{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes hero-frame-in{from{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes hero-photo-in{from{opacity:.55;transform:scale(1.055)}to{opacity:1;transform:scale(1)}}
@keyframes dialog-in{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes backdrop-in{from{opacity:0}to{opacity:1}}
