/* ============================================================
   RASI PLASTER — Global Stylesheet
   Brand: Red #ED1C24 | Navy #25496B | White #FFF | Grey #F5F7FA
   ============================================================ */

/* ---------- RESET ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Inter',sans-serif;color:#1a1a2e;background:#fff;-webkit-font-smoothing:antialiased;line-height:1.6}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
address{font-style:normal}
button{cursor:pointer;border:none;background:none;font-family:inherit}

/* ---------- CSS VARIABLES ---------- */
:root{
  --red:     #ED1C24;
  --red-dark:#c41019;
  --navy:    #25496B;
  --navy-dark:#1a3450;
  --white:   #FFFFFF;
  --grey-bg: #F5F7FA;
  --grey-200:#E8EDF2;
  --grey-400:#9BA8B4;
  --grey-600:#5A6474;
  --grey-800:#2D3748;
  --black:   #0D1117;
  --yellow:  #F5A623;

  --font-head:'Barlow',sans-serif;
  --font-body:'Inter',sans-serif;

  --shadow-sm:0 2px 8px rgba(0,0,0,.08);
  --shadow-md:0 4px 20px rgba(0,0,0,.12);
  --shadow-lg:0 8px 40px rgba(0,0,0,.16);
  --shadow-red:0 4px 20px rgba(237,28,36,.3);
  --shadow-navy:0 4px 20px rgba(37,73,107,.25);

  --radius-sm:6px;
  --radius-md:12px;
  --radius-lg:20px;

  --trans:all 0.25s cubic-bezier(.4,0,.2,1);
  --header-h:72px;
}

/* ---------- ACCESSIBILITY ---------- */
.skip-link{position:absolute;top:-40px;left:0;background:var(--red);color:#fff;padding:.5rem 1rem;z-index:9999;border-radius:0 0 4px 0;transition:top .2s}
.skip-link:focus{top:0}

/* ---------- CONTAINER ---------- */
.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}

/* ============================================================
   TOP BAR
   ============================================================ */
