/* ═══════════════════════════════════════════
   DESIGN TOKENS & BASE
═══════════════════════════════════════════ */
:root{
  --blue:#1A3C8F;       
  --blue2:#1250C4;      
  --blue-light:#EBF0FB; 
  --red:#D42B2B;        
  --red2:#E83535;
  --red-light:#FDEAEA;
  --navy:#14213D;       
  --charcoal:#2D3748;
  --white:#FFFFFF;
  --grey:#F6F7FA;       
  --grey2:#EEF0F5;
  --border:#DDE2EE;
  --text:#14213D;
  --muted:#5A6A8A;
  --light-text:#8896B3;
  --gold:#C9960A;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{
  font-family:'Montserrat',sans-serif;
  color:var(--text);background:var(--white);
  overflow-x:hidden;
}

/* ═══════════════════════════════════════════
   ANNOUNCEMENT BAR
═══════════════════════════════════════════ */
.ann{
  background:var(--blue);color:white;
  text-align:center;padding:9px 5%;
  font-size:12.5px;font-weight:500;letter-spacing:0.2px;
  display:flex;align-items:center;justify-content:center;gap:10px;
  position:relative; flex-wrap: wrap;
}
.ann strong{color:#FFD580;}
.ann a{color:#FFD580;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(255,213,128,0.5);}
.ann-x{position:absolute;right:16px;top:50%;transform:translateY(-50%);
  background:none;border:none;color:rgba(255,255,255,0.6);font-size:16px;cursor:pointer;padding:4px;}
.ann-x:hover{color:white;}

/* ═══════════════════════════════════════════
   NAVBAR (DESKTOP)
═══════════════════════════════════════════ */
nav{
  position:sticky;top:0;z-index:990;background:#F7F7F7;
  border-bottom:2px solid var(--blue);
  padding:0 5%;height:75px;
  display:flex;align-items:center;justify-content:space-between;
  box-shadow:0 2px 16px rgba(26,60,143,0.1);
}
.nav-logo{display:flex;align-items:center;gap:11px;text-decoration:none;}
.logo-icon{
  width: 170px; height: 150px;
  background-image: url("image/parishram_logo.jpeg");
  background-size: contain; background-repeat: no-repeat; background-position: center;
}
.nav-links{display:flex;align-items:center;gap:2px;}
.nav-links a{
  font-size:13.5px;font-weight:600;color:var(--text);text-decoration:none;
  padding:8px 14px;border-radius:6px;transition:0.2s;letter-spacing:0.2px;
}
.nav-links a:hover{color:var(--blue);background:var(--blue-light);}
.nav-right{display:flex;align-items:center;gap:10px;}
.btn-red{
  background:var(--red);color:white;text-decoration:none;border:none;cursor:pointer;
  padding:11px 22px;border-radius:7px;font-size:13.5px;font-weight:700;
  transition:all 0.25s;display:inline-flex;align-items:center;gap:8px;
}
.btn-red:hover{background:#B02020;transform:translateY(-1px);box-shadow:0 6px 20px rgba(212,43,43,0.3);}
.btn-outline-blue{
  border:2px solid #1daa52;color:white;text-decoration:none;background:#1daa52;cursor:pointer;
  padding:10px 20px;border-radius:7px;font-size:13.5px;font-weight:700;
  transition:0.25s;display:inline-flex;align-items:center;gap:8px;
}
.btn-outline-blue:hover{background:var(--blue);color:white;border-color:var(--blue);}

/* ═══════════════════════════════════════════
   PREMIUM MOBILE NAV (GLASSMORPHISM)
═══════════════════════════════════════════ */
.ham{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px;}
.ham span{width:26px;height:3px;background:var(--blue);border-radius:2px;display:block;transition:0.3s;}

.mob-nav{
  display: flex !important;
  position: fixed; inset: 0;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  z-index: 9999;
  flex-direction: column;
  padding: 80px 32px 40px;
  transform: translateX(100%);
  opacity: 0;
  transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  pointer-events: none;
}
.mob-nav.open{ transform: translateX(0); opacity: 1; pointer-events: auto; }
.mob-nav a{
  font-size:18px;font-weight:700;color:var(--text);text-decoration:none;
  padding:18px 0;border-bottom:1px solid rgba(0,0,0,0.05);
  transition: color 0.3s ease;
}
.mob-nav a:hover{color:var(--blue);}
.mob-nav .btn-red{margin-top:30px;justify-content:center;font-size:16px;padding:15px; border-bottom: none;}
.close-btn {
  position: absolute; top: 20px; right: 25px;
  font-size: 32px; color: var(--navy); cursor: pointer;
  transition: transform 0.3s ease;
}
.close-btn:hover { transform: rotate(90deg); color: var(--red); }

/* ═══════════════════════════════════════════
   HERO SECTIONS
═══════════════════════════════════════════ */
#hero{position:relative;overflow:hidden;height:600px;}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease;}
.slide.on{opacity:1;}
.slide-bg{ width:100%;height:100%;background-size:cover;background-position:center;position:absolute;inset:0; }
.s1 .slide-bg{background-image:linear-gradient(100deg,rgba(26,60,143,0.92) 38%,rgba(26,60,143,0.55) 100%), url('https://images.unsplash.com/photo-1504307651254-35680f356dfd?w=1400&q=80');}
.s2 .slide-bg{background-image:linear-gradient(100deg,rgba(20,33,61,0.92) 38%,rgba(20,33,61,0.55) 100%), url('https://images.unsplash.com/photo-1590579491624-f98f36d4c763?w=1400&q=80');}
.s3 .slide-bg{background-image:linear-gradient(100deg,rgba(26,60,143,0.9) 38%,rgba(26,60,143,0.5) 100%), url('https://images.unsplash.com/photo-1515263487990-61b07816b324?w=1400&q=80');}
.slide-content{ position:absolute;inset:0;display:flex;align-items:center;padding:0 7%;max-width:800px; }
.slide-text .tag{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(212,43,43,0.2);border:1px solid rgba(212,43,43,0.5);
  color:#FF8F8F;font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;
  padding:6px 14px;border-radius:100px;margin-bottom:20px;
}
.slide-text h1{ font-size:clamp(32px, 5vw, 64px);font-weight:900;color:white;line-height:1.1;margin-bottom:16px;letter-spacing:-0.5px; }
.slide-text h1 span{color:#FFD580;}
.slide-text p{ font-size:clamp(15px, 2vw, 18px);font-weight:400;color:rgba(255,255,255,0.8);line-height:1.75;margin-bottom:34px;max-width:550px; }
.slide-actions{display:flex;gap:14px;flex-wrap:wrap;}
.hero-dots{ position:absolute;bottom:30px;left:7%;z-index:5; display:flex;gap:10px; }
.hdot{ width:12px;height:12px;border-radius:50%; background:rgba(255,255,255,0.4);cursor:pointer;border:none;transition:0.3s; }
.hdot.on{background:white;transform:scale(1.3);}
.exp-pill{
  position:absolute;right:6%;bottom:40px;z-index:5;
  background:white;border-radius:14px;padding:16px 24px;
  display:flex;align-items:center;gap:16px;
  box-shadow:0 8px 32px rgba(26,60,143,0.2);
}
.exp-pill .big{font-size:36px;font-weight:900;color:var(--blue);line-height:1;}
.exp-pill .lbl{font-size:11px;font-weight:600;color:var(--muted);letter-spacing:0.5px;}
.exp-pill .lbl span{display:block;font-size:13px;font-weight:700;color:var(--navy);}

/* ═══════════════════════════════════════════
   STATS & CATEGORIES
═══════════════════════════════════════════ */
#stats{background:var(--blue);padding:0 5%;}
.stats-row{ display:grid;grid-template-columns:repeat(4,1fr); }
.stat-item{ text-align:center;padding:40px 20px; border-right:1px solid rgba(255,255,255,0.15); transition:0.3s; }
.stat-item:last-child{border-right:none;}
.stat-num{ font-size:clamp(32px, 4vw, 48px);font-weight:900;color:white;line-height:1; }
.stat-num .plus{color:#FFD580;}
.stat-lbl{font-size:12px;font-weight:600;color:rgba(255,255,255,0.7); letter-spacing:1px;text-transform:uppercase;margin-top:10px;}

#categories{background:var(--grey);padding:90px 5%;}
.sec-center{text-align:center;margin-bottom:56px;}
.sec-tag{ display:inline-flex;align-items:center;gap:8px; font-size:12px;font-weight:700;letter-spacing:3px;text-transform:uppercase; color:var(--blue);margin-bottom:14px; }
.sec-tag::before,.sec-tag::after{content:'';width:20px;height:2px;background:var(--blue);}
h2.title{ font-size:clamp(28px, 4vw, 42px);font-weight:800;color:var(--navy); line-height:1.2;margin-bottom:12px;}
h2.title span{color:var(--blue);}
.subtitle{font-size:16px;color:var(--muted);line-height:1.7;max-width:600px;margin:0 auto;}

.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.cat-card{ background:white;border-radius:16px;padding:36px 24px; border:2px solid transparent;transition:all 0.3s; text-align:center; position:relative; overflow:hidden;}
.cat-card::before{ content:'';position:absolute;bottom:0;left:0;right:0;height:0; background:var(--charcoal);transition:height 0.4s;z-index:0; }
.cat-card:hover{border-color:var(--blue);box-shadow:0 12px 40px rgba(26,60,143,0.15);transform:translateY(-5px);}
.cat-card:hover::before{height:100%;}
.cat-icon{ width:72px;height:72px;border-radius:50%;background:var(--blue-light); display:flex;align-items:center;justify-content:center;margin:0 auto 20px; position:relative;z-index:1;transition:0.3s; }
.cat-card:hover .cat-icon{background:var(--blue);}
.cat-icon svg{width:36px;height:36px;stroke:var(--blue);fill:none;stroke-width:1.8;transition:0.3s;}
.cat-card:hover .cat-icon svg{stroke:white;}
.cat-card h3{font-size:19px;font-weight:800;color:#D42B2B;margin-bottom:8px;position:relative;z-index:1;}
.cat-card p{font-size:14px;color:white;line-height:1.6;margin-bottom:12px;position:relative;z-index:1;}
.cat-brands{font-size:11px;font-weight:700;color:#59b1f7;letter-spacing:1px;position:relative;z-index:1;}

.cat-wide{ grid-column:span 3;background:var(--blue);color:white; display:flex;align-items:center;justify-content:space-between; padding:32px 48px;border-radius:16px; flex-wrap: wrap; gap: 20px;}
.cat-wide h3{font-size:24px;font-weight:800;color:white;}
.cat-wide p{font-size:15px;color:rgba(255,255,255,0.8);margin-top:6px;}
.cat-wide .num{font-size:clamp(40px, 5vw, 56px);font-weight:900;color:rgba(255,255,255,0.2);}

#card1{background: linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.6)), url("image/cement.jpg"); background-position: center; background-size: cover; }
#card2{background: linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.4)), url("image/steel_bars.jpg"); background-position: center; background-size: cover; }
#card3{background: linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.6)), url("image/plumbing\ pipes.jpg"); background-position: center; background-size: cover; }
#card4{background: linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.7)), url("image/water\ tank1.jpg"); background-position: center; background-size: cover; }
#card5{background: linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.6)), url("image/chemicals.jpg"); background-position: center; background-size: cover; }
#card6{background: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.6)), url("image/ms\ pipes.jpg"); background-position: center; background-size: cover; }

/* ═══════════════════════════════════════════
   WHY PARISHRAM & BRANDS
═══════════════════════════════════════════ */
#why{background:white;padding:90px 5%;}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.why-left h2{font-size:clamp(30px, 4vw, 44px);font-weight:800;color:var(--navy); line-height:1.2;margin-bottom:16px;}
.why-left h2 span{color:var(--blue);}
.why-left p{font-size:16px;color:var(--muted);line-height:1.7;margin-bottom:32px;}

.usp-item{ display:flex;gap:18px;align-items:flex-start; background:var(--grey);border-radius:14px;padding:24px; border-left:4px solid var(--blue);transition:0.3s; margin-bottom: 20px;}
.usp-item:hover{border-left-color:var(--red);background:white;box-shadow:0 8px 30px rgba(26,60,143,0.1);}
.usp-icon{ width:50px;height:50px;min-width:50px;border-radius:12px; background:var(--blue-light);display:flex;align-items:center;justify-content:center; }
.usp-icon svg{width:26px;height:26px;stroke:var(--blue);}
.usp-item h4{font-size:17px;font-weight:700;color:var(--navy);margin-bottom:6px;}
.usp-item p{font-size:14px;color:var(--muted);line-height:1.6;}

.why-collage{position:relative;height:450px;}
.wc-big{ position:absolute;left:0;top:0;width:75%;height:320px; border-radius:18px;overflow:hidden;box-shadow:0 16px 48px rgba(26,60,143,0.15); }
.wc-big img{width:100%;height:100%;object-fit:cover;}
.wc-sm{ position:absolute;right:0;bottom:0;width:55%;height:240px; border-radius:18px;overflow:hidden; border:6px solid white;box-shadow:0 12px 36px rgba(26,60,143,0.2); }
.wc-sm img{width:100%;height:100%;object-fit:cover;}
.wc-badge{ position:absolute;left:20px;bottom:50px;z-index:2; background:var(--navy);border-radius:14px;padding:16px 24px; display:flex;align-items:center;gap:16px; box-shadow:0 10px 30px rgba(20,33,61,0.4); }
.wc-badge .n{font-size:32px;font-weight:900;color:var(--red2);line-height:1;}
.wc-badge .l{font-size:12px;color:rgba(255,255,255,0.7);line-height:1.4;}

#brands{background:var(--grey);padding:80px 5%;}
.brand-scroll{overflow:hidden;margin-top:40px; padding: 20px 0;}
.brand-track{ display:flex;gap:20px; animation:brandScroll 30s linear infinite; white-space:nowrap; }
.brand-track:hover{animation-play-state:paused;}
@keyframes brandScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.brand-card {
  display: inline-flex; align-items: center; justify-content: center;
  background: transparent; border: none; width: 150px; min-width: 150px;
  flex-shrink: 0; transition: all 0.3s ease; filter: grayscale(1) opacity(0.5);
}
.brand-card:hover { filter: grayscale(0) opacity(1); transform: scale(1.08); }
.brand-logo-img { max-width: 100%; height: 80px; object-fit: contain; }

/* ═══════════════════════════════════════════
   PROJECTS & CLIENTS
═══════════════════════════════════════════ */
#projects{background:var(--navy);padding:90px 5%;}
#projects .sec-tag{color:#FFD580;}
#projects .sec-tag::before,#projects .sec-tag::after{background:#FFD580;}
#projects h2.title{color:white;}
#projects .subtitle{color:rgba(255,255,255,0.6);}

.proj-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;margin-top:48px;}
.proj-big{ position:relative;border-radius:18px;overflow:hidden;height:420px; }
.proj-big img{width:100%;height:100%;object-fit:cover;}
.proj-big-overlay{ position:absolute;inset:0; background:linear-gradient(to top,rgba(15,23,42,0.95) 0%,rgba(15,23,42,0.1) 70%);}
.proj-big-text{position:absolute;bottom:0;left:0;right:0;padding:32px;}
.proj-cat{ font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase; color:var(--red2);margin-bottom:10px;display:flex;align-items:center;gap:10px; }
.proj-cat::before{content:'';width:16px;height:2px;background:var(--red2);}
.proj-big-text h3{font-size:24px;font-weight:800;color:white;margin-bottom:16px;line-height:1.3;}
.proj-chips{display:flex;flex-wrap:wrap;gap:10px;}
.pchip{ font-size:12px;font-weight:600; background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.2); color:white;padding:6px 14px;border-radius:100px; }

.proj-side{display:flex;flex-direction:column;gap:20px;}
.proj-sm{ border-radius:16px;overflow:hidden;flex:1;position:relative; min-height:130px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1); padding:24px;display:flex;flex-direction:column;justify-content:flex-end; transition:0.3s; }
.proj-sm:hover{background:rgba(26,60,143,0.3);border-color:rgba(26,60,143,0.6); transform:translateY(-3px);}
.proj-sm h4{font-size:16px;font-weight:700;color:white;line-height:1.4;margin-top:8px;}
.proj-num-big{ position:absolute;top:16px;right:20px; font-size:60px;font-weight:900;color:rgba(255,255,255,0.05);line-height:1; }

.clients-flex{display:flex;flex-wrap:wrap;gap:12px;}
.cbadge{ font-size:13px;font-weight:600; border:1px solid rgba(255,255,255,0.2);color:rgba(255,255,255,0.7); padding:8px 18px;border-radius:100px;transition:0.2s; }
.cbadge:hover{border-color:var(--blue);color:white;background:var(--blue);}

/* ═══════════════════════════════════════════
   CONTACT & FOOTER
═══════════════════════════════════════════ */
#contact{background:var(--grey);padding:90px 5%;}
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:start;}
.contact-info h2{font-size:clamp(28px, 3.5vw, 40px);font-weight:800;color:var(--navy); line-height:1.2;margin-bottom:12px;}
.contact-info h2 span{color:var(--blue);}
.contact-info .sub{font-size:16px;color:var(--muted);line-height:1.7;margin-bottom:40px;}

.ci{display:flex;gap:16px;align-items:flex-start; margin-bottom: 24px;}
.ci-ico{ width:48px;height:48px;min-width:48px;border-radius:12px; background:var(--blue-light);display:flex;align-items:center;justify-content:center; color:var(--blue);transition:0.3s; }
.ci:hover .ci-ico{background:var(--blue); color:white;}
.ci-l{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:5px;}
.ci-v{font-size:15px;color:var(--navy);line-height:1.6;font-weight:500;}
.ci-v a{color:var(--navy);text-decoration:none;transition:0.2s;}
.ci-v a:hover{color:var(--blue);}

.map-wrap{border-radius:16px;overflow:hidden;border:2px solid var(--border);margin-bottom:20px; box-shadow: 0 4px 20px rgba(0,0,0,0.05);}
.map-wrap iframe{width:100%;height:250px;border:none;display:block;}
.map-btn{ display:flex;align-items:center;justify-content:center;gap:10px; background:var(--blue);color:white;text-decoration:none; padding:14px;border-radius:12px;font-size:15px;font-weight:700; transition:0.3s; }
.map-btn:hover{background:var(--blue2); transform:translateY(-2px); box-shadow: 0 6px 20px rgba(26,60,143,0.2);}

.cform-box{ background:white;border-radius:24px;padding:45px 40px; border:1px solid var(--border); box-shadow:0 10px 40px rgba(26,60,143,0.08); }
.cform-box h3{font-size:24px;font-weight:800;color:var(--navy);margin-bottom:8px;}
.cform-sub{font-size:14px;color:var(--muted);margin-bottom:30px;}
.fg{margin-bottom:20px;}
.fg label{ display:block;font-size:12px;font-weight:700;letter-spacing:1.5px; text-transform:uppercase;color:var(--muted);margin-bottom:8px; }
.fg input,.fg textarea,.fg select{ width:100%;background:var(--grey);border:2px solid var(--border); border-radius:10px;padding:14px 18px;font-size:15px; font-family:'Montserrat',sans-serif;font-weight:500; color:var(--navy);outline:none;transition:0.3s; }
.fg input:focus,.fg textarea:focus,.fg select:focus{ border-color:var(--blue);background:white; box-shadow:0 0 0 4px rgba(26,60,143,0.1); }
.frow{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.f-submit{ width:100%;background:var(--red);color:white;border:none; padding:16px;border-radius:10px;font-size:16px;font-weight:800; cursor:pointer;transition:0.3s; display:flex;align-items:center;justify-content:center;gap:10px; margin-top:10px; }
.f-submit:hover{background:#B02020;box-shadow:0 8px 25px rgba(212,43,43,0.3); transform:translateY(-2px);}

footer{background:var(--navy);}
.footer-top{ display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:50px; padding:70px 5% 50px; border-bottom:1px solid rgba(255,255,255,0.1); }
.fb-brand h3{ width:200px; height:45px; margin-bottom:20px; background-image: url("image/logo6.png"); background-size: contain; background-repeat: no-repeat; background-position: left center; }
.fb-brand p{font-size:14px;font-weight:400;line-height:1.8;color:rgba(255,255,255,0.6);max-width:300px;margin-bottom:24px;}
.f-socials{display:flex;gap:12px;}
.fsoc{ width:42px;height:42px;border-radius:10px; border:1px solid rgba(255,255,255,0.2); display:flex;align-items:center;justify-content:center; color:rgba(255,255,255,0.7);text-decoration:none;transition:0.3s; }
.fsoc:hover{background:var(--blue);border-color:var(--blue);color:white; transform:translateY(-3px);}
.fc h4{ font-size:12px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase; color:white;margin-bottom:24px; }
.fc ul{list-style:none;display:flex;flex-direction:column;gap:12px;}
.fc ul li a{ font-size:14px;font-weight:500;color:rgba(255,255,255,0.6); text-decoration:none;transition:0.2s; }
.fc ul li a:hover{color:#FFD580;}
.footer-bottom{ display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px; padding:25px 5%; }
.footer-bottom p{font-size:13px;color:rgba(255,255,255,0.4);}

/* ═══════════════════════════════════════════
   PRICE LIST & CATALOGUE SPECIFIC CSS
═══════════════════════════════════════════ */
#cat-hero {
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.95) 0%, rgba(2, 6, 23, 0.85) 100%),
              url('https://images.unsplash.com/photo-1504307651254-35680f356dfd?w=1400&q=80');
  background-size: cover; background-position: center;
  padding: 120px 5% 90px; text-align: center; color: white;
}
#catalogue-toggle-section { padding: 0 5% 40px; background: #fff; display: flex; justify-content: center; }
.catalogue-toggle { display: inline-flex; align-items: center; margin-top: 40px; gap: 8px; padding: 8px; background: #f1f5f9; border: 1px solid #e2e8f0; border-radius: 999px; box-shadow: 0 6px 20px rgba(15, 23, 42, 0.08); flex-wrap: wrap; justify-content: center;}
.catalogue-toggle-btn { border: none; background: transparent; color: #475569; padding: 12px 28px; border-radius: 999px; font-size: 15px; font-weight: 700; cursor: pointer; transition: all 0.3s ease; }
.catalogue-toggle-btn:hover { color: #0f172a; background: rgba(0,0,0,0.05); }
.catalogue-toggle-btn.active { background: var(--blue); color: #fff; box-shadow: 0 6px 16px rgba(26,60,143,0.25); }

.resource-panel { display: none; padding: 40px 5% 80px; min-height: 45vh; }
.resource-panel.active-resource-panel { display: block; }

.cat-matrix { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; max-width: 1280px; margin: 0 auto; }
.cat-resource-card { position: relative; border-radius: 12px; overflow: hidden; background: #fff; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); aspect-ratio: 3/4; cursor: pointer; }
.cat-cover-img { width: 100%; height: 100%; object-fit: contain; background: #f4f6f9; transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1); }
.cat-resource-card:hover .cat-cover-img { transform: scale(1.08); }
.cat-hover-overlay { position: absolute; inset: 0; background: rgba(15, 23, 42, 0.88); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 30px; opacity: 0; transform: translateY(20px); transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); }
.cat-resource-card:hover .cat-hover-overlay { opacity: 1; transform: translateY(0); }
.cat-hover-overlay h3 { font-size: 22px; font-weight: 800; color: #fff; margin: 0 0 12px 0; line-height: 1.2; }
.cat-hover-overlay p { font-size: 14px; color: rgba(255, 255, 255, 0.75); line-height: 1.5; margin-bottom: 25px; }
.hover-download-btn { background: var(--red); color: white; border: none; padding: 12px 28px; font-size: 14px; font-weight: 700; border-radius: 30px; cursor: pointer; transition: all 0.3s; display: inline-flex; align-items: center; gap: 8px; }
.hover-download-btn:hover { background: #d62828; transform: scale(1.05); }

/* Download Modal */
.modal-blur-overlay { position: fixed; inset: 0; background: rgba(15, 23, 42, 0.7); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); z-index: 2000; display: none; align-items: center; justify-content: center; padding: 24px; opacity: 0; transition: opacity 0.4s ease; }
.modal-blur-overlay.active { display: flex; opacity: 1; }
.modal-window-box { background: #fff; width: 100%; max-width: 480px; border-radius: 20px; padding: 45px 40px; position: relative; box-shadow: 0 30px 60px rgba(0,0,0,0.3); transform: translateY(20px) scale(0.95); transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); }
.modal-blur-overlay.active .modal-window-box { transform: translateY(0) scale(1); }
.modal-close-trigger { position: absolute; top: 20px; right: 20px; background: #f1f5f9; border: none; width: 40px; height: 40px; border-radius: 50%; font-size: 18px; color: #475569; cursor: pointer; transition: all 0.2s; display: flex; align-items: center; justify-content: center; }
.modal-close-trigger:hover { background: var(--red); color: white; transform: rotate(90deg); }

/* Float Buttons */
.float{position:fixed;bottom:24px;right:20px;z-index:900;display:flex;flex-direction:column;gap:12px;align-items:flex-end;}
.flt{ display:flex;align-items:center;gap:10px;color:white;text-decoration:none; padding:14px 22px;border-radius:100px;font-size:14px;font-weight:700; transition:all 0.3s; box-shadow:0 8px 25px rgba(0,0,0,0.25); }
.flt-wa{background:#25D366;}
.flt-wa:hover{background:#1daa52;transform:translateY(-3px);box-shadow:0 12px 30px rgba(37,211,102,0.4);}
.flt-call{background:var(--red);}
.flt-call:hover{background:#B02020;transform:translateY(-3px);box-shadow:0 12px 30px rgba(212,43,43,0.4);}

/* Utilities & Scroll */
.icon-flat { width: 20px; height: 20px; vertical-align: middle; stroke: currentColor; fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.icon-contact { width: 24px; height: 24px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; color: var(--red); }
.icon-footer { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.sr{opacity:0;transform:translateY(30px);transition:all 0.7s cubic-bezier(0.16,1,0.3,1);}
.sr.v{opacity:1;transform:translateY(0);}
.sl{opacity:0;transform:translateX(-30px);transition:all 0.7s cubic-bezier(0.16,1,0.3,1);}
.sl.v{opacity:1;transform:translateX(0);}
.srt{opacity:0;transform:translateX(30px);transition:all 0.7s cubic-bezier(0.16,1,0.3,1);}
.srt.v{opacity:1;transform:translateX(0);}

/* ═══════════════════════════════════════════
   PREMIUM MOBILE RESPONSIVE (MEDIA QUERIES)
═══════════════════════════════════════════ */
@media(max-width:1200px){
  .cat-matrix { grid-template-columns: repeat(3, 1fr); }
  .contact-grid { gap: 40px; }
  .footer-top { grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 30px; }
}

@media(max-width:1024px){
  .cat-grid{grid-template-columns:repeat(2,1fr);}
  .cat-wide{grid-column:span 2;}
  .stats-row{grid-template-columns:repeat(2,1fr);}
  .stat-item:nth-child(1), .stat-item:nth-child(2) {border-bottom:1px solid rgba(255,255,255,0.1);}
  .stat-item:nth-child(2) {border-right: none;}
  .why-grid, .proj-grid { grid-template-columns: 1fr; gap: 40px; }
  .footer-top { grid-template-columns: repeat(2, 1fr); }
}

@media(max-width:900px){
  .nav-links, .nav-right .btn-outline-blue {display:none;}
  .ham{display:flex;}
  
  /* Remove hacky margins */
  #sl1, .srt.v { margin-top: 0 !important; }
  
  .contact-grid{grid-template-columns:1fr; gap: 40px;}
  .why-collage { height: 400px; margin-top: 20px;}
  
  #hero{height:550px;}
  .slide-content{padding:0 5%;}
  .exp-pill{right:5%;bottom:30px; padding: 12px 18px;}
  .exp-pill .big { font-size: 28px; }
  
  .cat-matrix { grid-template-columns: repeat(2, 1fr); }
  
  .cform-box { padding: 35px 25px; }
}

@media(max-width:640px){
  .cat-grid{grid-template-columns:1fr;}
  .cat-wide{grid-column:span 1; text-align: center; justify-content: center;}
  
  .why-collage{height:300px;}
  .wc-badge { left: 10px; bottom: 20px; padding: 12px 16px; }
  .wc-badge .n { font-size: 24px; }
  
  .frow{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr; gap: 40px;}
  
  #hero{height:500px;}
  .exp-pill{display:none;}
  
  .cat-matrix { grid-template-columns: 1fr; gap: 24px;}
  .catalogue-toggle { flex-direction: column; width: 100%; border-radius: 16px; padding: 12px;}
  .catalogue-toggle-btn { width: 100%; text-align: center; }
  
  .cat-hover-overlay { 
    opacity: 1; transform: translateY(0); 
    background: linear-gradient(to top, rgba(15, 23, 42, 0.95) 0%, rgba(15, 23, 42, 0.4) 100%); 
    justify-content: flex-end; padding-bottom: 20px;
  }
}