/* ===== PRAVARA - Global Styles ===== */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,600;0,700;0,800;1,600&family=DM+Sans:wght@300;400;500;600;700&family=Space+Grotesk:wght@300;400;500;600;700&display=swap');

/* ── BRAND PALETTE ─────────────────────────────────────────
   Deep Navy        #03045E
   Ocean Blue       #0077B6
   Sky Blue         #00B4D8
   Light Blue       #90E0EF
   Ice Blue         #CAF0F8
   ─────────────────────────────────────────────────────────*/
:root {
  --primary:    #0077B6;
  --primary-dk: #03045E;
  --gold:       #00B4D8;
  --blue:       #0077B6;
  --blue-dk:    #03045E;
  --blue-glow:  rgba(0,119,182,0.25);
  --green:      #00B4D8;
  --green-dk:   #0077B6;
  --green-glow: rgba(0,180,216,0.2);
  --blush:      #CAF0F8;
  --cream:      #03045E;
  --white:      #ffffff;
  --text-light: #0077B6;
  --text-muted: #90E0EF;
  --card-bg:    #f0fafd;
  --border:     #90E0EF;
  --body-bg:    #ffffff;
  --gradient:   linear-gradient(135deg,#03045E 0%,#0077B6 100%);
  --grad-blue:  linear-gradient(135deg,#03045E 0%,#0077B6 100%);
  --grad-green: linear-gradient(135deg,#0077B6 0%,#00B4D8 100%);
  --grad-mix:   linear-gradient(125deg,#03045E 10%,#03045E 50%,#03045E 100%);
  --shadow-sm:  0 2px 12px rgba(3,4,94,0.08);
  --shadow-md:  0 8px 32px rgba(3,4,94,0.12);
  --shadow-lg:  0 20px 60px rgba(3,4,94,0.15);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; overflow-x: hidden; width: 100%; }

body {
  font-family: 'DM Sans', sans-serif;
  background: #ffffff;
  color: var(--text-light);
  line-height: 1.75;
  overflow-x: hidden;
  width: 100%;
  position: relative;
}

h1,h2,h3,h4,h5,h6 {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  color: var(--cream);
}
a { color: var(--primary); text-decoration: none; transition: color .3s; }
a:hover { color: var(--primary-dk); }
img { max-width: 100%; }

/* ============================================================
   NAVBAR + MEGA MENU
   ============================================================ */
.pravara-nav {
  position: fixed;
  top: 0; width: 100%;
  z-index: 9999;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-bottom: 1px solid rgba(144,224,239,0.12);
  transition: all 0.4s ease;
}
.pravara-nav.scrolled {
  background: rgba(255,255,255,0.98);
  border-bottom-color: rgba(144,224,239,0.2);
  box-shadow: 0 4px 30px rgba(3,4,94,0.1);
}

.pravara-nav .navbar-brand { display:flex; align-items:center; gap:12px; }
.pravara-nav .navbar-brand img {
  height:44px; width:auto;
  filter:drop-shadow(0 0 10px rgba(144,224,239,0.3));
  transition:transform .3s,filter .3s;
}
.pravara-nav .navbar-brand img:hover {
  transform:scale(1.06);
  filter:drop-shadow(0 0 16px rgba(144,224,239,0.5));
}
.pravara-nav .navbar-brand .brand-text { display:flex; flex-direction:column; line-height:1; }
.pravara-nav .navbar-brand .brand-name {
  font-family:'Trebuchet MS','Trebuchet',Arial,sans-serif;
  font-weight:700; font-size:1.65rem;
  /* background: linear-gradient(90deg,#03045E 0%,#0077B6 50%,#00B4D8 100%); */
  background: #03045E;
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  letter-spacing:4px;
}
.pravara-nav .navbar-brand .brand-tagline {
  font-size:0.55rem; letter-spacing:3.5px; color:#0077B6;
  text-transform:uppercase; margin-top:3px;
  font-family:'Space Grotesk',sans-serif; font-weight:500;
}

.pravara-nav .nav-link {
  color: rgba(3,4,94,0.7) !important;
  font-family:'Space Grotesk',sans-serif;
  font-size:0.72rem; font-weight:600; letter-spacing:0.8px;
  text-transform:uppercase; padding:1.1rem 0.8rem !important;
  display:flex; align-items:center; gap:5px;
  position:relative; transition:color .3s; white-space:nowrap;
  -webkit-tap-highlight-color:transparent;
}
.pravara-nav .nav-link i { font-size:0.85rem; transition:transform .3s; }
.pravara-nav .nav-link .nav-icon-home    { color:#90E0EF; }
.pravara-nav .nav-link .nav-icon-about   { color:#0077B6; }
.pravara-nav .nav-link .nav-icon-products{ color:#90E0EF; }
.pravara-nav .nav-link .nav-icon-apps    { color:#0077B6; }
.pravara-nav .nav-link .nav-icon-sustain { color:#90E0EF; }
.pravara-nav .nav-link .nav-icon-quality { color:#0077B6; }
.pravara-nav .nav-link .nav-icon-news    { color:#90E0EF; }
.pravara-nav .nav-link .nav-icon-faq     { color:#0077B6; }
.pravara-nav .nav-link .mega-caret       { color:#0077B6; opacity:.6; }
.pravara-nav .nav-link:hover .mega-caret,
.pravara-nav .nav-link.active .mega-caret { color:#03045E; opacity:.85; }

.pravara-nav .nav-link::after {
  content:''; position:absolute; bottom:0; left:50%;
  transform:translateX(-50%) scaleX(0);
  width:70%; height:2px; background:var(--gradient);
  border-radius:2px; transition:transform .3s ease;
}
.pravara-nav .nav-link:hover,
.pravara-nav .nav-link.active { color: #03045E !important; }
.pravara-nav .nav-link:hover::after,
.pravara-nav .nav-link.active::after { transform:translateX(-50%) scaleX(1); }
.pravara-nav .nav-link:hover i { transform:translateY(-2px); }

.nav-cta {
  background: linear-gradient(135deg,#0077B6,#00B4D8) !important;
  color: #fff !important;
  font-family:'Space Grotesk',sans-serif !important;
  font-weight:700 !important; font-size:0.72rem !important; letter-spacing:1px !important;
  padding:9px 22px !important; border-radius:50px !important; margin-left:8px;
  transition:all .3s !important;
  box-shadow: 0 4px 16px rgba(0,119,182,0.3) !important;
}
.nav-cta::after { display:none !important; }
.nav-cta:hover {
  transform:translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(0,119,182,0.45) !important;
  color:#fff !important;
}

/* Mega Menu */
.has-mega { position:static !important; }
.has-mega > .nav-link { cursor:pointer; }
.mega-menu {
  position:absolute; top:100%; left:50%;
  transform:translateX(-50%) translateY(10px);
  width:860px; max-width:98vw;
  background:#ffffff;
  border:1px solid rgba(144,224,239,0.15);
  border-radius:20px; padding:2rem;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:all .35s cubic-bezier(.4,0,.2,1);
  box-shadow: 0 40px 100px rgba(3,4,94,0.15), 0 0 0 1px rgba(144,224,239,0.08);
  z-index:10000;
}
.has-mega:hover .mega-menu,.mega-menu:hover {
  opacity:1; visibility:visible; pointer-events:all;
  transform:translateX(-50%) translateY(0);
}
.mega-title {
  font-family:'Space Grotesk',sans-serif; font-size:0.65rem; font-weight:700;
  letter-spacing:3px; text-transform:uppercase; color:#0077B6;
  margin-bottom:1.25rem; padding-bottom:.75rem;
  border-bottom:1px solid rgba(144,224,239,0.1);
}
.mega-card {
  display:flex; flex-direction:column; background:#f0fafd;
  border:1px solid rgba(144,224,239,0.1); border-radius:14px;
  overflow:hidden; transition:all .3s; text-decoration:none; color:inherit;
}
.mega-card:hover { border-color:#90E0EF; transform:translateY(-4px); box-shadow:0 12px 36px rgba(144,224,239,0.15); color:inherit; }
.mega-card .mc-img { height:100px; background:linear-gradient(135deg,#e6f7fc,#e8f8fd); display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.mega-card .mc-img i { font-size:2.8rem; opacity:.6; transition:all .3s; }
.mega-card:hover .mc-img i { opacity:1; transform:scale(1.1); }
.mega-card .mc-img .mc-glow { position:absolute; inset:0; opacity:0; transition:opacity .3s; }
.mega-card:hover .mc-img .mc-glow { opacity:1; }
.mega-card .mc-body { padding:.8rem 1rem; }
.mega-card .mc-body h6 { font-family:'Space Grotesk',sans-serif; font-size:.8rem; font-weight:700; color:#03045E; margin-bottom:3px; }
.mega-card .mc-body p  { font-size:.72rem; color:#0077B6; margin:0; line-height:1.5; }
.mega-card .mc-arrow   { color:#0077B6; font-size:.7rem; margin-top:6px; opacity:0; transition:opacity .3s,transform .3s; display:flex; align-items:center; gap:4px; }
.mega-card:hover .mc-arrow { opacity:1; transform:translateX(4px); }
.mega-quick a { display:flex; align-items:center; gap:10px; padding:.65rem .9rem; border-radius:10px; color:#0077B6; font-size:.82rem; font-weight:500; transition:all .25s; border:1px solid transparent; margin-bottom:6px; text-decoration:none; }
.mega-quick a i { width:32px; height:32px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:.88rem; flex-shrink:0; transition:all .25s; }
.mega-quick a:hover { background:rgba(144,224,239,0.06); border-color:rgba(144,224,239,0.15); color:#03045E; }

.mega-cat-title { font-family:'Space Grotesk',sans-serif; font-size:.78rem; font-weight:700; color:#03045E; margin-bottom:.75rem; padding-bottom:.5rem; border-bottom:1px solid rgba(144,224,239,0.2); }
.mega-cat-list { list-style:none; padding:0; margin:0; }
.mega-cat-list li { margin-bottom:8px; }
.mega-cat-list a { display:flex; align-items:center; gap:8px; color:#0077B6; font-size:.82rem; transition:color .25s; }
.mega-cat-list a i { font-size:.6rem; color:#90E0EF; }
.mega-cat-list a:hover { color:#03045E; }

.mega-view-all { margin-top:1.25rem; padding-top:1rem; border-top:1px solid rgba(144,224,239,0.15); text-align:center; }
.mega-view-all a { display:inline-flex; align-items:center; gap:8px; font-family:'Space Grotesk',sans-serif; font-size:.78rem; font-weight:700; letter-spacing:.5px; color:#0077B6; text-decoration:none; transition:color .25s,gap .25s; }
.mega-view-all a:hover { color:#03045E; gap:12px; }

.navbar-toggler { border:1px solid rgba(0,119,182,0.4) !important; padding:5px 10px; }
@media (max-width:991px) {
  .navbar-toggler { display:inline-block !important; }
}
.navbar-toggler-icon {
  display:inline-block; width:1.5em; height:1.5em;
  background-repeat:no-repeat; background-position:center; background-size:100% 100%;
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%2303045E' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

/* ============================================================
   VIDEO HERO
   ============================================================ */
.hero-video-wrap { position:sticky; top:0; height:100vh; overflow:hidden; z-index:1; }
.hero-video-wrap video,.hero-video-wrap .hero-vid-iframe-wrap { position:absolute; inset:0; width:100%; height:100%; }
.hero-vid-iframe-wrap iframe,.hero-vid-iframe-wrap video {
  position:absolute; top:50%; left:50%;
  width:177.78vh; height:100vh; min-width:100%; min-height:56.25vw;
  transform:translate(-50%,-50%); border:none; pointer-events:none; object-fit:cover;
}
.hero-vid-overlay {
  position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(3,4,94,0.35) 0%,rgba(3,4,94,0.15) 40%,rgba(3,4,94,0.55) 80%,rgba(3,4,94,0.9) 100%);
  z-index:2;
}
.hero-scroll-container { position:relative; }
.scroll-scene { position:relative; z-index:3; height:100vh; display:flex; align-items:center; justify-content:center; text-align:center; }
.scroll-scene-1 { margin-top:-100vh; }
.scene-content { max-width:900px; padding:2rem; transition:opacity .6s,transform .6s; }
.scene-content.hidden { opacity:0; transform:translateY(40px); }

.hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(144,224,239,0.15); border:1px solid rgba(144,224,239,0.4);
  color:#CAF0F8; font-family:'Space Grotesk',sans-serif;
  font-size:.68rem; font-weight:700; letter-spacing:3px; text-transform:uppercase;
  padding:8px 20px; border-radius:50px; margin-bottom:1.75rem; backdrop-filter:blur(10px);
}
.hero-h1 {
  font-family:'Playfair Display',serif;
  font-size:clamp(3.2rem,8vw,7.5rem);
  font-weight:800; line-height:1.0; color:#ffffff;
  margin-bottom:1.5rem; letter-spacing:1px;
}
.hero-h1 .word-blue  { background:linear-gradient(135deg,#90E0EF,#fff); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.hero-h1 .word-green { background:linear-gradient(135deg,#00B4D8,#CAF0F8); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.hero-h1 .word-gold  { background:linear-gradient(135deg,#00B4D8,#CAF0F8); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.hero-sub { font-size:clamp(1rem,2vw,1.25rem); color:rgba(255,255,255,0.65); max-width:650px; margin:0 auto 2.5rem; font-weight:300; line-height:1.8; }

.scroll-hint { position:absolute; bottom:40px; left:50%; transform:translateX(-50%); z-index:5; text-align:center; display:flex; flex-direction:column; align-items:center; gap:8px; animation:fadeFloat 2s ease-in-out infinite; }
@keyframes fadeFloat { 0%,100%{opacity:.5;transform:translateX(-50%) translateY(0);}50%{opacity:1;transform:translateX(-50%) translateY(-6px);} }
.scroll-hint .mouse { width:26px; height:42px; border:2px solid rgba(202,240,248,0.5); border-radius:13px; position:relative; }
.scroll-hint .mouse::after { content:''; position:absolute; top:7px; left:50%; transform:translateX(-50%); width:4px; height:8px; background:#90E0EF; border-radius:2px; animation:scrollDot 1.8s infinite; }
@keyframes scrollDot { 0%{top:7px;opacity:1;}100%{top:24px;opacity:0;} }
.scroll-hint span { font-size:.62rem; letter-spacing:3px; color:rgba(144,224,239,0.7); text-transform:uppercase; }

/* ============================================================
   SCROLL STORIES / PIN SECTION
   ============================================================ */
.story-panel { position:relative; background:#ffffff; padding:120px 0; overflow:hidden; }
.glow-blue-tl::before  { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 10% 20%,rgba(144,224,239,0.07) 0%,transparent 55%); pointer-events:none; }
.glow-green-br::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 90% 80%,rgba(0,119,182,0.06) 0%,transparent 55%); pointer-events:none; }
.glow-gold-tr::before  { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 90% 10%,rgba(202,240,248,0.08) 0%,transparent 55%); pointer-events:none; }

.pin-section { position:relative; }
.pin-inner { position:relative; background:#f0fafd; }
.pin-text-stage { position:relative; display:flex; align-items:center; justify-content:center; opacity:1;
   transform:none; padding:5rem 2rem; }
.pin-text-stage > .row { width:100%; }
.pin-text-stage + .pin-text-stage { border-top:1px solid rgba(144,224,239,0.2); }

/* ============================================================
   STORY IMAGE CARDS
   ============================================================ */
.story-card { border-radius:20px; overflow:hidden; border:1px solid rgba(144,224,239,0.12); background:#ffffff; box-shadow: 0 20px 60px rgba(3,4,94,0.1); transition:transform .4s,box-shadow .4s; }
.story-card:hover { transform:translateY(-6px); box-shadow: 0 30px 80px rgba(3,4,94,0.15); }
.story-card-blue  { border-color:rgba(144,224,239,0.2);  box-shadow:0 20px 60px rgba(144,224,239,0.08); }
.story-card-gold  { border-color:rgba(202,240,248,0.25); box-shadow:0 20px 60px rgba(202,240,248,0.1); }
.story-card-green { border-color:rgba(0,119,182,0.2);    box-shadow:0 20px 60px rgba(0,119,182,0.08); }
.story-card-blue:hover  { box-shadow:0 30px 80px rgba(144,224,239,0.15); }
.story-card-gold:hover  { box-shadow:0 30px 80px rgba(202,240,248,0.15); }
.story-card-green:hover { box-shadow:0 30px 80px rgba(0,119,182,0.12); }

.story-card-img { position:relative; height:280px; overflow:hidden; }
.story-card-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s; }
.story-card:hover .story-card-img img { transform:scale(1.04); }
.story-card-img-overlay { position:absolute; inset:0; background:linear-gradient(180deg,rgba(3,4,94,0.05) 0%,rgba(3,4,94,0.4) 100%); }
.story-card-badge { position:absolute; bottom:16px; left:16px; background:rgba(255,255,255,0.9); backdrop-filter:blur(10px); border:1px solid rgba(144,224,239,0.2); border-radius:50px; padding:6px 16px; font-size:.72rem; font-family:'Space Grotesk',sans-serif; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:#90E0EF; }
.story-card-stats { display:flex; align-items:stretch; padding:1.4rem 1.8rem; gap:0; background:#fff; }
.sc-stat { flex:1; min-width:0; text-align:center; padding:.4rem .6rem; }
.sc-stat-num { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:1.6rem; line-height:1.1; color:#03045E; }
.sc-stat-lbl { font-size:.7rem; color:#0077B6; line-height:1.5; margin-top:.3rem; }
.sc-stat-divider { width:1px; background:linear-gradient(180deg,transparent,rgba(144,224,239,0.12),transparent); flex-shrink:0; margin:.4rem 0; }

/* ============================================================
   FAB SAND STORY CARD
   ============================================================ */
.fab-story-card { background:#ffffff; border:1px solid rgba(144,224,239,0.12); border-radius:22px; overflow:hidden; box-shadow:0 20px 60px rgba(3,4,94,0.12); }
.fab-story-top { display:grid; grid-template-columns:1fr auto 1fr; gap:0; height:210px; }
.fab-story-col { position:relative; overflow:hidden; }
.fab-story-img-wrap { position:relative; width:100%; height:100%; }
.fab-story-img-wrap img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s; filter:brightness(.9); }
.fab-story-col:hover .fab-story-img-wrap img { transform:scale(1.06); filter:brightness(1); }
.fab-story-img-overlay { position:absolute; inset:0; background:linear-gradient(180deg,rgba(3,4,94,0.05) 0%,rgba(3,4,94,0.5) 100%); pointer-events:none; }
.fab-story-tag { position:absolute; top:12px; left:12px; font-size:.68rem; font-family:'Space Grotesk',sans-serif; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; padding:5px 12px; border-radius:30px; border:1px solid rgba(255,255,255,0.4); backdrop-filter:blur(8px); background:rgba(255,255,255,0.75); color:#90E0EF; }
.fab-story-sub { position:absolute; bottom:12px; left:12px; font-size:.7rem; color:rgba(255,255,255,.8); font-family:'Space Grotesk',sans-serif; font-weight:600; letter-spacing:1px; }
.fab-story-arrow-col { display:flex; align-items:center; justify-content:center; background:#fff; padding:0 6px; z-index:2; }
.fab-arrow-wrap { display:flex; flex-direction:column; align-items:center; gap:6px; }
.fab-arrow-line { width:2px; flex:1; min-height:30px; background:linear-gradient(180deg,transparent,rgba(144,224,239,0.2),transparent); }
.fab-arrow-badge { width:58px; height:58px; background:linear-gradient(135deg,#e6f7fc,#e8f8fd); border:1px solid rgba(144,224,239,0.3); border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; box-shadow:0 0 20px rgba(144,224,239,0.15); }
.fab-arrow-icon { font-size:.75rem; color:#90E0EF; }
.fab-arrow-text { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:.55rem; color:#90E0EF; text-align:center; line-height:1.2; letter-spacing:.5px; text-transform:uppercase; }
.fab-story-flow { display:flex; align-items:center; justify-content:center; gap:6px; padding:12px 16px; background:#f0fafd; border-top:1px solid rgba(144,224,239,0.08); flex-wrap:wrap; }
.fab-flow-chip { font-size:.65rem; font-family:'Space Grotesk',sans-serif; font-weight:700; letter-spacing:1px; text-transform:uppercase; padding:5px 12px; border-radius:30px; border:1px solid rgba(144,224,239,0.2); background:rgba(255,255,255,0.8); color:#0077B6; white-space:nowrap; }
.fab-flow-arrow { color:#CAF0F8; font-size:.7rem; flex-shrink:0; }
.fab-story-compare { display:flex; align-items:center; padding:1rem 1.4rem; gap:0; border-top:1px solid rgba(144,224,239,0.06); background:#fff; }
.fab-compare-item { flex:1; display:flex; align-items:center; gap:.8rem; padding:0 .5rem; }
.fab-cmp-icon { width:36px; height:36px; border-radius:10px; border:1px solid rgba(144,224,239,0.2); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:.85rem; background:#f0fafd; color:#0077B6; }
.fab-cmp-title { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:.78rem; color:#03045E; line-height:1.2; }
.fab-cmp-desc  { font-size:.68rem; color:#0077B6; margin-top:2px; }
.fab-compare-sep { width:1px; height:40px; background:linear-gradient(180deg,transparent,rgba(144,224,239,0.12),transparent); flex-shrink:0; }

/* FAB img grid */
.fab-img-grid { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:auto auto; gap:10px; border-radius:20px; overflow:hidden; border:1px solid rgba(144,224,239,0.12); }
.fab-img-main { grid-column:1; grid-row:1; position:relative; overflow:hidden; border-radius:12px; height:300px; }
.fab-img-main img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s; }
.fab-img-main:hover img { transform:scale(1.06); }
.fab-img-stack { grid-column:2; grid-row:1; display:flex; flex-direction:column; gap:10px; }
.fab-img-small { position:relative; overflow:hidden; border-radius:10px; flex:1; min-height:88px; }
.fab-img-small img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s; }
.fab-img-small:hover img { transform:scale(1.08); }
.fab-img-overlay { position:absolute; inset:0; background:linear-gradient(180deg,rgba(3,4,94,0.05) 0%,rgba(3,4,94,0.45) 100%); pointer-events:none; }
.fab-img-label { position:absolute; bottom:8px; left:10px; font-size:.65rem; font-family:'Space Grotesk',sans-serif; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; padding:4px 12px; border-radius:30px; backdrop-filter:blur(8px); background:rgba(255,255,255,0.85); border:1px solid rgba(144,224,239,0.2); white-space:nowrap; color:#0077B6; }
.fab-label-green { color:#0077B6;   border-color:rgba(0,119,182,0.3); }
.fab-label-gold  { color:#0077B6;   border-color:rgba(144,224,239,0.3); }
.fab-label-blue  { color:#0077B6;   border-color:rgba(144,224,239,0.3); }
.fab-label-mix   { color:#03045E;   border-color:rgba(3,4,94,0.15); }
.fab-img-statbar { grid-column:1/-1; grid-row:2; background:#fff; border-top:1px solid rgba(144,224,239,0.08); display:flex; align-items:center; padding:1rem 1.5rem; gap:0; border-radius:0 0 10px 10px; }
.fab-stat { flex:1; text-align:center; display:flex; flex-direction:column; gap:3px; }
.fab-stat-num { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:1.3rem; line-height:1; color:#03045E; }
.fab-stat-lbl  { font-size:.68rem; color:#90E0EF; text-transform:uppercase; letter-spacing:1px; }
.fab-stat-sep  { width:1px; height:36px; background:linear-gradient(180deg,transparent,rgba(144,224,239,0.12),transparent); flex-shrink:0; }

/* ============================================================
   STAT STRIP
   ============================================================ */
.stat-strip {
  background: linear-gradient(135deg,#03045E 0%,#0077B6 50%,#03045E 100%);
  padding:60px 0; position:relative; overflow:hidden;
  border-top:1px solid rgba(144,224,239,0.2);
  border-bottom:1px solid rgba(0,180,216,0.25);
}
.stat-strip::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 30% 50%,rgba(144,224,239,0.2) 0%,transparent 60%),radial-gradient(ellipse at 70% 50%,rgba(0,180,216,0.12) 0%,transparent 60%); }
.stat-item { text-align:center; padding:12px 20px; position:relative; }
.stat-item + .stat-item::before { content:''; position:absolute; left:0; top:20%; bottom:20%; width:1px; background:linear-gradient(180deg,transparent,rgba(0,180,216,0.35),transparent); }
.stat-item .num { font-family:'Space Grotesk',sans-serif; font-size:2.6rem; font-weight:700; line-height:1; background:linear-gradient(135deg,#90E0EF,#fff); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.stat-item .num.gold-num { background:linear-gradient(135deg,#00B4D8,#CAF0F8); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.stat-item .lbl { font-size:.72rem; font-weight:600; letter-spacing:1.5px; color:rgba(144,224,239,0.8); text-transform:uppercase; margin-top:4px; font-family:'Space Grotesk',sans-serif; }

/* ============================================================
   SECTIONS
   ============================================================ */
.section-black  { background:#f0fafd; padding:100px 0; }
.section-dark   { background:#ffffff; padding:100px 0; }
.section-darker { background:#e6f7fc; padding:100px 0; }
.section-card-bg{ background:#f0fafd; padding:100px 0; }

.section-header { text-align:center; margin-bottom:70px; }
.section-header .label { display:inline-block; font-family:'Space Grotesk',sans-serif; font-size:.66rem; font-weight:700; letter-spacing:4px; text-transform:uppercase; margin-bottom:14px; }
.label-white  { color:#e6f7fc; }
.label-blue  { color:#0077B6; }
.label-green { color:#0077B6; }
.label-gold  { color:#0077B6; }
.section-header h2 { font-size:clamp(1.9rem,3.5vw,3rem); color:#03045E; margin-bottom:14px; font-weight:800; font-family:'Playfair Display',serif; }
.section-header p  { color:#0077B6; font-size:1rem; max-width:580px; margin:0 auto; line-height:1.8; font-family:'DM Sans',sans-serif; }

.accent-line { width:60px; height:3px; border-radius:2px; margin:18px auto 0; }
.accent-blue  { background:linear-gradient(135deg,#90E0EF,#0077B6); }
.accent-green { background:linear-gradient(135deg,#0077B6,#90E0EF); }
.accent-gold  { background:linear-gradient(135deg,#90E0EF,#CAF0F8); }
.accent-mix   { background:linear-gradient(135deg,#03045E,#90E0EF,#CAF0F8); }

/* ============================================================
   BUTTONS
   ============================================================ */
.btn-blue { background:var(--gradient); color:#fff !important; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:.82rem; letter-spacing:1.5px; text-transform:uppercase; padding:14px 34px; border-radius:50px; border:none; box-shadow:0 6px 24px rgba(144,224,239,0.35); transition:all .3s; display:inline-flex; align-items:center; gap:8px; }
.btn-blue:hover { transform:translateY(-3px); box-shadow:0 12px 36px rgba(144,224,239,0.5); color:#fff !important; }

.btn-green { background:linear-gradient(135deg,#0077B6,#90E0EF); color:#fff !important; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:.82rem; letter-spacing:1.5px; text-transform:uppercase; padding:14px 34px; border-radius:50px; border:none; box-shadow:0 6px 24px rgba(0,119,182,0.35); transition:all .3s; display:inline-flex; align-items:center; gap:8px; }
.btn-green:hover { transform:translateY(-3px); box-shadow:0 12px 36px rgba(0,119,182,0.5); color:#fff !important; }

.btn-gold { background:linear-gradient(135deg,#90E0EF,#CAF0F8); color:#fff !important; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:.82rem; letter-spacing:1.5px; text-transform:uppercase; padding:14px 34px; border-radius:50px; border:none; box-shadow:0 6px 24px rgba(144,224,239,0.3); transition:all .3s; display:inline-flex; align-items:center; gap:8px; }
.btn-gold:hover { transform:translateY(-3px); box-shadow:0 12px 36px rgba(144,224,239,0.5); color:#fff !important; }

.btn-outline-blue { background:transparent; color:#0077B6 !important; border:2px solid #90E0EF; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:.82rem; letter-spacing:1.5px; text-transform:uppercase; padding:12px 32px; border-radius:50px; transition:all .3s; display:inline-flex; align-items:center; gap:8px; }
.btn-outline-blue:hover { background:var(--gradient); color:#fff !important; border-color:transparent; transform:translateY(-3px); box-shadow:0 8px 24px rgba(144,224,239,0.35); }

.btn-outline-green { background:linear-gradient(135deg,#0077B6,#90E0EF); border:2px solid #0077B6; color: #fff; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:.82rem; letter-spacing:1.5px; text-transform:uppercase; padding:12px 32px; border-radius:50px; transition:all .3s; display:inline-flex; align-items:center; gap:8px; }
/* .btn-outline-green { background:linear-gradient(135deg,#0077B6,#90E0EF); color:#000 !important; border-color:transparent; transform:translateY(-3px); box-shadow:0 8px 24px rgba(0,119,182,0.35); } */
.btn-outline-green:hover { background:linear-gradient(135deg,#0077B6,#90E0EF); color:#fff !important; border-color:transparent; transform:translateY(-3px); box-shadow:0 8px 24px rgba(0,119,182,0.35); }

.btn-pravara { background:var(--gradient); color:#fff !important; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:.82rem; letter-spacing:1.5px; text-transform:uppercase; padding:14px 34px; border-radius:50px; border:none; box-shadow:0 6px 24px rgba(144,224,239,0.3); transition:all .3s; display:inline-flex; align-items:center; gap:8px; }
.btn-pravara:hover { transform:translateY(-3px); box-shadow:0 12px 36px rgba(144,224,239,0.45); color:#fff !important; }
.btn-pravara-outline { background:transparent; color:#90E0EF !important; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:.82rem; letter-spacing:1.5px; text-transform:uppercase; padding:13px 34px; border-radius:50px; border:2px solid rgba(144,224,239,0.4); transition:all .3s; display:inline-flex; align-items:center; gap:8px; text-decoration:none; }
.btn-pravara-outline:hover { background:var(--gradient); color:#fff !important; border-color:transparent; transform:translateY(-3px); }
.btn-outline-pravara { background:transparent; color:#90E0EF !important; border:2px solid #90E0EF; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:.82rem; letter-spacing:1.5px; text-transform:uppercase; padding:12px 32px; border-radius:50px; transition:all .3s; display:inline-flex; align-items:center; gap:8px; }
.btn-outline-pravara:hover { background:var(--gradient); color:#fff !important; border-color:transparent; transform:translateY(-3px); box-shadow:0 8px 24px rgba(144,224,239,0.4); }

/* ============================================================
   PRODUCT CARDS
   ============================================================ */
.product-card { position:relative; border-radius:20px; overflow:hidden; background:#ffffff; border:1px solid rgba(144,224,239,0.12); transition:all .4s cubic-bezier(.4,0,.2,1); height:100%; display:flex; flex-direction:column; box-shadow:var(--shadow-sm); }
.product-card:hover { transform:translateY(-10px); border-color:#90E0EF; box-shadow:0 30px 70px rgba(144,224,239,0.15); }
.product-card .pc-visual { height:220px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.product-card .pc-visual .pc-bg-icon { font-size:6rem; position:absolute; opacity:.05; color:#90E0EF; transition:opacity .4s,transform .4s; }
.product-card:hover .pc-visual .pc-bg-icon { opacity:.1; transform:scale(1.15) rotate(5deg); }
.product-card .pc-visual .pc-icon { font-size:3.5rem; position:relative; z-index:1; transition:transform .4s; }
.product-card:hover .pc-visual .pc-icon { transform:scale(1.12) translateY(-4px); }
.pc-blue  { background:linear-gradient(135deg,#e6f7fc,#e8f8fd); }
.pc-green { background:linear-gradient(135deg,#daf2f9,#e6f7fc); }
.pc-gold  { background:linear-gradient(135deg,#e8f8fd,#e8f8fd); }
.pc-teal  { background:linear-gradient(135deg,#e6f7fc,#e8f8fd); }
.product-card .pc-body { padding:1.5rem; flex:1; display:flex; flex-direction:column; }
.product-card .pc-tag  { display:inline-block; font-size:.65rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; padding:4px 12px; border-radius:50px; margin-bottom:10px; width:fit-content; font-family:'Space Grotesk',sans-serif; }
.tag-blue  { background:rgba(144,224,239,.1);  color:#90E0EF; border:1px solid rgba(144,224,239,.2); }
.tag-green { background:rgba(0,119,182,.1);    color:#0077B6; border:1px solid rgba(0,119,182,.2); }
.tag-gold  { background:rgba(202,240,248,.2); color:#90E0EF; border:1px solid rgba(202,240,248,.35); }
.tag-teal  { background:rgba(144,224,239,.08); color:#90E0EF; border:1px solid rgba(144,224,239,.15); }
.product-card h5 { font-family:'Playfair Display',serif; color:#03045E; font-size:1.1rem; font-weight:700; margin-bottom:.6rem; }
.product-card p  { color:#90E0EF; font-size:.85rem; line-height:1.7; flex:1; }
.product-card .pc-footer { margin-top:1.25rem; padding-top:1rem; border-top:1px solid rgba(144,224,239,0.1); display:flex; align-items:center; justify-content:space-between; }
.product-card .pc-footer .pc-link { font-size:.75rem; font-weight:700; letter-spacing:.5px; display:flex; align-items:center; gap:6px; transition:gap .3s; font-family:'Space Grotesk',sans-serif; }
.product-card:hover .pc-footer .pc-link { gap:10px; }
.product-card .pc-footer .pc-link.blue-link  { color:#90E0EF; }
.product-card .pc-footer .pc-link.green-link { color:#0077B6; }
.product-card .pc-footer .pc-link.gold-link  { color:#90E0EF; }

/* ============================================================
   APP GRID CARDS
   ============================================================ */
.app-grid-card { position:relative; border-radius:16px; overflow:hidden; background:#ffffff; border:1px solid rgba(144,224,239,0.1); padding:1.75rem; text-align:center; transition:all .35s; height:100%; box-shadow:var(--shadow-sm); }
.app-grid-card:hover { transform:translateY(-6px); border-color:#90E0EF; box-shadow:0 20px 50px rgba(144,224,239,0.12); background:#fdf8ff; }
.app-grid-card .ag-icon-wrap { width:68px; height:68px; border-radius:18px; display:flex; align-items:center; justify-content:center; margin:0 auto 1.1rem; font-size:1.7rem; transition:all .35s; }
.app-grid-card:hover .ag-icon-wrap { transform:translateY(-3px) scale(1.05); }
.ag-blue  { background:rgba(144,224,239,.1);  color:#90E0EF; border:1px solid rgba(144,224,239,.18); }
.ag-green { background:rgba(0,119,182,.1);    color:#0077B6; border:1px solid rgba(0,119,182,.18); }
.ag-gold  { background:rgba(202,240,248,.15);color:#90E0EF; border:1px solid rgba(202,240,248,.25); }
.ag-teal  { background:rgba(144,224,239,.08); color:#90E0EF; border:1px solid rgba(144,224,239,.15); }
.app-grid-card h6 { font-family:'Playfair Display',serif; color:#03045E; font-size:.95rem; font-weight:700; margin-bottom:4px; }
.app-grid-card p  { color:#90E0EF; font-size:.78rem; margin:0; }

/* ============================================================
   FEATURE BOXES
   ============================================================ */
.feature-box { background:#ffffff; border:1px solid rgba(144,224,239,0.1); border-radius:16px; padding:2rem; text-align:center; transition:all .35s; height:100%; box-shadow:var(--shadow-sm); }
.feature-box:hover { border-color:rgba(144,224,239,0.3); transform:translateY(-5px); box-shadow:0 15px 40px rgba(144,224,239,0.1); background:#fdf8ff; }
.feature-box .icon-circle { width:72px; height:72px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 1.25rem; font-size:1.6rem; transition:all .35s; }
.ic-blue  { background:rgba(144,224,239,.1);  border:1px solid rgba(144,224,239,.22); color:#90E0EF; }
.ic-green { background:rgba(0,119,182,.1);    border:1px solid rgba(0,119,182,.22);   color:#0077B6; }
.ic-gold  { background:rgba(202,240,248,.2); border:1px solid rgba(202,240,248,.35);color:#90E0EF; }
.feature-box:hover .ic-blue  { background:var(--gradient);         border-color:transparent; color:#fff; }
.feature-box:hover .ic-green { background:linear-gradient(135deg,#0077B6,#90E0EF); border-color:transparent; color:#fff; }
.feature-box:hover .ic-gold  { background:linear-gradient(135deg,#90E0EF,#CAF0F8); border-color:transparent; color:#fff; }
.feature-box h5 { font-family:'Playfair Display',serif; font-size:1.1rem; font-weight:700; color:#03045E; margin-bottom:.6rem; }
.feature-box p  { color:#0077B6; font-size:.86rem; margin:0; line-height:1.75; }

/* ============================================================
   ECO PROGRESS
   ============================================================ */
.eco-progress { margin-bottom:1.5rem; }
.eco-progress .label-row { display:flex; justify-content:space-between; margin-bottom:6px; }
.eco-progress .label-row span:first-child { color:#0077B6; font-size:.86rem; font-weight:600; }
.eco-progress .label-row span:last-child  { font-size:.86rem; font-weight:700; }
.eco-progress .label-row .val-blue  { color:#90E0EF; }
.eco-progress .label-row .val-green { color:#0077B6; }
.eco-progress .label-row .val-gold  { color:#90E0EF; }
.eco-progress .progress { height:6px; background:#f0e8f8; border-radius:3px; overflow:hidden; }
.eco-progress .pb-blue  { background:var(--gradient); transition:width 1.5s ease; }
.eco-progress .pb-green { background:linear-gradient(135deg,#0077B6,#90E0EF); transition:width 1.5s ease; }
.eco-progress .pb-gold  { background:linear-gradient(135deg,#90E0EF,#CAF0F8); transition:width 1.5s ease; }

/* ============================================================
   PAGE HERO (inner pages)
   ============================================================ */
.page-hero { padding:160px 0 90px; background:linear-gradient(135deg,#03045E 0%,#0077B6 60%,#00B4D8 100%); text-align:center; position:relative; overflow:hidden; }
.page-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 0%,rgba(202,240,248,0.15) 0%,transparent 60%); pointer-events:none; }
.page-hero::after  { content:''; position:absolute; bottom:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,rgba(202,240,248,.5),rgba(144,224,239,.4),transparent); }
.page-hero .label { display:inline-block; font-family:'Space Grotesk',sans-serif; font-size:.68rem; font-weight:700; letter-spacing:4px; text-transform:uppercase; margin-bottom:14px; color:#CAF0F8; }
.page-hero h1 { font-size:clamp(2rem,4vw,3.8rem); color:#fff; margin-bottom:1rem; font-weight:800; font-family:'Playfair Display',serif; }
.page-hero p  { color:rgba(202,240,248,.8); max-width:600px; margin:0 auto; font-size:1.05rem; }

.breadcrumb-bar { background:#e6f7fc; padding:12px 0; border-bottom:1px solid rgba(144,224,239,0.1); }
.breadcrumb-bar .breadcrumb { margin:0; background:transparent; justify-content:center; }
.breadcrumb-bar .breadcrumb-item,.breadcrumb-bar .breadcrumb-item a { color:#0077B6; font-size:.8rem; }
.breadcrumb-bar .breadcrumb-item.active { color:#0077B6; }
.breadcrumb-bar .breadcrumb-item + .breadcrumb-item::before { color:#0077B6; }

/* ============================================================
   GENERAL CARDS
   ============================================================ */
.pravara-card { background:#ffffff; border:1px solid rgba(144,224,239,0.1); border-radius:16px; overflow:hidden; transition:all .4s ease; height:100%; box-shadow:var(--shadow-sm); }
.pravara-card:hover { transform:translateY(-8px); border-color:#90E0EF; box-shadow:0 20px 50px rgba(144,224,239,0.15); }
.pravara-card .card-icon-wrap { height:200px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#e6f7fc,#e8f8fd); }
.pravara-card .card-icon-wrap i { font-size:5rem; color:#90E0EF; opacity:.4; }
.pravara-card .card-body { padding:1.5rem; }
.pravara-card .card-title { font-family:'Playfair Display',serif; font-weight:700; color:#03045E; font-size:1.05rem; margin-bottom:.75rem; }
.pravara-card .card-text  { color:#90E0EF; font-size:.88rem; line-height:1.75; }
.pravara-card .card-badge { display:inline-block; background:rgba(144,224,239,.1); color:#90E0EF; font-size:.68rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; padding:4px 12px; border-radius:50px; border:1px solid rgba(144,224,239,.2); margin-bottom:10px; font-family:'Space Grotesk',sans-serif; }

.spec-table { width:100%; border-collapse:separate; border-spacing:0 6px; }
.spec-table td { padding:10px 16px; }
.spec-table tr td:first-child { background:#e6f7fc; color:#0077B6; font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:.85rem; border-radius:8px 0 0 8px; width:40%; }
.spec-table tr td:last-child   { background:#f0fafd; color:#90E0EF; font-size:.86rem; border-radius:0 8px 8px 0; }

.news-card { background:#ffffff; border:1px solid rgba(144,224,239,0.1); border-radius:16px; overflow:hidden; transition:all .4s; height:100%; box-shadow:var(--shadow-sm); }
.news-card:hover { border-color:#90E0EF; transform:translateY(-6px); box-shadow:0 20px 50px rgba(144,224,239,0.12); }
.news-card .img-wrap { height:200px; background:linear-gradient(135deg,#e6f7fc,#e8f8fd); display:flex; align-items:center; justify-content:center; overflow:hidden; position:relative; }
.news-card .img-wrap .cat-tag { position:absolute; top:14px; left:14px; background:var(--gradient); color:#fff; font-size:.65rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; padding:4px 12px; border-radius:50px; font-family:'Space Grotesk',sans-serif; }
.news-card .news-body { padding:1.4rem; }
.news-card .news-meta { color:#CAF0F8; font-size:.76rem; margin-bottom:.75rem; display:flex; gap:14px; }
.news-card .news-meta i { color:#90E0EF; margin-right:4px; }
.news-card h5 { font-family:'Playfair Display',serif; color:#03045E; font-size:.96rem; margin-bottom:.75rem; line-height:1.5; }
.news-card p  { color:#90E0EF; font-size:.85rem; }
.news-card .read-more { color:#90E0EF; font-size:.8rem; font-weight:700; display:inline-flex; align-items:center; gap:6px; transition:gap .3s; font-family:'Space Grotesk',sans-serif; }
.news-card:hover .read-more { gap:10px; }

.cert-badge { background:#ffffff; border:1px solid rgba(144,224,239,0.1); border-radius:16px; padding:2rem; text-align:center; transition:all .3s; height:100%; box-shadow:var(--shadow-sm); }
.cert-badge:hover { border-color:#90E0EF; transform:translateY(-5px); box-shadow:0 15px 40px rgba(144,224,239,0.12); }
.cert-badge .cert-icon { font-size:3.5rem; margin-bottom:1rem; color:#90E0EF; }
.cert-badge h5 { font-family:'Playfair Display',serif; color:#03045E; font-size:1rem; margin-bottom:.5rem; }
.cert-badge p  { color:#90E0EF; font-size:.84rem; margin:0; }

.highlight-box { background:rgba(144,224,239,0.06); border-left:4px solid #90E0EF; border-radius:0 12px 12px 0; padding:1.5rem 2rem; margin:1.5rem 0; }
.highlight-box p { color:#0077B6; margin:0; font-style:italic; }

.gold-divider { height:3px; width:50px; background:var(--gradient); border-radius:2px; margin-bottom:1.5rem; }
.gold-line     { width:60px; height:3px; background:var(--gradient); border-radius:2px; margin:16px auto 0; }

/* ============================================================
   CONTACT FORM
   ============================================================ */
.contact-card { background:#ffffff; border:1px solid rgba(144,224,239,0.1); border-radius:20px; padding:2.5rem; box-shadow:var(--shadow-md); }
.form-control-dark { background:#f0fafd !important; border:1px solid rgba(144,224,239,0.2) !important; color:#03045E !important; border-radius:10px !important; padding:12px 16px !important; font-size:.88rem !important; transition:border-color .3s !important; }
.form-control-dark:focus { border-color:#90E0EF !important; box-shadow:0 0 0 3px rgba(144,224,239,.12) !important; outline:none !important; }
.form-control-dark::placeholder { color:#CAF0F8 !important; }
.form-label-dark { color:#0077B6; font-size:.8rem; font-weight:600; letter-spacing:.5px; font-family:'Space Grotesk',sans-serif; margin-bottom:6px; display:block; }
.contact-info-item { display:flex; align-items:flex-start; gap:16px; margin-bottom:1.75rem; }
.contact-info-item .icon-box { width:50px; height:50px; min-width:50px; border-radius:12px; display:flex; align-items:center; justify-content:center; }
.ib-blue  { background:rgba(144,224,239,.1);  border:1px solid rgba(144,224,239,.2);  color:#90E0EF; }
.ib-green { background:rgba(0,119,182,.1);    border:1px solid rgba(0,119,182,.2);    color:#0077B6; }
.ib-gold  { background:rgba(202,240,248,.2); border:1px solid rgba(202,240,248,.3); color:#90E0EF; }
.contact-info-item h6 { font-family:'Space Grotesk',sans-serif; color:#90E0EF; font-size:.86rem; margin-bottom:3px; font-weight:700; }
.contact-info-item p  { color:#90E0EF; font-size:.84rem; margin:0; }

/* ============================================================
   FAQ ACCORDION
   ============================================================ */
.faq-accordion .accordion-item { background:#ffffff; border:1px solid rgba(144,224,239,0.1) !important; border-radius:12px !important; margin-bottom:10px; overflow:hidden; box-shadow:var(--shadow-sm); }
.faq-accordion .accordion-button { background:#ffffff; color:#03045E; font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:.92rem; box-shadow:none; padding:1.2rem 1.5rem; }
.faq-accordion .accordion-button:not(.collapsed) { background:#e6f7fc; color:#90E0EF; box-shadow:none; }
.faq-accordion .accordion-button::after { filter:invert(35%) sepia(60%) saturate(400%) hue-rotate(270deg); }
.faq-accordion .accordion-body { background:#f0fafd; color:#0077B6; padding:1rem 1.5rem 1.5rem; font-size:.88rem; line-height:1.85; }

/* ============================================================
   TIMELINE
   ============================================================ */
.timeline { position:relative; padding:20px 0; }
.timeline::before { content:''; position:absolute; left:50%; top:0; bottom:0; width:2px; background:linear-gradient(180deg,#90E0EF,#CAF0F8,transparent); transform:translateX(-50%); }
.timeline-item { display:flex; justify-content:flex-end; padding-right:calc(50% + 40px); margin-bottom:40px; position:relative; }
.timeline-item:nth-child(even) { justify-content:flex-start; padding-right:0; padding-left:calc(50% + 40px); }
.timeline-item::after { content:''; position:absolute; left:50%; top:20px; width:14px; height:14px; background:#90E0EF; border-radius:50%; transform:translateX(-50%); box-shadow:0 0 0 4px rgba(144,224,239,0.18); }
.timeline-content { background:#ffffff; border:1px solid rgba(144,224,239,0.1); border-radius:12px; padding:1.25rem 1.5rem; max-width:420px; box-shadow:var(--shadow-sm); }
.timeline-content .year { color:#90E0EF; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:.78rem; letter-spacing:2px; margin-bottom:6px; }
.timeline-content h6 { color:#03045E; font-family:'Playfair Display',serif; margin-bottom:6px; }
.timeline-content p  { color:#90E0EF; font-size:.86rem; margin:0; }

/* ============================================================
   CTA SECTION
   ============================================================ */
.cta-section {
  background: linear-gradient(135deg,#03045E 0%,#0077B6 50%,#00B4D8 100%);
  padding:100px 0; position:relative; overflow:hidden;
  border-top:1px solid rgba(144,224,239,0.2);
}
.cta-section::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 20% 50%,rgba(202,240,248,0.12) 0%,transparent 50%),radial-gradient(ellipse at 80% 50%,rgba(144,224,239,0.15) 0%,transparent 50%); }

/* ============================================================
   FOOTER
   ============================================================ */
.pravara-footer { background:#03045E; border-top:1px solid rgba(144,224,239,0.2); padding:80px 0 30px; }
.footer-brand img { height:50px; filter:drop-shadow(0 0 12px rgba(144,224,239,.3)); margin-bottom:1rem; }
.footer-brand p, .footer-desc { color:rgba(144,224,239,0.7); font-size:.88rem; line-height:1.85; }

.footer-brand .navbar-brand { display:inline-flex; align-items:center; gap:10px; text-decoration:none; margin-bottom:1rem; padding:0; }
.footer-brand .navbar-brand .brand-text { display:flex; flex-direction:column; line-height:1; }
.footer-brand .navbar-brand .brand-name {
  font-family:'Trebuchet MS','Trebuchet',Arial,sans-serif;
  font-weight:700; font-size:1.7rem;
  background:linear-gradient(90deg,#fff 0%,#90E0EF 55%,#00B4D8 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  letter-spacing:4px;
}
.footer-brand .navbar-brand .brand-tagline {
  font-size:0.55rem; letter-spacing:3.5px; color:rgba(144,224,239,0.8);
  text-transform:uppercase; margin-top:3px;
  font-family:'Space Grotesk',sans-serif; font-weight:500;
}
.footer-title { font-family:'Space Grotesk',sans-serif; font-size:.72rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; margin-bottom:1.5rem; }
.ft-blue  { color:#CAF0F8; }
.ft-green { color:rgba(144,224,239,0.7); }
.ft-gold  { color:#90E0EF; }
.footer-links { list-style:none; padding:0; margin:0; }
.footer-links li { margin-bottom:10px; }
.footer-links a { color:rgba(144,224,239,0.6); font-size:.86rem; transition:color .3s; display:flex; align-items:center; gap:8px; }
.footer-links a i { font-size:.65rem; }
.footer-links a:hover { color:#fff; }
.footer-social { display:flex; gap:10px; margin-top:1.25rem; }
.footer-social a { width:38px; height:38px; border-radius:10px; border:1px solid rgba(144,224,239,0.3); display:flex; align-items:center; justify-content:center; color:rgba(144,224,239,0.6); font-size:.9rem; transition:all .3s; }
.footer-social a:hover { background:var(--gradient); border-color:transparent; color:#fff; transform:translateY(-3px); }
.footer-bottom { border-top:1px solid rgba(144,224,239,0.2); padding-top:24px; margin-top:50px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.footer-bottom p { color:rgba(144,224,239,0.5); font-size:.8rem; margin:0; }
.footer-bottom span { background:var(--gradient-white); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; font-weight:600; }

/* ============================================================
   SCROLL TO TOP
   ============================================================ */
#scrollTop { position:fixed; bottom:30px; right:30px; width:46px; height:46px; background:var(--gradient); color:#fff; border:none; border-radius:12px; font-size:1.1rem; display:none; align-items:center; justify-content:center; cursor:pointer; z-index:9998; box-shadow:0 8px 24px rgba(144,224,239,.4); transition:transform .3s; }
#scrollTop:hover { transform:translateY(-4px); }

/* ============================================================
   ANIMATIONS & HELPERS
   ============================================================ */
.fade-up { opacity:0; transform:translateY(30px); transition:opacity .7s ease,transform .7s ease; }
.fade-up.visible { opacity:1; transform:translateY(0); }
.fade-up-delay-1 { transition-delay:.15s; }
.fade-up-delay-2 { transition-delay:.3s; }
.fade-up-delay-3 { transition-delay:.45s; }

.split-word { display:inline-block; opacity:0; transform:translateY(40px); transition:opacity .6s ease,transform .6s ease; }
.split-word.visible { opacity:1; transform:translateY(0); }

@keyframes glowPulse {
  0%,100% { text-shadow:0 0 10px rgba(144,224,239,.25); }
  50%      { text-shadow:0 0 30px rgba(144,224,239,.5),0 0 60px rgba(202,240,248,.3); }
}
.glow-pulse { animation:glowPulse 3s ease-in-out infinite; }

/* Process steps */
.process-step { position:relative; }
.process-step::after { content:''; position:absolute; top:36px; left:calc(50% + 36px); right:calc(-50% + 36px); height:2px; background:linear-gradient(90deg,#90E0EF,#CAF0F8); opacity:.25; z-index:0; }
.process-step:last-child::after { display:none; }
.step-circle { width:72px; height:72px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.6rem; margin:0 auto 1rem; position:relative; z-index:1; transition:all .35s; }
.process-step:hover .step-circle { transform:scale(1.1); box-shadow:0 0 30px rgba(144,224,239,.35); }
.step-num { position:absolute; top:-4px; right:-4px; width:22px; height:22px; border-radius:50%; background:var(--gradient); color:#fff; font-size:.65rem; font-weight:900; font-family:'Space Grotesk',sans-serif; display:flex; align-items:center; justify-content:center; }

/* Misc helpers */
.hero-quote { font-size:clamp(1rem,2vw,1.2rem); color:rgba(255,255,255,.55); border-left:3px solid #CAF0F8; padding-left:1.25rem; margin:1.5rem 0; font-style:italic; }
.fab-hero-card { background:linear-gradient(135deg,#e6f7fc,#e8f8fd); border:1px solid rgba(144,224,239,.18); border-radius:24px; padding:2.5rem; position:relative; overflow:hidden; }
.fab-hero-card::before { content:'FAB'; position:absolute; font-size:8rem; font-weight:900; font-family:'Playfair Display',serif; color:rgba(144,224,239,.04); right:-1rem; top:50%; transform:translateY(-50%); letter-spacing:-4px; }
.video-overlay-text { position:absolute; bottom:80px; left:50%; transform:translateX(-50%); text-align:center; z-index:5; width:100%; padding:0 1rem; }

/* Cover open animation */
.cover-left,.cover-right { position:absolute; top:0; width:50%; height:100%; z-index:10; display:flex; align-items:center; justify-content:center; overflow:hidden; transition:transform 1.1s cubic-bezier(.77,0,.175,1),opacity .5s ease 1s; }
.cover-left  { left:0;  background:linear-gradient(135deg,#03045E 60%,#0077B6); border-right:1px solid rgba(144,224,239,.2); transform-origin:left center; }
.cover-right { right:0; background:linear-gradient(225deg,#03045E 60%,#90E0EF); border-left:1px solid rgba(202,240,248,.15); transform-origin:right center; }
body.covers-open .cover-left  { transform:translateX(-100%); opacity:0; }
body.covers-open .cover-right { transform:translateX(100%);  opacity:0; }
.cover-left::after  { content:''; position:absolute; right:0; top:15%; bottom:15%; width:2px; background:linear-gradient(180deg,transparent,#90E0EF,transparent); }
.cover-right::after { content:''; position:absolute; left:0;  top:15%; bottom:15%; width:2px; background:linear-gradient(180deg,transparent,#CAF0F8,transparent); }
.cover-inner { text-align:center; padding:2rem; animation:coverPulse 2.5s ease-in-out infinite alternate; }
@keyframes coverPulse { from{opacity:.85;transform:scale(1);}to{opacity:1;transform:scale(1.02);} }
body.covers-open .cover-left,body.covers-open .cover-right { pointer-events:none; }

/* Coming-soon sections: remove this class from a section to re-enable it */
.section-inactive { position:relative; pointer-events:none; }
.section-inactive > .container-xl { filter:grayscale(70%); opacity:.45; }
.section-inactive::after {
  content:'Coming Soon'; position:absolute; top:24px; right:24px; z-index:5;
  background:var(--gradient); color:#fff; font-family:'Space Grotesk',sans-serif;
  font-size:.72rem; font-weight:800; letter-spacing:2px; text-transform:uppercase;
  padding:8px 20px; border-radius:30px;
  box-shadow:0 6px 20px rgba(0,119,182,.45);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1200px) { .mega-menu { width:720px; } }
@media (max-width:991px) {
  .pravara-nav .nav-link { padding:.65rem 1rem !important; }
  /* Mobile drawer scrolls independently so expanded mega-menus (which can be taller than the screen) stay reachable */
  #mainNav .navbar-collapse {
    max-height:85vh; overflow-y:auto; -webkit-overflow-scrolling:touch;
  }
  /* Mega menus become tap-to-expand accordions inside the mobile drawer, matching desktop's sub-items */
  .has-mega > .nav-link .mega-toggle { padding:.5rem; margin:-.5rem -.5rem -.5rem .25rem; transition:transform .3s; }
  .has-mega.mega-open > .nav-link .mega-toggle { transform:rotate(180deg); }
  .mega-menu {
    position:static; left:auto; transform:none; width:100% !important; max-width:100%;
    opacity:1; visibility:visible; pointer-events:all;
    max-height:0; padding:0 1.25rem; margin-top:0; overflow:hidden;
    border:none; box-shadow:none; border-radius:12px;
    transition:max-height .35s ease, padding .35s ease;
  }
  /* Touch browsers fire a synthetic :hover on first tap — this beats it (higher specificity than plain .mega-menu above) */
  .has-mega:hover .mega-menu,
  .has-mega.mega-open .mega-menu { transform:none; }
  .has-mega.mega-open .mega-menu {
    max-height:2000px; padding:1.25rem; margin:8px 0;
    border:1px solid rgba(144,224,239,0.15);
  }
  .timeline::before { left:20px; }
  .timeline-item,.timeline-item:nth-child(even) { justify-content:flex-start; padding-left:56px; padding-right:0; }
  .timeline-item::after { left:20px; }
  .timeline-content { max-width:100%; }
  .hero-h1 { font-size:2.8rem; }
}
@media (max-width:768px) {
  .hero-h1 { font-size:2.2rem; letter-spacing:-.5px; }
  .stat-strip .col-6:nth-child(2) .stat-item::before { display:none; }
}
@media (max-width:576px) {
  .hero-h1 { font-size:1.8rem; }
  .footer-bottom { text-align:center; justify-content:center; }
  .pin-text-stage { padding:1rem; }
  .sc-stat-num { font-size:1.05rem; }
  .story-card-stats { padding:1rem .75rem; }
}
.g-5{
      --bs-gutter-y: 2rem;
}