:root {
  --navy: #0B1C2D;
  --navy-mid: #0f2540;
  --navy-light: #162d4a;
  --gold: #C6A85A;
  --gold-light: #e8c97a;
  --gold-dark: #9a7c38;
  --black: #050b12;
  --white: #f8f4ee;
  --text-primary: #f0e8d8;
  --text-secondary: #a89880;
  --glass-bg: rgba(11, 28, 45, 0.7);
  --glass-border: rgba(198, 168, 90, 0.2);
  --shadow-gold: 0 0 30px rgba(198, 168, 90, 0.3);
  --shadow-deep: 0 20px 60px rgba(0,0,0,0.7);
  --gradient-gold: linear-gradient(135deg, #C6A85A, #e8c97a, #C6A85A);
  --gradient-navy: linear-gradient(135deg, #0B1C2D, #162d4a, #0B1C2D);
  --font-heading: 'Playfair Display', serif;
  --font-sub: 'Cormorant Garamond', serif;
  --font-ui: 'Rajdhani', sans-serif;
  --font-body: 'DM Sans', sans-serif;
  --announce-h: 36px;
  --navbar-h: 70px;
  --top-offset: calc(var(--announce-h) + var(--navbar-h));
}
[data-theme="light"] {
  --navy: #f0ede8; --navy-mid: #e8e3da; --navy-light: #ddd7cc;
  --black: #fff; --white: #1a1008; --text-primary: #1a0f05;
  --text-secondary: #4a3820; --glass-bg: rgba(240,237,232,0.85);
  --glass-border: rgba(198,168,90,0.4); --shadow-deep: 0 20px 60px rgba(0,0,0,0.15);
  --gradient-navy: linear-gradient(135deg, #e8e3da, #ddd7cc, #e8e3da);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{background:var(--navy);color:var(--text-primary);font-family:var(--font-body);overflow-x:hidden;transition:background 0.4s,color 0.4s;}
[data-theme="light"] body{background:#f0ede8;}

/* ANNOUNCEMENT BAR */
.announcement-bar{
  background:var(--gradient-gold);color:var(--navy);
  padding:0.4rem 1rem;font-family:var(--font-ui);font-size:0.78rem;
  letter-spacing:1.5px;font-weight:600;min-height:var(--announce-h);
  display:flex;align-items:center;justify-content:center;
  flex-wrap:wrap;gap:0.3rem 0.8rem;text-align:center;line-height:1.4;
  position:relative;z-index:1001;
}
.announcement-bar a{color:var(--navy);font-weight:700;white-space:nowrap;}
.announce-sep{display:inline;}
@media(max-width:480px){
  .announcement-bar{font-size:0.70rem;letter-spacing:0.8px;padding:0.35rem 0.75rem;}
  .announce-sep{display:none;}
  :root{--announce-h:56px;}
}
@media(max-width:360px){:root{--announce-h:70px;}}

/* NAVBAR */
#navbar{position:fixed;top:var(--announce-h);left:0;right:0;z-index:1000;padding:0.9rem 1.5rem;transition:all 0.4s ease;background:transparent;}
#navbar.scrolled{background:rgba(5,11,18,0.96);backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border);padding:0.55rem 1.5rem;box-shadow:0 4px 30px rgba(0,0,0,0.5);top:0;}
[data-theme="light"] #navbar.scrolled{background:rgba(240,237,232,0.97);}
.navbar-brand-text{font-family:var(--font-heading);font-size:clamp(1rem,2.5vw,1.35rem);color:var(--gold)!important;text-decoration:none;letter-spacing:0.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px;display:block;}
.navbar-brand-sub{font-family:var(--font-ui);font-size:0.6rem;letter-spacing:2.5px;color:var(--text-secondary);display:block;text-transform:uppercase;white-space:nowrap;}
.navbar-inner{display:flex;align-items:center;justify-content:space-between;width:100%;gap:1rem;}
.nav-link-custom{color:var(--text-primary)!important;font-family:var(--font-ui);font-size:0.82rem;letter-spacing:1.2px;text-transform:uppercase;padding:0.45rem 0.7rem!important;position:relative;transition:color 0.3s;white-space:nowrap;}
.nav-link-custom::after{content:'';position:absolute;bottom:0;left:50%;right:50%;height:1px;background:var(--gold);transition:left 0.3s,right 0.3s;}
.nav-link-custom:hover{color:var(--gold)!important;}
.nav-link-custom:hover::after{left:0.7rem;right:0.7rem;}
.nav-links-desktop{display:flex;align-items:center;gap:0.1rem;flex-wrap:nowrap;overflow:hidden;}
.theme-toggle{width:40px;height:22px;flex-shrink:0;background:rgba(198,168,90,0.2);border:1px solid var(--gold)!important;border-radius:11px;position:relative;cursor:pointer;transition:background 0.3s;outline:none;}
.theme-toggle::before{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--gold);border-radius:50%;transition:transform 0.3s;}
[data-theme="light"] .theme-toggle::before{transform:translateX(18px);}
.navbar-toggler-custom{background:none;border:1px solid var(--gold)!important;color:var(--gold);padding:5px 9px;border-radius:4px;cursor:pointer;flex-shrink:0;}
#mobileMenu{border-top:1px solid var(--glass-border);margin-top:0.6rem;padding-top:0.5rem;background:rgba(5,11,18,0.97);backdrop-filter:blur(20px);border-radius:0 0 8px 8px;}
[data-theme="light"] #mobileMenu{background:rgba(240,237,232,0.98);}
#mobileMenu .nav-link-custom{display:block;padding:0.65rem 1rem!important;border-bottom:1px solid rgba(198,168,90,0.08);}
#mobileMenu .nav-link-custom:last-child{border-bottom:none;}

/* HERO */
#hero{position:relative;width:100%;min-height:100vh;overflow:hidden;display:flex;align-items:center;}
/* Hero BG — uses CSS vars so light theme works */
#hero{background:var(--black);}
[data-theme="light"] #hero{background:#e8e3da;}
#hero-bg{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse at 80% 50%,rgba(198,168,90,0.07) 0%,transparent 60%),var(--gradient-navy);}
[data-theme="light"] #hero-bg{background:radial-gradient(ellipse at 80% 50%,rgba(198,168,90,0.12) 0%,transparent 60%),linear-gradient(135deg,#ddd7cc 0%,#e8e3da 50%,#ddd7cc 100%);}
#hero-bg::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(198,168,90,0.15) 1px,transparent 1px),radial-gradient(circle,rgba(198,168,90,0.08) 1px,transparent 1px);background-size:60px 60px,30px 30px;background-position:0 0,15px 15px;animation:bg-drift 20s linear infinite;opacity:0.6;}
@keyframes bg-drift{0%{background-position:0 0,15px 15px}100%{background-position:60px 60px,75px 75px}}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(5,11,18,0.75) 0%,rgba(11,28,45,0.45) 50%,rgba(5,11,18,0.7) 100%);z-index:1;}
[data-theme="light"] .hero-overlay{background:linear-gradient(135deg,rgba(232,227,218,0.6) 0%,rgba(221,215,204,0.3) 50%,rgba(232,227,218,0.55) 100%);}
.hero-container{position:relative;z-index:2;padding-top:calc(var(--announce-h) + var(--navbar-h) + 1.5rem);padding-bottom:3rem;width:100%;}
.hero-img-col{position:relative;display:flex;align-items:center;justify-content:center;}
.hero-img-frame{position:relative;width:100%;max-width:440px;margin:0 auto;animation:fadeInRight 1s ease 0.6s both;}
.hero-img-frame img{width:100%;height:clamp(380px,50vw,560px);object-fit:cover;object-position:top center;border-radius:16px 16px 80px 16px;display:block;filter:brightness(0.88) saturate(0.9);}
.hero-img-frame::before{content:'';position:absolute;top:-8px;right:-8px;width:100%;height:100%;border:2px solid var(--gold);border-radius:20px 20px 88px 20px;opacity:0.4;animation:glow-border 3s ease-in-out infinite;pointer-events:none;}
.hero-img-frame::after{content:'';position:absolute;bottom:-8px;left:-8px;width:70px;height:70px;border-bottom:3px solid var(--gold);border-left:3px solid var(--gold);border-radius:0 0 0 12px;opacity:0.7;pointer-events:none;}
@keyframes glow-border{0%,100%{opacity:0.3}50%{opacity:0.6}}
.hero-img-badge{position:absolute;bottom:24px;left:-16px;background:rgba(5,11,18,0.92);backdrop-filter:blur(20px);border:1px solid rgba(198,168,90,0.4);border-radius:12px;padding:0.85rem 1.1rem;display:flex;align-items:center;gap:0.75rem;box-shadow:0 10px 40px rgba(0,0,0,0.5);animation:fadeInLeft 1s ease 1s both;max-width:calc(100% - 20px);}
[data-theme="light"] .hero-img-badge{background:rgba(255,252,245,0.97);box-shadow:0 10px 40px rgba(0,0,0,0.15);}
.hero-img-badge2{position:absolute;top:24px;right:-16px;background:rgba(5,11,18,0.92);backdrop-filter:blur(20px);border:1px solid rgba(74,222,128,0.4);border-radius:12px;padding:0.7rem 1rem;display:flex;align-items:center;gap:0.6rem;box-shadow:0 10px 40px rgba(0,0,0,0.5);animation:fadeInRight 1s ease 1.2s both;max-width:calc(100% - 20px);}
[data-theme="light"] .hero-img-badge2{background:rgba(255,252,245,0.97);box-shadow:0 10px 40px rgba(0,0,0,0.15);}
.hero-img-badge-icon{width:40px;height:40px;background:var(--gradient-gold);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--navy);flex-shrink:0;}
.hero-img-badge-num{font-family:var(--font-heading);font-size:1.3rem;font-weight:900;color:var(--gold);line-height:1;}
.hero-img-badge-lbl{font-family:var(--font-ui);font-size:0.62rem;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-secondary);}
.live-dot{width:8px;height:8px;background:#4ade80;border-radius:50%;animation:blink 1.5s ease-in-out infinite;flex-shrink:0;}
.hero-badge{display:inline-flex;align-items:center;gap:0.5rem;background:rgba(198,168,90,0.1);border:1px solid rgba(198,168,90,0.3);padding:0.4rem 1.1rem;border-radius:100px;font-family:var(--font-ui);font-size:0.72rem;letter-spacing:1.8px;text-transform:uppercase;color:var(--gold);margin-bottom:1.3rem;animation:fadeInDown 1s ease 0.3s both;flex-wrap:nowrap;white-space:nowrap;}
.hero-badge::before{content:'';width:6px;height:6px;background:var(--gold);border-radius:50%;animation:blink 1.5s ease-in-out infinite;flex-shrink:0;}
.hero-title{font-family:var(--font-heading);font-size:clamp(2.2rem,5vw,4.2rem);font-weight:900;line-height:1.1;color:var(--text-primary);margin-bottom:1.3rem;animation:fadeInLeft 1s ease 0.5s both;}
[data-theme="light"] .hero-title{color:#1a0f05;}
.hero-title .gold-text{color:var(--gold);text-shadow:0 0 30px rgba(198,168,90,0.4);}
.hero-subtitle{font-family:var(--font-sub);font-size:clamp(0.95rem,2vw,1.2rem);color:var(--text-secondary);margin-bottom:2rem;line-height:1.7;animation:fadeInLeft 1s ease 0.7s both;}
[data-theme="light"] .hero-subtitle{color:#5a4020;}
.hero-badge{display:inline-flex;align-items:center;gap:0.5rem;background:rgba(198,168,90,0.1);border:1px solid rgba(198,168,90,0.3);padding:0.4rem 1.1rem;border-radius:100px;font-family:var(--font-ui);font-size:0.72rem;letter-spacing:1.8px;text-transform:uppercase;color:var(--gold);margin-bottom:1.3rem;animation:fadeInDown 1s ease 0.3s both;flex-wrap:nowrap;white-space:nowrap;}
[data-theme="light"] .hero-badge{background:rgba(198,168,90,0.15);border-color:rgba(198,168,90,0.5);}
.hero-stat-item{font-family:var(--font-ui);font-size:0.68rem;letter-spacing:1.3px;color:var(--text-secondary);}
[data-theme="light"] .hero-stat-item{color:#5a4020;}
.hero-stat-div{width:1px;height:32px;background:var(--glass-border);flex-shrink:0;}
.hero-cta-group{display:flex;gap:0.85rem;flex-wrap:wrap;animation:fadeInUp 1s ease 0.9s both;}
.hero-stats{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:1.5rem;animation:fadeIn 1s ease 1.2s both;align-items:center;}
.hero-stat-num{color:var(--gold);font-family:var(--font-heading);font-size:1.4rem;font-weight:900;display:block;line-height:1.1;}

/* BUTTONS */
.btn-primary-gold{background:var(--gradient-gold);color:#0B1C2D;font-family:var(--font-ui);font-weight:700;font-size:0.88rem;letter-spacing:1.8px;text-transform:uppercase;padding:0.85rem 2rem;border:none;border-radius:4px;cursor:pointer;position:relative;overflow:hidden;transition:transform 0.3s,box-shadow 0.3s;text-decoration:none;display:inline-flex;align-items:center;gap:0.5rem;white-space:nowrap;}
.btn-primary-gold:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(198,168,90,0.5);color:#0B1C2D;}
.btn-outline-gold{background:transparent;color:var(--gold);font-family:var(--font-ui);font-weight:600;font-size:0.88rem;letter-spacing:1.8px;text-transform:uppercase;padding:0.85rem 2rem;border:1px solid var(--gold);border-radius:4px;cursor:pointer;transition:all 0.3s;text-decoration:none;display:inline-flex;align-items:center;gap:0.5rem;white-space:nowrap;}
.btn-outline-gold:hover{background:rgba(198,168,90,0.1);box-shadow:0 0 20px rgba(198,168,90,0.3);color:var(--gold-light);transform:translateY(-2px);}

/* KEYFRAMES */
@keyframes blink{0%,100%{opacity:1}50%{opacity:0.3}}
@keyframes fadeInDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeInLeft{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}
@keyframes fadeInRight{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* SECTIONS */
.section-pad{padding:90px 0;}
.section-pad-sm{padding:60px 0;}
.section-tag{font-family:var(--font-ui);font-size:0.68rem;letter-spacing:3.5px;text-transform:uppercase;color:var(--gold);margin-bottom:0.7rem;display:flex;align-items:center;gap:0.7rem;}
.section-tag::before,.section-tag::after{content:'';flex:1;max-width:46px;height:1px;background:var(--gold);opacity:0.5;}
.section-title{font-family:var(--font-heading);font-size:clamp(1.8rem,3.5vw,3.2rem);font-weight:700;color:var(--text-primary);line-height:1.2;}
.gold-line{width:56px;height:3px;background:var(--gradient-gold);margin:1rem 0;box-shadow:0 0 10px rgba(198,168,90,0.4);}
.gold-divider{height:1px;background:linear-gradient(to right,transparent,var(--gold),transparent);opacity:0.3;}

/* GLASS CARD */
.glass-card{background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(20px);border-radius:12px;padding:1.75rem;transition:transform 0.3s,box-shadow 0.3s,border-color 0.3s;height:100%;}
.glass-card:hover{transform:translateY(-5px);border-color:rgba(198,168,90,0.5);box-shadow:0 20px 60px rgba(0,0,0,0.4),0 0 30px rgba(198,168,90,0.1);}

/* ABOUT */
#about{background:linear-gradient(180deg,var(--black) 0%,var(--navy) 100%);position:relative;overflow:hidden;}
[data-theme="light"] #about{background:linear-gradient(180deg,#e8e3da,#f0ede8);}
.about-img-wrap{position:relative;border-radius:12px;overflow:hidden;}
.about-img-wrap img{width:100%;border-radius:12px;filter:brightness(0.85) saturate(0.9);transition:transform 0.5s;display:block;}
.about-img-wrap:hover img{transform:scale(1.03);}
.counter-number{font-family:var(--font-heading);font-size:clamp(1.5rem,2.1vw,2.6rem);font-weight:900;color:var(--gold);line-height:1;letter-spacing:-0.03em;text-shadow:0 0 18px rgba(198,168,90,0.3);white-space:nowrap;}
.counter-label{font-family:var(--font-ui);font-size:0.68rem;letter-spacing:1.6px;text-transform:uppercase;color:var(--text-secondary);margin-top:0.3rem;}

/* PRACTICE */
#practice{background:var(--navy);position:relative;}
[data-theme="light"] #practice{background:#f0ede8;}
.practice-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:1.75rem 1.25rem;text-align:center;cursor:pointer;position:relative;overflow:hidden;transition:all 0.4s ease;height:100%;display:flex;flex-direction:column;align-items:center;}
.practice-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-gold);transform:scaleX(0);transition:transform 0.4s ease;}
.practice-card:hover::before{transform:scaleX(1);}
.practice-card:hover{transform:translateY(-8px);border-color:rgba(198,168,90,0.4);box-shadow:0 20px 50px rgba(0,0,0,0.5),0 0 30px rgba(198,168,90,0.1);}
.practice-icon{width:60px;height:60px;background:rgba(198,168,90,0.1);border:1px solid rgba(198,168,90,0.3);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:1.5rem;color:var(--gold);transition:all 0.4s;flex-shrink:0;}
.practice-card:hover .practice-icon{background:rgba(198,168,90,0.2);box-shadow:0 0 20px rgba(198,168,90,0.3);transform:scale(1.1);}
.practice-title{font-family:var(--font-sub);font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:0.6rem;}
.practice-desc{font-size:0.83rem;color:var(--text-secondary);line-height:1.6;}

/* TEAM */
#team{background:linear-gradient(180deg,var(--navy) 0%,var(--black) 100%);}
[data-theme="light"] #team{background:linear-gradient(180deg,#f0ede8,#e8e3da);}
.team-card{position:relative;border-radius:12px;overflow:hidden;cursor:pointer;}
.team-card img{width:100%;height:320px;object-fit:cover;object-position:top center;filter:grayscale(20%);transition:transform 0.5s,filter 0.5s;display:block;}
.team-card:hover img{transform:scale(1.05);filter:grayscale(0%);}
.team-glow{position:absolute;inset:0;border:2px solid transparent;border-radius:12px;transition:border-color 0.4s,box-shadow 0.4s;pointer-events:none;}
.team-card:hover .team-glow{border-color:var(--gold);box-shadow:0 0 30px rgba(198,168,90,0.4),inset 0 0 30px rgba(198,168,90,0.05);}
.team-info{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(5,11,18,0.95) 0%,transparent 100%);padding:2rem 1.25rem 1.25rem;}
.team-name{font-family:var(--font-sub);font-size:1.15rem;font-weight:600;color:var(--text-primary);}
.team-role{font-family:var(--font-ui);font-size:0.72rem;letter-spacing:1.8px;text-transform:uppercase;color:var(--gold);}
.team-view-btn{background:rgba(198,168,90,0.15);border:1px solid rgba(198,168,90,0.4);color:var(--gold);font-family:var(--font-ui);font-size:0.72rem;letter-spacing:1.2px;text-transform:uppercase;padding:0.35rem 1rem;border-radius:4px;margin-top:0.6rem;opacity:0;transform:translateY(10px);transition:all 0.3s 0.1s;cursor:pointer;display:inline-block;}
.team-card:hover .team-view-btn{opacity:1;transform:translateY(0);}

/* WHY */
#why{background:var(--navy-mid);position:relative;overflow:hidden;}
[data-theme="light"] #why{background:#e8e3da;}
.why-card{display:flex;gap:1rem;align-items:flex-start;padding:1.25rem;border-radius:10px;border:1px solid transparent;transition:all 0.3s;height:100%;}
.why-card:hover{border-color:var(--glass-border);background:var(--glass-bg);}
.why-icon{width:48px;height:48px;flex-shrink:0;background:rgba(198,168,90,0.1);border:1px solid rgba(198,168,90,0.3);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--gold);transition:all 0.3s;}
.why-card:hover .why-icon{background:rgba(198,168,90,0.2);box-shadow:0 0 15px rgba(198,168,90,0.3);}
.why-content{flex:1;min-width:0;}
.why-title{font-family:var(--font-sub);font-size:0.98rem;color:var(--text-primary);margin-bottom:0.25rem;font-weight:600;}
.why-desc{font-size:0.82rem;color:var(--text-secondary);line-height:1.55;}

/* CASES */
#cases{background:var(--black);}
[data-theme="light"] #cases{background:#e0dbd2;}
.case-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;overflow:hidden;cursor:pointer;transition:all 0.4s;display:flex;flex-direction:column;height:100%;}
.case-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-gold);border-color:rgba(198,168,90,0.4);}
.case-header{background:var(--gradient-navy);padding:1.35rem;border-bottom:1px solid var(--glass-border);}
.case-tag{display:inline-block;background:rgba(198,168,90,0.1);border:1px solid rgba(198,168,90,0.3);color:var(--gold);font-family:var(--font-ui);font-size:0.63rem;letter-spacing:1.8px;text-transform:uppercase;padding:0.2rem 0.75rem;border-radius:100px;margin-bottom:0.6rem;}
.case-title{font-family:var(--font-sub);font-size:1.1rem;color:var(--text-primary);}
.case-body{padding:1.35rem;flex:1;}
.case-desc{color:var(--text-secondary);font-size:0.86rem;line-height:1.65;}
.case-result{display:flex;align-items:center;gap:0.5rem;color:#4ade80;font-family:var(--font-ui);font-size:0.78rem;letter-spacing:0.8px;margin-top:0.65rem;}
.case-expand{display:none;padding:0 1.35rem 1.35rem;color:var(--text-secondary);font-size:0.84rem;line-height:1.65;border-top:1px solid var(--glass-border);padding-top:1rem;}
.case-expand.show{display:block;}

/* TESTIMONIALS */
#testimonials{background:var(--navy);position:relative;}
[data-theme="light"] #testimonials{background:#f0ede8;}
.testimonial-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:1.75rem;height:100%;display:flex;flex-direction:column;}
.stars{color:var(--gold);font-size:0.88rem;margin-bottom:0.85rem;}
.testimonial-text{font-family:var(--font-sub);font-size:1rem;color:var(--text-primary);line-height:1.75;font-style:italic;margin-bottom:1.25rem;flex:1;}
.testimonial-author{display:flex;align-items:center;gap:0.85rem;}
.author-avatar{width:44px;height:44px;border-radius:50%;background:var(--gradient-gold);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:700;color:var(--navy);font-size:0.95rem;flex-shrink:0;}
.author-name{font-family:var(--font-sub);font-weight:600;color:var(--text-primary);font-size:0.92rem;}
.author-loc{font-size:0.76rem;color:var(--text-secondary);font-family:var(--font-ui);}