.topbar{background:var(--navy-dark);color:#fff;font-size:.82rem;padding:.4rem 0}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:1.25rem}
.topbar-item{display:inline-flex;align-items:center;gap:0.4rem}
.topbar-icon{color:#FFFFFF;fill:#FFFFFF;flex-shrink:0;vertical-align:middle}
.topbar a{color:#CBD5E1;transition:var(--trans)}
.topbar a:hover{color:#fff}

/* ============================================================
   HEADER
   ============================================================ */
.site-header{
  position:sticky;top:0;z-index:900;
  background:var(--white);
  border-bottom:3px solid var(--red);
  box-shadow:var(--shadow-sm);
  height:var(--header-h);
  transition:var(--trans);
}
.site-header.scrolled{box-shadow:var(--shadow-md)}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:var(--header-h);
  gap:1.5rem;
}
.site-logo{
  display:inline-flex;
  align-items:center;
  gap:0.75rem;
  text-decoration:none;
  flex-shrink:0;
}
.site-logo img{height:48px;width:auto;object-fit:contain}
.site-logo-text{
  display:inline-flex;
  align-items:baseline;
  gap:0.35rem;
  font-family:var(--font-head);
  font-size:1.55rem;
  font-weight:900;
  line-height:1;
  letter-spacing:-0.02em;
  white-space:nowrap;
}
.site-logo-text .brand-rasi{
  color:var(--red);
  font-weight:900;
  letter-spacing:0.02em;
}
.brand-symbol{
  font-size:0.42em;
  font-weight:700;
  vertical-align:super;
  line-height:0;
  margin-left:1px;
}
.site-logo-text .brand-plaster{
  color:var(--navy);
  font-weight:800;
}

/* Desktop Nav */
.main-nav{flex-shrink:0}
.main-nav ul{display:flex;gap:.25rem;list-style:none;white-space:nowrap;align-items:center}
.main-nav a{
  display:block;padding:.5rem .9rem;
  font-weight:600;font-size:.9rem;
  color:var(--navy);border-radius:var(--radius-sm);
  position:relative;transition:var(--trans);
}
.main-nav a::after{
  content:'';position:absolute;bottom:0;left:50%;right:50%;
  height:2px;background:var(--red);transition:var(--trans);
}
.main-nav a:hover,.main-nav a.active{color:var(--red)}
.main-nav a:hover::after,.main-nav a.active::after{left:.9rem;right:.9rem}

/* Hamburger */
.hamburger{
  display:none;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:4px;
  width:36px;
  height:36px;
  padding:0;
  border-radius:8px;
  border:1px solid #E2E8F0;
  background:#F8FAFC;
  cursor:pointer;
  z-index:901;
  transition:all 0.2s ease;
}
.hamburger:hover{
  background:#F1F5F9;
  border-color:#CBD5E1;
}
.hamburger span{
  display:block;
  width:18px;
  height:2px;
  background:var(--navy);
  border-radius:2px;
  transition:var(--trans);
}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}

/* Header CTA */
.header-cta{font-size:.85rem;padding:.5rem 1.2rem;flex-shrink:0;white-space:nowrap}

/* ============================================================
   MOBILE DRAWER
   ============================================================ */
.mobile-drawer{
  position:fixed;
  top:0;
  right:-280px;
  width:min(260px, 78vw);
  height:100%;
  background:var(--white);
  z-index:1000;
  box-shadow:-6px 0 25px rgba(0,0,0,.15);
  transition:right .32s cubic-bezier(.4,0,.2,1);
  overflow-y:auto;
  display:flex;
  flex-direction:column;
}
.mobile-drawer.open{right:0}
.mobile-drawer.open[aria-hidden="true"]{aria-hidden:false}
.drawer-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:1rem 1.25rem;
  border-bottom:1px solid #F1F5F9;
  background:#FAFBFD;
}
.drawer-brand{
  font-family:var(--font-head);
  font-size:1.15rem;
  font-weight:900;
  letter-spacing:-0.02em;
}
.drawer-brand .brand-rasi{
  color:var(--red);
}
.drawer-brand .brand-symbol{
  font-size:0.6rem;
  font-weight:700;
  position:relative;
  top:-0.5em;
  margin-left:1px;
}
.drawer-brand .brand-plaster{
  color:var(--navy);
}
.drawer-close{
  width:32px;
  height:32px;
  border-radius:50%;
  background:#F1F5F9;
  border:none;
  color:#64748B;
  font-size:0.95rem;
  font-weight:bold;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:all 0.2s;
}
.drawer-close:hover{
  background:#FEE2E2;
  color:#ED1C24;
}
.drawer-inner{
  padding:1.25rem 1.25rem 2rem;
  flex:1;
  display:flex;
  flex-direction:column;
}
.drawer-menu{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:0.35rem;
}
.drawer-link{
  display:flex;
  align-items:center;
  padding:0.65rem 0.85rem;
  font-weight:600;
  color:var(--navy);
  font-size:0.92rem;
  border-radius:8px;
  transition:all 0.2s ease;
  text-decoration:none;
}
.drawer-link:hover,
.drawer-link.active{
  background:#FEF2F2;
  color:var(--red);
  font-weight:700;
}
.drawer-cta-wrap{
  margin-top:1.5rem;
  padding-top:1.25rem;
  border-top:1px solid #F1F5F9;
  display:flex;
  flex-direction:column;
  gap:0.65rem;
}
.drawer-cta-btn{
  width:100%;
  justify-content:center;
  text-align:center;
  padding:0.65rem 1rem;
  font-size:0.88rem;
  border-radius:8px;
  box-shadow:var(--shadow-red);
}
.drawer-call-btn{
  width:100%;
  justify-content:center;
  text-align:center;
  padding:0.65rem 1rem;
  font-size:0.88rem;
  border-radius:8px;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
  text-decoration:none;
  background:var(--navy);
  color:#FFFFFF;
  border:1.5px solid var(--navy);
  transition:all 0.25s ease;
}
.drawer-call-btn:hover{
  background:var(--navy-dark);
  border-color:var(--navy-dark);
  transform:translateY(-1px);
  box-shadow:0 4px 12px rgba(11,27,61,0.25);
  color:#FFFFFF;
}
.drawer-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(2px);z-index:999;opacity:0;pointer-events:none;transition:opacity .3s}
.drawer-overlay.active{opacity:1;pointer-events:all}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.75rem 1.75rem;border-radius:var(--radius-sm);
  font-family:var(--font-body);font-size:.95rem;font-weight:700;
  letter-spacing:.02em;transition:var(--trans);border:2px solid transparent;
}
.btn-primary{background:var(--red);color:#fff;border-color:var(--red)}
.btn-primary:hover{background:var(--red-dark);border-color:var(--red-dark);transform:translateY(-2px);box-shadow:var(--shadow-red)}
.btn-navy{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn-navy:hover{background:var(--navy-dark);border-color:var(--navy-dark);transform:translateY(-2px);box-shadow:var(--shadow-navy)}
.btn-outline{background:transparent;color:var(--red);border-color:var(--red)}
.btn-outline:hover{background:var(--red);color:#fff;transform:translateY(-2px)}
.btn-outline-white{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.btn-outline-white:hover{background:#fff;color:var(--navy)}
.btn-sm{padding:.5rem 1.2rem;font-size:.85rem}
.btn-lg{padding:1rem 2.5rem;font-size:1.05rem}

/* ============================================================
   SECTION TYPOGRAPHY
   ============================================================ */
.section-eyebrow{
  display:inline-block;
  font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--red);margin-bottom:.5rem;
}
.section-title{
  font-family:var(--font-head);
  font-size:clamp(1.8rem,4vw,2.8rem);
  font-weight:800;line-height:1.2;color:var(--navy);margin-bottom:1rem;
}
.section-title.light{color:#fff}
.section-subtitle{font-size:1.05rem;color:var(--grey-600);max-width:600px;line-height:1.7}
.section-subtitle.light{color:rgba(255,255,255,.75)}
.section-header{text-align:center;margin-bottom:3rem}
.section-header .section-subtitle{margin:0 auto}

/* Section spacing */
.section{padding:5rem 0}
.section-alt{padding:5rem 0;background:var(--grey-bg)}
.section-dark{padding:5rem 0;background:var(--navy)}
.section-red{padding:5rem 0;background:var(--red)}

/* Divider */
.section-divider{
  width:60px;height:4px;background:var(--red);
  border-radius:2px;margin:0 auto 1.5rem;
}
.section-divider.left{margin:0 0 1.5rem}

/* ============================================================
   HERO — HOME
   ============================================================ */
.hero{
  position:relative;
  width:100%;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:var(--navy-dark);
  padding:3.5rem 0;
}
@media (min-width:769px){
  .hero{
    min-height:max(calc(100vh - 110px), 56.25vw);
    aspect-ratio:16 / 9;
    padding:2rem 0;
  }
}
.hero-slides{
  position:absolute;inset:0;
  width:100%;height:100%;
  overflow:hidden;
  z-index:1;
}
.hero-slide{
  position:absolute;inset:0;
  width:100%;height:100%;
  background-size:cover;
  background-position:center right;
  background-repeat:no-repeat;
  opacity:0;
  visibility:hidden;
  transition:opacity 1.2s cubic-bezier(0.4, 0, 0.2, 1), transform 8s linear;
  transform:scale(1.04);
}
.hero-slide.active{
  opacity:1;
  visibility:visible;
  transform:scale(1);
}
.hero-slide:nth-child(n+2){
  background-position:center center;
}
.hero-overlay{
  display:block;
  position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(15, 23, 42, 0.7) 0%, rgba(15, 23, 42, 0.4) 45%, rgba(15, 23, 42, 0.05) 75%);
  z-index:2;
  pointer-events:none;
}
.hero-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:42px;
  height:42px;
  border-radius:50%;
  background:rgba(15, 23, 42, 0.45);
  border:1px solid rgba(255, 255, 255, 0.35);
  color:#FFFFFF;
  font-size:1.8rem;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:4;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  transition:all 0.25s ease;
  line-height:1;
  padding:0;
  padding-bottom:2px;
  user-select:none;
}
.hero-arrow:hover{
  background:var(--red);
  border-color:var(--red);
  transform:translateY(-50%) scale(1.08);
  box-shadow:0 4px 15px rgba(237, 28, 36, 0.45);
}
.hero-prev{left:1.5rem}
.hero-next{right:1.5rem}
@media (max-width:768px){
  .hero-arrow{display:none;}
}
.hero-container{
  width:100%;
  max-width:1320px;
  margin:0 auto;
  padding:0 2rem;
  position:relative;
  z-index:3;
}
.hero-slide-dots{
  position:absolute;
  bottom:1.5rem;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:0.6rem;
  z-index:4;
}
.hero-dot{
  width:12px;
  height:12px;
  border-radius:50%;
  background:rgba(255,255,255,0.45);
  border:2px solid rgba(255,255,255,0.85);
  cursor:pointer;
  padding:0;
  transition:all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow:0 2px 8px rgba(0,0,0,0.3);
}
.hero-dot:hover{
  background:rgba(255,255,255,0.8);
}
.hero-dot.active{
  background:var(--red);
  border-color:var(--red);
  width:32px;
  border-radius:10px;
  box-shadow:0 0 12px rgba(237, 28, 36, 0.6);
}
.hero-content{
  max-width:clamp(520px, 48vw, 660px);
  animation:fadeInUp .7s ease both;
}

/* Trust Line in Clean Text Form */
/* Hero Title with Red Accent */
.hero-title{
  font-family:var(--font-head);
  font-size:clamp(2.3rem, 4.8vw, 3.8rem);
  font-weight:900;
  color:#FFFFFF;
  line-height:1.12;
  margin-bottom:1rem;
  letter-spacing:-0.01em;
  text-shadow:0 2px 14px rgba(0,0,0,0.7);
}
.hero-title span{
  color:var(--red);
  text-shadow:0 0 25px rgba(237, 28, 36, 0.45);
}

/* Hindi Trust in Clean Text Form */
.hero-hindi-text{
  font-family:'Mukta', sans-serif;
  font-size:1.18rem;
  font-weight:600;
  color:#FEF08A;
  margin-bottom:1rem;
  line-height:1.5;
  text-shadow:0 1px 8px rgba(0,0,0,0.7);
  letter-spacing:0.01em;
}

/* Subtitle Description */
.hero-subtitle{
  font-size:1.02rem;
  line-height:1.68;
  color:rgba(255,255,255,0.92);
  margin-bottom:1.4rem;
  text-shadow:0 1px 8px rgba(0,0,0,0.7);
}

/* Trust Points in Clean Text Form with Red Checkmarks */
.hero-points-text{
  display:flex;
  flex-wrap:wrap;
  gap:0.6rem 1.4rem;
  margin-bottom:1.85rem;
  font-size:0.92rem;
  font-weight:600;
  color:#FFFFFF;
  text-shadow:0 1px 8px rgba(0,0,0,0.7);
}
.hero-points-text .point-item{
  display:inline-flex;
  align-items:center;
  gap:0.45rem;
}
.hero-points-text .check{
  color:var(--red);
  font-weight:900;
  font-size:1rem;
}

/* Actions */
.hero-actions{
  display:flex;
  gap:0.9rem;
  flex-wrap:wrap;
}

/* ============================================================
   MARQUEE STRIP
   ============================================================ */
.marquee-strip{
  background:var(--red);padding:.65rem 0;
  overflow:hidden;white-space:nowrap;
}
.marquee-track{
  display:inline-block;animation:marquee 28s linear infinite;
}
.marquee-track span{
  margin:0 2.5rem;font-size:.82rem;font-weight:700;
  color:#fff;text-transform:uppercase;letter-spacing:.1em;
}
.marquee-track span::before{content:'◆';margin-right:.75rem;color:rgba(255,255,255,.5)}

/* ============================================================
   CARDS & GRIDS
   ============================================================ */
.cards-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem}
.cards-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.cards-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}

/* Premium Feature Cards */
.feature-card{
  position:relative;
  background:#FFFFFF;
  border:1px solid #E2E8F0;
  border-radius:16px;
  padding:2.25rem 2rem;
  transition:all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  box-shadow:0 4px 16px rgba(0,0,0,0.03);
}
.feature-card::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:4px;
  background:linear-gradient(90deg, #ED1C24 0%, #25496B 100%);
  opacity:0;
  transition:opacity 0.35s ease;
}
.feature-card:hover{
  transform:translateY(-8px);
  box-shadow:0 20px 35px -10px rgba(37, 73, 107, 0.12), 0 0 0 1px rgba(237, 28, 36, 0.15);
  border-color:rgba(237, 28, 36, 0.25);
}
.feature-card:hover::before{
  opacity:1;
}
.feature-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:1.25rem;
}
.feature-icon-wrap{
  width:56px;
  height:56px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow:0 2px 8px rgba(0,0,0,0.04);
}
.feature-card:hover .feature-icon-wrap{
  color:#FFFFFF !important;
  transform:scale(1.08) rotate(3deg);
}
.feature-card-num{
  font-family:var(--font-head);
  font-size:1.35rem;
  font-weight:800;
  color:#CBD5E1;
  letter-spacing:-0.02em;
  transition:color 0.35s ease;
}

