
  :root{
    --graphite-900:#14171a; --graphite-800:#1c2126; --graphite-700:#262c32;
    --steel-600:#4c5a66; --steel-300:#a9b4bc; --paper-100:#e7ecee; --paper-50:#f5f7f8;
    --yellow:#f4b400; --yellow-dim:#c99000; --ink:#0e1113; --radius:2px; --maxw:1440px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;font-family:'IBM Plex Sans',sans-serif;color:var(--ink);background:var(--paper-50);line-height:1.6;}
  h1,h2,h3,h4{font-family:'Rajdhani',sans-serif;font-weight:700;letter-spacing:-0.01em;margin:0 0 .4em;color:var(--ink);}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
  ul{list-style:none;margin:0;padding:0;}
  .section{padding:88px 0;}
  .section-dark{background:var(--graphite-900);color:var(--paper-100);}
  .section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4{color:#fff;}
  .kicker{font-size:13px;font-weight:500;color:var(--steel-600);margin-bottom:10px;display:flex;align-items:center;gap:10px;}
  .kicker::before{content:"";width:22px;height:2px;background:var(--yellow);display:inline-block;}
  .section-dark .kicker{color:var(--steel-300);}
  .btn{display:inline-flex;align-items:center;gap:8px;padding:13px 28px;font-weight:600;font-size:15px;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;transition:background .15s ease,border-color .15s ease;}
  .btn-sm{padding:8px 16px;font-size:13px;}
  .btn-primary{background:var(--yellow);color:var(--ink);}
  .btn-primary:hover{background:#ffc635;}
  .btn-primary:disabled{opacity:.4;cursor:not-allowed;}
  .btn-ghost{border-color:rgba(255,255,255,.35);color:#fff;background:transparent;}
  .btn-ghost:hover{border-color:#fff;}
  .btn-dark{border-color:var(--ink);color:var(--ink);background:transparent;}
  .btn-dark:hover{background:var(--ink);color:#fff;}
  .btn-dark:disabled{opacity:.4;cursor:not-allowed;}
  .btn-danger{border-color:#c0392b;color:#c0392b;background:transparent;}
  .btn-danger:hover{background:#c0392b;color:#fff;}

  .frame{position:relative;}
  .frame::before,.frame::after{content:"";position:absolute;width:26px;height:26px;z-index:2;pointer-events:none;}
  .frame::before{top:-9px;left:-9px;border-top:2px solid var(--yellow);border-left:2px solid var(--yellow);}
  .frame::after{bottom:-9px;right:-9px;border-bottom:2px solid var(--yellow);border-right:2px solid var(--yellow);}

  .topbar{background:var(--ink);color:var(--steel-300);font-size:13px;}
  .topbar .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:8px;padding-bottom:8px;flex-wrap:wrap;gap:8px;}
  .topbar-info{display:flex;gap:22px;flex-wrap:wrap;}
  .topbar-info span{display:flex;align-items:center;gap:6px;}
  .topbar-social{display:flex;gap:14px;}
  .topbar-social a{color:var(--steel-300);opacity:.85;}
  .topbar-social a:hover{color:var(--yellow);opacity:1;}

  header.site{position:sticky;top:0;z-index:50;background:var(--graphite-900);border-bottom:1px solid rgba(255,255,255,.08);}
  .navrow{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:24px;}
  .logo{display:flex;align-items:center;gap:10px;}
  .logo img{height:40px;width:auto;background:#fff;padding:4px 6px;border-radius:3px;}
  .logo-text{font-family:'Rajdhani',sans-serif;font-weight:700;color:#fff;font-size:19px;line-height:1.1;}
  .logo-text small{display:block;font-family:'IBM Plex Sans',sans-serif;font-weight:400;font-size:11px;color:var(--steel-300);letter-spacing:.04em;}
  nav.primary{display:flex;align-items:center;gap:30px;}
  nav.primary > ul{display:flex;gap:28px;align-items:center;}
  nav.primary a.navlink{color:var(--paper-100);font-size:14.5px;font-weight:500;padding:8px 0;position:relative;}
  nav.primary a.navlink:hover{color:var(--yellow);}
  .has-drop{position:relative;}
  .has-drop > .navlink::after{content:"▾";font-size:11px;margin-left:5px;color:var(--steel-300);}
  .dropdown{position:absolute;top:100%;left:0;background:var(--graphite-800);border:1px solid rgba(255,255,255,.08);min-width:250px;padding:6px 0;display:none;box-shadow:0 18px 30px rgba(0,0,0,.35);}
  .has-drop:hover .dropdown{display:block;}
  .dropdown a{display:block;padding:11px 20px;color:var(--paper-100);font-size:14px;border-left:2px solid transparent;}
  .dropdown a:hover{background:var(--graphite-700);border-left-color:var(--yellow);color:#fff;}
  .navcta{display:flex;align-items:center;gap:18px;}
  .hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:0;padding:6px;}
  .hamburger span{width:24px;height:2px;background:#fff;display:block;}

  .hero{position:relative;background:var(--graphite-900);overflow:hidden;}
  .banner-slider{position:relative;width:100%;aspect-ratio:2/1;overflow:hidden;background:var(--graphite-800);}
  .banner-slide{position:absolute;inset:0;opacity:0;transition:opacity .7s ease;}
  .banner-slide.active{opacity:1;}
  .banner-slide img,.banner-slide video,.banner-slide iframe{width:100%;height:100%;object-fit:cover;border:0;}
  .banner-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(14,17,19,.55);color:#fff;border:0;width:38px;height:38px;cursor:pointer;z-index:3;font-size:20px;line-height:1;}
  .banner-nav:hover{background:rgba(14,17,19,.85);}
  .banner-nav.prev{left:14px;}
  .banner-nav.next{right:14px;}
  .banner-dots{position:absolute;bottom:16px;left:0;right:0;display:flex;justify-content:center;gap:8px;z-index:3;}
  .banner-dots button{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.5);border:0;cursor:pointer;padding:0;}
  .banner-dots button.active{background:var(--yellow);}
  @media (max-width:768px){ .banner-slider{aspect-ratio:4/3;} }

  .about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center;}
  .about-imgs img{width:100%;aspect-ratio:4/3;object-fit:cover;}
  .about-copy p{color:var(--steel-600);font-size:15.5px;max-width:56ch;}
  .about-points{display:flex;gap:34px;margin:26px 0 30px;flex-wrap:wrap;}
  .about-points div h4{font-size:16.5px;margin-bottom:6px;}
  .about-points div p{font-size:14.5px;margin:0;max-width:30ch;}

  .feat-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;}
  .feat-copy p{color:var(--steel-300);max-width:44ch;}
  .feat-list{border-top:1px solid rgba(255,255,255,.12);}
  .feat-row{display:grid;grid-template-columns:56px 1fr;gap:22px;padding:26px 0;border-bottom:1px solid rgba(255,255,255,.12);}
  .feat-row .icon{width:44px;height:44px;flex:none;}
  .feat-row h4{color:#fff;font-size:18px;margin-bottom:6px;}
  .feat-row p{margin:0;color:var(--steel-300);font-size:14.5px;max-width:52ch;}

  .prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:0 20px;}
  .products-top{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;}
  .prod-card{background:#fff;border:1px solid #dfe3e5;display:flex;flex-direction:column;}
  .prod-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--paper-100);cursor:pointer;}
  .prod-media img{width:100%;height:100%;object-fit:contain;transition:transform .35s ease;}
  .prod-card:hover .prod-media img{transform:scale(1.06);}
  .prod-tag{position:absolute;top:12px;left:12px;background:var(--ink);color:var(--yellow);font-size:11px;font-weight:600;letter-spacing:.03em;padding:5px 10px;}
  .prod-body{padding:18px 20px 20px;flex:1;display:flex;flex-direction:column;}
  .prod-body h4{font-size:17px;margin-bottom:8px;cursor:pointer;}
  .prod-body p.desc{font-size:13.5px;color:var(--steel-600);margin:0 0 14px;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .prod-body .prod-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;}
  .prod-body a.enq,.prod-body a.details{font-size:13px;font-weight:600;color:var(--ink);display:inline-flex;align-items:center;gap:6px;cursor:pointer;}
  .prod-body a.enq{border-bottom:1px solid var(--yellow);padding-bottom:2px;}
  .prod-body a.enq:hover{color:var(--yellow-dim);}
  .prod-body a.details{color:var(--steel-600);}
  .prod-body a.details:hover{color:var(--ink);}

  .mvv-grid{display:grid;grid-template-columns:repeat(3,1fr);}
  .mvv-item{padding:36px 34px;border-left:1px solid #dcd7c9;}
  .mvv-item:first-child{border-left:none;}
  .mvv-item h4{font-size:19px;margin-bottom:12px;}
  .mvv-item p{color:var(--steel-600);font-size:14.5px;margin:0 0 16px;}
  .mvv-item a{font-size:13.5px;font-weight:600;border-bottom:1px solid var(--ink);padding-bottom:2px;}

  .cta-band{background:var(--yellow);padding:56px 0;}
  .cta-band-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center;}
  .cta-photo-wrap img{width:100%;aspect-ratio:4/3;object-fit:cover;border:3px solid var(--ink);}
  .cta-text h2{font-size:28px;max-width:16ch;margin:0;}
  .cta-text p{max-width:52ch;margin:10px 0 22px;font-size:15px;color:#3a2f00;}
  @media (max-width:768px){ .cta-band-grid{grid-template-columns:1fr;} }

  .testi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
  .testi-card{background:#fff;border:1px solid #dfe3e5;padding:26px 24px;display:flex;flex-direction:column;gap:16px;}
  .testi-card p.quote{font-size:14.5px;color:var(--steel-600);margin:0;min-height:96px;}
  .testi-who{display:flex;align-items:center;gap:12px;}
  .testi-who img{width:42px;height:42px;border-radius:50%;object-fit:cover;}
  .testi-who h5{margin:0;font-size:14.5px;font-weight:600;}
  .testi-who span{font-size:12.5px;color:var(--steel-600);}

  .gal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;}
  .gal-item{aspect-ratio:1/1;overflow:hidden;cursor:pointer;position:relative;background:#000;}
  .gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease;}
  .gal-item:hover img{transform:scale(1.08);}
  .gal-item video,.gal-item iframe{width:100%;height:100%;object-fit:cover;border:0;}
  .gal-item .vid-badge{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.6);color:#fff;font-size:10px;padding:3px 7px;z-index:2;pointer-events:none;}
  .lightbox{position:fixed;inset:0;background:rgba(10,12,13,.92);display:none;align-items:center;justify-content:center;z-index:200;padding:30px;}
  .lightbox.open{display:flex;}
  .lightbox img{max-width:90vw;max-height:85vh;border:1px solid rgba(255,255,255,.2);}
  .lightbox-close{position:absolute;top:24px;right:30px;color:#fff;font-size:30px;cursor:pointer;background:none;border:0;}

  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;}
  .contact-grid-3{grid-template-columns:1fr 1fr 1fr;gap:40px;align-items:start;}
  .contact-col-map .map-embed{margin-top:0;}
  .contact-col-map .map-embed iframe{height:260px;}
  .contact-info-list{margin-top:24px;display:flex;flex-direction:column;gap:20px;}
  .contact-info-list .row{display:flex;gap:16px;align-items:flex-start;}
  .contact-info-list .icon{width:22px;height:22px;flex:none;margin-top:2px;color:var(--yellow);}
  .contact-info-list h5{margin:0 0 4px;font-size:14.5px;font-weight:600;color:#fff;}
  .contact-info-list p{margin:0;color:var(--steel-300);font-size:14px;}
  .map-embed{margin-top:26px;border:1px solid rgba(255,255,255,.15);}
  .map-embed iframe{width:100%;height:220px;display:block;border:0;}
  form.quote-form{display:flex;flex-direction:column;gap:16px;}
  form.quote-form label{font-size:13px;font-weight:600;color:#fff;display:block;margin-bottom:6px;}
  form.quote-form input,form.quote-form textarea{width:100%;padding:12px 14px;background:var(--graphite-800);border:1px solid rgba(255,255,255,.15);color:#fff;font-size:14px;}
  form.quote-form input:focus,form.quote-form textarea:focus{outline:2px solid var(--yellow);border-color:var(--yellow);}
  form.quote-form .form-msg{font-size:13.5px;color:var(--yellow);display:none;}

  footer{background:var(--ink);color:var(--steel-300);padding:64px 0 0;}
  .foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.1fr;gap:40px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.1);}
  .foot-logo img{height:34px;background:#fff;padding:4px 6px;border-radius:3px;margin-bottom:14px;}
  .foot-grid h5{color:#fff;font-size:14.5px;font-weight:600;margin:0 0 16px;}
  .foot-grid ul li{margin-bottom:10px;font-size:14px;}
  .foot-grid ul li a:hover{color:var(--yellow);}
  .foot-social{display:flex;gap:14px;margin-top:16px;}
  .foot-social a{color:var(--steel-300);}
  .foot-social a:hover{color:var(--yellow);}
  .foot-bottom{display:flex;justify-content:space-between;align-items:center;padding:22px 0;font-size:13px;flex-wrap:wrap;gap:10px;}
  .foot-bottom a#adminLink{opacity:.55;}
  .foot-bottom a#adminLink:hover{opacity:1;color:var(--yellow);}

  .wa-float{position:fixed;bottom:24px;right:24px;z-index:100;width:56px;height:56px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(0,0,0,.3);}
  .wa-float svg{width:28px;height:28px;fill:#fff;}

  .modal-overlay{position:fixed;inset:0;background:rgba(10,12,13,.75);display:none;align-items:center;justify-content:center;z-index:300;padding:20px;overflow:auto;}
  .modal-overlay.open{display:flex;}
  .modal-box{background:var(--graphite-900);color:#fff;width:100%;max-width:480px;padding:40px;position:relative;border-top:3px solid var(--yellow);margin:auto;}
  .modal-close{position:absolute;top:14px;right:16px;background:none;border:0;color:var(--steel-300);font-size:22px;cursor:pointer;}

  .detail-box{max-width:820px;}
  .detail-box img#detailImg{width:100%;aspect-ratio:16/9;object-fit:contain;background:var(--graphite-800);margin-bottom:10px;border:1px solid rgba(255,255,255,.15);}
  .detail-thumbs{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap;}
  .detail-thumbs img{width:70px;height:52px;object-fit:cover;cursor:pointer;border:2px solid transparent;opacity:.65;}
  .detail-thumbs img.active{border-color:var(--yellow);opacity:1;}
  .detail-box .prod-tag{position:static;display:inline-block;margin-bottom:10px;}
  .detail-box p.d-desc{color:var(--steel-300);font-size:16px;line-height:1.7;}
  .detail-box h4.d-sub{color:#fff;font-size:15px;margin:20px 0 10px;text-transform:uppercase;letter-spacing:.04em;}
  .detail-box ul.d-features{margin:0 0 24px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 20px;}
  .detail-box ul.d-features li{list-style:none;padding-left:22px;position:relative;font-size:14.5px;color:var(--paper-100);margin-bottom:11px;}
  .detail-box ul.d-features li::before{content:"";position:absolute;left:0;top:7px;width:9px;height:9px;border:2px solid var(--yellow);}
  @media (max-width:600px){ .detail-box ul.d-features{grid-template-columns:1fr;} }

  .admin-box{max-width:900px;text-align:left;}
  .admin-tabs{display:flex;gap:6px;margin-bottom:24px;border-bottom:1px solid rgba(255,255,255,.15);flex-wrap:wrap;}
  .admin-tab-btn{background:none;border:0;color:var(--steel-300);padding:10px 4px;margin-right:18px;font-weight:600;font-size:13.5px;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;}
  .admin-tab-btn.active{color:#fff;border-color:var(--yellow);}
  .admin-panel{display:none;max-height:65vh;overflow:auto;padding-right:4px;}
  .admin-panel.active{display:block;}
  .admin-row-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;align-items:center;}
  .site-photo-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;}
  .site-photo-item label{font-size:12.5px;font-weight:600;color:var(--steel-300);display:block;margin-bottom:8px;}
  .site-photo-item img{width:100%;aspect-ratio:4/3;object-fit:contain;background:var(--graphite-800);margin-bottom:8px;}
  .site-photo-item input[type=file]{font-size:12px;color:var(--steel-300);width:100%;}
  .admin-plist{display:flex;flex-direction:column;gap:10px;max-height:260px;overflow:auto;margin-bottom:20px;padding-right:6px;}
  .admin-prow{display:flex;align-items:center;gap:14px;background:var(--graphite-800);padding:10px 14px;}
  .admin-prow img{width:52px;height:52px;object-fit:cover;flex:none;border-radius:0;}
  .admin-prow .info{flex:1;min-width:0;}
  .admin-prow .info h5{margin:0;font-size:14px;color:#fff;font-weight:600;}
  .admin-prow .info span{font-size:12px;color:var(--steel-300);}
  .admin-prow .acts{display:flex;gap:8px;flex:none;}
  .admin-prow .acts button{background:none;border:1px solid rgba(255,255,255,.25);color:#fff;font-size:12px;padding:6px 10px;cursor:pointer;}
  .admin-prow .acts button.del{border-color:#c0392b;color:#ff8f7c;}
  .admin-form{display:none;flex-direction:column;gap:14px;background:var(--graphite-800);padding:20px;margin-top:6px;}
  .admin-form.open{display:flex;}
  .admin-form label{font-size:12.5px;font-weight:600;color:var(--steel-300);}
  .admin-form input,.admin-form textarea{width:100%;padding:10px 12px;background:var(--graphite-900);border:1px solid rgba(255,255,255,.15);color:#fff;font-size:13.5px;margin-top:5px;}
  .admin-form textarea{resize:vertical;}
  .admin-form .hint{font-size:11.5px;color:var(--steel-300);margin-top:4px;}
  .admin-note{font-size:12.5px;color:var(--steel-300);margin-bottom:16px;}
  .admin-note.warn{color:#ffb454;}
  .admin-note.good{color:#8fe0a8;}
  .pf-thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
  .pf-thumb{position:relative;width:72px;height:54px;}
  .pf-thumb img{width:100%;height:100%;object-fit:cover;}
  .pf-thumb button{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;background:#c0392b;color:#fff;border:0;font-size:12px;line-height:1;cursor:pointer;padding:0;}
  .lead-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;background:var(--graphite-800);padding:12px 14px;}
  .lead-row .info h5{margin:0 0 4px;color:#fff;font-size:14px;}
  .lead-row .info p{margin:0 0 2px;font-size:12.5px;color:var(--steel-300);}
  .lead-row .info span.time{font-size:11px;color:var(--steel-600);display:block;margin-top:4px;}
  .lead-row button.del{background:none;border:1px solid #c0392b;color:#ff8f7c;font-size:12px;padding:6px 10px;cursor:pointer;flex:none;}
  .empty-note{font-size:13.5px;color:var(--steel-300);padding:14px 0;}
  .contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  @media (max-width:600px){ .contact-form-grid{grid-template-columns:1fr;} }
  .gal-admin-thumb{width:52px;height:52px;object-fit:cover;flex:none;background:#000;}

  @media (max-width:980px){
    nav.primary{position:fixed;top:65px;left:0;right:0;bottom:0;background:var(--graphite-900);flex-direction:column;align-items:flex-start;padding:26px 24px;overflow:auto;display:none;}
    nav.primary.open{display:flex;}
    nav.primary > ul{flex-direction:column;align-items:flex-start;width:100%;gap:4px;}
    .dropdown{position:static;display:none;border:0;box-shadow:none;padding-left:12px;}
    .has-drop.open .dropdown{display:block;}
    .hamburger{display:flex;}
    .navcta .btn-primary{display:none;}
    .about-grid,.feat-grid,.contact-grid,.contact-grid-3{grid-template-columns:1fr;gap:44px;}
    .mvv-grid{grid-template-columns:1fr;}
    .mvv-item{border-left:none;border-top:1px solid #dcd7c9;}
    .mvv-item:first-child{border-top:none;}
    .prod-grid{grid-template-columns:repeat(2,1fr);}
    .testi-grid{grid-template-columns:repeat(2,1fr);}
    .gal-grid{grid-template-columns:repeat(2,1fr);}
    .foot-grid{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:560px){
    .prod-grid,.testi-grid,.gal-grid,.foot-grid{grid-template-columns:1fr;}
    .section{padding:60px 0;}
  }
  @media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;}}