/* BOOKING */
#booking{background:linear-gradient(135deg,var(--black) 0%,var(--navy-mid) 100%);position:relative;overflow:hidden;}
[data-theme="light"] #booking{background:linear-gradient(135deg,#ddd7cc,#e8e3da);}
.form-group-custom{margin-bottom:1.25rem;}
.form-control-custom{width:100%;background:rgba(198,168,90,0.05);border:1px solid rgba(198,168,90,0.2);border-radius:8px;padding:0.9rem 1rem;color:var(--text-primary);font-family:var(--font-body);font-size:0.88rem;transition:all 0.3s;outline:none;}
.form-control-custom:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(198,168,90,0.1);background:rgba(198,168,90,0.08);}
.form-control-custom::placeholder{color:var(--text-secondary);}
select.form-control-custom option{background:var(--navy-mid);}
.success-msg{display:none;text-align:center;padding:2rem;animation:fadeIn 0.5s ease;}
.success-msg .checkmark{width:58px;height:58px;background:rgba(74,222,128,0.1);border:2px solid #4ade80;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:1.4rem;color:#4ade80;animation:pop-in 0.5s cubic-bezier(0.175,0.885,0.32,1.275);}
@keyframes pop-in{from{transform:scale(0)}to{transform:scale(1)}}

/* BLOG */
#blog{background:var(--navy-mid);}
[data-theme="light"] #blog{background:#e8e3da;}
.blog-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;overflow:hidden;height:100%;transition:all 0.4s;cursor:pointer;display:flex;flex-direction:column;}
.blog-card:hover{transform:translateY(-6px);border-color:rgba(198,168,90,0.4);box-shadow:0 20px 50px rgba(0,0,0,0.4);}
.blog-img-wrap{overflow:hidden;position:relative;flex-shrink:0;}
.blog-img{width:100%;height:190px;object-fit:cover;filter:brightness(0.8);transition:transform 0.5s,filter 0.5s;display:block;}
.blog-card:hover .blog-img{transform:scale(1.05);filter:brightness(0.9);}
.blog-category{position:absolute;top:0.9rem;left:0.9rem;background:rgba(198,168,90,0.92);color:var(--navy);font-family:var(--font-ui);font-size:0.62rem;letter-spacing:1.8px;text-transform:uppercase;padding:0.2rem 0.65rem;border-radius:4px;font-weight:700;}
.blog-content{padding:1.35rem;flex:1;display:flex;flex-direction:column;}
.blog-date{font-family:var(--font-ui);font-size:0.7rem;letter-spacing:1.3px;color:var(--gold);text-transform:uppercase;margin-bottom:0.4rem;}
.blog-title{font-family:var(--font-sub);font-size:1.05rem;color:var(--text-primary);font-weight:600;line-height:1.4;margin-bottom:0.6rem;transition:color 0.3s;}
.blog-card:hover .blog-title{color:var(--gold-light);}
.blog-excerpt{font-size:0.83rem;color:var(--text-secondary);line-height:1.6;}

