
/* Joshnikk responsive improvements: mobile, tablet, desktop */
html,body{max-width:100%;overflow-x:clip}img,video,iframe{max-width:100%;height:auto}
.container{width:min(1180px,calc(100% - 32px))}
.nav-links{min-width:0}.nav-links a{white-space:nowrap}
.enquiry-form input,.enquiry-form textarea,.enquiry-form select{font-size:16px}
@media (max-width: 960px){
 .navigation{z-index:60}.nav-inner{min-height:54px;position:relative}
 .navigation #menuToggle{display:block!important;min-height:48px;padding:12px 16px;font-size:16px;font-weight:750;color:white}
 .nav-links{display:none!important;position:absolute;top:100%;left:0;right:0;max-height:min(76dvh,700px);overflow-y:auto!important;overflow-x:hidden!important;background:#004b3c;padding:10px 16px 22px;flex-direction:column;gap:0;border-radius:0 0 12px 12px;box-shadow:0 20px 35px #002b2840}
 .nav-links.open{display:flex!important}
 .nav-links>a,.services-dropdown>a{display:block!important;width:100%;padding:13px 12px!important;min-height:46px;white-space:normal}
 .services-dropdown{width:100%;display:block!important}
 .services-menu,.services-dropdown:hover .services-menu,.services-dropdown:focus-within .services-menu{display:none!important;position:static!important;width:100%!important;max-width:100%!important;max-height:none!important;padding:12px!important;margin:0!important;background:#f3fcf6;border:0;border-radius:10px;box-shadow:none;transform:none;visibility:hidden;opacity:0;pointer-events:none}
 .services-dropdown.menu-open>.services-menu{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
 .services-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px}
 .services-menu-column a{white-space:normal!important;padding:11px 8px!important;min-height:42px}
 .hero-layout{grid-template-columns:1fr;min-height:0;gap:12px}.hero-image{display:none}
 .top-links>a{display:none}.top{min-height:80px;gap:12px}
 .category-grid,.service-grid,.steps{grid-template-columns:repeat(2,minmax(0,1fr))}
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .detail-layout{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}
 .detail-side{position:static}
}
@media (max-width:600px){
 .container{width:calc(100% - 28px)}
 .announcement{font-size:11px;padding:6px 12px}
 .top{min-height:72px}.logo-mark{width:39px;height:39px;font-size:27px}.logo-text strong{font-size:19px}.logo-text small{font-size:10px}.top-links .btn{font-size:11px;padding:10px 11px;min-height:42px}
 .services-menu-grid{grid-template-columns:1fr!important;gap:15px}
 .hero h1{font-size:clamp(30px,9vw,42px);letter-spacing:-.8px}.hero p{font-size:15px}.hero-text{padding:36px 0}
 .hero-actions .btn{width:100%}.section{padding:42px 0}.inner-hero{padding:36px 0}
 .service-grid,.category-grid,.feature-grid,.steps,.detail-layout .steps,.offer-grid,.two-col{grid-template-columns:1fr!important}
 .service-grid .service-card{min-height:150px}.feature-grid>div,.category-tile{padding:18px}
 .contact-grid,.detail-layout{gap:20px}.footer-grid{grid-template-columns:1fr!important;padding:38px 0}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:auto}
 .helpdesk{width:min(390px,calc(100vw - 16px));right:8px;bottom:8px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow-y:auto}
 .help-intro{padding:12px 15px}.helpdesk form{padding:13px}.helpdesk .enquiry-form{gap:8px}.helpdesk .enquiry-form textarea{min-height:65px}.help-fab{right:12px;bottom:12px;padding:12px 15px}
 .contact-card,.contact-form-card,.side-card{padding:17px}
}
@media (max-width:360px){.logo-text strong{font-size:17px}.top-links .btn{font-size:10px;padding:9px}.logo{gap:6px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card,.btn{transition:none}}