/* Individual Colorful Themes for Benefit Cards */

/* Card 01 - Amber / Gold (Smooth Finish) */
.feature-card.card-amber .feature-icon-wrap{
  background:linear-gradient(135deg, rgba(245, 158, 11, 0.16) 0%, rgba(217, 119, 6, 0.08) 100%);
  border:1px solid rgba(245, 158, 11, 0.28);
  color:#D97706;
}
.feature-card.card-amber:hover{
  border-color:rgba(245, 158, 11, 0.4);
  box-shadow:0 20px 35px -10px rgba(245, 158, 11, 0.18), 0 0 0 1px rgba(245, 158, 11, 0.2);
}
.feature-card.card-amber::before{
  background:linear-gradient(90deg, #F59E0B 0%, #FBBF24 100%);
}
.feature-card.card-amber:hover .feature-icon-wrap{
  background:linear-gradient(135deg, #F59E0B 0%, #D97706 100%);
  box-shadow:0 10px 22px rgba(245, 158, 11, 0.38);
}
.feature-card.card-amber .feature-tag{ color:#B45309; }
.feature-card.card-amber:hover .feature-card-num{ color:#D97706; }

/* Card 02 - Electric Purple (Fast Setting) */
.feature-card.card-purple .feature-icon-wrap{
  background:linear-gradient(135deg, rgba(139, 92, 246, 0.16) 0%, rgba(124, 58, 237, 0.08) 100%);
  border:1px solid rgba(139, 92, 246, 0.28);
  color:#7C3AED;
}
.feature-card.card-purple:hover{
  border-color:rgba(139, 92, 246, 0.4);
  box-shadow:0 20px 35px -10px rgba(139, 92, 246, 0.18), 0 0 0 1px rgba(139, 92, 246, 0.2);
}
.feature-card.card-purple::before{
  background:linear-gradient(90deg, #8B5CF6 0%, #C084FC 100%);
}
.feature-card.card-purple:hover .feature-icon-wrap{
  background:linear-gradient(135deg, #8B5CF6 0%, #7C3AED 100%);
  box-shadow:0 10px 22px rgba(139, 92, 246, 0.38);
}
.feature-card.card-purple .feature-tag{ color:#6D28D9; }
.feature-card.card-purple:hover .feature-card-num{ color:#7C3AED; }

/* Card 03 - Emerald Green (Anti-Crack Durability) */
.feature-card.card-emerald .feature-icon-wrap{
  background:linear-gradient(135deg, rgba(16, 185, 129, 0.16) 0%, rgba(5, 150, 105, 0.08) 100%);
  border:1px solid rgba(16, 185, 129, 0.28);
  color:#059669;
}
.feature-card.card-emerald:hover{
  border-color:rgba(16, 185, 129, 0.4);
  box-shadow:0 20px 35px -10px rgba(16, 185, 129, 0.18), 0 0 0 1px rgba(16, 185, 129, 0.2);
}
.feature-card.card-emerald::before{
  background:linear-gradient(90deg, #10B981 0%, #34D399 100%);
}
.feature-card.card-emerald:hover .feature-icon-wrap{
  background:linear-gradient(135deg, #10B981 0%, #059669 100%);
  box-shadow:0 10px 22px rgba(16, 185, 129, 0.38);
}
.feature-card.card-emerald .feature-tag{ color:#047857; }
.feature-card.card-emerald:hover .feature-card-num{ color:#059669; }

/* Card 04 - Royal Blue (Surface Adhesion) */
.feature-card.card-blue .feature-icon-wrap{
  background:linear-gradient(135deg, rgba(37, 99, 235, 0.16) 0%, rgba(29, 78, 216, 0.08) 100%);
  border:1px solid rgba(37, 99, 235, 0.28);
  color:#2563EB;
}
.feature-card.card-blue:hover{
  border-color:rgba(37, 99, 235, 0.4);
  box-shadow:0 20px 35px -10px rgba(37, 99, 235, 0.18), 0 0 0 1px rgba(37, 99, 235, 0.2);
}
.feature-card.card-blue::before{
  background:linear-gradient(90deg, #3B82F6 0%, #60A5FA 100%);
}
.feature-card.card-blue:hover .feature-icon-wrap{
  background:linear-gradient(135deg, #3B82F6 0%, #1D4ED8 100%);
  box-shadow:0 10px 22px rgba(37, 99, 235, 0.38);
}
.feature-card.card-blue .feature-tag{ color:#1D4ED8; }
.feature-card.card-blue:hover .feature-card-num{ color:#2563EB; }

/* Card 05 - Crimson Flame Red (Fire Retardant) */
.feature-card.card-red .feature-icon-wrap{
  background:linear-gradient(135deg, rgba(239, 68, 68, 0.16) 0%, rgba(220, 38, 38, 0.08) 100%);
  border:1px solid rgba(239, 68, 68, 0.28);
  color:#DC2626;
}
.feature-card.card-red:hover{
  border-color:rgba(239, 68, 68, 0.4);
  box-shadow:0 20px 35px -10px rgba(239, 68, 68, 0.18), 0 0 0 1px rgba(239, 68, 68, 0.2);
}
.feature-card.card-red::before{
  background:linear-gradient(90deg, #EF4444 0%, #F87171 100%);
}
.feature-card.card-red:hover .feature-icon-wrap{
  background:linear-gradient(135deg, #EF4444 0%, #B91C1C 100%);
  box-shadow:0 10px 22px rgba(239, 68, 68, 0.38);
}
.feature-card.card-red .feature-tag{ color:#B91C1C; }
.feature-card.card-red:hover .feature-card-num{ color:#DC2626; }

/* Card 06 - Ocean Cyan / Water (Zero Wet Curing) */
.feature-card.card-cyan .feature-icon-wrap{
  background:linear-gradient(135deg, rgba(14, 165, 233, 0.16) 0%, rgba(2, 132, 199, 0.08) 100%);
  border:1px solid rgba(14, 165, 233, 0.28);
  color:#0284C7;
}
.feature-card.card-cyan:hover{
  border-color:rgba(14, 165, 233, 0.4);
  box-shadow:0 20px 35px -10px rgba(14, 165, 233, 0.18), 0 0 0 1px rgba(14, 165, 233, 0.2);
}
.feature-card.card-cyan::before{
  background:linear-gradient(90deg, #0EA5E9 0%, #38BDF8 100%);
}
.feature-card.card-cyan:hover .feature-icon-wrap{
  background:linear-gradient(135deg, #0EA5E9 0%, #0284C7 100%);
  box-shadow:0 10px 22px rgba(14, 165, 233, 0.38);
}
.feature-card.card-cyan .feature-tag{ color:#0369A1; }
.feature-card.card-cyan:hover .feature-card-num{ color:#0284C7; }

.feature-tag{
  display:inline-block;
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#64748B;
  margin-bottom:0.4rem;
}
.feature-card h3{
  font-family:var(--font-head);
  font-size:1.2rem;
  font-weight:800;
  color:#0F172A;
  margin-bottom:0.75rem;
  line-height:1.3;
}
.feature-card p{
  font-size:0.92rem;
  color:#475569;
  line-height:1.68;
  margin:0;
}

/* Two-col split */
.split-section{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.split-section.reverse{direction:rtl}
.split-section.reverse>*{direction:ltr}

/* ============================================================
   PRODUCT SHOWCASE (home)
   ============================================================ */
.product-showcase{
  display:grid;grid-template-columns:1fr 1.1fr;gap:4rem;align-items:center;
}
.product-img-wrap{position:relative}
.product-img-main{
  width:100%;height:480px;object-fit:contain;background:#fff;padding:1.5rem;
  border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);
}
.product-img-badge{
  position:absolute;top:1.5rem;right:1.5rem;
  background:var(--red);color:#fff;
  font-family:var(--font-head);font-size:1rem;font-weight:700;
  padding:.6rem 1.2rem;border-radius:var(--radius-sm);
  box-shadow:var(--shadow-red);
}
.product-specs-quick{
  margin:1.5rem 0;display:flex;flex-direction:column;gap:.75rem;
}
.spec-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:.6rem 0;border-bottom:1px solid var(--grey-200);
  font-size:.9rem;
}
.spec-row:last-child{border-bottom:none}
.spec-key{color:var(--grey-600);font-weight:500}
.spec-val{color:var(--navy);font-weight:700}
.spec-tbc{color:var(--grey-400);font-style:italic;font-weight:400}

.product-actions-group{
  display:flex;gap:1rem;align-items:center;margin-top:1.25rem;flex-wrap:wrap;
}
.product-actions-group .btn{
  white-space:nowrap;
}
.about-strip-btn-wrap{
  margin-top:1.5rem;
}

/* ============================================================
   APPLICATIONS
   ============================================================ */
.applications-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;
}
.app-card{
  background:#fff;border-radius:var(--radius-md);
  padding:1.5rem 1.25rem;text-align:center;
  border:1px solid var(--grey-200);transition:var(--trans);
}
.app-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--navy)}
.app-card-icon{font-size:2rem;margin-bottom:.75rem}
.app-card h3{font-family:var(--font-head);font-size:.95rem;font-weight:700;color:var(--navy);margin-bottom:.35rem}
.app-card p{font-size:.82rem;color:var(--grey-600)}

/* ============================================================
   WHY CHOOSE RASI — NUMBERED
   ============================================================ */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.why-item{display:flex;gap:1.25rem;align-items:flex-start}
.why-num{
  font-family:var(--font-head);font-size:2.5rem;font-weight:900;
  color:var(--red);line-height:1;flex-shrink:0;width:56px;
  opacity:.35;
}
.why-text h4{font-family:var(--font-head);font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:.35rem}
.why-text p{font-size:.88rem;color:var(--grey-600);line-height:1.6}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.testimonial-card{
  background:#fff;border:1px solid var(--grey-200);border-radius:var(--radius-md);
  padding:1.75rem;position:relative;transition:var(--trans);
}
.testimonial-card:hover{box-shadow:var(--shadow-md)}
.testimonial-quote{
  font-size:3rem;font-weight:900;color:var(--red);
  line-height:1;margin-bottom:.75rem;opacity:.3;
  font-family:Georgia,serif;
}
.testimonial-card p{font-size:.92rem;color:var(--grey-700);line-height:1.7;margin-bottom:1rem}
.testimonial-author{display:flex;align-items:center;gap:.75rem}
.testimonial-avatar{
  width:40px;height:40px;background:var(--navy);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-weight:700;color:#fff;font-size:.9rem;flex-shrink:0;
}
.testimonial-name{font-weight:700;font-size:.9rem;color:var(--navy)}
.testimonial-role{font-size:.78rem;color:var(--grey-400)}
.star-rating{color:var(--yellow);letter-spacing:2px;font-size:.9rem;margin-bottom:.5rem}

/* ============================================================
   FAQ ACCORDION
   ============================================================ */
.faq-list{display:flex;flex-direction:column;gap:.75rem;max-width:860px;margin:0 auto}
.faq-item{border:1px solid var(--grey-200);border-radius:var(--radius-md);overflow:hidden;background:#fff}
.faq-item.open{border-color:var(--red);box-shadow:var(--shadow-sm)}
.faq-question{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.1rem 1.5rem;text-align:left;font-size:.97rem;font-weight:600;color:var(--navy);
  background:none;transition:var(--trans);
}
.faq-question:hover{background:var(--grey-bg)}
.faq-item.open .faq-question{color:var(--red);background:rgba(237,28,36,.04)}
.faq-chevron{font-size:1.1rem;color:var(--grey-400);transition:transform .3s;flex-shrink:0}
.faq-item.open .faq-chevron{transform:rotate(180deg);color:var(--red)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-item.open .faq-answer{max-height:400px}
.faq-answer p{padding:.25rem 1.5rem 1.25rem;font-size:.92rem;color:var(--grey-600);line-height:1.7}

/* ============================================================
   CTA BANNER
   ============================================================ */
.cta-banner{
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-dark) 100%);
  padding:5rem 0;text-align:center;
}
.cta-banner h2{font-family:var(--font-head);font-size:clamp(1.6rem,4vw,2.6rem);font-weight:800;color:#fff;margin-bottom:1rem}
.cta-banner p{color:rgba(255,255,255,.75);font-size:1.05rem;margin-bottom:2rem}
.cta-banner-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}

/* ============================================================
   GALLERY PAGE
   ============================================================ */
.gallery-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;
}
.gallery-item{
  position:relative;overflow:hidden;border-radius:var(--radius-md);
  aspect-ratio:4/3;cursor:pointer;
}
.gallery-item img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .4s ease;
}
.gallery-item:hover img{transform:scale(1.06)}
.gallery-caption{
  position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(37,73,107,.85) 0%,transparent 60%);
  display:flex;align-items:flex-end;padding:1.25rem;
  opacity:0;transition:var(--trans);
}
.gallery-item:hover .gallery-caption{opacity:1}
.gallery-caption p{color:#fff;font-size:.85rem;font-weight:600}
.gallery-zoom{
  position:absolute;top:1rem;right:1rem;
  width:36px;height:36px;background:rgba(255,255,255,.9);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:1rem;opacity:0;transition:var(--trans);
}
.gallery-item:hover .gallery-zoom{opacity:1}

/* Lightbox */
.lightbox{
  position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:2000;
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .3s;
}
.lightbox.active{opacity:1;pointer-events:all}
.lightbox-img{
  max-width:90vw;max-height:88vh;
  border-radius:var(--radius-sm);box-shadow:0 0 60px rgba(0,0,0,.8);
  object-fit:contain;
}
.lightbox-close{
  position:fixed;top:1.5rem;right:1.5rem;
  background:rgba(255,255,255,.15);color:#fff;
  width:44px;height:44px;border-radius:50%;
  font-size:1.3rem;display:flex;align-items:center;justify-content:center;
  transition:var(--trans);
}
.lightbox-close:hover{background:var(--red)}
.lightbox-prev,.lightbox-next{
  position:fixed;top:50%;transform:translateY(-50%);
  background:rgba(255,255,255,.15);color:#fff;
  width:48px;height:48px;border-radius:50%;
  font-size:1.4rem;display:flex;align-items:center;justify-content:center;
  transition:var(--trans);
}
.lightbox-prev{left:1.5rem}
.lightbox-next{right:1.5rem}
.lightbox-prev:hover,.lightbox-next:hover{background:var(--red)}
.lightbox-counter{
  position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);
  color:rgba(255,255,255,.7);font-size:.85rem;
}

/* ============================================================
   FORMS
   ============================================================ */
.form-card{
  background:#fff;border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);padding:2.5rem;
}
.form-title{font-family:var(--font-head);font-size:1.5rem;font-weight:700;color:var(--navy);margin-bottom:.25rem}
.form-subtitle{font-size:.9rem;color:var(--grey-600);margin-bottom:2rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.form-group{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}
.form-group label{font-size:.84rem;font-weight:600;color:var(--grey-800)}
.form-group input,.form-group select,.form-group textarea{
  font-family:inherit;font-size:.92rem;color:var(--grey-800);
  background:var(--grey-bg);border:1.5px solid var(--grey-200);
  border-radius:var(--radius-sm);padding:.65rem .9rem;
  outline:none;transition:var(--trans);width:100%;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  border-color:var(--red);background:#fff;
  box-shadow:0 0 0 3px rgba(237,28,36,.1);
}
.form-group.has-error input,.form-group.has-error select,.form-group.has-error textarea{border-color:var(--red)}
.form-error-msg{font-size:.8rem;color:var(--red);margin-top:.2rem}
.form-group textarea{resize:vertical;min-height:110px}
/* Honeypot — visually hidden */
.hp-field{position:absolute;left:-9999px;opacity:0;pointer-events:none;tab-index:-1}
.form-note{font-size:.8rem;color:var(--grey-400);line-height:1.5;margin-top:.5rem}
.form-check{display:flex;align-items:flex-start;gap:.5rem;font-size:.87rem;color:var(--grey-600);cursor:pointer}
.form-check input{width:auto;margin-top:2px;flex-shrink:0;accent-color:var(--red)}

/* Alert messages */
.alert{padding:1rem 1.25rem;border-radius:var(--radius-sm);margin-bottom:1.25rem;font-size:.92rem;font-weight:500}
.alert-success{background:#ECFDF5;color:#065F46;border:1px solid #6EE7B7}
.alert-error{background:#FEF2F2;color:#991B1B;border:1px solid #FCA5A5}

/* ============================================================
   ABOUT PAGE
   ============================================================ */
.page-hero{
  background:linear-gradient(110deg,var(--navy) 0%,var(--navy-dark) 100%);
  padding:6rem 0 4rem;text-align:center;
  border-bottom:4px solid var(--red);
}
.page-hero-title{font-family:var(--font-head);font-size:clamp(2rem,5vw,3.5rem);font-weight:900;color:#fff;margin-bottom:.75rem}
.page-hero-subtitle{color:rgba(255,255,255,.7);font-size:1.05rem}

.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.about-img{border-radius:var(--radius-lg);width:100%;height:420px;object-fit:cover;box-shadow:var(--shadow-lg)}
.about-stat-row{display:flex;gap:2rem;margin:2rem 0;flex-wrap:wrap}
.about-stat{text-align:center}
.about-stat-num{font-family:var(--font-head);font-size:2.4rem;font-weight:900;color:var(--red);line-height:1}
.about-stat-label{font-size:.8rem;color:var(--grey-600);margin-top:.25rem}

.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-top:2rem}
.value-card{
  background:#fff;border:1px solid var(--grey-200);border-radius:var(--radius-md);
  padding:1.5rem;text-align:center;transition:var(--trans);
}
.value-card:hover{border-color:var(--red);transform:translateY(-3px)}
.value-icon{font-size:2rem;margin-bottom:.75rem}
.value-card h4{font-family:var(--font-head);font-size:.95rem;font-weight:700;color:var(--navy);margin-bottom:.4rem}
.value-card p{font-size:.83rem;color:var(--grey-600)}

/* ============================================================
   PRODUCT PAGE
   ============================================================ */
.product-detail-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:4rem;align-items:start}
.product-detail-img{
  border-radius:var(--radius-lg);width:100%;
  object-fit:contain;max-height:500px;
  box-shadow:var(--shadow-lg);background:var(--grey-bg);padding:2rem;
}
.product-detail-title{font-family:var(--font-head);font-size:2.2rem;font-weight:900;color:var(--navy);margin-bottom:.5rem}
.product-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.product-tag{
  background:rgba(37,73,107,.08);color:var(--navy);
  font-size:.78rem;font-weight:600;padding:.3rem .8rem;border-radius:100px;
}
.product-tag.red{background:rgba(237,28,36,.1);color:var(--red)}

.specs-table-wrap{overflow-x:auto;border-radius:var(--radius-md);box-shadow:var(--shadow-md)}
.specs-table{width:100%;border-collapse:collapse;background:#fff}
.specs-table thead{background:var(--navy)}
.specs-table thead th{
  padding:.9rem 1.25rem;text-align:left;
  font-size:.82rem;font-weight:700;color:#fff;
  text-transform:uppercase;letter-spacing:.06em;
}
.specs-table tbody tr:nth-child(even){background:var(--grey-bg)}
.specs-table tbody tr:hover{background:rgba(237,28,36,.04)}
.specs-table td{padding:.8rem 1.25rem;font-size:.9rem;color:var(--grey-700);border-bottom:1px solid var(--grey-200)}
.specs-table td:first-child{font-weight:600;color:var(--navy)}
.tbc{color:var(--grey-400);font-style:italic;font-weight:400}

/* ============================================================
   CONTACT PAGE
   ============================================================ */
.contact-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:3rem;align-items:start}
.contact-info-card{
  background:linear-gradient(145deg, #0F172A 0%, #1E293B 100%);
  color:#fff;
  border-radius:var(--radius-lg);
  padding:2.25rem 2rem;
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:0 12px 36px rgba(15,23,42,0.18);
  height:100%;
}
.contact-info-title{
  font-family:var(--font-head);
  font-size:1.45rem;
  font-weight:800;
  color:#fff;
  margin-bottom:0.4rem;
}
.contact-info-divider{
  width:42px;
  height:3px;
  background:var(--red);
  border-radius:2px;
  margin-bottom:1.75rem;
}
.contact-detail{
  display:flex;
  gap:1rem;
  margin-bottom:1.35rem;
  align-items:flex-start;
}
.contact-icon-box{
  width:40px;
  height:40px;
  border-radius:10px;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.14);
  color:#FFFFFF;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  transition:all 0.25s ease;
}
.contact-detail:hover .contact-icon-box{
  background:var(--red);
  border-color:var(--red);
  color:#fff;
  transform:scale(1.05);
}
.contact-detail-content{
  flex:1;
}
.contact-detail-label{
  font-size:0.75rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.06em;
  color:rgba(255,255,255,0.55);
  margin-bottom:0.2rem;
}
.contact-detail-val{
  font-size:0.95rem;
  color:#FFFFFF;
  font-weight:500;
  line-height:1.5;
  margin:0;
}
.contact-detail a{
  color:#FFFFFF;
  font-weight:600;
  text-decoration:none;
  transition:color 0.2s;
}
.contact-detail a:hover{
  color:#FCA5A5;
  text-decoration:underline;
}
.contact-hours-sub{
  font-size:0.78rem;
  color:rgba(255,255,255,0.65);
  margin-top:0.25rem;
}
.contact-map-wrap{
  margin-top:1.25rem;
  border-radius:10px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.15);
  box-shadow:0 6px 18px rgba(0,0,0,0.25);
}
/* Authentic Google Maps Button UI */
.gmaps-badge-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0.65rem;
  width:100%;
  padding:0.75rem 1.25rem;
  background:#FFFFFF;
  color:#3C4043;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:0.92rem;
  font-weight:500;
  border-radius:28px;
  border:1px solid #DADCE0;
  box-shadow:0 1px 3px rgba(60,64,67,0.3), 0 4px 8px 3px rgba(60,64,67,0.15);
  margin-top:1rem;
  text-decoration:none;
  transition:all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
  cursor:pointer;
}
.gmaps-badge-btn:hover{
  background:#FFFFFF;
  color:#1A73E8;
  border-color:#4285F4;
  box-shadow:0 2px 6px rgba(60,64,67,0.3), 0 6px 14px 4px rgba(66,133,244,0.25);
  transform:translateY(-1.5px);
}
.gmaps-badge-btn strong{
  font-weight:700;
  color:#202124;
  transition:color 0.22s;
}
.gmaps-badge-btn:hover strong{
  color:#1A73E8;
}
.gmaps-pin-icon{
  flex-shrink:0;
  transition:transform 0.22s ease;
}
.gmaps-badge-btn:hover .gmaps-pin-icon{
  transform:scale(1.12);
}
.gmaps-ext-icon{
  flex-shrink:0;
  color:#5F6368;
  margin-left:auto;
  transition:all 0.22s ease;
}
.gmaps-badge-btn:hover .gmaps-ext-icon{
  color:#1A73E8;
  transform:translate(2px, -2px);
}
.footer-gmaps-btn{
  width:auto;
  padding:0.5rem 1rem;
  font-size:0.84rem;
  margin-top:0.65rem;
}

/* ============================================================
   FOOTER (White Theme)
   ============================================================ */
.site-footer{
  background:#FFFFFF;
  border-top:3px solid var(--red);
  box-shadow:0 -4px 20px rgba(0,0,0,0.03);
}
.footer-top{padding:4.5rem 0 3.5rem}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:2.5rem}
.footer-logo-link{
  display:inline-flex;
  align-items:center;
  gap:0.75rem;
  text-decoration:none;
  margin-bottom:1rem;
}
.footer-logo-link .footer-logo{margin-bottom:0}
.footer-logo{height:46px;width:auto;object-fit:contain}
.footer-logo-text{
  display:inline-flex;
  align-items:baseline;
  gap:0.35rem;
  font-family:var(--font-head);
  font-size:1.45rem;
  font-weight:900;
  line-height:1;
  letter-spacing:-0.02em;
  white-space:nowrap;
}
.footer-logo-text .brand-rasi{
  color:var(--red);
  font-weight:900;
  letter-spacing:0.02em;
}
.footer-logo-text .brand-plaster{
  color:var(--navy);
  font-weight:800;
}
.footer-tagline{font-size:.88rem;color:var(--grey-600);line-height:1.6;margin-bottom:1rem}
.footer-badges{display:flex;flex-wrap:wrap;gap:.5rem}
.badge-pill{
  background:#F1F5F9;
  color:var(--navy);
  font-size:.73rem;
  font-weight:700;
  padding:.3rem .75rem;
  border-radius:100px;
  border:1px solid #E2E8F0;
  text-transform:uppercase;
  letter-spacing:.05em;
  display:inline-flex;
  align-items:center;
  gap:0.4rem;
  transition:all 0.25s ease;
}
.badge-pill:hover{
  background:#E2E8F0;
  border-color:#CBD5E1;
  transform:translateY(-1px);
}
.badge-icon{
  font-size:0.92rem;
  line-height:1;
  display:inline-block;
}
.footer-heading{
  font-family:var(--font-head);
  font-size:.88rem;
  font-weight:800;
  color:var(--navy);
  text-transform:uppercase;
  letter-spacing:.1em;
  margin-bottom:1rem;
}
.footer-links{display:flex;flex-direction:column;gap:.5rem}
.footer-links a{font-size:.88rem;color:var(--grey-600);transition:var(--trans)}
.footer-links a:hover{color:var(--red);padding-left:4px}
.footer-address p{font-size:.88rem;color:var(--grey-600);margin-bottom:.8rem;line-height:1.65}
.footer-address a{color:var(--navy);font-weight:600}
.footer-address a:hover{color:var(--red)}
.footer-map-box{
  margin:0.85rem 0 0.95rem;
  border-radius:10px;
  overflow:hidden;
  border:1px solid #E2E8F0;
  box-shadow:0 2px 8px rgba(0,0,0,0.04);
}
.footer-map-box iframe{
  width:100%;
  height:115px;
  border:0;
  display:block;
}
.footer-contact-actions{
  display:flex;
  align-items:center;
  gap:0.6rem;
  flex-wrap:wrap;
  margin-top:0.65rem;
}
.footer-contact-actions .footer-cta{
  margin-top:0;
}
.footer-map-link-btn{
  display:inline-flex;
  align-items:center;
  gap:0.4rem;
  padding:0.5rem 0.95rem;
  font-size:0.84rem;
  font-weight:700;
  color:var(--navy);
  background:#F1F5F9;
  border:1px solid #CBD5E1;
  border-radius:var(--radius-sm);
  text-decoration:none;
  transition:all 0.25s ease;
}
.footer-map-link-btn:hover{
  background:var(--red);
  color:#FFFFFF;
  border-color:var(--red);
  transform:translateY(-1px);
  box-shadow:var(--shadow-sm);
}
.footer-gst{font-size:.78rem;color:var(--grey-600);margin-top:1rem;font-weight:600}
.footer-bottom{border-top:1px solid #E2E8F0;background:#F8FAFC;padding:1.5rem 0}
.footer-bottom-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.footer-bottom p{font-size:.82rem;color:var(--grey-600)}
.footer-credit{
  font-size:.85rem;
  color:var(--grey-600);
  display:inline-flex;
  align-items:center;
  gap:0.35rem;
}
.footer-credit .heart-icon{
  display:inline-block;
  font-size:0.92rem;
  line-height:1;
  animation:heartbeat 1.8s ease-in-out infinite;
  transform-origin:center;
}
@keyframes heartbeat{
  0%, 100%{ transform: scale(1); }
  14%{ transform: scale(1.22); }
  28%{ transform: scale(1); }
  42%{ transform: scale(1.18); }
  70%{ transform: scale(1); }
}
.footer-credit a{
  color:var(--navy);
  font-weight:700;
  text-decoration:none;
  transition:var(--trans);
  border-bottom:1.5px solid transparent;
}
.footer-credit a:hover{
  color:var(--red);
  border-bottom-color:var(--red);
}

/* ============================================================
   BACK TO TOP
   ============================================================ */
.back-to-top{
  position:fixed;bottom:11.25rem;right:2rem;z-index:800;
  width:44px;height:44px;background:var(--navy);color:#fff;
  border-radius:50%;font-size:1.1rem;
  display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-md);transition:var(--trans);
  opacity:0;pointer-events:none;transform:translateY(10px);
}
.back-to-top.visible{opacity:1;pointer-events:all;transform:translateY(0)}
.back-to-top:hover{background:var(--red);transform:translateY(-2px)}

/* ============================================================
   404 PAGE
   ============================================================ */
.error-page{min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:5rem 1.5rem}
.error-code{font-family:var(--font-head);font-size:8rem;font-weight:900;color:var(--red);line-height:1;opacity:.15}
.error-title{font-family:var(--font-head);font-size:2rem;font-weight:800;color:var(--navy);margin-top:-2rem;margin-bottom:.75rem}
.error-msg{color:var(--grey-600);margin-bottom:2rem;font-size:1.05rem}

/* ============================================================
   UTILITY
   ============================================================ */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .55s ease,transform .55s ease}
.reveal.visible{opacity:1;transform:none}
.text-red{color:var(--red)}
.text-navy{color:var(--navy)}
.text-white{color:#fff}
.fw-700{font-weight:700}
.fw-900{font-weight:900}
.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}
.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}

/* ============================================================
   ANIMATIONS
   ============================================================ */
@keyframes fadeInUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1024px){
  .cards-grid-4{grid-template-columns:repeat(2,1fr)}
  .applications-grid{grid-template-columns:repeat(2,1fr)}
  .values-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .product-detail-grid{grid-template-columns:1fr;gap:2.5rem}
  .about-grid{grid-template-columns:1fr;gap:2.5rem}
  .contact-layout{grid-template-columns:1fr}
  .split-section{grid-template-columns:1fr;gap:2.5rem}
  .product-showcase{grid-template-columns:1fr;gap:2.5rem}
  .why-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .main-nav,.header-cta{display:none}
  .hamburger{display:flex}
  .topbar{padding:0.45rem 0}
  .topbar-inner{
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:0.35rem;
    text-align:center;
  }
  .topbar-left{
    justify-content:center;
    width:100%;
    gap:0.85rem;
    flex-wrap:wrap;
  }
  .topbar-right{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    width:100% !important;
    text-align:center !important;
    color:rgba(255,255,255,0.85);
    font-size:0.78rem;
  }
  .topbar-right span{
    display:block;
    text-align:center;
    width:100%;
  }
  .cards-grid-3{grid-template-columns:1fr}
  .cards-grid-2{grid-template-columns:1fr}
  .cards-grid-4{grid-template-columns:1fr 1fr}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .testimonials-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .footer-grid{
    grid-template-columns:1fr 1fr !important;
    gap:2rem 1.25rem !important;
  }
  .footer-col-brand{
    grid-column:1 / -1 !important;
  }
  .footer-col-links{
    grid-column:1 / 2 !important;
  }
  .footer-col-products{
    grid-column:2 / 3 !important;
  }
  .footer-col-contact{
    grid-column:1 / -1 !important;
  }
  .footer-bottom-inner{flex-direction:column;text-align:center}
  .hero-stats{gap:1.5rem}
  .form-row{grid-template-columns:1fr}
  .section{padding:3rem 0}
  .section-alt{padding:3rem 0}
  .split-section.reverse{direction:ltr}
  .hero{min-height:auto;padding:0.75rem 0;aspect-ratio:1376/768;align-items:center}
  .hero-slide{background-size:100% 100%;background-position:center center}
  .hero-slide:nth-child(2){background-size:cover;background-position:center center}
  .hero-overlay{background:linear-gradient(90deg, rgba(15, 23, 42, 0.75) 0%, rgba(15, 23, 42, 0.4) 55%, transparent 80%)}
  .hero-container{padding:0 1rem}
  .hero-content{max-width:58%}
  .hero-title{font-size:clamp(1.1rem, 3.2vw, 1.5rem);line-height:1.15;margin-bottom:0.35rem}
  .hero-subtitle{font-size:clamp(0.68rem, 1.8vw, 0.82rem);line-height:1.4;margin-bottom:0.6rem}
  .hero-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:0.4rem}
  .hero-actions .btn{padding:0.35rem 0.75rem;font-size:clamp(0.68rem, 1.8vw, 0.82rem)}
  .hero-slide-dots{bottom:0.6rem;gap:0.45rem}
  .hero-dot{width:9px;height:9px}
  .hero-dot.active{width:22px}
  .product-actions-group{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    gap:0.65rem !important;
    width:100% !important;
  }
  .product-actions-group .btn{
    flex:1 1 0 !important;
    min-width:0 !important;
    padding:0.7rem 0.5rem !important;
    font-size:clamp(0.72rem, 3.2vw, 0.88rem) !important;
    justify-content:center !important;
    text-align:center !important;
    white-space:nowrap !important;
    letter-spacing:0 !important;
  }
  .about-strip-btn-wrap{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    width:100% !important;
    margin-top:1.25rem !important;
    margin-bottom:1.5rem !important;
  }
  #about-strip-link{
    display:inline-flex !important;
    justify-content:center !important;
    text-align:center !important;
    min-width:180px !important;
  }
  .contact-info-card{
    padding:1.5rem 1.25rem !important;
    border-radius:14px !important;
  }
  .contact-detail{
    gap:0.85rem !important;
    margin-bottom:1.15rem !important;
  }
  .contact-icon-box{
    width:36px !important;
    height:36px !important;
    border-radius:8px !important;
  }
  .contact-detail-val{
    font-size:0.88rem !important;
  }
}
@media(max-width:480px){
  .site-logo{gap:0.45rem}
  .site-logo img{height:38px}
  .site-logo-text{font-size:1.25rem}
  .cards-grid-4{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr}
  .cta-banner-actions{flex-direction:column;align-items:center}
  .hero{aspect-ratio:1376/768;padding:0.4rem 0}
  .hero-container{padding:0 0.65rem}
  .hero-content{max-width:58%}
  .hero-title{font-size:clamp(0.88rem, 4vw, 1.15rem);line-height:1.12;margin-bottom:0.25rem}
  .hero-subtitle{font-size:clamp(0.55rem, 2.3vw, 0.68rem);line-height:1.35;margin-bottom:0.4rem}
  .hero-actions{display:flex;flex-direction:row;flex-wrap:nowrap;gap:0.35rem}
  .hero-actions .btn{padding:0.28rem 0.55rem;font-size:clamp(0.58rem, 2.2vw, 0.72rem);white-space:nowrap}
  .hero-slide-dots{bottom:0.35rem;gap:0.35rem}
  .hero-dot{width:7px;height:7px;border-width:1px}
  .hero-dot.active{width:16px}
  .hero-points-text{flex-direction:column;gap:0.5rem}
  .product-actions-group{
    gap:0.4rem !important;
  }
  .product-actions-group .btn{
    padding:0.65rem 0.25rem !important;
    font-size:clamp(0.68rem, 3.2vw, 0.8rem) !important;
  }
  .footer-grid{
    gap:1.75rem 1rem !important;
  }
  .footer-col-links .footer-links a,
  .footer-col-products .footer-links a{
    font-size:0.84rem !important;
  }
}

/* ============================================================
   FLOATING QUICK-CONTACT WIDGET (WhatsApp & Call)
   ============================================================ */
.floating-contact-wrap {
  position: fixed;
  bottom: 2.25rem;
  right: 2rem;
  left: auto;
  z-index: 850;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.95rem;
}

.floating-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  min-width: 52px;
  border-radius: 50%;
  padding: 0;
  color: #ffffff !important;
  text-decoration: none;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  position: relative;
  overflow: visible;
  cursor: pointer;
}

.floating-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 28px;
  height: 28px;
}

.floating-label {
  display: none !important;
}

/* WhatsApp Specific */
.floating-whatsapp {
  background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
  box-shadow: 0 8px 22px rgba(37, 211, 102, 0.42);
}

.floating-whatsapp::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7);
  animation: pulse-ring 2.2s infinite;
  pointer-events: none;
}

@keyframes pulse-ring {
  0% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7);
  }
  70% {
    box-shadow: 0 0 0 14px rgba(37, 211, 102, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
  }
}

.floating-whatsapp:hover {
  transform: translateY(-4px) scale(1.05);
  box-shadow: 0 12px 28px rgba(37, 211, 102, 0.55);
}

/* Call Specific */
.floating-call {
  background: linear-gradient(135deg, var(--red) 0%, #B70910 100%);
  box-shadow: 0 8px 22px rgba(237, 28, 36, 0.4);
}

.floating-call:hover {
  transform: translateY(-4px) scale(1.05);
  box-shadow: 0 12px 28px rgba(237, 28, 36, 0.55);
}

.floating-btn:active {
  transform: translateY(-1px) scale(0.98);
}

/* Mobile Responsiveness */
@media (max-width: 600px) {
  .back-to-top {
    bottom: 10rem;
    right: 1.35rem;
    width: 40px;
    height: 40px;
  }
  .floating-contact-wrap {
    bottom: 1.75rem;
    right: 1.25rem;
    left: auto;
    gap: 0.75rem;
  }
  .floating-btn {
    width: 44px;
    height: 44px;
    min-width: 44px;
    padding: 0;
  }
}