/* FAQ */
#faq{background:var(--black);}
[data-theme="light"] #faq{background:#ddd7cc;}
.faq-item{border:1px solid var(--glass-border);border-radius:10px;margin-bottom:0.7rem;overflow:hidden;transition:border-color 0.3s;}
.faq-item.active{border-color:rgba(198,168,90,0.5);}
.faq-question{width:100%;background:var(--glass-bg);border:none;padding:1.1rem 1.35rem;text-align:left;color:var(--text-primary);font-family:var(--font-sub);font-size:0.98rem;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;transition:background 0.3s;}
.faq-question:hover{background:rgba(198,168,90,0.05);}
.faq-chevron{color:var(--gold);transition:transform 0.3s;flex-shrink:0;}
.faq-item.active .faq-chevron{transform:rotate(180deg);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.4s ease;background:rgba(198,168,90,0.02);}
.faq-answer.open{max-height:300px;}
.faq-answer-inner{padding:0 1.35rem 1.1rem;color:var(--text-secondary);font-size:0.88rem;line-height:1.7;}

/* MAP */
#location{background:var(--navy);}
[data-theme="light"] #location{background:#f0ede8;}
.map-wrap{border-radius:12px;overflow:hidden;border:1px solid var(--glass-border);box-shadow:var(--shadow-deep);}
.map-wrap iframe{width:100%;height:380px;border:none;filter:grayscale(20%) invert(90%) hue-rotate(180deg);display:block;}
[data-theme="light"] .map-wrap iframe{filter:none;}

/* CONTACT */
#contact{background:var(--navy-mid);}
[data-theme="light"] #contact{background:#e8e3da;}
.contact-btn{display:flex;align-items:center;gap:1.1rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:1.35rem;text-decoration:none;transition:all 0.3s;cursor:pointer;width:100%;}
.contact-btn:hover{transform:translateY(-4px);box-shadow:0 15px 40px rgba(0,0,0,0.4);}
.contact-btn.phone:hover{border-color:rgba(74,222,128,0.5);}
.contact-btn.whatsapp:hover{border-color:rgba(37,211,102,0.5);}
.contact-btn.email:hover{border-color:rgba(198,168,90,0.5);}
.contact-icon{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0;}
.contact-icon.phone{background:rgba(74,222,128,0.1);color:#4ade80;border:1px solid rgba(74,222,128,0.3);}
.contact-icon.whatsapp{background:rgba(37,211,102,0.1);color:#25d366;border:1px solid rgba(37,211,102,0.3);}
.contact-icon.email{background:rgba(198,168,90,0.1);color:var(--gold);border:1px solid rgba(198,168,90,0.3);}
.contact-label{font-family:var(--font-ui);font-size:0.63rem;letter-spacing:1.8px;text-transform:uppercase;color:var(--text-secondary);}
.contact-value{font-family:var(--font-sub);font-size:1.02rem;color:var(--text-primary);font-weight:500;}

/* 3D COURTROOM */
#courtroom-3d{position:relative;height:460px;overflow:hidden;}
#courtroom-canvas{width:100%;height:100%;position:absolute;inset:0;}
.courtroom-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(5,11,18,0.9) 0%,rgba(5,11,18,0.5) 50%,rgba(5,11,18,0.9) 100%);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:2rem;}

/* FLOATING WIDGET */
#fp-widget{position:fixed;right:20px;bottom:100px;z-index:999;}
.fp-btn{width:54px;height:54px;background:var(--gradient-gold);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 20px rgba(198,168,90,0.5);font-size:1.3rem;color:var(--navy);position:relative;z-index:2;transition:transform 0.3s;border:none;}
.fp-btn:hover{transform:scale(1.1);}
.fp-ripple{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;background:rgba(198,168,90,0.3);animation:ripple-out 2s ease-out infinite;z-index:1;}
.fp-ripple:nth-child(2){animation-delay:0.7s;}
.fp-ripple:nth-child(3){animation-delay:1.4s;}
@keyframes ripple-out{0%{transform:translate(-50%,-50%) scale(1);opacity:0.6}100%{transform:translate(-50%,-50%) scale(3);opacity:0}}
.fp-menu{position:absolute;right:0;bottom:66px;display:flex;flex-direction:column;gap:0.65rem;opacity:0;pointer-events:none;transform:translateY(20px);transition:all 0.4s cubic-bezier(0.175,0.885,0.32,1.275);}
.fp-menu.open{opacity:1;pointer-events:all;transform:translateY(0);}
.fp-item{display:flex;align-items:center;gap:0.65rem;flex-direction:row-reverse;}
.fp-item-btn{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.05rem;border:none;cursor:pointer;text-decoration:none;transition:transform 0.3s,box-shadow 0.3s;}
.fp-item-btn:hover{transform:scale(1.15);}
.fp-item-btn.call{background:#4ade80;color:#0a0a0a;}
.fp-item-btn.wa{background:#25d366;color:#0a0a0a;}
.fp-item-btn.fb{background:#1877f2;color:white;}
.fp-item-btn.ig{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:white;}
.fp-item-btn.li{background:#0a66c2;color:white;}
.fp-label{background:rgba(5,11,18,0.9);backdrop-filter:blur(10px);color:var(--text-primary);font-family:var(--font-ui);font-size:0.7rem;letter-spacing:0.8px;padding:0.28rem 0.75rem;border-radius:6px;border:1px solid var(--glass-border);white-space:nowrap;}
[data-theme="light"] .fp-label{background:rgba(240,237,232,0.9);}

/* MOBILE BOTTOM NAV */
#mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:998;background:rgba(5,11,18,0.97);backdrop-filter:blur(20px);border-top:1px solid var(--glass-border);padding:0.45rem 0;padding-bottom:calc(0.45rem + env(safe-area-inset-bottom,0px));}
[data-theme="light"] #mobile-nav{background:rgba(240,237,232,0.98);}
.mobile-nav-inner{display:flex;justify-content:space-around;align-items:center;}
.mob-nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--text-secondary);font-family:var(--font-ui);font-size:0.58rem;letter-spacing:0.8px;text-transform:uppercase;text-decoration:none;padding:0.35rem 0.8rem;border-radius:8px;transition:all 0.3s;cursor:pointer;border:none;background:none;}
.mob-nav-item i{font-size:1.05rem;transition:color 0.3s;}
.mob-nav-item.active,.mob-nav-item:hover{color:var(--gold);background:rgba(198,168,90,0.1);}

/* FOOTER */
#footer{background:var(--black);border-top:1px solid var(--glass-border);padding:56px 0 28px;}
[data-theme="light"] #footer{background: rgba(240,237,232,0.97);}
.footer-logo{font-family:var(--font-heading);font-size:1.4rem;color:var(--gold);margin-bottom:0.25rem;}
.footer-tagline{font-family:var(--font-ui);font-size:0.68rem;letter-spacing:1.8px;text-transform:uppercase;color:var(--text-secondary);margin-bottom:1.2rem;}
.footer-heading{font-family:var(--font-ui);font-size:0.68rem;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;padding-bottom:0.45rem;border-bottom:1px solid rgba(198,168,90,0.2);}
.footer-link{display:block;color:var(--text-secondary);text-decoration:none;font-size:0.86rem;padding:0.22rem 0;transition:color 0.3s,transform 0.3s;}
.footer-link:hover{color:var(--gold);transform:translateX(4px);}
.footer-divider{border-color:var(--glass-border);margin:1.75rem 0 1.25rem;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.75rem;}
.footer-copy{color:var(--text-secondary);font-size:0.8rem;}
.footer-copy a{color:var(--gold);text-decoration:none;}

/* SOCIAL */
.social-icon-btn{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:0.95rem;border:none;cursor:pointer;text-decoration:none;transition:transform 0.3s,box-shadow 0.3s;}
.social-icon-btn:hover{transform:scale(1.15);}
.social-icon-btn.fb{background:#1877f2;color:white;}
.social-icon-btn.ig{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:white;}
.social-icon-btn.li{background:#0a66c2;color:white;}
.social-icon-btn.wa{background:#25d366;color:white;}

/* MODALS */
.modal-dark .modal-content{background:var(--navy-mid);border:1px solid var(--glass-border);border-radius:12px;color:var(--text-primary);}
.modal-dark .modal-header{border-bottom:1px solid var(--glass-border);padding:1.35rem;}
.modal-dark .modal-title{font-family:var(--font-heading);color:var(--gold);}
.modal-dark .btn-close{filter:invert(1) sepia(1) saturate(5) hue-rotate(0deg);}

/* SHIMMER */
@keyframes shimmer{0%{background-position:-200% center}100%{background-position:200% center}}
.shimmer-text{background:linear-gradient(90deg,var(--gold) 0%,var(--gold-light) 30%,var(--gold) 60%,var(--gold-light) 100%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 3s linear infinite;}

/* RIPPLE */
.ripple-effect{position:absolute;width:20px;height:20px;border-radius:50%;background:rgba(198,168,90,0.4);animation:ripple-click 0.6s ease-out forwards;pointer-events:none;transform:translate(-50%,-50%);}
@keyframes ripple-click{from{width:0;height:0;opacity:0.8}to{width:80px;height:80px;opacity:0}}

/* STATS BAR */
.stats-bar{background:rgba(198,168,90,0.08);border-top:1px solid rgba(198,168,90,0.2);border-bottom:1px solid rgba(198,168,90,0.2);padding:1.75rem 0;}
.stat-num{font-family:var(--font-heading);font-size:2.3rem;color:var(--gold);font-weight:900;line-height:1;display:block;}
.stat-label{font-family:var(--font-ui);font-size:0.68rem;letter-spacing:1.8px;color:var(--text-secondary);text-transform:uppercase;margin-top:0.25rem;}

/* RESPONSIVE */
@media(min-width:1200px){
  .hero-container{max-width:1200px;margin:0 auto;padding-left:1.5rem;padding-right:1.5rem;}
}
@media(max-width:1199px){
  .nav-links-desktop{gap:0;}
  .nav-link-custom{font-size:0.78rem;padding:0.4rem 0.55rem!important;}
}
@media(max-width:991px){
  :root{--navbar-h:64px;}
  .hero-img-frame{max-width:360px;}
  .hero-img-frame img{height:420px;}
  .hero-img-badge{left:-8px;bottom:16px;}
  .hero-img-badge2{right:-8px;top:16px;}
  .section-pad{padding:70px 0;}
  #courtroom-3d{height:380px;}
}
@media(max-width:767px){
  :root{
    --navbar-h:60px;
  }

  /* HERO — single clean rule, no conflicts */
  #hero{
    min-height:100dvh;
    align-items:flex-start;
  }
  .hero-container{
    padding-top:calc(var(--announce-h) + var(--navbar-h) + 1.5rem);
    padding-left:1rem;
    padding-right:1rem;
    padding-bottom:5rem;
  }
  .hero-content{
    text-align:center;
    width:100%;
    padding-top:0;
  }

  /* Hero badge — allow wrapping so it never clips */
  .hero-badge{
    white-space:normal;
    flex-wrap:wrap;
    justify-content:center;
    max-width:100%;
    margin:0 auto 1.3rem;
  }

  .hero-cta-group{justify-content:center;flex-direction:column;width:100%;}
  .hero-cta-group .btn-primary-gold,
  .hero-cta-group .btn-outline-gold{width:100%;justify-content:center;}
  .hero-stats{justify-content:center;}
  .hero-img-badge,.hero-img-badge2{position:static;display:inline-flex;margin:0.4rem;}

  /* NAVBAR */
  .navbar-inner{flex-wrap:wrap;align-items:center;gap:0.65rem;}
  .navbar-brand-text{font-size:0.88rem;max-width:calc(100% - 120px);white-space:normal;overflow:visible;text-overflow:unset;}
  .navbar-brand-sub{display:none;}
  .navbar-toggler-custom, .theme-toggle{flex-shrink:0;}
  #mobileMenu{position:relative;z-index:1002;}

  /* LAYOUT */
  #mobile-nav{display:block;}
  body{padding-bottom:calc(68px + env(safe-area-inset-bottom,0px));}
  .gold-line{margin-left:auto;margin-right:auto;}
  .section-tag{justify-content:center;}
  .section-title{text-align:center;}
  .section-pad{padding:56px 0;}
  .section-pad-sm{padding:44px 0;}
  .why-card{align-items:flex-start;}
  .contact-btn{padding:1.1rem;}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:0.5rem;}
  #courtroom-3d{height:320px;}
  .map-wrap iframe{height:280px;}
  .counter-number{font-size:2.1rem;}

  .btn-primary-gold.w-100,
  .btn-outline-gold.w-100{
    width:100%;
    max-width:100%;
    white-space:normal;
    justify-content:center;
  }

  /* Hide floating widget — bottom nav has Call already */

}
@media(max-width:767px){
  .btn-primary-gold.w-100,
  .btn-outline-gold.w-100{
    padding:0.85rem 1.2rem;
    font-size:0.9rem;
  }
}
@media(max-width:480px){
  .btn-primary-gold,.btn-outline-gold{padding:0.8rem 1.5rem;font-size:0.82rem;}
  .navbar-brand-text{font-size:0.85rem;max-width:170px;}
}
@media(max-width:380px){
  .announcement-bar{font-size:0.65rem;padding:0.3rem 0.5rem;gap:0.2rem 0.5rem;}
  :root{--announce-h:60px;}
}
@media(max-width:360px){
  .navbar-brand-text{font-size:0.82rem;max-width:140px;}
  .hero-title{font-size:1.9rem;}
  .practice-title{font-size:0.9rem;}
  .practice-desc{font-size:0.75rem;}
  .section-title{font-size:1.6rem;}
}


